/* ═══════════════════════════════════════════════════════════
   AGNIDOOT — shared design system
   Navy sampled from the brand mark. Green/amber/red encode
   judgement (approved / flagged / refused) and nothing else.
   ═══════════════════════════════════════════════════════════ */
:root{
  --paper:#F6F8F9;
  --card:#FFFFFF;
  --ink:#0D1632;
  --ink2:#43566A;
  --line:#D9E1E8;
  --approve:#0B7A50;
  --approve-bg:#E7F4EE;
  --approve-line:#CBE7DA;
  --flag:#A16207;
  --flag-bg:#FBF3E2;
  --refuse:#BC3D24;
  --refuse-bg:#FBEAE5;
  --display:"Archivo",system-ui,sans-serif;
  --body:"Public Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --maxw:1040px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);background:var(--paper);color:var(--ink);
  font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
::selection{background:var(--ink);color:var(--paper)}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2.5px solid var(--ink);outline-offset:3px;border-radius:2px;
}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.wrap.wide{max-width:1140px}

/* ── type ───────────────────────────────────────────── */
.eyebrow{
  font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink2);
}
.product-kicker{
  display:inline-flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;
  font-family:var(--mono);margin:0 0 .35rem;
}
.product-kicker .product-index,
.product-kicker .product-edition{
  font-size:.68rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink2);
}
.product-kicker .product-name{
  font-family:var(--display);font-size:clamp(1.08rem,1.8vw,1.35rem);
  line-height:1;font-weight:800;letter-spacing:-.015em;color:var(--approve);
}
.hero.dark .product-kicker .product-index,
.hero.dark .product-kicker .product-edition{color:#9FB0C2}
.hero.dark .product-kicker .product-name{color:#78D6AF}
.eyebrow.rule{display:flex;align-items:center;gap:.6rem}
.eyebrow.rule::before{content:"";width:22px;height:1.5px;background:var(--ink2)}
h2.sec{
  font-family:var(--display);font-weight:800;letter-spacing:-.015em;
  font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15;margin:.65rem 0 0;
}
.sec-intro{color:var(--ink2);max-width:44rem;margin-top:1rem}

/* ── judgement chips ────────────────────────────────── */
.chip{
  font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.05em;
  padding:.18rem .55rem;border-radius:3px;white-space:nowrap;
}
.chip.ok{color:var(--approve);background:var(--approve-bg)}
.chip.flag{color:var(--flag);background:var(--flag-bg)}
.chip.no{color:var(--refuse);background:var(--refuse-bg)}
.chip.neutral{color:var(--ink2);background:#EDF1F4}

/* ── buttons ────────────────────────────────────────── */
.btn{
  display:inline-block;text-decoration:none;font-weight:600;font-size:.92rem;
  padding:.72rem 1.35rem;border-radius:5px;border:1.5px solid var(--ink);
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.sm{padding:.55rem 1.1rem;font-size:.85rem}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(13,22,50,.16)}

/* ── nav ────────────────────────────────────────────── */
header.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.nav-in{display:flex;align-items:center;gap:2rem;height:76px}
.mark{display:flex;align-items:center;text-decoration:none}
.mark img{height:44px;width:auto;display:block}
nav.links{display:flex;gap:1.15rem;margin-left:auto;white-space:nowrap}
nav.links a{
  text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ink2);
  padding:.3rem 0;border-bottom:2px solid transparent;
}
nav.links a:hover,nav.links a.on{color:var(--ink);border-bottom-color:var(--ink)}
.nav-cta{margin-left:1rem;padding:.5rem 1rem;font-size:.85rem}
.dd{position:relative}
.dd>a::after{content:" ▾";font-size:.7em}
.dd-menu{
  position:absolute;top:calc(100% + 10px);left:-14px;min-width:264px;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 16px 40px rgba(13,22,50,.14);padding:.5rem;display:none;z-index:60;
}
.dd.open .dd-menu{display:block}
.dd>a{cursor:pointer;user-select:none}
.dd.open>a{color:var(--ink);border-bottom-color:var(--ink)}
.dd-menu a{
  display:block;padding:.55rem .8rem;border-radius:6px;border-bottom:none;
  font-size:.88rem;color:var(--ink);
}
.dd-menu a:hover{background:var(--paper);border-bottom:none}
.dd-menu a small{display:block;color:var(--ink2);font-weight:400;font-size:.76rem}
.dd-menu .dd-sep{height:1px;background:var(--line);margin:.4rem .5rem}

/* ── heroes ─────────────────────────────────────────── */
.hero{padding:88px 0 68px;border-bottom:1px solid var(--line)}
.hero.center{text-align:center}
.hero.center .eyebrow.rule::before{display:none}
.hero.center .eyebrow.rule{justify-content:center}
.hero h1{
  font-family:var(--display);font-weight:800;letter-spacing:-.02em;
  font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.06;margin:.9rem 0 1.1rem;
}
.hero.center h1{margin-left:auto;margin-right:auto;max-width:44rem}
.hero h1 em{font-style:normal;color:var(--approve)}
.hero .sub{color:var(--ink2);font-size:1.06rem;max-width:40rem}
.hero.center .sub{margin:0 auto}
.hero .ctas{display:flex;gap:.9rem;margin-top:2rem;flex-wrap:wrap}
.hero.center .ctas{justify-content:center}
/* dark hero variant */
.hero.dark{background:var(--ink);color:var(--paper);border-bottom:none}
.hero.dark .eyebrow{color:#9FB0C2}
.hero.dark .sub{color:#B9C6D4}
.hero.dark h1 em{color:#5BC49A}
.hero.dark .btn.solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.hero.dark .btn.ghost{border-color:#5F7288;color:var(--paper)}

/* ── sections ───────────────────────────────────────── */
section.block{padding:92px 0;border-bottom:1px solid var(--line)}
section.block.tight{padding:64px 0}
.closing{padding:92px 0;text-align:center}
.closing h2{
  font-family:var(--display);font-weight:800;letter-spacing:-.015em;
  font-size:clamp(1.6rem,3.2vw,2.25rem);max-width:40rem;margin:0 auto;line-height:1.15;
}
.closing p{color:var(--ink2);margin:1rem auto 0;max-width:34rem}
.closing .ctas{display:flex;gap:.9rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}

/* ── chips row ──────────────────────────────────────── */
.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem}
.chips.center{justify-content:center}
.chips span{
  font-family:var(--mono);font-size:.74rem;font-weight:600;background:var(--card);
  border:1px solid var(--line);border-radius:99px;padding:.42rem .95rem;color:var(--ink);
}
.chips span i{font-style:normal;color:var(--approve);margin-right:.35rem}

/* ── stat band ──────────────────────────────────────── */
.band{border-bottom:1px solid var(--line);background:var(--card)}
.band-in{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}
.band-in.four{grid-template-columns:repeat(4,1fr)}
.bs{padding:1.5rem .8rem;border-right:1px solid var(--line)}
.bs:last-child{border-right:none}
.bs .n{font-family:var(--display);font-weight:800;font-size:1.55rem;letter-spacing:-.02em;line-height:1}
.bs .n em{font-style:normal;color:var(--approve)}
.bs p{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--ink2);margin-top:.4rem;line-height:1.4}

/* ── generic card grids ─────────────────────────────── */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:2.6rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.6rem}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:2.6rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.5rem 1.4rem}
.card .lbl{
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink2);
}
.card h3{font-family:var(--display);font-weight:700;font-size:1.12rem;margin:.45rem 0 .35rem;letter-spacing:-.005em}
.card p{font-size:.89rem;color:var(--ink2)}
.card ul{list-style:none;margin-top:.75rem}
.card li{padding:.28rem 0 .28rem 1.4rem;position:relative;font-size:.87rem;color:var(--ink2)}
.card li::before{content:"✓";position:absolute;left:.05rem;color:var(--approve);font-weight:700;font-size:.85rem}
.card li b{color:var(--ink);font-weight:600}
.card .eg{
  margin-top:.75rem;font-family:var(--mono);font-size:.75rem;color:var(--ink2);
  font-style:italic;border-top:1px dashed var(--line);padding-top:.6rem;
}
.card.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.card.dark .lbl{color:#9FB0C2}
.card.dark p,.card.dark li{color:#B9C6D4}
.card.dark li::before{color:#5BC49A}

/* ── accordions ─────────────────────────────────────── */
.acc{margin-top:2.6rem;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:1rem;padding:1.2rem .2rem;font-weight:600;font-size:1rem;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--mono);font-size:1.1rem;color:var(--ink2)}
.acc details[open] summary::after{content:"–"}
.acc summary:hover{color:var(--approve)}
.acc summary .sl{
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink2);margin-left:auto;margin-right:.8rem;
}
.acc .body{padding:0 .2rem 1.6rem;color:var(--ink2);max-width:48rem}
.acc .body ul{margin:.6rem 0 .2rem 1.1rem}
.acc .body li{margin:.4rem 0}
.acc .body b{color:var(--ink)}
.acc .body p+p{margin-top:.7rem}
.acc .body dl{margin-top:.6rem}
.acc .body dt{font-weight:600;color:var(--ink);margin-top:.8rem;font-size:.95rem}
.acc .body dd{font-size:.9rem;margin-top:.1rem}

/* ── numbered capability blocks ─────────────────────── */
.caps{margin-top:2.8rem;display:flex;flex-direction:column;gap:20px}
.cap{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:2rem;display:grid;grid-template-columns:3.2rem 1fr;gap:1.6rem;
}
.cap .cn{
  font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--approve);
  border:1.5px solid var(--approve);border-radius:50%;width:2.5rem;height:2.5rem;
  display:flex;align-items:center;justify-content:center;
}
.cap h3{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.01em;line-height:1.25}
.cap .comp{
  font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink2);background:var(--paper);
  border:1px solid var(--line);border-radius:3px;padding:.15rem .5rem;
  margin-left:.6rem;vertical-align:middle;white-space:nowrap;
}
.cap>div>p{color:var(--ink2);margin-top:.6rem;font-size:.96rem;max-width:44rem}
.cap ul{list-style:none;margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.6rem}
.cap li{padding:.35rem 0 .35rem 1.5rem;position:relative;font-size:.9rem;color:var(--ink2)}
.cap li::before{content:"✓";position:absolute;left:.1rem;color:var(--approve);font-weight:700}
.cap li b{color:var(--ink);font-weight:600}

/* ── guarantee panel ────────────────────────────────── */
.g10{
  margin-top:2.4rem;background:var(--approve-bg);border:1px solid var(--approve-line);
  border-radius:12px;padding:1.7rem 1.9rem;display:grid;
  grid-template-columns:auto 1fr;gap:1.6rem;align-items:center;
}
.g10 .gn{font-family:var(--display);font-weight:800;font-size:3.1rem;line-height:.95;color:var(--approve);letter-spacing:-.03em}
.g10 .gn small{display:block;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:.3rem}
.g10 h3{font-family:var(--display);font-weight:700;font-size:1.25rem;margin-bottom:.4rem;letter-spacing:-.01em}
.g10 p{font-size:.95rem;color:var(--ink2)}

/* ── trial ribbon ───────────────────────────────────── */
.trial{
  margin-top:2.6rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;
  background:var(--approve-bg);border:1px solid var(--approve-line);
  border-radius:8px;padding:1.1rem 1.4rem;
}
.trial .t1{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--approve)}
.trial p{font-size:.92rem;color:var(--ink2);flex:1;min-width:220px}
.trial .btn{border-color:var(--approve);color:var(--approve)}
.trial .btn:hover{box-shadow:0 4px 14px rgba(11,122,80,.2)}

/* ── honesty block ──────────────────────────────────── */
.honesty{
  margin-top:2.4rem;border:1px solid var(--line);border-left:4px solid var(--flag);
  background:var(--card);border-radius:0 10px 10px 0;padding:1.3rem 1.5rem;max-width:48rem;
}
.honesty .hl{
  font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--flag);
}
.honesty p{margin-top:.45rem;font-size:.93rem;color:var(--ink2)}
.honesty p+p{margin-top:.6rem}

/* ── two-column list rows ───────────────────────────── */
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 2rem;margin-top:2.4rem}
.sgrid div{
  padding:.85rem 0;border-top:1px solid var(--line);display:flex;gap:.9rem;
  align-items:baseline;font-size:.92rem;color:var(--ink2);
}
.sgrid div::before{content:"◆";color:var(--approve);font-size:.7rem;flex:0 0 auto}
.sgrid b{color:var(--ink)}

/* ── before/after compare ───────────────────────────── */
.askline{
  font-family:var(--mono);font-size:.86rem;color:var(--ink);background:var(--paper);
  border-left:3px solid var(--approve);border-radius:0 6px 6px 0;padding:.75rem 1rem;
}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1.2rem}
.vs h5{
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink2);margin-bottom:.5rem;
}
.vs ul{margin:0!important;list-style:none}
.vs li{padding:.26rem 0 .26rem 1.3rem;position:relative;font-size:.87rem;margin:0!important}
.vs .old li::before{content:"›";position:absolute;left:.15rem;color:var(--ink2)}
.vs .new li::before{content:"✓";position:absolute;left:.1rem;color:var(--approve);font-weight:700}
.val{margin-top:1.1rem;font-size:.9rem;border-left:3px solid var(--line);padding-left:.9rem}
.val b{color:var(--ink)}

/* ── chain strip ────────────────────────────────────── */
.chain{
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:2.4rem;
  font-family:var(--mono);font-size:.78rem;color:var(--ink2);justify-content:center;
}
.chain b{
  background:var(--card);border:1px solid var(--line);border-radius:5px;
  padding:.45rem .85rem;color:var(--ink);font-weight:600;
}

/* ── note strip ─────────────────────────────────────── */
.tnote{
  margin-top:1.8rem;font-family:var(--mono);font-size:.79rem;color:var(--ink2);
  border:1px dashed var(--line);border-radius:8px;padding:.9rem 1.2rem;background:var(--card);
}
.tnote b{color:var(--ink)}

/* ── comparison table ───────────────────────────────── */
.cmp{margin-top:2.6rem;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:.92rem}
.cmp th,.cmp td{padding:.85rem 1.2rem;text-align:left;border-bottom:1px solid var(--line)}
.cmp th{
  font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink2);background:#FBFCFD;
}
.cmp tr:last-child td{border-bottom:none}
.cmp td:nth-child(2),.cmp td:nth-child(3),
.cmp th:nth-child(2),.cmp th:nth-child(3){text-align:center;width:18%}
.cmp .y{color:var(--approve);font-weight:700}
.cmp .n2{color:var(--ink2)}


/* ── what's included: the offer band ── */
.offer-wrap{padding:0 0 92px}
.offer{
  position:relative;overflow:hidden;border-radius:18px;
  background:linear-gradient(135deg,#0D1632 0%,#152441 55%,#0D1632 100%);
  color:#F6F8F9;padding:2.5rem 2.2rem;
}
.offer::before{
  content:"";position:absolute;top:-45%;right:-8%;width:540px;height:540px;border-radius:50%;
  background:radial-gradient(circle,rgba(91,196,154,.16) 0%,rgba(91,196,154,0) 70%);pointer-events:none;
}
.offer-h{
  position:relative;display:flex;align-items:flex-end;justify-content:space-between;
  gap:1.4rem;flex-wrap:wrap;margin-bottom:1.9rem;
}
.offer-h .lead{max-width:36rem}
.offer-h .kick{
  font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#5BC49A;
}
.offer-h h3{
  font-family:var(--display);font-weight:800;font-size:clamp(1.35rem,2.6vw,1.85rem);
  letter-spacing:-.015em;line-height:1.2;margin:.5rem 0 .4rem;color:#fff;
}
.offer-h p{color:#B9C6D4;font-size:.95rem}
.offer-h .btn{background:#5BC49A;border-color:#5BC49A;color:#0D1632;white-space:nowrap;font-weight:700}
.offer-h .btn:hover{box-shadow:0 6px 20px rgba(91,196,154,.32)}
.offer-grid{
  position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(184px,1fr));gap:10px;
}
.ofi{
  background:#111E38;padding:1.45rem 1.15rem;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
}
.ofi .ic{
  width:36px;height:36px;border-radius:9px;background:rgba(91,196,154,.13);
  display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;
}
.ofi .n{
  font-family:var(--display);font-weight:800;font-size:1.6rem;line-height:1;
  letter-spacing:-.02em;color:#5BC49A;
}
.ofi h4{
  font-family:var(--display);font-weight:700;font-size:.94rem;color:#fff;
  margin:.38rem 0 .28rem;letter-spacing:-.005em;
}
.ofi p{font-size:.8rem;color:#9FB0C2;line-height:1.5}
.offer-foot{
  position:relative;margin-top:1.4rem;font-family:var(--mono);font-size:.76rem;
  color:#9FB0C2;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;
}
.offer-foot b{color:#5BC49A;font-weight:600}
@media (max-width:520px){
  .offer{padding:1.8rem 1.4rem}
  .offer-wrap{padding-bottom:60px}
}


/* ── contact form ── */
.cform{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2rem 1.9rem}
.cform h3{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;margin-bottom:.4rem}
.cform>p{color:var(--ink2);font-size:.92rem;margin-bottom:1.6rem}
.fld{margin-bottom:1.1rem}
.fld label{
  display:block;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink2);margin-bottom:.4rem;
}
.fld label .req{color:var(--approve)}
.fld input,.fld select,.fld textarea{
  width:100%;font-family:var(--body);font-size:.95rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:7px;
  padding:.7rem .85rem;transition:border-color .12s ease,box-shadow .12s ease;
}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:none;border-color:var(--approve);box-shadow:0 0 0 3px rgba(11,122,80,.12);
}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.cform .btn{width:100%;text-align:center;margin-top:.4rem}
.cform .note{margin-top:1rem;font-size:.8rem;color:var(--ink2);text-align:center}
/* ── contact details ── */
.cinfo{display:flex;flex-direction:column;gap:1.6rem}
.cblk{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.7rem 1.6rem}
.cblk .lbl{
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink2);
}
.cblk h3{font-family:var(--display);font-weight:700;font-size:1.14rem;margin:.45rem 0 .5rem;letter-spacing:-.005em}
.cblk p{font-size:.92rem;color:var(--ink2)}
.cblk address{font-style:normal;font-size:.94rem;color:var(--ink2);line-height:1.7;margin-top:.3rem}
.clinks{list-style:none;margin-top:1rem}
.clinks li{border-top:1px dashed var(--line)}
.clinks a{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem 0;text-decoration:none;font-size:.92rem;font-weight:500;
}
.clinks a:hover{color:var(--approve)}
.clinks a::after{content:"→";color:var(--ink2);font-size:.9rem}
.clinks a:hover::after{color:var(--approve)}
.badge3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:1.2rem}
.bg1{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:.9rem .8rem;text-align:center}
.bg1 b{display:block;font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--approve);line-height:1}
.bg1 span{display:block;font-size:.74rem;color:var(--ink2);margin-top:.3rem;line-height:1.35}
/* ── about: reach map ── */
.regions{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:2.4rem}
.rg{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem .9rem;text-align:center}
.rg .dot{width:8px;height:8px;border-radius:50%;background:var(--approve);margin:0 auto .7rem}
.rg b{display:block;font-family:var(--display);font-weight:700;font-size:.98rem}
.rg span{display:block;font-size:.78rem;color:var(--ink2);margin-top:.2rem}
/* ── about: story timeline ── */
.story{margin-top:2.6rem;border-left:2px solid var(--line);padding-left:2rem}
.chap{position:relative;padding-bottom:2.2rem}
.chap:last-child{padding-bottom:0}
.chap::before{
  content:"";position:absolute;left:-2.55rem;top:.35rem;width:12px;height:12px;border-radius:50%;
  background:var(--card);border:2px solid var(--line);
}
.chap.now::before{border-color:var(--approve);background:var(--approve)}
.chap .yr{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.chap h3{font-family:var(--display);font-weight:700;font-size:1.2rem;margin:.3rem 0 .5rem;letter-spacing:-.01em}
.chap p{color:var(--ink2);font-size:.96rem;max-width:44rem}
.chap p+p{margin-top:.6rem}
@media (max-width:860px){.regions{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:1180px){
  nav.links{gap:.85rem}
  nav.links a{font-size:.86rem}
}
@media (max-width:680px){
  .fld-row,.badge3,.regions{grid-template-columns:1fr}
  .story{padding-left:1.4rem}
  .chap::before{left:-1.95rem}
}

/* ── footer ─────────────────────────────────────────── */
footer{padding:44px 0 56px;color:var(--ink2);font-size:.85rem;border-top:1px solid var(--line)}
.fin{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}

/* ── reveal ─────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}

/* ── responsive ─────────────────────────────────────── */
@media (max-width:900px){
  .grid4{grid-template-columns:1fr 1fr}
  .band-in{grid-template-columns:1fr 1fr 1fr}
  .bs:nth-child(3){border-right:none}
}
@media (max-width:760px){
  .grid3{grid-template-columns:1fr 1fr}
  .cap{grid-template-columns:1fr;gap:1rem;padding:1.5rem}
  .cap ul{grid-template-columns:1fr}
  .cap .comp{display:inline-block;margin:.5rem 0 0}
}
@media (max-width:680px){
  nav.links{display:none}
  .grid2,.grid3,.grid4,.vs,.sgrid,.band-in{grid-template-columns:1fr}
  .g10{grid-template-columns:1fr;gap:1rem;padding:1.4rem}
  .bs{border-right:none;border-bottom:1px solid var(--line)}
  section.block{padding:60px 0}
  .hero{padding:56px 0 48px}
  .closing{padding:64px 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
}

/* ── FAQ ── */
.faq-wrap{padding:88px 0;border-top:1px solid var(--line)}
.faq-grp{margin-top:2.4rem}
.faq-grp:first-of-type{margin-top:2rem}
.faq-grp > h3{
  font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink2);padding-bottom:.7rem;
  border-bottom:1px solid var(--line);margin-bottom:.2rem;
}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;
  gap:1.2rem;padding:1.05rem .2rem;font-weight:600;font-size:1rem;line-height:1.45;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";font-family:var(--mono);font-size:1.15rem;color:var(--ink2);
  flex:0 0 auto;line-height:1.4;
}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{color:var(--approve)}
.faq .a{padding:0 2.4rem 1.3rem .2rem;color:var(--ink2);max-width:46rem;font-size:.96rem}

/* ── book-a-demo CTA band ───────────────────────────── */
.demo-cta{
  background:var(--approve-bg);border-top:1px solid var(--approve-line);
  border-bottom:1px solid var(--approve-line);padding:54px 0;
}
.dc-in{display:flex;align-items:center;gap:40px;justify-content:space-between;flex-wrap:wrap}
.dc-in>div{flex:1;min-width:280px}
.dc-lbl{
  font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--approve);
}
.demo-cta h2{
  font-family:var(--display);font-weight:800;letter-spacing:-.015em;
  font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.15;margin:.5rem 0 .5rem;color:var(--ink);
}
.demo-cta p{color:var(--ink2);font-size:.95rem;max-width:38rem}
.demo-cta .btn.solid{
  background:var(--approve);border-color:var(--approve);color:#fff;
  white-space:nowrap;font-weight:700;padding:.85rem 1.7rem;
}
.demo-cta .btn.solid:hover{box-shadow:0 6px 20px rgba(11,122,80,.28)}
@media (max-width:680px){
  .demo-cta{padding:40px 0}
  .dc-in{gap:22px}
  .demo-cta .btn.solid{width:100%;text-align:center}
}

/* ── mobile menu ────────────────────────────────────── */
.navtoggle{
  display:none;background:transparent;border:1px solid var(--line);border-radius:8px;
  width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;
  flex:0 0 auto;padding:0;margin-left:.6rem;
}
.navtoggle span{display:block;width:17px;height:2px;background:var(--ink);position:relative}
.navtoggle span::before,.navtoggle span::after{
  content:"";position:absolute;left:0;width:17px;height:2px;background:var(--ink);
  transition:transform .22s ease,top .22s ease;
}
.navtoggle span::before{top:-5.5px}
.navtoggle span::after{top:5.5px}
.navtoggle[aria-expanded="true"] span{background:transparent}
.navtoggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.navtoggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobilenav{
  display:none;position:absolute;left:0;right:0;top:100%;background:var(--card);
  border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(13,22,50,.10);
  max-height:calc(100vh - 76px);overflow-y:auto;
}
.mobilenav.open{display:block}
.mobilenav ul{list-style:none;margin:0;padding:.4rem 24px 0}
.mobilenav li{border-bottom:1px solid var(--line)}
.mobilenav li:last-child{border-bottom:none}
.mobilenav a{
  display:block;padding:.85rem .1rem;text-decoration:none;font-size:1rem;
  font-weight:600;color:var(--ink);
}
.mobilenav a.sub{padding-left:1rem;font-weight:500;font-size:.92rem;color:var(--ink2)}
.mobilenav a:hover{color:var(--approve)}
.mobilenav .mn-cta{margin:1rem 24px 1.3rem;text-align:center;font-weight:700}
@media (max-width:680px){
  .navtoggle{display:flex}
  .nav-in{gap:.5rem}
  .nav-cta{margin-left:auto;padding:.45rem .85rem;font-size:.8rem;white-space:nowrap}
  .mark img{height:34px}
}

/* ── form status message ────────────────────────────── */
.form-status{margin-top:.8rem;font-size:.88rem;text-align:center;min-height:1px}
.form-status.err{color:var(--refuse);background:var(--refuse-bg);border-radius:6px;padding:.65rem .85rem}

/* ── site footer (was inline on two pages only) ──────── */
footer{padding:52px 0 64px;color:var(--ink2);font-size:.86rem;border-top:1px solid var(--line)}
footer .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}
footer .fgrid h4{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink2);margin-bottom:.9rem}
footer .fgrid ul{list-style:none}
footer .fgrid li{margin:.45rem 0}
footer .fgrid a{text-decoration:none}
footer .fgrid a:hover{text-decoration:underline;color:var(--ink)}
footer .fbrand p{max-width:24rem;margin-top:.8rem}
footer .fbrand .mark img{height:44px;width:auto;display:block}
footer .legal{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.78rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (max-width:820px){footer .fgrid{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:560px){footer .fgrid{grid-template-columns:1fr}}
