:root {
  --ink:#0A0A0A;--bg:#FAF8F3;--bg-warm:#F2EDE3;--surface:#FFFFFF;--text:#1A1A1A;--text-soft:#4A4A4A;--text-mute:#7A7A7A;--line:#E5E0D5;--hot:#E63E11;--hot-deep:#B82D08;--gold:#C9A227;--green:#1F6F47;
  --r-sm:6px;--r-md:12px;--r-lg:20px;--r-xl:28px;--r-full:999px;
}
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.7; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.wrap-narrow { max-width:820px; margin:0 auto; padding:0 24px; }

h1,h2,h3 { font-family:'Bricolage Grotesque',sans-serif; font-weight:700; letter-spacing:-0.025em; color:var(--ink); }
h1 { font-size:clamp(36px,5vw,60px); letter-spacing:-0.035em; line-height:1.05; font-weight:800; }
h2 { font-size:clamp(22px,2.6vw,28px); margin:48px 0 16px; letter-spacing:-0.02em; }
h3 { font-size:18px; margin:28px 0 12px; }
em.script { font-family:'Instrument Serif',serif; font-style:italic; color:var(--hot); font-weight:400; }

.eyebrow { font-size:11px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--hot); display:inline-flex; align-items:center; gap:10px; }
.eyebrow::before { content:''; width:24px; height:1px; background:var(--hot); }

/* (Header / NAV / disclosure styles live in common.css) */

.page-head { padding:80px 0 48px; position:relative; overflow:hidden; }
.page-head::before { content:''; position:absolute; top:-150px; right:-150px; width:500px; height:500px; background:radial-gradient(circle,rgba(230,62,17,0.06) 0%,transparent 60%); border-radius:50%; }
.page-head .eyebrow { margin-bottom:20px; position:relative; }
.page-head h1 { max-width:800px; margin-bottom:24px; position:relative; }
.page-head h1 em { font-style:italic; color:var(--hot); }
.last-updated { font-size:14px; color:var(--text-mute); font-weight:500; display:inline-flex; align-items:center; gap:10px; padding:8px 14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-full); position:relative; }

.content { padding:40px 0 100px; }
.content p { font-size:16px; color:var(--text-soft); line-height:1.75; margin-bottom:18px; }
.content p strong { color:var(--ink); font-weight:600; }
.content ul,.content ol { margin:18px 0 24px 28px; font-size:16px; color:var(--text-soft); }
.content li { margin-bottom:10px; line-height:1.7; }
.content li strong { color:var(--ink); font-weight:600; }
.content a { color:var(--hot); text-decoration:underline; text-underline-offset:2px; font-weight:500; }
.content a:hover { color:var(--hot-deep); }

.toc { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl); padding:28px 32px; margin-bottom:48px; }
.toc h3 { font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-mute); font-weight:700; margin:0 0 16px; }
.toc ol { margin:0; padding-left:24px; font-size:14px; }
.toc ol li { margin-bottom:8px; }
.toc a { color:var(--text-soft); text-decoration:none; border:none; }
.toc a:hover { color:var(--hot); }

.callout { background:var(--bg-warm); border-left:3px solid var(--hot); border-radius:var(--r-md); padding:20px 24px; margin:28px 0; }
.callout p { margin-bottom:0; font-size:15px; }
.callout strong { color:var(--ink); }

.contact-box { background:var(--ink); color:white; border-radius:var(--r-xl); padding:36px 40px; margin:48px 0; }
.contact-box h3 { color:white; margin-top:0; font-size:22px; margin-bottom:16px; }
.contact-box p { color:rgba(255,255,255,0.78); margin-bottom:8px; font-size:14.5px; }
.contact-box strong { color:white; }
.contact-box a { color:var(--gold); }

/* (Footer styles live in common.css) */

@media (max-width:640px) {
  .wrap { padding:0 20px; }
  .page-head { padding:56px 0 32px; }
  .content { padding:32px 0 64px; }
  .contact-box { padding:28px; }
}
