:root {
  --paper:#ECE7F2;
  --paper-2:#E2DBEC;
  --paper-3:#D6CCE4;
  --card:#F8F5FB;
  --ink:#1A1611;
  --ink-2:#5C5345;
  --ink-3:#857B69;
  --line:#1A1611;
  --purple:#5C28A4;
  --purple-deep:#41186F;
  --peri:#9385E6;
  --peri-soft:#C9C1F2;
  --maxw:1280px;
  --pad:40px;
  --hair:2px;
  --font-product:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-marketing:'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:'Geist Mono', ui-monospace, 'SF Mono', Menlo, Monaco, monospace;
}

*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body.pricing-page { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-product); font-feature-settings:"ss01"; }
.pricing-page main { overflow:hidden; }
.pricing-page a:focus-visible { outline:3px solid var(--purple); outline-offset:4px; }
.pricing-wrap { position:relative; width:min(100%, var(--maxw)); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

.pricing-hero { position:relative; min-height:760px; padding:104px 0 96px; border-bottom:2px solid var(--line); isolation:isolate; }
.pricing-grid { position:absolute; inset:0; z-index:-3; opacity:.62; background-image:linear-gradient(rgba(92,40,164,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(92,40,164,.08) 1px, transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom, #000 0%, rgba(0,0,0,.7) 65%, transparent 100%); }
.pricing-hero::before { content:""; position:absolute; z-index:-2; width:520px; height:520px; top:-230px; right:7%; border:2px solid rgba(92,40,164,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(147,133,230,.05),0 0 0 138px rgba(92,40,164,.035); }
.pricing-hero::after { content:""; position:absolute; z-index:-1; width:190px; height:58px; left:-34px; bottom:64px; transform:rotate(-8deg); background:repeating-linear-gradient(135deg, var(--peri) 0 4px, transparent 4px 11px); opacity:.35; }
.pricing-orbit { position:absolute; z-index:-1; border:2px solid var(--line); background:var(--peri); }
.pricing-orbit-one { width:16px; height:16px; border-radius:50%; left:7%; top:102px; box-shadow:4px 4px 0 var(--ink); }
.pricing-orbit-two { width:34px; height:34px; right:4%; bottom:92px; transform:rotate(12deg); background:var(--purple); box-shadow:6px 6px 0 var(--ink); }
.pricing-hero-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(400px,.78fr); align-items:center; gap:clamp(64px,8vw,116px); }
.pricing-copy { padding-top:2px; }
.pricing-eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 24px; padding:9px 12px; border:2px solid var(--line); background:var(--card); box-shadow:4px 4px 0 var(--ink); font:700 11px/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.pricing-eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--purple); box-shadow:0 0 0 4px rgba(92,40,164,.14); }
.pricing-copy h1 { max-width:760px; margin:0; font:650 clamp(48px,5.7vw,78px)/.98 var(--font-marketing); letter-spacing:-.055em; }
.pricing-copy h1 mark { position:relative; z-index:0; color:inherit; background:none; white-space:nowrap; }
.pricing-copy h1 mark::after { content:""; position:absolute; z-index:-1; left:-3px; right:-5px; bottom:.04em; height:.28em; transform:rotate(-1deg); background:var(--peri); opacity:.72; }
.pricing-lead { max-width:670px; margin:28px 0 0; font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:var(--ink-2); }
.pricing-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 24px; margin-top:34px; }
.pricing-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:0 24px; border:2px solid var(--line); border-radius:0; text-decoration:none; font-size:15px; font-weight:700; transition:transform .14s ease, box-shadow .14s ease, background .14s ease; }
.pricing-button span { font-size:19px; line-height:1; }
.pricing-button-primary { color:var(--paper); background:var(--ink); box-shadow:5px 5px 0 var(--purple); }
.pricing-button-primary:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--purple); }
.pricing-text-link { display:inline-flex; align-items:center; gap:8px; padding:8px 0; color:var(--ink); font-weight:650; text-decoration-thickness:1.5px; text-underline-offset:5px; }
.pricing-text-link:hover { color:var(--purple); }
.pricing-fineprint { margin:24px 0 0; color:var(--ink-3); font:600 11px/1.6 var(--font-mono); letter-spacing:.025em; }
.pricing-fineprint span { padding:0 5px; color:var(--purple); }

.pilot-card { position:relative; border:2px solid var(--line); background:var(--card); box-shadow:14px 14px 0 var(--purple); }
.pilot-card::before, .pilot-card::after { content:""; position:absolute; width:24px; height:24px; top:128px; border:2px solid var(--line); border-radius:50%; background:var(--paper); }
.pilot-card::before { left:-14px; }
.pilot-card::after { right:-14px; }
.pilot-price { display:flex; align-items:flex-end; gap:14px; padding:22px 26px 18px; border-bottom:2px dashed rgba(26,22,17,.34); }
.pilot-price-value { font:700 clamp(84px,9vw,124px)/.78 var(--font-marketing); letter-spacing:-.075em; color:var(--purple); }
.pilot-price-term { padding-bottom:5px; font:700 11px/1.25 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.pilot-summary { margin:0; padding:24px 26px 18px; color:var(--ink-2); font-size:15px; line-height:1.55; }
.pilot-list { display:grid; gap:0; margin:0 26px; padding:0; list-style:none; border-top:1px solid rgba(26,22,17,.16); }
.pilot-list li { display:grid; grid-template-columns:18px 1fr; gap:10px; padding:12px 0; border-bottom:1px solid rgba(26,22,17,.16); font-size:14px; line-height:1.4; }
.pilot-list li span { color:var(--purple); font-weight:900; }
.pilot-list .pilot-list-featured { margin:8px -8px 0; padding:13px 8px; border:2px solid var(--line); background:var(--peri-soft); font-weight:700; box-shadow:4px 4px 0 var(--ink); }
.pricing-button-card { width:calc(100% - 52px); margin:26px 26px 0; color:var(--paper); background:var(--purple); box-shadow:5px 5px 0 var(--ink); }
.pricing-button-card:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--ink); }
.pilot-note { margin:16px 26px 24px; font:500 10.5px/1.55 var(--font-mono); color:var(--ink-3); }
.pilot-stamp { position:absolute; right:-28px; top:-30px; display:grid; place-items:center; width:90px; height:90px; border:2px solid var(--line); border-radius:50%; transform:rotate(9deg); background:var(--peri); box-shadow:5px 5px 0 var(--ink); font:800 10px/1.2 var(--font-mono); letter-spacing:.07em; text-align:center; text-transform:uppercase; }

.pricing-path { padding:104px 0 112px; background:var(--card); border-bottom:2px solid var(--line); }
.pricing-section-heading { display:grid; grid-template-columns:.55fr 1.45fr; gap:40px; align-items:start; margin-bottom:52px; }
.pricing-kicker { margin:7px 0 0; font:700 11px/1.2 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; color:var(--purple); }
.pricing-section-heading h2 { margin:0; font:650 clamp(36px,4.2vw,60px)/1.03 var(--font-marketing); letter-spacing:-.045em; }
.pricing-steps { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0; list-style:none; border:2px solid var(--line); box-shadow:10px 10px 0 var(--paper-3); }
.pricing-steps li { position:relative; min-height:336px; padding:28px 28px 34px; background:var(--paper); }
.pricing-steps li + li { border-left:2px solid var(--line); }
.pricing-steps li:nth-child(2) { background:var(--paper-2); }
.pricing-steps li:nth-child(3) { background:var(--peri-soft); }
.pricing-step-number { display:block; font:700 72px/.8 var(--font-marketing); letter-spacing:-.07em; color:rgba(92,40,164,.16); }
.pricing-step-label { margin:44px 0 12px; font:700 10.5px/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--purple); }
.pricing-steps h3 { margin:0; font:650 26px/1.12 var(--font-marketing); letter-spacing:-.025em; }
.pricing-steps li > p:last-child { margin:14px 0 0; color:var(--ink-2); font-size:15px; line-height:1.6; }

@media (max-width:1050px) {
  :root { --pad:32px; }
  .pricing-hero { padding-top:84px; }
  .pricing-hero-layout { grid-template-columns:1fr; gap:70px; }
  .pricing-copy { max-width:820px; }
  .pilot-card { width:min(100%,660px); margin:0 auto; }
  .pricing-section-heading { grid-template-columns:1fr; gap:14px; }
}

@media (max-width:767px) {
  :root { --pad:16px; }
  .pricing-hero { min-height:0; padding:66px 0 76px; }
  .pricing-hero::before { width:340px; height:340px; top:-180px; right:-180px; }
  .pricing-orbit-one { left:auto; right:20px; top:28px; }
  .pricing-orbit-two { display:none; }
  .pricing-hero-layout { gap:58px; }
  .pricing-copy h1 { font-size:clamp(42px,13vw,58px); }
  .pricing-copy h1 mark { white-space:normal; }
  .pricing-lead { margin-top:22px; font-size:17px; }
  .pricing-actions { align-items:stretch; flex-direction:column; gap:14px; margin-top:28px; }
  .pricing-button { width:100%; }
  .pricing-text-link { justify-content:center; min-height:46px; }
  .pricing-fineprint { display:flex; flex-wrap:wrap; gap:5px; }
  .pricing-fineprint span { padding:0 2px; }
  .pilot-card { box-shadow:8px 8px 0 var(--purple); }
  .pilot-card::before, .pilot-card::after { top:120px; }
  .pilot-price { padding-left:22px; padding-right:22px; }
  .pilot-price-value { font-size:94px; }
  .pilot-summary { padding-left:22px; padding-right:22px; }
  .pilot-list { margin-left:22px; margin-right:22px; }
  .pricing-button-card { width:calc(100% - 44px); margin-left:22px; margin-right:22px; }
  .pilot-note { margin-left:22px; margin-right:22px; }
  .pilot-stamp { width:78px; height:78px; right:-4px; top:-42px; font-size:9px; }
  .pricing-path { padding:76px 0 84px; }
  .pricing-section-heading { margin-bottom:34px; }
  .pricing-steps { grid-template-columns:1fr; box-shadow:7px 7px 0 var(--paper-3); }
  .pricing-steps li { min-height:0; padding:26px 24px 30px; }
  .pricing-steps li + li { border-left:0; border-top:2px solid var(--line); }
  .pricing-step-number { position:absolute; right:22px; top:26px; font-size:62px; }
  .pricing-step-label { margin-top:0; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .pricing-button { transition:none; }
}
