:root{
  --coral:#EB6345;--coral-dark:#D4502F;--ink:#17171C;--white:#fff;--peach:#FFF0EB;--sand:#F8F6F3;
  --muted:#6A6A74;--line:#E9E5E1;--radius:24px;
  --display:"Bricolage Grotesque",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.7;font-size:1.08rem;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--coral-dark);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,92%);margin-inline:auto}
h1,h2,h3{font-family:var(--display);line-height:1.1;letter-spacing:-.025em}
h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800}
h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin:2.6rem 0 .7rem}
h3{font-size:1.3rem;font-weight:700;margin:1.8rem 0 .5rem}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--ink);letter-spacing:-.04em}
.logo span{color:var(--coral)}
.logo:hover{text-decoration:none}
.nav ul{display:flex;gap:1.9rem;list-style:none;align-items:center}
.nav ul a{color:var(--ink);font-weight:500;font-size:.98rem}
.btn{display:inline-block;background:var(--coral);color:#fff!important;font-weight:700;padding:.9rem 1.7rem;border-radius:999px;border:0;cursor:pointer;font:inherit;font-weight:700;transition:transform .15s,background .15s}
.btn:hover{background:var(--coral-dark);transform:translateY(-2px);text-decoration:none}
.btn.sun{background:#fff;color:var(--ink)!important}.btn.sun:hover{background:var(--peach)}
.btn.ghost{background:transparent;color:#fff!important;border:2px solid #fff}
.btn.ghost:hover{background:#fff;color:var(--ink)!important}

/* article header */
.art-hero{background:linear-gradient(180deg,var(--peach),#fff);padding:4rem 0 2.5rem}
.art-hero .inner{width:min(780px,92%);margin-inline:auto}
.crumbs{font-size:.92rem;color:var(--muted);margin-bottom:1.2rem}
.crumbs a{color:var(--muted)}
.tag{display:inline-block;font-size:.82rem;font-weight:700;background:var(--peach);color:var(--coral-dark);padding:.2rem .8rem;border-radius:999px;border:1px solid #f6d3c8}
.art-hero .tag{background:#fff}
.art-meta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem;color:var(--muted);font-size:.95rem}
.art-hero .lead{font-size:1.25rem;color:var(--muted);margin-top:1.1rem}

/* article body */
article.prose{width:min(780px,92%);margin:0 auto;padding:2rem 0 4rem}
.prose p{margin-bottom:1.1rem}
.prose ul,.prose ol{margin:0 0 1.3rem 1.4rem}
.prose li{margin-bottom:.45rem}
.prose li::marker{color:var(--coral);font-weight:700}
.prose strong{font-weight:700}
.table-scroll{overflow-x:auto;margin:1.4rem 0 1.8rem;border-radius:16px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);font-size:1rem}
th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--peach);font-family:var(--display);font-size:.95rem;white-space:nowrap}
td.gr{font-family:var(--display);font-weight:700;font-size:1.2rem;color:var(--coral-dark);white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:var(--sand)}
.tip{margin:1.8rem 0;background:var(--peach);border-left:5px solid var(--coral);padding:1rem 1.3rem;border-radius:0 14px 14px 0}
.tip p{margin:0}
.gk{font-family:var(--display);font-weight:700;color:var(--coral-dark)}

/* more + cta */
.more-wrap{background:var(--sand);padding:3rem 0;text-align:center}
.more-wrap p{color:var(--muted);margin-bottom:1rem}
.btn.dark{background:var(--ink)}.btn.dark:hover{background:#000}
.cta-band{background:var(--coral);color:#fff;text-align:center;padding:4.5rem 0}
.cta-band h2{color:#fff;margin-top:0}
.cta-band p{margin:0 auto 1.8rem;color:#fff;opacity:.95;max-width:56ch}
.cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

footer{background:#0E0E12;color:#A9A9B3;padding:3rem 0;font-size:.95rem}
footer .wrap{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
footer a{color:#E4E4EA}
footer ul{list-style:none;display:flex;gap:1.4rem;flex-wrap:wrap}

@media(max-width:760px){
  .nav ul li:not(:last-child){display:none}
  .art-hero{padding:2.5rem 0 1.5rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* SEO additions */
.crumbs span{color:var(--ink)}
.toc{background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.5rem;margin:0 0 2rem}
.toc-h{font-family:var(--display);font-weight:800;margin:0 0 .5rem!important}
.toc ol{margin:0 0 0 1.2rem}
.toc li{margin-bottom:.25rem}
.faq-block h3{font-size:1.15rem;margin:1.4rem 0 .35rem}
.faq-block p{color:var(--muted)}
.inline-cta{margin-top:2.4rem;background:var(--peach);border-radius:18px;padding:1.2rem 1.5rem}
.inline-cta p{margin:0}
.related{background:var(--sand);padding:4rem 0}
.related h2{margin-top:0}
.rel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.rel-card{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:1.5rem;color:var(--ink);transition:transform .2s,box-shadow .2s}
.rel-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(23,23,28,.1);text-decoration:none}
.rel-card h3{margin:.3rem 0 0;font-size:1.15rem}
.rel-card p{color:var(--muted);font-size:.95rem;margin:0}
.rel-card .tag{align-self:flex-start}
.related .all{margin-top:1.6rem;font-weight:700}
@media(max-width:900px){.rel-cards{grid-template-columns:1fr}}
