

:root{

  --bg-tint:#F2F7FF;
  --bg-tint-2:#E8F0FE;
  --paper:#FFFFFF;
  --glass-fill:rgba(255,255,255,.74);
  --glass-edge:rgba(37,99,235,.16);
  --glass-shadow:0 10px 30px rgba(16,42,80,.08), 0 1px 2px rgba(16,42,80,.05);
  --glass-shadow-lift:0 18px 44px rgba(16,42,80,.14), 0 2px 6px rgba(16,42,80,.07);

  --ink:#0A1622; --ink-2:#0A1622;
  --fg:#0A1622; --fg-mute:#2B3A4E; --fg-dim:#45566C;
  --mute:#2B3A4E; --dim:#45566C;
  --panel:#FFFFFF;
  --line:rgba(16,42,80,.12);

  --blue:#1D4ED8; --blue-lift:#1D4ED8;
  --amber:#92400E; --amber-soft:#F59E0B;

  --ease:cubic-bezier(.2,.8,.2,1);
}

html{background:var(--bg-tint)}
body{
  background:
    radial-gradient(60rem 40rem at 12% -8%, #DCE9FF 0%, rgba(220,233,255,0) 62%),
    radial-gradient(52rem 36rem at 96% 4%, #E6F0FF 0%, rgba(230,240,255,0) 58%),
    radial-gradient(44rem 32rem at 50% 108%, #FFF3DF 0%, rgba(255,243,223,0) 60%),
    var(--bg-tint);
  background-attachment:fixed;
  color:var(--fg-mute);
}

.mesh .orb{opacity:.20;filter:blur(96px)}
.orb-1{background:#7AA7FF}
.orb-2{background:#A9C6FF}
.orb-3{background:#FFD79A;opacity:.24}
.grid-vein{
  background-image:
    repeating-linear-gradient(to right,rgba(16,42,80,.045) 0 1px,transparent 1px 66px),
    repeating-linear-gradient(to bottom,rgba(16,42,80,.045) 0 1px,transparent 1px 66px);
}

h1,h2,h3,h4,strong,b{color:var(--ink)}
p,li,td{color:var(--fg-mute)}
.eyebrow,.slab{color:var(--amber)}
.slab::after{background:linear-gradient(90deg,rgba(16,42,80,.18),transparent)}
a{color:var(--blue)}
a:hover{color:#1D4ED8}
em.hi{color:var(--blue)}
@supports (background-clip:text) or (-webkit-background-clip:text){
  em.hi{background:linear-gradient(100deg,#2563EB,#B45309);
    -webkit-background-clip:text;background-clip:text;color:transparent}
}

.glass,.note,.contact-card,.cta-strip,.card,.wk,.price,.step,.honest,.tile,.setcard,.preview{
  background:var(--glass-fill);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  backdrop-filter:blur(14px) saturate(150%);
  border:1px solid var(--glass-edge);
  box-shadow:var(--glass-shadow);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
}

.glass::before{display:none}

.contact-card:hover,.card:hover,.wk:hover,.price:hover,.tile:hover{
  transform:translateY(-3px);
  box-shadow:var(--glass-shadow-lift);
  border-color:rgba(37,99,235,.30);
}
@media (prefers-reduced-motion:reduce){
  .contact-card:hover,.card:hover,.wk:hover,.price:hover,.tile:hover{transform:none}
}

.callout{background:rgba(245,158,11,.10);border-left:3px solid var(--amber-soft)}
.callout strong{color:var(--amber)}

.btn{
  position:relative;overflow:hidden;
  color:#1A1206;
  background:linear-gradient(120deg,#FBBF24,#F59E0B);
  box-shadow:0 8px 22px rgba(245,158,11,.30), inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .24s var(--ease), box-shadow .24s var(--ease);
}
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 32px rgba(245,158,11,.40), inset 0 1px 0 rgba(255,255,255,.55)}
.btn:active{transform:translateY(0) scale(.995)}

.btn::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);
  transform:translateX(-120%);
}
.btn:hover::after{transform:translateX(120%);transition:transform .7s var(--ease)}
@media (prefers-reduced-motion:reduce){
  .btn:hover{transform:none}
  .btn::after{display:none}
}
.btn-ghost{
  background:var(--paper);color:var(--ink);
  border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
.btn-ghost:hover{background:#F7FAFF;border-color:rgba(37,99,235,.34);box-shadow:var(--glass-shadow-lift)}

.topbar,.top,.nav{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--line);
}
.brand,.mark,.logo-chip{color:var(--ink)}

.logo-chip{background:transparent;box-shadow:none}
.nav-links a,.back{color:var(--fg-mute)}
.nav-links a:hover,.back:hover{color:var(--blue)}

.navtoggle{background:rgba(37,99,235,.06);border:1px solid var(--glass-edge)}
.navtoggle span,.navtoggle span::before,.navtoggle span::after{background:var(--ink)}
.navsheet{
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
  box-shadow:0 18px 40px rgba(16,42,80,.12);
}
.navsheet a{color:var(--ink)}
.navsheet a:hover,.navsheet a:focus-visible{background:rgba(37,99,235,.07);color:var(--blue)}
.navsheet .sheet-cta{color:#1A1206;background:linear-gradient(120deg,#FBBF24,#F59E0B)}
.navsheet .sheet-cta:hover{color:#1A1206}

input,select,textarea{
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--ink);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
input::placeholder,textarea::placeholder{color:var(--fg-dim)}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.16);
}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

table{color:var(--fg-mute)}
th{color:var(--fg-dim);border-bottom:1px solid var(--line)}
tr{border-color:var(--line)}
tbody tr{transition:background .18s var(--ease)}
tbody tr:hover{background:rgba(37,99,235,.045)}
td{border-bottom:1px solid var(--line)}

details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{color:var(--ink)}
summary::after{color:var(--amber)}
hr,.divider{border-color:var(--line)}
.foot,.ffoot{border-top:1px solid var(--line)}
.foot-mark{color:var(--ink)}
.foot-links a,.foot-tag,.foot-note{color:var(--fg-mute)}
.foot-links a:hover{color:var(--blue)}
.pill{background:rgba(37,99,235,.10);color:#1D4ED8;border:1px solid rgba(37,99,235,.22)}
.updated{color:var(--fg-dim);border-bottom:1px solid var(--line)}
::selection{background:rgba(37,99,235,.18);color:var(--ink)}

@media (prefers-reduced-motion:no-preference){
  main > *,.wrap > section{animation:fgrise .5s var(--ease) both}
  @keyframes fgrise{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}
}

@media print{
  body{background:#fff}
  .glass,.note,.contact-card,.cta-strip,.card,.tile{box-shadow:none;background:#fff;border:1px solid #ccd}
}

.contact-card a,
.contact-card span:not(.lbl),
h3.grp,
.price-band .price b,
.q-txt,
legend .q-txt{ color:var(--ink) }
.contact-card a:hover{ color:var(--blue) }

header.top{
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--line);
}
header.top h1,header.top .who{ color:var(--ink) }
nav.tabs{ background:transparent; border-bottom:1px solid var(--line) }
nav.tabs button{ color:var(--fg-mute) }
nav.tabs button:hover{ color:var(--blue) }
nav.tabs button[aria-selected="true"]{ color:var(--ink) }

.pill{ border:1px solid transparent }
.pill.paid{      background:rgba(6,95,70,.10);  color:#065F46; border-color:rgba(6,95,70,.22) }
.pill.abandoned{ background:rgba(146,64,14,.10); color:#92400E; border-color:rgba(146,64,14,.22) }
.pill.failed{    background:rgba(153,27,27,.10); color:#991B1B; border-color:rgba(153,27,27,.22) }
.pill.started{   background:rgba(29,78,216,.10); color:#1D4ED8; border-color:rgba(29,78,216,.22) }
.pill i{ background:currentColor }

.btn,.btn:hover,.btn:visited,.navsheet .sheet-cta{ color:#1A1206 }

.flow::before{ background:var(--line) }

.step{ padding-inline:18px }
@media (min-width:761px){ .step{ padding-inline:24px } }

.wf-card .stack{ border-top-color:var(--line) }
.step::before{
  background:var(--paper,#fff);
  border:2px solid var(--line);
  box-shadow:0 0 0 3px #fff;
}
.step.lit::before{
  background:var(--amber);
  border-color:var(--amber);
}

.logo-chip img,
.nav-in > a:first-child img{ height:34px!important; width:auto!important }
@media (max-width:359px){
  .logo-chip img,
  .nav-in > a:first-child img{ height:29px!important; width:auto!important }
}

main p a,main li a,.foot-note a{ text-decoration:underline; text-underline-offset:2px }

.skip:focus{ background:var(--amber-soft); color:#1A1206 }
.seg button[aria-pressed="true"]{ color:#FFFFFF }

.note{
  background:rgba(245,158,11,.10);
  border:1px solid rgba(146,64,14,.26);
  color:var(--ink);
}
.note b,.note strong{ color:var(--ink); font-weight:700 }
.note a{ color:var(--blue) }

.savebar{
  background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(16,42,80,.07);
}
.savebar .n{ color:var(--fg-mute) }

.hint,.blurb,.empty,.cap,.sub{ color:var(--fg-mute) }

.drawer{
  background:rgba(255,255,255,.98);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
  box-shadow:0 18px 40px rgba(16,42,80,.14);
}
.drawer a,.drawer a.dt{ color:var(--ink) }
.drawer a.dt-gold{ color:var(--amber); font-weight:700 }
.drawer a.dt-wa{ color:#0F6B43; font-weight:700 }
.drawer a.dt:hover,.drawer a.dt:focus-visible{
  background:rgba(37,99,235,.07); color:var(--blue); border-color:rgba(37,99,235,.28);
}
.drawer a.dt-audit{
  background:linear-gradient(120deg,#FBBF24,#F59E0B);
  color:#1A1206; border-color:transparent; font-weight:700;
}
.drawer a.dt-audit:hover,.drawer a.dt-audit:focus-visible{ color:#1A1206; background:linear-gradient(120deg,#FCC93F,#EA8C06) }
.drawer .dr-contact a{ color:var(--blue) }
.drawer .dr-who,.drawer .dr-who b{ color:var(--fg-mute) }
.drawer .dr-who b{ color:var(--amber) }

.skip,.skip:focus{ background:#FFFFFF; color:var(--ink); border:2px solid var(--blue); font-weight:700 }

.cta-proof b,.cta-proof strong{ color:var(--ink) }
.cta-proof span{ color:var(--fg-mute) }

.drawer .dr-contact a:first-child{ color:#0F6B43; font-weight:700 }
.drawer .dr-contact a:first-child:hover{ color:#0B5233 }

.opt{
  background:#FFFFFF;
  border-color:rgba(16,42,80,.16);
  color:var(--ink);
}

.opt:hover{ border-color:var(--blue); background:#F7FAFF; color:var(--ink) }

.opt.is-on{ border-color:#D97706; background:#FFF7EA; color:var(--ink) }
.opt.is-on *{ color:var(--ink) }
.opt.is-on .dot{ border-color:#D97706 }
.opt.is-on .dot::after{ background:#D97706 }

.opt:has(input:checked){ border-color:#D97706; background:#FFF7EA; color:var(--ink) }
.opt input:checked ~ .dot ~ *{ color:var(--ink) }
.opt input:checked ~ .dot{ border-color:#D97706 }
.opt input:checked ~ .dot::after{ background:#D97706 }

.dot{ border-color:#8695A6; background:#FFFFFF }
.opt:hover .dot{ border-color:var(--blue) }

.tick{ background:#EDF9F2; border-color:#8FCFAE; color:var(--ink) }
.tick:hover{ border-color:#3F9D6D }

.box{ border-color:#5F7183; background:#FFFFFF }
.tick:hover .box{ border-color:#3F9D6D }
.tick input:checked ~ .box{ background:#15803D; border-color:#15803D }
.tick input:checked ~ .box::after{ border-color:#FFFFFF }

.opt input:focus-visible ~ .dot,
.tick input:focus-visible ~ .box{ box-shadow:0 0 0 3px rgba(29,78,216,.35) }
