:root{--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-40:40px;--sp-64:64px;--c-bg:#fbfaf8;--c-surface:#f4f1ea;--c-card:#ffffff;--c-ink:#181818;--c-muted:#595650;--c-border:#d9d4cb;--c-accent:#872b2b;--c-accent-hover:#6b1f1f;--f-serif:"Georgia","Times New Roman",serif;--f-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{background-color:var(--c-bg);color:var(--c-ink);font-family:var(--f-sans);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-serif);font-weight:normal;line-height:1.2;color:var(--c-ink);overflow-wrap:anywhere}
p,li,dt,dd{overflow-wrap:anywhere}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto;object-fit:cover}
.skip-link{position:absolute;top:-999px;left:var(--sp-16);background:var(--c-ink);color:#ffffff;padding:var(--sp-8) var(--sp-16);font-size:14px;z-index:9999}
.skip-link:focus{top:var(--sp-8);outline:2px solid var(--c-accent)}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.site-header{height:64px;border-bottom:1px solid var(--c-border);background-color:var(--c-bg);display:flex;align-items:center}
.header-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--sp-24);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16)}
.brand{display:inline-flex;align-items:center;gap:var(--sp-8);font-family:var(--f-serif);font-size:20px;font-weight:bold;color:var(--c-ink);flex-shrink:0;white-space:nowrap}
.brand-mark{width:22px;height:22px;flex-shrink:0;color:var(--c-accent)}
.nav-desktop{display:none;align-items:center;gap:var(--sp-24)}
.nav-link{font-size:14px;letter-spacing:0.04em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap;transition:color .15s}
.nav-link:hover,.nav-link[aria-current="page"]{color:var(--c-accent)}
.header-cta{display:none;padding:var(--sp-8) var(--sp-16);font-size:13px;letter-spacing:0.04em;text-transform:uppercase;background-color:var(--c-accent);color:#ffffff;border:1px solid var(--c-accent);white-space:nowrap;flex-shrink:0}
.header-cta:hover{background-color:var(--c-accent-hover)}
.burger-btn{display:flex;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:var(--sp-4)}
.burger-btn span{display:block;width:100%;height:2px;background-color:var(--c-ink)}
.mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(24,24,24,0.6);z-index:9000;display:none;overflow-y:auto}
.mobile-overlay.is-open{display:flex;justify-content:flex-start}
.mobile-panel{width:100%;max-width:320px;min-height:100%;background-color:var(--c-bg);border-right:1px solid var(--c-border);display:flex;flex-direction:column;padding:var(--sp-24);margin-block:auto}
.mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-40)}
.close-btn{background:none;border:none;font-size:24px;line-height:1;color:var(--c-ink);cursor:pointer;padding:var(--sp-4)}
.mobile-nav-list{display:flex;flex-direction:column;gap:var(--sp-24);list-style:none}
.mobile-nav-list .nav-link{font-size:16px}
.mobile-cta{display:inline-block;margin-top:var(--sp-40);padding:var(--sp-12) var(--sp-24);text-align:center;background-color:var(--c-accent);color:#ffffff;text-transform:uppercase;font-size:13px;letter-spacing:0.04em}
.container{width:100%;max-width:1200px;margin:0 auto;padding:var(--sp-64) var(--sp-24)}
.hero{border-bottom:1px solid var(--c-border);padding:var(--sp-64) 0;background-color:var(--c-surface)}
.hero-content{max-width:820px;margin:0 auto;text-align:center;padding:0 var(--sp-24)}
.eyebrow{font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-16)}
.hero-title{font-size:42px;line-height:1.15;margin-bottom:var(--sp-24)}
.hero-deck{font-family:var(--f-serif);font-size:20px;color:var(--c-muted);margin-bottom:var(--sp-24)}
.mosaic-section{padding:var(--sp-64) 0;border-bottom:1px solid var(--c-border)}
.section-header{text-align:center;margin-bottom:var(--sp-40);max-width:700px;margin-inline:auto}
.section-title{font-size:32px;margin-bottom:var(--sp-16)}
.section-sub{font-size:16px;color:var(--c-muted)}
.mosaic-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-24)}
.mosaic-card{border:1px solid var(--c-border);background-color:var(--c-card);display:flex;flex-direction:column;position:relative}
.mosaic-media{width:100%;height:240px;background-color:var(--c-surface);overflow:hidden;border-bottom:1px solid var(--c-border)}
.mosaic-media img{width:100%;height:100%;object-fit:cover}
.mosaic-body{padding:var(--sp-24);display:flex;flex-direction:column;flex-grow:1}
.route-meta{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--sp-8)}
.card-title{font-size:24px;margin-bottom:var(--sp-12)}
.card-copy{font-size:15px;color:var(--c-muted);margin-bottom:var(--sp-24);flex-grow:1}
.card-link{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--c-accent);border-bottom:1px solid var(--c-accent);padding-bottom:var(--sp-4)}
.card-link:hover{color:var(--c-accent-hover);border-color:var(--c-accent-hover)}
.editorial-lead{padding:var(--sp-64) 0;border-bottom:1px solid var(--c-border);background-color:var(--c-bg)}
.columns-pair{display:grid;grid-template-columns:1fr;gap:var(--sp-40)}
.article-header{padding:var(--sp-64) 0 var(--sp-40);border-bottom:1px solid var(--c-border);background-color:var(--c-surface)}
.article-title{font-size:38px;margin-bottom:var(--sp-16);max-width:820px}
.article-lead{font-family:var(--f-serif);font-size:19px;color:var(--c-muted);max-width:760px}
.lead-figure{margin:var(--sp-40) 0;border:1px solid var(--c-border)}
.lead-figure img{width:100%;height:auto;max-height:520px}
.lead-figure figcaption{font-size:13px;color:var(--c-muted);padding:var(--sp-12) var(--sp-16);border-top:1px solid var(--c-border);background:var(--c-surface)}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:26px;margin:var(--sp-40) 0 var(--sp-16);border-top:1px solid var(--c-border);padding-top:var(--sp-24)}
.prose h3{font-size:20px;margin:var(--sp-24) 0 var(--sp-12)}
.prose p{margin-bottom:var(--sp-24);font-size:16px;line-height:1.7}
.prose ul,.prose ol{margin:0 0 var(--sp-24) var(--sp-24)}
.prose li{margin-bottom:var(--sp-8)}
.spec-strip{display:grid;grid-template-columns:1fr;gap:var(--sp-16);padding:var(--sp-24);border:1px solid var(--c-border);background:var(--c-surface);margin:var(--sp-40) 0}
.spec-item{display:flex;flex-direction:column;gap:var(--sp-12)}
.spec-val{font-family:var(--f-serif);font-size:22px;color:var(--c-accent)}
.spec-label{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--c-muted)}
.body-figure{margin:var(--sp-40) 0;border:1px solid var(--c-border)}
.body-figure img{width:100%;height:360px}
.body-figure figcaption{font-size:13px;color:var(--c-muted);padding:var(--sp-8) var(--sp-16);border-top:1px solid var(--c-border);background:var(--c-surface)}
.site-footer{background-color:var(--c-surface);border-top:1px solid var(--c-border);padding:var(--sp-64) 0 var(--sp-40)}
.footer-container{max-width:1200px;margin:0 auto;padding:0 var(--sp-24);display:grid;grid-template-columns:1fr;gap:var(--sp-40)}
.footer-brand p{font-size:14px;color:var(--c-muted);margin-top:var(--sp-8);max-width:320px}
.footer-block h4{font-family:var(--f-sans);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--c-ink);margin-bottom:var(--sp-16)}
.footer-nav{list-style:none;display:flex;flex-direction:column;gap:var(--sp-8)}
.footer-nav a{font-size:14px;color:var(--c-muted)}
.footer-nav a:hover{color:var(--c-accent)}
.footer-bottom{max-width:1200px;margin:var(--sp-40) auto 0;padding:var(--sp-24) var(--sp-24) 0;border-top:1px solid var(--c-border);font-size:13px;color:var(--c-muted);display:flex;flex-direction:column;gap:var(--sp-16)}
.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background-color:var(--c-card);border-top:2px solid var(--c-border);box-shadow:0 -4px 16px rgba(0,0,0,0.06);padding:var(--sp-24);z-index:9500}
.cookie-banner[hidden]{display:none}
.cookie-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-16)}
.cookie-copy{font-size:14px;color:var(--c-muted);line-height:1.5}
.cookie-actions{display:flex;flex-direction:column;gap:var(--sp-8)}
.cookie-btn{padding:var(--sp-8) var(--sp-16);font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink);cursor:pointer}
.cookie-btn-primary{background-color:var(--c-accent);color:#ffffff;border-color:var(--c-accent)}
.cookie-btn:hover{background-color:var(--c-border)}
.cookie-btn-primary:hover{background-color:var(--c-accent-hover)}
.cookie-prefs{margin-top:var(--sp-16);padding-top:var(--sp-16);border-top:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--sp-12)}
.cookie-prefs[hidden]{display:none}
.pref-row{display:flex;align-items:center;gap:var(--sp-12);font-size:14px}
.form-card{max-width:640px;margin:0 auto;border:1px solid var(--c-border);padding:var(--sp-24);background:var(--c-card)}
.form-group{margin-bottom:var(--sp-24)}
.form-label{display:block;font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--c-ink);margin-bottom:var(--sp-8)}
.form-input,.form-textarea{width:100%;padding:var(--sp-12);font-family:inherit;font-size:15px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink)}
.form-input.is-invalid,.form-textarea.is-invalid{border-color:var(--c-accent)}
.form-error{color:var(--c-accent);font-size:12px;margin-top:var(--sp-4);display:none}
.form-error.is-open{display:block}
.form-btn{padding:var(--sp-12) var(--sp-24);background:var(--c-accent);color:#ffffff;border:none;text-transform:uppercase;letter-spacing:0.04em;font-weight:700;cursor:pointer}
.form-btn:hover{background:var(--c-accent-hover)}
.table-wrap{overflow-x:auto;margin:var(--sp-24) 0}
.legal-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
.legal-table th,.legal-table td{padding:var(--sp-12);border:1px solid var(--c-border)}
.legal-table th{background-color:var(--c-surface);font-weight:700}
@media (min-width:480px){.cookie-actions{flex-direction:row}.cookie-btn{flex:1 1 auto}}
@media (min-width:768px){.mosaic-grid{grid-template-columns:repeat(2,1fr)}.mosaic-featured{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr}.mosaic-featured .mosaic-media{height:100%;border-bottom:none;border-right:1px solid var(--c-border)}.columns-pair{grid-template-columns:1fr 1fr}.spec-strip{grid-template-columns:repeat(3,1fr)}.footer-container{grid-template-columns:1.5fr 1fr 1fr 1fr}.cookie-inner{flex-direction:row;align-items:center;justify-content:space-between}.cookie-actions{flex:0 0 auto}}
@media (min-width:1024px){.nav-desktop{display:flex}.header-cta{display:inline-block}.burger-btn{display:none}.mosaic-grid{grid-template-columns:repeat(3,1fr)}.mosaic-featured{grid-column:span 2}.mosaic-tall{grid-row:span 2}.mosaic-tall .mosaic-media{height:340px}}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}