/* V2-1 vivid palette. Full-strength color blocks, neutral whites; no pastel tints. */
:root{--bg:#fff;--paper:#fff;--ink:#262229;--accent:#ff4c25;--brand:#7331d7;--muted:#625b69;--line:#26222930;color-scheme:light}
body{color:var(--ink);background:#fff}
.header{background:#fff;border-color:#26222930;color:var(--ink);backdrop-filter:none;box-shadow:0 5px 22px #26222908}
.header-tag{color:#625b69}
.opening-stage{background:#fff}
.opening-stage:before{background-image:radial-gradient(#7331d730 .7px,transparent .7px);mask-image:linear-gradient(transparent,#0006,transparent)}
.hero-panel h1{color:var(--brand)}
.hero-panel h1 em{color:var(--accent)}
.hero-meta,.hero-foot,.hero-copy>span,.body-copy{color:var(--muted)}
.hero-foot a{color:var(--ink)}
.hero-orbit{border-color:#7331d780;color:var(--brand);background:#fff}
.hero-orbit:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.website-object{will-change:transform}
.site-plane{border-color:#7331d750}
.design-plane{box-shadow:0 24px 48px #26222924}
.design-plane>img{filter:none}
.structure-plane{background:#fff;border:1px solid var(--brand);color:var(--brand);box-shadow:0 16px 32px #7331d715}
.wire-nav{border-color:#7331d740}.wire-nav i{background:#7331d780}
.wire-title,.wire-columns i{border-color:#7331d770}
.wire-button{background:var(--accent);opacity:1}
.function-plane{background:#7331d7f5;color:#fff;border-color:#ffffffa0}
.function-top>span,.function-bottom{color:#fff}
.function-line b{color:#ffe200}
.function-bottom i{background:#ffe200}
.object-shadow{opacity:.25;filter:blur(18px)}
.object-edge{color:#625b69}.object-edge b{color:var(--brand)}
.plane-tag{color:var(--brand)}
.function-plane .plane-tag{color:var(--brand)}
.screen-caption{color:white;background:#262229f0}
.approach-copy h2 span{color:var(--brand)}
.approach-steps{color:#625b69}
.approach-steps span{border-color:#26222930;transition:color .4s,border-color .4s}
.approach-steps .is-active{color:var(--brand);border-color:var(--brand)}
.scene-caption{color:#625b69}.scene-track{background:#7331d730}.scene-track i{background:var(--brand)}
.light{background:#fff}
.services{border-top:1px solid var(--line)}
.section-heading h2{color:var(--ink)}
.section-heading p,.service-name small,.service-tags,.section-note{color:var(--muted)}
.service-row{border-color:#26222930;transition:color .4s ease}
.service-row:last-child{border-color:#26222930}
.service-row:hover,.service-row:focus-visible{padding-left:0;color:var(--brand)}
.service-name{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.service-row:hover .service-name{transform:translateX(10px)}
.service-no{color:var(--brand)}
.service-preview{background:var(--brand);box-shadow:0 20px 40px #26222925;will-change:translate,transform,opacity}
.preview-system>small,.preview-system p{color:white}.preview-system i{color:#ffe200}
.work{background:var(--brand);color:#fff;--line:#ffffff50}
.work-heading h2 span{color:#ffe200}
.project-caption>span,.work-bottom>span{color:#fff}
.project-image{background:#262229}
.project-image img{filter:none;transition:transform .9s cubic-bezier(.2,.65,.3,1)}
.project-image:hover img,.project-image:focus-visible img{filter:none}
.work-cursor{background:#ffe200;color:#262229;will-change:translate,transform,opacity}
.preview-heading h2 em{color:var(--brand)}
.preview-heading p,.preview-note{color:var(--muted)}
.proposal-tabs button{color:#625b69;border-color:#26222930}
.proposal-tabs button[aria-selected=true]{color:var(--brand)}
.proposal-tabs button[aria-selected=true]>span,.proposal-tabs button[aria-selected=true] i{color:var(--brand)}
.proposal-display{background:var(--brand)}
.proposal-paper{background:#fff;box-shadow:12px 18px 0 #4b198f}
.proposal-paper>small{color:var(--brand)}
.proposal-paper>p,.paper-foot{color:#625b69}
.paper-graphic .graphic-content{background:#f2f2f2}
.graphic-content b{background:var(--brand)}.graphic-content span{background:#8d8794}
.graphic-blocks i{background:#fff;border-color:var(--brand);box-shadow:0 6px 0 #262229}
.graphic-blocks i:nth-child(2){background:var(--accent);border-color:var(--accent)}
.paper-graphic[data-phase="2"] .graphic-content{background:var(--brand)}
.paper-graphic[data-phase="2"] .graphic-content span{background:white}
.operation{background:#fff}
.operation-intro h2 span{color:var(--brand)}
.operation-intro p,.operation-lines summary>span,.operation-lines details>p,.plan-heading p,.plan p{color:var(--muted)}
.operation-lines details[open] summary i{color:var(--brand)}
.plan>span{color:var(--brand)}.plan h4{color:var(--ink)}.plan .line-link{border-color:var(--line);color:var(--brand)}
.start{background:var(--accent);color:#262229}
.start-title h2>span{color:#fff}
.start-orbit{border-color:#262229;color:#262229}
.start-orbit:hover{background:var(--brand);border-color:var(--brand);color:#fff}
footer{background:#fff}
.footer-top .wordmark{color:var(--brand)}
.footer-top p,.footer-bottom{color:var(--muted)}
.footer-bottom button{border-color:var(--brand);color:var(--brand)}
dialog{background:#fff;color:var(--ink);border-color:#26222930}
dialog::backdrop{background:#262229aa;backdrop-filter:none}
.dialog-top{border-color:var(--line)}
.dialog-top button,.service-dialog>.eyebrow,.project-detail>span,.contact-intro>.eyebrow{color:var(--brand)}
.menu-dialog{background:var(--brand);color:white;--line:#ffffff50}
.menu-dialog .dialog-top button,.menu-dialog nav a small{color:#ffe200}
.menu-dialog nav a>span,.menu-bottom{color:#fff}
.menu-dialog nav a:hover{color:#ffe200}
.service-dialog>p,.project-detail p,.contact-intro p{color:var(--muted)}
.solid-button{background:var(--brand);color:#fff}.solid-button:hover{background:#54209f}
.form-environment,.form-status{color:var(--brand)}
.form-grid label,.privacy-block{color:var(--muted)}
.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border-color:#26222950;color:var(--ink)}
.form-grid select option{background:#fff;color:var(--ink)}
.privacy-agree{color:var(--ink)}
/* Only opacity/transforms animate in the scrolling scenes. */
.js .reveal{transform:translate3d(0,24px,0);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{transform:translate3d(0,0,0)}
.js .project.reveal .project-image,.js .project.reveal.is-in .project-image{clip-path:none;transition:none}
@media(max-width:760px){
 .service-row:hover .service-name{transform:none}
 .approach-copy{border-color:var(--line)}
 .proposal-tabs button[aria-selected=true]{border-color:var(--brand)}
 .object-shadow{display:none}
}
@media(prefers-reduced-motion:reduce){
 .js .reveal{opacity:1;transform:none}
}
html.is-reduced .reveal{opacity:1;transform:none}
