/* MotionSites study: editorial framing, restrained depth, consistent glass. */
html,body{background:#fff;color:#172c2c}
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:112px;overflow-x:clip}
.header{position:fixed;top:16px;left:24px;right:24px;height:72px;padding:0 24px;border:1px solid #ffffffa6;border-radius:18px;background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 30px #092b3310;transition:background .25s,box-shadow .25s}
.header .reading-progress{bottom:-1px;left:18px;right:18px;width:calc(100% - 36px)}
.header nav{gap:26px}
.header nav a{min-height:44px;display:flex;align-items:center}
.header-actions{gap:20px}
.button{border-radius:999px;min-height:54px;padding:16px 28px;font-size:12px;transition:background .18s,transform .18s,box-shadow .18s}
.button.small{min-height:44px;padding:11px 20px;font-size:11px}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #153b3515}
.button:active{transform:scale(.98)}
.cinematic-hero{height:100svh;min-height:760px;max-height:1140px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;padding:0;text-align:left;--pointer-x:0;--pointer-y:0}
.cinematic-hero .hero-copy{max-width:1600px;width:100%;padding:180px var(--gutter) 130px;margin:0 auto;transform:none}
.cinematic-hero h1{max-width:900px;font-size:clamp(64px,7.3vw,112px);line-height:1.03;letter-spacing:-.06em;animation:none;text-shadow:0 4px 32px #04273125}
.cinematic-hero h1 em{font-size:1.18em;letter-spacing:-.025em;line-height:1.06;color:#fff7e9}
.hero-title-line{display:block;overflow:hidden;padding:0 .04em .12em 0;margin-bottom:-.12em}
.hero-title-line>span{display:block;animation:lineReveal .78s var(--motion-ease) .18s both}
.hero-title-line+ .hero-title-line>span{animation-delay:.30s}
.cinematic-hero .hero-copy .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:26px;animation:quietReveal .65s var(--motion-ease) .1s both;color:#fffefa}
.cinematic-hero .hero-description{max-width:450px;font-size:15px;line-height:1.75;color:#f6f1e8;margin:25px 0 0;animation:quietReveal .7s var(--motion-ease) .42s both}
.cinematic-hero .hero-actions{justify-content:flex-start;align-items:center;gap:24px;margin-top:28px;animation:quietReveal .65s var(--motion-ease) .54s both}
.cinematic-hero .button{min-height:56px;padding:17px 29px;background:#fffefa;box-shadow:0 2px 1px #ffffff80 inset,0 6px 22px #062d3420;color:#143f3c;border-color:#fffefa}
.cinematic-hero .button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #021c3240}
.cinematic-hero .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.hero-world{transform:translate3d(calc(var(--pointer-x)*-28px),calc(var(--world-y) + var(--pointer-y)*-10px),0) scale(var(--world-scale));transform-origin:50% 64%}
.hero-world img{object-position:50% 60%}
.hero-shade{background:linear-gradient(90deg,#052b36cc 0%,#052b368a 35%,#052b361f 70%,#052b360a 100%),linear-gradient(0deg,#05252e99,transparent 42%)}
.hero-dust{animation:none;opacity:.15}
.hero-world-note{display:none}
.cinematic-hero .hero-foot{font-size:9px;left:var(--gutter);right:var(--gutter);bottom:28px;letter-spacing:.12em;border-color:#ffffff35;color:#f6f1e8c4}
.cinematic-hero .hero-foot a{font-size:10px;min-height:44px}
.cinematic-hero .hero-foot>span:last-child{display:block}
.cinematic-hero :focus-visible,.world-panel:focus-visible{outline-color:#fffefa}
@keyframes lineReveal{from{transform:translateY(105%);opacity:.2}to{transform:translateY(0);opacity:1}}
@keyframes quietReveal{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.experience-bar{padding-block:42px;gap:28px}
.experience-bar>div>strong{font-size:36px}
.experience-bar>div>span{font-size:11px}
.experience-bar>p{font-size:12px}
.experience-bar .experience-note{font-size:10px}
.gallery-stage{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 32px;height:780px;min-height:0;perspective:1800px;align-items:start}
.world-panel{height:700px;border-radius:4px;padding:35px 30px;transform-style:preserve-3d;will-change:transform}
.world-panel-one{transform:translateY(calc((var(--gallery-progress) - .5)*-48px)) rotateY(calc((.5 - var(--gallery-progress))*6deg))}
.world-panel-two{margin-top:60px;transform:translateY(calc((var(--gallery-progress) - .5)*48px))}
.world-panel-three{transform:translateY(calc((var(--gallery-progress) - .5)*-48px)) rotateY(calc((var(--gallery-progress) - .5)*6deg))}
.world-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 10%,#fff2 43%,transparent 66%);opacity:0;z-index:1;pointer-events:none;transition:opacity .4s}
.world-panel:hover::before{opacity:1}
.panel-caption>span{font-size:9px}
.panel-caption p{font-size:12px}
.panel-caption b{font-size:11px;min-height:44px}
.gallery-foot{font-size:9px}
.gallery-swipe{display:none}
.chapter-steps{position:relative;padding-bottom:4px}
.chapter-steps::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--green);transform:scaleX(var(--story-progress,0));transform-origin:left;opacity:.55;pointer-events:none}
.has-motion .story-sticky{top:104px;height:calc(100vh - 104px);min-height:640px;padding-block:24px}
.has-motion .architecture-scene{height:calc(100vh - 152px);min-height:560px;border-radius:16px;overflow:hidden}
.scene-world img{transition:opacity .8s var(--motion-ease),transform 1.2s var(--motion-ease)}
.scene-grid{border-radius:8px}
.source-note{border-radius:12px;background:#ffffffdb;border:1px solid #ffffffb3;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 30px #08262f20}
.source-note strong{font-size:13px}.source-note small{font-size:9px}
.task-line{border-radius:10px;background:#103c4699;border-color:#ffffff35;backdrop-filter:blur(14px)}
.scene-control{border-radius:14px}
.blueprint-document{border-radius:4px;transition:transform .65s var(--motion-ease)}
.workflow-preview,.capacity-panel{border-radius:16px}
.reveal.is-visible{animation:quietReveal .75s var(--motion-ease) var(--reveal-delay,0s) both}
.approach-grid article:nth-child(2){--reveal-delay:.08s}.approach-grid article:nth-child(3){--reveal-delay:.16s}
.menu-open{background:#fff}
body.navigation-open{overflow:hidden}
@media(min-width:981px) and (max-height:780px){.cinematic-hero{min-height:680px}.cinematic-hero .hero-copy{padding-top:145px;padding-bottom:110px}.cinematic-hero h1{font-size:clamp(64px,6.5vw,96px)}.cinematic-hero .hero-copy .eyebrow{margin-bottom:20px}.cinematic-hero .hero-description{margin-top:20px}}
@media(max-width:1100px){.header nav{gap:18px}.brand{font-size:20px}.header-actions{gap:14px}.cinematic-hero .hero-foot>span:last-child{display:none}.gallery-stage{gap:14px;padding-inline:24px;height:690px}.world-panel{height:620px;padding:30px 24px}.panel-caption h3{font-size:39px}}
@media(max-width:980px){.header nav{position:absolute;top:82px;left:0;right:0;display:none;flex-direction:column;padding:20px 28px;border-radius:16px;background:#fff;box-shadow:0 8px 30px #092b3310}.header nav a{font-size:15px;padding:10px 0}.header.menu-open nav{display:flex}.menu-toggle{display:flex}.cinematic-hero h1{font-size:clamp(60px,9.5vw,92px)}.cinematic-hero{min-height:790px}.hero-shade{background:linear-gradient(90deg,#052b36c7,#052b3650 80%),linear-gradient(0deg,#05252e99,transparent 60%)}.gallery-stage{perspective:none}.world-panel{transform:none!important}.world-panel-two{margin-top:0}.gallery-stage{height:620px}.world-panel{height:100%}.panel-caption h3{font-size:35px}.experience-bar>div>strong{font-size:30px}.source-note strong{font-size:12px}}
@media(max-width:680px){
 html{scroll-padding-top:92px}.header{top:10px;left:10px;right:10px;height:62px;border-radius:14px;padding:0 15px;gap:10px}.brand{font-size:19px;gap:8px}.header-actions{gap:16px}.header nav{top:70px;padding:15px 24px}.header .reading-progress{left:14px;width:calc(100% - 28px)}.motion-control,.menu-toggle{min-width:44px;min-height:44px}.header-actions{gap:4px}
 .cinematic-hero{min-height:740px;height:100svh;max-height:1100px;justify-content:flex-end;align-items:stretch}.cinematic-hero .hero-copy{padding:170px 24px 120px}.cinematic-hero h1{font-size:clamp(38px,12vw,72px);line-height:1.08;max-width:100%;letter-spacing:-.06em}.cinematic-hero h1 em{font-size:1.2em;line-height:1.07;display:inline}.cinematic-hero .hero-copy .eyebrow{font-size:9px;letter-spacing:.13em;line-height:1.7;margin-bottom:23px;max-width:290px}.cinematic-hero .hero-description{font-size:14px;line-height:1.75;max-width:370px;margin-top:23px}.cinematic-hero .hero-actions{align-items:flex-start;gap:10px;margin-top:24px;flex-direction:column}.cinematic-hero .button{font-size:12px;min-height:54px;padding:16px 25px}.cinematic-hero .text-link{font-size:12px;min-height:44px}.cinematic-hero .hero-foot{left:24px;right:24px;bottom:18px;font-size:7px;gap:20px;padding-top:12px}.cinematic-hero .hero-foot a{font-size:8px;letter-spacing:.04em;min-height:44px}.hero-world img{object-position:50% 47%}.hero-shade{background:linear-gradient(0deg,#052833c9,#052b367a 68%,#052b3610 100%)}
 .experience-bar{padding:30px 24px;gap:22px 14px}.experience-bar>div>strong{font-size:26px}.experience-bar>div>span{font-size:10px;line-height:1.6}.experience-bar .experience-note{font-size:9px}
 .gallery-stage{display:flex;gap:12px;padding:0 24px;height:580px;perspective:none;align-items:stretch}.world-panel{height:100%;flex-basis:87%;margin-top:0;padding:28px 24px;border-radius:4px;transform:none!important}.panel-caption h3{font-size:40px}.panel-caption>span{font-size:9px}.panel-caption p{font-size:12px}.panel-caption b{font-size:11px}.gallery-foot{font-size:8px;align-items:center;gap:12px}.gallery-foot>span:first-child{max-width:200px}.gallery-foot .gallery-swipe{display:block!important;font-size:10px;letter-spacing:0;text-transform:none;white-space:nowrap}.gallery-foot>span:last-child:not(.gallery-swipe){display:none}
 .architecture-scene{border-radius:14px;overflow:hidden}.source-note strong{font-size:12px}.source-note small{font-size:9px}.scene-label{font-size:9px}.scene-caption{font-size:9px;max-width:230px;margin:auto;line-height:1.7}.chapter-steps::after{display:none}.workflow-preview{border-radius:14px}.blueprint-document{transform:none}.capacity-panel{border-radius:14px}
}
@media(max-width:380px){.brand{font-size:17px}.header{padding:0 12px}.header-actions{gap:0}.header .brand svg{width:17px}.cinematic-hero .hero-copy{padding-inline:22px}.cinematic-hero .hero-copy .eyebrow{font-size:8px}.cinematic-hero .hero-description{font-size:13px}.cinematic-hero h1{font-size:12vw}.cinematic-hero .hero-foot>span{max-width:145px}.world-panel{flex-basis:92%}.panel-caption h3{font-size:35px}}
@media(max-width:680px) and (max-height:740px){.cinematic-hero{min-height:710px}.cinematic-hero .hero-copy{padding-top:145px;padding-bottom:105px}.cinematic-hero .hero-copy .eyebrow{margin-bottom:18px}.cinematic-hero .hero-description{margin-top:20px}.cinematic-hero .hero-actions{margin-top:20px}}
.motion-reduced .hero-world,.motion-reduced .world-panel,.motion-reduced .world-panel img{transform:none!important}.motion-reduced .hero-title-line>span,.motion-reduced .hero-copy>*,.motion-reduced .reveal{animation:none!important}.motion-reduced .chapter-steps::after{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-world,.world-panel,.world-panel img{transform:none!important}.hero-title-line>span,.hero-copy>*,.reveal{animation:none!important}.chapter-steps::after{display:none}}
/* Review pass: avoid two chapter paragraphs being readable at once. */
.has-motion .chapter-copy article{transition:none}
.has-motion .chapter-copy article.is-active{animation:quietReveal .45s var(--motion-ease) both}
@media(max-width:680px){.gallery-foot>span:nth-child(2){display:none}}
.motion-reduced .chapter-copy article.is-active{animation:none!important}
