:root{
--primary-50:#f0f3f8;
--primary-100:#e0e7f0;
--primary-200:#c3cee0;
--primary-300:#9aabc8;
--primary-400:#6a83ab;
--primary-500:#44618f;
--primary-600:#324d74;
--primary-700:#273d5e;
--primary-800:#1c2842;
--primary-900:#131b2e;
--primary-950:#0a0f1a;

--accent-50:#fbf6f2;
--accent-100:#f5e7dc;
--accent-200:#ecccbb;
--accent-300:#dfb095;
--accent-400:#d0916c;
--accent-500:#c0794a;
--accent-600:#a5613a;
--accent-700:#844c2f;
--accent-800:#6c3e2a;
--accent-900:#5a3524;

--success-50:#f0f7f4;
--success-100:#dcefe3;
--success-200:#bce0c9;
--success-300:#8fcaa8;
--success-400:#5da880;
--success-500:#3d8a63;
--success-600:#2e6f4f;
--success-700:#265940;
--success-800:#1f4734;
--success-900:#173a2b;

--warning-50:#fdf8ed;
--warning-100:#f8edcc;
--warning-200:#f0d895;
--warning-300:#e8c25e;
--warning-400:#dba92f;
--warning-500:#c79018;
--warning-600:#a5710f;
--warning-700:#835610;
--warning-800:#6c4613;
--warning-900:#5b3b14;

--error-50:#fbf2f2;
--error-100:#f6e0e0;
--error-200:#ecc0c0;
--error-300:#de9797;
--error-400:#cd6a6a;
--error-500:#b94545;
--error-600:#9d3030;
--error-700:#802525;
--error-800:#691f1f;
--error-900:#581b1b;

--neutral-0:#ffffff;
--neutral-50:#f8f9fa;
--neutral-100:#f1f3f5;
--neutral-200:#e3e7eb;
--neutral-300:#ced4db;
--neutral-400:#9aa5b1;
--neutral-500:#6c7a89;
--neutral-600:#4e5b6a;
--neutral-700:#37424f;
--neutral-800:#27303a;
--neutral-900:#1a2128;
--neutral-950:#0f1419;

--font-body:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;
--font-head:'Fraunces','Georgia','Times New Roman',serif;

--max-w:1200px;
--max-w-narrow:820px;
--radius-sm:6px;
--radius-md:10px;
--radius-lg:16px;
--radius-xl:24px;
--shadow-sm:0 1px 2px rgba(10,15,26,.06),0 1px 3px rgba(10,15,26,.04);
--shadow-md:0 4px 12px rgba(10,15,26,.08);
--shadow-lg:0 12px 32px rgba(10,15,26,.12);
--space-1:8px;
--space-2:16px;
--space-3:24px;
--space-4:32px;
--space-5:48px;
--space-6:64px;
--space-7:80px;
--space-8:96px;
}

body{
font-family:var(--font-body);
background:var(--neutral-0);
color:var(--neutral-800);
font-size:1.0625rem;
line-height:1.6;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-head);
font-weight:600;
line-height:1.2;
color:var(--primary-950);
letter-spacing:-.01em;
}

h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.8rem,4vw,2.5rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.6rem)}
h4{font-size:1.15rem}
h5{font-size:1rem}

p{color:var(--neutral-700)}
strong{font-weight:600;color:var(--neutral-900)}

a.link{
color:var(--primary-600);
font-weight:500;
text-decoration:underline;
text-underline-offset:3px;
text-decoration-thickness:1.5px;
text-decoration-color:rgba(50,77,116,.3);
transition:color .2s ease,text-decoration-color .2s ease;
}
a.link:hover{color:var(--primary-700);text-decoration-color:var(--primary-700)}

.lead{font-size:1.2rem;line-height:1.6;color:var(--neutral-600)}

.eyebrow{
display:inline-flex;
align-items:center;
gap:8px;
font-family:var(--font-body);
font-size:.8rem;
font-weight:600;
text-transform:uppercase;
letter-spacing:.12em;
color:var(--accent-600);
}

.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--space-3)}
.container--narrow{max-width:var(--max-w-narrow)}

.section{padding:var(--space-7) 0}
.section--tight{padding:var(--space-5) 0}

@media(max-width:768px){
.container{padding:0 var(--space-2)}
.section{padding:var(--space-5) 0}
}
