:root { --ink:#201b17; --paper:#f8f3eb; --cream:#efe5d7; --gold:#a37a42; --brown:#2b211b; --serif:"Cormorant Garamond",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --display:"Italiana",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.skip-link { position:absolute; left:-999px; top:10px; z-index:100; padding:12px 16px; background:#fff; }
.skip-link:focus { left:12px; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:0 5vw; background:rgba(248,243,235,.97); border-bottom:1px solid rgba(32,27,23,.1); }
.wordmark { display:inline-flex; align-items:baseline; gap:8px; white-space:nowrap; }
.wordmark span { font-family:var(--display); font-size:20px; letter-spacing:.14em; }
.wordmark em { color:var(--gold); font-family:var(--serif); font-size:27px; font-weight:500; }
.site-header nav { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:25px; }
.site-header nav a { font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.site-header .nav-cta { padding:11px 15px; border:1px solid var(--gold); }
.eyebrow { margin:0; color:#8f6d3c; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.article-page { padding-bottom:clamp(80px,10vw,150px); }
.article-page > article { max-width:1180px; margin:0 auto; }
.article-header { max-width:940px; padding:clamp(80px,10vw,145px) 7vw clamp(55px,7vw,90px); }
.article-header h1 { margin:22px 0 28px; font-family:var(--serif); font-size:clamp(52px,7vw,96px); font-weight:400; letter-spacing:-.04em; line-height:.98; }
.article-header > p:nth-of-type(2) { max-width:760px; color:#62574e; font-family:var(--serif); font-size:clamp(20px,2.1vw,28px); line-height:1.5; }
.article-header > span { display:block; margin-top:28px; color:#806f60; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.article-hero-image { margin:0 7vw clamp(55px,8vw,100px); aspect-ratio:16/8.5; overflow:hidden; background:var(--cream); }
.article-hero-image img { width:100%; height:100%; object-fit:cover; }
.article-body { max-width:760px; margin:0 auto; padding:0 34px; color:#403832; font-family:var(--serif); font-size:clamp(19px,1.7vw,23px); line-height:1.75; }
.article-body > :first-child { margin-top:0; }
.article-body h2,.article-body h3 { color:var(--ink); line-height:1.15; font-weight:500; }
.article-body h2 { margin:2.2em 0 .65em; font-size:clamp(34px,4vw,52px); }
.article-body h3 { margin:1.9em 0 .55em; font-size:clamp(27px,3vw,36px); }
.article-body p,.article-body ul,.article-body ol,.article-body blockquote { margin:0 0 1.35em; }
.article-body ul,.article-body ol { padding-left:1.35em; }
.article-body li { margin-bottom:.5em; }
.article-body a { color:#75542f; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:4px; }
.article-body blockquote { border-left:3px solid var(--gold); padding:8px 0 8px 28px; color:#6f5b4b; font-size:1.08em; font-style:italic; }
.article-body img { max-width:100%; height:auto; margin:1.2em 0; }
.article-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-family:var(--sans); font-size:14px; }
.article-body th,.article-body td { padding:12px 14px; border:1px solid rgba(32,27,23,.16); text-align:left; }
.article-footer { max-width:760px; margin:clamp(70px,9vw,120px) auto 0; padding:45px 34px 0; border-top:1px solid rgba(32,27,23,.18); }
.article-footer h2 { margin:14px 0 28px; font-family:var(--serif); font-size:clamp(36px,4vw,54px); font-weight:400; line-height:1.05; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:15px 24px; background:var(--ink); color:#fff; border:1px solid var(--ink); font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.button:focus-visible,.site-header a:focus-visible { outline:3px solid #d8b77c; outline-offset:4px; }
.status-page { min-height:65vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; max-width:900px; margin:0 auto; padding:80px 7vw; }
.status-page h1 { max-width:750px; margin:20px 0; font-family:var(--serif); font-size:clamp(50px,7vw,86px); font-weight:400; line-height:1; }
.status-page > p:not(.eyebrow) { max-width:620px; margin:0 0 30px; color:#62574e; font-family:var(--serif); font-size:22px; line-height:1.5; }
.site-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; padding:30px 5vw; background:#171310; color:rgba(255,255,255,.58); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.site-footer .inverse span { color:#fff; }
.site-footer p:first-of-type { text-align:center; }
.site-footer p:last-of-type { text-align:right; }
@media (max-width:900px) { .site-header nav { gap:15px; } .site-header nav a:nth-child(n+4):not(.nav-cta) { display:none; } }
@media (max-width:700px) { .site-header { min-height:70px; padding:0 22px; } .site-header nav a:not(.nav-cta) { display:none; } .article-header { padding-left:24px; padding-right:24px; } .article-hero-image { margin-left:24px; margin-right:24px; aspect-ratio:4/3; } .article-body,.article-footer { padding-left:24px; padding-right:24px; } .site-footer { grid-template-columns:1fr; text-align:center; } .site-footer p:first-of-type,.site-footer p:last-of-type { text-align:center; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
