body{margin:0}img{max-width:100%}[hidden]{display:none!important}
:root{
  --ink:#0C2A35; --ink-2:#163F4C;
  --green:#0E8A61; --green-strong:#0B7352; --green-soft:#E3F4EC;
  --mint:#5FE0AE; --brand:#045C44;
  --paper:#F4F8F7; --surface:#FFFFFF; --surface-2:#EDF3F1;
  --text:#10262E; --muted:#56696D; --line:#D8E3E0;
  --band:#0C2A35; --band-fg:#F2F8F6; --band-muted:#A9C1BF; --band-line:#24495566;
  --btn-bg:#0C2A35; --btn-fg:#FFFFFF;
  --amber:#B7791F; --amber-soft:#FBF1DE; --red:#B83A33; --red-soft:#FBE7E5;
  --note:#FFE58A; --note-fg:#3A2E00;
  --shadow:0 1px 2px #0C2A3510, 0 8px 24px #0C2A3514;
  --logo-dark:block; --logo-light:none;
  --display:"Red Hat Display", "Segoe UI", system-ui, sans-serif;
  --body:"Red Hat Text", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#E8F2EF; --ink-2:#C9DDD8;
    --green:#4CCB97; --green-strong:#5FE0AE; --green-soft:#133A33;
    --paper:#081B22; --surface:#0F2831; --surface-2:#12303A;
    --text:#E4EFEC; --muted:#98B0AE; --line:#23434D;
    --band:#0D2C37; --band-fg:#F2F8F6; --band-muted:#9FB9B6; --band-line:#2E566266;
    --btn-bg:#5FE0AE; --btn-fg:#07222A;
    --amber:#E5AE55; --amber-soft:#3A2D14; --red:#EE8A82; --red-soft:#3D1D1B;
    --shadow:0 1px 2px #0005, 0 8px 24px #0006;
    --logo-dark:none; --logo-light:block;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#E8F2EF; --ink-2:#C9DDD8;
  --green:#4CCB97; --green-strong:#5FE0AE; --green-soft:#133A33;
  --paper:#081B22; --surface:#0F2831; --surface-2:#12303A;
  --text:#E4EFEC; --muted:#98B0AE; --line:#23434D;
  --band:#0D2C37; --band-fg:#F2F8F6; --band-muted:#9FB9B6; --band-line:#2E566266;
  --btn-bg:#5FE0AE; --btn-fg:#07222A;
  --amber:#E5AE55; --amber-soft:#3A2D14; --red:#EE8A82; --red-soft:#3D1D1B;
  --shadow:0 1px 2px #0005, 0 8px 24px #0006;
  --logo-dark:none; --logo-light:block;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--green)}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(2.5rem,5.6vw,4.25rem);line-height:1.02;font-weight:800;letter-spacing:-.03em}
h2{font-size:clamp(1.85rem,3.4vw,2.6rem);line-height:1.1;font-weight:800}
h3{font-size:1.25rem;line-height:1.25;font-weight:700}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
@media (max-width:520px){.wrap{padding-inline:16px}}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:4px}
.lede{font-size:1.2rem;color:var(--muted);max-width:40ch}
.muted{color:var(--muted)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.stack{display:flex;flex-direction:column}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--display);font-weight:700;font-size:1rem;padding:.85em 1.35em;border-radius:10px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;line-height:1;transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn-green{background:var(--green-strong);color:#fff}
:root[data-theme="dark"] .btn-green{color:#07222A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-green{color:#07222A}}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--surface)}
.btn-mint{background:var(--mint);color:#07222A}
.btn .arr{transition:transform .15s ease}
.btn:hover .arr{transform:translateX(3px)}
.link{font-family:var(--display);font-weight:700;color:var(--green);text-decoration:none}
.link:hover{text-decoration:underline}

/* announcement */
.announce{background:var(--band);color:var(--band-fg);font-size:.92rem}
.announce .wrap{display:flex;gap:.75rem;align-items:center;justify-content:center;padding-block:.6rem;flex-wrap:wrap;text-align:center}
.announce a{color:var(--mint);font-weight:600;text-decoration:none}
.announce a:hover{text-decoration:underline}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:2rem;padding-block:.9rem}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo img{height:40px;width:auto}
.logo .l-dark{display:var(--logo-dark)} .logo .l-light{display:var(--logo-light)}
nav.main{display:flex;gap:1.6rem;align-items:center;flex:1;justify-content:flex-end}
nav.main a{color:var(--text);text-decoration:none;font-weight:500;font-size:.98rem;padding-block:.3rem;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--green)}
nav.main a[aria-current="page"]{border-bottom-color:var(--green);color:var(--ink)}
.hdr-cta{display:flex;gap:1.1rem;align-items:center}
.menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:8px;padding:.45rem .7rem;color:var(--ink);font:600 .95rem var(--display);cursor:pointer}
@media (max-width:980px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:.5rem 24px 1rem}
  nav.main.open{display:flex}
  nav.main a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  nav.main a[aria-current="page"]{border-bottom-color:var(--line);color:var(--green)}
  .menu-btn{display:inline-block;margin-left:auto}
  header.site .wrap{gap:1rem}
}
@media (max-width:520px){.hdr-cta .btn{display:none}.logo img{height:34px}}

/* sections */
section.blk{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:flex;flex-direction:column;gap:1rem;max-width:720px;margin-bottom:clamp(32px,4vw,52px)}
.sec-head p{color:var(--muted);font-size:1.12rem;max-width:58ch}
.kicker{font:600 .82rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}

/* hero */
.hero{padding-block:clamp(40px,6vw,80px) clamp(48px,6vw,88px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1 .g{color:var(--green);display:block}
.hero .lede{margin-top:1.5rem;max-width:36ch}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.works-with{margin-top:2.4rem;display:flex;gap:.6rem 1.1rem;flex-wrap:wrap;align-items:center;font-size:.95rem;color:var(--muted)}
.works-with b{font-family:var(--display);color:var(--ink);font-weight:700;font-size:1rem}
.works-with .sep{width:4px;height:4px;border-radius:50%;background:var(--line)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* hero composite */
.comp{position:relative;min-height:540px;display:flex;justify-content:flex-start;align-items:center}
.phone{margin-left:12px}
.phone{position:relative;z-index:2;width:270px;max-width:100%;background:#0B1A20;border-radius:40px;padding:10px;box-shadow:0 30px 60px #0C2A3533, 0 2px 0 #ffffff22 inset}
.phone .screen{background:#fff;border-radius:31px;overflow:hidden;color:#10262E}
.phone .notch{width:84px;height:22px;background:#0B1A20;border-radius:0 0 14px 14px;margin:0 auto}
.phone .ph-top{display:flex;justify-content:space-between;align-items:center;padding:8px 18px 10px;font:600 12px var(--body);color:#10262E}
.phone .ph-top img{height:20px}
.map{height:190px;background:#EAF2EF;position:relative}
.map svg{display:block;width:100%;height:100%}
.ph-card{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.ph-card .st{font:800 1.1rem var(--display);color:#0C2A35}
.ph-card .sub{font-size:12.5px;color:#56696D}
.ph-card .win{margin-top:6px;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #E1EAE7;padding-top:10px;font-size:12px;color:#56696D}
.ph-card .win b{font:600 13px var(--mono);color:#0C2A35}
.ph-card .eta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;color:#0B7352;font-weight:600}
.ph-card .eta i{width:8px;height:8px;border-radius:50%;background:#18B27A;box-shadow:0 0 0 4px #18B27A33}
.ph-btn{margin-top:10px;background:#0C2A35;color:#fff;text-align:center;border-radius:10px;padding:10px;font:700 13px var(--display)}

.rxlabel{position:absolute;z-index:3;right:0;bottom:40px;width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);font-family:var(--mono);font-size:11.5px;color:var(--text);transform:rotate(-3deg)}
.rxlabel .hd{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px dashed var(--line);font-weight:500}
.rxlabel .hd span:last-child{color:var(--green)}
.rxlabel .bd{padding:10px 14px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}
.rxlabel .bd dt{color:var(--muted)} .rxlabel .bd dd{margin:0}
.barcode{height:30px;margin:4px 14px 12px;color:var(--text);background:
 repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px,currentColor 4px 5px,transparent 5px 8px,currentColor 8px 11px,transparent 11px 12px,currentColor 12px 13px,transparent 13px 16px);opacity:.85}
.feed{position:absolute;z-index:1;right:0;top:36px;width:210px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px 14px;font-size:12.5px;display:flex;flex-direction:column;gap:10px}
.feed .t{font:700 12px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.feed .row{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:start}
.feed .row .mono{color:var(--muted);font-size:11.5px}
.feed .row b{font-family:var(--display);color:var(--ink);font-weight:700}
@media (max-width:1100px){.feed{display:none}}
@media (max-width:900px){.comp{justify-content:center}.rxlabel{right:auto;left:calc(50% + 60px)}}
@media (max-width:560px){.comp{min-height:0;flex-direction:column;gap:20px}.phone{margin-left:0}.rxlabel{position:relative;left:auto!important;right:auto;bottom:auto;width:100%;max-width:300px}}

/* stats band */
.band{background:var(--band);color:var(--band-fg)}
.band h2,.band h3{color:var(--band-fg)}
.stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:0}
.stat{padding:40px 32px 40px 0;display:flex;flex-direction:column;gap:6px}
.stat + .stat{padding-left:32px;border-left:1px solid var(--band-line)}
.stat .n{font:800 clamp(2.2rem,4vw,3rem) var(--display);letter-spacing:-.03em;line-height:1;color:var(--band-fg);font-variant-numeric:tabular-nums}
.stat .n .plus{color:var(--mint)}
.stat .l{color:var(--band-muted);font-size:1rem}
.stat blockquote{margin:0;font:600 1.2rem/1.4 var(--display);color:var(--band-fg)}
.stat cite{font-style:normal;color:var(--band-muted);font-size:.92rem;margin-top:8px}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr}.stat.q{grid-column:1/-1;border-left:0!important;padding-left:0!important;border-top:1px solid var(--band-line)}}
@media (max-width:480px){.stats{grid-template-columns:1fr}.stat + .stat{border-left:0;padding-left:0;border-top:1px solid var(--band-line)}}

/* journey */
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink);position:relative}
.step{padding:22px 24px 0 0;display:flex;flex-direction:column;gap:10px;position:relative}
.step::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--green)}
.step:last-child::before{background:var(--green)}
.step .time{font:500 .9rem var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px}
.step .cap{align-self:flex-start;font:700 .75rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:var(--green-soft);padding:.3em .6em;border-radius:6px}
.step p{color:var(--muted);font-size:1rem}
.step .ui{margin-top:auto;padding-top:14px}
@media (max-width:900px){.journey{grid-template-columns:1fr 1fr;row-gap:36px}.step{padding-right:16px}}
@media (max-width:560px){.journey{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink);padding-left:22px}.step{padding:0 0 8px}.step::before{left:-31px;top:2px}}

.mini{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13px}
.mini .r{display:flex;justify-content:space-between;gap:10px;padding-block:3px}
.mini .r span:first-child{color:var(--muted)}
.mini .mono{font-size:12.5px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chips span{border:1px solid var(--line);border-radius:7px;padding:4px 8px;font:500 12px var(--mono);color:var(--text)}
.chips span.on{border-color:var(--green);background:var(--green-soft);color:var(--green-strong)}
.sig{height:34px;margin-top:4px}
.sig path{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}

/* split */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.rev > :first-child{order:2}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.rev > :first-child{order:0}}
.checks{list-style:none;padding:0;margin:1.6rem 0 0;display:flex;flex-direction:column;gap:.8rem}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.checks li::before{content:"";width:18px;height:18px;margin-top:4px;border-radius:5px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230E8A61' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* panel ui */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.panel-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}
.panel-hd b{font-family:var(--display);color:var(--ink)}
.panel-hd .tabs{display:flex;gap:6px;font-size:12.5px}
.panel-hd .tabs span{padding:4px 10px;border-radius:999px;color:var(--muted);border:1px solid var(--line)}
.panel-hd .tabs span.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.q-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.q-row:last-child{border-bottom:0}
.q-row .sv{width:4px;align-self:stretch;border-radius:4px}
.q-row .main{display:flex;flex-direction:column;gap:2px;min-width:0}
.q-row .main b{font-family:var(--display);color:var(--ink);font-size:.98rem}
.q-row .main span{font-size:.88rem;color:var(--muted)}
.pill{font:600 .78rem var(--display);padding:.35em .75em;border-radius:999px;white-space:nowrap}
.pill.ok{background:var(--green-soft);color:var(--green-strong)}
.pill.warn{background:var(--amber-soft);color:var(--amber)}
.pill.bad{background:var(--red-soft);color:var(--red)}
.sv.ok{background:var(--green)} .sv.warn{background:var(--amber)} .sv.bad{background:var(--red)}
@media (max-width:520px){.q-row{grid-template-columns:auto 1fr}.q-row .pill{grid-column:2;justify-self:start}}

/* integrations strip */
.int-strip{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end}
.int-names{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px}
.int-names div{padding:28px 20px;text-align:center;font:700 clamp(1.3rem,2.4vw,1.7rem) var(--display);color:var(--ink);letter-spacing:-.01em}
.int-names div + div{border-left:1px solid var(--line)}
.int-names div.more{font:600 .95rem var(--body);color:var(--muted);display:flex;align-items:center;justify-content:center}
@media (max-width:700px){.int-strip{grid-template-columns:1fr}.int-names{grid-template-columns:1fr 1fr}.int-names div:nth-child(3){border-left:0}.int-names div:nth-child(n+3){border-top:1px solid var(--line)}}

/* flow diagram */
.flow{display:grid;grid-template-columns:1fr auto 1.3fr auto 1.3fr auto 1fr;align-items:stretch;gap:10px}
.node{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px}
.node b{font:800 1.05rem var(--display);color:var(--ink)}
.node span{font-size:.9rem;color:var(--muted);line-height:1.45}
.node.opt{border:2px solid var(--green);background:var(--green-soft)}
.node.opt b{color:var(--green-strong)}
.node .who{font:700 .72rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.arrow{display:flex;align-items:center;color:var(--green);font-size:1.4rem}
@media (max-width:900px){.flow{grid-template-columns:1fr}.arrow{justify-content:center;transform:rotate(90deg);height:24px}}

/* quote */
.bigq{max-width:900px}
.bigq blockquote{margin:0;font:700 clamp(1.7rem,3.6vw,2.7rem)/1.18 var(--display);color:var(--ink);letter-spacing:-.02em;text-wrap:balance}
.bigq blockquote .g{color:var(--green)}
.bigq figcaption{margin-top:1.4rem;display:flex;gap:14px;align-items:center}
.avatar.photo{object-fit:cover;background:var(--surface-2)}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--green-soft);color:var(--green-strong);display:grid;place-items:center;font:800 1rem var(--display);flex:none}
.bigq figcaption b{display:block;font-family:var(--display);color:var(--ink)}
.bigq figcaption span{color:var(--muted);font-size:.95rem}

/* cta band */
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:clamp(48px,6vw,72px);flex-wrap:wrap}
.cta-band h2{max-width:22ch}
.cta-band p{color:var(--band-muted);margin-top:.8rem;max-width:48ch}

/* page head */
.page-head{padding-block:clamp(48px,7vw,88px) clamp(32px,4vw,48px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.3rem,4.8vw,3.6rem);max-width:18ch}
.page-head .lede{margin-top:1.2rem;max-width:52ch}

/* capability grid */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cap{background:var(--surface);padding:28px;display:flex;flex-direction:column;gap:10px}
.cap .ic{width:40px;height:40px;border-radius:10px;background:var(--green-soft);display:grid;place-items:center;color:var(--green-strong)}
.cap .ic svg{width:22px;height:22px}
.cap p{color:var(--muted);font-size:.98rem}
.cap ul{margin:.4rem 0 0;padding-left:1.1rem;color:var(--text);font-size:.95rem;display:flex;flex-direction:column;gap:.25rem}
@media (max-width:900px){.caps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.caps{grid-template-columns:1fr}}

/* record */
.record .rec-row{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:.92rem}
.record .rec-row:last-child{border-bottom:0}
.record .rec-row .mono{color:var(--muted);font-size:.85rem}
.record .rec-row b{font-family:var(--display);color:var(--ink)}
.photo-thumb{margin-top:8px;width:120px;height:78px;border-radius:8px;background:
 linear-gradient(180deg,transparent 55%,#00000022 55%),
 linear-gradient(135deg,#C8D8D2,#9FB7AF);position:relative;overflow:hidden}
.photo-thumb::after{content:"";position:absolute;left:38px;top:22px;width:40px;height:34px;background:#fff;border-radius:4px;box-shadow:0 2px 0 #0002}
.photo-thumb::before{content:"";position:absolute;left:52px;top:30px;width:12px;height:12px;background:#18B27A;border-radius:2px;z-index:1}

/* integration cards */
.int-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.int-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px}
.int-card .nm{font:800 1.6rem var(--display);color:var(--ink);letter-spacing:-.01em}
.int-card .meta{display:flex;gap:8px;flex-wrap:wrap}
.int-card p{color:var(--muted);font-size:.97rem}
@media (max-width:900px){.int-cards{grid-template-columns:1fr}}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:s}
.steps3 > div{counter-increment:s;display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--ink);padding-top:18px}
.steps3 > div::before{content:"Step " counter(s);font:600 .82rem var(--mono);color:var(--green)}
.steps3 p{color:var(--muted)}
@media (max-width:800px){.steps3{grid-template-columns:1fr}}

/* two col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:800px){.two{grid-template-columns:1fr}}
.opt-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;display:flex;flex-direction:column;gap:12px}
.opt-card .who{font:700 .78rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}

/* route consolidation */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.routes .panel svg{display:block;width:100%;height:auto}
.routes .cap-t{padding:14px 18px;font-size:.92rem;color:var(--muted);border-top:1px solid var(--line)}
.routes .cap-t b{color:var(--ink);font-family:var(--display)}
@media (max-width:800px){.routes{grid-template-columns:1fr}}

/* about */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.values > div{display:flex;flex-direction:column;gap:8px}
.values p{color:var(--muted)}
@media (max-width:800px){.values{grid-template-columns:1fr}}
.roadmap{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.roadmap li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-family:var(--display);font-weight:600;color:var(--ink)}

/* article */
.article{max-width:720px}
.article .dateline{font:500 .9rem var(--mono);color:var(--muted)}
.article h1{font-size:clamp(2rem,4vw,3rem);margin-top:.8rem;max-width:22ch}
.article .deck{font-size:1.2rem;color:var(--muted);margin-top:1rem}
.article .body{margin-top:2.2rem;display:flex;flex-direction:column;gap:1.15rem}
.article .body h2{font-size:1.5rem;margin-top:1.2rem}
.article blockquote{margin:.4rem 0;padding:4px 0 4px 22px;border-left:3px solid var(--green);font-size:1.08rem;color:var(--ink)}
.article blockquote cite{display:block;margin-top:8px;font-style:normal;color:var(--muted);font-size:.93rem}
.article .boiler{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:1rem;display:flex;flex-direction:column;gap:1rem;font-size:.97rem;color:var(--muted)}
.article .boiler h3{font-size:1.05rem}
.news-layout{display:grid;grid-template-columns:1fr 280px;gap:64px;align-items:start}
.news-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px}
.news-side .panel{padding:20px;display:flex;flex-direction:column;gap:8px;font-size:.95rem}
@media (max-width:900px){.news-layout{grid-template-columns:1fr}.news-side{position:static}}

form .field{display:flex;flex-direction:column;gap:6px}
form label{font:600 .9rem var(--display);color:var(--ink)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:.8em .9em;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}

/* demo */
.demo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
@media (max-width:900px){.demo-grid{grid-template-columns:1fr}}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.next{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;counter-reset:n}
.next li{counter-increment:n;display:grid;grid-template-columns:34px 1fr;gap:12px}
.next li::before{content:counter(n);width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 .9rem var(--display)}
.next b{font-family:var(--display);color:var(--ink);display:block}
.next span{color:var(--muted);font-size:.95rem}
.done{display:flex;flex-direction:column;gap:10px;padding:28px;background:var(--green-soft);border-radius:14px}

/* footer */
footer.site{background:var(--band);color:var(--band-muted);padding-block:56px 32px;font-size:.95rem}
footer.site .cols{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:32px}
footer.site h4{color:var(--band-fg);font-size:.95rem;margin-bottom:12px}
footer.site a{color:var(--band-muted);text-decoration:none;display:block;padding-block:3px}
footer.site a:hover{color:var(--mint)}
footer.site .brand img{height:44px;width:auto}
footer.site .brand p{margin-top:14px;max-width:34ch}
footer.site .legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--band-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem}
footer.site .legal span{display:inline}
footer.site .legal a.smd{display:inline-flex;align-items:center;gap:8px;padding:0}
footer.site .legal a.smd img{width:22px;height:22px;object-fit:contain}
@media (max-width:700px){footer.site .legal{flex-direction:column}}
@media (max-width:800px){footer.site .cols{grid-template-columns:1fr 1fr}footer.site .brand{grid-column:1/-1}}

/* review notes */
.rv{display:none}
body.review .rv{display:inline-flex;align-items:center;gap:6px;background:var(--note);color:var(--note-fg);font:600 .78rem/1.3 var(--body);padding:.35em .6em;border-radius:6px;margin:.3em 0;vertical-align:middle;letter-spacing:0;text-transform:none;text-align:left;max-width:100%}
body.review .rv::before{content:"Confirm";font-weight:800;text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}
.rv-toggle{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:.6em 1em;font:700 .88rem var(--display);box-shadow:var(--shadow);cursor:pointer}
.rv-toggle i{width:10px;height:10px;border-radius:50%;background:var(--line)}
body.review .rv-toggle i{background:#E5B400}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media (prefers-reduced-motion:no-preference){
  .page:not([hidden]) .rise{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
  .page:not([hidden]) .rise.d1{animation-delay:.08s}.page:not([hidden]) .rise.d2{animation-delay:.16s}.page:not([hidden]) .rise.d3{animation-delay:.24s}
  @keyframes rise{from{transform:translateY(14px)}to{transform:none}}
}
[hidden]{display:none !important}
.legal .body{margin-top:0}
.legal .body ul{padding-left:1.4rem;display:flex;flex-direction:column;gap:.4rem}
.legal .body h2{font-size:1.2rem;letter-spacing:.02em}
.legal .body a{color:var(--green);word-break:break-word}
