/* Smartunex sketch-g: guide hub + guide article styles. Loaded after ../pages.css (tokens, header,
   buttons, crumbs, .answer, .nudge, .limits, .faq, .rbox, .final and footer come from there). */

/* ---------- article hero ---------- */
.g-hero h1{max-width:22ch;font-size:clamp(36px,4vw,60px)}
.g-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:22px;font-size:14.5px;color:var(--muted)}
.g-meta a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(238,248,244,.3)}
.g-meta a:hover{border-color:var(--mint)}
.g-meta .dot{width:6px;height:7px;background:rgba(169,196,186,.5);clip-path:var(--hex)}
.g-kind{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border:1px solid rgba(232,212,158,.4);border-radius:999px;color:var(--gold);font:600 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}

/* ---------- article layout: TOC + body ---------- */
.g-main{padding:clamp(48px,6vw,88px) var(--gutter) clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.g-grid{max-width:1180px;margin:0 auto;display:grid;gap:36px}
.toc{font-size:15px}
.toc b{display:block;font:600 12.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mint);margin-bottom:12px}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:0;border-top:1px solid var(--line)}
.toc li{counter-increment:t;border-bottom:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:28px 1fr;padding:11px 0;text-decoration:none;color:var(--muted);line-height:1.4}
.toc a::before{content:counter(t,decimal-leading-zero);font-size:12.5px;color:var(--muted);padding-top:2px}
.toc a:hover{color:var(--ink)}
@media (min-width:1080px){
  .g-grid{grid-template-columns:240px minmax(0,1fr);gap:clamp(48px,6vw,96px)}
  .toc{position:sticky;top:96px;align-self:start}
}

.prose{max-width:720px;min-width:0}
.prose > section + section{margin-top:clamp(48px,6vw,72px)}
.prose h2{font-size:clamp(27px,2.6vw,38px);max-width:24ch;margin:0;scroll-margin-top:90px}
.prose h3{font-size:clamp(19px,1.6vw,22px);line-height:1.25;margin:34px 0 0;color:var(--ink)}
.prose p,.prose li{font-size:17.5px;line-height:1.68;color:var(--muted)}
.prose p{margin-top:16px;max-width:66ch}
.prose h2 + p{margin-top:18px}
.prose p.lead1{color:var(--ink)}
.prose b,.prose strong{color:var(--ink);font-weight:600}
.prose a:not(.btn){color:var(--mint);text-decoration:none;border-bottom:1px solid rgba(111,242,200,.35)}
.prose a:not(.btn):hover{border-color:var(--mint)}
.prose .hexlist{margin-top:18px}
.prose .hexlist li{color:var(--muted)}
.prose ol.steps{list-style:none;counter-reset:s;margin-top:20px;display:grid;gap:14px}
.prose ol.steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:12px}
.prose ol.steps li::before{content:counter(s);display:grid;place-items:center;width:28px;height:31px;margin-top:1px;background:#0A3127;color:var(--mint);font:600 13px/1 var(--display);clip-path:var(--hex)}

/* ---------- checklist ---------- */
.chk{list-style:none;margin-top:18px;border-top:1px solid var(--line)}
.chk li{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:4px 14px;padding:16px 0;border-bottom:1px solid var(--line)}
.chk li::before{content:"";grid-row:1 / span 2;width:15px;height:17px;margin-top:4px;clip-path:var(--hex);background:rgba(111,242,200,.55);
  -webkit-mask:radial-gradient(circle at 50% 50%,transparent 4.2px,#000 4.6px);mask:radial-gradient(circle at 50% 50%,transparent 4.2px,#000 4.6px)}
.chk b{display:block;font-size:17px;line-height:1.4}
.chk span{display:block;font-size:15.5px;line-height:1.55;color:var(--muted)}
.chk-group{margin-top:34px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.chk-group h3{margin:0}
.chk-group small{font-size:13px;color:var(--muted);white-space:nowrap}

/* ---------- data table (stacks on phones) ---------- */
.gtab{width:100%;margin-top:22px;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.gtab caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:10px}
.gtab th,.gtab td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-top:1px solid var(--line)}
.gtab thead th{font:600 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:0;padding-bottom:10px}
.gtab tbody th{font-weight:600;color:var(--ink)}
.gtab td{color:var(--muted)}
.gtab tbody tr:last-child > *{border-bottom:1px solid var(--line)}
@media (max-width:719px){
  .gtab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .gtab,.gtab tbody,.gtab tr,.gtab th,.gtab td{display:block}
  .gtab tr{padding:14px 0;border-top:1px solid var(--line)}
  .gtab tbody tr:last-child{border-bottom:1px solid var(--line)}
  .gtab th,.gtab td,.gtab tbody tr:last-child > *{border:0;padding:3px 0}
  .gtab tbody th{font-size:17px;margin-bottom:4px}
  .gtab td{display:grid;grid-template-columns:96px 1fr;gap:10px}
  .gtab td::before{content:attr(data-l);font:600 11px/1.75 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
}

/* ---------- callouts inside the body ---------- */
.prose .nudge{margin-top:clamp(48px,6vw,72px)}
.note{margin-top:22px;padding:18px 20px;border:1px solid rgba(232,212,158,.3);border-radius:14px;background:rgba(20,16,4,.25)}
.note p{margin:0;font-size:16px;color:var(--ink)}
.note p + p{margin-top:8px}
.prose .limits{margin-top:clamp(48px,6vw,72px);display:block}
.prose .limits h2{font-size:clamp(23px,2.2vw,30px)}
.prose .limits .hexlist{margin-top:18px}
.prose .faq{margin-top:18px}
.prose .faq details p{margin:0;font-size:16.5px}
.sources{list-style:none;margin-top:16px;display:grid;gap:10px;counter-reset:src}
.sources li{counter-increment:src;display:grid;grid-template-columns:28px 1fr;font-size:15.5px;line-height:1.5}
.sources li::before{content:"[" counter(src) "]";color:var(--muted);font-size:13.5px;padding-top:2px}
.sources a{overflow-wrap:anywhere}

/* related case strip */
.g-case{margin-top:18px;display:grid;gap:10px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);text-decoration:none;color:inherit;transition:border-color .2s}
.prose a.g-case{border-bottom:1px solid var(--line);color:inherit}
.prose a.g-case:hover{border-color:rgba(111,242,200,.45)}
.g-case .tag{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.g-case .tag i{width:9px;height:10px;background:currentColor;clip-path:var(--hex)}
.g-case strong{font-family:var(--display);font-weight:600;font-size:clamp(20px,1.8vw,24px);line-height:1.2;color:var(--ink)}
.g-case span{font-size:15.5px;line-height:1.55;color:var(--muted)}

/* see also cards */
.also{list-style:none;display:grid;gap:14px;margin-top:18px}
.also a{display:grid;gap:6px;height:100%;padding:20px 22px;border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:border-color .2s,background .2s}
.prose .also a{border-bottom:1px solid var(--line);color:inherit}
.also a:hover,.prose .also a:hover{border-color:rgba(111,242,200,.45);background:rgba(8,36,28,.4)}
.also small{font:600 11.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mint)}
.also strong{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.25;color:var(--ink)}
.also span{font-size:15px;line-height:1.5;color:var(--muted)}
@media (min-width:720px){ .also{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---------- hub ---------- */
.h-hero .lede{max-width:60ch}
.h-latest{list-style:none;display:grid;gap:18px;margin-top:clamp(28px,4vw,40px)}
.h-latest a{display:grid;gap:12px;height:100%;padding:clamp(24px,3vw,34px);border:1px solid var(--line);border-radius:22px;text-decoration:none;color:inherit;
  background:radial-gradient(90% 120% at 100% 0%,rgba(20,180,135,.12),rgba(3,16,13,0) 65%),var(--panel);transition:border-color .2s,transform .2s}
.h-latest a:hover{border-color:rgba(111,242,200,.45);transform:translateY(-2px)}
.h-latest .row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13.5px;color:var(--muted)}
.h-latest h2{margin:0;font-size:clamp(23px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em;text-wrap:wrap}
.h-latest p{font-size:16px;line-height:1.55;color:var(--muted)}
.h-latest .go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--mint);font-weight:600;font-size:15px}
.h-latest .go svg{width:15px;height:15px}
@media (min-width:900px){ .h-latest{grid-template-columns:repeat(2,minmax(0,1fr))} .h-latest li:first-child:nth-last-child(odd){grid-column:1/-1} }

.clusters{list-style:none;display:grid;gap:0;margin-top:clamp(28px,4vw,40px);border-top:1px solid var(--line)}
.cl{display:grid;gap:14px;padding:clamp(24px,3vw,32px) 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.cl .lt{display:flex;align-items:center;gap:12px;font:600 12.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.cl .lt i{display:grid;place-items:center;width:26px;height:29px;background:#0A3127;color:var(--mint);clip-path:var(--hex);font:700 12px/1 var(--display);letter-spacing:0}
.cl h3{font-size:clamp(22px,2vw,27px);line-height:1.15;letter-spacing:-.02em}
.cl p{font-size:16px;line-height:1.6;color:var(--muted);max-width:56ch}
.cl ul{list-style:none;display:grid;gap:8px}
.cl ul a{display:inline;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(111,242,200,.4);font-size:16px;line-height:1.5}
.cl ul a:hover{color:var(--mint)}
.cl .svc{font-size:14.5px;color:var(--muted)}
.cl .svc a{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(169,196,186,.3)}
.cl .svc a:hover{color:var(--ink)}
.cl .live{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);font-weight:600}
@media (min-width:960px){
  .cl{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(32px,5vw,72px);align-items:start}
  .cl .side{padding-top:30px}
}
.h-policy{margin-top:clamp(28px,4vw,40px);max-width:760px;font-size:15.5px;line-height:1.6;color:var(--muted)}
.h-policy b{color:var(--ink)}

@media (max-width:767px){
  .g-hero h1{font-size:clamp(30px,8.4vw,40px)}
  .prose p,.prose li{font-size:17px}
  .chk-group{flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion: reduce){ .h-latest a,.also a,.g-case{transition:none} }
.prose code{font:500 .9em/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);background:rgba(111,242,200,.08);padding:2px 6px;border-radius:5px;overflow-wrap:anywhere}
.cl .side ul + .svc{margin-top:14px}
.cl h3{margin-top:4px}
.cl > div > p:not(.lt){margin-top:10px}
@media (max-width:719px){ .gtab td{grid-template-columns:72px 1fr} }

/* skip link (same as services.css) */
.skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none}
.skip:focus{top:10px}
