@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');



:root{--bg:#090909;--paper:#ededeb;--ink:#f3f3f0;--muted:#a5a5a2;--hair:rgba(255,255,255,.18);--line:rgba(255,255,255,.1);--solid:#1e1e1e;--head:70px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 'Inter',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.lock{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%}::selection{background:#eaeae9;color:#111}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #fff;outline-offset:4px}
.mono{font:400 10px/1.6 'DM Mono',monospace;letter-spacing:.11em;text-transform:uppercase}.label{display:flex;align-items:center;gap:10px;color:#c8c8c4}.label:before{content:'';display:block;width:15px;height:1px;background:currentColor}.dim{color:var(--muted)}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1{font-size:clamp(38px,6.4vw,95px);line-height:.94;letter-spacing:-.075em}h2{font-size:clamp(32px,4.1vw,64px);line-height:1.02;letter-spacing:-.064em}h3{font-size:clamp(19px,2.4vw,30px);line-height:1.15;letter-spacing:-.044em}p{max-width:580px}.caps{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.012em;font-weight:700;text-transform:uppercase;line-height:.88}.wrap{width:min(100% - 88px,1500px);margin:0 auto}.mini{font-size:12px;letter-spacing:.005em}.hairline{border-top:1px solid var(--line)}.spacer{height:100px}
/* ultra-quiet header */
#topbar{position:fixed;left:0;right:0;top:0;height:calc(var(--head) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;z-index:90;padding-left:clamp(24px,3.5vw,54px);padding-right:clamp(24px,3.5vw,54px);border-bottom:1px solid transparent;transition:background .5s,border .5s}#topbar.scrolled,#topbar.nav-open,#topbar.not-home{background:rgba(9,9,9,.94);border-color:var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand{display:flex;align-items:baseline;gap:9px;border:0;background:none;color:var(--ink);padding:9px 0;position:relative;z-index:2}.brand b{font:800 27px/.8 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:.035em}.brand-mark{font:400 9px 'DM Mono',monospace;letter-spacing:.06em;color:#aaa}.top-center{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;color:#d6d6d2;opacity:.8}.top-right{display:flex;align-items:center;gap:20px}.sound-note{white-space:nowrap;color:#858583}.menu-toggle{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #666;padding:11px 14px 11px 17px;background:rgba(8,8,8,.15);color:#fff;min-width:111px;transition:background .25s,color .25s,border-color .25s}.menu-toggle:hover{background:#ededeb;color:#101010;border-color:#ededeb}.menu-icon{width:11px;height:11px;display:flex;flex-flow:column nowrap;justify-content:space-around}.menu-icon i{width:100%;height:1px;background:currentColor;transition:transform .35s,opacity .2s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}#progress{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:transparent;overflow:hidden}#progress i{display:block;height:100%;width:0%;background:#fff;transition:width .12s linear}
/* full editorial navigation; modal visually, semantic dialog */
#navigation{position:fixed;inset:0;z-index:85;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-24px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility .55s;overflow-y:auto;padding:calc(var(--head) + env(safe-area-inset-top) + 42px) clamp(24px,6vw,98px) 35px}#navigation.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:9vw;max-width:1550px;margin:auto;min-height:calc(100dvh - var(--head) - 150px)}.nav-links{display:flex;flex-direction:column;justify-content:center}.nav-link{display:grid;grid-template-columns:35px 1fr auto;align-items:baseline;gap:12px;width:100%;border:0;border-bottom:1px solid #363636;background:transparent;color:#a1a1a1;padding:15px 1px 17px;text-align:left;transition:padding .3s,color .3s}.nav-link:first-of-type{border-top:1px solid #363636}.nav-link span.big{font:600 clamp(33px,4.5vw,72px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.01em;text-transform:uppercase}.nav-link .arrow{font-size:20px;font-weight:300}.nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current=page]{color:white;padding-left:12px}.nav-aside{display:flex;flex-flow:column;justify-content:space-between;gap:40px;padding:16px 0 10px}.nav-aside .nav-preview{border-top:1px solid #484848;padding-top:22px}.nav-aside .nav-preview h3{margin:20px 0;font-weight:400;font-size:clamp(23px,2.5vw,37px);line-height:1.13;min-height:120px;transition:opacity .2s}.nav-counter{font:400 12px 'DM Mono',monospace;color:#888}.nav-foot{display:flex;justify-content:space-between;gap:15px;align-items:flex-end;border-top:1px solid #484848;padding-top:24px}
/* route transitions */
#curtain{position:fixed;inset:0;background:#ededeb;color:#111;z-index:110;display:flex;align-items:center;justify-content:center;pointer-events:none;transform:translateY(101%);will-change:transform}#curtain span{font:700 clamp(42px,9vw,110px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:.025em}#curtain.enter{animation:curtain-in .55s cubic-bezier(.8,0,.2,1) forwards}#curtain.leave{animation:curtain-out .62s cubic-bezier(.8,0,.2,1) forwards}@keyframes curtain-in{from{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes curtain-out{from{transform:translateY(0)}to{transform:translateY(-101%)}}
.route{display:none;min-height:100dvh}.route.active{display:block}.page-intro{padding:calc(var(--head) + 120px) 0 115px}.page-intro .eyelash{margin-bottom:35px}.page-intro .heading-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:90px;align-items:end}.page-intro p{font-size:clamp(14px,1.25vw,17px);line-height:1.7;color:#c3c3bd;margin-bottom:7px}.page-intro h1{max-width:1100px}.page-intro .idx{font:400 10px 'DM Mono',monospace;letter-spacing:.1em;color:#888}
/* main photography and hero */
.hero{height:100svh;min-height:610px;position:relative;background:#090909;overflow:hidden}.hero>img{position:absolute;width:100%;height:110%;top:-5%;object-fit:cover;object-position:center 51%;filter:brightness(.72);transform:scale(1.02);will-change:transform}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 40%,rgba(0,0,0,.83));pointer-events:none}.hero-content{position:absolute;z-index:2;bottom:clamp(64px,12vh,145px);left:clamp(25px,6vw,100px);right:clamp(25px,6vw,100px)}.hero-content h1{font:600 clamp(72px,11vw,165px)/.73 'Barlow Condensed',Impact,'Arial Narrow',sans-serif;letter-spacing:-.012em;margin:28px 0 32px;max-width:none}.hero-copy{display:flex;align-items:end;justify-content:space-between;gap:35px}.hero-copy p{color:#dededb;font-size:14px;max-width:410px;line-height:1.55}.hero-scroll{position:absolute;right:clamp(24px,5vw,90px);bottom:25px;z-index:3;display:flex;align-items:center;gap:16px;color:#ddd}.hero-scroll i{height:1px;width:65px;background:#aaa;display:block}.hero-index{position:absolute;left:clamp(25px,6vw,100px);top:calc(var(--head) + 40px);z-index:2;color:#e0e0dc}
/* shared actions */
.action{display:inline-flex;gap:36px;align-items:center;justify-content:space-between;border:1px solid #696969;background:transparent;color:#fff;min-height:49px;padding:0 15px 0 18px;white-space:nowrap;transition:color .25s,background .25s,border-color .25s,transform .25s var(--ease);font:400 10px 'DM Mono',monospace;letter-spacing:.09em;text-transform:uppercase}.action:hover,.action:focus-visible{background:#eee;color:#101010;border-color:#eee}.action:active{transform:scale(.97)}.action .glyph{font:400 19px Inter,sans-serif;line-height:1}.action.light{color:#0b0b0b;border-color:#777}.action.light:hover{background:#171717;color:white}.action.plain{border:0;border-bottom:1px solid #888;padding:0 3px;min-height:40px}.action.plain:hover{background:transparent;color:#ddd}.arrow-link{display:inline-flex;gap:25px;align-items:center;color:#fff;border-bottom:1px solid #555;padding:13px 0;font:400 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;transition:gap .25s,border-color .25s}.arrow-link:hover{gap:39px;border-color:white}
/* sections / stagger */
.section{padding:130px 0}.section-small{padding:90px 0}.section-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--hair);padding-top:21px;margin-bottom:68px;gap:30px}.section-topline .counter{color:#868683}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature{border:1px solid var(--hair);min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:23px;position:relative;overflow:hidden;isolation:isolate;background:#101010;transition:border .3s,transform .5s var(--ease)}.feature:before{content:'';background:radial-gradient(250px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.105),transparent 85%);inset:0;position:absolute;pointer-events:none;z-index:-1}.feature:hover{border-color:#818181;transform:translateY(-5px)}.feature .big-num{font:400 clamp(45px,7vw,115px)/.8 'Barlow Condensed',Impact,sans-serif;color:#353535;letter-spacing:-.03em}.feature h3{margin:0 0 15px}.feature p{font-size:13px;color:#999;line-height:1.6;max-width:290px}.feature .feature-bottom{display:flex;justify-content:space-between;align-items:end}.feature .feature-arrow{border:1px solid #777;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:18px;transition:background .3s,color .3s,transform .3s}.feature:hover .feature-arrow{background:white;color:black;transform:rotate(-45deg)}.feature.clickable{text-align:left;color:inherit;cursor:pointer;font:inherit}
.full-photo{position:relative;height:min(77vw,820px);min-height:450px;overflow:hidden;background:#202020}.full-photo img{height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}.full-photo:hover img{transform:scale(1.025)}.full-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.8))}.photo-caption{position:absolute;bottom:32px;left:clamp(24px,4vw,60px);right:clamp(24px,4vw,60px);z-index:2;display:flex;justify-content:space-between;align-items:end;gap:25px}.photo-caption h2{max-width:630px}.photo-caption .mono{max-width:330px;text-align:right;line-height:1.6;color:#ccc}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split-section .body-copy>p{color:#aaa;font-size:14px;margin:28px 0 37px}.tiny-list{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--hair);padding-top:23px}.tiny-list b{display:block;font:500 13px Inter,sans-serif;margin:13px 0 6px}.tiny-list span:last-child{color:#999;font-size:12px;line-height:1.65}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.in{opacity:1;transform:translateY(0)}
/* company */
.company-photo{height:670px;max-height:84vh;overflow:hidden}.company-photo img{height:100%;object-fit:cover;object-position:center 40%}.method{border-top:1px solid var(--hair)}.method-item{border-bottom:1px solid var(--hair)}.method-trigger{width:100%;padding:28px 0;border:0;background:none;color:#fff;display:grid;grid-template-columns:70px 1fr 40px;align-items:center;text-align:left;gap:20px}.method-trigger h3{font-weight:400}.method-trigger .plus{border:1px solid #545454;width:36px;height:36px;display:grid;place-items:center;font-size:18px;transition:transform .25s,background .25s}.method-trigger[aria-expanded=true] .plus{transform:rotate(45deg);background:#fff;color:#111}.method-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .48s var(--ease)}.method-panel .inner{min-height:0;overflow:hidden}.method-panel p{color:#aaa;font-size:14px;margin:0 80px 26px 90px}.method-item.open .method-panel{grid-template-rows:1fr}.company-banner{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.company-banner .vertical-photo{height:600px;max-height:82vh;overflow:hidden}.company-banner .vertical-photo img{height:100%;object-fit:cover}
/* platform: exhibition style panel */
.viewer{border:1px solid #323232;background:#0e0e0e}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 23px;border-bottom:1px solid #303030}.viewer-head .right{display:flex;align-items:center;gap:20px}.viewer-main{height:clamp(410px,58vw,780px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#171717 0%,#080808 60%)}.viewer-main .grid-layer{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 15%,transparent 75%);pointer-events:none}.viewer-main img{position:absolute;width:min(74%,810px);height:auto;object-fit:contain;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 18px #ffffff17);transition:transform .85s var(--ease),filter .85s var(--ease)}.viewer-main.inspect img{transform:translate(-50%,-50%) scale(1.24);filter:drop-shadow(0 0 35px #ffffff33)}.viewer-main .reticle{position:absolute;inset:18px;pointer-events:none;border:1px solid #ffffff18}.viewer-main .reticle:before,.viewer-main .reticle:after{content:'+';position:absolute;color:#fff9;font:400 18px 'DM Mono',monospace}.viewer-main .reticle:before{top:-13px;left:-7px}.viewer-main .reticle:after{bottom:-13px;right:-6px}.viewer-hud{position:absolute;top:28px;left:30px;z-index:4;pointer-events:none}.viewer-bottom{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;gap:20px;z-index:4;pointer-events:none}.viewer-bottom>*{pointer-events:auto}.viewer-bottom .small-text{max-width:230px;color:#9c9c9a;font-size:11px;line-height:1.5}.hotspot{position:absolute;z-index:5;border:1px solid #dadada;background:#111c;color:white;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font:400 19px 'DM Mono',monospace;backdrop-filter:blur(12px);transition:transform .3s,background .3s,color .3s;box-shadow:0 0 0 6px #ffffff11}.hotspot:hover,.hotspot.active{background:#fff;color:#111;transform:scale(1.17)}.hotspot:after{content:'';position:absolute;inset:-20px}.hotspot.one{top:35%;left:38%}.hotspot.two{top:59%;left:58%}.hotspot.three{top:34%;left:71%}.hotspot-detail{position:absolute;right:28px;top:68px;width:285px;padding:22px;background:#eeeeea;color:#111;z-index:7;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .32s,visibility .32s,transform .32s}.hotspot-detail.open{opacity:1;visibility:visible;transform:translateY(0)}.hotspot-detail h3{font-size:22px;margin:17px 0 15px}.hotspot-detail p{font-size:12px;color:#565656}.hotspot-detail button{position:absolute;top:10px;right:12px;background:transparent;border:0;color:#111;font-size:19px}.viewer-control{background:none;color:#bbb;border:1px solid #5a5a5a;padding:10px 16px;font:400 10px 'DM Mono',monospace;letter-spacing:.08em;transition:background .25s,color .25s}.viewer-control:hover,.viewer-control[aria-pressed=true]{color:#111;background:#eee}.tabs{display:flex;border-top:1px solid #333;overflow:auto}.tab{flex:1;min-width:100px;border:0;border-right:1px solid #333;padding:19px 18px;text-align:left;background:#0d0d0d;color:#999;transition:color .25s,background .25s}.tab:hover,.tab[aria-selected=true]{color:white;background:#232323}.tab .mono{color:inherit}.tab span:last-child{display:block;margin-top:9px;font-size:13px}.tabcopy{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:28px;min-height:150px}.tabcopy p{color:#aaa;font-size:14px}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.specs .spec{border-top:1px solid var(--hair);padding:18px 5px}.specs .spec b{display:block;font-weight:500;margin:15px 0 12px;font-size:16px;letter-spacing:-.03em}.specs .spec p{font-size:12px;color:#999;line-height:1.65}.solar-card{height:clamp(310px,42vw,610px);overflow:hidden;position:relative}.solar-card img{height:100%;object-fit:cover;filter:brightness(.8)}.solar-card .over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:linear-gradient(to bottom,#0005,transparent 45%,#0009)}
/* Location map with actual pan + zoom */
.map-frame{border:1px solid #3a3a3a;background:#dadada}.map-toolbar{background:#161616;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;flex-wrap:wrap}.map-tools{display:flex;gap:5px}.map-tools button{width:40px;height:37px;color:#fff;background:#252525;border:1px solid #555;font:400 18px 'DM Mono',monospace}.map-tools button:hover{background:#fff;color:#111}.map-viewport{position:relative;height:clamp(410px,63vw,760px);overflow:hidden;background:#bcbcbc;cursor:grab;touch-action:none;user-select:none}.map-viewport.grabbing{cursor:grabbing}.map-viewport img{width:100%;height:100%;object-fit:cover;transform-origin:center;pointer-events:none;user-select:none;filter:contrast(1.07)}.map-viewport .map-cross{position:absolute;top:50%;left:50%;width:31px;height:31px;margin:-16px;pointer-events:none;border:1px solid #0006;border-radius:50%}.map-viewport .map-cross:before,.map-viewport .map-cross:after{content:'';position:absolute;background:#0009}.map-viewport .map-cross:before{height:40px;width:1px;left:14px;top:-5px}.map-viewport .map-cross:after{width:40px;height:1px;top:14px;left:-5px}.map-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#111;padding:14px 20px;color:#aaa}.map-foot strong{color:#fff;font-weight:400}.map-prompt{position:absolute;bottom:18px;left:18px;padding:10px 13px;background:#111e;color:#fff;pointer-events:none;backdrop-filter:blur(6px)}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,150px)}.contact-grid .side{display:flex;flex-direction:column;justify-content:space-between;align-items:start;gap:85px}.form{display:grid;grid-template-columns:1fr 1fr;gap:30px 20px}.form label{display:block;margin-bottom:11px;color:#bdbdb8}.form .wide{grid-column:span 2}.form input,.form select,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #777;border-radius:0;color:#fff;min-height:52px;padding:12px 0;outline:0;transition:border-color .3s}.form input:focus,.form select:focus,.form textarea:focus{border-color:white}.form select{appearance:none;background:#090909 url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"%3E%3Cpath fill="none" stroke="white" d="m5 9 7 7 7-7"/%3E%3C/svg%3E') right center / 13px no-repeat}.form textarea{resize:vertical;min-height:135px}.form .hint{color:#858581}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.form-footer .status{color:#999;max-width:340px}.modal-backdrop{position:fixed;inset:0;z-index:120;background:#000c;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.dialog{background:#eee;color:#111;width:min(100%,630px);padding:clamp(23px,4vw,45px);max-height:90dvh;overflow:auto;box-shadow:0 20px 85px #0009}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:30px}.dialog h3{font-size:clamp(24px,4vw,37px)}.dialog .close{width:40px;height:40px;border:1px solid #aaa;background:none;font-size:20px}.review-grid{display:grid;grid-template-columns:110px 1fr;gap:14px;border-top:1px solid #ccc;padding:15px 0}.review-grid p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:35px;flex-wrap:wrap}
/* Footer / page marker */
footer{background:#111;border-top:1px solid #252525;margin-top:120px}.footer-main{padding:95px 0 50px}.footer-main h2{font:700 clamp(125px,23vw,380px)/.78 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;white-space:nowrap}.footer-grid{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #454545;padding-top:28px;margin-top:58px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font:400 10px 'DM Mono',monospace;letter-spacing:.06em;color:#b0b0b0;text-transform:uppercase}.footer-links a:hover{color:#fff}.footnote{border-top:1px solid #343434;padding:17px 0 25px;display:flex;gap:20px;justify-content:space-between;color:#929292}
/* smaller devices */
@media(max-width:850px){:root{--head:63px}.wrap{width:min(100% - 44px,1500px)}.top-center,.sound-note{display:none}.nav-grid{grid-template-columns:1fr;gap:35px}.nav-aside{gap:30px}.nav-aside .nav-preview{display:none}.nav-foot{margin-top:8px}.page-intro{padding-top:calc(var(--head) + 75px);padding-bottom:80px}.page-intro .heading-grid{grid-template-columns:1fr;gap:25px}.section{padding:85px 0}.section-small{padding:60px 0}.section-topline{margin-bottom:44px}.hero-content h1{font-size:clamp(72px,13vw,130px)}.hero-copy{align-items:start;flex-direction:column}.hero{min-height:620px}.feature-grid{grid-template-columns:1fr}.feature{min-height:245px}.feature .big-num{font-size:70px}.split-section{grid-template-columns:1fr;gap:40px}.company-banner{grid-template-columns:1fr;gap:45px}.company-banner .vertical-photo{height:440px}.contact-grid{grid-template-columns:1fr;gap:60px}.contact-grid .side{gap:20px}.viewer-main{height:530px}.footer-main{padding-top:75px}.footer-main h2{font-size:23vw}.footer-grid{flex-direction:column;align-items:start}}
@media(max-width:540px){:root{--head:61px}.wrap{width:calc(100% - 36px)}#topbar{padding-left:18px;padding-right:18px}.brand b{font-size:24px}.brand-mark{display:none}.menu-toggle{padding:9px 11px;min-width:86px;gap:10px}.nav-link span.big{font-size:clamp(38px,12vw,58px)}#navigation{padding-left:24px;padding-right:24px}.hero{min-height:630px;height:91svh}.hero>img{object-position:58% center}.hero-content{left:23px;right:23px;bottom:85px}.hero-content h1{font-size:clamp(67px,17vw,95px);margin:21px 0 20px}.hero-copy p{font-size:12px}.hero-index{left:23px;top:calc(var(--head) + 30px)}.hero-scroll{left:23px;right:auto;bottom:19px}.page-intro{padding-top:calc(var(--head) + 80px);padding-bottom:68px}h1{font-size:clamp(43px,11.5vw,65px)}h2{font-size:clamp(34px,8.5vw,52px)}.section{padding:76px 0}.section-topline{margin-bottom:35px}.full-photo{height:580px}.photo-caption{flex-direction:column;align-items:start;left:22px;bottom:23px}.photo-caption .mono{text-align:left}.tiny-list{grid-template-columns:1fr;gap:15px}.tiny-list>div{border-bottom:1px solid var(--hair);padding-bottom:13px}.company-photo{height:450px}.company-banner .vertical-photo{height:420px}.method-trigger{grid-template-columns:30px 1fr 35px;gap:13px;padding:24px 0}.method-panel p{margin:0 7px 25px 43px}.viewer-head{padding:13px 15px}.viewer-head .right{gap:12px}.viewer-main{height:445px}.viewer-main img{width:90%}.viewer-main.inspect img{transform:translate(-50%,-50%) scale(1.07)}.viewer-hud{top:15px;left:16px}.viewer-main .reticle{inset:12px}.viewer-bottom{left:16px;bottom:12px;right:16px}.hotspot{height:30px;width:30px}.hotspot-detail{width:calc(100% - 32px);left:16px;top:58px;right:auto;padding:17px}.hotspot-detail h3{font-size:19px}.tabs{scroll-snap-type:x mandatory}.tab{min-width:115px;scroll-snap-align:center;padding:13px 11px}.tabcopy{grid-template-columns:1fr;gap:18px}.specs{grid-template-columns:1fr}.specs .spec{padding:18px 0}.map-toolbar{padding:12px}.map-foot{padding:12px}.map-viewport{height:510px}.form{grid-template-columns:1fr}.form .wide{grid-column:span 1}.footnote{flex-direction:column}.footer-main h2{font-size:25vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero>img{transform:none!important}}



/* V18 — touch-first refinements. Desktop design stays unchanged. */
.mobile-system-rail{display:none}
.map-touch-toggle{display:none}
@media (hover:none) and (pointer:coarse){
  .feature:hover{transform:none}
  .full-photo:hover img{transform:none}
  .nav-link:hover{padding-left:1px}
  .hotspot:hover{transform:none}
  button,.action,.nav-link,.arrow-link{touch-action:manipulation}
}
@media(max-width:850px){
  #navigation{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .nav-grid{min-height:calc(100dvh - var(--head) - 140px)}
  #curtain.enter{animation-duration:.32s}
  #curtain.leave{animation-duration:.41s}
  .page-intro{padding-top:calc(var(--head) + 66px);padding-bottom:62px}
  .section{padding-top:77px;padding-bottom:77px}
  .section-small{padding-top:56px;padding-bottom:60px}
  .feature-grid{gap:8px}
  .feature{min-height:220px}
  .footer-main{padding-top:60px;padding-bottom:38px}
  footer{margin-top:75px}
}
@media(max-width:600px){
  :root{--head:60px}
  html{-webkit-text-size-adjust:100%}
  body{font-size:14px;line-height:1.58}
  .wrap{width:calc(100% - 40px)}
  #topbar{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));background:linear-gradient(to bottom,rgba(0,0,0,.36),transparent)}
  #topbar.scrolled,#topbar.nav-open,#topbar.not-home{background:rgba(9,9,9,.97)}
  .brand b{font-size:22px;line-height:1}
  .menu-toggle{min-width:91px;min-height:43px;gap:15px;padding:8px 12px}
  .menu-toggle .mono{font-size:10px}
  .nav-grid{display:flex;flex-direction:column;gap:0;justify-content:space-between;min-height:calc(100dvh - 160px)}
  #navigation{padding:calc(var(--head) + env(safe-area-inset-top) + 45px) 22px max(25px,env(safe-area-inset-bottom));}
  .nav-links{flex:none}
  .nav-link{grid-template-columns:28px 1fr 22px;gap:11px;align-items:center;padding:12px 2px 13px;min-height:66px}
  .nav-link span.big{font-size:clamp(36px,10.1vw,47px);line-height:1}
  .nav-link .arrow{font-size:17px}
  .nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current=page]{padding-left:2px}
  .nav-aside{margin-top:34px;padding-bottom:4px;gap:10px}
  .nav-foot{padding-top:17px}
  .nav-foot .mono{font-size:9px;line-height:1.5}
  .hero{height:100svh;min-height: min(630px,100svh)}
  .hero>img{object-position:55% center}
  .hero-index{left:20px;top:calc(var(--head) + env(safe-area-inset-top) + 33px);font-size:9px}
  .hero-index span{padding-left:15px!important}
  .hero-content{left:20px;right:20px;bottom:clamp(85px,11svh,120px)}
  .hero-content h1{font-size:clamp(60px,16.2vw,86px);line-height:.78;margin:24px 0 23px;letter-spacing:-.02em}
  .hero-copy{gap:21px}
  .hero-copy p{font-size:13px;line-height:1.55;max-width:340px}
  .hero-scroll{left:20px;bottom:max(22px,env(safe-area-inset-bottom));gap:13px;font-size:9px}
  .hero-scroll i{width:34px}
  .action{min-height:47px;gap:18px;padding:0 15px;font-size:10px;white-space:normal;text-align:left}
  .page-intro{padding-top:calc(var(--head) + 72px);padding-bottom:52px}
  .page-intro .eyelash{margin-bottom:24px}
  .page-intro .heading-grid{gap:23px}
  .page-intro h1{font-size:clamp(36px,10vw,51px);line-height:1.05;letter-spacing:-.063em;overflow-wrap:normal}
  .page-intro p{font-size:13px;line-height:1.68;max-width:460px}
  h2{font-size:clamp(31px,8.1vw,41px);line-height:1.06;letter-spacing:-.055em}
  h3{font-size:21px;line-height:1.22;letter-spacing:-.035em}
  .section{padding-top:66px;padding-bottom:66px}
  .section-small{padding-top:42px;padding-bottom:64px}
  .section-topline{margin-bottom:33px;padding-top:15px;gap:10px;flex-wrap:wrap}
  .section-topline .mono,.section-topline .counter{font-size:9px}
  .split-section{gap:24px}
  .body-copy p,.split-section p{font-size:14px;line-height:1.7}
  .feature-grid{gap:9px}
  .feature{min-height:200px;padding:19px}
  .feature .big-num{font-size:61px}
  .feature h3{font-size:22px;margin-bottom:9px}
  .feature p{font-size:12px;max-width:260px;line-height:1.5}
  .full-photo{height:min(67svh,490px);min-height:350px}
  .full-photo img{object-position:center center}
  .photo-caption{left:20px;right:20px;bottom:22px;gap:15px}
  .photo-caption .mono{font-size:9px}
  .tiny-list{gap:10px}
  .company-photo{height:390px}
  .company-banner{gap:30px}
  .company-banner .vertical-photo{height:360px}
  .method-trigger{grid-template-columns:28px minmax(0,1fr) 36px;gap:10px;padding:21px 0;min-height:76px}
  .method-trigger h3{font-size:19px;overflow-wrap:break-word}
  .method-trigger .plus{width:35px;height:35px}
  .method-panel p{font-size:13px;margin:0 3px 20px 38px;line-height:1.65}
  .viewer-head{padding:12px 13px;gap:8px;min-height:62px}
  .viewer-head>span{max-width:116px;font-size:9px;line-height:1.5}
  .viewer-head .right{gap:9px}
  .viewer-head .right .mono{font-size:9px;max-width:64px;text-align:right}
  .viewer-control{padding:0 10px;min-height:42px;font-size:9px;white-space:nowrap}
  .viewer-main{height:auto;min-height:310px;display:grid;grid-template-rows:310px auto;overflow:hidden}
  .viewer-main img{top:158px;width:98%;max-height:245px;height:auto;object-fit:contain}
  .viewer-main.inspect img{transform:translate(-50%,-50%) scale(1.19)}
  .viewer-main .grid-layer{background-size:34px 34px}
  .viewer-main .reticle{inset:10px 10px auto;height:289px}
  .viewer-hud{top:23px;left:23px;font-size:9px}
  .viewer-bottom{display:none}
  .hotspot{display:none}
  .hotspot-detail,.hotspot-detail.open{position:relative;grid-row:2;top:auto;right:auto;left:auto;width:100%;box-shadow:none;transform:none;transition:none;padding:25px 23px 26px;border-top:1px solid #999}
  .hotspot-detail{display:none;opacity:1;visibility:visible}
  .hotspot-detail.open{display:block}
  .hotspot-detail h3{margin:12px 0 9px;font-size:21px}
  .hotspot-detail p{font-size:13px;line-height:1.65;max-width:320px}
  .hotspot-detail button{min-width:44px;min-height:44px;top:6px;right:6px}
  .mobile-system-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #343434;background:#141414}
  .hotspot-mobile{display:flex;flex-direction:column;align-items:start;justify-content:space-between;min-height:72px;gap:6px;border:0;border-right:1px solid #343434;background:transparent;color:#a8a8a6;text-align:left;padding:10px 12px;font:500 10px/1.2 'Inter',Arial,sans-serif;letter-spacing:.03em;transition:background .2s,color .2s}
  .hotspot-mobile:last-child{border-right:0}
  .hotspot-mobile .mono{font-size:9px;color:#777}
  .hotspot-mobile span:last-child{align-self:end;position:absolute;opacity:0}
  .hotspot-mobile.active,.hotspot-mobile:focus-visible{background:#ececea;color:#090909}
  .hotspot-mobile.active .mono{color:#444}
  .tabs{scroll-snap-type:none;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .tab{min-width:113px;min-height:77px;padding:12px 11px;flex:1}
  .tab span:last-child{font-size:12px;overflow-wrap:anywhere}
  .tabcopy{margin-top:25px;gap:13px;min-height:115px}
  .tabcopy h3{font-size:21px;margin-top:12px!important}
  .tabcopy p{font-size:13px;line-height:1.7}
  .specs{gap:0!important;margin-top:34px!important}
  .specs .spec{padding:17px 0 22px}
  .specs .spec b{margin:7px 0;font-size:17px}
  .solar-card{height:340px}
  .solar-card .over{padding:19px}
  .solar-card .over .mono{font-size:9px}
  .map-toolbar{padding:11px 12px;gap:14px}
  .map-toolbar>div:first-child{font-size:9px}
  .map-tools{gap:5px;align-items:center}
  .map-tools button{min-height:43px;min-width:39px;width:39px;height:43px}
  .map-tools .map-touch-toggle{display:block;min-width:67px;width:auto;padding:0 9px;font-size:9px;white-space:nowrap;letter-spacing:0}
  .map-viewport{height:420px;touch-action:pan-y;overscroll-behavior:contain;cursor:default}
  .map-viewport.touch-enabled{touch-action:none;cursor:grab}
  .map-prompt{bottom:10px;left:10px;right:10px;font-size:9px;padding:8px 10px;text-align:center}
  .map-foot{flex-wrap:wrap;gap:8px;padding:13px 12px}
  .map-foot .mono{font-size:9px}
  .contact-grid{gap:45px}
  .contact-grid .side{gap:19px}
  .contact-grid .side h3{font-size:24px}
  .form{gap:25px}
  .form label{margin-bottom:3px}
  .form input,.form select,.form textarea{font-size:16px;min-height:54px;outline-offset:1px}
  .form textarea{min-height:146px}
  .form-footer{align-items:stretch;flex-direction:column;gap:12px}
  .form-footer .action{justify-content:space-between;width:100%}
  .modal-backdrop{align-items:flex-end;padding:0;padding-top:max(26px,env(safe-area-inset-top))}
  .dialog{width:100%;padding:24px 22px calc(24px + env(safe-area-inset-bottom));max-height:89dvh;overflow-y:auto;border-top:1px solid #fff}
  .dialog-head{margin-bottom:20px}
  .dialog h3{font-size:26px}
  .dialog-actions{margin-top:18px;gap:10px}
  .dialog-actions .action{flex:1;min-width:135px;gap:6px;font-size:9px}
  .review-grid{grid-template-columns:78px 1fr;gap:10px;padding:12px 0}
  .review-grid .mono{font-size:9px}
  .review-grid p{font-size:12px}
  footer{margin-top:60px}
  .footer-main{padding-top:50px;padding-bottom:27px}
  .footer-main h2{font-size:min(23vw,94px);line-height:.83}
  .footer-grid{margin-top:38px;gap:25px}
  .footer-links{column-gap:18px;row-gap:15px}
  .footer-links a{min-height:35px;display:flex;align-items:center}
  .footnote{gap:6px;padding:18px 0 24px}
  .footnote .mono{font-size:9px}
}
@media(max-width:365px){
  .hero-content h1{font-size:58px}
  .hero-index span{display:none}
  .nav-link span.big{font-size:35px}
  .viewer-head .right .mono{display:none}
  .map-toolbar{flex-direction:column;align-items:stretch}
  .map-tools{justify-content:space-between}
  .map-tools .map-touch-toggle{flex:1}
  .tab{min-width:108px}
  .hotspot-mobile{padding:9px 7px;font-size:9px}
  .footer-main h2{font-size:22vw}
}
@media(max-height:620px) and (max-width:600px){
  .hero-content{bottom:70px}
  .hero-content h1{font-size:60px;margin:17px 0}
  .hero-copy{gap:12px}
  .hero-scroll{bottom:12px}
  .nav-link{min-height:53px;padding-top:7px;padding-bottom:8px}
  #navigation{padding-top:calc(var(--head) + env(safe-area-inset-top) + 20px)}
  .nav-link span.big{font-size:33px}
  .nav-aside{margin-top:17px}
}
@media(prefers-reduced-motion:reduce){
  .hotspot-detail,.hotspot-detail.open{transition:none}
}



/* V19: simple, native links and :target routing so even restricted phone previews can navigate. */
html{scroll-behavior:auto}
body{overflow-x:hidden}
.route{display:none!important;animation:pageAppear .36s ease-out both}
#home{display:block!important}
.route:target{display:block!important}
body:has(.route:target) #home:not(:target){display:none!important}
#navigation{transition:opacity .16s ease,transform .19s ease,visibility 0s linear .19s;transform:translateY(-9px)}
#navigation:target{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .16s ease,transform .19s ease,visibility 0s}
body:has(#navigation:target) #topbar{background:rgba(8,8,8,.98);border-bottom-color:#333}
#navigation .nav-close{position:absolute;right:clamp(20px,4vw,55px);top:calc(19px + env(safe-area-inset-top));color:#eee;border:1px solid #666;padding:11px 15px;min-height:44px;display:flex;align-items:center;font-size:10px;letter-spacing:.15em;z-index:20;text-decoration:none;background:#111}
#navigation .nav-close:focus-visible{outline:2px solid white}
#topbar .menu-toggle{text-decoration:none;cursor:pointer}
#menuCloseToggle{display:none}
body:has(#navigation:target) #menuToggle{display:none}
body:has(#navigation:target) #menuCloseToggle{display:flex;background:#ededeb;color:#111;border-color:#ededeb}
body:has(#navigation:target) #menuCloseToggle .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}
body:has(#navigation:target) #menuCloseToggle .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}
#topbar .brand{color:inherit;text-decoration:none;cursor:pointer}
#navigation .nav-link{color:#bbb;text-decoration:none;cursor:pointer}
#navigation .nav-link:focus-visible,#navigation .nav-link:hover{color:white}
#navigation .nav-link[aria-current=page]{color:white}
.route .reveal{opacity:1!important;transform:none!important}
#navigation:target ~ .route{pointer-events:none}
#navigation:target ~ footer{pointer-events:none}
#navigation:target ~ .route:target{pointer-events:none}
@keyframes pageAppear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .hero{min-height: min(550px,100svh)!important}
  #navigation{padding-top:calc(var(--head) + env(safe-area-inset-top) + 25px)}
  #navigation .nav-close{right:20px;top:calc(10px + env(safe-area-inset-top));min-height:42px;padding:8px 12px}
  .nav-links>.label{margin-bottom:9px!important}
  .nav-grid{min-height:calc(100svh - var(--head) - 105px)}
  .nav-link{min-height:60px;padding:10px 2px!important}
  .nav-link span.big{font-size:clamp(32px,9vw,43px)}
  .nav-aside{margin-top:17px!important}
  .hero-content{bottom:clamp(75px,12svh,115px)}
  .page-intro{padding-top:calc(var(--head) + 65px)}
  .form input,.form select,.form textarea{font-size:16px}
  .footer-links a{touch-action:manipulation}
  .viewer-head{flex-wrap:wrap}
}
@media(max-width:350px){
  .brand-mark,.sound-note{display:none!important}
  .nav-link{min-height:52px}
  .nav-link span.big{font-size:31px}
  .nav-foot{display:none!important}
}
@media(prefers-reduced-motion:reduce){.route{animation:none}}



.method-item{display:block}
.method-trigger{display:grid;cursor:pointer;list-style:none}
.method-trigger::-webkit-details-marker{display:none}
.method-item .method-panel{display:none!important;max-height:none!important;opacity:1!important;visibility:visible!important;transform:none!important;overflow:visible!important}
.method-item[open] .method-panel{display:block!important}
.method-item[open] .method-trigger .plus{transform:rotate(45deg)}



/* V21: Aircraft visual is intentionally non-interactive on all screens. */
.viewer-main{cursor:default}
.viewer-main img{pointer-events:none}
.viewer-main .reticle{pointer-events:none}
.viewer-main .reticle::before,.viewer-main .reticle::after{content:none}
.viewer-head .right{white-space:nowrap}
.action{gap:0;justify-content:center;text-align:center}
.arrow-link{gap:0}
.nav-link{padding-right:14px}
.feature-bottom{gap:12px}
#mapReset{min-width:65px;white-space:nowrap;font-size:10px;letter-spacing:.05em}
@media(max-width:600px){
 .viewer-main{display:block;height:clamp(285px,76vw,410px);min-height:0}
 .viewer-main img{position:absolute;left:50%;top:54%;width:94%;height:auto;max-height:76%;object-fit:contain;transform:translate(-50%,-50%)}
 .viewer-main .reticle{inset:11px;height:auto}
 .viewer-hud{left:23px;top:22px}
 .viewer-head{min-height:54px}
 .viewer-head .right .mono{max-width:none}
 .nav-link{padding-right:4px}
 .action{width:100%;justify-content:center}
}



/* An always-visible, half-opacity black-to-clear banner under the sticky masthead. */
#topbar,
#topbar.scrolled,
#topbar.not-home,
#topbar.nav-open,
body:has(#navigation:target) #topbar {
  background: transparent !important;
  border-bottom-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  isolation: isolate;
}
#topbar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: -54px;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(to bottom,
    rgba(0,0,0,.50) 0%,
    rgba(0,0,0,.48) 43%,
    rgba(0,0,0,.23) 72%,
    rgba(0,0,0,0) 100%);
}
/* The airspace chart is now an editorial image, not a mini-app. */
.map-viewport,
.map-viewport.touch-enabled,
.map-viewport.grabbing {
  height: auto !important;
  overflow: visible !important;
  cursor: default !important;
  touch-action: pan-y !important;
  user-select: auto !important;
}
.map-viewport img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  pointer-events: auto !important;
  user-select: auto !important;
  -webkit-user-drag: none;
}
.map-toolbar {padding: 16px clamp(14px,3vw,22px)}
.map-foot {padding: 12px clamp(14px,3vw,22px)}
@media (max-width: 600px) {
  #topbar::before { bottom: -41px; }
  .map-viewport,.map-viewport img {min-height:0 !important;}
}



/* V25 / content-rich editorial pages – no changes to navigation mechanics */
.body-copy p + p { margin-top: 22px; }
.body-copy p { max-width: 610px; }
.section-small .section-topline { margin-bottom: 34px; }
.editorial-chapter, .home-applications { border-top: 1px solid rgba(255,255,255,.16); padding-top: 54px; }
.mission-story { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(30px,7vw,110px);align-items:start;padding:10px 0 38px; }
.mission-heading h2 { font:600 clamp(43px,6.2vw,92px)/.99 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;text-transform:uppercase;margin:15px 0; }
.muted-kicker {color:#999;}
.mission-copy p {color:#c8c8c5;font-size:clamp(14px,1.1vw,16px);line-height:1.9;max-width:620px;margin:0 0 20px;}
.accuracy-note,.mission-copy .accuracy-note {font:400 10px/1.8 'DM Mono',monospace;letter-spacing:.035em;text-transform:none;color:#92928f;}
.principle-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #363636;border-bottom:1px solid #363636}
.principle{padding:26px 26px 34px 0;min-width:0}
.principle:not(:last-child){border-right:1px solid #363636;margin-right:26px}
.principle b{display:block;font-weight:500;font-size:20px;line-height:1.25;margin:24px 0 9px;color:#f4f4f1}
.principle p{font-size:13px;line-height:1.8;color:#b4b4b1;max-width:320px;margin:0}
.home-applications .body-copy .arrow-link{margin-top:25px}
.method-lead{margin-top:35px;max-width:690px;margin-left:auto}
.method .method-item h3{font-size:clamp(18px,2.1vw,27px)}
.platform-explainer{border-bottom:1px solid #252525;margin-bottom:5px}
.payload-section{border-top:1px solid #373737;margin-top:80px;padding-top:50px}
.payload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px}
.payload-card{padding:28px 24px 30px;border:1px solid #3a3a3a;min-height:215px;background:linear-gradient(160deg,#1c1c1c,#101010)}
.payload-card h3{font-size:clamp(20px,2vw,27px);font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:32px 0 12px}
.payload-card p{font-size:13px;color:#b5b5b1;line-height:1.85;margin:0;max-width:340px}
.payload-cta{margin-top:15px;border:1px solid #343434;padding:25px 26px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#151515}
.payload-cta p{max-width:550px;line-height:1.65;color:#d3d3cf;margin:0}
.payload-cta .action{flex-shrink:0}
.solar-note{margin:20px 0 0}
.location-story{border-bottom:1px solid #2b2b2b}
.contact-email{display:block;font-size:clamp(17px,2vw,27px);line-height:1.3;letter-spacing:-.035em;margin:10px 0 22px;overflow-wrap:anywhere}
.contact-info-label{font-size:10px}
.contact-location{display:block;font-size:10px;line-height:1.9}
.contact-after{margin-top:75px;border-top:1px solid #313131;padding-top:52px}
.contact-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.contact-topics>div{border-left:1px solid #444;padding:0 20px}
.contact-topics h3{font-weight:500;font-size:clamp(20px,2.2vw,28px);margin:0 0 14px;line-height:1.2;letter-spacing:-.02em}
.contact-topics p{margin:0;color:#bcbcb9;line-height:1.8;font-size:13px}
#platform #aircraftViewer .viewer-hud{max-width:80%;font-size:10px;white-space:normal;line-height:1.5}
#platform #aircraftViewer img {height:100%;width:100%;object-fit:cover;object-position:center center;left:0;top:0;transform:none;max-height:none;}
#platform .viewer-main{height:clamp(290px,45vw,590px)}
#platform .viewer-main .grid-layer,#platform .viewer-main .reticle{opacity:.12}
@media (max-width:850px){
 .mission-story{grid-template-columns:1fr;gap:8px}
 .mission-heading h2{font-size:clamp(40px,9vw,74px)}
 .method-lead{margin-left:0}
 .payload-grid{gap:8px}
 .payload-card{padding:22px 18px;min-height:210px}
 .contact-topics{gap:18px}
}
@media(max-width:600px){
 .editorial-chapter,.home-applications,.payload-section,.location-story,.contact-after{padding-top:38px}
 .mission-story{padding-bottom:25px}
 .mission-copy p{font-size:14px;line-height:1.78;margin-bottom:15px}
 .principle-row{grid-template-columns:1fr}
 .principle{padding:20px 0 22px;border-bottom:1px solid #333}
 .principle:not(:last-child){border-right:none;margin-right:0}
 .principle:last-child{border-bottom:none}
 .principle b{margin:12px 0 6px;font-size:19px}
 .principle p{font-size:13px}
 .payload-grid,.contact-topics{grid-template-columns:1fr}
 .payload-card{min-height:0;padding:20px}
 .payload-card h3{margin:14px 0 8px;font-size:21px}
 .payload-cta{display:block;padding:19px}
 .payload-cta .action{margin-top:18px;display:flex}
 .contact-topics>div{padding-left:16px}
 .contact-topics{gap:24px}
 #platform .viewer-main{height:clamp(235px,67vw,350px)!important}
 #platform #aircraftViewer img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;position:absolute;left:0!important;top:0!important;transform:none!important}
 #platform #aircraftViewer .viewer-hud{font-size:9px;left:18px;top:16px}
 #home .hero-copy p{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.editorial-chapter,.home-applications{transition:none}}


/* Footer wordmark: subdued, close to the charcoal background */
.footer-main h2{color:#292929;}



/* V27: All photography stays at a fixed scale: no hover zoom, scroll zoom, or inspect zoom. */
.hero>img { transform:none !important; transition:none !important; will-change:auto !important; }
.full-photo img, .full-photo:hover img,
.vertical-photo img, .vertical-photo:hover img,
.solar-card img, .solar-card:hover img {
  transform:none !important; transition:none !important;
}
.viewer-main img, .viewer-main.inspect img {
  transform:none !important; transition:none !important;
}
/* Make the original square 1024px engineer photograph an editorial, smaller-format image.
   It was previously stretched and heavily cropped across a full-width banner. */
.company-photo.full-photo {
  display:grid;
  grid-template-columns:minmax(0, min(43vw, 530px)) minmax(0, 1fr);
  align-items:center;
  justify-content:center;
  gap:clamp(34px,7vw,120px);
  height:auto !important;
  max-height:none !important;
  min-height:0;
  padding:clamp(46px,5vw,90px) clamp(25px,8vw,150px);
  background:#121212;
}
.company-photo.full-photo::after{display:none !important}
.company-photo.full-photo>img {
  display:block;
  width:100%;
  max-width:530px;
  aspect-ratio:1;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center;
  justify-self:end;
}
.company-photo .photo-caption {
  position:relative !important;
  inset:auto !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:25px;
  max-width:620px;
  padding:0;
}
.company-photo .photo-caption h2{font-size:clamp(37px,5vw,76px);line-height:1.02}
.company-photo .photo-caption .mono{text-align:left;max-width:350px;color:#aaa}
/* The new stratospheric horizon photograph fills the exhibition frame without scaling animations. */
#aircraftViewer { height:clamp(320px,45vw,630px); background:#080808; }
#aircraftViewer>img {
  position:absolute;
  inset:0;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:50% 53%;
  filter:brightness(.8) !important;
}
#aircraftViewer .grid-layer,#aircraftViewer .reticle{display:none !important}
#aircraftViewer::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 40%,rgba(0,0,0,.2));
}
#aircraftViewer .viewer-hud{z-index:3;color:#e1e1e1;text-shadow:0 1px 8px #000}
/* Full-bleed solar energy feature, now featuring the new monochrome panel photograph. */
.solar-card>img { object-position:50% 47%; filter:brightness(.78) !important; }
@media(max-width:700px){
  .company-photo.full-photo{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:28px;
    padding:30px 22px 40px;
  }
  .company-photo.full-photo>img{
    justify-self:center;
    width:min(100%,440px);
    max-width:440px;
    height:auto !important;
  }
  .company-photo .photo-caption{width:100%;gap:15px}
  .company-photo .photo-caption h2{font-size:clamp(37px,9vw,53px)}
  .company-photo .photo-caption .mono{font-size:10px;letter-spacing:.055em}
  #aircraftViewer{height:clamp(240px,65vw,380px) !important;min-height:0 !important}
  #aircraftViewer>img{object-position:center 55%}
  #aircraftViewer .viewer-hud{left:17px;top:18px;right:15px;font-size:9px;line-height:1.5}
}



/* V33: original monochrome photography, no dark overlay or blur. */
#home .hero > img { filter: none !important; }
#home .hero::after { background: none !important; }


footer .copyright-line{color:#a2a2a2;font-size:11px;line-height:1.6;letter-spacing:.015em;padding:0 0 30px;text-align:center}@media(max-width:600px){footer .copyright-line{font-size:10px;padding:12px 12px 28px}}


/* V36 — centered, widescreen editorial canvas with true black desktop side rails.
   Below 900px every page remains edge-to-edge as on V35. */
@media (min-width: 901px) {
  :root {
    --cinema-base: min(1360px, calc(100vw - clamp(80px, 12vw, 260px)));
    --cinema-width: calc((100vw + var(--cinema-base)) / 2);
  }
  html, body { background: #000 !important; }
  body { overflow-x: clip; }
  #main, body > footer {
    position: relative;
    width: var(--cinema-width) !important;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #090909;
    border-left: 1px solid #171717;
    border-right: 1px solid #171717;
  }
  #topbar, #navigation {
    left: calc((100vw - var(--cinema-width)) / 2) !important;
    right: calc((100vw - var(--cinema-width)) / 2) !important;
  }
  #topbar { padding-left: clamp(26px, 3.5vw, 48px); padding-right: clamp(26px, 3.5vw, 48px); }
  #navigation { padding-left: clamp(40px, 4vw, 70px); padding-right: clamp(40px, 4vw, 70px); }
  .nav-grid { gap: clamp(35px, 5vw, 82px); }
  .nav-link span.big { font-size: clamp(38px, 4vw, 62px); }
  .wrap { width: calc(100% - clamp(54px, 8vw, 116px)); max-width: 1220px; }
  .hero { height: min(90svh, 840px); min-height: 590px; }
  .hero-content h1 { font-size: clamp(74px, 9vw, 133px); }
  .hero-content { left: clamp(35px, 5vw, 80px); right: clamp(35px, 5vw, 80px); }
  .hero-index { left: clamp(35px, 5vw, 80px); }
  .section { padding-top: clamp(82px, 7vw, 116px); padding-bottom: clamp(82px, 7vw, 116px); }
  .section-small { padding-top: 78px; padding-bottom: 78px; }
  .page-intro { padding-top: calc(var(--head) + 100px); padding-bottom: 92px; }
  .full-photo { height: min(60vw, 690px); min-height: 410px; }
  .viewer-main { height: clamp(430px, 48vw, 680px); }
  .solar-card { height: clamp(350px, 38vw, 570px); }
  .map-viewport { max-height: none; }
  .footer-main { padding-top: 80px; }
  .footer-main h2 { font-size: clamp(124px, 17vw, 315px); }
  body > footer { margin-top: 0 !important; background: #111; }
}



/* All five chapters live in one document; native #anchors drive navigation. */
.route, #home, .route:target, body:has(.route:target) #home:not(:target) {
  display: block !important;
}
#main > section.route {
  min-height: 0 !important;
  animation: none !important;
  scroll-margin-top: var(--head);
}
#main > section.route:not(#home) {
  border-top: 1px solid rgba(255,255,255,.12);
}
html {
  scroll-behavior: smooth !important;
  scroll-padding-top: calc(var(--head) + 1px);
}
/* Page-title spacing is reduced because chapters are now contiguous. */
#main > section.route:not(#home) .page-intro {
  padding-top: clamp(92px, 9vw, 146px) !important;
  padding-bottom: clamp(52px, 6vw, 92px) !important;
}
/* Preserve the full-screen navigation, including its native CSS :target fallback. */
#navigation:target { pointer-events:auto; }
#navigation .nav-link[aria-current="location"] { color: #fff; }
/* Avoid repeated, empty viewport-height regions while scrolling through the chapters. */
@media (max-width: 900px) {
  #main > section.route:not(#home) .page-intro {
    padding-top: clamp(65px, 9vw, 94px) !important;
    padding-bottom: clamp(38px, 7vw, 65px) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
}


.heading-grid.company-title-only{grid-template-columns:1fr}.company-title-only h1{max-width:1100px}


/* Display wordmark: Microgramma D Extended Bold when licensed/installed,
   Michroma geometric extended fallback when not. No commercial font is bundled. */
.brand b, .footer-main h2 {
  font-family: 'Microgramma D Extended Bold', 'Microgramma', 'Michroma',
               'Eurostile Extended', 'Arial Black', 'DejaVu Sans', sans-serif !important;
  font-style: normal;
  font-weight: 800;
  font-stretch: expanded;
}
.brand b { font-size: clamp(17px, 1.42vw, 23px) !important;
  line-height: 1.15 !important; letter-spacing: -.07em !important; white-space:nowrap; }
.footer-main h2 { font-size: clamp(42px, 11.6vw, 180px) !important;
  line-height: 1 !important; letter-spacing: -.07em !important;
  white-space: nowrap; max-width: 100%; }
.contact-minimal-intro { padding-bottom: 32px !important; }
.contact-direct { display: flex; flex-direction: column; align-items: flex-start;
  gap: 13px; margin-top: clamp(18px, 3vw, 38px); }
.contact-direct a { color: #f3f3f3; text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 9px;
  font-size:clamp(16px,2.3vw,25px); letter-spacing:-.025em;
  overflow-wrap:anywhere; }
.contact-direct a:hover, .contact-direct a:focus-visible { border-color: #fff; }
#company .section { padding-bottom:clamp(45px,5vw,85px); }
#contact .contact-after { margin-top: 25px; }
#home .hero-copy { justify-content: flex-start; }
@media (max-width:600px) {
  .brand b { font-size:19px !important; letter-spacing:-.085em !important; }
  .footer-main h2 { font-size: 11vw !important; letter-spacing:-.08em !important; }
  .contact-minimal-intro { padding-top:calc(var(--head) + 75px) !important; padding-bottom:32px !important; }
  #contact .contact-after { margin-top:16px; }
}



/* CONTACT / 04 — final minimalist editorial layout */
#contact { position:relative; background:#090909; }
#contact .contact-final-shell { padding-top:clamp(128px,13vw,205px); padding-bottom:clamp(96px,10vw,155px); }
#contact .contact-final-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #454545; padding-top:18px; color:#a9a9a8; font-size:10px; line-height:1.6; letter-spacing:.07em; }
#contact .contact-final-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; padding:clamp(40px,6vw,76px) 0 clamp(52px,7vw,105px); }
#contact .contact-final-heading h1 { margin:0; font-size:clamp(72px,11vw,155px); line-height:.87; letter-spacing:-.065em; font-weight:500; }
#contact .contact-final-heading p { color:#bbb; font-size:clamp(13px,1.15vw,16px); line-height:1.7; margin:0 0 8px; max-width:215px; }
#contact .contact-details { border-top:1px solid #555; }
#contact .contact-details-row { display:grid; grid-template-columns:minmax(160px,.32fr) minmax(0,1fr); column-gap:clamp(20px,5vw,90px); padding:clamp(35px,4vw,59px) 0; border-bottom:1px solid #363636; }
#contact .contact-detail-index { font-size:10px; letter-spacing:.09em; color:#8d8d8c; padding-top:4px; }
#contact .contact-detail-main { min-width:0; }
#contact .contact-detail-label { display:block; color:#a4a4a2; font-size:10px; letter-spacing:.12em; margin-bottom:24px; }
#contact .contact-feature-email { display:inline-block; max-width:100%; color:#f4f4f2; font-size:clamp(27px,4.9vw,67px); line-height:1.2; letter-spacing:-.055em; text-decoration:none; text-underline-offset:8px; overflow-wrap:anywhere; border-bottom:1px solid transparent; transition:color .24s,border-color .24s; }
#contact .contact-feature-email:hover,#contact .contact-feature-email:focus-visible { color:#fff; border-bottom-color:#b4b4b4; }
#contact .contact-detail-main p { max-width:520px; margin:18px 0 0; color:#a3a3a1; font-size:13px; line-height:1.85; }
#contact address { font-style:normal; display:grid; gap:10px; }
#contact address strong { font-size:clamp(18px,2.5vw,30px); font-weight:500; letter-spacing:-.025em; color:#f0f0ed; line-height:1.3; }
#contact address span { font-size:clamp(11px,1.15vw,14px); color:#b8b8b5; letter-spacing:.04em; line-height:1.6; }
#contact .contact-pathways { margin-top:clamp(70px,9vw,120px); }
#contact .contact-pathways-top { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:10px; color:#afafad; letter-spacing:.07em; margin-bottom:22px; }
#contact .contact-pathways-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #454545; border-bottom:1px solid #454545; }
#contact .contact-path { min-width:0; padding:clamp(26px,3.2vw,44px) clamp(17px,2.7vw,37px) clamp(22px,2.7vw,33px); color:#f4f4f2; text-decoration:none; display:flex; flex-direction:column; align-items:flex-start; min-height:262px; background:transparent; transition:background .28s ease; }
#contact .contact-path:not(:last-child) { border-right:1px solid #363636; }
#contact .contact-path:hover,#contact .contact-path:focus-visible { background:#171717; }
#contact .contact-path-index { color:#8c8c8b; font-size:10px; letter-spacing:.08em; margin-bottom:28px; }
#contact .contact-path-title { font-size:clamp(21px,2.2vw,29px); letter-spacing:-.04em; line-height:1.15; font-weight:500; }
#contact .contact-path-detail { font-size:12px; color:#aaa9a6; line-height:1.7; margin-top:12px; max-width:265px; }
#contact .contact-path-action { margin-top:auto; padding-top:24px; font-size:10px; letter-spacing:.08em; color:#e4e4e2; border-bottom:1px solid #6c6c6b; padding-bottom:7px; }
@media (max-width:850px) {
  #contact .contact-final-heading { align-items:start; flex-direction:column; gap:25px; }
  #contact .contact-final-heading h1 { font-size:clamp(70px,13vw,112px); }
  #contact .contact-final-heading p { max-width:340px; }
  #contact .contact-details-row { grid-template-columns:150px 1fr; }
  #contact .contact-feature-email { font-size:clamp(25px,5vw,43px); }
}
@media (max-width:600px) {
  #contact .contact-final-shell { padding-top:calc(var(--head) + 62px); padding-bottom:90px; }
  #contact .contact-final-topline span:last-child { display:none; }
  #contact .contact-final-heading { padding:40px 0 58px; gap:22px; }
  #contact .contact-final-heading h1 { font-size:clamp(60px,16vw,88px); }
  #contact .contact-final-heading p { font-size:13px; }
  #contact .contact-details-row { grid-template-columns:1fr; gap:20px; padding:30px 0 38px; }
  #contact .contact-detail-label { margin-bottom:15px; }
  #contact .contact-feature-email { font-size:clamp(23px,7.2vw,36px); }
  #contact .contact-detail-main p { margin-top:16px; font-size:12px; }
  #contact address strong { font-size:19px; }
  #contact address span { font-size:11px; }
  #contact .contact-pathways { margin-top:70px; }
  #contact .contact-pathways-grid { display:block; }
  #contact .contact-path { min-height:0; padding:28px 3px 26px; border-right:0!important; }
  #contact .contact-path:not(:last-child) { border-bottom:1px solid #363636; }
  #contact .contact-path-index { margin-bottom:14px; }
  #contact .contact-path-title { font-size:24px; }
  #contact .contact-path-detail { margin-top:8px; }
  #contact .contact-path-action { margin-top:12px; padding-top:10px; }
}
@media(prefers-reduced-motion:reduce) { #contact .contact-path,#contact .contact-feature-email { transition:none; } }



/* V48 · one unified, considered contact composition */
#contact .contact-compact-shell{padding-top:clamp(118px,11vw,180px);padding-bottom:clamp(80px,9vw,138px)}
#contact .contact-compact-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #4b4b4b;padding-top:17px;font-size:10px;letter-spacing:.07em;color:#aeaeab}
#contact .contact-compact-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(36px,5vw,66px) 0 clamp(38px,5vw,68px)}
#contact .contact-compact-heading h1{font-size:clamp(65px,9vw,124px);line-height:.91;letter-spacing:-.06em;font-weight:500;margin:0}
#contact .contact-compact-heading p{font-size:clamp(12px,1.1vw,15px);color:#c3c3c1;margin:0 0 8px;line-height:1.6}
#contact .contact-unified{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(315px,.7fr);border-top:1px solid #555;border-bottom:1px solid #555;min-height:390px}
#contact .contact-unified-main{padding:clamp(35px,4vw,64px) clamp(30px,5.5vw,90px) clamp(34px,4.2vw,60px) 0;display:flex;flex-direction:column;justify-content:space-between;gap:75px;min-width:0}
#contact .contact-unified-label{display:block;color:#a6a6a3;font-size:10px;letter-spacing:.09em;margin-bottom:17px}
#contact .contact-unified-address{display:inline-block;max-width:100%;color:#f7f7f6;font-size:clamp(27px,3.7vw,55px);line-height:1.16;letter-spacing:-.055em;text-decoration:none;overflow-wrap:anywhere;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
#contact .contact-unified-address:hover,#contact .contact-unified-address:focus-visible{color:#fff;border-bottom-color:#bdbdbd}
#contact .contact-unified-email p{color:#a9a9a7;font-size:12px;line-height:1.8;max-width:405px;margin:15px 0 0}
#contact .contact-unified-location address{font-style:normal;display:flex;flex-direction:column;gap:7px}
#contact .contact-unified-location address strong{font-size:clamp(15px,1.6vw,22px);font-weight:500;letter-spacing:-.015em;line-height:1.4}
#contact .contact-unified-location address span{color:#b7b7b4;font-size:11px;line-height:1.7;letter-spacing:.02em}
#contact .contact-unified-options{border-left:1px solid #404040;padding:clamp(35px,4vw,64px) 0 clamp(26px,3vw,42px) clamp(27px,3.5vw,58px);min-width:0}
#contact .contact-unified-options-heading{font-size:10px;color:#a6a6a3;letter-spacing:.09em;margin-bottom:22px}
#contact .contact-unified-choice{display:flex;flex-direction:column;gap:6px;text-decoration:none;border-top:1px solid #363636;padding:19px 4px 19px 0;color:#f5f5f3;transition:padding .24s ease,color .24s ease,background .24s ease}
#contact .contact-unified-choice:last-of-type{border-bottom:1px solid #363636}
#contact .contact-unified-choice:hover,#contact .contact-unified-choice:focus-visible{padding-left:10px;color:#fff;background:#151515}
#contact .contact-unified-choice-title{font-size:clamp(19px,1.8vw,25px);line-height:1.25;letter-spacing:-.03em;font-weight:500}
#contact .contact-unified-choice-detail{font-size:11px;color:#a6a6a3;line-height:1.7}
#contact .contact-unified-options-note{color:#777;font-size:10px;line-height:1.65;margin:22px 0 0;max-width:250px}
@media(max-width:900px){ #contact .contact-unified{grid-template-columns: minmax(0,1fr) minmax(265px,.7fr)}#contact .contact-unified-main{padding-right:25px}}
@media(max-width:700px){
#contact .contact-compact-shell{padding-top:calc(var(--head) + 55px);padding-bottom:88px}
#contact .contact-compact-topline span:last-child{display:none}
#contact .contact-compact-heading{flex-direction:column;align-items:flex-start;gap:16px;padding:33px 0 39px}
#contact .contact-compact-heading h1{font-size:clamp(60px,16vw,82px)}
#contact .contact-unified{display:block;min-height:0}
#contact .contact-unified-main{padding:33px 0 36px;gap:49px}
#contact .contact-unified-address{font-size:clamp(25px,7vw,37px)}
#contact .contact-unified-email p{margin-top:12px}
#contact .contact-unified-options{padding:34px 0 28px;border-left:0;border-top:1px solid #363636}
#contact .contact-unified-options-heading{margin-bottom:15px}
#contact .contact-unified-choice{padding:17px 3px 17px 0}
#contact .contact-unified-choice-title{font-size:22px}
#contact .contact-unified-options-note{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){ #contact .contact-unified-address,#contact .contact-unified-choice{transition:none}}



:root{--fs-sm:clamp(11px,.86vw,13px);--fs-md:clamp(20px,2.1vw,30px);--fs-lg:clamp(58px,8.8vw,136px)}

/* Wordmarks */
#topbar .brand{padding:6px 0;display:flex;align-items:center;min-height:34px}
#topbar .brand-wordmark{display:block;width:min(210px,26vw);height:auto;max-height:28px;object-fit:contain}
.footer-main h2{font-size:unset!important;line-height:1!important;letter-spacing:0!important}
.footer-main .footer-wordmark{display:block;width:min(580px,74vw);height:auto;opacity:.22;filter:grayscale(1) brightness(1.08)}

/* Hero image tuning */
.hero>img{filter:brightness(.84)!important;transform:none!important;top:0!important;height:100%!important;object-position:center center!important}
.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 42%,rgba(0,0,0,.82))!important}

/* Three-size typography system */
html body .mono,
html body .mini,
html body p,
html body .top-center,
html body .sound-note,
html body .brand-mark,
html body .footnote,
html body .footer-links a,
html body .action,
html body .arrow-link,
html body .label,
html body .dim,
html body .contact-unified-address-copy,
html body .contact-unified-choice-copy,
html body .contact-unified-options-note,
html body .hero-copy p,
html body .contact-unified-meta,
html body .nav-foot,
html body .nav-counter,
html body .menu-toggle .mono,
html body .nav-link small,
html body .hero-index,
html body .section-topline,
html body .section-topline .mono,
html body .footer-note,
html body .contact-unified-block .mono{font-size:var(--fs-sm)!important;line-height:1.55!important}

html body h2,
html body h3,
html body .nav-link .big,
html body .contact-unified-heading,
html body .contact-unified-choice-title,
html body .contact-unified-email,
html body .split-copy h3,
html body .page-intro .eyebrow,
html body .feature-copy h3,
html body .company-banner-copy h3,
html body .location-grid h3,
html body .nav-preview h3,
html body .dialog h3,
html body .page-intro h2{font-size:var(--fs-md)!important;line-height:1.08!important;letter-spacing:-.035em!important}

html body h1,
html body .hero-content h1,
html body .page-intro h1,
html body .full-bleed-title,
html body .headline-xl{font-size:var(--fs-lg)!important;line-height:.88!important;letter-spacing:-.045em!important}

/* Cohesion / spacing */
.hero-copy{align-items:flex-end!important}
.nav-link{padding:10px 0!important}
.nav-link .big{font-weight:500!important}
.page-intro{padding-bottom:88px!important}
.section{padding:118px 0!important}
.section-small{padding:86px 0!important}
.contact-unified-layout{gap:52px!important}
.contact-unified-choice{padding:20px 0!important}
.contact-unified-heading{margin-bottom:22px!important}

@media (max-width:850px){
  #topbar .brand-wordmark{width:min(175px,46vw);max-height:24px}
  .footer-main .footer-wordmark{width:min(360px,76vw)}
  .section{padding:92px 0!important}
  .section-small{padding:64px 0!important}
}



/* V51 — unified editorial rhythm: fewer boxes, shorter scroll distances, natural flow */
html {scroll-padding-top:calc(var(--head) + 24px)}
#main {isolation:isolate}
#home .hero {height:min(88svh,830px);min-height:570px}
#home > .wrap {padding-top:8px;padding-bottom:0}
#home > .wrap > .section {padding:clamp(70px,6.2vw,100px) 0 !important}
#home > .wrap > .section-small {padding:clamp(67px,5.5vw,86px) 0 clamp(83px,7vw,112px) !important}
#home .section-topline {margin-bottom:clamp(30px,3.8vw,52px)}
#home .split-section {gap:clamp(35px,6vw,96px)}
#home .body-copy {max-width:620px}
#home .body-copy p + p {margin-top:20px}
#home .home-applications {border-top:1px solid #323232}

/* Company now reads as one connected editorial statement, not two pages. */
#company {border-top:1px solid #242424}
#company .page-intro {padding-top:clamp(72px,6vw,110px)!important;padding-bottom:clamp(40px,4vw,64px)!important}
#company .page-intro .heading-grid {margin-top:clamp(18px,2vw,32px)}
#company .page-intro h1 {max-width:950px}
#company > .wrap > .section {padding:clamp(40px,4vw,62px) 0 clamp(78px,6.5vw,104px)!important;border-top:1px solid #393939}
#company .section-topline {margin-bottom:34px}
#company .split-section {gap:clamp(35px,6vw,96px)}

/* Location photography forms a natural chapter boundary, while prose stays close. */
#location {border-top:1px solid #262626}
#location .page-intro {padding-top:clamp(78px,6.5vw,112px)!important;padding-bottom:clamp(53px,4.5vw,74px)!important}
#location .page-intro .heading-grid {gap:clamp(35px,6vw,90px)}
#location .full-photo {height:clamp(350px,39vw,630px);min-height:0!important}
#location > .wrap > .section-small {padding:clamp(70px,6vw,96px) 0 clamp(85px,6vw,104px)!important}
#location .section-topline {margin-bottom:36px}
#location .split-section {gap:clamp(35px,6vw,96px)}

/* Contact: a single editorial chapter rather than a collection of oversized cards. */
#contact {border-top:1px solid #292929}
#contact .contact-editorial {padding-top:clamp(67px,6vw,105px);padding-bottom:clamp(70px,6vw,94px)}
#contact .contact-editorial-top {display:flex;align-items:center;justify-content:space-between;gap:18px;color:#a3a3a0;margin-bottom:clamp(25px,2.5vw,40px)}
#contact .contact-editorial-heading {display:flex;align-items:end;justify-content:space-between;gap:42px;padding:0 0 clamp(25px,3vw,43px)}
#contact .contact-editorial-heading h2 {font-size:clamp(58px,8vw,118px)!important;line-height:.87!important;letter-spacing:-.055em!important;font-weight:600}
#contact .contact-editorial-heading p {color:#bbb9b5;max-width:350px;margin:0 0 3px}
#contact .contact-editorial-main {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(35px,5.8vw,100px);border-top:1px solid #50504e;padding:clamp(29px,3vw,44px) 0 clamp(33px,3.5vw,51px)}
#contact .contact-editorial-eyebrow {display:block;color:#aaa9a5;margin:0 0 16px;letter-spacing:.11em}
#contact .contact-editorial-email {color:#f2f2f0;text-decoration:none;display:inline-block;font-size:var(--fs-md)!important;line-height:1.17!important;letter-spacing:-.037em!important;font-weight:500;border-bottom:1px solid #7c7b78;padding-bottom:7px;overflow-wrap:anywhere;transition:border-color .2s,color .2s}
#contact .contact-editorial-email:hover,#contact .contact-editorial-email:focus-visible {border-color:#fff;color:#fff}
#contact .contact-editorial-direct p {color:#a6a6a2;max-width:365px;margin:18px 0 0}
#contact .contact-editorial-subjects {min-width:0}
#contact .contact-editorial-subject {display:grid;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:15px;padding:10px 0;border-top:1px solid #303030}
#contact .contact-editorial-subject:last-child {border-bottom:1px solid #303030}
#contact .contact-editorial-num {color:#878782}
#contact .contact-editorial-subject-copy {display:flex;flex-direction:column;gap:4px;min-width:0}
#contact .contact-editorial-subject-copy strong {font-size:var(--fs-sm)!important;font-weight:600;line-height:1.5!important;color:#f0f0ed}
#contact .contact-editorial-subject-copy span {font-size:var(--fs-sm)!important;line-height:1.5!important;color:#969691}
#contact .contact-editorial-address {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(35px,5.8vw,100px);border-top:1px solid #50504e;padding-top:clamp(20px,2vw,29px);align-items:start}
#contact .contact-editorial-address .contact-editorial-eyebrow {margin-top:3px}
#contact .contact-editorial-address address {display:flex;flex-direction:column;gap:6px;font-style:normal}
#contact .contact-editorial-address strong {font-size:var(--fs-sm)!important;font-weight:600;line-height:1.5!important;color:#f0f0ed}
#contact .contact-editorial-address span:not(.mono) {font-size:var(--fs-sm)!important;color:#aaa9a4}

/* Footer meets Contact instead of floating beneath a huge blank section. */
footer {margin-top:0!important}
.footer-main {padding:clamp(53px,5.3vw,80px) 0 35px!important}
.footer-main .footer-wordmark {width:min(480px,55vw)!important}
.footer-grid {margin-top:clamp(36px,4vw,58px)!important}
.footnote {padding-top:15px!important;padding-bottom:14px!important}

@media(max-width:850px){
  #home .hero {height:76svh;min-height:570px}
  #home > .wrap > .section {padding:66px 0!important}
  #home > .wrap > .section-small {padding:66px 0 78px!important}
  #company .page-intro {padding-top:74px!important;padding-bottom:35px!important}
  #company > .wrap > .section {padding:36px 0 74px!important}
  #location .page-intro {padding-top:72px!important;padding-bottom:44px!important}
  #location .full-photo {height:clamp(300px,56vw,490px)}
  #location > .wrap > .section-small {padding:65px 0 78px!important}
  #contact .contact-editorial {padding-top:73px;padding-bottom:74px}
  #contact .contact-editorial-main {gap:36px}
  #contact .contact-editorial-address {gap:36px}
}
@media(max-width:620px){
  #home .hero {height:83svh;min-height:550px}
  #home .section-topline,#company .section-topline,#location .section-topline {margin-bottom:25px}
  #home .split-section,#company .split-section,#location .split-section {gap:22px}
  #home > .wrap > .section {padding:56px 0!important}
  #home > .wrap > .section-small {padding:57px 0 67px!important}
  #company .page-intro {padding-top:66px!important;padding-bottom:26px!important}
  #company > .wrap > .section {padding:30px 0 61px!important}
  #location .page-intro {padding-top:67px!important;padding-bottom:38px!important}
  #location .full-photo {height:300px;min-height:0}
  #location > .wrap > .section-small {padding:56px 0 63px!important}
  #contact .contact-editorial {padding-top:59px;padding-bottom:63px}
  #contact .contact-editorial-top span:last-child {display:none}
  #contact .contact-editorial-heading {display:block;padding-bottom:25px}
  #contact .contact-editorial-heading p {margin-top:8px}
  #contact .contact-editorial-main {grid-template-columns:1fr;gap:29px;padding:28px 0 31px}
  #contact .contact-editorial-email {font-size:var(--fs-md)!important}
  #contact .contact-editorial-direct p {margin-top:14px}
  #contact .contact-editorial-subject {padding:9px 0}
  #contact .contact-editorial-address {grid-template-columns:1fr;gap:8px;padding-top:23px}
  #contact .contact-editorial-address .contact-editorial-eyebrow {margin:0 0 3px}
  .footer-main {padding:53px 0 22px!important}
  .footer-grid {margin-top:34px!important}
}
@media(prefers-reduced-motion:reduce){ #contact .contact-editorial-email {transition:none}}



/* Final density pass for Contact */
#contact .contact-editorial {padding-top:54px;padding-bottom:48px}
#contact .contact-editorial-top {margin-bottom:18px}
#contact .contact-editorial-heading {padding-bottom:20px}
#contact .contact-editorial-main {padding:21px 0 25px}
#contact .contact-editorial-eyebrow {margin-bottom:10px}
#contact .contact-editorial-subject {padding:7px 0}
#contact .contact-editorial-direct p {margin-top:12px}
#contact .contact-editorial-address {padding-top:18px}
@media(max-width:620px){
 #contact .contact-editorial {padding-top:43px;padding-bottom:41px}
 #contact .contact-editorial-top {margin-bottom:15px}
 #contact .contact-editorial-heading {padding-bottom:18px}
 #contact .contact-editorial-main {gap:19px;padding:19px 0 21px}
 #contact .contact-editorial-eyebrow {margin-bottom:9px}
 #contact .contact-editorial-subject {padding:6px 0}
 #contact .contact-editorial-direct p {margin-top:11px}
 #contact .contact-editorial-address {padding-top:14px}
}



/* Show the complete 16:9 hero artwork on phones without side cropping. */
@media (max-width: 600px) {
  #home .hero { background:#050608; }
  #home .hero > img {
    position:absolute!important;
    top:calc(var(--head) + env(safe-area-inset-top))!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}



/* V64: frosted header banner, as requested on the V56 base. */
#topbar, #topbar.scrolled, #topbar.nav-open, #topbar.not-home {
  background: rgba(0,0,0,.10) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  backdrop-filter: blur(15px) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
}
/* Footer logo at its original bright-white intensity. */
.footer-main .footer-wordmark { opacity: 1 !important; filter: none !important; }



/* Desktop runway photo: retain the full original top and bottom, no cropping. */
@media (min-width: 851px) {
  #location .full-photo {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  #location .full-photo > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}



/* Center inquiry group between the upper/lower edges of its section. */
#contact .contact-editorial-main { align-items: center !important; }
#contact .contact-editorial-direct { align-self: center !important; }
/* Vertically center the location title alongside its address. */
#contact .contact-editorial-address { align-items: center !important; }
#contact .contact-editorial-address .contact-editorial-eyebrow { align-self: center !important; margin-top: 0 !important; }
@media (max-width: 600px) {
  #contact .contact-editorial-direct { align-self: center !important; }
  #contact .contact-editorial-address { align-items: center !important; }
}



/* Keep one dividing rule at each of these two transitions: the rule on the section-topline. */
#home .home-applications { border-top: none !important; }
#company > .wrap > .section { border-top: none !important; }



/* V68: desktop menu is a right-side frosted panel, with nav links replacing the preview. */
@media (min-width: 901px) {
  #navigation {
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding-top: calc(var(--head) + 42px) !important;
    isolation: isolate;
  }
  #navigation::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    background: rgba(9,9,9,.72);
    -webkit-backdrop-filter: blur(28px);
    backdrop-filter: blur(28px);
    border-left: 1px solid rgba(255,255,255,.12);
    pointer-events: none;
  }
  #navigation .nav-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    max-width: none !important;
    width: 100% !important;
    min-height: calc(100dvh - var(--head) - 110px) !important;
  }
  #navigation .nav-links {
    grid-column: 2 !important;
    padding: 25px clamp(22px,3.5vw,60px) !important;
    justify-content: center !important;
  }
  #navigation .nav-aside { display: none !important; }
  #navigation .nav-link span.big { font-size: clamp(38px,4.2vw,62px) !important; }
}



/* Desktop contents: aligned toward the upper-right of the frosted panel. */
@media (min-width:901px) {
  #navigation .nav-links {
    justify-content: flex-start !important;
    align-self: start !important;
    padding: 0 28px 25px clamp(90px, 10vw, 190px) !important;
    margin-left: 0 !important;
  }
}



/* V71: move the entire desktop frosted navigation panel and its content to the right together. */
@media (min-width:901px) {
  #navigation::before {
    width: 36% !important;
  }
  #navigation .nav-grid {
    grid-template-columns: 64% 36% !important;
  }
  #navigation .nav-links {
    grid-column: 2 !important;
    padding-left: clamp(28px, 3.2vw, 58px) !important;
    padding-right: clamp(16px, 2.2vw, 38px) !important;
    justify-content: flex-start !important;
    align-self: start !important;
  }
}



/* V72 — centered footer rows */
footer .footer-main, footer .footer-main h2 { text-align:center !important; }
footer .footer-main h2 {display:flex !important; justify-content:center !important; align-items:center !important;}
footer .footer-main .footer-wordmark {display:block !important; margin-left:auto !important; margin-right:auto !important;}
footer .footer-grid {display:flex !important; justify-content:center !important; align-items:center !important; text-align:center !important;}
footer .footer-links {display:flex !important; width:100% !important; justify-content:center !important; align-items:center !important; text-align:center !important; flex-wrap:wrap !important;}
footer .footnote {display:flex !important; justify-content:center !important; align-items:center !important; text-align:center !important;}
footer .copyright-line {text-align:center !important;}



/* Mobile: photo begins at the viewport's first pixel; header overlays rather than pushes it down. */
@media (max-width: 600px) {
  html, body, #main, #home { margin-top:0 !important; padding-top:0 !important; }
  #home .hero { margin-top:0 !important; padding-top:0 !important; }
  #home .hero > img { top:0 !important; left:0 !important; }
  #topbar { top:0 !important; margin-top:0 !important; }
}



/* Remove excess vertical space after Engineering for the space between. */
#home > .wrap > section.section:first-child { padding-bottom: 24px !important; }
#home > .wrap > section.home-applications { padding-top: 42px !important; }
@media(max-width:600px) {
  #home > .wrap > section.section:first-child { padding-bottom: 16px !important; }
  #home > .wrap > section.home-applications { padding-top: 32px !important; }
}



/* V75: mobile-only 90° counterclockwise hero rotation. Desktop stays unchanged. */
#home .hero > img.hero-mobile-ccw { display:none; }
@media(max-width:600px) {
  #home .hero > img.hero-desktop-photo { display:none!important; }
  #home .hero > img.hero-mobile-ccw {
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}



/* Give the first section a little more breathing room on phones only. */
@media (max-width: 600px) {
  #home > .wrap > section.section:first-child {
    padding-top: 118px !important;
  }
}



/* Center the rotated hero image in both directions on phones. */
@media (max-width:600px) {
  #home .hero > img.hero-mobile-ccw {
    position:absolute!important;
    inset:0!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    transform:none!important;
  }
}



/* V78: Bring the phone's top header/border closer to the top edge while
   maintaining clearance for the iPhone safe area. Desktop is untouched. */
@media (max-width:600px) {
  :root { --head: 52px; }
  #topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    height: calc(52px + env(safe-area-inset-top)) !important;
    padding-top: env(safe-area-inset-top) !important;
    align-items: center !important;
  }
  #topbar::before { top: 0 !important; bottom: -30px !important; }
  #home, #home .hero { margin-top: 0 !important; padding-top: 0 !important; }
  #home .hero > img.hero-mobile-ccw { top: 0 !important; }
}


/* V79 — fix the double iPhone safe-area offset in embedded HTML previews.
   The browser's own toolbar is external to the page; inside the webpage the
   STAGE 0 header and its frosted banner now align to the first page pixel. */
@media (max-width: 600px) {
  :root { --head: 56px; }
  #topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    transform: none !important;
    align-items: center !important;
  }
  #topbar::before {
    top: 0 !important;
    bottom: -30px !important;
  }
  #home, #home .hero { margin-top: 0 !important; padding-top: 0 !important; }
}


/* V80: Fill the entire first visible phone screen with the hero. */
@media (max-width: 600px) {
  #home .hero {
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #home .hero > img.hero-mobile-ccw {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}
