/* The user's attached concept is the visual acceptance reference, not a loose moodboard. */
:root{--display:var(--site-font);--paper:#f2f5f9;--ink:#101f33}
.container{width:88.8%;max-width:1500px}
.site-header{height:76px;border:0;background:transparent}
.site-header.is-scrolled{height:70px;background:#061a2ef2}
.header-inner{display:grid;grid-template-columns:220px 1fr 150px;gap:20px}
.brand{gap:10px}.brand-symbol{width:30px;height:26px}.brand-type strong{font-size:23px;letter-spacing:3px}.brand-type small{font-size:10px;letter-spacing:2px}
.site-header nav{justify-content:center;gap:34px;margin:0;height:100%}
.site-header nav a{font-size:13px;letter-spacing:1px}.site-header nav a:after{bottom:17px}
.header-cta{border-radius:0;min-height:36px;font-size:12px;padding:0 17px;gap:16px;font-weight:400}
.hero{height:45vw;min-height:550px;max-height:790px;background:#051b30}
.hero:before{display:none}
.hero-art{inset:0;width:100%;height:100%;z-index:0;mask-image:none}
.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:1;animation:none;transform:none;transition:none}
.hero-art:after{display:none}
.hero-art canvas{z-index:1;opacity:.82}
.hero-content{padding-top:10.6vw;z-index:2}
.hero .eyebrow{font-family:var(--display);font-weight:400;font-size:14px;letter-spacing:1px;color:#c2d3df;margin:0 0 20px;display:flex;gap:18px}
.hero .eyebrow:after{content:"";width:55px;height:1px;background:#96b1c180}
.hero h1{font-family:var(--display);font-size:6.15vw;line-height:1.22;font-weight:700;letter-spacing:-.055em;max-width:none;margin:0 0 19px;white-space:nowrap;font-synthesis:weight;color:#fff}
.hero-description{font-family:var(--display);font-size:1.76vw;font-weight:400;letter-spacing:0;line-height:1.8;color:#c1d5e1;margin:0 0 27px;white-space:nowrap}
.hero .button{font-family:var(--display);min-height:44px;padding:0 24px;font-size:14px;font-weight:400;border-radius:0;gap:22px}
.hero .button span{font-family:Arial,sans-serif;font-size:16px}
.hero .button-primary{background:#eff4fa;color:#122942;border-color:#eff4fa}
.hero .button-outline{border-color:#a0b7c7;background:#061b2c30}
.hero .brand-promise{display:none}
.hero:after{inset:24px 2.5% 28px;background:none;border:0}






.hero-tools{bottom:23px;right:5.6%;gap:0;background:none}
.hero-scene-tabs{display:none}
.motion-toggle{font-size:12px;color:#8daec2;min-width:86px;justify-content:end;opacity:.75}
.motion-toggle:hover{opacity:1}.scene-caption{display:none}
.hero-foot{bottom:24px;left:0;right:0;border:0;padding:0;gap:22px;pointer-events:none;max-width:none;width:88.8%;font-size:10px;color:#91adc4;letter-spacing:1.2px}
.hero-foot>span:first-child{white-space:nowrap}.hero-foot:after{content:"";height:1px;flex:1;margin-right:110px;background:#97afc365}
.hero-foot .hero-foot-center,.hero-foot .scroll-link{display:none}
.reference-corner{position:absolute;width:18px;height:18px;z-index:3;pointer-events:none;color:#86adbf77}
.reference-corner:before,.reference-corner:after{content:"";position:absolute;background:currentColor}
.reference-corner:before{height:1px;width:18px;top:8px}.reference-corner:after{height:18px;width:1px;left:8px}
.corner-tl{left:1.7%;top:18px}.corner-bl{left:1.7%;bottom:21px}.corner-br{right:1.7%;bottom:21px}
.light-section{background:#f2f5f9;color:#0e1e34}
.chapter-line{display:flex;align-items:center;gap:22px;margin:0 0 22px;font-size:11px;letter-spacing:1.6px;color:#809bb6;min-height:20px}
.chapter-line>i{height:1px;flex:1;background:#9eb7ca77}.chapter-line>span{white-space:nowrap}.chapter-line>p{font-size:12px;letter-spacing:0;color:#9eb4c5;margin:0;max-width:420px;text-align:right;line-height:1.7}
.capabilities{padding:26px 0 24px;background:linear-gradient(120deg,#f0f4f9,#f6f8fb)}
.capabilities:before,.scenario-section:before{display:none}
.capabilities .section-heading{margin-bottom:25px;align-items:center}
.capabilities h2{font-family:var(--display);font-size:3.75vw;font-weight:700;line-height:1.3;letter-spacing:-.055em;color:#0b1b31;font-synthesis:weight}
.capabilities .section-aside{font-family:var(--display);font-size:13px;line-height:1.9;color:#58718c;text-align:left;margin:0;max-width:300px}
.capability-tabs{gap:28px}
.capability-tabs button{display:flex;align-items:center;gap:20px;min-height:58px;padding:8px 5px 12px;border-bottom:1px solid #d4e0e9}
.capability-tabs button[aria-selected=true]{padding-bottom:11px;border-bottom:2px solid #1abdc0}
.cap-index{font-family:var(--site-font);font-size:16px;letter-spacing:0;color:#88a5bf;font-weight:400}
.capability-tabs button strong{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:1px;color:#15283f;margin:0}
.capability-tabs button[aria-selected=true] strong{color:#0b283d}
.flow-visual{height:148px;margin:3px 0 2px}
.capability-summaries{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.capability-summaries p{font-family:var(--display);font-size:13px;line-height:1.8;color:#536f8a;margin:0;white-space:nowrap}
.capability-more{margin-top:12px}
.capability-more>summary{font-size:12px;color:#6b8ba5;cursor:pointer;text-align:right;list-style:none;line-height:1.8}
.capability-more>summary::-webkit-details-marker{display:none}
.capability-more[open]>summary{margin-bottom:12px}
.capability-detail{padding:20px 0 8px;min-height:0}
.scenario-section{padding:25px 0 24px;background:radial-gradient(ellipse at 65% 25%,#102e45,#051a2e 72%)}
.scenario-section>.container{position:relative}
.scenario-section .chapter-line{margin-bottom:21px}
.scenario-section .solutions-layout{grid-template-columns:26% minmax(0,1fr);gap:28px}
.scenario-navigation h2{font-family:var(--display);font-weight:700;font-size:3.2vw;line-height:1.25;letter-spacing:-1px;margin:0 0 24px;color:#f0f5f8}
.scenario-section .solution-list{border:0;display:block}
.scenario-section .solution-list button{display:flex;justify-content:space-between;align-items:center;height:39px;padding:8px 18px;border-bottom:1px solid #29465999;font-family:var(--display);font-size:13px;font-weight:400;color:#c0d2e0;line-height:1.7;gap:10px}
.scenario-section .solution-list button>span,.scenario-section .solution-list button>img{display:none}
.scenario-section .solution-list button:after{content:"›";font-family:Arial,sans-serif;font-size:17px;color:#92acbd}
.scenario-section .solution-list button[aria-selected=true]{box-shadow:inset 3px 0 #20bfc7;background:#0d344860;border:1px solid #36556a77;padding-left:18px}
.scenario-section .solution-list button:hover{background:#153b506b}
.scenario-section .solution-panel{padding:0;min-height:0}
.scenario-photo{height:24.45vw;max-height:410px;margin:0 0 12px;border:1px solid #7896aa44}
.scenario-photo>img{filter:saturate(.92);object-position:center 54%}.scenario-photo:after{display:none}.scenario-photo figcaption{display:none}
.scenario-related{border-top:1px solid #6b8da36b;padding:7px 0 0;min-height:30px;align-items:center;position:relative}
.scenario-related>span{font-family:var(--display);font-size:12px;color:#9db6c9;letter-spacing:.5px}
.scenario-related button{font-family:var(--display);font-size:12px;color:#adc6d7;padding:0;white-space:nowrap}
.scenario-more{margin-top:5px}
.scenario-more>summary{font-size:12px;list-style:none;color:#789ab1;cursor:pointer;text-align:right;line-height:1.7}
.scenario-more>summary::-webkit-details-marker{display:none}
.scenario-more .detail-label{display:block;margin-top:17px}
.scenario-section .scenario-more h3{font-family:var(--display);font-size:23px;margin:10px 0}
.scenario-more #solution-description{font-size:13px;color:#a6bece;line-height:1.9;margin:0}
.scenario-section .scenario-more .solution-tags{margin:12px 0}
.scenario-section .research-expand{margin:12px 0 0;padding:8px 0 0;font-size:12px;border-top:0;width:auto;gap:15px;color:#7d9eb6}
.scenario-section .research-expand span{font-size:17px}
.scenario-footer{margin-top:10px;font-size:12px;line-height:1.8;gap:20px}
.scenario-footer .text-link{font-size:12px;color:#96bdcd}
.about h2,.joint-layout h2,.contact-inner h2{font-family:var(--display);font-weight:700;letter-spacing:-.7px}
.hero-motion{will-change:transform;transform-origin:72% 55%;animation:optical-drift 16s ease-in-out infinite}
.motion-paused .hero-motion{animation-play-state:paused}
@keyframes optical-drift{0%,100%{transform:scale(1)}50%{transform:scale(1.009)}}
@media(min-width:1540px){.hero-content{padding-top:160px}.hero h1{font-size:94px}.hero-description{font-size:27px}.capabilities h2{font-size:58px}.scenario-navigation h2{font-size:48px}.hero .button{min-height:52px;font-size:17px}}
@media(max-width:1150px){.hero-content{padding-top:132px}.hero h1{font-size:68px}.hero-description{font-size:20px}.header-inner{grid-template-columns:200px 1fr 140px;gap:15px}.site-header nav{gap:22px}.scenario-navigation h2{font-size:34px}.capabilities h2{font-size:39px}.capabilities .section-aside{font-size:12px;max-width:245px}.capability-summaries p{font-size:12px;white-space:normal}.hero{min-height:520px}.scenario-photo{height:280px}}
@media(prefers-reduced-motion:reduce){.hero-motion{animation:none}}

/* Final proportional alignment against the attached reference. */
.site-header nav{justify-content:flex-start;padding-left:45px;gap:4.6vw}
.capabilities{padding-top:32px;padding-bottom:42px}
.flow-visual{height:160px}
.scenario-footer{margin-top:14px;min-height:24px;align-items:center}
.scenario-footer .text-link{padding:0;line-height:1.7}
.scenario-footer .text-link>span{font-size:14px;line-height:1}
.scenario-footer .research-expand{padding:0;margin:0;min-height:24px;line-height:1.7}
.scenario-footer .research-expand>span{font-size:15px;line-height:1}
@media(max-width:1150px){.site-header nav{padding-left:5px;gap:25px}}

/* One photographic scene, read through a visible four-part optical animation. */
.hero-art img.hero-motion{animation:none;transform:none;opacity:1}
.hero-art #optical-renderer{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .45s}
.optical-ready .hero-art #optical-renderer{opacity:1}
.hero-art #hero-particles{z-index:2;opacity:1;position:absolute;inset:0;width:100%;height:100%}


.hero-tools{z-index:5;bottom:23px;right:5.6%;display:flex;gap:0;align-items:center}
.hero-tools[hidden]{display:none}
.motion-toggle{min-height:28px;align-self:start;padding:0;opacity:1;font-size:12px;min-width:78px}
.hero-foot:after{margin-right:110px}
@media(max-width:1150px){.hero-tools{gap:0}.hero-foot:after{margin-right:110px}}
.hero-tools{padding:0;background:none}
.hero-art #optical-renderer{transition:none}

