
:root{--cream:#FBF8F3;--paper:#FFFFFF;--ink:#1C2826;--muted:#5D6966;--green:#2B4C47;--green-2:#1B3330;--pink:#D9A3B2;--pink-ink:#9C4D68;--blush:#F6EFE9;--soft:#EBCBD4;--line:#E6DED4;--onpink:#1B3330;--ongreen:#FBF8F3;--shadow:0 1px 2px rgba(27,51,48,.05),0 10px 28px rgba(27,51,48,.07)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cream:#121816;--paper:#1A2220;--ink:#F1ECE5;--muted:#AAB5B1;--green:#9CC5BC;--green-2:#0F1F1D;--pink:#E3B2C0;--pink-ink:#E9B6C6;--blush:#1E2725;--soft:#5A3B46;--line:#2C3633;--onpink:#1B3330;--ongreen:#F1ECE5;--shadow:none;color-scheme:dark}}
:root[data-theme="dark"]{--cream:#121816;--paper:#1A2220;--ink:#F1ECE5;--muted:#AAB5B1;--green:#9CC5BC;--green-2:#0F1F1D;--pink:#E3B2C0;--pink-ink:#E9B6C6;--blush:#1E2725;--soft:#5A3B46;--line:#2C3633;--onpink:#1B3330;--ongreen:#F1ECE5;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 "Jost",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--pink-ink)}
h1,h2,h3,.serif{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:500;line-height:1.1;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:1.6rem}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink-ink);font-weight:500}
.lede{font-size:1.15rem;color:var(--muted);max-width:60ch}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.6em;border-radius:999px;background:var(--green-2);color:var(--ongreen);text-decoration:none;font-weight:500;letter-spacing:.04em;font-size:.95rem;border:0;cursor:pointer;transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.ghost{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.btn.green{background:var(--green);color:var(--ongreen)}
.btn.rose{background:var(--pink);color:var(--onpink)}
.band .btn:not(.ghost),.hero .btn:not(.ghost){background:var(--pink);color:var(--onpink)}
/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--cream);z-index:30}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--cream) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--green)}
.logo b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.65rem;letter-spacing:.02em}
.logo span{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--pink-ink);margin-top:3px}
.nav{display:flex;align-items:center;gap:22px}
.nav a{color:var(--ink);text-decoration:none;font-size:.92rem;letter-spacing:.03em}
.nav a:hover,.nav a[aria-current]{color:var(--pink-ink)}
.nav .btn{color:var(--ongreen);padding:.6em 1.2em}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);font:inherit}
@media (max-width:980px){.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}.nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid var(--line)}.nav .btn{margin-top:12px;justify-content:center}}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(86vh,740px);background:var(--green-2);color:#fff;padding:0!important}
.hero .copy{align-self:center;padding:56px max(24px,env(safe-area-inset-left,0px)) 56px max(24px,5vw);max-width:640px;justify-self:end}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero h1{color:#fff;max-width:16ch;font-size:clamp(2.3rem,4.8vw,3.7rem)}
.hero p{max-width:50ch;font-size:1.12rem;color:#EAF2F3}
.hero .eyebrow{color:#F3CFD9}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero .btn.ghost{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
@media (max-width:860px){.hero{grid-template-columns:1fr;min-height:0}.hero img{order:-1;height:52vh;min-height:320px}.hero .copy{justify-self:stretch;padding:36px max(20px,env(safe-area-inset-left,0px)) 44px max(20px,env(safe-area-inset-right,0px))}}
.pagehead{padding-block:64px 36px;background:var(--cream);border-bottom:1px solid var(--line);position:relative}
.pagehead::after{content:"";position:absolute;left:50%;bottom:-1px;width:64px;height:2px;margin-left:-32px;background:var(--pink)}
.pagehead .lede{margin-top:14px}
section{padding-block:72px}
.band{background:var(--green-2);color:var(--ongreen)}
.band h2,.band h3{color:var(--ongreen)}
.band .lede,.band p{color:color-mix(in srgb,var(--ongreen) 82%,transparent)}
.band .eyebrow{color:var(--pink)}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}
.card .body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
a.card{text-decoration:none;color:inherit;transition:transform .15s}
a.card:hover{transform:translateY(-3px)}
.tour .price{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.6rem;color:var(--green);line-height:1}
.tour .price small{display:block;font-family:"Jost",sans-serif;font-size:.85rem;color:var(--muted);margin-top:6px}
.facts{list-style:none;padding:0;margin:4px 0;display:grid;gap:6px}
.facts li{display:flex;gap:10px;align-items:baseline}
.facts li::before{content:"";flex:0 0 7px;height:7px;border-radius:50%;background:var(--pink);transform:translateY(-2px)}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--blush);color:var(--pink-ink);width:fit-content}
.tag.green{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.split img{border-radius:22px;aspect-ratio:4/5;object-fit:cover;width:100%}
.quote{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.35}
.quote cite{display:block;font-family:"Jost",sans-serif;font-style:normal;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-ink);margin-top:12px}
.stars{color:var(--pink);letter-spacing:.15em}
.stats{display:flex;flex-wrap:wrap;gap:40px}
.stats div b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:2.6rem;font-weight:500;line-height:1}
.stats div span{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.steps{counter-reset:s;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.steps div{counter-increment:s;padding-top:8px}
.steps div::before{content:counter(s,decimal-leading-zero);font-family:"Cormorant Garamond",Georgia,serif;font-size:2.4rem;color:var(--pink);display:block}
details{border-bottom:1px solid var(--line);padding-block:18px}
details summary{cursor:pointer;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::after{content:"+";color:var(--pink-ink)}
details[open] summary::after{content:"–"}
details p{margin:10px 0 0;color:var(--muted)}
.prose{max-width:68ch}
.prose h2{font-size:2rem;margin-top:1.6em;margin-bottom:.3em}
.prose p,.prose li{color:var(--ink)}
.prose li{margin-bottom:.4em}
.dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:14px 24px;margin:0}
.dl dt{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){.dl{grid-template-columns:1fr;gap:4px}.dl dd{margin-bottom:12px}}
.wimg{aspect-ratio:16/7;border-radius:22px;object-fit:cover;width:100%}
@media (max-width:700px){.wrap>.wimg{aspect-ratio:3/2}}
.prose figure{margin:2em 0}.prose figure .wimg{aspect-ratio:3/2;border-radius:18px}.prose figure.tall{max-width:440px;margin-inline:auto}.prose figure.tall .wimg{aspect-ratio:4/5}.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.monogram{aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--pink) 30%,transparent),transparent 60%),var(--green-2);color:var(--ongreen);font-family:"Cormorant Garamond",Georgia,serif;font-size:3.4rem;letter-spacing:.04em;position:relative}
.monogram small{position:absolute;bottom:14px;font-family:"Jost",sans-serif;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;opacity:.75}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:inherit;font-size:.88rem;padding:.5em 1.1em;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--green);color:var(--ongreen);border-color:var(--green)}
.search{width:100%;max-width:420px;font:inherit;padding:.75em 1.1em;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);margin-bottom:16px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
table{border-collapse:collapse;width:100%;min-width:880px;font-size:.92rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--blush);position:sticky;top:0}
td a{font-weight:500}
form{display:grid;gap:14px}
label{display:grid;gap:6px;font-size:.9rem}
input,select,textarea{font:inherit;padding:.8em 1em;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.note{font-size:.85rem;color:var(--muted)}
.notice{background:var(--blush);border-radius:14px;padding:14px 18px;font-size:.92rem}
footer{background:var(--green-2);color:var(--ongreen);padding-block:56px 40px;font-size:.92rem}
footer a{color:var(--ongreen);text-decoration:none;opacity:.85}
footer a:hover{opacity:1;color:var(--pink)}
footer .cols{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
footer h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:1.3rem;margin:0 0 10px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ongreen) 18%,transparent);opacity:.7;font-size:.8rem}
.mobilebar{display:none}
@media (max-width:700px){.mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;gap:10px;padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:var(--cream);border-top:1px solid var(--line)}.mobilebar .btn{flex:1;justify-content:center}footer{padding-bottom:110px}}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.postmeta{color:var(--muted);font-size:.9rem;margin-top:12px}
.hidden{display:none!important}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.chip{font-size:.78rem;padding:4px 10px;border-radius:999px;background:var(--blush);color:var(--ink);border:1px solid var(--line)}
.pagehead .chips{margin-top:18px}.pagehead .chip{font-size:.85rem;background:var(--paper)}
.bestfor{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-style:italic;color:var(--pink-ink)}
.mapfig{margin:0}.mapfig svg{width:100%;height:auto;display:block}
.mapfig .land{fill:var(--blush);stroke:var(--line)}
.mapfig .hills path{fill:none;stroke:var(--line);stroke-width:2}
.mapfig .road{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.mapfig .rlabel{font:600 13px Jost,sans-serif;fill:var(--green)}
.mapfig .town circle{fill:var(--green-2)}.mapfig .town text{font:600 15px "Cormorant Garamond",Georgia,serif;fill:var(--ink)}
.mapfig .pin path{fill:var(--green);stroke:var(--cream);stroke-width:1.5;transition:transform .15s}
.mapfig .pin.tour path{fill:var(--pink-ink)}
.mapfig .pin .dot{fill:var(--cream)}
.mapfig .pin:hover path{fill:var(--pink)}
.mapfig .pin.dim{opacity:.18}
.mapfig .compass{font:600 14px Jost,sans-serif;fill:var(--muted)}
.mapfig figcaption{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:.85rem;color:var(--muted);margin-top:10px}
.legend{display:inline-flex;align-items:center;gap:6px}.lp{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green)}.lp.tour{background:var(--pink-ink)}
.script{font-family:"Mrs Saint Delafield","Brush Script MT",cursive;font-weight:400;color:var(--soft);font-size:1.35em;line-height:.8;padding-right:.08em}
.hero .script{color:#F3CFD9}
.ext::after{content:" ↗";font-size:.85em}
/* audit additions (Oct 2026) */
img{height:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--green-2);color:var(--ongreen);padding:10px 16px;border-radius:10px}
.skip:focus{left:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pink-ink);outline-offset:2px}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:.9rem;color:#EAF2F3;padding:0;list-style:none}
.trust li{display:flex;align-items:center;gap:6px}
.trust b{color:#fff;font-weight:500}
.trust .stars{color:#F3CFD9;letter-spacing:.08em}
.hero .sub{margin-top:14px;font-size:.92rem}
.hero .sub a{color:#F3CFD9}
.who{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.who .card{flex-direction:row}
.who .card img{width:42%;aspect-ratio:auto;object-fit:cover;min-height:100%}
@media (max-width:560px){.who .card{flex-direction:column}.who .card img{width:100%;height:220px;min-height:0;object-position:center 35%}}
.ratingbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:18px 22px;border-radius:16px;background:var(--paper);border:1px solid var(--line);margin-bottom:28px}
.ratingbar b{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.2rem;font-weight:500;line-height:1;color:var(--green)}
.inc{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.inc ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.inc li{display:flex;gap:10px;align-items:baseline}
.inc .yes li::before{content:"✓";color:var(--green);font-weight:600}
.inc .add li::before{content:"+";color:var(--pink-ink);font-weight:600}
.picker{display:grid;gap:12px}
.picker a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-decoration:none;color:var(--ink);min-height:56px}
.picker a:hover{border-color:var(--pink-ink)}
.picker span{color:var(--muted);font-size:.9rem}
.picker a>span{text-align:right;flex:0 0 auto;max-width:42%}
.picker b{font-weight:500}
footer li a{display:inline-block;padding:4px 0}
footer .fh{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:1.3rem;margin:0 0 10px}
.navgift{font-size:.88rem}
h2.eyebrow{font-family:"Jost",system-ui,sans-serif;font-size:.78rem;line-height:1.65;font-weight:500}
figure.card{margin:0}
@media (max-width:860px){.hero img{height:34vh;min-height:220px;object-position:center 62%!important}.hero .copy{padding-top:26px!important}}

/* wide screens */
html{font-size:clamp(16px,14.5px + .2vw,19px)}
body{font-size:1.0625rem}
@media (min-width:1500px){.wrap{max-width:1340px}.narrow{max-width:860px}.hero .copy{max-width:720px}.lede{max-width:64ch}}
@media (min-width:1900px){.wrap{max-width:1520px}.narrow{max-width:900px}.hero .copy{max-width:800px}}

/* newsletter */
.newsletter{background:var(--blush);padding-block:56px}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:560px;margin:0 auto}
.newsletter input[type=email]{flex:1 1 260px;font:inherit;padding:.85em 1.1em;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);min-width:0}
.newsletter .note{margin-top:12px;min-height:1.4em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
