:root{--bg:#f4f1eb;--surface:#fbf8f3;--ink:#1e1b18;--muted:#6a635b;--line:#ddd6cc;--accent:#3f4f46;--accent-soft:#e7ece8;--warm:#8a6a4a;--max:72rem;--narrow:42rem;--space:1.25rem;--radius:2px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"source serif 4",Georgia,times new roman,serif;font-size:1.125rem;line-height:1.7;font-weight:400}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--ink)}h1,h2,h3,h4{font-family:fraunces,Georgia,serif;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0 0 .75rem}h1{font-size:clamp(2.4rem,5vw,4.2rem)}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:1.35rem}p{margin:0 0 1.1rem}.wrap{width:min(100% - 2.5rem,var(--max));margin-inline:auto}.wrap--narrow{width:min(100% - 2.5rem,var(--narrow))}.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:40}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 0}.logo{font-family:fraunces,Georgia,serif;font-size:1.15rem;color:var(--ink);text-decoration:none;max-width:12rem;line-height:1.25}.logo span{display:block;font-family:"source serif 4",serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.35rem;align-items:center}.nav a{color:var(--ink);text-decoration:none;font-size:.98rem}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.28em}.nav-toggle{display:none;background:0 0;border:1px solid var(--line);padding:.45rem .7rem;font:inherit;cursor:pointer;color:var(--ink)}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:78vh}.hero__media img{width:100%;height:100%;object-fit:cover;min-height:28rem}.hero__copy{padding:clamp(2.5rem,6vw,5.5rem)clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:flex-end;background:var(--surface)}.kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--warm);margin-bottom:1rem}.lede{font-size:1.2rem;color:var(--muted);max-width:36rem}.btn{display:inline-block;background:var(--accent);color:#f8f6f1;text-decoration:none;padding:.75rem 1.3rem;border:1px solid var(--accent);font-size:1rem;cursor:pointer;font-family:inherit}.btn:hover{background:var(--ink);border-color:var(--ink);color:#f8f6f1}.btn--ghost{background:0 0;color:var(--ink);border-color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:#f8f6f1}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.section{padding:clamp(3.5rem,8vw,6.5rem)0}.section--alt{background:var(--surface)}.section-head{max-width:38rem;margin-bottom:2.5rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}.figure figcaption{font-size:.88rem;color:var(--muted);margin-top:.6rem}.offer-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.offer-list li{border-bottom:1px solid var(--line);padding:1.4rem 0;display:grid;grid-template-columns:8rem 1fr auto;gap:1.25rem;align-items:baseline}.offer-list a{text-decoration:none;color:var(--ink);font-family:fraunces,Georgia,serif;font-size:1.25rem}.quote-block{max-width:40rem;font-size:1.35rem;font-family:fraunces,Georgia,serif;font-weight:500;line-height:1.45}.quote-block cite{display:block;margin-top:1.1rem;font-style:normal;font-family:"source serif 4",serif;font-size:.95rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.card{background:var(--bg)}.card img{width:100%;height:12rem;object-fit:cover}.card__body{padding:1.2rem .1rem 0}.page-hero{padding:4.5rem 0 2rem}.page-hero--media{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;padding-bottom:0}.page-hero--media img{width:100%;height:22rem;object-fit:cover}.prose h2{margin-top:2.4rem}.prose ul,.prose ol{padding-left:1.2rem}.prose table{width:100%;border-collapse:collapse;font-size:.98rem;margin:1.5rem 0}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:.65rem .5rem;vertical-align:top}.meta{color:var(--muted);font-size:.95rem}.review{padding:1.75rem 0;border-top:1px solid var(--line)}.review h3{font-size:1.15rem}.review .who{color:var(--muted);font-size:.92rem;margin-bottom:.6rem}.form{display:grid;gap:1.1rem;margin-top:1.5rem}label{display:grid;gap:.35rem;font-size:.98rem}input,select,textarea{font:inherit;padding:.65rem .75rem;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}textarea{min-height:9rem;resize:vertical}.field-error{color:#7a2e24;font-size:.9rem}.status{padding:.9rem 1rem;border:1px solid var(--line)}.status--ok{background:var(--accent-soft)}.status--err{background:#f6e8e4}.site-footer{border-top:1px solid var(--line);padding:3rem 0 2rem;font-size:1rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer-nav{display:grid;gap:.35rem}.footer-nav a{color:var(--ink);text-decoration:none}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:1.1rem 0;z-index:50;box-shadow:0 -8px 24px rgba(30,27,24,6%)}.cookie-inner{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.cookie-inner p{margin:0;max-width:42rem;font-size:.98rem}.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}[x-cloak]{display:none!important}.not-found{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 1.5rem}.portrait-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}.portrait-row img{width:100%;height:16rem;object-fit:cover}.rate-table{width:100%}.article-cover{width:100%;height:22rem;object-fit:cover;margin:1.5rem 0 2rem}@media(max-width:900px){.hero,.split,.page-hero--media,.cards,.footer-grid,.portrait-row,.offer-list li{grid-template-columns:1fr}.nav-toggle{display:inline-block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem 1.25rem 1.4rem;flex-direction:column;align-items:flex-start}.nav.is-open{display:flex}.site-header{position:sticky}.header-inner{position:relative}}