/* The illuminated Q supplies the site's shared motion language. */
:root{--bg:#090B0D;--surface:#121518;--ink:#F1E9DF;--muted:#999D9F;--line:rgba(233,217,195,.14);--blue:#DDA66C;--warm:#EAC79F;--warm-muted:#B38D69}
body{background:var(--bg);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#F0C18D}
::selection{background:#BE874E;color:#080A0C}
.header{height:100px;border-color:rgba(230,210,184,.12);background:linear-gradient(#090B0D99,transparent)}
.wordmark img{width:181px;height:auto}.header nav a{color:#ABA9A6}.header nav a:hover{color:#F7DFC3}
.button{border-color:#726456;border-radius:2px}.button:hover{border-color:#C8A57D;background:#25211C;transform:none}
.button-primary{position:relative;overflow:hidden;isolation:isolate;background:#EFE1CF;border-color:#EFE1CF;color:#17130F}
.button-primary:hover{background:#F5E8D8;border-color:#F5E8D8}
.button-primary:after,.project-visual:after{content:'';position:absolute;inset:-50% auto -50% -55%;width:25%;pointer-events:none;background:linear-gradient(90deg,transparent,#FFF6E244,transparent);transform:skewX(-28deg) translateX(0);opacity:0}
.button-primary:hover:after,.button-primary:focus-visible:after,.project-card:hover .project-visual:after,.project-card:focus-visible .project-visual:after{animation:metal-catch .75s cubic-bezier(.18,.65,.3,1) both}
.text-link:hover,.service summary:hover{color:#E8BD8D;border-color:#B49371}
.reading-progress{background:linear-gradient(90deg,#87603D,#F0CE9F)}
.hero-luminous{display:block;position:relative;isolation:isolate;padding:0;min-height:0;max-height:none;height:calc(max(820px,100svh) + 35vh);overflow:clip;background:#090B0D}
.hero-stage{position:sticky;top:0;min-height:820px;height:100svh;padding:138px var(--gutter) 98px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 54% 35%,#241A1266,transparent 49%),#090B0D}
.hero-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(25% - .5px),#EBD9BE05 25%,transparent calc(25% + .5px)),linear-gradient(90deg,transparent calc(75% - .5px),#EBD9BE05 75%,transparent calc(75% + .5px));pointer-events:none;z-index:-2}
.hero-stage:after{content:'';position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#B89C7755,transparent)}
.hero-register{display:flex;justify-content:space-between;gap:25px;position:absolute;left:var(--gutter);right:var(--gutter);top:137px;color:#827D74;font:400 10px var(--mono);letter-spacing:1.4px}
.hero-register span:last-child{color:#B7A795}
.hero-signature{position:relative;width:100%;max-width:1510px;margin:-5px auto 14px;transform:translateY(calc(var(--hero-progress,0) * -30px)) scale(calc(1 - var(--hero-progress,0) * .08));transform-origin:52% 50%;z-index:1}
.hero-signature>svg{display:block;width:100%;height:auto;overflow:hidden;position:relative;z-index:2}
.hero-reflection{position:absolute;pointer-events:none;left:48%;top:38%;width:240px;height:160px;transform:translate(calc(-50% + var(--reflection-x,0px)),calc(-50% + var(--reflection-y,0px)));background:radial-gradient(ellipse,#D29B5329,transparent 70%);opacity:calc(.65 + var(--hero-progress,0) * .35);z-index:0}
.hero-glint{position:absolute;left:57.0798%;top:64.9655%;width:5px;height:5px;border-radius:50%;background:#FFF6DC;box-shadow:0 0 8px #FFF0C5,0 0 24px 4px #F0B56C88;transform:translate(-50%,-50%);opacity:0;z-index:3;pointer-events:none}
.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;width:100%;max-width:1390px;margin:0 auto;position:relative;z-index:4;transform:translateY(calc(var(--hero-progress,0) * -15px))}
.hero-copy .eyebrow{font-size:10px;color:#A39484;margin-bottom:17px;letter-spacing:1.2px;line-height:1.6}
.hero-copy h1{font-size:clamp(44px,4.2vw,68px);line-height:1.06;font-weight:450;letter-spacing:-2.8px}.hero-copy h1 span{color:#908D88}
.hero-copy-detail{padding-bottom:3px}.hero-copy .hero-description{margin:0;font-size:16px;line-height:1.75;max-width:430px;color:#A5A19B}
.hero-copy .hero-actions{margin-top:25px;gap:23px;flex-wrap:wrap}.hero-copy .button{font-size:13px;gap:21px;min-height:48px}.hero-copy .text-link{font-size:13px;gap:17px}
.hero-luminous .hero-bottom{bottom:31px;left:var(--gutter);right:var(--gutter)}
.hero-luminous .scroll-cue{font-size:10px;color:#A09282;letter-spacing:1px}.scroll-line{background:linear-gradient(#E8BD82,#4B4135);height:29px}
.hero-caption{border-color:#554A3C}.hero-caption .mono{color:#8F7A62;font-size:10px}.hero-caption>span:last-child{color:#B9A68F;font-size:12px}
.hero-status{display:flex;align-items:center;gap:9px}.hero-status i{height:4px;width:4px;border-radius:50%;background:#E9BD84;box-shadow:0 0 12px #DCA66388}
.motion-ready .hero-signature .logo-light{animation:light-settle 2.9s cubic-bezier(.2,.65,.2,1) both}
.motion-ready .hero-glint{animation:joint-glint 2.9s cubic-bezier(.16,.6,.2,1) both}
.motion-ready .hero-register{animation:register-in 1.3s ease both}
.discipline-strip{color:#A19A8D;background:#0D0F10}.discipline-strip i{background:#A88661}
.section{position:relative}.section-label{color:#A09788}.section-label .cross{color:#89755E}
.section-ray{display:block;position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:2px;overflow:hidden;pointer-events:none}
.section-ray:after{content:'';position:absolute;left:0;top:0;height:1px;width:24%;max-width:250px;background:linear-gradient(90deg,transparent,#E9BB7B,#FFF2D9,transparent);transform:translateX(-110%);opacity:0}
.motion-ready .light-entered .section-ray:after{animation:section-ray-pass 1.6s cubic-bezier(.2,.55,.25,1) both}
.intro-copy p{color:#B2ACA3}.intro-copy p+p{color:#8D8A84}.principles .mono{color:#AD8F6C}.principles p{color:#CBC1B4}.muted{color:#7F817F}
.expertise{background:#101315}.service-number{color:#A28C72}.service-plus{color:#9D8465}.service[open] .service-plus{color:#E0B788}.service[open]{background:linear-gradient(90deg,transparent,#DFA56406)}
.service-detail p{color:#A3A098}.service-detail>span{color:#BC9D7D}.expertise-note{color:#A09484}
.systems{background:radial-gradient(ellipse at 80% 50%,#9A6D3910,transparent 60%)}
.systems-copy>p,#solution-panel p{color:#9E9C95}.solution-tabs button{color:#A1988C}.solution-tabs button[aria-selected=true]{color:#F2E7D9}#solution-tags{color:#B79875}
.system-diagram{background:linear-gradient(135deg,#1B1B19,#0D1012);border-color:#403D36;box-shadow:none}.diagram-top,.diagram-bottom{border-color:#393830}.diagram-top .mono,.diagram-layer>.mono,.diagram-bottom{color:#AA9579}
.diagram-indicator{color:#C1AC8E;border-color:#5B5143}.node-row>span{border-color:#4A4338;background:#1D1E1B;color:#C7BBA9}
.diagram-core{background:linear-gradient(110deg,#343127,#23241F);border-color:#958266;box-shadow:0 0 38px -26px #F0BE7B}.diagram-core>.mono{color:#C8B08C}
.diagram-connector i{background:#5C5141}.diagram-connector i:after{top:-15px;background:#EAC595;animation:conduit-travel 2.8s infinite;animation-play-state:paused}
.system-diagram.is-visible .diagram-connector i:after{animation-play-state:running}
.approach{background:#0F1214}.process-step{border-color:#373A38}.process-step.is-active{border-color:#CBA16D}.process-step>.mono{color:#BA9D78}.process-step>p{color:#AAA69D}.process-step:not(.is-active) h3{color:#AAA8A1}.process-step.is-active h3{color:#F1E9DF}
.process-index>span:first-child{color:#E9D5B7}.process-index>span:last-child,.approach-caption{color:#A68B69}.process-progress{background:#393830}.process-output{color:#AA8D69}.process-output>span{color:#B7AA94}
.project-visual{isolation:isolate}.project-card:hover .project-visual,.project-card:focus-visible .project-visual{border-color:#B59970}.project-card:hover .mock-window,.project-card:hover .nexus-flow{transform:translateY(12px) rotate(0)}
.project-meta .mono,.project-tags>span{color:#B4A088}.project-tags>span{border-color:#4D473D}.project-card>p,.project-wide-copy>p{color:#A8A39A}.project-open{color:#CCB495}
.standard-icon{color:#BC9A73}.standards-grid p{color:#A7A196}.standards-foot{color:#BCA589}
.contact{background:radial-gradient(ellipse at 85% 0%,#765A391F,transparent 66%),#111416}.contact-top .mono{color:#B5A28A}.contact-bottom p{color:#B0A99F}
.footer{background:#090B0D}.footer-main>p,.footer-bottom{color:#968D81}.footer-main>div{color:#BAAA96}
.modal{background:#13171A;border-color:#514739;color:#EEE3D4}.modal::backdrop{background:#090B0DCF;backdrop-filter:blur(10px)}.modal-lead{color:#B4AA9D}.modal .eyebrow{color:#B9A388}.modal-close{color:#D1B998}.brand-preview{background:#080B0D;border-color:#39382F;padding:35px 24px}.brand-preview img{width:100%;max-width:440px;height:auto}.brand-palette>span{border-color:#5C5144}.modal input,.modal select,.modal textarea{color:#F0E5D8;border-color:#514A40;background:#0F1315}.modal input::placeholder,.modal textarea::placeholder{color:#918779}.modal label,.form-note{color:#B5A998}
.mobile-nav{background:#111416;border-color:#494237}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@keyframes light-settle{0%{opacity:.25}24%{opacity:.4}47%{opacity:1}72%{opacity:.7}100%{opacity:1}}
@keyframes joint-glint{0%,12%{opacity:0;transform:translate(calc(-1 * clamp(32px,8vw,116px)),calc(-1 * clamp(32px,8vw,116px))) scale(.45)}46%{opacity:1;transform:translate(-50%,-50%) scale(1)}65%{opacity:.8;transform:translate(-50%,-50%) scale(.75)}100%{opacity:0;transform:translate(-50%,-50%) scale(.5)}}
@keyframes register-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes section-ray-pass{0%{opacity:0;transform:translateX(-100%)}12%{opacity:1}76%{opacity:.85}100%{opacity:0;transform:translateX(540%)}}
@keyframes metal-catch{0%{opacity:0;transform:skewX(-28deg) translateX(0)}18%{opacity:1}100%{opacity:0;transform:skewX(-28deg) translateX(750%)}}
@keyframes conduit-travel{to{transform:translateY(58px)}}
@media(min-width:1700px){.hero-stage{padding-top:150px;padding-bottom:110px}.hero-signature{margin-top:-25px;margin-bottom:20px}}
@media(max-width:1050px){.hero-copy{gap:7%}.hero-copy h1{font-size:50px}.hero-copy .hero-actions{gap:17px}.hero-register{font-size:9px}.hero-stage{min-height:850px}.hero-luminous{height:calc(max(850px,100svh) + 35vh)}}
@media(max-width:760px){
 .header{height:84px}.wordmark img{width:156px}.hero-luminous{height:auto;min-height:0;max-height:none;overflow:hidden}
 .hero-stage{position:relative;min-height:790px;height:auto;padding:158px 24px 105px;justify-content:start}
 .hero-register{top:117px;left:24px;right:24px;font-size:8px;letter-spacing:.7px}.hero-register span:last-child{max-width:135px;text-align:right;line-height:1.6}
 .hero-signature{width:calc(100% + 22px);max-width:none;margin:4px -11px 34px;transform:none}.hero-reflection{width:160px;height:130px}
 .hero-copy{display:block;transform:none}.hero-copy .eyebrow{font-size:9px;max-width:none;margin-bottom:16px;letter-spacing:.85px;line-height:1.7}
 .hero-copy h1{font-size:clamp(44px,11.5vw,64px);letter-spacing:-2px}.hero-copy-detail{margin-top:25px}.hero-copy .hero-description{font-size:15px;max-width:410px}.hero-copy .hero-actions{margin-top:26px;gap:22px}.hero-copy .button{padding:12px 16px;min-height:48px;font-size:13px}.hero-copy .text-link{font-size:12px}
 .hero-luminous .hero-bottom{bottom:29px;left:24px;right:24px}.hero-luminous .scroll-cue{font-size:9px;letter-spacing:.5px}.hero-caption .mono{font-size:8px}.hero-caption>span:last-child{font-size:10px}.hero-caption{padding-left:11px}
 .hero-glint{width:3px;height:3px;box-shadow:0 0 8px #FFE8C0,0 0 16px #EBC39199}.brand-preview{padding:25px 10px}.footer-main>.wordmark img{width:156px}
}
@media(max-width:370px){.hero-stage{padding-left:20px;padding-right:20px;min-height:790px}.hero-copy h1{font-size:43px}.hero-copy .hero-actions{gap:15px}.hero-copy .button{gap:15px;font-size:12px}.hero-copy .text-link{font-size:11px;gap:10px}.hero-register{font-size:7px}.hero-caption{display:none}}
@media(hover:none),(pointer:coarse){.button-primary:after,.project-visual:after{display:none}.hero-reflection{transform:translate(-50%,-50%)}.project-visual{border-top-color:#8F795A}}
@media(prefers-reduced-motion:reduce){
 .hero-luminous{height:auto}.hero-stage{position:relative}.hero-signature,.hero-copy{transform:none!important}.hero-register,.hero-signature .logo-light{opacity:1!important}.hero-glint,.section-ray:after{display:none!important}.hero-reflection{transform:translate(-50%,-50%)!important}.reveal{opacity:1!important;transform:none!important}.diagram-connector i:after{display:none}.mock-window,.nexus-flow{transform:none!important}
}

.motion-ready .hero-stage:not(.is-visible) .logo-light,.motion-ready .hero-stage:not(.is-visible) .hero-glint{animation-play-state:paused}
