:root { --ink:#19221f; --paper:#f8f5ee; --lime:#c7ea43; --coral:#ef7057; --line:#d9d5ca; --soft:#e9eee2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.site-header, main, footer { max-width:1180px; margin:auto; padding-left:28px; padding-right:28px; }
.site-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { font:700 clamp(1.45rem,2.6vw,2rem)/1 "Playfair Display",Georgia,serif; letter-spacing:-.06em; white-space:nowrap; }
.brand em { color:var(--coral); font-style:normal; }
nav { display:flex; gap:24px; font-size:.92rem; font-weight:600; }
nav a:hover { color:var(--coral); }
.hero { padding:clamp(70px,11vw,145px) 0 75px; max-width:870px; }
.eyebrow,.tag { margin:0 0 13px; color:#677366; font-size:.72rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; letter-spacing:-.045em; line-height:1.05; }
h1 { margin-bottom:25px; font-size:clamp(3rem,7.4vw,6.8rem); max-width:900px; }
h2 { font-size:clamp(2rem,4vw,3.5rem); margin-bottom:0; }
h3 { font-size:1.45rem; margin-bottom:13px; }
.intro { max-width:590px; font-size:1.18rem; color:#445048; }
.button { display:inline-block; margin-top:20px; padding:14px 21px; background:var(--ink); color:white; border-radius:999px; font-weight:700; }
.lead-grid { display:grid; grid-template-columns:1.45fr 1fr; gap:18px; margin-bottom:96px; }
.lead-card { min-height:335px; padding:35px; display:flex; flex-direction:column; justify-content:end; border-radius:4px; }
.lead-card--main { background:var(--lime); }
.lead-card--side { background:var(--coral); color:white; }
.lead-card h2 { max-width:650px; font-size:clamp(2rem,3.6vw,3.45rem); }
.lead-card p:not(.tag) { max-width:530px; margin-bottom:20px; }
.lead-card--side .tag { color:#ffe1d9; }.coming { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.section { padding:85px 0; border-top:1px solid var(--line); }.section.muted { margin-left:-28px; margin-right:-28px; padding-left:28px; padding-right:28px; background:var(--soft); border:none; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:45px; }.section-heading h2 { max-width:660px; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.article-grid article { min-height:220px; padding:25px 0; border-top:2px solid var(--ink); }.article-grid p:last-child { color:#526057; }
.newsletter { display:grid; grid-template-columns:1.2fr 1fr; gap:50px; margin:85px 0; padding:44px; color:white; background:var(--ink); }.newsletter h2 { font-size:clamp(2rem,3vw,3rem); }.newsletter p:last-child { align-self:end; margin:0; color:#d4ddd6; }
footer { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:120px; border-top:1px solid var(--line); font-size:.83rem; color:#596359; } footer p { max-width:470px; margin:0; }
@media (max-width:700px) { .site-header { min-height:75px; }.site-header nav { display:none; }.lead-grid,.article-grid,.newsletter { grid-template-columns:1fr; }.lead-card { min-height:280px; padding:27px; }.section-heading { display:block; }.newsletter { padding:31px; gap:18px; }.section { padding:65px 0; } footer { align-items:flex-start; flex-direction:column; padding-top:30px; padding-bottom:30px; } }
