/* ============================================================
   Adelaide SEO Services — design system v2 (2026-09-20)
   "$100k agency" pass: Bricolage Grotesque display, layered
   navy atmosphere, glass proof cards, browser-framed real work.
   Class names preserved from v1 so every page upgrades in place.
   ============================================================ */
:root{
  --paper:#f5f7fa; --card:#ffffff; --ink:#0e1a28; --muted:#51637a; --line:#e2e8f0;
  --navy:#0a2140; --navy-deep:#060f1d; --navy-mid:#0d2b52; --navy-text:#eaf1f8; --navy-sub:#b9cde2; --navy-dim:#7e9cc0;
  --accent:#12b478; --accent-ink:#0b7a52; --accent-deep:#0a6845; --accent-soft:#e0f5ec; --green-glow:#5ef0b0;
  --warn:#a05a00; --warn-soft:#fdf3e3;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --display:'Bricolage Grotesque','Source Sans 3',system-ui,sans-serif;
  --body:'Source Sans 3',system-ui,-apple-system,sans-serif;
  --maxw:1140px; --pad:24px; --radius:16px;
  --shadow-sm:0 1px 2px rgba(14,26,40,.05),0 2px 8px rgba(14,26,40,.05);
  --shadow-md:0 2px 4px rgba(14,26,40,.05),0 12px 32px -8px rgba(14,26,40,.14);
  --shadow-lg:0 4px 8px rgba(6,15,29,.08),0 28px 64px -16px rgba(6,15,29,.28);
  --glow:0 0 0 1px rgba(94,240,176,.14),0 8px 40px -6px rgba(18,180,120,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 16px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
p{margin:12px 0;max-width:70ch}
ul{margin:12px 0;padding-left:22px}
li{margin:6px 0;max-width:66ch}
strong{font-weight:600}
h1,h2,h3{font-family:var(--display);line-height:1.04;text-wrap:balance;margin:0 0 16px;letter-spacing:-.015em}
h1{font-weight:800;font-size:clamp(38px,5.6vw,66px)}
h2{font-weight:700;font-size:clamp(30px,4vw,46px);margin-top:8px}
h3{font-weight:700;font-size:20px;line-height:1.25;letter-spacing:-.005em}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 18px;font-weight:600}
.kicker::before{content:"";display:inline-block;width:26px;height:2px;background:var(--accent);vertical-align:4px;margin-right:12px;border-radius:2px}
.lede{font-size:19.5px;line-height:1.65;color:var(--muted);max-width:60ch}
.section{padding:96px 0}
.section.tight{padding:64px 0}
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.center{text-align:center}
.center p,.center .lede{margin-left:auto;margin-right:auto}
.center .kicker::before{display:none}

/* ---------- header ---------- */
.site-header{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;gap:30px;min-height:76px}
.brand{font-family:var(--display);font-weight:800;font-size:19.5px;color:var(--ink);text-decoration:none;letter-spacing:-.02em;white-space:nowrap;line-height:1.05}
.brand .dot{color:var(--accent)}
.brand small{display:block;font-family:var(--mono);font-weight:400;font-size:9.5px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:3px}
nav.main{margin-left:auto;display:flex;align-items:center;gap:26px}
nav.main a{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;letter-spacing:-.005em}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--accent-ink)}
.btn{display:inline-block;font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:-.005em;padding:14px 26px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 18px -4px rgba(18,180,120,.45)}
.btn-primary:hover{background:var(--accent-ink);color:#fff;box-shadow:0 8px 26px -6px rgba(18,180,120,.55)}
.btn-ghost{border-color:#cfd9e4;color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink)}
.btn-onDark{background:var(--accent);color:#06120c;box-shadow:var(--glow);font-weight:800}
.btn-onDark:hover{background:var(--green-glow);color:#06120c}
.btn-onDark-ghost{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.04)}
.btn-onDark-ghost:hover{border-color:var(--green-glow);color:var(--green-glow)}
nav.main .btn{padding:11px 22px;font-size:14.5px}
.nav-toggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:10px;padding:9px 14px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink);cursor:pointer}
@media(max-width:920px){
  .nav-toggle{display:block}
  nav.main{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:14px var(--pad) 22px;gap:4px;box-shadow:var(--shadow-md)}
  nav.main.open{display:flex}
  nav.main a{padding:11px 4px;font-size:16.5px}
  nav.main .btn{margin-top:10px;text-align:center}
}

/* ---------- dark atmosphere (hero / page-head / cta) ---------- */
.hero,.page-head,.cta-band,.dark{position:relative;background:var(--navy-deep);color:var(--navy-text);overflow:hidden}
.hero::before,.page-head::before,.cta-band::before,.dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(52% 64% at 82% 8%,rgba(18,120,220,.20),transparent 62%),
  radial-gradient(44% 58% at 8% 88%,rgba(18,180,120,.13),transparent 60%),
  linear-gradient(158deg,#081729 0%,var(--navy-deep) 46%,#071a2b 100%)}
.hero::after,.page-head::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(75% 75% at 50% 30%,#000 20%,transparent 90%)}
.hero>.wrap,.page-head>.wrap,.cta-band>.wrap,.dark>.wrap{position:relative;z-index:2}
.hero{padding:96px 0 84px}
.hero h1{color:#fff}
.hero h1 em,.cta-band h2 em,.page-head h1 em{font-style:italic;color:var(--green-glow);font-weight:700}
.hero .kicker{color:var(--green-glow)}
.hero .kicker::before{background:var(--green-glow)}
.hero .lede{color:var(--navy-sub);font-size:20px}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero .btn-row{margin-top:34px}
.page-head{padding:76px 0 60px}
.page-head h1{color:#fff;font-size:clamp(34px,4.6vw,54px)}
.page-head .lede{color:var(--navy-sub)}
.page-head .kicker{color:var(--green-glow)}
.page-head .kicker::before{background:var(--green-glow)}
.cta-band{padding:96px 0;text-align:center}
.cta-band h2{color:#fff;font-size:clamp(32px,4.6vw,52px)}
.cta-band p{color:var(--navy-sub);margin-left:auto;margin-right:auto;font-size:18.5px}
.cta-band .btn-row{justify-content:center;margin-top:30px}

/* ---------- hero split layout ---------- */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:48px}}
.hero-visual{position:relative;min-height:420px}
@media(max-width:980px){.hero-visual{min-height:0;padding-bottom:70px}}
.trusted{margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.trusted b{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-dim);margin-bottom:12px}
.trusted span{font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--navy-sub);white-space:nowrap}
.trusted .row{display:flex;flex-wrap:wrap;gap:10px 26px}

/* ---------- browser frame ---------- */
.browser{background:#0d1826;border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg)}
.browser .bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.08)}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.16)}
.browser .bar i:nth-child(1){background:#ff5f57}.browser .bar i:nth-child(2){background:#febc2e}.browser .bar i:nth-child(3){background:#28c840}
.browser .bar span{margin-left:10px;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser img{width:100%;height:auto}
.on-light .browser{border-color:var(--line)}
.hero-visual .browser{position:relative;z-index:1}
.receipt.float-card,.float-card{position:absolute!important;z-index:3;box-shadow:var(--shadow-lg)}
.float-card.a{right:-10px;bottom:-38px;width:min(300px,78%)}
.float-card.b{left:-18px;top:-30px;width:min(248px,64%)}
@media(max-width:980px){.float-card.a{right:6px;bottom:-8px}.float-card.b{left:6px;top:-20px}}

/* ---------- receipt cards (glass, the proof device) ---------- */
.receipt{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;position:relative;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
a .receipt,.receipt:hover{text-decoration:none}
.receipt::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(var(--green-glow),var(--accent))}
.receipt:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.receipt .q{font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--ink)}
.receipt .q::before{content:"“"}.receipt .q::after{content:"”"}
.receipt .pos{font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.03em;color:var(--accent-ink);line-height:1;margin:10px 0 4px}
.receipt .pos small{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.receipt .meta{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.01em}
.receipt .client{font-family:var(--display);font-weight:700;font-size:14px;margin-top:14px}
.receipt .client a{color:var(--ink);text-decoration:none}
.receipt .client a:hover{color:var(--accent-ink)}
.receipt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:30px 0 8px}
.receipts-dark .receipt{background:linear-gradient(165deg,rgba(255,255,255,.085),rgba(255,255,255,.04));border-color:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 46px -18px rgba(0,0,0,.5)}
.receipts-dark .receipt::before{background:linear-gradient(var(--green-glow),rgba(18,180,120,.35))}
.receipts-dark .receipt .q{color:#fff}
.receipts-dark .receipt .pos{color:var(--green-glow);text-shadow:0 0 34px rgba(94,240,176,.35)}
.receipts-dark .receipt .meta{color:var(--navy-dim)}
.receipts-dark .receipt .client,.receipts-dark .receipt .client a{color:var(--navy-sub)}
.src{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:16px;letter-spacing:.01em}
.hero .src,.receipts-dark .src,.dark .src{color:var(--navy-dim)}

/* ---------- cards & grids ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow-sm)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:920px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card h3{margin-top:0}
.card .more{font-family:var(--display);font-weight:700;font-size:15px}
.card .more a{text-decoration:none}
.card .more a::after{content:" →";transition:margin .15s ease}
.card .more a:hover::after{margin-left:4px}
.icon-num{font-family:var(--display);font-weight:800;font-size:15px;color:var(--accent-ink);background:var(--accent-soft);border-radius:10px;padding:6px 13px;display:inline-block;margin-bottom:14px;letter-spacing:-.01em}
.hover-lift{transition:transform .18s ease,box-shadow .18s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}

/* ---------- comparison (says vs shows) ---------- */
.versus{display:grid;grid-template-columns:1fr 1.08fr;gap:24px;align-items:stretch}
@media(max-width:920px){.versus{grid-template-columns:1fr}}
.versus .them{background:#eef1f5;border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px}
.versus .them h3{color:var(--muted)}
.versus .them li{color:var(--muted)}
.versus .them ul,.versus .us ul{list-style:none;padding:0}
.versus .them li,.versus .us li{padding-left:30px;position:relative;margin:12px 0}
.versus .them li::before{content:"✕";position:absolute;left:2px;color:#b3402e;font-weight:700;opacity:.6}
.versus .us{background:linear-gradient(165deg,#0d2b52,var(--navy-deep));color:var(--navy-text);border:1px solid rgba(94,240,176,.25);border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow-lg)}
.versus .us h3{color:#fff}
.versus .us li::before{content:"✓";position:absolute;left:2px;color:var(--green-glow);font-weight:700}
.versus .us a{color:var(--green-glow)}

/* ---------- work showcase ---------- */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:38px}
@media(max-width:980px){.work-grid{grid-template-columns:1fr}}
.work-card{position:relative;display:block;text-decoration:none;transition:transform .2s ease}
.work-card:hover{transform:translateY(-5px)}
.work-card .chip{position:absolute;z-index:4;left:14px;bottom:52px;background:rgba(6,18,12,.88);backdrop-filter:blur(8px);border:1px solid rgba(94,240,176,.35);color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 12px 30px -10px rgba(0,0,0,.6)}
.work-card .chip b{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;color:var(--green-glow);letter-spacing:.04em}
.work-card .chip span{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.work-card .who{margin-top:14px;font-family:var(--display);font-weight:700;font-size:16px;color:#fff}
.work-card .who small{display:block;font-family:var(--mono);font-weight:400;font-size:11px;color:var(--navy-dim);letter-spacing:.06em;margin-top:3px;text-transform:uppercase}
.on-light .work-card .who{color:var(--ink)}
.on-light .work-card .who small{color:var(--muted)}

/* ---------- quote band ---------- */
.quote-band{padding:110px 0;text-align:center}
.quote-band blockquote{margin:0 auto;max-width:19ch;font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,62px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.quote-band blockquote em{font-style:italic;color:var(--green-glow)}
.quote-band figcaption{margin-top:26px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-dim)}

/* ---------- tables ---------- */
.tbl{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:24px 0;box-shadow:var(--shadow-sm)}
table{border-collapse:collapse;width:100%;font-size:15px}
th{font-family:var(--display);font-weight:700;text-align:left;padding:13px 18px;border-bottom:2px solid var(--line);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
td{padding:12px 18px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:none}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;align-items:stretch}
@media(max-width:920px){.price-grid{grid-template-columns:1fr}}
.price{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 32px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.price:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.price.hot{background:linear-gradient(170deg,#0d2b52,var(--navy-deep));color:var(--navy-text);border:1px solid rgba(94,240,176,.3);position:relative;box-shadow:var(--shadow-lg)}
.price.hot h3,.price.hot .amt{color:#fff}
.price.hot .amt small{color:var(--navy-dim)}
.price.hot li{color:var(--navy-sub)}
.price.hot .flag{position:absolute;top:-14px;left:28px;background:var(--accent);color:#06120c;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:5px 15px;border-radius:99px;box-shadow:0 4px 14px -2px rgba(18,180,120,.5)}
.price h3{font-size:18px}
.price .amt{font-family:var(--display);font-weight:800;font-size:52px;letter-spacing:-.03em;margin:8px 0 2px;line-height:1}
.price .amt small{font-family:var(--body);font-size:15px;font-weight:600;color:var(--muted);letter-spacing:0}
.price ul{padding-left:0;list-style:none;margin:20px 0 28px;flex:1}
.price li{padding-left:28px;position:relative;font-size:15.5px;margin:9px 0}
.price li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.price .btn{text-align:center}

/* ---------- FAQ ---------- */
details.faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:0 24px;box-shadow:var(--shadow-sm)}
details.faq summary{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;padding:19px 34px 19px 0;cursor:pointer;list-style:none;position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:2px;top:13px;font-size:26px;color:var(--accent-ink);font-weight:400;transition:transform .18s ease}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq div{padding:0 0 22px;color:var(--muted)}
details.faq div p{margin-top:0}

/* ---------- forms ---------- */
form.enquiry{display:grid;gap:16px}
form.enquiry .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){form.enquiry .row2{grid-template-columns:1fr}}
label{font-family:var(--display);font-weight:700;font-size:13.5px;display:block;margin-bottom:6px;letter-spacing:-.005em}
label .opt{color:var(--muted);font-weight:400;font-family:var(--body)}
input,select,textarea{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #cfd9e4;border-radius:11px;padding:13px 15px;transition:border .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(18,180,120,.13)}
textarea{min-height:120px;resize:vertical}
.form-note{font-size:13.5px;color:var(--muted)}
.form-msg{display:none;border-radius:11px;padding:14px 18px;font-weight:600;font-size:15px}
.form-msg.ok{display:block;background:var(--accent-soft);color:var(--accent-ink)}
.form-msg.err{display:block;background:var(--warn-soft);color:var(--warn)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ---------- breadcrumbs ---------- */
.crumbs{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--navy-dim);margin-bottom:20px}
.crumbs a{color:var(--navy-dim)}
.crumbs a:hover{color:#fff}
.crumbs .sep{margin:0 8px;opacity:.5}
.crumbs-light{color:var(--muted);margin:20px 0 0}
.crumbs-light a{color:var(--muted)}
.crumbs-light a:hover{color:var(--accent-ink)}

/* ---------- sparkline charts ---------- */
.spark{width:100%;height:auto;display:block;margin:10px 0}
.spark-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.spark-fill{fill:var(--accent);opacity:.1;stroke:none}
.spark-label{font-family:var(--mono);font-size:11px;fill:var(--muted)}
.spark-end{fill:var(--accent)}

/* ---------- case studies ---------- */
.cs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:28px 0;box-shadow:var(--shadow-sm)}
.cs-facts div{padding:18px 20px;border-right:1px solid var(--line)}
.cs-facts div:last-child{border-right:none}
@media(max-width:720px){.cs-facts{grid-template-columns:1fr 1fr}.cs-facts div{border-bottom:1px solid var(--line)}}
.cs-facts b{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px;font-weight:600}
.cs-facts span{font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:-.01em}
.cs-shot{margin:34px 0}
.cs-shot figcaption{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:12px;letter-spacing:.02em}
.honest{background:var(--warn-soft);border:1px solid #ecdfc0;border-radius:14px;padding:18px 22px;font-size:15px;color:#6b5426;margin:22px 0}
.honest b{color:var(--warn)}
.step-list{counter-reset:step;padding-left:0;list-style:none}
.step-list li{counter-increment:step;padding-left:58px;position:relative;margin:20px 0;max-width:62ch}
.step-list li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--display);font-weight:800;font-size:17px;color:var(--accent-ink);background:var(--accent-soft);border-radius:11px;padding:6px 10px;letter-spacing:-.02em}
.step-list li b{font-family:var(--display);font-weight:700}
.prevnext{display:flex;justify-content:space-between;gap:16px;margin-top:42px;flex-wrap:wrap}
.prevnext a{font-family:var(--display);font-weight:700;font-size:15px}

/* ---------- footer ---------- */
footer.site{position:relative;background:var(--navy-deep);color:var(--navy-sub);padding:64px 0 36px;font-size:15px;overflow:hidden}
footer.site::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 60% at 90% 110%,rgba(18,180,120,.1),transparent 60%)}
footer.site .wrap{position:relative;z-index:1}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px}
@media(max-width:720px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{font-family:var(--display);color:#fff;font-size:14px;margin:0 0 12px;letter-spacing:.02em;text-transform:uppercase;opacity:.85}
footer.site a{color:var(--navy-sub);text-decoration:none}
footer.site a:hover{color:var(--green-glow)}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin:8px 0}
footer.site .fine{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:22px;font-size:13px;color:var(--navy-dim);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
footer.site .fine a{color:var(--navy-dim);text-decoration:underline}
.brand-foot{font-family:var(--display);font-weight:800;font-size:20px;color:#fff;letter-spacing:-.02em}
.brand-foot .dot{color:var(--green-glow)}

/* ---------- hero ticks + stat band ---------- */
.ticks{list-style:none;padding:0;margin:24px 0 0}
.ticks li{padding-left:32px;position:relative;color:var(--navy-sub);margin:10px 0;font-size:16.5px;max-width:56ch}
.ticks li::before{content:"✓";color:var(--green-glow);position:absolute;left:2px;font-weight:700}
.ticks li b{color:#fff;font-weight:600}
.stat-band{position:relative;background:var(--navy-deep);color:var(--navy-text);border-top:1px solid rgba(255,255,255,.08);overflow:hidden}
.stat-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,180,120,.08),transparent 40%,transparent 70%,rgba(18,120,220,.08))}
.stat-band .wrap{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:34px;padding-bottom:34px}
@media(max-width:920px){.stat-band .wrap{grid-template-columns:1fr 1fr}}
.stat-band b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-.02em;color:#fff;line-height:1.05}
.stat-band b em{font-style:normal;color:var(--green-glow)}
.stat-band span{display:block;font-size:13.5px;color:var(--navy-dim);margin-top:6px;line-height:1.45}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}}
