:root{--night:#1A2E1E;--teal:#1B6B6E;--dusk:#C17D3C;--vanilla:#F5EDD6;--sand:#B8A07A;--sage:#9AB8A0;--deep:#6B9B70;--blush:#E8A87C}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font:17px/1.7 Inter,system-ui,sans-serif;background:var(--vanilla);color:var(--night)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
header :focus-visible,footer :focus-visible,.dark :focus-visible,.hero :focus-visible,.wa:focus-visible{outline-color:var(--blush)}
main:focus{outline:none}
.skip{position:absolute;left:12px;top:-70px;z-index:100;background:var(--night);color:var(--vanilla);padding:12px 18px;font:700 11px Inter;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.skip:focus{top:12px}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 5vw;position:absolute;inset:0 0 auto;z-index:2;color:var(--vanilla)}
header.solid{position:static;background:var(--night)}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:500 15px 'Cormorant Garamond',serif;letter-spacing:.18em}
.logo .wm span{color:var(--sand)}
.logo img.seal{width:44px;height:44px;display:block}
nav{display:flex;gap:26px;flex-wrap:wrap}
nav a{text-decoration:none;font:700 11px Inter;letter-spacing:.3em;text-transform:uppercase;padding:12px 0}
nav a:hover{color:var(--blush)}
nav a[aria-current=page]{border-bottom:1px solid var(--blush)}
.menu{display:none;background:none;color:inherit;border:1px solid currentColor;padding:0 16px;min-height:44px;font:700 11px Inter;letter-spacing:.3em;text-transform:uppercase;cursor:pointer}
.hero{background-color:var(--night);color:var(--vanilla);min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:130px 5vw 90px;position:relative;overflow:hidden}
.hero.photo{background:linear-gradient(180deg,rgba(26,46,30,.62) 0,rgba(26,46,30,.38) 50%,rgba(26,46,30,.9) 100%),var(--img) center/cover no-repeat}
.hero svg{position:absolute;inset:auto 0 0;width:100%;height:150px;opacity:.35}
.hero h1{font-size:clamp(44px,8vw,96px);max-width:12ch;margin:18px 0 22px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero p{max-width:46ch;font:italic 400 clamp(20px,2.4vw,28px)/1.45 'Cormorant Garamond',serif;color:var(--sage);margin-bottom:34px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.label{display:inline-block;font:700 10px Inter;letter-spacing:.3em;text-transform:uppercase;color:var(--teal);border-bottom:1px solid var(--dusk);padding-bottom:6px}
.hero .label,.dark .label{color:var(--sage)}
.hero .label{align-self:flex-start}
.btn{display:inline-block;background:#9A5A1B;color:#fff;border:0;padding:16px 30px;font:700 11px Inter;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--night)}
.btn:disabled{opacity:.5}
section{padding:84px 5vw}
.wrap{max-width:1080px;margin:0 auto}
section h1,section h2{font-size:clamp(30px,4.4vw,50px);margin:18px 0;max-width:20ch}
.lead{max-width:60ch;font-size:19px}
.lead a,.consent a,.legal a{text-underline-offset:3px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;margin-top:42px}
.card{min-height:230px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--vanilla);text-decoration:none;background:linear-gradient(160deg,var(--a),var(--b))}
.card.ph{min-height:320px;background:linear-gradient(180deg,rgba(26,46,30,0) 35%,rgba(26,46,30,.88) 100%),var(--img) center/cover no-repeat;transition:filter .3s ease}
.card:hover{filter:brightness(1.1)}
.card h3{font-size:26px}
.card p{font-size:14px;line-height:1.5;margin-top:6px;opacity:.9}
.dark{background:var(--night);color:var(--vanilla)}
.strip{font:500 clamp(15px,2.2vw,21px) 'Cormorant Garamond',serif;letter-spacing:.3em;color:var(--sand);margin-bottom:26px}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.split .pic{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;margin-top:40px}
.cols h3{font-size:24px;color:#8A4F14;margin-bottom:8px}
.dark .cols h3{color:var(--blush)}
.cols span{font:italic 400 15px 'Cormorant Garamond',serif;letter-spacing:.2em;color:var(--teal)}
.dark .cols span{color:var(--sage)}
.entry{border-top:1px solid var(--sand);padding:34px 0;display:grid;grid-template-columns:minmax(150px,1fr) 3fr;gap:30px}
.entry h2,.entry h3{font-size:32px;margin:0;max-width:none}
.entry p{max-width:60ch}
.entry .thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:18px}
.cta{text-align:center}
.cta h2{margin:18px auto}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:30px;margin-top:34px}
.pc{text-decoration:none;border-top:1px solid var(--sand);padding-top:18px;display:block}
.pc h2,.pc h3{font-size:26px;margin:8px 0;max-width:none}
.pc .meta{font:italic 400 15px 'Cormorant Garamond',serif;letter-spacing:.12em;color:var(--teal)}
.pc:hover h2,.pc:hover h3{color:#8A4F14}
article.post{max-width:700px;margin:0 auto}
article.post h1{font-size:clamp(34px,5.5vw,58px);margin:16px 0;max-width:none}
article.post .meta{font:italic 400 17px 'Cormorant Garamond',serif;letter-spacing:.12em;color:var(--teal)}
.body{margin-top:28px}
.body p{margin-bottom:1.2em}
.body h2{font-size:30px;margin:1.4em 0 .4em;max-width:none}
.body ol{padding-left:1.3em;margin-bottom:1.2em}
.body li{margin-bottom:.5em}
.rel{margin-top:60px;border-top:1px solid var(--sand);padding-top:24px}
.rel a{display:block;padding:6px 0}
.legal h1{font-size:clamp(34px,5vw,56px);margin:18px 0 20px;max-width:none}
.legal h2{font-size:28px;max-width:none;margin:1.8em 0 .4em}
.legal p,.legal li{margin-bottom:.9em;max-width:70ch}
.legal ul{padding-left:1.2em}
.legal a{color:var(--teal)}
form{max-width:640px;margin-top:36px}
.fld{margin-bottom:22px}
.fld label,.fld legend{display:block;font:700 10px Inter;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.fld fieldset{border:0;padding:0;min-width:0}
.fld legend{padding:0}
.fld input:not([type=checkbox]),.fld select,.fld textarea{width:100%;font:inherit;padding:13px 14px;background:#fff8e8;border:1px solid var(--sand);color:var(--night);border-radius:0}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.fld label.opt{display:block;font:400 16px Inter;text-transform:none;letter-spacing:0;color:var(--night);margin:6px 0}
.opt input{margin-right:10px}
.hint{font-size:14px;color:#4a5a4d;margin-bottom:6px}
.err{color:#A63D2F;font-size:15px;margin:6px 0 14px}
.consent{margin:22px 0;max-width:60ch;font-size:14px;line-height:1.6;color:#4a5a4d}
.thanks h2{font-size:42px;max-width:none}
.thanks:focus{outline:none}
footer{background:var(--night);color:var(--sage);padding:56px 5vw;font-size:14px;line-height:1.9}
footer a{color:var(--vanilla);text-underline-offset:3px}
footer .logo{color:var(--vanilla);display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:12px}
footer .logo img.seal{width:104px;height:104px}
.accred{margin-top:26px}
.accred p{font:700 10px Inter;letter-spacing:.3em;text-transform:uppercase;color:var(--sage);margin:0 0 12px}
.accred .panel{display:flex;flex-wrap:wrap;align-items:center;gap:20px 34px;background:#fff;padding:16px 24px;max-width:max-content}
.accred img{height:40px;width:auto;display:block}
.wa{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;background:#0F7A6C;color:#fff;text-decoration:none;font:700 11px Inter;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 6px 24px rgba(0,0,0,.28)}
.wa:hover{background:var(--night)}
@media(max-width:800px){.split{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.entry{grid-template-columns:1fr;gap:10px}section{padding:60px 6vw}}
@media(max-width:560px){.accred .panel{gap:16px 24px;padding:14px 18px}.accred img{height:34px}}
@media(max-width:760px){.menu{display:inline-block}header.open{background:var(--night)}nav{display:none;width:100%;flex-direction:column;gap:0;background:var(--night);margin:6px -5vw -22px;padding:6px 5vw 14px}header.open nav{display:flex}nav a{padding:16px 0;font-size:12px;border-top:1px solid rgba(245,237,214,.14)}nav a[aria-current=page]{border-bottom:0;color:var(--blush)}}
@media print{.wa,.menu,.skip{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
