/* Page-specific choreography. The vendored Scroll Craft engine is unchanged. */
:root{--sc-t-xs:16px;--sc-t-sm:16px;--sc-t-base:18px;--sc-font-body:Apfel,sans-serif;--sc-font-display:Apfel,sans-serif;--sc-bg:#041414;--sc-fg:#f4f6f5;--sc-z-stage:1}
/* Headline first; the fluid photo reveal stays behind the entire hero. */
.hero{padding:0;overflow:clip;isolation:isolate}
.hero-stage{position:relative;isolation:isolate;overflow:clip}
.hero-stage>.wrap{position:relative;padding-top:36px;padding-bottom:36px}
.hero-room{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-canvas,.hero-static{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-static{visibility:hidden}.hero-canvas{visibility:hidden}.hero-stage.webgl-ready .hero-canvas{visibility:visible}
.hero-upper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:520px;padding:44px 0 52px;align-items:start}
.hero-feature{grid-column:1/3;grid-row:1;width:350px;max-width:85%;padding:0;align-self:start}
.feature-intro{display:none}.feature-label{margin-bottom:12px}.feature-link img{height:305px;object-fit:cover;object-position:center}
.feature-caption{margin-top:12px;color:var(--paper);font-size:18px}
.feature-link .image-frame{transform-origin:center;box-shadow:0 14px 30px #0003}
.hero-lead{grid-column:3/5;grid-row:1;padding:75px 35px 0 0}
.hero-lead>p{font-size:20px;line-height:1.35;max-width:420px;margin-bottom:34px}
.hero-note{margin-top:38px;gap:18px}.hero-note img{width:110px;height:72px}.hero-note p{font-size:18px;color:var(--paper);line-height:1.3}
.hero-topics{grid-column:5;grid-row:1;align-self:end;margin:0;padding:0;background:transparent}
.hero-topics>p{font-size:16px;line-height:1.35;color:var(--paper);max-width:180px}
.hero-topics>div{flex-direction:column;gap:8px}.hero-topics span{font-size:20px}
.hero-type{padding:44px 0 0;position:relative}
.hero-type h1{font-size:92px;line-height:.99;max-width:1150px;margin-bottom:0}
.hero-lead>p,.hero-note p,.hero-topics,.hero-type,.feature-label,.feature-caption{mix-blend-mode:difference}
.hero.is-static .hero-room{position:relative;inset:auto;z-index:0;aspect-ratio:3/2;max-height:620px;order:2}
.hero.is-static .hero-stage{display:flex;flex-direction:column}.hero.is-static .hero-static{visibility:visible;object-fit:contain}
.hero.is-static .hero-canvas{display:none}.hero.is-static .hero-lead>p,.hero.is-static .hero-note p,.hero.is-static .hero-topics,.hero.is-static .hero-type,.hero.is-static .feature-label,.hero.is-static .feature-caption{mix-blend-mode:normal}
.depth-layer{position:absolute;inset:-70px 0;will-change:transform}
.approach-photo{height:475px}.approach-photo .depth-layer img{height:100%;width:100%;object-fit:cover;transition:none}
.project-image{height:560px;clip-path:inset(var(--project-wipe,0%) 0 0 0);transition:clip-path .15s linear}
.project-image .depth-layer img{height:100%;width:100%;object-fit:cover}
.project-image:hover .depth-layer img{transform:scale(1.035)}
/* Reference service rhythm: a fixed photo window beside freely scrolling copy. */
.collection-layout{padding-top:64px}.collection-aside{padding-top:0;padding-right:24px}
.collection-list{display:grid;gap:40px}
.collection-row{display:grid;grid-template-columns:38% minmax(0,1fr);gap:40px;min-height:415px}
.collection-photo{position:relative;overflow:hidden;margin:0;height:415px}
.collection-photo-layer{position:absolute;inset:0;transform:translate3d(0,var(--collection-shift,0px),0)}
.collection-photo.is-parallax .collection-photo-layer{inset:-37.5% 0}
.collection-photo.is-moving .collection-photo-layer{will-change:transform}
.collection-photo img{width:100%;height:100%;object-fit:cover;display:block}
.collection-copy{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-bottom:4px}
.collection-copy .collection-kind{font-size:16px;color:var(--muted);margin:0 0 28px}
.collection-copy h3{font-size:44px;line-height:1.05;margin-bottom:18px}
.collection-copy p{font-size:18px;line-height:1.45;max-width:48ch;margin:0}
.collection-copy .text-button{width:260px;max-width:100%;min-height:52px;justify-content:space-between;border-bottom:0;border-top:1px solid var(--muted);padding:14px 0;position:relative}
.collection-copy .text-button:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.collection-copy .text-button:is(:hover,:focus-visible):before{transform:scaleX(1)}
@media(max-width:1199px){.collection-row{grid-template-columns:42% minmax(0,1fr);gap:28px}.collection-copy h3{font-size:38px}}
@media(max-width:900px){.collection-layout{display:block}.collection-aside{display:none}.collection-row{grid-template-columns:44% minmax(0,1fr)}}
@media(max-width:650px){.collection-layout{padding-top:40px}.collection-list{gap:48px}.collection-row{grid-template-columns:1fr;gap:24px;min-height:0}.collection-photo{height:auto;aspect-ratio:1/1.08}.collection-copy{gap:28px}.collection-copy .collection-kind{margin-bottom:14px}.collection-copy h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.collection-photo-layer{inset:0!important;transform:none!important;will-change:auto!important}}
.project-list-item{position:relative;transition:color .25s,background .35s;padding-inline:0}
.project-list-item:after{content:'';position:absolute;left:0;right:0;bottom:-1px;background:var(--lime);height:1px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.project-list-item:is(:hover,:focus-visible){color:var(--lime)}.project-list-item:is(:hover,:focus-visible):after{transform:scaleX(1)}
.project-list-item>svg{transition:transform .4s var(--ease)}.project-list-item:is(:hover,:focus-visible)>svg{transform:translate(5px,-5px)}
.interiors{touch-action:pan-y;cursor:grab;overflow:hidden;isolation:isolate}.interiors.is-dragging{cursor:grabbing}.interiors.is-dragging *{cursor:grabbing;user-select:none}
.gallery-scenes{position:absolute;inset:0;display:flex;transform:translateX(var(--gallery-x,0px));transition:transform .75s var(--ease);will-change:transform}
.gallery-scene{position:relative;inset:auto;display:block;width:100%;height:100%;flex:0 0 100%;object-fit:cover;opacity:1;transform:none!important;transition:none;pointer-events:none}
.interiors.is-dragging .gallery-scenes{transition:none}
.interior-tabs{z-index:2}.interior-tabs button{touch-action:pan-y;background:transparent;cursor:grab}.interior-tabs button:focus-visible{outline-offset:-8px}
.interior-tabs button:not([aria-selected=true]) .gallery-info{background:#041414eb;color:var(--paper)}
.interior-tabs button:not([aria-selected=true]) .gallery-info:before{transform:translateY(101%)}
.gallery-info{pointer-events:none}.gallery-drag-note{position:absolute;top:28px;left:var(--gutter);z-index:3;margin:0;padding:10px 14px;background:var(--ink);color:var(--paper);font-size:16px;display:flex;align-items:center;gap:14px;pointer-events:none}
.gallery-drag-note svg{width:20px;height:20px}.gallery-heading .section-copy>p{max-width:540px}
.process-list article{position:relative;transition:background .35s}
.process-list article:after{content:'';height:1px;position:absolute;bottom:-1px;left:0;width:100%;background:var(--ink);transform:scaleX(var(--step-progress,0));transform-origin:left}
.process-list article.is-current .step{color:#235e5d}.process-list h3{transition:color .35s}.process-list article.is-current h3{color:#235e5d}
.journal-image{transform-origin:center;box-shadow:0 10px 28px #0003}
.journal-image img{transition:transform .8s var(--ease),filter .8s var(--ease);filter:saturate(.8)}.journal-image:is(:hover,:focus-visible) img{transform:scale(1.065);filter:saturate(1)}
.journal-grid article:hover .text-button svg{transform:translateX(6px)}
footer .footer-intro{position:relative}footer .footer-intro:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
footer .footer-grid{padding-top:32px}
@media(max-width:1199px){.hero-stage>.wrap{padding-top:30px}.hero-upper{min-height:550px}.hero-type h1{font-size:80px}.hero-lead{padding-right:24px}.hero-lead>p{font-size:18px}.hero-feature{max-width:90%}.feature-link img{height:280px}.hero-note{flex-wrap:wrap}.hero-topics span{font-size:18px}}
@media(max-width:900px){.hero-upper{grid-template-columns:1fr 1fr;gap:36px;min-height:0;padding:36px 0}.hero-feature{grid-column:1;max-width:100%;width:100%;margin:0;display:block}.hero-lead{grid-column:2;padding:48px 0 0}.hero-topics{grid-column:1/-1;grid-row:2;align-self:auto;display:flex;justify-content:space-between;gap:32px}.hero-topics>div{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px}.hero-type{padding:20px 0 32px}.hero-type h1{font-size:64px}}
@media(max-width:650px){.hero-stage>.wrap{padding-top:30px;padding-bottom:24px}.hero-upper{display:flex;flex-direction:column;gap:32px;padding:32px 0 0}.hero-lead{order:0;padding:0}.hero-lead>p{font-size:18px;line-height:1.4}.hero-feature{order:1;width:100%;max-width:100%;margin:0}.feature-link img{height:260px}.hero-note{margin-top:30px;flex-wrap:nowrap}.hero-note img{width:108px;height:66px}.hero-note p{font-size:16px}.hero-topics{order:2;display:block;margin:0}.hero-topics>p{max-width:none;margin-bottom:14px}.hero-topics>div{flex-direction:row;gap:20px}.hero-type{padding:32px 0 28px}.hero-type h1{font-size:44px;line-height:1.03}.hero.is-static .hero-room{width:calc(100% - 40px);margin:0 auto 24px;max-height:none}.approach-photo{height:350px}.project-image{height:310px}.depth-layer{inset:-50px 0}.gallery-drag-note{top:18px;left:20px}.gallery-info{background:#041414eb}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-canvas{display:none}.depth-layer{transform:none!important;will-change:auto}.project-image{clip-path:none!important}.gallery-scenes{transition:none!important;will-change:auto}.journal-image,.feature-link .image-frame,.hero-lead>.button{transform:none!important}.process-list article:after,footer .footer-intro:after{transform:scaleX(1)}}
