*,*::before,*::after{box-sizing:border-box}
:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--max:1120px;--r:20px;--rs:12px;--ground:#faf6f1;--surface:#ffffff;--surface-2:#f3ece4;--ink:#2a2522;--muted:#5d534b;--muted-dark:#ded4c9;--line:#e6ddd3;--dark:#2c2724;--dark-2:#3a332e;--a1:#e9b8c0;--a2:#a6c4b0;--a3:#ecc98e;--a4:#adc2de;--a5:#d5b7d2;--accent-ink:#8c5a68;--focus:#3f5d97;--focus-light:#f0cf9a;--sh:0 1px 2px rgba(42,37,34,.06),0 6px 18px rgba(42,37,34,.07);--sh-sm:0 1px 2px rgba(42,37,34,.06),0 3px 8px rgba(42,37,34,.05);--sans:"Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,table{overflow-wrap:anywhere}
h1,h2,h3,h4{line-height:1.2;margin:0 0 var(--s16);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,5vw,3rem)}
h2{font-size:clamp(1.4rem,3.2vw,2rem)}
h3{font-size:clamp(1.1rem,2.2vw,1.35rem)}
p{margin:0 0 var(--s16)}
a{color:#8a4f60}
a:hover{color:#6d3b4a}
img{max-width:100%;height:auto;display:block}
.container{width:min(100% - var(--s32),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:var(--s8);top:calc(var(--s40) * -2);z-index:60;background:var(--dark);color:#fff;padding:var(--s8) var(--s16);border-radius:var(--rs);text-decoration:none}
.skip-link:focus{top:var(--s8)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--s4)}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible,.dark-panel :focus-visible{outline-color:var(--focus-light)}
.site-header{background:rgba(250,246,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-row{height:50px;display:flex;align-items:center;justify-content:space-between;gap:var(--s12)}
.brand{display:flex;align-items:center;gap:var(--s8);text-decoration:none;color:var(--ink);font-weight:700;font-size:1rem;flex-shrink:0;white-space:nowrap}
.brand svg{width:26px;height:26px;flex-shrink:0}
.nav{display:none}
.nav ul{display:flex;align-items:center;gap:var(--s16);list-style:none;margin:0;padding:0;min-width:0}
.nav a{font-size:.875rem;text-decoration:none;color:var(--muted);white-space:nowrap;padding:var(--s4) 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--a1)}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s8);background:var(--dark);color:#fff;text-decoration:none;font-size:.875rem;font-weight:600;padding:var(--s8) var(--s16);border-radius:999px;border:0;box-shadow:var(--sh-sm);white-space:nowrap}
.cta-btn:hover{background:#4a413a;color:#fff}
.cta-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.cta-ghost:hover{background:var(--surface-2);color:var(--ink)}
.header-cta{display:none}
.menu-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;padding:var(--s8);background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);cursor:pointer;color:var(--ink)}
.menu-btn span{display:block;height:2px;background:currentColor;border-radius:2px}
.mobile-menu{position:fixed;inset:50px 0 0 0;z-index:50;background:var(--dark);color:#f6efe7;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;padding:var(--s24) var(--s16)}
.mobile-menu[hidden]{display:none}
.mobile-menu ul{list-style:none;margin-block:auto;margin-inline:0;padding:0;display:flex;flex-direction:column;gap:var(--s8);width:100%}
.mobile-menu a{display:block;color:#f6efe7;text-decoration:none;font-size:1.125rem;padding:var(--s12) var(--s16);border-radius:var(--rs);background:var(--dark-2);overflow-wrap:anywhere}
.mobile-menu a:hover{background:#4a413a;color:#fff}
.mobile-menu .cta-btn{background:var(--a3);color:#332b20;width:100%;padding:var(--s12) var(--s16);font-size:1rem}
main{display:block;padding-bottom:var(--s64)}
.section{padding-top:var(--s64)}
.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 var(--s12)}
.lede{font-size:clamp(1.05rem,2.2vw,1.2rem);color:var(--muted);max-width:62ch}
.hero{padding-top:var(--s40)}
.hero-grid{display:grid;gap:var(--s24);align-items:center}
.hero-copy{min-width:0}
.hero-media{min-width:0}
.hero-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s12);margin-top:var(--s24)}
.accent-list{display:flex;flex-direction:column;gap:var(--s32);margin-top:var(--s32)}
.accent-item{border-left:8px solid var(--bar,var(--a1));padding-left:var(--s16);min-width:0}
.accent-item--1{--bar:var(--a1)}.accent-item--2{--bar:var(--a2)}.accent-item--3{--bar:var(--a3)}.accent-item--4{--bar:var(--a4)}.accent-item--5{--bar:var(--a5)}
.accent-num{font-size:clamp(2rem,6vw,3rem);font-weight:700;line-height:1;color:#8a7d73;margin:0 0 var(--s8)}
.accent-item h3{margin-bottom:var(--s8)}
.accent-item p{color:var(--muted);max-width:66ch}
.accent-more{display:inline-flex;align-items:center;gap:var(--s8);font-weight:600;text-decoration:none;color:#8a4f60}
.accent-more:hover{text-decoration:underline}
.card-grid{display:grid;gap:var(--s16);grid-template-columns:1fr;margin-top:var(--s24)}
.card-grid>*{min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s24);box-shadow:var(--sh-sm)}
.card h3{margin-bottom:var(--s8)}
.card p:last-child{margin-bottom:0}
.card p{color:var(--muted)}
.soft-panel{background:var(--surface-2);border-radius:var(--r);padding:var(--s24);margin-top:var(--s24)}
.dark-panel{background:var(--dark);color:#f2ece4;border-radius:var(--r);padding:var(--s24);margin-top:var(--s24)}
.dark-panel p,.dark-panel li{color:var(--muted-dark)}
.dark-panel a{color:var(--a3)}
.article{max-width:74ch}
.article h2{margin-top:var(--s40)}
.article h3{margin-top:var(--s24)}
.article ul,.article ol{margin:0 0 var(--s16);padding-left:var(--s24);color:var(--muted)}
.article li{margin-bottom:var(--s8)}
.page-media img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh);margin-top:var(--s24)}
.table-wrap{overflow-x:auto;margin:var(--s24) 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:280px;font-size:.9375rem}
th,td{text-align:left;padding:var(--s12) var(--s16);border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--surface-2);font-size:.875rem}
tr:last-child td{border-bottom:0}
.form{display:grid;gap:var(--s16);max-width:34rem;margin-top:var(--s24)}
.field{display:flex;flex-direction:column;gap:var(--s8);min-width:0}
.field label{font-weight:600;font-size:.9375rem}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);padding:var(--s12);width:100%}
.field textarea{min-height:140px;resize:vertical}
.field .err{color:#a02b40;font-size:.875rem;font-weight:600}
.field .err[hidden]{display:none}
.is-invalid input,.is-invalid select,.is-invalid textarea{border-color:#a02b40;background:#fdf5f6}
.form-status{border-radius:var(--rs);padding:var(--s12) var(--s16);background:#e8f1ea;color:#20402d;font-weight:600}
.form-status[hidden]{display:none}
.site-footer{background:var(--dark);color:#efe8e0;margin-top:var(--s64);padding:var(--s40) 0 var(--s32)}
.footer-grid{display:grid;gap:var(--s24)}
.footer-grid>*{min-width:0}
.site-footer h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:var(--s12)}
.site-footer p,.site-footer address{color:var(--muted-dark);font-style:normal;margin:0 0 var(--s12)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s8)}
.site-footer a{color:#f5ece1;text-decoration:none}
.site-footer a:hover{color:var(--a3);text-decoration:underline}
.footer-bottom{border-top:1px solid #4a413a;margin-top:var(--s24);padding-top:var(--s16);display:flex;flex-direction:column;gap:var(--s8);color:var(--muted-dark);font-size:.875rem}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--dark);color:#f2ece4;border-top:3px solid var(--a3);padding:var(--s16)}
.cookie-banner[hidden]{display:none}
.cookie-inner{display:flex;flex-direction:column;gap:var(--s12)}
.cookie-banner p{margin:0;color:var(--muted-dark);font-size:.9375rem}
.cookie-actions{display:flex;flex-direction:column;gap:var(--s8)}
.cookie-actions button{width:100%;font:inherit;font-size:.9375rem;font-weight:600;padding:var(--s12) var(--s16);border-radius:999px;border:1px solid #6a5f56;background:var(--dark-2);color:#f5ece1;cursor:pointer}
.cookie-actions button:hover{background:#4a413a;color:#fff}
.cookie-actions button[data-cookie-choice="accept"]{background:var(--a3);color:#332b20;border-color:var(--a3)}
.cookie-prefs{background:var(--dark-2);border-radius:var(--rs);padding:var(--s16);display:grid;gap:var(--s12)}
.cookie-prefs[hidden]{display:none}
.cookie-prefs label{display:flex;gap:var(--s8);align-items:flex-start;font-size:.9375rem;color:#f2ece4}
.cookie-prefs .cta-btn{align-self:flex-start;background:var(--a3);color:#332b20}
@media (min-width:480px){.cookie-actions{flex-direction:row;flex-wrap:wrap}.cookie-actions button{flex:1 1 auto;width:auto}}
@media (min-width:768px){.header-row{height:60px}.brand{font-size:1.0625rem}.card-grid{grid-template-columns:repeat(2,1fr)}.accent-item{border-left-width:12px;padding-left:var(--s24)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}.cookie-inner{gap:var(--s16)}.cookie-actions{justify-content:flex-end}.cookie-actions button{flex:0 0 auto}.soft-panel,.dark-panel{padding:var(--s32)}}
@media (min-width:1024px){.menu-btn{display:none}.mobile-menu{display:none}.nav{display:block}.header-cta{display:inline-flex}.hero-grid{grid-template-columns:1.05fr .95fr;gap:var(--s40)}.card-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}