:root{--ink:#140e13;--deep:#10211d;--green:#4a6f60;--stone:#e6e3dc;--white:#f7f7f4;--grey:#888b89;--pad:clamp(24px,5.5vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:6px}button{border:0}img{display:block;max-width:100%;height:auto}p{line-height:1.65;margin:0}h1,h2,h3{font-weight:600;line-height:1.04;letter-spacing:-.065em;margin:0}h2{font-size:clamp(48px,5.4vw,86px)}h3{font-size:clamp(25px,2.1vw,34px);letter-spacing:-.04em;line-height:1.2}em{font-style:normal;color:var(--green)}.eyebrow,.micro,.tag,.text-link,.asset-bottom,.filters,.footer-note{font-family:'IBM Plex Mono',monospace}.eyebrow{font-size:11px;letter-spacing:.14em;line-height:1.6}.micro{font-size:10px;letter-spacing:.07em;line-height:1.65}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:0}.header{height:112px;position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:36px;padding:0 var(--pad);z-index:20}.brand{width:clamp(215px,20vw,300px);margin-right:auto}.header nav{display:flex;gap:32px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--green);transition:width .2s}.header nav a:hover:after{width:100%}.header-cta{font-family:Manrope,Arial,sans-serif;font-weight:600;padding:17px 20px;font-size:10px;letter-spacing:.08em;background:var(--green);color:var(--white);display:flex;gap:36px;align-items:center}.header-cta span{font-size:20px}.menu-toggle{width:40px;height:40px;background:none;display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;z-index:40}.menu-toggle span{height:1px;width:24px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu{position:fixed;inset:0;z-index:19;background:var(--stone);padding:150px var(--pad) 60px;overflow:auto}.menu[hidden]{display:none}.menu nav{margin:36px 0;max-width:1000px}.menu nav a{display:flex;font-size:clamp(28px,5vw,75px);letter-spacing:-.05em;align-items:center;border-top:1px solid #b6bab5;padding:20px 0;gap:30px}.menu nav small{font:12px 'IBM Plex Mono';color:var(--green)}.menu nav a span{margin-left:auto;color:var(--green)}.menu-open{overflow:hidden}.menu-open .header{position:fixed}.hero{min-height:0;height:min(960px,100svh);position:relative;overflow:hidden;isolation:isolate;padding:184px var(--pad) 110px}.hero-backdrop{position:absolute;top:0;bottom:0;right:0;width:47%;background:linear-gradient(140deg,#d0d8d0,#9bac9f);clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);z-index:-3}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#f7f7f440 1px,transparent 1px),linear-gradient(90deg,#f7f7f440 1px,transparent 1px);background-size:72px 72px}.building-layer{position:absolute;right:-11%;bottom:-3%;width:72%;z-index:-1;will-change:transform}.building-layer img{width:100%;height:100%;object-fit:contain}.hero-copy{position:relative;width:54%;z-index:2}.hero-copy .eyebrow{display:flex;gap:16px;align-items:center;color:var(--green);margin-bottom:30px}.rule{width:30px;height:2px;background:var(--green)}h1{font-size:clamp(72px,7.1vw,118px);letter-spacing:-.065em}.line{display:block;overflow:hidden;padding-block:.10em .28em;margin-block:-.10em -.22em}.line>span{display:block}.hero-description{max-width:430px;font-size:18px;color:#5e635f;margin-top:26px;line-height:1.65}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.button{font-family:Manrope,Arial,sans-serif;font-weight:600;display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:21px 25px;background:var(--green);color:var(--white);font-size:13px;letter-spacing:.04em;transition:background .2s}.button:hover{background:var(--deep)}.button span{font-size:20px;line-height:.8;transition:transform .2s}.button:hover span{transform:translate(3px,-3px)}.text-link{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.02em;border-bottom:1px solid var(--green);padding-bottom:8px}.text-link span{font-size:18px}.hero-principles{display:flex;margin-top:54px;max-width:560px}.hero-principles div{padding:0 24px;border-left:1px solid #c9ccc7;flex:1}.hero-principles div:first-child{padding-left:0;border:0}.hero-principles span{font:9px 'IBM Plex Mono';color:var(--green);letter-spacing:.02em;white-space:nowrap}.hero-principles p{font-size:12px;margin-top:8px}.hero-chart{position:absolute;left:57%;top:27%;width:216px;background:var(--white);padding:25px;z-index:4;box-shadow:0 15px 55px #10211d16;transition:transform .24s}.hero-chart:hover{transform:translateY(-5px)}.chart-top{display:flex;align-items:center;justify-content:space-between}.chart-top .eyebrow{font-size:9px;letter-spacing:.06em}.chart-dot{width:5px;height:5px;background:var(--green);border-radius:50%}.chart-value{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:var(--green);font-size:57px;letter-spacing:-.05em}.chart-arrow{font-size:30px;font-weight:400}.hero-chart .micro{color:#59675c}.hero-bars{height:70px;display:flex;gap:9px;align-items:flex-end;margin-top:22px}.hero-bars i{display:block;flex:1;height:var(--bar);background:#bdc9c0;transform-origin:bottom}.hero-bars i:last-child{background:var(--green)}.chart-axis{display:flex;justify-content:space-between;margin-top:8px;font-size:8px}.chart-note{font-size:9px;line-height:1.5;color:#606962;margin-top:18px}.chart-link{border-top:1px solid #dedfd9;margin-top:18px;padding-top:14px;display:flex;justify-content:space-between;font:9px 'IBM Plex Mono';gap:8px}.hero-caption{position:absolute;right:var(--pad);bottom:40px;padding:8px 12px;color:var(--white);background:#10211dab;font-size:8px;z-index:3}.scroll-cue{position:absolute;bottom:40px;left:var(--pad);display:flex;gap:25px;align-items:center}.scroll-cue span{font-size:23px}.section{padding:100px var(--pad);scroll-margin-top:0}.section-label{display:flex;justify-content:space-between;gap:25px;padding-bottom:27px;border-bottom:1px solid #c8ccc6;margin-bottom:64px;color:var(--green)}.intro{background:var(--stone)}.intro-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.intro-text{max-width:440px}.intro-text .lead{font-size:24px;line-height:1.4;letter-spacing:-.03em;margin-bottom:26px}.intro-text>p:not(.lead){font-size:15px;color:#58615a}.intro-text .text-link{margin-top:28px}.context-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:70px;height:320px}.context-shot{position:relative;background-image:url('assets/optimized/context-sprite-1600.webp');background-size:400% 100%;overflow:hidden}.context-shot:nth-child(2){background-position:33.333% 0}.context-shot:nth-child(3){background-position:66.666% 0}.context-shot:nth-child(4){background-position:100% 0}.context-shot span{position:absolute;left:14px;bottom:14px;color:white;background:#10211d9e;padding:6px 9px;font-size:8px}.image-note{margin-top:12px;font-size:8px;color:#526355}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.section-heading>p{max-width:330px;color:#58615a;font-size:15px}.filters{display:flex;gap:28px;margin:55px 0 34px;padding-bottom:20px;border-bottom:1px solid #c8ccc6;overflow:auto}.filters button{padding:0 0 9px;background:none;color:#6a726b;font-size:11px;white-space:nowrap}.filters button.active{color:var(--deep);box-shadow:0 2px var(--green)}.filters sup{font-size:8px;color:var(--green);margin-left:7px}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.asset-card{padding:0;text-align:left;background:none;min-width:0}.asset-card[hidden]{display:none}.asset-photo{height:330px;position:relative;background-image:url('assets/optimized/context-sprite-1600.webp');background-size:400% 100%;transition:filter .24s}.photo-corporate{background-position:66.666% 0}.photo-commercial{background-position:0 0}.photo-pool{background-position:33.333% 0}.asset-card:hover .asset-photo{filter:brightness(.91)}.tag{position:absolute;left:14px;top:14px;background:var(--white);padding:8px 10px;font-size:8px}.asset-arrow{position:absolute;right:14px;bottom:14px;width:40px;height:40px;background:var(--white);display:grid;place-items:center;font-size:23px;transition:transform .2s}.asset-card:hover .asset-arrow{transform:translate(3px,-3px)}.asset-meta{display:flex;justify-content:space-between;margin:19px 0;color:var(--green);font-size:8px;gap:8px}.asset-bottom{border-top:1px solid #c8ccc6;margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#526355}.demo-note{margin-top:34px;font-size:8px;color:#526355}.method{background:var(--deep);color:var(--white)}.method .section-label{color:#acc2b3;border-color:#365145}.method-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.method h2 em{color:#9eb9a7}.method-heading>p{max-width:360px;margin-top:28px;color:#b4c2b9;font-size:14px}.method-heading .text-link{margin-top:34px;color:var(--white);border-color:#9eb9a7}.method-steps{padding-top:8px}.method details{border-bottom:1px solid #365145;padding:25px 0}.method details:first-child{border-top:1px solid #365145}.method summary{list-style:none;display:flex;gap:25px;align-items:center;cursor:pointer;font-size:21px;letter-spacing:-.03em;line-height:1.3}.method summary::-webkit-details-marker{display:none}.step-number{font:11px 'IBM Plex Mono';color:#9eb9a7}.plus{margin-left:auto;color:#9eb9a7;font-size:28px;font-weight:400}.method details[open] .plus{transform:rotate(45deg)}.method details p{padding:24px 40px 8px 45px;max-width:460px;font-size:14px;color:#b4c2b9}.reading{background:var(--stone)}.reading-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:11%;align-items:center}.reading-layout>div:first-child>p{margin-top:28px;max-width:330px;font-size:15px;color:#58615a}.reading-layout .reading-note{font-size:11px!important}.analysis-chart{background:var(--white);padding:36px}.analysis-top{display:flex;justify-content:space-between;gap:20px}.analysis-top p{font-size:11px;margin-top:7px;color:#58615a}.graph{position:relative;padding:35px 0 0 22px}.graph svg{width:100%;display:block;overflow:visible}.area{fill:#4a6f6010}.chart-line{stroke:var(--green);stroke-width:2;fill:none;stroke-dasharray:700;stroke-dashoffset:0}.chart-points circle{fill:var(--green);stroke:var(--white);stroke-width:3}.graph-grid{position:absolute;left:0;right:0;top:50px;bottom:49px;display:flex;flex-direction:column;justify-content:space-between}.graph-grid span{border-bottom:1px solid #dde0d9;font:8px 'IBM Plex Mono';padding-bottom:10px}.graph-controls{display:flex;justify-content:space-around}.graph-controls button{background:none;font:11px 'IBM Plex Mono';padding:10px 4px;color:#737b74}.graph-controls button small{display:block;font-size:8px;margin-top:6px}.graph-controls button.active{color:var(--green);box-shadow:0 2px var(--green)}.chart-detail{margin-top:32px;border-top:1px solid #c8ccc6;padding-top:20px;display:flex;justify-content:space-between}.chart-detail .micro{font-size:8px;color:#526355}.chart-detail p{font-size:32px;letter-spacing:-.045em;color:var(--green);margin-top:5px}.chart-source{margin-top:25px;font-size:8px;color:#526355;letter-spacing:0}.insight-list{margin-top:60px}.insight-list button{width:100%;background:none;padding:29px 0;border-top:1px solid #c8ccc6;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;text-align:left}.insight-list button:last-child{border-bottom:1px solid #c8ccc6}.insight-list .micro{color:var(--green)}.round-arrow{width:55px;height:55px;border:1px solid #c8ccc6;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s}.insight-list button:hover .round-arrow{background:var(--green);color:white}.contact{background:var(--deep);color:var(--white)}.contact .section-label{color:#acc2b3;border-color:#365145}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:15%}.contact h2 em{color:#9eb9a7}.contact-layout>div>p{max-width:330px;margin-top:30px;color:#b4c2b9}.contact form{padding-top:5px}.contact label{display:block;font:10px 'IBM Plex Mono';color:#b4c2b9;margin-bottom:25px}input,select,textarea{display:block;width:100%;background:none;border:0;border-bottom:1px solid #526759;border-radius:0;color:var(--white);padding:13px 0;font:15px Manrope,Arial;margin-top:7px;resize:vertical}input::placeholder,textarea::placeholder{color:#8eaa97}select option{background:var(--deep);color:white}.form-note{font-size:10px;color:#a5b8aa;margin:10px 0 23px}.contact .button{width:100%;background:#d9e4db;color:var(--deep)}#form-status{margin-top:14px;font-size:13px}footer{padding:65px var(--pad) 95px;background:var(--stone)}footer>img{width:100%;max-width:none}.footer-row{display:flex;justify-content:space-between;margin-top:38px;color:var(--green)}.footer-note{display:flex;justify-content:space-between;font-size:8px;padding-top:24px;border-top:1px solid #c8ccc6;margin-top:30px;color:#526355}dialog{border:0;background:var(--white);color:var(--ink);width:min(780px,calc(100% - 32px));max-height:88svh;padding:55px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#10211dcc;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:15px;right:20px;background:none;font-size:30px;color:var(--green)}dialog h2{font-size:clamp(32px,4vw,54px);margin:20px 0 28px}dialog h3{font-size:23px;margin-top:28px}dialog p{font-size:14px;color:#58615a;margin:15px 0}dialog .eyebrow{color:var(--green)}dialog .modal-image{height:250px;background-image:url('assets/optimized/context-sprite-1600.webp');background-size:400% 100%;margin:25px 0}dialog dl{margin:24px 0}dialog dl>div{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid #c8ccc6;font-size:12px;gap:25px}dialog dd{color:#58615a;margin:0;text-align:right}dialog .button{margin-top:16px}/* Motion V02: wait for assets, then play; keep scroll effects active. */
.building-layer{transform:translate3d(var(--depth-x,0px),calc(var(--depth-y,0px) + var(--tilt-y,0px)),0) scale(var(--depth-scale,1));transform-origin:70% 85%}
.hero-backdrop{transform:translateY(calc(var(--depth-y,0px) * -.25));will-change:transform}
.hero-grid{transform:translate3d(calc(var(--depth-x,0px) * -.8),calc(var(--tilt-y,0px) * -.5),0)}
.motion-on:not(.hero-playing) .hero .line>span{transform:translateY(155%)}
.motion-on:not(.hero-playing) .hero .hero-enter,.motion-on:not(.hero-playing) .hero .hero-chart,.motion-on:not(.hero-playing) .hero .building-layer>img{opacity:0}
.motion-on.hero-playing .line>span{animation:headline .8s cubic-bezier(.16,1,.3,1) both;animation-delay:180ms}
.motion-on.hero-playing .line:nth-child(2)>span{animation-delay:280ms}
.motion-on.hero-playing .hero-enter{animation:enter .7s cubic-bezier(.16,1,.3,1) both;animation-delay:350ms}
.motion-on.hero-playing .building-layer>img{animation:architecture-in 1.3s cubic-bezier(.16,1,.3,1) both}
.motion-on.hero-playing .hero-chart{animation:chart-in .8s cubic-bezier(.16,1,.3,1) both,chart-float 6s ease-in-out 1.5s infinite;animation-delay:450ms,1.5s}
.motion-on.hero-playing .hero-chart:hover{animation-play-state:running,paused}
.motion-on.hero-playing .hero-bars i{animation:bar .55s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.65s + var(--d))}
.motion-on .scroll-cue span{animation:scroll-hint 2.5s ease-in-out infinite}
.motion-on .reveal{opacity:0;transform:translateY(58px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-on .reveal.visible{opacity:1;transform:none}
.title-mask{display:block;overflow:hidden;padding-block:.10em .28em;margin-block:-.10em -.28em}
.title-mask>span{display:block}
.motion-on .title-reveal{opacity:1;transform:none}
.motion-on .title-reveal .title-mask>span{transform:translateY(155%);transition:transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--line-delay,0ms)}
.motion-on .title-reveal.visible .title-mask>span{transform:translateY(0)}
.context-strip{clip-path:inset(0 var(--strip-inset,0%));will-change:clip-path}
.context-shot{background-size:400% calc(100% * var(--strip-scale,1));background-position-y:center}
.motion-on .context-strip{transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}
.motion-on .analysis-chart:not(.visible) .chart-line{stroke-dashoffset:700}
.motion-on .analysis-chart .chart-line{transition:stroke-dashoffset .6s .3s}
.motion-on .analysis-chart:not(.visible) .chart-points{opacity:0}
.motion-on .analysis-chart .chart-points{transition:opacity .4s .7s}
.motion-on .asset-photo:after{content:'';position:absolute;inset:0;background:var(--white);transform:scaleY(0);transform-origin:top;transition:transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-on .asset-card:not(.visible) .asset-photo:after{transform:scaleY(1)}
.motion-on .menu:not([hidden]) nav a{animation:enter .6s cubic-bezier(.16,1,.3,1) both}
.motion-on .menu:not([hidden]) nav a:nth-child(2){animation-delay:60ms}.motion-on .menu:not([hidden]) nav a:nth-child(3){animation-delay:120ms}.motion-on .menu:not([hidden]) nav a:nth-child(4){animation-delay:180ms}
.motion-on dialog[open]{animation:dialog-in .24s ease both}
@keyframes headline{from{transform:translateY(155%)}to{transform:translateY(0)}}
@keyframes enter{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes architecture-in{from{opacity:0;transform:translate3d(95px,75px,0) scale(1.12);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes chart-in{from{opacity:0;transform:translateY(50px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chart-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes scroll-hint{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(8px);opacity:1}}
@keyframes dialog-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero{padding-top:210px}.building-layer{width:70%;bottom:-9%}.hero-chart{left:57%;top:29%}}@media(max-width:1200px){.header{gap:24px;height:95px}.header nav{gap:20px}.header-cta{font-family:Manrope,Arial,sans-serif;font-weight:600;gap:20px}.hero{padding-top:150px;min-height:0}.hero-chart{left:59%;top:28%;width:190px;padding:20px}.hero-principles{max-width:440px}.hero-principles div{padding:0 14px}.hero-actions{gap:16px}.hero .button{padding:18px}.hero-description{max-width:390px;font-size:16px}.asset-photo{height:280px}.asset-meta{flex-direction:column;gap:5px}.section{padding-top:80px;padding-bottom:80px}.context-strip{height:260px}}@media(max-width:960px){.header nav{display:none}.brand{width:230px}.hero{height:100svh;min-height:0;padding-top:120px}.hero-copy{width:75%}h1{font-size:clamp(65px,9vw,94px)}.hero-description{max-width:450px}.hero-principles{margin-top:36px}.hero-backdrop{width:70%;top:400px;clip-path:polygon(40% 0,100% 0,100% 100%,0 100%)}.building-layer{width:92%;right:-12%;bottom:10px}.hero-chart{left:auto;right:var(--pad);top:160px;width:180px}.hero-chart .chart-value{font-size:48px}.hero-principles{display:none}.hero-caption{bottom:55px}.intro-layout,.reading-layout{gap:7%}.method-layout{gap:6%}.context-strip{height:210px}.asset-grid{gap:18px}.asset-photo{height:245px}.asset-bottom{flex-direction:column}.method summary{font-size:18px;gap:15px}.method details p{padding-left:30px;padding-right:10px}.contact-layout{gap:10%}.analysis-chart{padding:26px}.section-heading{gap:35px}.section-heading>p{max-width:270px}.section-label{margin-bottom:50px}.insight-list button{grid-template-columns:1fr 2fr auto}}
@media(max-width:640px){:root{--pad:24px}.header{height:72px;gap:14px}.brand{width:208px}.header-cta{font-family:Manrope,Arial,sans-serif;font-weight:600;display:none}.hero{min-height:0;height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);row-gap:14px;padding-top:90px;padding-bottom:38px}.hero-copy{width:100%}.hero-copy .eyebrow{font-size:8px;margin-bottom:14px}.hero h1{font-size:clamp(40px,11.8vw,58px)}.hero-description{font-size:14px;line-height:1.5;max-width:360px;margin-top:14px}.hero-actions{gap:16px;margin-top:18px}.hero .button{font-size:11px;min-height:44px;padding:13px 16px;gap:16px}.hero .text-link{font-size:9px;gap:12px}.hero-backdrop{top:52%;width:95%;clip-path:polygon(35% 0,100% 0,100% 100%,0 100%)}.building-layer{width:min(150%,72svh);right:-35%;bottom:18px}.hero-chart{position:relative;grid-row:2;align-self:end;justify-self:start;top:auto;bottom:auto;left:auto;right:auto;width:145px;padding:14px;box-shadow:0 10px 35px #10211d25}.chart-top .eyebrow{font-size:8px}.hero-chart .chart-value{font-size:34px;margin-top:8px}.chart-arrow{font-size:23px}.hero-chart .micro{font-size:8px}.hero-bars{height:34px;margin-top:10px;gap:7px}.chart-note{font-size:8px;margin-top:12px}.chart-link{font-size:8px;margin-top:12px}.hero-caption{right:var(--pad);bottom:12px;font-size:5px;padding:5px;max-width:48%;text-align:right}.scroll-cue{bottom:12px;font-size:7px;gap:8px}.section{padding:60px var(--pad)}.section-label{margin-bottom:40px;padding-bottom:19px;align-items:flex-start}.section-label>.micro{max-width:105px;text-align:right;font-size:7px}.section-label .eyebrow{font-size:9px;max-width:180px}h2{font-size:clamp(43px,11.6vw,65px)}.intro-layout,.reading-layout,.method-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.intro-text .lead{font-size:22px;max-width:320px;margin-bottom:18px}.intro-text>p:not(.lead){font-size:14px}.context-strip{grid-template-columns:1fr 1fr;height:auto;gap:8px;margin-top:40px}.context-shot{height:200px}.context-shot span{font-size:7px;left:10px;bottom:10px;padding:5px}.image-note{font-size:7px}.section-heading{display:block}.section-heading>p{max-width:330px;margin-top:25px;font-size:14px}.filters{gap:23px;margin-top:34px;font-size:10px}.asset-grid{grid-template-columns:1fr;gap:38px}.asset-photo{height:340px}.asset-meta{flex-direction:row;font-size:8px}.asset-card h3{font-size:29px}.asset-bottom{flex-direction:row;font-size:8px;margin-top:18px}.method-heading>p{font-size:14px}.method summary{font-size:19px;gap:20px}.method details p{padding-left:37px}.analysis-chart{padding:24px 18px}.analysis-top .eyebrow{font-size:9px}.analysis-top p{font-size:10px}.chart-detail .micro{font-size:7px}.graph-controls button{font-size:10px}.graph-controls button small{font-size:7px}.chart-source{font-size:7px}.reading-layout>div:first-child>p{margin-top:23px}.insight-list{margin-top:35px}.insight-list button{grid-template-columns:1fr auto;gap:13px;padding:25px 0}.insight-list .micro{grid-column:1 / -1;font-size:8px}.insight-list h3{font-size:27px}.round-arrow{width:44px;height:44px;font-size:21px}.contact-layout>div>p{margin-top:24px;font-size:14px}.contact-layout{gap:35px}.menu{padding-top:135px}.menu nav a{font-size:31px;gap:20px}footer{padding-top:42px;padding-bottom:70px}.footer-row{margin-top:25px;gap:15px}.footer-row .micro{font-size:7px}.footer-note{font-size:7px;gap:15px}dialog{padding:45px 25px}dialog h2{font-size:38px}}
@media(max-width:640px){.motion-on.hero-playing .building-layer>img{animation-name:architecture-mobile-in}@keyframes architecture-mobile-in{from{opacity:0;transform:translate3d(38px,45px,0) scale(1.08)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-explicit) *,body:not(.motion-explicit) *:before,body:not(.motion-explicit) *:after{animation:none!important;transition:none!important}body:not(.motion-explicit) .reveal{opacity:1!important;transform:none!important}body:not(.motion-explicit) .title-mask>span{transform:none!important}body:not(.motion-explicit) .building-layer{transform:none!important}}
/* Preserve photographic proportions in the commercial atlas. */
.context-shot{background-size:400% auto;background-position-y:center}
.asset-photo,dialog .modal-image{background-size:400% auto;background-position-y:center}
.home-catalog-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:34px}.home-catalog-footer .demo-note{margin:0}.home-catalog-footer .button{white-space:nowrap}.opportunities>.asset-grid{margin-top:50px}@media(max-width:640px){.home-catalog-footer{flex-direction:column;align-items:flex-start;gap:22px;margin-top:30px}.home-catalog-footer .button{width:100%;justify-content:space-between}.opportunities>.asset-grid{margin-top:35px}}
/* Clear public metrics / V07 */
.hero-chart .chart-value{gap:4px}.chart-unit{font:24px 'IBM Plex Mono';letter-spacing:-.05em}.hero-chart .chart-axis{font-size:7px;gap:8px}.hero-chart .chart-note{font-size:9px;line-height:1.6}.hero-chart .chart-value{font-size:clamp(40px,4vw,60px)}.income-graph{padding:30px 0 0}.income-grid line{stroke:#d9ddd6;stroke-width:1}.income-grid text{font:10px 'IBM Plex Mono';fill:#748277}.income-bar rect{fill:#9cad9f;transition:fill .25s}.income-bar[data-active="true"] rect{fill:var(--green)}.income-bar text{font:12px 'IBM Plex Mono';fill:var(--deep)}.income-investment{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d5dbd2;padding-top:18px;margin-top:20px}.income-investment .micro{font-size:8px;color:#526355;max-width:155px}.income-investment strong{font:18px 'IBM Plex Mono';letter-spacing:-.045em;color:var(--deep)}.income-note{font-size:10px;color:#58615a;line-height:1.7;margin-top:14px}.analysis-chart>.text-link{font-size:10px;margin-top:20px}.analysis-chart .chart-detail{gap:20px}.analysis-chart .chart-detail>div:last-child{text-align:right}.analysis-chart .chart-detail p{white-space:nowrap}.graph-controls button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.motion-on .income-bar rect{transform-origin:center 220px;transform-box:view-box;transition:transform .65s cubic-bezier(.16,1,.3,1),fill .25s}.motion-on .analysis-chart:not(.visible) .income-bar rect{transform:scaleY(0)}.motion-on .income-bar:nth-of-type(3) rect{transition-delay:80ms}.motion-on .income-bar:nth-of-type(4) rect{transition-delay:160ms}}
@media(max-width:960px){.hero-chart .chart-value{font-size:44px}.chart-unit{font-size:20px}}@media(max-width:640px){.hero-chart .chart-value{font-size:34px}.chart-unit{font-size:18px}.hero-chart .chart-note{font-size:8px}.hero-chart .chart-axis{font-size:6px}.income-investment strong{font-size:17px}.analysis-chart .chart-detail{gap:12px}.analysis-chart .chart-detail p{font-size:19px}.income-bar text{font-size:13px}}

/* V06 identity: selection has a visible mark in addition to color. */
.selection-check{display:inline-block;width:1em;margin-right:6px;font-family:Manrope,Arial,sans-serif;font-weight:700;visibility:hidden}[aria-pressed="true"]>.selection-check{visibility:visible}.graph-controls .selection-check{font-size:10px}.catalog-categories .selection-check,.catalog-view .selection-check{font-size:11px}
.home-project-photo{background:none!important;overflow:hidden}.home-project-photo img{width:100%;height:100%;object-fit:cover;display:block}.home-project-photo .tag{z-index:1}
/* Responsive discovery links; text and controls stay within narrow screens. */
.seo-category-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.seo-category-links a{border-top:1px solid #c8ccc6;border-bottom:1px solid #c8ccc6;padding:17px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;font-weight:600;line-height:1.6;color:var(--green);min-width:0}.seo-category-links span{font-size:21px;flex-shrink:0}.hero-copy,.section-heading>*,.intro-layout>*,.reading-layout>*,.method-layout>*,.contact-layout>*{min-width:0}.header .brand,.catalog-header .brand,.detail-header .brand{min-width:0;flex-shrink:1}.brand img{width:100%;height:auto}input,select,textarea{max-width:100%}
@media(max-width:640px){.seo-category-links{grid-template-columns:1fr;gap:0;margin:24px 0}.seo-category-links a+a{border-top:0}.seo-category-links a{font-size:13px}.motion-on:not(.hero-playing) .hero-copy .line>span{transform:none}.motion-on:not(.hero-playing) .hero-copy .hero-enter{opacity:1}.motion-on.hero-playing .hero-copy .line>span,.motion-on.hero-playing .hero-copy .hero-enter{animation:none}.hero-principles{min-width:0}}
@media(max-width:380px){:root{--pad:18px}.header .brand,.catalog-header .brand,.detail-header .brand{width:170px}.catalog-header .header-cta{font-size:10px}.detail-header{gap:12px}.back-link{max-width:85px}.demo-ribbon,.detail-nav{padding-left:18px;padding-right:18px}.detail-kpis strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.seo-category-links a{transition:none}}

/* Keep independent selection copy readable across screen sizes. */
.intro-text>p:not(.lead)+p{margin-top:18px}

/* Vector navigation icons use the brand colour on every platform. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;color:inherit;pointer-events:none}
@media(min-width:961px) and (max-height:800px){
 .header{height:80px}.hero{padding-top:112px;padding-bottom:64px}.hero h1{font-size:clamp(54px,6.2vw,80px)}
 .hero-copy .eyebrow{margin-bottom:18px}.hero-description{font-size:15px;margin-top:18px}.hero-actions{margin-top:22px}
 .hero-principles{margin-top:26px}.hero-chart{top:20%;padding:18px;width:180px}.hero-caption,.scroll-cue{bottom:24px}
}
@media(min-width:641px) and (max-width:960px){
 .hero-copy{width:70%}.hero h1{font-size:clamp(52px,7vw,68px)}.hero-description{font-size:15px;max-width:380px}
 .hero-copy .eyebrow{margin-bottom:18px}.hero-actions{margin-top:22px}.hero-chart{top:auto;bottom:54px;right:var(--pad);width:170px;padding:16px}
 .hero-backdrop{top:40%}.building-layer{width:min(105%,78svh);bottom:20px;right:-16%}
}
@media(max-width:640px){
 .hero-chart .chart-top .eyebrow{font-size:7px;line-height:1.5}.hero-chart .micro{font-size:7px}
 .hero-chart .chart-note{font-size:7px;line-height:1.5;margin-top:8px}.hero-chart .chart-link{margin-top:8px;padding-top:8px;font-size:7px}
 .hero-chart .chart-axis{font-size:6px;margin-top:6px}.hero-chart .chart-unit{font-size:16px}
}
@media(max-width:640px) and (max-height:700px){
 .hero{padding-top:78px;padding-bottom:32px;row-gap:10px}.header{height:62px}.hero-copy .eyebrow{margin-bottom:10px}
 .hero h1{font-size:clamp(37px,11vw,48px)}.hero-description{font-size:13px;line-height:1.45;margin-top:10px}
 .hero-actions{margin-top:12px}.hero-chart{padding:12px;width:137px}.hero-chart .chart-value{font-size:30px;margin-top:6px}
 .hero-bars{height:28px;margin-top:8px}.hero-chart .chart-note{margin-top:6px}.hero-chart .chart-link{margin-top:6px;padding-top:6px}
}
@media(max-width:960px) and (max-height:540px){
 .header{height:56px}.header .brand{width:170px}.hero{height:100svh;min-height:0;padding-top:70px;padding-bottom:32px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:1fr;gap:16px}
 .hero-copy{width:100%;align-self:start}.hero-copy .eyebrow{font-size:7px;margin-bottom:8px}.hero h1{font-size:clamp(28px,5vw,44px)}
 .hero-description{font-size:12px;line-height:1.4;margin-top:10px}.hero-actions{margin-top:12px}.hero .button{font-size:10px;padding:10px 12px;gap:8px}
 .hero-chart{position:relative;grid-column:2;grid-row:1;align-self:end;justify-self:end;top:auto;right:auto;bottom:auto;left:auto;width:min(145px,100%);padding:10px}
 .hero-chart .chart-value{font-size:28px;margin-top:6px}.hero-chart .chart-top .eyebrow{font-size:6px}.hero-chart .micro{font-size:6px}
 .hero-bars{height:24px;margin-top:6px}.hero-chart .chart-note{font-size:6px;margin-top:6px}.hero-chart .chart-link{font-size:6px;margin-top:6px;padding-top:6px}
 .hero-principles{display:none}.building-layer{width:min(80%,76svh);right:-10%;bottom:18px}.hero-backdrop{top:30%}
}
