: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; }

.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); }

.principles { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin:32px 0; }
.principle-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 26px; }
.principle-num { font-family:'Bricolage Grotesque',sans-serif; font-size:36px; font-weight:800; color:var(--hot); opacity:0.2; line-height:1; margin-bottom:12px; letter-spacing:-0.04em; }
.principle-card h3 { font-size:18px; margin:0 0 8px; }
.principle-card p { font-size:14.5px; margin-bottom:0; color:var(--text-soft); }

.partners { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl); padding:32px 36px; margin:32px 0; }
.partners h3 { margin:0 0 16px; font-size:18px; }
.partners-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.partners-item { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-soft); }
.partners-dot { width:6px; height:6px; background:var(--hot); border-radius:50%; flex-shrink:0; }

.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:900px) {
  .principles { grid-template-columns:1fr; }
  .partners-list { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .wrap { padding:0 20px; }
  .page-head { padding:56px 0 32px; }
  .content { padding:32px 0 64px; }
}
