/* Shorter service chapters, with deeper information available on request. */
#services .service-story{min-height:520px}
#services .story-media .living-picture{position:absolute;inset:0}
#services .story-copy{padding:42px clamp(28px,4vw,64px)}
#services .story-copy h3{font-size:clamp(42px,4vw,64px);margin-bottom:20px}
#services .story-label{margin-bottom:20px}
#services .story-summary{font-size:16px;line-height:1.65}
#services .story-facts{margin-top:22px}
#services .story-details{margin-top:20px}
.material-intro .story-action{margin-top:15px}
.floor-compare{border-block:1px solid #777c6255;margin:0 auto 42px;scroll-margin-top:100px}
.floor-compare>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:400 clamp(22px,2.3vw,32px)/1.2 Georgia,serif}
.floor-compare>summary::-webkit-details-marker{display:none}
.compare-prompt{font:600 12px/1.4 Arial,sans-serif;color:#50583c;display:flex;align-items:center;gap:16px}
.compare-prompt b{font:300 26px Arial;transition:transform .2s}
.floor-compare[open] .compare-prompt b{transform:rotate(45deg)}
.compare-content{padding:0 0 25px}.compare-content>p{max-width:72ch;color:#505548;font-size:15px;line-height:1.65}
.compare-choices{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.compare-choices label{display:flex;align-items:center;gap:9px;border:1px solid #7b80645c;padding:11px 16px;font:14px Arial;cursor:pointer}
.compare-choices input{accent-color:#616b43;width:18px;height:18px}
.compare-status{font-size:13px;color:#50583c;min-height:0}.compare-status:empty{display:none}
.compare-scroll{overflow:auto;overscroll-behavior-x:contain}
.material-comparison{border-collapse:collapse;min-width:680px;width:100%;font:14px/1.55 Arial,sans-serif;table-layout:fixed}
.material-comparison caption{text-align:left;font:italic 28px Georgia;margin:6px 0 18px}
.material-comparison th,.material-comparison td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid #7b80643b}
.material-comparison thead th{background:#dedecb;font-size:15px}.material-comparison tbody th{font-weight:600;width:19%}
.material-comparison [hidden]{display:none}
.room-discovery.section{padding:70px 0;background:#e2ddcf}
.room-discovery .section-head{margin-bottom:30px}.room-discovery .section-head p{font-size:16px;max-width:30ch}
.room-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.room-card-grid>a{display:block;position:relative;overflow:hidden;text-decoration:none;background:#3d4231;aspect-ratio:.88}
.room-card-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.room-card-grid>a:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#11170dc4);pointer-events:none}
.room-card-grid span{position:absolute;bottom:22px;left:18px;right:18px;z-index:1;color:#fff9e8;font:400 clamp(20px,2vw,30px)/1.15 Georgia;display:flex;justify-content:space-between;gap:8px}.room-card-grid b{font-weight:400}
.room-card-grid>a:hover img{transform:scale(1.025)}
.shortlist-invite{font-size:14px;line-height:1.6;color:#4c5340;margin:24px 0 0;max-width:none}.shortlist-invite a{display:inline-block;margin-left:8px;text-underline-offset:4px}
.featured-craft.section{background:#242b22;color:#f4efdf;padding:75px 0}
.craft-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,88px);align-items:center}
.detail-explorer{position:relative;min-width:0;aspect-ratio:3/4;max-height:700px;margin:0}
.detail-explorer>img{display:block;width:100%;height:100%;object-fit:cover}
.detail-dot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44px;height:44px;border:1px solid #fff9e9;border-radius:50%;background:#242b22c9;color:#fff9e9;font:300 26px/1 Arial;cursor:pointer;box-shadow:0 0 0 6px #fff7df24;transition:background .2s}
.detail-dot:hover{background:#697347}.detail-hint{position:absolute;left:14px;bottom:14px;padding:8px 10px;font:11px Arial;color:#fff9e9;background:#242b22d9}
.craft-copy h2{font-size:clamp(38px,4.5vw,65px);margin:17px 0 24px;color:inherit}.craft-copy .eyebrow{color:#c9cfad}
.craft-lead{color:#e0e0d0;font-size:17px;line-height:1.65;max-width:45ch}
.craft-chapters{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid #d8ddbe4d;padding:20px 0 14px;margin:24px 0}
.craft-chapters button{border:0;background:none;color:#c7ceb3;padding:10px 4px;cursor:pointer;font:12px/1.4 Arial;border-bottom:2px solid transparent}
.craft-chapters button[aria-pressed=true]{color:#fff6df;border-bottom-color:#e4dfbc}
.craft-chapter-copy{min-height:185px}.craft-chapter-copy h3{font:400 28px/1.2 Georgia;margin:0 0 14px}.craft-chapter-copy p{font:15px/1.75 Arial;color:#d8ddcd;margin:0;max-width:49ch}
.craft-copy .story-action{color:#f3edda;border-color:#c6cfaa6b;display:table;font-size:13px;margin:16px 0}
.craft-save{display:flex;align-items:center;gap:8px;color:#eee7d0;background:none;border:1px solid #c8d0b66b;padding:12px 16px;cursor:pointer;font:13px Arial;margin-top:24px}
.craft-save svg,.project-save svg,.viewer-save svg{width:20px;height:20px}
[data-save-project][aria-pressed=true] svg{fill:currentColor}
.craft-detail-dialog{padding:0;border:0;width:min(700px,92vw);max-height:90dvh;overflow:auto;background:#f1ebdf;color:#262b20;box-shadow:0 20px 80px #0007}
.craft-detail-dialog::backdrop{background:#10150edb}
.craft-detail-close{position:absolute;top:12px;right:12px;z-index:1;min-height:44px;border:1px solid #dcdcc6;background:#242b22ed;color:#fff6df;padding:8px 15px;cursor:pointer}
.craft-detail-crop{height:clamp(250px,43vh,460px);overflow:hidden;background:#cdc4b0}
.craft-detail-crop img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--detail-x) var(--detail-y);transform:scale(1.65);transform-origin:var(--detail-x) var(--detail-y)}
.craft-detail-text{padding:28px 32px}.craft-detail-text h2{font:italic 36px/1.15 Georgia;margin:12px 0 16px}.craft-detail-text>p:last-child{font:16px/1.7 Arial;margin:0}
.room-tools{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 20px}
.room-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.room-filters button,.saved-projects-filter{padding:11px 14px;min-height:44px;background:transparent;color:#4d573b;border:1px solid #777f615e;font:13px Arial;cursor:pointer}
.room-filters button[aria-pressed=true],.saved-projects-filter[aria-pressed=true]{background:#4d573b;color:#fff8e9;border-color:#4d573b}
.shortlist-tools{display:flex;align-items:center;gap:14px;font:12px/1.5 Arial}.shortlist-tools>a{max-width:20ch;text-underline-offset:4px}
.saved-projects-filter span{display:inline-grid;place-items:center;margin-left:5px;min-width:20px;height:20px;background:#c9cdb85e;border-radius:50%;font-size:11px}
.room-filter-note{font:14px/1.6 Arial;color:#525c42;max-width:70ch}.room-filter-note:empty{display:none}
.exhibit-item{position:relative}.project-save{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:44px;height:44px;background:#f5efdfef;color:#3d4930;border:1px solid #6f785b75;border-radius:50%;cursor:pointer;z-index:2}
.project-save[aria-pressed=true]{background:#49563a;color:#fff5df}.project-save .save-label:empty{display:none}
.viewer-save{display:flex;gap:8px;align-items:center;min-height:44px;margin-left:auto;border:1px solid #b4bba052;background:transparent;color:inherit;padding:8px 14px;cursor:pointer}
.project-empty{grid-column:1/-1;font:17px/1.6 Arial;padding:35px 0;color:#545e43}
.project-save-status{position:fixed;left:50%;bottom:85px;transform:translateX(-50%);max-width:min(88vw,460px);z-index:30;background:#263021;color:#fff6df;padding:13px 18px;font:14px/1.5 Arial;box-shadow:0 4px 24px #1115;pointer-events:none;margin:0}.project-save-status:empty{display:none}
.estimate-shortlist{background:#e5e6d9;border:1px solid #b4bda0;padding:16px;margin:0 0 20px;color:#303a28}
.estimate-shortlist[hidden]{display:none}
#estimate-form .estimate-shortlist>label{display:flex;flex-direction:row;align-items:center;gap:9px;font:600 14px/1.5 Arial}
#estimate-form .estimate-shortlist input{width:18px;height:18px;min-height:0;padding:0;accent-color:#606f43;flex:none}
.estimate-shortlist-list{margin:12px 0;padding-left:20px;font:13px/1.65 Arial}.estimate-shortlist>a,.estimate-shortlist>p{font:12px/1.5 Arial}.estimate-shortlist>p{margin:9px 0 0;color:#4a573c}
:is(.room-filters,.shortlist-tools,.craft-chapters,.detail-explorer,.floor-compare) button:focus-visible,[data-save-project]:focus-visible{outline:2px solid #83924c;outline-offset:4px}
@media(max-width:1000px){.room-tools{align-items:start;flex-direction:column}.shortlist-tools>a{max-width:none}.craft-chapters{gap:3px}.craft-chapters button{font-size:11px}}
@media(max-width:850px){#services .service-story,#services .service-story:nth-child(even){min-height:0}#services .story-media,#services .service-story:nth-child(even) .story-media{height:36svh;min-height:250px;max-height:420px}#services .story-copy{min-height:0;padding:32px 6.5vw 36px}#services .story-copy h3{font-size:46px}.craft-layout{gap:30px}.craft-copy h2{font-size:40px}.craft-chapter-copy{min-height:240px}.room-card-grid{gap:12px}.room-card-grid span{font-size:20px;left:12px;right:12px;bottom:15px}}
@media(max-width:650px){.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card-grid>a{aspect-ratio:1}.room-card-grid span{font-size:22px}.room-discovery.section{padding:45px 0}.shortlist-invite a{display:block;margin:9px 0 0}.craft-layout{grid-template-columns:1fr}.detail-explorer{max-height:500px}.featured-craft.section{padding:45px 0}.craft-copy h2{font-size:46px}.craft-chapter-copy{min-height:165px}.craft-chapters button{font-size:12px}.floor-compare>summary{align-items:start;flex-direction:column;gap:12px}.compare-prompt{width:100%;justify-content:space-between}.material-comparison{min-width:610px;font-size:13px}.material-comparison th,.material-comparison td{padding:12px}.compare-choices{gap:6px}.compare-choices label{padding:10px;font-size:12px}.viewer-label{max-width:14ch}.viewer-save{padding:8px 10px}.shortlist-tools{flex-wrap:wrap}.craft-detail-text{padding:24px}.craft-detail-text h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.room-card-grid img,.compare-prompt b,.detail-dot{transition:none}.room-card-grid>a:hover img{transform:none}}
/* A local magnifier stays in the photograph, keeping the surrounding story visible. */
.stair-magnifier{position:absolute;z-index:5;width:clamp(190px,23vw,270px);aspect-ratio:1;border-radius:50%;border:4px solid #f3eddd;background-color:#c9b495;background-repeat:no-repeat;box-shadow:0 12px 40px #0b140b70,0 0 0 1px #626c56;pointer-events:auto;overflow:hidden;animation:lens-in .18s ease-out}.stair-magnifier[hidden]{display:none}.stair-magnifier button{position:absolute;right:calc(50% - 16px);top:6px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#273623e3;color:#fff8e8;font:22px Arial;cursor:pointer}.stair-magnifier span{position:absolute;bottom:18px;left:24px;right:24px;text-align:center;font:10px/1.4 Arial;color:#fff9e8;background:#263423da;padding:6px 8px;border-radius:20px}.detail-dot[aria-expanded=true]{background:#7f8b55;box-shadow:0 0 0 8px #f8e9b833}.detail-explorer{isolation:isolate}@keyframes lens-in{from{opacity:0;scale:.85}to{opacity:1;scale:1}}
.model-home-section{background:#e8e4d7;padding:70px 0;scroll-margin-top:85px}.model-home-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.model-home-intro h2{font:italic clamp(36px,4.2vw,60px)/1.05 Georgia;color:#293b2e;margin:15px 0 0}.model-home-intro>p{max-width:38ch;font:15px/1.7 Arial;color:#5a6654}.model-mount{height:clamp(590px,69vh,780px);border:1px solid #77856844;position:relative;background:#e2e6d7;overflow:hidden}.model-mount iframe{border:0;width:100%;height:100%;display:block}.model-open{position:relative;border:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 30%,#f5f0df,#c8d4be);color:#304732;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;cursor:pointer;overflow:hidden}.model-open:before{content:'';position:absolute;inset:0;background:url('/model-home/preview.jpg') center/cover no-repeat;opacity:1;transition:transform .6s}.model-open:hover:before{transform:scale(1.02)}.model-open .model-play{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#f8f3e8e8;color:#40573e;font-size:24px;box-shadow:0 10px 35px #30472833;position:relative}.model-open strong{position:relative;font:italic 38px Georgia;background:#f5f0e2eb;border-radius:4px;padding:8px 18px}.model-open small{position:relative;background:#f5f0e2ed;padding:8px 14px;font:12px Arial;border-radius:4px}.model-caption{display:flex;justify-content:space-between;gap:20px;font:11px/1.5 Arial;color:#647156;margin-top:12px}.model-caption a{color:#44573a;text-underline-offset:4px}@media(max-width:700px){.model-home-section{padding:45px 0}.model-home-intro{display:block}.model-home-intro h2{font-size:43px}.model-home-intro>p{font-size:14px}.model-mount{height:740px}.model-open strong{font-size:28px}.model-caption{display:block}.model-caption a{display:inline-block;margin-top:8px}.stair-magnifier{width:220px}}@media(prefers-reduced-motion:reduce){.stair-magnifier{animation:none}.model-open:before{transition:none}}

/* Keep the page mascot from covering the model's own controls and crew. */
body.rt-model-in-view .rt-wander,body.rt-model-in-view .rt-play-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.rt-model-in-view .rt-wander *,body.rt-model-in-view .rt-play-dock *{pointer-events:none!important}
