/* Brand geometry and interaction. Backgrounds use flat fills and vector lines. */
body::after {
  content:""; position:fixed; inset:0; z-index:7; pointer-events:none;
  background:url('assets/grain.svg'); opacity:.035; mix-blend-mode:soft-light;
}
.reading-progress {position:fixed;inset:0 0 auto;height:2px;z-index:8;pointer-events:none}
.reading-progress span {display:block;height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}
.site-header {position:sticky;top:var(--s200);background:#272727db;box-shadow:0 8px 32px #0002;transition:transform 500ms var(--curve),background-color 300ms var(--curve)}
.site-header.is-scrolled {background:#181818f0}
.desktop-nav a {position:relative}
.desktop-nav a::after {content:"";position:absolute;inset:auto 0 4px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--curve)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after {transform:scaleX(1)}
[data-scene] {position:relative;isolation:isolate}
.hero-stage,.approach,.solutions-stage,.mechanics,.pricing,.team-stage,.request-section {overflow:clip}
.scene-art {position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.scene-art svg {width:100%;height:100%;max-width:none;transform:translate3d(var(--field-x,0px),var(--field-y,0px),0);overflow:visible}
.hero-field {inset:-80px -32px 0}
.field-orbits {transform-origin:1140px 480px;transform:rotate(var(--orbit-turn,-12deg))}
.scene-packet {opacity:0}
.hero-stage .hero {position:relative;padding-bottom:var(--s300)}
.hero-copy {position:relative;z-index:1}
.hero .eyebrow {color:#bfc0a8}
.hero .status-dot {box-shadow:0 0 0 4px #cad40718}
.hero-description {color:#d2d3ca}
.hero-visual {perspective:1200px}
.pulse-panel {
  position:relative;background:#181818eb;backdrop-filter:blur(12px);
  box-shadow:0 32px 64px #0005,16px 16px 0 #cad4070a;
  transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform 700ms var(--curve);
}
.pulse-panel::before {
  content:"";position:absolute;inset:-8px;border:1px solid #cad40726;
  border-radius:24px;pointer-events:none;
}
.visual-caption {color:#c8cbb2}
.task-preview {box-shadow:0 8px 24px #0003}
.task-preview.is-switching {pointer-events:none}
.route-connector {position:relative}
.route-connector::after {content:"";position:absolute;width:4px;height:4px;background:var(--lime);border-radius:50%;opacity:0;left:calc(50% - 2px);top:8px}
.route-connector.is-transferring::after {animation:task-transfer 650ms var(--curve) both}
@keyframes task-transfer {0%{opacity:0;transform:translateY(-8px)}30%{opacity:1}100%{opacity:0;transform:translateY(24px)}}
.hero-foot {border-top-color:#cad40736;background:#1a1a1a80;position:relative;z-index:1}
.effects-ready .hero-copy>* {animation:hero-arrive 900ms var(--curve) both}
.effects-ready .hero-copy>:nth-child(2) {animation-delay:80ms}
.effects-ready .hero-copy>:nth-child(3) {animation-delay:160ms}
.effects-ready .hero-copy>:nth-child(4) {animation-delay:240ms}
.effects-ready .hero-copy>:nth-child(5) {animation-delay:320ms}
.effects-ready .hero-visual {animation:panel-arrive 1100ms 140ms var(--curve) both}
@keyframes hero-arrive {from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-arrive {from{opacity:0;transform:translateY(32px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}

.approach {background:#1f1f1f}
.approach::before {
  content:"";position:absolute;z-index:-1;right:-320px;top:80px;width:720px;height:720px;
  border:1px solid #cad40724;border-radius:50%;box-shadow:0 0 0 80px #cad40705;
  transform:translateY(var(--scene-shift,0px));pointer-events:none;
}
.section-head {position:relative;padding-bottom:var(--s300)}
.section-head::after {
  content:"";position:absolute;inset:auto 0 0;height:1px;background:#cad40742;
  transform:scaleX(1);transform-origin:left;transition:transform 1100ms var(--curve);
}
.motion-ready .section-head.is-pending::after {transform:scaleX(0)}
.motion-ready .reveal {transition-delay:var(--reveal-delay,0ms)}
.benefit {background:#1a1a1ad9;border-color:#4c4f3c}
.benefit-index {width:40px;height:40px;display:grid;place-items:center;border:1px solid #cad40745;border-radius:8px;color:var(--lime)}
.tagline-block {padding:var(--s600) 0;margin-top:var(--s600)}
.tagline-block::before {content:"";position:absolute;inset:0 -32px;background:#131209;border-radius:16px;z-index:-1}
.tagline-symbol {color:var(--pink);transform:translate3d(0,var(--scene-shift,0px),0) rotate(-8deg)}
.tagline-label {color:#b4b5a6}

.solutions-stage {background:#181818}
.solution-field {opacity:.85}
.solutions {position:relative}
.section-watermark {
  position:absolute;top:var(--s400);right:var(--s400);font:600 128px/1 Oswald,sans-serif;
  white-space:nowrap;color:#cad4070b;pointer-events:none;z-index:-1;letter-spacing:-.025em;
  transform:translate3d(var(--watermark-x,0px),0,0);
}
.solution-grid {overflow-anchor:none;position:relative}
.solution-card {
  position:relative;background:#1f1f1ff2;border-color:#454938;
  transition:transform 650ms var(--curve),opacity 700ms var(--curve),background-color 300ms var(--curve);
}
.solution-card:not(.is-pending) {transform:perspective(1000px) translateY(var(--card-lift,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.solution-card::before {
  content:"";position:absolute;inset:8px;border:1px solid #cad4071f;border-radius:4px;
  opacity:0;pointer-events:none;transition:opacity 300ms var(--curve);
}
.solution-card:hover,.solution-card:focus-within {--card-lift:-8px;background:#272727;box-shadow:0 24px 48px #0005}
.solution-card:hover::before,.solution-card:focus-within::before {opacity:1}
.solution-arrow {width:40px;height:40px;border:1px solid #cad40728;border-radius:8px;display:grid;place-items:center;transition:transform 500ms var(--curve),background-color 300ms var(--curve)}
.solution-card:hover .solution-arrow {transform:rotate(45deg);background:#cad40714}
.solution-metric {background:#13120980}
.solution-custom {position:relative;overflow:hidden;isolation:isolate}
.solution-custom::after {content:"";position:absolute;width:320px;height:320px;right:-160px;bottom:-160px;border:32px solid #1a1a1a0d;border-radius:50%;z-index:-1;transform:translate3d(0,var(--scene-shift,0px),0)}
.scope-tags>span {background:#181818c9;transition:transform 500ms var(--curve),color 300ms var(--curve),background-color 300ms var(--curve)}
.scope-tags>span:hover {transform:translateY(-4px);background:#272727;color:var(--lime)}

.mechanics {background:#131209}
.mechanics-field {opacity:.7}
.mechanics-copy {position:relative}
.process-chain li {background:#1a1a1ae8;backdrop-filter:blur(8px);box-shadow:0 8px 24px #0002}
.chain-index {background:#131209}
.process-chain li:hover .chain-index {background:var(--lime);color:var(--bg)}
.step {position:relative}
.step-head>.heading-2 {color:#959777}
.step-head {position:relative;padding-bottom:var(--s200)}
.step-head::after {content:"";position:absolute;inset:auto 0 0;height:1px;background:#cad4074d;transform-origin:left;transform:scaleX(1);transition:transform 900ms var(--curve)}
.step.is-pending .step-head::after {transform:scaleX(0)}
.trial-strip {background:#272727 url('assets/grain.svg');position:relative;overflow:hidden}
.trial-strip::after {content:"↗";position:absolute;right:32%;bottom:-32px;font:400 128px/1 Oswald,sans-serif;color:#cad4070a;pointer-events:none}
.pricing {background:#1f1f1f}
.pricing::before {content:"";position:absolute;z-index:-1;width:880px;height:880px;left:-440px;top:-240px;border:1px solid #cad40721;border-radius:50%;box-shadow:0 0 0 80px #cad40704;transform:translateY(var(--scene-shift,0px))}
.pricing::after {content:"";position:absolute;z-index:-1;width:12px;height:12px;right:var(--s900);top:var(--s900);background:var(--pink);transform:translateY(var(--scene-shift,0px)) rotate(45deg)}
.calculator {background:#181818e8;border-color:#53563e}
.price-card {background:#181818eb;box-shadow:0 24px 48px #0002;transition:transform 500ms var(--curve)}
.price-card:hover,.price-card:focus-within {transform:translateY(-8px);box-shadow:0 32px 64px #0004}
.price-featured {background:#131209}
.price-featured .price-label {display:inline-flex;padding:var(--s75) var(--s100);background:#cad40714;border-radius:4px;justify-self:start}
.points-control output,.price-total strong {display:inline-block}

.team-stage {background:#efefe3;color:var(--bg);--ink:#1a1a1a;--muted:#5b5e51;--line:#c3c6b5}
.team-stage::before {content:"";position:absolute;width:640px;height:640px;left:-400px;top:160px;border:1px solid #aeb191;border-radius:50%;box-shadow:0 0 0 64px #cad40716;z-index:-1;pointer-events:none;transform:translateY(var(--scene-shift,0px))}
.team-stage .section-number {color:var(--pink)}
.team-main .eyebrow {color:#686c59}
.team-main>.text-link,.team-stage .lime {color:#626900}
.team-principles article {background:#fffffa80;border-color:#c3c6b5}
.team-principles article .caption-3 {color:#626900}
.team-stage :focus-visible {outline-color:#626900}
.security {background:#181818}
.security-mark {background:#cad4070b}
.faq-list details {transition:background-color 300ms var(--curve)}
.faq-list details[open] {background:#272727}
.request-section {position:relative;isolation:isolate}
.request-section::before {content:"";position:absolute;width:800px;height:800px;left:-400px;bottom:-320px;border:1px solid #1a1a1a1f;border-radius:50%;box-shadow:0 0 0 64px #1a1a1a07;z-index:-1;pointer-events:none}
.form-card {box-shadow:0 32px 64px #3b400036}

.button-primary {position:relative;isolation:isolate;overflow:hidden}
.button-primary::before {content:"";position:absolute;inset:-32px auto -32px -80px;width:48px;background:#ffffff52;transform:translateX(0) skewX(-20deg);opacity:0;z-index:-1;pointer-events:none}
.button-primary:hover::before,.button-primary:focus-visible::before {animation:button-light 850ms var(--curve) both}
@keyframes button-light {0%{opacity:0;transform:translateX(0) skewX(-20deg)}20%{opacity:1}100%{opacity:0;transform:translateX(520px) skewX(-20deg)}}
.button>span[aria-hidden] {transition:transform 500ms var(--curve)}
.button:hover>span[aria-hidden] {transform:translate(2px,-2px)}
.plain-button:disabled {cursor:default;opacity:.6}
.motion-reduced {scroll-behavior:auto}
.motion-reduced *,.motion-reduced *::before,.motion-reduced *::after {animation:none!important;transition-duration:0ms!important}
.motion-reduced .reveal.is-pending,.motion-reduced .section-head.is-pending>h2,.motion-reduced .hero-copy>*,.motion-reduced .hero-visual,.motion-reduced .mobile-menu nav a {opacity:1!important;transform:none!important}
.motion-reduced .tagline span {opacity:1}
.motion-reduced .scene-art svg,.motion-reduced .field-orbits,.motion-reduced .section-watermark,.motion-reduced .tagline-symbol,.motion-reduced .pulse-panel {transform:none!important}
.motion-reduced .scene-packet {display:none}
.motion-reduced .solution-card:not(.is-pending),.motion-reduced .price-card:hover,.motion-reduced .scope-tags>span:hover {transform:none}
.motion-reduced .section-head::after,.motion-reduced .step-head::after {transform:scaleX(1)}

@media(min-width:761px) {
  .effects-ready .section-head>h2 {transition:transform 1000ms var(--curve),opacity 700ms var(--curve)}
  .motion-ready .section-head.is-pending>h2 {transform:translateY(16px);opacity:0}
}
@media(max-width:1100px) {.section-watermark{font-size:96px;top:var(--s300)}}
@media(max-width:760px) {
  html {scroll-padding-top:112px}
  .site-header {top:var(--s75);backdrop-filter:blur(16px)}
  .hero-field {inset:0 -160px 0 -240px;opacity:.65}
  .hero-stage .hero {padding-bottom:0}
  .pulse-panel {backdrop-filter:none;transform:none!important;box-shadow:0 24px 48px #0004,8px 8px 0 #cad4070a}
  .section-head {padding-bottom:var(--s200)}
  .section-watermark {font-size:60px;right:var(--s200);top:var(--s400);opacity:.5}
  .tagline-block {padding-block:var(--s400)}
  .tagline-block::before {inset:0 -16px;border-radius:8px}
  .solution-card:not(.is-pending) {transform:none}
  .solution-card:hover,.solution-card:focus-within {--card-lift:0px}
  .scene-art {opacity:.55}
  .team-stage::before {opacity:.5}
  .process-chain li {backdrop-filter:none}
  .price-card:hover,.price-card:focus-within {transform:none}
  .pricing::after {right:var(--s300);top:var(--s400)}
  .trial-strip::after {right:0}
}
@media(hover:none) {
  .solution-card:hover {--card-lift:0px;background:#1f1f1ff2;box-shadow:none}
  .solution-card:hover::before {opacity:0}
  .button-primary:hover::before {animation:none}
}
@media(prefers-reduced-motion:reduce) {
  .effects-ready .hero-copy>*,.effects-ready .hero-visual {opacity:1;transform:none}
  .scene-art svg,.field-orbits,.section-watermark,.tagline-symbol,.pulse-panel {transform:none!important}
  .solution-card:not(.is-pending),.price-card:hover,.scope-tags>span:hover {transform:none}
  .scene-packet {display:none}
  .section-head::after,.step-head::after {transition:none}
}
