/* Shared stylesheet for the article pages.
   One small cacheable file beats inlining the same CSS into every guide: the second
   page a visitor opens costs zero CSS bytes, and Core Web Vitals like that. */
:root{
  --night:#0B0E1A; --surface:#151A2E; --surface2:#1D2340; --line:#2A3152;
  --ink:#EEEBFF; --muted:#8B90AF; --amber:#F2A93B; --amber-ink:#2A1B00;
  --display:"Bricolage Grotesque",Georgia,serif;
  --body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--body);
     font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--amber)}
a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}

header.site{border-bottom:1px solid var(--line);padding:16px 0;position:sticky;top:0;
            background:rgba(11,14,26,.92);backdrop-filter:blur(8px);z-index:10}
header.site .wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:700}
.lamp-sm{width:20px;height:20px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 50% 42%,#FFD892 0,var(--amber) 52%,rgba(242,169,59,.15) 78%)}

h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;line-height:1.15}
h1{font-size:clamp(34px,5.5vw,52px);font-weight:700;margin:0 0 14px}
h2{font-size:clamp(24px,3.4vw,32px);font-weight:700;margin:44px 0 12px}
h3{font-size:21px;font-weight:600;margin:30px 0 8px}
p{margin:0 0 18px}
ul,ol{margin:0 0 18px;padding-left:22px}
li{margin-bottom:9px}
strong{color:#fff}

.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:12px}
.standfirst{font-size:21px;color:var(--muted);margin-bottom:8px}
.byline{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;
        border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:34px}
article{padding:44px 0 20px}

.callout{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin:26px 0}
.callout h3{margin-top:0}
.callout p:last-child{margin-bottom:0}
.callout.warn{border-color:rgba(242,169,59,.45)}

.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-left:44px;margin-bottom:18px}
.steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:29px;height:29px;
  border-radius:50%;background:var(--surface2);border:1px solid var(--line);color:var(--amber);
  font-family:var(--mono);font-size:13px;display:grid;place-items:center}

.cta{background:linear-gradient(160deg,var(--surface2),var(--surface));border:1px solid var(--line);
     border-radius:20px;padding:28px;margin:44px 0 10px;text-align:center}
.cta h2{margin:0 0 10px;font-size:27px}
.cta p{color:var(--muted);margin-bottom:20px}
.btn{display:inline-block;background:var(--amber);color:var(--amber-ink);text-decoration:none;
     font-weight:700;padding:15px 28px;border-radius:13px}
.price{font-family:var(--mono);font-size:13px;color:var(--muted);margin-top:14px}

details{border-top:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:600;font-family:var(--display);font-size:19px}
details p{margin:12px 0 0;color:var(--muted)}

.related{border-top:1px solid var(--line);margin-top:40px;padding-top:26px}
.related a{display:block;margin-bottom:10px}

footer.site{border-top:1px solid var(--line);margin-top:50px;padding:28px 0 46px;
            color:var(--muted);font-size:14px}
footer.site a{color:var(--muted);margin-right:16px}
