/* V4 — Kinetic orchestration. Brand palette preserved. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.home-page .hero{padding-bottom:0;background:#111310}
.home-page .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:24px}
.home-page .hero-main{padding-bottom:25px}
.hero-light{position:absolute;inset:-30%;pointer-events:none;z-index:-1;background:conic-gradient(from 235deg at 70% 44%,transparent 0 23%,#c8ff350b 26%,transparent 29% 70%,#5a68ff09 75%,transparent 80%);transform:rotate(-8deg)}
.hero-orbit{background:radial-gradient(ellipse at 82% 38%,#c8ff3512,transparent 45%),radial-gradient(ellipse at 58% 100%,#5a68ff0b,transparent 35%)}
.title-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}
.title-line>span{display:inline-block;transform-origin:left bottom}
.hero h1{animation:none!important}
.hero-signal{background:none;-webkit-text-fill-color:initial;color:#c8ff35}
.hero h1 .period{color:#c8ff35}
.hero-muted{color:#a3a798}
.home-page .hero-copy,.home-page .hero-actions,.home-page .process-board{animation:none}
.home-page .process-board{margin-top:0;align-self:center;isolation:auto;max-width:600px;width:100%}
.home-page .board-head{font-size:.75rem;padding-bottom:10px;letter-spacing:.03em}
.engine-scene{position:relative;width:100%;height:clamp(330px,32vw,480px);isolation:isolate;user-select:none}
.engine-canvas{position:absolute;inset:-5% -4%;width:108%;height:110%;z-index:2;opacity:0;transition:opacity .7s ease;pointer-events:none}
.engine-ready .engine-canvas{opacity:1}
.engine-grid{position:absolute;inset:5% 0;z-index:-2;background-image:linear-gradient(#f1efe706 1px,transparent 1px),linear-gradient(90deg,#f1efe706 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse,#000,transparent 68%);-webkit-mask-image:radial-gradient(ellipse,#000,transparent 68%)}
.engine-halo{position:absolute;inset:8% 7%;border-radius:50%;background:radial-gradient(ellipse,#c8ff3514,transparent 65%);box-shadow:inset 0 0 60px #c8ff3507;z-index:-1}
.engine-coordinate{position:absolute;top:19px;left:0;font:500 .6875rem var(--head);letter-spacing:.14em;color:#abb19f;z-index:3}
.engine-caption{position:absolute;left:0;bottom:22px;color:#abb19f;font-size:.75rem;line-height:1.55;z-index:3}
.engine-caption strong{font-weight:500;color:#f1efe7}
.engine-orbit-label{position:absolute;right:0;top:23%;writing-mode:vertical-rl;color:#b5bda5;font:500 .6875rem var(--head);letter-spacing:.15em}
.engine-fallback{position:absolute;width:75%;height:75%;left:12.5%;top:12.5%;display:grid;place-items:center;perspective:650px}
.engine-fallback i{position:absolute;border:9px solid #c8ff35;width:82%;height:82%;border-radius:50%;transform:rotateX(45deg) rotateY(-35deg);box-shadow:inset 3px 3px 0 #f1efe780,3px 3px 0 #c8ff3530}
.engine-fallback i:nth-child(2){width:66%;height:66%;border-width:18px;border-color:#6b7460;transform:rotateY(65deg) rotateX(-40deg)}
.engine-fallback i:nth-child(3){width:48%;height:48%;border:4px solid #f1efe7;transform:rotateX(55deg)}
.engine-fallback b{color:#c8ff35;font-size:5rem;font-weight:400}
.engine-ready .engine-fallback{visibility:hidden}
.home-page .flow-space{height:auto;max-height:none;aspect-ratio:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:none;padding:0 0 16px}
.home-page .flow-space:before,.home-page .flow-lines,.home-page .guard-label{display:none}
.home-page .flow-node,.home-page .flow-node:hover{position:relative;inset:auto;transform:none;min-width:0;min-height:66px;padding:12px 11px;border-radius:6px;display:block;background:#f1efe705;box-shadow:none;border:1px solid #f1efe71f;transition:border-color .3s,background .3s}
.home-page .flow-node:before{content:'';position:absolute;inset:auto 20% -1px;height:2px;background:#c8ff35;transform:scaleX(0);transition:transform .4s var(--motion-ease);box-shadow:0 0 15px #c8ff3566}
.home-page .flow-node.is-active{background:#c8ff3510;border-color:#c8ff3570}
.home-page .flow-node.is-active:before{transform:scaleX(1)}
.home-page .flow-node strong{font-size:.8125rem;letter-spacing:-.035em}
.home-page .flow-node small{font-size:.625rem;letter-spacing:.03em;margin-bottom:7px;color:#b9c0ac}
.home-page .flow-node .node-symbol,.home-page .flow-node .node-tick,.home-page .flow-node .core-icon{display:none}
.home-page .process-detail{font-size:.8125rem;padding-top:12px;min-height:66px}
.home-page .process-detail p{max-width:100%}
.home-page .board-foot{font-size:.75rem}.home-page .play-process{font-size:.75rem;min-height:44px;align-items:center;padding-top:7px;padding-bottom:7px}
.hero-baseline{display:flex;align-items:center;gap:22px;border-top:1px solid #f1efe720;margin-top:25px;padding-top:18px;padding-bottom:22px;color:#b3b9a7;font:500 .75rem var(--head);letter-spacing:.03em}
.baseline-track{height:1px;background:#f1efe71f;flex:1;overflow:hidden}.baseline-track i{display:block;width:80px;height:1px;background:linear-gradient(90deg,transparent,#c8ff35,transparent)}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .45s var(--motion-ease),box-shadow .4s,background .4s}
.btn:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,#ffffff45 48%,transparent 72%);transform:translateX(-130%);transition:transform .8s var(--motion-ease);pointer-events:none}
.btn:hover:before{transform:translateX(130%)}
.btn-primary{background:#c8ff35;color:#182000;box-shadow:0 5px 30px #c8ff3517}
.btn-primary:hover{background:#d5ff65;box-shadow:0 8px 40px #c8ff3529}
.btn .arrow,.project-read span,.offer-link span,.nav-cta span:last-child{transition:transform .5s var(--motion-ease)}
.project-read:hover span,.offer-link:hover span{transform:translate(5px,-5px)}
.motion-toggle{position:fixed;bottom:16px;left:18px;z-index:95;display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;color:#f1efe7;background:#111310ed;border:1px solid #f1efe740;border-radius:50px;font:500 .75rem var(--head);box-shadow:0 4px 20px #11131018;cursor:pointer}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{border-color:#c8ff35}.motion-toggle:focus-visible{outline-color:#c8ff35}
.motion-toggle-icon{display:flex;align-items:center;gap:3px;height:16px;width:15px}
.motion-toggle-icon i{width:3px;height:12px;background:#c8ff35;border-radius:1px;transform-origin:center}
.motion-toggle-icon i:nth-child(2){height:6px}.motion-toggle-icon i:nth-child(3){height:10px}
.motion-paused .motion-toggle-icon i{height:10px!important;transform:none!important}.motion-paused .motion-toggle-icon i:last-child{display:none}
.motion-heading{overflow:clip;padding-bottom:.15em;margin-bottom:-.15em}
.motion-word{display:inline-block;vertical-align:top}
.project-summary .case-exhibit{perspective:1000px;isolation:isolate;overflow:hidden;border-radius:3px;background:radial-gradient(ellipse at 50% 40%,#c8ff3520,transparent 65%),#151a11}
.project-summary:nth-of-type(2) .case-exhibit{background:radial-gradient(ellipse at 60% 40%,#5a68ff27,transparent 65%),#151813}
.case-exhibit:after{content:'';position:absolute;inset:-50%;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#f1efe70b 48%,transparent 58%);transform:translateX(-20%) rotate(-10deg)}
.case-exhibit>*{z-index:1}.case-exhibit .teaser-phone,.case-exhibit .teaser-board{position:relative;transition:rotate .7s var(--motion-ease);will-change:auto;rotate:0 1 0 var(--tilt-x,0deg)}
.project-summary .teaser-phone{box-shadow:0 45px 65px #0007,0 0 0 1px #c8ff3522}
.project-summary .exhibit-flow{display:flex;justify-content:space-between;gap:8px;align-items:center}
.exhibit-flow span{position:relative}.exhibit-flow span+span:before{content:'↗︎';position:absolute;left:-22px;color:#c8ff35}
.project-copy{position:relative}
.project-copy:before{content:'';position:absolute;left:0;top:0;height:2px;width:60px;background:#708530;transform-origin:left;transform:scaleX(var(--section-progress,1))}
.project-result strong{font-variant-numeric:tabular-nums}
.method-v3{position:relative;isolation:isolate;overflow:hidden;background:#111310}
.method-v3:before{content:'';position:absolute;inset:-40%;z-index:-1;background:radial-gradient(ellipse at 55% 90%,#c8ff3520,transparent 48%);transform:translateY(calc(var(--method-progress,0)*-12%))}
.method-steps{position:relative;--method-progress:0}
.method-steps:after{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#c8ff35,#f1efe7);transform:scaleX(var(--method-progress,0));transform-origin:left;box-shadow:0 0 24px #c8ff3550}
.method-steps li{transition:opacity .65s}.method-steps li>span{display:inline-block;color:#c8ff35;transition:color .5s,text-shadow .5s}
.method-steps li.is-current>span{color:#f1efe7;text-shadow:0 0 30px #c8ff3540}
.method-steps li.is-current h3{color:#e9f5ce}
.pricing-row{position:relative;isolation:isolate;transition:padding .5s var(--motion-ease)}
.pricing-row:before{content:'';position:absolute;inset:0 -18px;background:#dce5c938;z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--motion-ease)}
.pricing-row:hover:before,.pricing-row:focus-within:before{transform:scaleY(1)}
.standards-section{position:relative;isolation:isolate;overflow:hidden}
.standards-section:after{content:'✳';position:absolute;right:-4vw;top:50%;font:500 36vw/.8 var(--head);z-index:-1;color:#1820000b;transform:translateY(-50%) rotate(var(--seal-rotation,0deg));pointer-events:none}
.about-monogram{transform-origin:50% 55%;text-shadow:5px 5px 0 #c8ff3540}
.faq-list details summary:after{transition:rotate .4s var(--motion-ease)}.faq-list details[open] summary:after{rotate:45deg}
.contact-v3{position:relative;isolation:isolate;overflow:hidden}
.contact-v3:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 8% 50%,#c8ff351a,transparent 55%),radial-gradient(ellipse at 85% 100%,#5a68ff13,transparent 40%);transform:translate3d(var(--contact-x,0px),0,0);pointer-events:none}
.contact-v3 .contact-content h2 em{color:#c8ff35}
.contact-v3 .form-panel{transition:border-color .5s,box-shadow .5s}.contact-v3 .form-panel:focus-within{border-color:#c8ff3570;box-shadow:0 0 55px #c8ff350d}
.form-panel input,.form-panel select,.form-panel textarea{transition:background .25s,border-color .25s,box-shadow .25s}
.article-block{animation:none!important}.chapter-nav a{transition:color .25s,background .25s}
.footer{padding-bottom:36px}
@media(min-width:1101px) and (max-height:820px){.home-page .hero{padding-top:107px}.home-page .hero-grid{margin-top:15px}.engine-scene{height:310px}.home-page .hero h1{font-size:clamp(3.1rem,5.2vw,5.2rem)}.home-page .hero-copy{margin-top:20px}.home-page .hero-actions{margin-top:20px}.hero-baseline{margin-top:10px}.home-page .hero-evidence{margin-top:10px}}
@media(max-width:1100px) and (min-width:761px){.home-page .hero-grid{grid-template-columns:1.08fr 1fr;gap:22px}.engine-scene{height:330px}.home-page .hero h1{font-size:5.7vw}.home-page .flow-node{padding:10px 7px}.home-page .flow-node strong{font-size:.72rem}.home-page .flow-node small{font-size:.5625rem}.home-page .hero-actions{flex-wrap:wrap;gap:0}.home-page .board-head{font-size:.625rem}}
@media(max-width:760px){
  .home-page .hero-grid{grid-template-columns:1fr;gap:30px;margin-top:25px}.home-page .hero-main{padding-bottom:0}.home-page .hero h1{font-size:clamp(3.1rem,10.8vw,5.5rem)}
  .home-page .process-board{padding-top:18px}.engine-scene{height:350px;max-width:460px;margin:auto}.engine-canvas{inset:-3% -2%;width:104%;height:106%}.engine-coordinate{font-size:.625rem;top:20px}.engine-caption{bottom:10px;font-size:.6875rem}
  .home-page .flow-space{gap:7px;padding-top:8px}.home-page .flow-node{min-height:66px;padding:12px 9px}.home-page .flow-node strong{font-size:.75rem}.home-page .flow-node small{font-size:.5625rem;letter-spacing:0}
  .home-page .process-detail{min-height:76px;font-size:.8125rem}.home-page .board-head{font-size:.75rem}.hero-baseline{font-size:.625rem;gap:12px;padding-top:18px;padding-bottom:19px;margin-top:20px}.baseline-track i{width:45px}
  .motion-toggle{left:12px;bottom:12px;min-height:44px;padding:10px 13px}.motion-toggle-label{font-size:.6875rem}
  .project-copy:before{display:none}.method-steps:after{top:0;left:0;width:2px;height:100%;transform:scaleY(var(--method-progress,0));transform-origin:top}.method-steps{padding-left:17px}.method-steps li{gap:8px 12px;grid-template-columns:36px 1fr}.method-steps li>span{font-size:1.8rem}
  .standards-section:after{font-size:90vw;right:-20vw}.footer{padding-bottom:52px}.exhibit-flow span+span:before{left:-17px}
}
@media(max-width:360px){.engine-scene{height:310px}.home-page .flow-node{padding:10px 6px}.home-page .flow-node strong{font-size:.6875rem}.home-page .flow-node small{font-size:.5625rem}.hero-baseline{gap:8px;font-size:.5625rem}.hero-baseline .baseline-track{min-width:25px}}
@media(prefers-reduced-motion:no-preference){
  .motion-running.hero-in-view .hero-light{animation:light-drift 20s ease-in-out infinite alternate}
  .motion-running.hero-in-view .baseline-track i{animation:baseline-flow 4s ease-in-out infinite}
  .motion-running .motion-toggle-icon i{animation:motion-bars 1.3s ease-in-out infinite alternate}.motion-running .motion-toggle-icon i:nth-child(2){animation-delay:-.8s}.motion-running .motion-toggle-icon i:nth-child(3){animation-delay:-.4s}
}
@keyframes light-drift{to{transform:rotate(12deg) translateY(3%)}}
@keyframes baseline-flow{0%{transform:translateX(-90px)}100%{transform:translateX(90vw)}}
@keyframes motion-bars{to{transform:scaleY(.4)}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after,.page-idle *,.page-idle *:before,.page-idle *:after{animation-play-state:paused!important}
.motion-paused{scroll-behavior:auto}.motion-paused .hero-light,.motion-paused .case-exhibit>*{translate:none!important}.motion-paused .engine-canvas{transition:none}
.motion-paused .btn,.motion-paused .btn:before,.motion-paused .arrow,.motion-paused .case-exhibit:after,.motion-paused .faq-list summary:after{transition:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.engine-canvas{opacity:1}.motion-word{transform:none!important;opacity:1!important}}

/* Cross-page continuity in supporting browsers; ordinary links elsewhere. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .35s ease both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.motion-paused::view-transition-group(root),.motion-paused::view-transition-old(root),.motion-paused::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.home-page .flow-node small{font-size:.6875rem;line-height:1.5}
.home-page .flow-node strong{font-size:.875rem;line-height:1.25}
@media(max-width:1100px) and (min-width:761px){.home-page .hero-actions{gap:12px 18px}.home-page .flow-node small{font-size:.625rem}.home-page .flow-node strong{font-size:.8125rem}}
@media(max-width:760px){.home-page .flow-node small{font-size:.625rem}.home-page .flow-node strong{font-size:.8125rem}.home-page .flow-node{min-height:79px}}
@media(max-width:360px){.home-page .flow-node strong{font-size:.75rem}}
/* Proof captions remain readable on the new dark showcases. */
.project-summary .case-exhibit:before{opacity:.24}
.project-summary .exhibit-caption,.project-summary .exhibit-flow{color:#d2d8c3}
.motion-paused .case-exhibit .teaser-phone,.motion-paused .case-exhibit .teaser-board{rotate:none!important}

/* The V4 numberless method uses one real content column on mobile. */
@media(max-width:760px){
  .method-steps li{grid-template-columns:minmax(0,1fr)}
  .method-steps h3,.method-steps p{grid-column:1}
  .standards-section:after{content:none!important;display:none!important}
}
