/* Predictable natural document scroll. Each image remains stable in its own panel. */
html{scroll-behavior:smooth}
header{z-index:40}
.js-menu.menu-open{z-index:80}
.js-menu.menu-open nav{z-index:81}
.scroll-sequence,.hero.scroll-sequence,.development-layout.scroll-sequence,.processes.scroll-sequence,.gallery-track.scroll-sequence{height:auto!important;min-height:0!important;overflow:visible!important}
.scroll-sequence .full-stage{height:auto!important;min-height:0!important;position:relative!important;top:auto!important;overflow:clip!important}
.hero .full-stage{height:100svh!important;min-height:680px!important}
.hero .full-frame{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.hero .full-frame:not(:first-child){display:none}
.hero-copy{bottom:15%!important}
.development-layout .full-stage{height:100svh!important;min-height:700px!important;isolation:isolate}
.development-layout .full-frame:first-child{display:block!important}
.development-layout .full-frame{position:absolute!important;inset:0!important;height:100%!important;min-height:0!important;opacity:1!important;z-index:0}
.development-layout .core-reveal{opacity:0!important;z-index:1;pointer-events:none;transition:opacity .7s ease}
.development-layout.show-core .core-reveal{opacity:1!important}
.development-layout>.full-stage>.full-shade{z-index:2}
.development-copy{z-index:3}
.core-toggle{position:absolute;right:6%;bottom:8%;z-index:5;display:flex;gap:12px;align-items:center;min-height:48px;padding:8px 0;color:#fff;border:0;border-bottom:1px solid #ffffff88;background:none;font:15px Arial,Helvetica,sans-serif;cursor:pointer}
.core-toggle-dot{width:28px;height:28px;border:1px solid #fff;border-radius:50%;position:relative}
.core-toggle-dot:after{content:'';position:absolute;inset:8px;border:1px solid #fff;border-radius:50%;background:#fff;opacity:0;transition:opacity .2s}
.core-toggle[aria-pressed=true] .core-toggle-dot:after{opacity:1}
.processes .full-stage{height:auto!important;overflow:visible!important}
.processes .full-frame{position:relative!important;inset:auto!important;width:100%;height:100svh!important;min-height:660px!important;opacity:1!important;overflow:clip}
.processes .full-frame+.full-frame{border-top:1px solid #f5f4f022!important}
.gallery-track{height:100svh!important;min-height:660px!important}
.gallery-track .full-stage{height:100svh!important;min-height:660px!important;isolation:isolate}
.gallery-track .full-frame{position:absolute!important;inset:0!important;width:100%;height:100%!important;min-height:0!important;opacity:0!important;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s}
.gallery-track .full-frame.active{opacity:1!important;visibility:visible;pointer-events:auto;z-index:2}
html:not(.gallery-ready) .gallery-track .full-frame:first-child{opacity:1!important;visibility:visible;pointer-events:auto}
html:not(.gallery-ready) .gallery-controls,html:not(.gallery-ready) .gallery-stage-controls{display:none!important}
.gallery-controls{display:flex!important;align-items:center;gap:14px}
.gallery-stage-controls{position:absolute;right:6%;bottom:6%;z-index:6;display:flex;gap:16px;align-items:center;color:#fff}
.gallery-stage-controls button{width:48px;height:48px;border:1px solid #ffffff99;background:#1720297d;color:#fff;font:24px Arial,Helvetica,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.gallery-stage-controls button:hover{background:#ffffff24}
.gallery-stage-count{min-width:64px;text-align:center;font-size:11px;letter-spacing:2px}
.application-copy{bottom:11%}
.gallery-track .zoom-image{cursor:zoom-in}
.motion-switch{display:none!important}
@media(max-width:800px){
 .hero .full-stage{min-height:680px!important}
 .hero-copy{bottom:14%!important}
 .hero-copy h1{font-size:clamp(48px,13.5vw,64px);letter-spacing:-.05em}
 .development-layout .full-stage{height:100svh!important;min-height:900px!important;background:#19212a}
 .development-layout .full-frame>img{object-fit:cover!important;object-position:65% center!important;height:46%!important;background:#242b30}
 .development-layout .full-shade{background:linear-gradient(0deg,#111a22 1%,#111a22ee 28%,transparent 65%)}
 .development-copy{bottom:13%!important;width:88%}
 .development-copy h2{font-size:clamp(34px,9vw,43px)}
 .development-copy p{font-size:15px;line-height:1.55}
 .development-copy .lead{font-size:19px}
 .development-copy .dark-link{font-size:13px}
 .core-toggle{bottom:3%;left:6%;right:auto;font-size:14px}
 .processes .full-frame{height:100svh!important;min-height:690px!important;background:#19212a}
 .application-card:not(:first-child)::before{content:'';position:absolute;inset:0 0 auto;height:68%;background-image:var(--mobile-photo);background-size:cover;background-position:center;filter:blur(24px) brightness(.52);transform:scale(1.06);pointer-events:none}
 .processes .full-frame>img{height:100%!important;object-fit:cover!important;object-position:center center!important;background:#232b31;z-index:1}
 .processes .full-shade{background:linear-gradient(0deg,#111a22 1%,#111a22 27%,transparent 65%)}
 .process-copy{bottom:8%!important;width:88%}
 .process-copy h3{font-size:clamp(37px,10vw,52px);margin-bottom:12px}
 .process-copy p{font-size:17px;line-height:1.5}
 .gallery-track,.gallery-track .full-stage{height:100svh!important;min-height:700px!important}
 .gallery-track .full-frame>.zoom-image{height:68%!important;bottom:auto!important;background:#242b30}
 .gallery-track .full-frame>.zoom-image{background:transparent}
 .gallery-track .full-frame>.zoom-image img{object-fit:contain!important;object-position:center center!important;z-index:1}
 .gallery-track .full-frame:first-child>.zoom-image img{object-fit:cover!important;object-position:65% center!important}
 .gallery-track .full-frame>.zoom-image>span{display:none}
 .application-copy{bottom:16%;width:88%}
 .application-copy:before{inset:-3vh -8vw -18vh;background:linear-gradient(0deg,#111a22 35%,#111a22e9 75%,transparent)}
 .application-copy h3{font-size:clamp(29px,8vw,36px);margin:10px 0}
 .application-copy p{font-size:14px;line-height:1.5;margin:7px 0}
 .application-copy a{font-size:13px}
 .gallery-stage-controls{right:6%;left:6%;bottom:3%;justify-content:space-between}
 .gallery-stage-controls button{width:44px;height:44px}
 .gallery-controls{display:none!important}
}
@media(max-height:650px) and (min-width:801px){.hero .full-stage{min-height:700px!important}.development-layout .full-stage{min-height:720px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.development-layout .core-reveal,.gallery-track .full-frame,.core-toggle-dot:after{transition:none!important}}
