@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/literata-latin.woff2) format('woff2')}
:root{--bg:#FAF6EF;--sand:#F3ECE1;--white:#fff;--ink:#23211F;--muted:#5E5850;--line:#E6DED1;--line2:#DDD2C2;--accent:#1F5F5B;--accent-d:#174744;--terra:#A9481F;--chip:#EDE4D6;--serif:'Literata',Georgia,serif;--sans:'Manrope',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
a{color:var(--accent)}a:hover{color:var(--accent-d)}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:8px}
.eyebrow{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px;border:0;font-family:inherit;cursor:pointer}
.btn:hover{background:var(--accent-d);color:#fff}
.btn.ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.btn.sm{min-height:44px;padding:0 20px;font-size:14px}
.more{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px;color:var(--accent);text-decoration:none}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 32px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px}
.logo span{font-weight:800;font-size:19px;letter-spacing:-.01em}.logo b{color:var(--accent);font-weight:800}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;border-radius:999px}
.nav a:hover,.nav a[aria-current]{background:var(--chip)}
.menu-btn{display:none;background:none;border:1.5px solid var(--ink);border-radius:999px;min-height:40px;padding:0 16px;font:700 14px var(--sans);color:var(--ink)}
@media (max-width:820px){
 .menu-btn{display:inline-flex;align-items:center}
 .site-header .hdr-cta{display:none}
 .nav{display:none;width:100%}.nav.open{display:block}
 .nav ul{flex-direction:column;padding:4px 0 10px}.nav a{width:100%;font-size:17px}
}
/* placeholders for photos */
.ph{position:relative;border-radius:20px;overflow:hidden;background:#DCCDB7}
.ph img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.ph.t1{background:linear-gradient(135deg,#DCCDB7,#C9B496)}.ph.t2{background:linear-gradient(135deg,#D4DBD1,#B9C6B6)}.ph.t3{background:linear-gradient(135deg,#E8D2C2,#D9B49C)}.ph.t4{background:linear-gradient(135deg,#E1DAD0,#CFC3B1)}.ph.t5{background:linear-gradient(135deg,#DAD3E0,#C3B9CE)}
.ph .arch{position:absolute;right:18px;top:18px;opacity:.35}
.ph .cap{position:absolute;left:14px;bottom:14px;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;color:#3A3631}
/* hero */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:64px;padding-bottom:80px}
.hero-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero h1{margin:0;font-size:clamp(40px,5vw,64px);line-height:1.04;font-weight:800;letter-spacing:-.03em}
.lede{margin:0;font-family:var(--serif);font-size:19px;line-height:1.6;color:var(--muted);max-width:540px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.hero .fine{margin:0;font-size:14px;color:var(--muted)}
.hero-grid{flex:1.25 1 480px;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:230px 230px;gap:12px}
.hero-grid .big{grid-column:span 2;grid-row:span 2}
@media (max-width:620px){.hero{padding-top:36px;padding-bottom:48px;gap:32px}.hero-grid{grid-template-rows:150px 150px}}
/* sections */
.band{background:var(--white);border-top:1px solid #EEE7DB;border-bottom:1px solid #EEE7DB}
.band.sand{background:var(--sand);border:0}
.band.dark{background:var(--ink);color:var(--bg);border:0}
.sec{padding-top:80px;padding-bottom:80px;display:flex;flex-direction:column;gap:32px}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.sec-head>div{display:flex;flex-direction:column;gap:8px}
.sec h2,.h2{margin:0;font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sub{margin:0;font-family:var(--serif);font-size:18px;color:var(--muted)}
@media (max-width:620px){.sec{padding-top:56px;padding-bottom:56px}.sec h2,.h2{font-size:30px}}
/* event cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.ecard{background:var(--bg);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.band:not(.band.sand) .ecard{background:var(--bg)}
.page-weekend .ecard{background:#fff}
.ecard .ph{border-radius:0;height:180px}
.ecard .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.chip{align-self:flex-start;font-size:12px;font-weight:700;color:var(--ink);background:var(--chip);border-radius:999px;padding:5px 10px}
.ecard h3{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.ecard h3 a{color:inherit;text-decoration:none}.ecard h3 a:hover{color:var(--accent)}
.ecard p{margin:0;font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--muted)}
.ecard .where{font-family:var(--sans);font-size:14px;font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.tag{font-size:12px;font-weight:700;color:var(--accent);border:1px solid #C9DAD8;border-radius:999px;padding:3px 9px}
/* guide cards */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.gcard{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink)}
.gcard .ph{height:280px;border-radius:18px;transition:transform .2s}
.gcard:hover .ph{transform:translateY(-3px)}
.gcard .k{font-size:13px;font-weight:700;color:var(--accent)}
.gcard .t{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.gcard .d{font-family:var(--serif);font-size:15px;color:var(--muted);line-height:1.5}
.gcard:hover .t{color:var(--accent)}
@media (max-width:620px){.gcard .ph{height:200px}}
/* food split */
.split{display:flex;flex-wrap:wrap;align-items:stretch;gap:48px}
.split>.ph{flex:1 1 420px;min-height:420px}
.split>.txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px;justify-content:center}
.rows{list-style:none;margin:0;padding:0}
.rows li{border-top:1px solid var(--line2)}.rows li:last-child{border-bottom:1px solid var(--line2)}
.rows a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;text-decoration:none;color:var(--ink)}
.rows a span span{display:block}.rows .rt{font-size:18px;font-weight:700}.rows .rd{font-size:14px;color:var(--muted)}
.rows .ar{font-size:20px;color:var(--accent)}
.rows a:hover .rt{color:var(--accent)}
@media (max-width:620px){.split>.ph{min-height:240px}}
/* dark about band */
.about-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;padding-top:88px;padding-bottom:88px}
.about-band h2{margin:0;flex:1 1 380px;font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.025em;line-height:1.08}
.about-band div{flex:1 1 380px;display:flex;flex-direction:column;gap:20px}
.about-band p{margin:0;font-family:var(--serif);font-size:18px;line-height:1.65;color:#E4DCCF}
.about-band a{color:var(--bg);font-weight:700}
/* signup */
.signup{display:flex;flex-direction:column;gap:14px;max-width:560px}
.signup h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em}
.signup p{margin:0;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--muted)}
.signup label{font-size:14px;font-weight:700;padding-top:6px}
.signup .row{display:flex;flex-wrap:wrap;gap:10px}
.signup input{flex:1 1 240px;min-height:52px;padding:0 18px;border-radius:999px;border:1.5px solid #CFC3B1;background:#fff;font:16px var(--sans);color:var(--ink)}
.signup .note{font-family:var(--sans);font-size:13px;color:var(--muted)}
.signup button[disabled]{opacity:.55;cursor:default}
/* footer */
.site-footer{background:var(--sand)}
.site-footer .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px;padding-top:72px}
.fnav{display:flex;flex-wrap:wrap;gap:56px}
.fnav div{display:flex;flex-direction:column;gap:2px}
.fnav .h{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:6px}
.fnav a{min-height:34px;display:flex;align-items:center;color:var(--ink);text-decoration:none;font-weight:600}
.fnav a:hover{color:var(--accent)}
.site-footer .bot{border-top:1px solid var(--line2);margin-top:56px;padding-top:20px;padding-bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.site-footer .bot a{color:var(--muted)}
/* article */
.crumbs{font-size:14px;color:var(--muted);padding-top:28px}.crumbs a{color:var(--muted)}
.ahead{padding-top:20px;padding-bottom:36px;display:flex;flex-direction:column;gap:18px;max-width:820px}
.ahead h1{margin:0;font-size:clamp(36px,4.6vw,56px);line-height:1.06;font-weight:800;letter-spacing:-.03em}
.meta{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px}
.ahero{height:clamp(240px,40vw,460px)}
.alayout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;padding-top:48px;padding-bottom:72px;align-items:start}
.toc{position:sticky;top:96px;font-size:14px}
.toc .h{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink);text-decoration:none;font-weight:600;line-height:1.35}
.toc a:hover{border-color:var(--accent);color:var(--accent)}
.toc details summary{display:none}
@media (max-width:960px){.alayout{grid-template-columns:1fr;gap:28px;padding-top:28px}.toc{position:static;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 16px}.toc .h{display:none}.toc details summary{display:block;cursor:pointer;font-weight:700;min-height:44px;line-height:44px}.toc ol{margin-bottom:10px}}
.takeaways{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin:0 0 36px}
.takeaways .h{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.takeaways ul{margin:0;padding-left:20px}.takeaways li{margin:6px 0;font-weight:600}
.prose{font-family:var(--serif);font-size:18px;line-height:1.72;color:#34302C;max-width:720px}
.prose h2{font-family:var(--sans);font-size:30px;line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin:52px 0 14px;scroll-margin-top:90px}
.prose h3{font-family:var(--sans);font-size:21px;color:var(--ink);margin:32px 0 8px;scroll-margin-top:90px}
.prose p{margin:0 0 18px}.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}.prose li{margin:6px 0}
.prose strong{color:var(--ink)}
.prose a{text-underline-offset:3px}
.prose table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;margin:0 0 22px}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.prose th{font-weight:700;background:var(--sand)}
.callout{border-radius:16px;padding:18px 22px;margin:26px 0;font-family:var(--sans);font-size:16px;line-height:1.6;background:#fff;border:1px solid var(--line)}
.callout p{margin:0 0 8px}.callout p:last-child{margin:0}
.callout .lbl{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.callout.book{background:#EAF2F1;border-color:#C9DAD8}.callout.book .lbl{color:var(--accent)}
.callout.book a{font-weight:700}
.callout.tip{background:#FBF1E9;border-color:#EBD3C2}.callout.tip .lbl{color:var(--terra)}
.callout.know .lbl{color:var(--muted)}
.disclosure{font-family:var(--sans);font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:40px}
.sources{font-family:var(--sans);font-size:13px;color:var(--muted);margin-top:18px}
.sources summary{cursor:pointer;font-weight:700}
.sources ul{padding-left:18px}.sources a{color:var(--muted);word-break:break-all}
.inline-signup{background:var(--sand);border-radius:20px;padding:28px;margin:44px 0 0}
/* checklist landing */
.lm{display:flex;flex-wrap:wrap;gap:48px;padding-top:56px;padding-bottom:72px}
.lm>div{flex:1 1 420px;min-width:0}
.benefits{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:10px}
.benefits li{display:flex;gap:10px;font-weight:600}.benefits li:before{content:"✓";color:var(--accent);font-weight:800}
.preview{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.preview ul{list-style:none;padding:0;margin:12px 0 0}.preview li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-weight:600}
.preview li:before{content:"";flex:0 0 18px;height:18px;border:2px solid var(--accent);border-radius:5px;margin-top:2px}
/* tours */
.tcard .body .price{font-family:var(--sans);font-weight:800;color:var(--ink);font-size:15px}
.page-intro{padding-top:28px;padding-bottom:28px;display:flex;flex-direction:column;gap:16px;max-width:820px}
.page-intro h1{margin:0;font-size:clamp(36px,4.6vw,56px);line-height:1.06;font-weight:800;letter-spacing:-.03em}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:700 14px var(--sans);color:var(--ink);cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.simple{max-width:760px;padding-top:28px;padding-bottom:80px}
