/* Self-hosted fonts (SIL OFL 1.1, see fonts/LICENSE.txt). No requests to third-party font services. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-Regular.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-Medium.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/inter-SemiBold.woff) format("woff")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-Regular.woff) format("woff")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-Italic.woff) format("woff")}
/* Safari Shortlist design system v5
   Layout: architectural minimalism — warm-white canvas, full-bleed photography, 1400px grid, 8px spacing, serif display over Inter UI */
:root{
  --bg:#FAFAF8; --surface:#FFFFFF; --soft:#F2F3EF; --soft2:#E9EBE6; --ink:#191C19; --ink2:#3D413D; --muted:#737873; --line:#E7E9E4; --line2:#D9DCD6;
  --accent:#254A38; --accent-ink:#FFFFFF; --accent-soft:#E6EEE9;
  --good:#2F6B4A; --good-soft:#E8F1EB; --warn:#9C5236; --warn-soft:#F7ECE6; --info:#58697A;
  --c-rate:#254A38; --c-meals:#7FA08D; --c-drives:#C3B59A; --c-fees:#8E9AA6; --c-transfers:#D7C9B6;
  --c-temp:#A27B4E; --map-land:#F3F2EC; --map-res:#E8E3D3; --map-park:#DCE5D2; --map-on:#D7CBA8; --river:#8FB4C6;
  --glass:rgba(255,255,255,.86);
  --shadow-sm:0 1px 2px rgba(25,28,25,.05);
  --shadow:0 1px 2px rgba(25,28,25,.04),0 8px 24px rgba(25,28,25,.06);
  --shadow-lg:0 2px 6px rgba(25,28,25,.05),0 24px 56px rgba(25,28,25,.14);
  --serif:"Instrument Serif","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
  --r-sm:10px; --r:16px; --r-lg:20px; --r-xl:24px;
  --hdr:72px; --gut:16px; --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:760px){:root{--gut:32px}}
@media (min-width:1200px){:root{--gut:48px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111311; --surface:#181B18; --soft:#1E211E; --soft2:#262A26; --ink:#ECEDEA; --ink2:#C7CAC5; --muted:#9A9F99; --line:#272B27; --line2:#323732;
  --accent:#9CC2AC; --accent-ink:#0F1A13; --accent-soft:#1F2B24;
  --good:#8CC7A2; --good-soft:#1B2A21; --warn:#E3A386; --warn-soft:#33221B; --info:#A8B6C4;
  --c-rate:#9CC2AC; --c-meals:#5E7F6C; --c-drives:#9C8F75; --c-fees:#6C7884; --c-transfers:#7F7462;
  --c-temp:#C9A877; --map-land:#161916; --map-res:#2A2A22; --map-park:#1F271F; --map-on:#4A4430; --river:#3E6476;
  --glass:rgba(24,27,24,.86);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4); --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); --shadow-lg:0 24px 56px rgba(0,0,0,.6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111311; --surface:#181B18; --soft:#1E211E; --soft2:#262A26; --ink:#ECEDEA; --ink2:#C7CAC5; --muted:#9A9F99; --line:#272B27; --line2:#323732;
  --accent:#9CC2AC; --accent-ink:#0F1A13; --accent-soft:#1F2B24;
  --good:#8CC7A2; --good-soft:#1B2A21; --warn:#E3A386; --warn-soft:#33221B; --info:#A8B6C4;
  --c-rate:#9CC2AC; --c-meals:#5E7F6C; --c-drives:#9C8F75; --c-fees:#6C7884; --c-transfers:#7F7462;
  --c-temp:#C9A877; --map-land:#161916; --map-res:#2A2A22; --map-park:#1F271F; --map-on:#4A4430; --river:#3E6476;
  --glass:rgba(24,27,24,.86);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4); --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); --shadow-lg:0 24px 56px rgba(0,0,0,.6);
  color-scheme:dark}

/* ---------- base ---------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
img[loading=lazy]{transition:opacity .45s var(--ease)}
.media img[loading]:not(.ld),.qi img[loading]:not(.ld),.mrow img[loading]:not(.ld),.dcard img[loading]:not(.ld){opacity:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:90;background:var(--bg)}
.wrap{max-width:calc(1400px + 2*var(--gut));margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
h1,h2,h3,h4{margin:0;font-weight:500;text-wrap:balance;letter-spacing:-.02em;line-height:1.15}
h1{font-size:clamp(36px,4.6vw,56px);letter-spacing:-.03em;line-height:1.05}
h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;line-height:1.1}
h3{font-size:18px;font-weight:500;letter-spacing:-.015em}
h4{font-size:15px;font-weight:600;letter-spacing:-.01em}
.serif,h1.serif,h2.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
h2.serif{font-size:clamp(34px,3.6vw,48px);line-height:1.04}
h1.serif{font-size:clamp(44px,5.6vw,72px);line-height:1}
em.s{font-family:var(--serif);font-style:italic;font-weight:400}
p{margin:0}
img{display:block;max-width:100%}
a{color:inherit}
.kicker{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}
.ic.sm{width:16px;height:16px}.ic.lg{width:24px;height:24px}
.h-sm{font-size:24px!important}
main > *{animation:fadein .35s var(--ease) backwards}
.quiet main > *,.quiet .in-up,.quiet .qbody{animation:none!important}
::view-transition-old(root){animation:vtout .16s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vtin .26s cubic-bezier(.2,.8,.2,1) both}
@keyframes vtout{to{opacity:0}}
@keyframes vtin{from{opacity:0}}
.mbtn.heart[aria-pressed="true"] .ic{animation:heartpop .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes heartpop{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:none}}
.btn,.mbtn,.iconbtn,.fpill,.chip,.bk,.link{-webkit-tap-highlight-color:transparent}
.btn:active,.mbtn:active,.iconbtn:active,.fpill:active{transform:scale(.97)!important;transition-duration:.08s}
@keyframes fadein{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);font-weight:500;font-size:14.5px;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}
.btn:hover{box-shadow:0 6px 16px rgba(37,74,56,.22);transform:translateY(-1px)}

.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}
.btn.ghost[aria-pressed="true"]{border-color:var(--ink)}
.btn.white{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.btn.gold{background:var(--surface);color:var(--ink)}
.btn.glassbtn{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn.sm{height:36px;padding:0 14px;font-size:13.5px}
.btn.lg{height:52px;padding:0 26px;font-size:15px}
.btn.block{width:100%}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.iconbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);color:var(--ink);display:inline-grid;place-items:center;flex:none;transition:border-color .2s,background .2s}
.iconbtn:hover{border-color:var(--ink)}
.link{background:none;border:0;padding:0;font-weight:500;font-size:14.5px;color:var(--ink);display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:gap .2s,color .2s}
.link:hover{gap:10px}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--glass);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,color .3s}
.hdr.solid{border-bottom-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:40px;height:var(--hdr)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none;color:var(--ink)}
.brand svg{width:26px;height:26px}
.brand b{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.01em}
.nav{display:flex;gap:4px}
.nav a{position:relative;text-decoration:none;font-size:14.5px;padding:8px 12px;color:var(--ink2);border-radius:999px;transition:color .2s,background .2s}
.nav a:hover{color:var(--ink);background:var(--soft)}
.nav a.on{color:var(--ink)}
.nav a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1.5px;background:currentColor;border-radius:2px}
.hdr-r{margin-left:auto;display:flex;gap:4px;align-items:center}
.hpill{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:14px;height:40px;padding:0 12px;border-radius:999px;color:var(--ink2);transition:background .2s,color .2s}
.hpill:hover{background:var(--soft);color:var(--ink)}
.hpill .cnt{background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:999px;display:inline-grid;place-items:center;padding:0 5px}
.hpill.partner{border:1px solid var(--line2);margin-right:6px;padding:0 16px}
.menu-btn{display:none}
body.home .hdr{position:fixed;left:0;right:0}
body.home .hdr:not(.solid){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.home .hdr:not(.solid) .brand,body.home .hdr:not(.solid) .nav a,body.home .hdr:not(.solid) .hpill{color:#fff}
body.home .hdr:not(.solid) .nav a:hover,body.home .hdr:not(.solid) .hpill:hover{background:rgba(255,255,255,.14)}
body.home .hdr:not(.solid) .hpill.partner{border-color:rgba(255,255,255,.4)}
body.home .hdr:not(.solid) .hpill .cnt{background:#fff;color:#191C19}
body.home .hdr:not(.solid) .menu-btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
@media (max-width:1180px){.nav{display:none}.menu-btn{display:inline-grid}.hpill .lbl{display:none}.hpill.partner{display:none}}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(17,19,17,.4);display:flex;justify-content:flex-end;animation:fade .2s}
.drawer .panel{width:min(380px,100vw);height:100%;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 16px) max(24px,env(safe-area-inset-right,0px)) 24px 24px;display:grid;align-content:start;overflow-y:auto;animation:slidein .28s var(--ease)}
.drawer .panel a{text-decoration:none;font-family:var(--serif);font-size:30px;padding:12px 0;border-bottom:1px solid var(--line)}
.drawer .panel .x{justify-self:end;margin-bottom:12px}
@keyframes fade{from{opacity:0}}
@keyframes slidein{from{transform:translateX(24px);opacity:.4}}
@keyframes slideup{from{transform:translateY(24px);opacity:.4}}
@keyframes popin{from{opacity:0;transform:translateY(-4px) scale(.98)}}

/* ---------- sections ---------- */
main{min-height:60vh}
section.blk{padding-block:120px}
section.blk.tight{padding-block:80px}
section.blk.pt0{padding-top:0}
.soft,.alt{background:var(--soft)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:48px;flex-wrap:wrap}
.sec-head > div:first-child{display:grid;gap:12px;max-width:640px}
.sec-head p{color:var(--muted);font-size:16px;line-height:1.55}
.sec-head h2:not(.serif){font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px)!important;letter-spacing:-.01em}
.page-head{padding-block:56px 40px;display:grid;gap:16px}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,72px);letter-spacing:-.01em;line-height:1}
.page-head p.sub{color:var(--muted);font-size:17px;max-width:58ch}
.crumbs{display:flex;gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap;align-items:center}
.crumbs a{text-decoration:none;transition:color .2s}.crumbs a:hover{color:var(--ink)}
.crumbs .ic{width:12px;height:12px}
@media (max-width:760px){section.blk{padding-block:80px}section.blk.tight{padding-block:56px}.sec-head{margin-bottom:32px}}

/* ---------- photo slot tag ---------- */
.phtag{position:absolute;left:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;height:26px;font-size:11px;font-weight:500;padding:0 10px 0 8px;border-radius:999px;background:rgba(17,19,17,.42);color:#fff;border:1px dashed rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden}
.phtag span{overflow:hidden;text-overflow:ellipsis}
.phtag.c{width:26px;padding:0;justify-content:center}
.phtag.c span{display:none}
.phtag .ic{width:13px;height:13px}

/* ---------- home hero ---------- */
.hero3{position:relative;z-index:2;height:clamp(640px,94vh,920px);color:#fff;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;background:#2A2520}
.hero3 > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;z-index:-2}
.hero3::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,8,.42) 0%,rgba(10,10,8,0) 22%,rgba(10,10,8,0) 46%,rgba(10,10,8,.48) 100%)}
.hero3 > .phtag{left:auto;right:max(var(--gut),env(safe-area-inset-right,0px));top:calc(var(--hdr) + 16px)}
.h3c{width:100%;display:grid;gap:20px;padding-bottom:40px}
.h3c h1{font-size:clamp(52px,7vw,96px);line-height:.98;max-width:12ch;text-shadow:0 2px 30px rgba(0,0,0,.18)}
.h3c p{font-size:clamp(16px,1.4vw,19px);max-width:44ch;color:rgba(255,255,255,.9);line-height:1.5}
.h3s{width:100%;padding-bottom:40px}
.sbox{display:grid;grid-template-columns:1.25fr 1.1fr 1fr 1.15fr auto;align-items:center;background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 8px 8px 12px;box-shadow:var(--shadow-lg);max-width:1040px}
.sf{position:relative;display:grid;gap:2px;padding:10px 20px;border-radius:999px;min-width:0;transition:background .2s;cursor:pointer}
.sf:hover{background:var(--soft)}
.sf + .sf::before{content:"";position:absolute;left:0;top:28%;bottom:28%;width:1px;background:var(--line)}
.sf:hover::before,.sf:hover + .sf::before{opacity:0}
.sl{font-size:12px;font-weight:600;letter-spacing:.01em}
.sv{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;min-width:0}
.sv .ic{color:var(--ink2)}
.sv select,.sv > span{border:0;background:transparent;padding:0;font-size:14px;color:var(--muted);width:100%;min-width:0;appearance:none;-webkit-appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.sv select:focus{outline:none}
.pwrap{padding:0}
.sfb{display:grid;gap:2px;padding:10px 20px;border:0;background:none;text-align:left;width:100%;border-radius:999px;color:inherit}
.sgo{display:inline-flex;align-items:center;gap:8px;height:56px;padding:0 26px;border-radius:999px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:500;font-size:15px;transition:box-shadow .2s,transform .2s}
.sgo:hover{box-shadow:0 8px 20px rgba(37,74,56,.3);transform:translateY(-1px)}
.sbox .pop{top:auto;bottom:calc(100% + 14px);left:0}
@media (max-width:980px){
  .sbox{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:24px;padding:8px;gap:4px}
  .sf,.sfb{border-radius:16px}
  .sf{background:var(--soft)}
  .sf + .sf::before{display:none}
  .sgo{grid-column:1/-1;justify-content:center;height:52px;border-radius:16px}
  .sbox .pop{top:auto;bottom:calc(100% + 10px)}
  .hero3{height:auto;min-height:100svh;padding-top:calc(var(--hdr) + 80px)}
}
.pop{position:absolute;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:20px;width:300px;max-width:calc(100vw - 32px);display:grid;gap:16px;color:var(--ink);animation:popin .18s var(--ease)}
.pop .pf{display:grid;gap:6px;font-size:13px;font-weight:500}
.pop input[type=date]{border:1px solid var(--line2);border-radius:12px;padding:10px 12px;background:var(--bg);color:var(--ink)}
.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stepper > div:first-child:not(.ctl){display:grid;line-height:1.3}
.stepper b{font-weight:500}
.stepper small{color:var(--muted);font-size:12.5px}
.stepper .ctl{display:flex;align-items:center;gap:12px}
.stepper .ctl b{min-width:20px;text-align:center}
.stepper button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);display:grid;place-items:center;transition:border-color .2s}
.stepper button:hover:not(:disabled){border-color:var(--ink)}
.stepper button:disabled{opacity:.3;cursor:not-allowed}

/* ---------- destinations ---------- */
.dgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 24px}
.dest{grid-column:span 4;text-decoration:none;display:grid;gap:16px}
.dest:nth-child(1){grid-column:span 6}.dest:nth-child(2){grid-column:span 3}.dest:nth-child(3){grid-column:span 3}
.dest:nth-child(4){grid-column:span 3}.dest:nth-child(5){grid-column:span 3}.dest:nth-child(6){grid-column:span 6}
.di{position:relative;display:block;height:clamp(300px,32vw,460px);border-radius:var(--r-lg);overflow:hidden;background:var(--soft)}
.di img,.wi img,.ti img,.media img,.gal2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.di::after,.media::after,.ti::after,.wi::after{content:"";position:absolute;inset:0;background:rgba(17,19,17,0);transition:background .4s;pointer-events:none}
.dest:hover .di img,.card:hover .media img,.tool:hover .ti img,.wtile2:hover .wi img{transform:scale(1.03)}
.dest:hover .di::after,.tool:hover .ti::after,.wtile2:hover .wi::after{background:rgba(17,19,17,.08)}
.dt{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dt > span{display:grid;line-height:1.35}
.dt b{font-size:18px;font-weight:500;letter-spacing:-.015em}
.dt small{color:var(--muted);font-size:13.5px}
.dt .ic{margin-top:4px;transition:transform .25s var(--ease)}
.dest:hover .dt .ic{transform:translateX(4px)}
@media (max-width:980px){.dgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 16px}.dest:nth-child(n){grid-column:auto}.dest:nth-child(1),.dest:nth-child(6){grid-column:1/-1}.di{height:260px}}
@media (max-width:560px){.dgrid{grid-template-columns:minmax(0,1fr)}.di{height:300px}}

/* ---------- lodge card ---------- */
.lgrid4,.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}
.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
@media (max-width:1180px){.lgrid4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.lgrid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lgrid4,.grid{grid-template-columns:minmax(0,1fr);gap:40px}}
.card{display:grid;gap:14px;align-content:start;position:relative;min-width:0}
.mwrap{position:relative;min-width:0}
.media{position:relative;display:block;aspect-ratio:4/3;max-width:100%;border-radius:var(--r);overflow:hidden;background:var(--soft);transition:box-shadow .3s}
.card:hover .media{box-shadow:var(--shadow)}
.card.hot .media{box-shadow:0 0 0 2px var(--ink)}
.mbtns{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:4}
.mbtn{width:34px;height:34px;border-radius:50%;border:0;background:var(--glass);color:var(--ink);display:grid;place-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:transform .2s,background .2s,color .2s,opacity .2s}
.mbtn:hover{transform:scale(1.08)}
.mbtn[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.mbtn.heart[aria-pressed="true"]{background:var(--surface);color:#D9473F}
.mbtn:disabled{opacity:.4;cursor:not-allowed}
@media (hover:hover){.card .cmpb:not([aria-pressed="true"]){opacity:0}.card:hover .cmpb,.card .cmpb:focus-visible{opacity:1}}
.info{display:grid;gap:4px;min-width:0;text-decoration:none}
.info .where{font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.feat{font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:1px 8px;line-height:1.6}
.info h3{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.info .il{font-size:13.5px;color:var(--muted)}
.info .pl{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:var(--ink2)}
.info .pl b{color:var(--ink);font-weight:600}
.info .pl small{font-size:13px;color:var(--muted)}
.warnline{font-size:13px;color:var(--warn)}
.why{font-size:13px;color:var(--good)}
.mscore{position:absolute;top:12px;left:12px;z-index:3;background:var(--surface);color:var(--ink);font-weight:600;font-size:12.5px;padding:5px 11px;border-radius:999px;box-shadow:var(--shadow-sm)}
.mscore ~ .phtag{display:none}
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.car-ctl{display:flex;gap:8px}
.empty{grid-column:1/-1;padding:72px 24px;text-align:center;border:1px dashed var(--line2);border-radius:var(--r-lg);color:var(--muted);display:grid;gap:12px;justify-items:center}
.empty h3{color:var(--ink);font-size:20px}

/* ---------- wildlife rail ---------- */
.wrail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(200px,17vw,250px);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--gut),calc((100% - 1400px)/2));scroll-padding-inline:max(var(--gut),calc((100% - 1400px)/2))}
.wrail::-webkit-scrollbar{display:none}
.wtile2{border:0;padding:0;background:none;text-align:left;display:grid;gap:12px;scroll-snap-align:start;color:var(--ink)}
.wi{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--soft2)}
.wt{display:grid;line-height:1.35}
.wt b{font-size:16px;font-weight:500}
.wt small{color:var(--muted);font-size:13px}

/* ---------- pricing explainer ---------- */
.explain{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:center}
@media (max-width:980px){.explain{grid-template-columns:minmax(0,1fr);gap:40px}}
.sub2{color:var(--muted);font-size:16.5px;max-width:52ch;line-height:1.6;margin-top:20px}
.plist{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:16px;max-width:52ch}
.plist li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted)}
.plist li b{color:var(--ink);font-weight:500}
.plist .ic{color:var(--accent);margin-top:4px}
.chartcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:32px;display:grid;gap:24px}
.chartcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.chartcard h4{font-weight:500;font-size:16px}
.seg{display:inline-flex;background:var(--soft);border-radius:999px;padding:3px;gap:2px}
.seg button{border:0;background:none;height:32px;padding:0 14px;font-size:13px;font-weight:500;border-radius:999px;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.hbars{display:grid;gap:18px}
.hbar{display:grid;grid-template-columns:150px minmax(0,1fr) 72px;gap:16px;align-items:center;font-size:13.5px}
.hbar .nm{display:grid;line-height:1.3}.hbar .nm b{font-weight:500}.hbar .nm small{color:var(--muted);font-size:12px}
.hbar .track{height:10px;background:var(--soft);border-radius:999px;display:flex;overflow:hidden;gap:2px}
.hbar .track i{display:block;height:100%;transition:width .6s var(--ease)}
.hbar .v{text-align:right;font-weight:500}
.legend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.c-rate{background:var(--c-rate)}.c-meals{background:var(--c-meals)}.c-drives{background:var(--c-drives)}.c-fees{background:var(--c-fees)}.c-transfers{background:var(--c-transfers)}
@media (max-width:560px){.hbar{grid-template-columns:minmax(0,1fr) 72px;gap:6px 12px}.hbar .track{grid-column:1/-1;grid-row:2}.chartcard{padding:22px}}

/* ---------- tools / steps / partner ---------- */
.tools3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tool{text-decoration:none;display:grid;gap:16px}
.ti{position:relative;display:block;aspect-ratio:4/3;max-width:100%;border-radius:var(--r-lg);overflow:hidden;background:var(--soft)}
.tt{display:grid;gap:4px}
.tt b{font-size:18px;font-weight:500;letter-spacing:-.015em}
.tt small{color:var(--muted);font-size:14.5px;line-height:1.5}
@media (max-width:860px){.tools3{grid-template-columns:minmax(0,1fr)}}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.steps4 li{display:grid;gap:10px;align-content:start;border-top:1px solid var(--line2);padding-top:20px}
.steps4 span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.steps4 b{font-size:18px;font-weight:500;letter-spacing:-.015em}
.steps4 p{color:var(--muted);font-size:14.5px}
@media (max-width:900px){.steps4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){.steps4{grid-template-columns:minmax(0,1fr)}}
.partnerline{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.partnerline > div{display:grid;gap:10px;max-width:560px}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.step{display:grid;gap:8px;border-top:1px solid var(--line2);padding-top:18px}
.step .n{font-size:13px;color:var(--muted)}
.step b{font-size:17px;font-weight:500}
.step p{font-size:14px;color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- search ---------- */
.sbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr));z-index:30;background:var(--glass);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border-bottom:1px solid var(--line)}
.sbarin{display:flex;align-items:center;gap:12px;padding-block:12px;flex-wrap:wrap;max-width:none}
.tripbar{display:flex;align-items:center;gap:2px;height:44px;background:var(--surface);border:1px solid var(--line2);border-radius:999px;padding:0 6px;box-shadow:var(--shadow-sm);flex:none}
.tripbar label,.tripbar .tb{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:999px;font-size:13.5px;border:0;background:none;color:var(--ink);transition:background .2s;cursor:pointer;white-space:nowrap}
.tripbar label:hover,.tripbar .tb:hover{background:var(--soft)}
.tripbar input,.tripbar select{border:0;background:transparent;font-weight:500;font-size:13.5px;padding:0;color:var(--ink)}
.tripbar .sep{width:1px;height:18px;background:var(--line2);flex:none}
.fpills{display:flex;gap:8px;flex-wrap:wrap}
.pw{position:relative}
.fpill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 16px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);font-size:13.5px;color:var(--ink);transition:border-color .2s,background .2s,color .2s;white-space:nowrap}
.fpill:hover{border-color:var(--ink)}
.fpill .ic{width:14px;height:14px;color:var(--muted);transition:transform .2s}
.fpill[aria-expanded="true"] .ic{transform:rotate(180deg)}
.fpill.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.fpill.on .ic{color:var(--accent)}
.fpill .dot{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:11px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px}
.fbtn{display:none}
.fbtn .ic{width:16px;height:16px;color:var(--ink)}
.sortw{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;font-size:13.5px;color:var(--muted);transition:background .2s;cursor:pointer}
.sortw:hover{background:var(--soft)}
.sortw select{border:0;background:transparent;font-weight:500;color:var(--ink);font-size:13.5px;padding:0;cursor:pointer}
.fpop{position:absolute;top:calc(100% + 10px);left:0;z-index:45;width:360px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:popin .18s var(--ease);overflow:hidden}
.pw:nth-last-child(-n+2) .fpop{left:auto;right:0}
.fpb{padding:20px;display:grid;gap:18px}
.fpf{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 12px 20px;border-top:1px solid var(--line);background:var(--bg)}
.fpf .link{font-size:13.5px;text-decoration:underline;text-underline-offset:3px}
.fpf .link:hover{gap:6px}
.optlist{display:grid;gap:2px;margin:-8px}
.opt{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:10px;align-items:center;text-align:left;border:0;background:none;padding:10px 12px;border-radius:12px;font-size:14px;transition:background .15s;min-height:44px}
.opt:hover{background:var(--soft)}
.opt small{color:var(--muted);font-size:12.5px}
.opt[aria-pressed="true"]{font-weight:500}
.opt .ic{color:var(--accent);grid-column:3}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line2);background:var(--surface);border-radius:999px;font-size:13.5px;color:var(--ink);transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chip.rm{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.fgroup{display:grid;gap:12px}
.fgroup > b{font-size:14px;font-weight:500}
.range-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--accent)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.check input{accent-color:var(--accent);width:18px;height:18px;margin-top:2px;flex:none}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,40%);align-items:start}
.slist{padding:40px var(--gut) 96px max(var(--gut),env(safe-area-inset-left,0px));min-width:0}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.shead > div{display:grid;gap:6px}
.shead h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3vw,44px);letter-spacing:-.01em;line-height:1.05}
.shead p{font-size:14px}
.shead .link{font-size:13.5px;text-decoration:underline;text-underline-offset:3px}
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}
@media (min-width:1700px){.sgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.smap2{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr) + 69px);height:calc(100vh - var(--hdr) - 69px);padding:16px max(var(--gut),env(safe-area-inset-right,0px)) 16px 0}
.mapwrap{position:relative;height:100%;border-radius:var(--r-lg);overflow:hidden;background:var(--map-land);border:1px solid var(--line)}
#s-map{height:100%}
#s-map svg{height:100%;width:100%;display:block}
.mapclose,.mapfab{display:none}
.mpop{position:absolute;z-index:6;width:240px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;transform:translate(-50%,calc(-100% - 22px));animation:fade .2s var(--ease)}
.mpop.down{transform:translate(-50%,22px)}
.mpi{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.mpi img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mpi:hover img{transform:scale(1.03)}
.mpt{display:grid;gap:2px;padding:12px 14px 14px;text-decoration:none;line-height:1.35}
.mpt small{color:var(--muted);font-size:12.5px}
.mpt > b{font-size:15px;font-weight:500}
.mpt span{font-size:13px;color:var(--muted);margin-top:4px}.mpt span b{color:var(--ink);font-weight:600}
.mpx{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px}
@media (max-width:1100px){
  .split{grid-template-columns:minmax(0,1fr)}
  .smap2{display:none}
  .split.showmap .smap2{display:block;position:fixed;inset:0;z-index:70;height:auto;padding:calc(env(safe-area-inset-top,0px) + 12px) max(12px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 12px) max(12px,env(safe-area-inset-left,0px));background:var(--bg);animation:slideup .25s var(--ease)}
  .mapclose{display:inline-flex;position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:7}
  .mapfab{display:inline-flex;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg)}
  .mapfab:hover{transform:translateX(-50%) translateY(-1px)}
  .slist{padding-inline:max(var(--gut),env(safe-area-inset-left,0px)) max(var(--gut),env(safe-area-inset-right,0px))}
}
.scard .stepper{justify-content:flex-end}
@media (max-width:900px){.sbarin{flex-wrap:nowrap}.fpills,.sortw{display:none}.fbtn{display:inline-flex;margin-left:auto;flex:none}.tripbar{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.tripbar::-webkit-scrollbar{display:none}}
@media (max-width:640px){.sgrid{grid-template-columns:minmax(0,1fr);gap:40px}.sbarin{gap:8px}.fbtn{padding:0 12px}}

/* ---------- map ---------- */
.mapbox{background:var(--map-land);border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden}
.mapbox svg{width:100%;height:auto;display:block}
.maphead{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0;font-size:13px;gap:8px}
.maphead b{font-weight:500}.maphead span{color:var(--muted);font-size:12px}
.res{fill:var(--map-res);stroke:var(--map-land);stroke-width:3;transition:fill .25s}
.res.park{fill:var(--map-park)}
.res.click{cursor:pointer}
.res.click:hover,.res.on{fill:var(--map-on)}
.res.dim{opacity:.6}
.reslabel{font-family:var(--sans);font-weight:500;font-size:10px;fill:var(--muted);pointer-events:none;letter-spacing:.06em;text-transform:uppercase}
.river{fill:none;stroke:var(--river);stroke-width:2;stroke-linecap:round}
.ap circle{fill:var(--surface);stroke:var(--muted);stroke-width:1.2}
.ap text{font-family:var(--sans);font-size:9px;fill:var(--muted)}
.ap.on circle{fill:var(--accent);stroke:var(--accent)}
.ap.on text{fill:var(--ink);font-weight:500}
.pin{cursor:pointer;outline:none}
.pin rect{fill:var(--surface);stroke:var(--line2);stroke-width:.8;filter:drop-shadow(0 2px 4px rgba(25,28,25,.16));transition:fill .2s,stroke .2s}
.pin text{fill:var(--ink);font-family:var(--sans);font-size:10.5px;font-weight:600;text-anchor:middle;pointer-events:none;transition:fill .2s}
.pin.hot rect,.pin:hover rect,.pin.sel rect,.pin:focus-visible rect{fill:var(--ink);stroke:var(--ink)}
.pin.hot text,.pin:hover text,.pin.sel text,.pin:focus-visible text{fill:var(--bg)}
.pin.dimp{opacity:.4}
.route{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 5;stroke-linecap:round}
.stopn circle{fill:var(--accent);stroke:var(--surface);stroke-width:2}
.stopn text{fill:var(--accent-ink);font-family:var(--sans);font-weight:600;font-size:11px;text-anchor:middle}

/* ---------- lodge page ---------- */
.lhead2{padding-block:32px 24px;display:grid;gap:16px}
.lhead2 .crumbs > span{color:var(--line2)}
.lht{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.lht > div:first-child{display:grid;gap:12px;min-width:0}
.lht h1.serif{font-size:clamp(40px,4.8vw,64px)}
.lmeta{color:var(--muted);font-size:15px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lmeta > span:not(.feat){color:var(--line2)}
.lactions{display:flex;gap:8px;flex-wrap:wrap}
.gal2{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;height:clamp(360px,44vw,560px);border-radius:var(--r-lg);overflow:hidden;position:relative}
.gal2 > button{position:relative;border:0;padding:0;overflow:hidden;background:var(--soft);cursor:zoom-in}
.gal2 > button:first-child{grid-row:span 2}
.gal2 > button::after{content:"";position:absolute;inset:0;background:rgba(17,19,17,0);transition:background .3s}
.gal2 > button:hover::after{background:rgba(17,19,17,.1)}
.gal2 > button:hover img{transform:scale(1.03)}
.gal2 .gall{position:absolute;right:16px;bottom:16px;z-index:3;cursor:pointer}
@media (max-width:760px){.gal2{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto;margin-inline:calc(-1*var(--gut));border-radius:0}.gal2 > button{display:none}.gal2 > button:first-child{display:block;aspect-ratio:4/3;grid-row:auto}.gal2 > button.gall{display:inline-flex}.lactions .btn{padding:0 12px}}
.lgrid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:96px;align-items:start;padding-block:48px 120px}
@media (max-width:1100px){.lgrid{grid-template-columns:minmax(0,1fr) 360px;gap:48px}}
@media (max-width:960px){.lgrid{grid-template-columns:minmax(0,1fr);gap:40px;padding-bottom:140px}}
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr));z-index:15;background:var(--bg);display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav a{text-decoration:none;font-size:14px;color:var(--muted);padding:16px 0;border-bottom:1.5px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
.subnav a:hover{color:var(--ink);border-color:var(--ink)}
.lsec{padding-block:48px;border-bottom:1px solid var(--line);display:grid;gap:24px;scroll-margin-top:calc(var(--hdr) + 64px)}
.lsec:last-child{border-bottom:0}
.lsec > h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,36px);letter-spacing:-.01em}
.lsec h4{font-weight:500}
.lead{font-size:17px;line-height:1.7;color:var(--ink2);max-width:62ch}
.hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.hl div{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink2)}
.hl i{color:var(--accent);display:grid;place-items:center;margin-top:3px}
@media (max-width:560px){.hl{grid-template-columns:minmax(0,1fr)}}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.facts div{padding:16px 16px 16px 0;display:grid;gap:4px;align-content:start}
.facts div + div{padding-left:16px;border-left:1px solid var(--line)}
.facts small{font-size:12.5px;color:var(--muted)}
.facts b{font-size:14px;font-weight:500;line-height:1.45}
@media (max-width:700px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts div:nth-child(3){padding-left:0;border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}}
.amen{display:flex;flex-wrap:wrap;gap:8px 24px}
.amen span{font-size:14px;display:inline-flex;gap:8px;align-items:center;color:var(--ink2)}
.amen .ic{color:var(--muted)}
.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.room{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;text-align:left;padding:0;transition:border-color .2s,box-shadow .2s}
.room:hover{box-shadow:var(--shadow)}
.room[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.room .ri{aspect-ratio:16/10;position:relative;max-width:100%;overflow:hidden}
.room .ri img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room .rb{padding:16px;display:grid;gap:4px}
.room .rb small{color:var(--muted);font-size:13px}
.room .rb .p{margin-top:8px;font-weight:600}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.t{border-collapse:collapse;width:100%;font-size:14px}
table.t th,table.t td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t thead th{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:var(--surface)}
table.t tbody tr:last-child td,table.t tbody tr:last-child th{border-bottom:0}
table.t tr.cur td{background:var(--soft)}
table.t b{font-weight:600}
.sbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;white-space:nowrap}
.sbadge.low{background:var(--good-soft);color:var(--good)}
.sbadge.mid{background:var(--soft);color:var(--ink2)}
.sbadge.peak{background:var(--warn-soft);color:var(--warn)}
.inc2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.inc2 div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.inc2 .y{color:var(--good);display:inline-flex;gap:4px;align-items:center}.inc2 .n{color:var(--muted)}
@media (max-width:560px){.inc2{grid-template-columns:minmax(0,1fr)}}
.sight{display:grid;gap:16px}
.sight div{display:grid;grid-template-columns:100px minmax(0,1fr) 150px;gap:16px;align-items:center;font-size:14px}
.bar{height:6px;background:var(--soft2);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:999px}
.sight small{color:var(--muted);font-size:13px}
@media (max-width:520px){.sight div{grid-template-columns:84px minmax(0,1fr)}.sight small{grid-column:2}}
.note{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.note .ic{margin-top:1px}
.months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.months div{display:grid;gap:6px;justify-items:center;font-size:11.5px;color:var(--muted)}
.months i{width:100%;height:44px;border-radius:6px;display:block;background:var(--soft);position:relative;overflow:hidden}
.months i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--h);background:var(--c-meals);opacity:var(--o,1)}
.months .cur{color:var(--ink);font-weight:600}
.months .cur i::after{background:var(--accent)}
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:700px){.loc{grid-template-columns:minmax(0,1fr)}}
.loc .rows{display:grid}
.loc .rows div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.loc .rows span{color:var(--muted)}.loc .rows b{font-weight:500;text-align:right}
.pol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.pol div{padding:14px 0;display:grid;gap:4px;font-size:14px;border-bottom:1px solid var(--line)}
.pol small{color:var(--muted);font-size:12.5px}.pol b{font-weight:500}
@media (max-width:560px){.pol{grid-template-columns:minmax(0,1fr)}}

.book{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr) + 24px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:28px;display:grid;gap:18px}
.book .bp{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.book .bp b{font-size:26px;font-weight:600;letter-spacing:-.025em}
.book .bp span{color:var(--muted);font-size:14px}
.bfields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line2);border-radius:14px;overflow:hidden}
.bfields label{display:grid;gap:2px;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);transition:background .2s;cursor:pointer}
.bfields label:hover{background:var(--soft)}
.bfields label + label{border-left:1px solid var(--line2)}
.bfields .full{grid-column:1/-1;border-top:1px solid var(--line2);border-left:0!important}
.bfields input,.bfields select{border:0;background:transparent;padding:0;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;width:100%;color:var(--ink)}
.bguests{border:1px solid var(--line2);border-radius:14px;padding:14px;display:grid;gap:12px}
.brk{display:grid;gap:10px;font-size:14px}
.brk div{display:flex;justify-content:space-between;gap:12px}
.brk .m{color:var(--muted)}
.brk .tot{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;font-weight:600;font-size:16px}
.bnote{font-size:13px;color:var(--muted);text-align:center}
.alert{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.5}
.alert .ic{color:var(--warn);margin-top:1px}
.alert.ok{background:var(--good-soft)}.alert.ok .ic{color:var(--good)}
.alert.info{background:var(--soft)}.alert.info .ic{color:var(--info)}
.mbar{display:none}
@media (max-width:960px){
  .book{position:static}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:16px;background:var(--glass);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border-top:1px solid var(--line);padding:12px max(var(--gut),env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(var(--gut),env(safe-area-inset-left,0px))}
  .mbar > div{display:grid;line-height:1.3}
  .mbar b{font-size:17px;font-weight:600}
  .mbar small{color:var(--muted);font-size:12.5px;white-space:nowrap}
}

/* ---------- overlays ---------- */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(17,19,17,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fade .2s}
.modal{background:var(--surface);color:var(--ink);border-radius:var(--r-xl);width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:var(--shadow-lg);position:relative;animation:popin .25s var(--ease)}
.modal.wide{width:min(980px,100%)}
.modal .mh{padding:32px 32px 4px;display:grid;gap:8px}
.modal .mh h2{font-family:var(--serif);font-weight:400;font-size:34px!important;letter-spacing:-.01em}
.modal .mb{padding:20px 32px 32px;display:grid;gap:20px}
.modal .x{position:absolute;top:16px;right:16px}
.overlay:has(.drawerm){place-items:stretch end;padding:0}
.modal.drawerm{width:min(440px,100%);max-height:none;height:100%;border-radius:var(--r-xl) 0 0 var(--r-xl);display:flex;flex-direction:column;animation:slidein .28s var(--ease)}
.drawerm .mb{flex:1;overflow-y:auto;gap:28px}
.dfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.dfoot .link{text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.overlay:has(.drawerm){place-items:end stretch}.modal.drawerm{width:100%;height:92vh;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:slideup .28s var(--ease)}.modal .mh{padding:28px 20px 4px}.modal .mb{padding:16px 20px 24px}.dfoot{padding-inline:20px}}
.form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.form label{display:grid;gap:6px;font-size:13px;font-weight:500}
.form .full{grid-column:1/-1}
.form input,.form textarea,.form select{border:1px solid var(--line2);background:var(--surface);border-radius:12px;padding:12px 14px;color:var(--ink);font-size:15px;width:100%;font-weight:400;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
@media (max-width:560px){.form{grid-template-columns:minmax(0,1fr)}}
.success{display:grid;gap:12px;justify-items:start;padding:8px 0}
.success .big{width:56px;height:56px;border-radius:50%;background:var(--good-soft);color:var(--good);display:grid;place-items:center}
.success h3{font-size:20px}
.ref{font-family:var(--mono);background:var(--soft);padding:4px 10px;border-radius:8px;font-size:13px}
.lb{position:relative;width:min(1200px,100%);display:grid;gap:12px;color:#fff}
.lb img{width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:var(--r)}
.lb .lbbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.lb .iconbtn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}
.overlay:has(.lb){background:rgba(10,11,10,.92)}
.tray{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 8px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px);animation:fade .25s var(--ease)}
.tray .avs{display:flex}
.tray .avs img{width:32px;height:32px;border-radius:50%;border:2px solid var(--surface);margin-left:-10px;object-fit:cover}
.tray .avs img:first-child{margin-left:0}
.tray b{font-size:13.5px;font-weight:500;white-space:nowrap}
.tray .clear{background:none;border:0;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:2px}
@media (max-width:480px){.tray .avs{display:none}.tray{padding-left:16px;gap:8px}}
@media (max-width:1100px){body:has(.mapfab) .tray{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media (max-width:960px){body:has(.mbar) .tray{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
.toast{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--hdr) + 16px + env(safe-area-inset-top,0px));z-index:110;background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);display:flex;gap:8px;align-items:center;max-width:calc(100vw - 32px);animation:fade .2s var(--ease)}

/* ---------- compare ---------- */
.cmpchart{display:grid;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;margin-bottom:24px}
table.cmp{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}
table.cmp th,table.cmp td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;background:var(--surface)}
table.cmp thead th{vertical-align:top;padding-top:20px}
table.cmp tbody th{font-weight:400;color:var(--muted);font-size:13.5px;white-space:nowrap;position:sticky;left:0;z-index:1}
table.cmp .grp th,table.cmp .grp td{background:var(--soft);font-weight:500;color:var(--ink);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-block:10px}
table.cmp td.yes{color:var(--good)}
table.cmp td.no{color:var(--muted)}
table.cmp td.best{background:var(--accent-soft);font-weight:600;color:var(--accent)}
table.cmp tr:last-child td,table.cmp tr:last-child th{border-bottom:0}
.chead{display:grid;gap:10px;min-width:190px}
.chead .mini{aspect-ratio:4/3;border-radius:12px;overflow:hidden;position:relative;max-width:100%}
.chead .mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chead a{text-decoration:none;font-size:16px;font-weight:500;letter-spacing:-.015em}
.chead small{color:var(--muted);font-size:13px;font-weight:400}
.chead .rmx{justify-self:start;background:none;border:0;padding:0;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:2px}
.lowest{font-size:11px;font-weight:600;margin-left:6px}

/* ---------- reserves ---------- */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:340px;gap:24px}
.bento .dcard{grid-column:span 4}
.bento .dcard:nth-child(1),.bento .dcard:nth-child(4){grid-column:span 7}.bento .dcard:nth-child(2),.bento .dcard:nth-child(3){grid-column:span 5}.bento .dcard:nth-child(5),.bento .dcard:nth-child(6){grid-column:span 6}
@media (max-width:900px){.bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:260px}.bento .dcard:nth-child(n){grid-column:auto}.bento .dcard:nth-child(1){grid-column:1/-1}}
@media (max-width:560px){.bento{grid-template-columns:minmax(0,1fr)}}
.dcard{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;display:flex;align-items:flex-end;isolation:isolate;background:var(--soft)}
.dcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease)}
.dcard:hover img{transform:scale(1.03)}
.dcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.55))}
.dcard .dc{padding:24px;display:grid;gap:4px;width:100%}
.dcard h3{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.01em}
.dcard p{font-size:14px;opacity:.9;max-width:44ch}
.dcard .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.tagw{font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff}
.rtable td.rname{font-weight:500;white-space:nowrap}
.rtable a{text-decoration:none}.rtable a:hover{text-decoration:underline}
.rhero{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:480px;display:flex;align-items:flex-end;color:#fff;isolation:isolate;margin-top:16px}
.rhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.rhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.5))}
.rhero .rc{padding:40px;display:grid;gap:10px;max-width:760px}
.rhero .kicker{color:rgba(255,255,255,.8)!important}
.rhero h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6vw,88px);letter-spacing:-.01em;line-height:1}
.rhero p{font-size:18px;opacity:.92}
@media (max-width:640px){.rhero{min-height:380px}.rhero .rc{padding:24px}}
.kfacts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-block:32px;border-block:1px solid var(--line)}
.kfacts div{padding:20px 20px 20px 0;display:grid;gap:4px}
.kfacts div + div{padding-left:20px;border-left:1px solid var(--line)}
.kfacts small{color:var(--muted);font-size:12.5px}
.kfacts b{font-size:20px;font-weight:500;letter-spacing:-.02em}
@media (max-width:1000px){.kfacts{grid-template-columns:repeat(3,minmax(0,1fr))}.kfacts div:nth-child(4){padding-left:0;border-left:0}.kfacts div:nth-child(n+4){border-top:1px solid var(--line)}}
@media (max-width:560px){.kfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.kfacts div:nth-child(n){padding-left:16px;border-left:1px solid var(--line);border-top:0}.kfacts div:nth-child(odd){padding-left:0;border-left:0}.kfacts div:nth-child(n+3){border-top:1px solid var(--line)}}
.rcols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start;padding-block:32px 72px}
@media (max-width:900px){.rcols{grid-template-columns:minmax(0,1fr);gap:40px}}
.rcols h3{font-size:18px;font-weight:500}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink2)}
.ticks .ic{color:var(--accent);margin-top:3px}
.rcols .chip{cursor:default}
.rcols .chip:hover{border-color:var(--line2)}

/* ---------- seasons ---------- */
.mpills{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.mpill{border:1px solid var(--line2);background:var(--surface);border-radius:12px;height:56px;display:grid;gap:4px;place-items:center;align-content:center;font-size:13.5px;font-weight:500;transition:border-color .2s,background .2s,color .2s}
.mpill:hover{border-color:var(--ink)}
.mpill[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.mpill i{width:6px;height:6px;border-radius:50%;display:block}
@media (max-width:760px){.mpills{grid-template-columns:repeat(6,minmax(0,1fr))}}
.mdetail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;margin-top:24px}
.mdetail .mi{position:relative;min-height:380px}
.mdetail .mi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mdetail .mi h2{position:absolute;left:32px;bottom:24px;color:#fff;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,72px);text-shadow:0 2px 24px rgba(0,0,0,.3)}
.mdetail .mc{padding:40px;display:grid;gap:20px;align-content:start}
.mstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.mstats div{padding:14px 12px 14px 0;display:grid;gap:4px}
.mstats div + div{padding-left:12px;border-left:1px solid var(--line)}
.mstats small{font-size:12px;color:var(--muted)}
.mstats b{font-size:18px;font-weight:500}
.dots{display:inline-flex;gap:3px;margin-top:6px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--soft2)}.dots i.on{background:var(--accent)}
@media (max-width:860px){.mdetail{grid-template-columns:minmax(0,1fr)}.mdetail .mc{padding:24px}.mstats{grid-template-columns:repeat(2,minmax(0,1fr))}.mstats div:nth-child(3){padding-left:0;border-left:0}.mstats div:nth-child(n+3){border-top:1px solid var(--line)}}
.chartwrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;overflow-x:auto}
.chartwrap svg{display:block;width:100%;min-width:640px;height:auto}
.ax{font-family:var(--sans);font-size:11px;fill:var(--muted)}
.gridl{stroke:var(--line);stroke-width:1}
.bestgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.bestc{padding:28px 24px 28px 0;display:grid;gap:8px;align-content:start}
.bestc + .bestc{padding-left:24px;border-left:1px solid var(--line)}
.bestc i{color:var(--accent);display:block}
.bestc small{font-size:12.5px}
.bestc b{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.01em;line-height:1.1}
.bestc p{font-size:14px;color:var(--muted)}
@media (max-width:900px){.bestgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bestc:nth-child(3){padding-left:0;border-left:0}.bestc:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.bestgrid{grid-template-columns:minmax(0,1fr)}.bestc:nth-child(n){padding-left:0;border-left:0}.bestc + .bestc{border-top:1px solid var(--line)}}

/* ---------- planner ---------- */
.plan{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:64px;align-items:start;padding-bottom:120px}
@media (max-width:1020px){.plan{grid-template-columns:minmax(0,1fr);gap:40px}}
.pctl{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.pctl label{display:grid;gap:6px;font-size:12.5px;font-weight:500;color:var(--muted)}
.pctl input,.pctl select{border:1px solid var(--line2);background:var(--surface);border-radius:12px;height:44px;padding:0 12px;font-size:14px;color:var(--ink);max-width:100%}
.pctl .bguests{margin-left:auto;display:flex;gap:28px;padding:8px 14px;align-items:center;flex-wrap:wrap}
.stops{display:grid}
.stop{display:grid;grid-template-columns:40px minmax(0,1fr);gap:20px}
.stop .rail{display:grid;justify-items:center;grid-template-rows:40px 1fr}
.stop .rail b{width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--line2);color:var(--ink);display:grid;place-items:center;font-weight:600;font-size:14px}
.stop .rail b.ap{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.stop .rail i{width:1px;background:var(--line2);display:block}
.stop:last-child .rail i{display:none}
.stop h4{font-weight:500}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:16px;transition:box-shadow .25s}
.scard:hover{box-shadow:var(--shadow)}
.scard .si{aspect-ratio:4/3;border-radius:10px;overflow:hidden;position:relative;max-width:100%}
.scard .si img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scard .sb{display:grid;gap:4px;min-width:0}
.scard .sb small{color:var(--muted);font-size:13px}
.scard .sb h4{font-size:16px}
.scard .sr{display:grid;gap:10px;justify-items:end}
.scard .ord{display:flex;gap:4px}
.scard .ord button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:var(--surface);display:grid;place-items:center;transition:border-color .2s}
.scard .ord button:hover:not(:disabled){border-color:var(--ink)}
.scard .ord button:disabled{opacity:.3;cursor:not-allowed}
@media (max-width:640px){.scard{grid-template-columns:96px minmax(0,1fr)}.scard .sr{grid-column:1/-1;justify-items:start;grid-auto-flow:column;align-items:center;justify-content:space-between}}
.hop{font-size:13px;color:var(--muted);padding:4px 0 16px;display:flex;gap:8px;align-items:center}
.addstop{border:1px dashed var(--line2);border-radius:var(--r);padding:20px;display:grid;gap:14px}
.addstop > b{font-weight:500}
.addstop .row{display:flex;gap:8px;flex-wrap:wrap}
.addstop select{flex:1;min-width:200px;border:1px solid var(--line2);background:var(--surface);border-radius:12px;height:44px;padding:0 12px;color:var(--ink);font-size:14px}
.sugg{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.psum{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr) + 24px);display:grid;gap:16px}
.psum .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;display:grid;gap:14px;box-shadow:var(--shadow)}
.psum .box h3{font-family:var(--serif);font-weight:400;font-size:30px!important;letter-spacing:-.01em}
.psum .kicker{color:var(--muted)}
.days{display:grid;margin-top:48px}
.days h3{font-family:var(--serif);font-weight:400;font-size:30px}
.day{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink2)}
.day b{font-weight:500;color:var(--ink)}
.day small{color:var(--muted);display:block;font-size:13px}

/* ---------- match ---------- */
.wizard{max-width:960px;margin:0 auto;padding-block:40px 120px;display:grid;gap:32px}
.wizard h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,64px)!important;letter-spacing:-.01em;line-height:1.02}
.wizard .kicker{color:var(--muted)}
.prog{height:3px;background:var(--soft2);border-radius:3px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--accent);transition:width .4s var(--ease)}
.qtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.qtile{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:0;overflow:hidden;text-align:left;display:grid;transition:border-color .2s,box-shadow .25s,transform .25s}
.qtile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.qtile[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.qtile .qi{aspect-ratio:16/10;position:relative;max-width:100%;overflow:hidden}
.qtile .qi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qtile .qb{padding:16px;display:grid;gap:2px}
.qtile .qb b{font-size:16px;font-weight:500}
.qtile .qb small{color:var(--muted);font-size:13px}
.wnav{display:flex;justify-content:space-between;gap:12px}
.mres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:860px){.mres{grid-template-columns:minmax(0,1fr)}}
.rescard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rescard .ri{position:relative;min-height:320px}
.rescard .ri img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rescard .rb{padding:40px;display:grid;gap:14px;align-content:center}
.rescard .rb h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,56px)}
.rescard .rb p{color:var(--muted)}
.rescard .kicker{color:var(--muted)!important}
.rescard .btn.gold{background:var(--accent);color:var(--accent-ink)}
.rescard .btn.white{border:1px solid var(--line2);box-shadow:none}
@media (max-width:760px){.rescard{grid-template-columns:minmax(0,1fr)}.rescard .rb{padding:24px}}

/* match v2 */
.qhead{display:grid;gap:12px}
.qstep{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mlive{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:5px 12px;border-radius:999px;background:var(--soft);animation:fade .3s var(--ease)}
.mlive b{color:var(--ink);font-weight:600}.mlive .ic{color:var(--accent)}
.qbody{display:grid;gap:22px}
.qbody .sub{color:var(--muted);font-size:16px;max-width:62ch;margin-top:-8px}
.qbody.in-fwd{animation:qin .42s var(--ease) both}.qbody.in-back{animation:qback .42s var(--ease) both}
@keyframes qin{from{opacity:0;transform:translateX(22px)}}
@keyframes qback{from{opacity:0;transform:translateX(-22px)}}
.in-up{animation:rise .5s var(--ease) both}.rescard.in-up{animation-delay:.06s}
.qtile{position:relative}
.qtick{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);opacity:0;transform:scale(.6);transition:opacity .2s,transform .25s var(--ease)}
[aria-pressed="true"] > .qtick{opacity:1;transform:none}
.qtile .qi img{transition:transform .6s var(--ease)}.qtile:hover .qi img{transform:scale(1.04)}
.qchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.qchip{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;text-align:left;padding:16px 46px 16px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:inherit;font:inherit;cursor:pointer;transition:border-color .2s,box-shadow .25s,transform .2s var(--ease),background .2s}
.qchip:hover{border-color:var(--line2);box-shadow:var(--shadow);transform:translateY(-1px)}
.qchip:active,.qtile:active{transform:scale(.985)}
.qchip i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--ink2);transition:background .2s,color .2s}
.qchip span{display:grid;gap:2px}.qchip b{font-weight:500;font-size:15.5px}.qchip small{color:var(--muted);font-size:13px;line-height:1.4}
.qchip .qtick{top:50%;margin-top:-13px;right:14px}
.qchip.multi .qtick{border-radius:8px}
.qchip.multi:not([aria-pressed="true"]) .qtick{opacity:1;transform:none;background:transparent;border:1.5px solid var(--line2);color:transparent}
.qchip[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.qchip[aria-pressed="true"] i{background:var(--accent);color:var(--accent-ink)}
.mhead{display:grid;gap:14px}
.mchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mchips span{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--ink2)}
.mchips .link{margin-left:4px;display:inline-flex;gap:6px;align-items:center}
.mmeta{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.mlist{display:grid;gap:5px;margin-top:2px}.mlist i{font-style:normal;display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px;align-items:start;line-height:1.35}.mlist .ic{margin-top:1px}
.why.miss{color:var(--muted)}.why.miss .ic{color:var(--warn)}
.mmore{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:760px){.mmore{grid-template-columns:minmax(0,1fr)}}
.mrow{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .25s,transform .2s var(--ease)}
.mrow:hover{border-color:var(--line2);box-shadow:var(--shadow);transform:translateY(-1px)}
.mrow img{width:64px;height:52px;border-radius:10px;object-fit:cover}
.mrow span{display:grid;gap:2px;min-width:0}.mrow b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpct{text-align:right;font-weight:600}.mpct small{font-weight:400}
.mrow > .ic{color:var(--muted)}
.rfit{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.rfit table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.rfit th,.rfit td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.rfit thead th{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.rfit tbody th{font-weight:500}.rfit tr:last-child > *{border-bottom:0}
.rfit td.y{color:var(--good)}.rfit td.n{color:var(--muted)}
.rfit a{color:inherit;text-decoration:none}.rfit a:hover{text-decoration:underline}

.facts .ftrav{grid-column:1/-1}
.facts .tsub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.facts .tsub a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.qchip.tapfx,.qtile.tapfx{animation:qpop .32s cubic-bezier(.3,1.5,.5,1)}
@keyframes qpop{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:none}}
/* match pill on lodge pages */
.lmatch{width:fit-content;display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 12px 6px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:13px;text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);transition:background .2s,gap .2s}
.lmatch:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface));gap:10px}
.lmatch b{font-weight:700}
/* match v3: wizard with live sidebar, deep results */
.wizard{max-width:1180px}
.mwiz{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.mmain{display:grid;gap:28px;min-width:0}
@media (max-width:1060px){.mwiz{grid-template-columns:minmax(0,1fr)}.mside{display:none}}
.mside{position:sticky;top:calc(var(--hdr) + 24px);display:grid;gap:14px}
.msc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:grid;gap:12px;animation:fade .3s var(--ease)}
.msc .kicker{color:var(--muted)}
.mans{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mans button{all:unset;cursor:pointer;display:grid;gap:1px;padding:8px 10px;margin:0 -10px;border-radius:10px;width:calc(100% + 20px);box-sizing:border-box;transition:background .2s}
.mans button:hover{background:var(--soft)}
.mans small{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mans b{font-weight:500;font-size:14px;line-height:1.35}
.mlead{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mlead li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;animation:fade .35s var(--ease)}
.mlead img{width:44px;height:36px;border-radius:8px;object-fit:cover}
.mlead span{display:grid;min-width:0}.mlead b{font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mlead small{font-size:12px;color:var(--muted)}
.mlead em{font-style:normal;font-weight:600;font-size:13px}
.qdots{display:flex;gap:6px}
.qdots button{flex:1;height:4px;border:0;padding:0;border-radius:4px;background:var(--soft2);cursor:pointer;transition:background .3s var(--ease),transform .2s}
.qdots button.done{background:color-mix(in srgb,var(--accent) 55%,var(--soft2))}
.qdots button.cur{background:var(--accent)}
.qdots button:not(:disabled):hover{transform:scaleY(1.8)}
.qdots button:disabled{cursor:default}
.qkey{position:absolute;top:12px;left:12px;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink)}
.khint{font-size:12.5px;color:var(--muted);align-self:center}
.khint kbd{font:inherit;font-size:11.5px;padding:1px 6px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:5px;background:var(--surface);color:var(--ink2)}
@media (hover:none),(max-width:760px){.khint,.qkey{display:none}}
.mtop{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
@media (max-width:900px){.mtop{grid-template-columns:minmax(0,1fr)}}
.mti{position:relative;display:block;min-height:320px;overflow:hidden}
.mti img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mti:hover img{transform:scale(1.03)}
.mbadge{position:absolute;left:16px;bottom:16px;display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:12.5px;font-weight:600;box-shadow:var(--shadow)}
.mtb{padding:32px;display:grid;gap:20px;align-content:start}
@media (max-width:600px){.mtb{padding:20px}}
.mtt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.mtt h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.05}
@media (max-width:600px){.mtt{gap:14px}.mtt .ring{width:68px;height:68px}.mtt .ring b{font-size:20px}}
.mtt h2 a{color:inherit;text-decoration:none}
.mtt .where{font-size:12.5px;color:var(--muted)}
.ring{--p:0;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--soft2) 0);position:relative;animation:ringin 1s var(--ease) both}
.ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}
.ring b{position:relative;font-size:24px;font-weight:600;letter-spacing:-.02em}.ring small{font-size:12px;font-weight:500;color:var(--muted)}
@property --p{syntax:"<number>";inherits:false;initial-value:0}
@keyframes ringin{from{--p:0}}
.mwhy{color:var(--ink2);font-size:15.5px;line-height:1.6}
.cbars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px}
.cbar{display:grid;grid-template-columns:96px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px}
.cbar span{color:var(--muted)}
.cbar i{height:6px;border-radius:6px;background:var(--soft2);overflow:hidden}
.cbar i b{display:block;height:100%;background:var(--accent);border-radius:6px;animation:barin .9s var(--ease) both}
@keyframes barin{from{width:0}}
.cbar em{font-style:normal;font-weight:600;text-align:right}
.mcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:600px){.mcols{grid-template-columns:minmax(0,1fr)}}
.mcols ul{margin:0;padding:0}
.mcols h4{font-size:13px;font-weight:600;display:flex;gap:6px;align-items:center;margin-bottom:8px}
.mtrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media (max-width:700px){.mtrip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mtrip > div{background:var(--soft);padding:14px;display:grid;gap:2px;min-width:0}
.mtrip small{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mtrip b{font-weight:600;font-size:15px}.mtrip span{font-size:12.5px;color:var(--muted)}
.mact{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mheart[aria-pressed="true"]{color:#C2453A}
.mmx th small{display:block;font-size:11.5px;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px}
.mmx thead th{vertical-align:bottom}
.mmx thead th a{color:var(--ink);font-size:13.5px;text-transform:none;letter-spacing:0;font-weight:600;white-space:normal}
.mmx tbody th{white-space:normal;min-width:200px}
.mmx td{white-space:normal;font-size:12.5px;min-width:130px}
.mmx td.n span{color:var(--muted)}
.mmx .star{color:#B8862B;margin-right:6px;vertical-align:-2px}
.mmx .mmprice th,.mmx .mmprice td{background:var(--soft);font-weight:600}
.mways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:860px){.mways{grid-template-columns:minmax(0,1fr)}}
.mway{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;box-shadow:var(--shadow)}
@media (max-width:860px){.mway{aspect-ratio:16/9}}
.mway img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mway:hover img{transform:scale(1.05)}
.mway::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.72))}
.mwt{position:absolute;left:18px;right:70px;bottom:16px;z-index:1;display:grid;gap:2px}
.mwt small{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#F7C873}
.mwt b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.mwt span{font-size:13px;opacity:.85}
.mway em{position:absolute;right:16px;bottom:18px;z-index:1;font-style:normal;font-weight:600;font-size:15px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mcombo{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto;gap:28px;align-items:center;padding:28px;border-radius:var(--r-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));border:1px solid var(--line)}
@media (max-width:980px){.mcombo{grid-template-columns:minmax(0,1fr)}}
.mcombo h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1;margin:6px 0 8px}
.mcombo p{color:var(--muted);font-size:14.5px}
.mcombo .kicker{color:var(--accent)}
.mcpair{display:flex;align-items:center;gap:10px}
.mcpair span{display:grid;gap:2px;width:130px}
.mcpair img{width:130px;height:90px;object-fit:cover;border-radius:12px;margin-bottom:4px}
.mcpair b{font-size:13px;font-weight:500;line-height:1.3}.mcpair small{font-size:12px;color:var(--muted)}
.mcpair i{color:var(--muted)}
.mcombo .btn.gold{background:var(--accent);color:var(--accent-ink)}
.mtime{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:28px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}
@media (max-width:860px){.mtime{grid-template-columns:minmax(0,1fr);padding:20px}}
.mtime h3{font-family:var(--serif);font-weight:400;font-size:30px;margin:6px 0 10px}
.mtime p{color:var(--ink2);font-size:14.5px;line-height:1.6;margin-bottom:10px}
.mtime .kicker{color:var(--muted)}
.mnote{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13.5px!important}
.mtg{display:grid;gap:16px;align-content:start}
.mtg small{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}

/* guides */
.gidx{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gidx .gcard.big{grid-column:span 2;grid-row:span 2}
@media (max-width:900px){.gidx{grid-template-columns:minmax(0,1fr)}.gidx .gcard.big{grid-column:auto;grid-row:auto}}
.gcard{position:relative;display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .2s}
.gcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--line2)}
.gcard .gi{position:relative;aspect-ratio:16/10;overflow:hidden;display:block}
.gcard.big .gi{aspect-ratio:auto;min-height:340px;height:100%}
.gcard .gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gcard:hover .gi img{transform:scale(1.05)}
.gcard .gt{display:grid;gap:6px;padding:20px;align-content:start}
.gcard .gt small{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.gcard .gt b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.12}
.gcard.big .gt b{font-size:clamp(30px,3vw,40px)}
.gcard .gt span{color:var(--muted);font-size:14.5px;line-height:1.5}
.gidx.small .gcard .gt b{font-size:23px}
.ghero{position:relative;min-height:440px;display:grid;align-items:end;color:#fff;overflow:hidden;margin-top:calc(-1 * var(--hdr))}
.ghero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s linear both}
.ghero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,10,.25),rgba(10,12,10,.15) 40%,rgba(10,12,10,.78))}
.ghc{position:relative;z-index:1;padding-block:calc(var(--hdr) + 60px) 48px;display:grid;gap:14px;max-width:900px}
.ghc h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.01em}
.ghc p{font-size:clamp(16px,1.6vw,19px);opacity:.9;max-width:60ch}
.gmeta{font-size:13px;opacity:.8}
.crumbs.light,.crumbs.light a{color:rgba(255,255,255,.85)}
.gwrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding-block:56px 20px;align-items:start}
@media (max-width:980px){.gwrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px 10px}.gtoc{display:none!important}}
.gtoc{position:sticky;top:calc(var(--hdr) + 24px);display:grid;gap:4px}
.gtoc .kicker{color:var(--muted);margin-bottom:8px}
.gtoc a{font-size:14px;color:var(--muted);text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid var(--line);transition:color .2s,border-color .2s}
.gtoc a:hover{color:var(--ink);border-color:var(--accent)}
.gbody{display:grid;gap:44px;max-width:760px}
.gbody section{display:grid;gap:16px;scroll-margin-top:calc(var(--hdr) + 20px)}
.gbody h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.1}
.gbody p{font-size:16.5px;line-height:1.7;color:var(--ink2)}
.gbody a{color:var(--accent);text-underline-offset:3px}
.gul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.gul li{position:relative;padding-left:22px;font-size:16px;line-height:1.6;color:var(--ink2)}
.gul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.gnote{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:14px!important;color:var(--muted)!important;line-height:1.5!important}
.gkey{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.gkey > div{padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);display:grid;gap:4px}
.gkey b{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--accent)}
.gkey span{font-size:13.5px;color:var(--muted);line-height:1.45}
.gtab table{font-size:14px}.gtab th{white-space:normal}.gtab td{white-space:normal;vertical-align:top}
.gtab tbody th{font-weight:500;text-align:left}
.gclim{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;height:170px;padding:12px 0}
.gclim div{display:grid;grid-template-rows:1fr auto auto;height:100%;gap:4px;justify-items:center}
.gclim i{width:100%;align-self:end;height:var(--h);min-height:3px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--river),color-mix(in srgb,var(--river) 60%,var(--accent)));animation:barin2 .9s var(--ease) both}
@keyframes barin2{from{height:0}}
.gclim b{font-size:11.5px;font-weight:600}.gclim small{font-size:11.5px;color:var(--muted)}
.gcap{font-size:13.5px!important;color:var(--muted)!important}
.gsrc ol{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px;color:var(--muted)}
.grid.gl{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.grid.gl{grid-template-columns:minmax(0,1fr)}}

/* ---------- partners ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){.tiers{grid-template-columns:minmax(0,1fr)}}
.tier{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:32px;display:grid;gap:16px;align-content:start}
.tier .kicker{color:var(--muted)!important}
.tier.feat{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--ink);text-transform:none;letter-spacing:normal;font-size:inherit;font-weight:inherit;line-height:inherit}
.tier .price{font-family:var(--serif);font-size:48px;font-weight:400;letter-spacing:-.01em;line-height:1}
.tier .price small{font-family:var(--sans);font-size:15px;color:var(--muted)}
.tier.feat .muted,.tier.feat .ticks li{color:var(--ink2)}
.ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
@media (max-width:860px){.ben{grid-template-columns:minmax(0,1fr)}}
.ben div{display:grid;gap:10px;border-top:1px solid var(--line2);padding-top:20px}
.ben i{color:var(--accent)}
.ben h3{font-size:18px}

/* ---------- footer ---------- */
footer{background:var(--soft);color:var(--muted);padding-block:80px 120px;font-size:14px;border-top:1px solid var(--line)}
.fcols{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:36px}
.fcols h4{color:var(--ink);margin-bottom:16px;font-size:14px;font-weight:500}
.fcols a{display:block;text-decoration:none;padding:4px 0;transition:color .2s}
.fcols a:hover{color:var(--ink)}
.fbrand .brand{color:var(--ink)}
.fnote{border-top:1px solid var(--line2);margin-top:56px;padding-top:24px;display:grid;gap:8px;font-size:13px;max-width:100ch}
@media (max-width:1100px) and (min-width:861px){.fcols{grid-template-columns:repeat(4,minmax(0,1fr))}.fbrand{grid-column:1/-1}}
@media (max-width:860px){.fcols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fbrand{grid-column:1/-1}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* real-coordinate map */
.land{fill:var(--map-land)}
.res.minor{fill:var(--map-res);opacity:.6}
.river.minor{opacity:.5;stroke-width:1.4}
.rivlab{font-family:var(--sans);font-size:8.5px;font-style:italic;fill:var(--info);opacity:.85;pointer-events:none}
.reslabel.minor{font-size:8px;opacity:.75}
.gate rect{fill:var(--surface);stroke:var(--muted);stroke-width:1}
.gate text,.place text{font-family:var(--sans);font-size:8.5px;fill:var(--muted);pointer-events:none}
.place circle{fill:var(--muted)}
.ap path{fill:var(--muted)}
.ap.on path{fill:var(--accent)}
.ap text{font-size:9px}
.scale path{stroke:var(--muted);stroke-width:1.2;fill:none}
.scale text,.north text{font-family:var(--sans);font-size:8.5px;fill:var(--muted)}
.north path{fill:var(--muted)}
.pin .dot{fill:var(--ink);stroke:var(--surface);stroke-width:1.5}
.pin .lead{stroke:var(--muted);stroke-width:1}
.srcs{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.srcs a{color:var(--ink)}
.phtag.rep{border-style:solid;border-color:rgba(255,255,255,.35)}
.gal2 > button:first-child .phtag.rep{width:auto;padding:0 10px 0 8px}.gal2 > button:first-child .phtag.rep span{display:inline}

/* ===== map v2 ===== */
.res{stroke:var(--surface);stroke-width:1.6;vector-effect:non-scaling-stroke;transition:fill .25s,opacity .25s}
.res.priv{fill:var(--map-res)}
.res.park{fill:var(--map-park)}
.res.click{cursor:pointer}
.res.click:hover{fill:var(--map-on)}
.res.park.click:hover{fill:var(--map-park);filter:brightness(.97)}
.res.on{fill:var(--map-on)}
.res.minor{opacity:.55}
.ctxres{fill:var(--map-res);opacity:.42;stroke:var(--surface);stroke-width:1.2;vector-effect:non-scaling-stroke}
.ctxlabel{font-family:var(--sans);font-size:7.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;fill:var(--ink2);opacity:.45;pointer-events:none}
.river{fill:none;stroke:var(--river);stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.river.minor{stroke-width:1.1;opacity:.6}
.route{vector-effect:non-scaling-stroke}
.border{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;opacity:.6}
.country{font-family:var(--sans);font-size:8px;letter-spacing:.3em;fill:var(--muted);opacity:.7}
.reslabel{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:var(--ink2);opacity:.62;pointer-events:none}
.reslabel.big{font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:.02em;text-transform:none;opacity:.55;font-style:italic}
.reslabel.minor{font-size:7.5px}
.rivlab{font-family:var(--serif);font-style:italic;font-size:10px;fill:var(--river);opacity:1;pointer-events:none;filter:brightness(.7)}
.ap circle{fill:var(--surface);stroke:var(--line2);stroke-width:1}
.ap path{fill:var(--ink2)}
.ap text{font-family:var(--sans);font-size:9.5px;font-weight:500;fill:var(--ink2)}
.ap.on circle{fill:var(--accent);stroke:var(--accent)}
.ap.on path{fill:var(--accent-ink)}
.gate rect{fill:var(--surface);stroke:var(--ink2);stroke-width:1}
.gate text,.place text{font-family:var(--sans);font-size:8.5px;fill:var(--muted)}
.place circle{fill:var(--muted)}
.scale path{stroke:var(--ink2);stroke-width:1.2;fill:none}
.scale text{font-family:var(--sans);font-size:9px;fill:var(--ink2)}
.hatch{stroke:var(--line2);stroke-width:1}
.pin rect{fill:var(--surface);stroke:rgba(25,28,25,.08);stroke-width:.6;filter:drop-shadow(0 2px 6px rgba(25,28,25,.18))}
.pin text{font-size:11px;font-weight:600}
.pin .dot{fill:var(--ink);stroke:var(--surface);stroke-width:1.8}
.pin .lead{stroke:var(--ink2);stroke-width:.9;opacity:.5}
.pin.hot .dot,.pin.sel .dot{fill:var(--accent)}
.stopn circle{fill:var(--accent);stroke:var(--surface);stroke-width:2}
#s-map{cursor:grab;touch-action:none;height:100%}
#s-map.dragging{cursor:grabbing}
#s-map svg{height:100%;width:100%}
.mapwrap,.lmap{position:relative}
.mapzoom{position:absolute;top:14px;right:14px;z-index:5;display:grid;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}
.mz{width:38px;height:38px;border:0;background:none;display:grid;place-items:center;color:var(--ink);transition:background .15s}
.mz:hover{background:var(--soft)}
.mz + .mz{border-top:1px solid var(--line)}
.maplegend{position:absolute;left:14px;bottom:14px;z-index:4;display:flex;flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 28px);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:11.5px;color:var(--ink2)}
.maplegend span{display:inline-flex;align-items:center;gap:6px}
.maplegend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.lg-park{background:var(--map-park);border:1px solid var(--line2)}
.lg-priv{background:var(--map-res);border:1px solid var(--line2)}
.lg-ap{background:var(--surface);border:1px solid var(--line2);border-radius:50%!important}
.lg-gate{width:8px!important;height:8px!important;border:1px solid var(--ink2);transform:rotate(45deg);border-radius:1px!important}
.lmap .maplegend{position:static;margin:10px;border:0;background:none;backdrop-filter:none;padding:0}
.mpop{left:50%;top:50%}
.mapwrap .maplegend{bottom:14px}
@media (max-width:1100px){.split.showmap .maplegend{bottom:76px}}

/* ===== premium polish v6 ===== */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.eyebrow.light{color:rgba(255,255,255,.8)}
.trust{border-bottom:1px solid var(--line);background:var(--bg)}
.trustg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:56px}
.trustg > div{display:grid;gap:8px;padding:0 28px;border-left:1px solid var(--line)}
.trustg > div:first-child{padding-left:0;border-left:0}
.trustg b{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,56px);line-height:1;letter-spacing:-.01em}
.trustg span{font-size:14px;color:var(--muted);max-width:28ch;line-height:1.5}
@media (max-width:980px){.trustg{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}.trustg > div:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:980px){section.blk.intro,.intro{padding-top:72px!important}}
.wfeat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.wf{border:0;padding:0;background:none;text-align:left;display:grid;gap:14px;color:var(--ink)}
.wfi{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--soft2)}
.wfi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.wf:hover .wfi img{transform:scale(1.03)}
.wft{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.wft b{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.01em}
.wft small{color:var(--muted);font-size:13px;display:inline-flex;gap:6px;align-items:center}
.wchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:40px;padding-top:28px;border-top:1px solid var(--line2)}
.wchips .muted{font-size:14px;margin-right:6px}
@media (max-width:900px){.wfeat{grid-template-columns:repeat(2,minmax(0,1fr))}}
.atlas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center}
.atlas-t{display:grid;gap:18px;align-content:start}
.atlas-t .sub2{margin-top:0}
.atlas-t .btn{justify-self:start;margin-top:12px}
.rlist{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line)}
.rlist a{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
.rlist a:hover{background:var(--soft);padding-inline:12px}
.rlist b{font-weight:500;font-size:16px;display:block}
.rlist small{color:var(--muted);font-size:13px}
.rlist .num{font-size:14px;color:var(--ink2)}
.atlas-m{border-radius:var(--r-xl);box-shadow:var(--shadow)}
.atlas-m svg{max-height:760px}
@media (max-width:980px){.atlas{grid-template-columns:minmax(0,1fr);gap:40px}}
.pbanner{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:440px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.pbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pbanner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,14,10,.72),rgba(12,14,10,.25) 60%,rgba(12,14,10,0))}
.pbt{padding:56px;display:grid;gap:14px;max-width:560px}
.pbt h2{color:#fff}
.pbt p{color:rgba(255,255,255,.85);font-size:16.5px}
.pbt .btn{justify-self:start;margin-top:8px}
@media (max-width:640px){.pbt{padding:28px}.pbanner{min-height:380px}}
.rooms2{display:grid;border-top:1px solid var(--line)}
.room2{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink);transition:background .2s,padding .2s}
.room2:hover{background:var(--soft);padding-inline:12px}
.rr{display:flex;gap:14px;align-items:flex-start;min-width:0}
.rd{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line2);flex:none;margin-top:3px;transition:border .2s}
.room2[aria-pressed="true"] .rd{border:5px solid var(--accent)}
.rr b{font-weight:500;font-size:16px;display:block}
.rr small,.rp small{color:var(--muted);font-size:13px;display:block}
.rp{text-align:right;flex:none}
.rp b{font-weight:600;font-size:16px}
.rooms2 .note{margin-top:14px}
.sec-head .eyebrow{margin-bottom:2px}
footer .fbrand p{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--ink);max-width:22ch}
/* polish fixes v7 */
.fcols a.brand{display:flex;padding:0}
.tool{align-content:start}
.loc{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media (max-width:700px){.loc{grid-template-columns:minmax(0,1fr)}}

/* ---------- v8: hero slideshow, collections, reveal ---------- */
.hslides{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#2A2520}
.hslides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s var(--ease);transform:scale(1.04)}
.hslides img.on{opacity:1}
@media (prefers-reduced-motion:no-preference){.hslides img.on{animation:kb 9s linear both}}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.11)}}
.hero3::after{background:linear-gradient(180deg,rgba(10,10,8,.5) 0%,rgba(10,10,8,.08) 26%,rgba(10,10,8,.05) 46%,rgba(10,10,8,.62) 100%)}
.hmeta{position:absolute;right:max(var(--gut),env(safe-area-inset-right,0px));top:calc(var(--hdr) + 16px);display:flex;align-items:center;gap:14px;z-index:3}
.hmeta .phtag{position:static;width:auto;padding:0 12px 0 9px}
.hmeta .phtag span{display:inline}
.hdots{display:flex;gap:6px}
.hdots button{width:22px;height:3px;border:0;border-radius:2px;background:rgba(255,255,255,.4);padding:0;cursor:pointer;transition:background .3s,width .3s}
.hdots button[aria-pressed="true"]{background:#fff;width:34px}
.hkick{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.hkick::before{content:"";width:28px;height:1px;background:rgba(255,255,255,.7)}
@media (prefers-reduced-motion:no-preference){
  .h3c > *{animation:rise .9s var(--ease) both}
  .h3c > :nth-child(2){animation-delay:.08s}.h3c > :nth-child(3){animation-delay:.16s}
  .h3s{animation:rise .9s .24s var(--ease) both}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:760px){.hmeta .phtag span{display:none}.hmeta .phtag{width:26px;padding:0;justify-content:center}.hkick{font-size:11px;letter-spacing:.06em}}

.colls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.coll{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:left;color:inherit;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.coll:hover{border-color:var(--line2);box-shadow:0 14px 34px -18px rgba(25,28,25,.35);transform:translateY(-2px)}
.coll .ci{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--soft)}
.coll .ci img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.coll:hover .ci img{transform:scale(1.06)}
.coll .ct{display:grid;gap:4px;padding-right:8px}
.coll b{font-size:17px;font-weight:500;letter-spacing:-.015em}
.coll small{color:var(--muted);font-size:13.5px;line-height:1.45}
.coll .cn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:500;color:var(--accent)}
.coll .cn .ic{transition:transform .25s var(--ease)}
.coll:hover .cn .ic{transform:translateX(3px)}
@media (max-width:1000px){.colls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.colls{grid-template-columns:minmax(0,1fr);gap:12px}.coll{grid-template-columns:88px minmax(0,1fr)}}

.subnav a.on{color:var(--ink);border-color:var(--ink)}
.pin .hit{fill:transparent;stroke:none}
.pin .dot.lone{stroke:var(--surface);stroke-width:2}
.pin.nl:hover .dot.lone,.pin.nl.hot .dot.lone,.pin.nl.sel .dot.lone{fill:var(--accent);r:6}
@media (max-width:760px){.hk-x{display:none}}

/* where to book */
.booklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.bk{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.bk:hover{border-color:var(--line2);box-shadow:0 10px 26px -16px rgba(25,28,25,.35);transform:translateY(-1px)}
.bkl{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:600;font-size:16px;background:var(--soft);color:var(--ink)}
.bk-official .bkl{background:var(--accent);color:var(--accent-ink)}
.bkt{display:grid;gap:2px;min-width:0}.bkt b{font-weight:500;font-size:15px}.bkt small{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bktag{font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--muted);white-space:nowrap}
.bk-official .bktag{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.bk > .ic{color:var(--muted)}
.modal .booklist{grid-template-columns:minmax(0,1fr)}
@media (max-width:620px){.booklist{grid-template-columns:minmax(0,1fr)}.bk{grid-template-columns:36px minmax(0,1fr) auto}.bk .bktag{display:none}}

/* date status */
.avail{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;line-height:1.3;color:var(--muted);margin-top:2px}
.avail i{width:7px;height:7px;border-radius:50%;flex:none;background:currentColor}
.avail.a-ok{color:#2F6B4A}.avail.a-warn{color:#9A6A14}.avail.a-no{color:#A23B2F}
:root[data-theme="dark"] .avail.a-ok{color:#8CC7A4}:root[data-theme="dark"] .avail.a-warn{color:#E0B565}:root[data-theme="dark"] .avail.a-no{color:#F08A7C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .avail.a-ok{color:#8CC7A4}:root:not([data-theme="light"]) .avail.a-warn{color:#E0B565}:root:not([data-theme="light"]) .avail.a-no{color:#F08A7C}}
.nop{font-size:13.5px;font-weight:500;color:var(--muted)}
.nop2{font-size:22px!important;font-weight:500;letter-spacing:-.01em}
.bstat{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:12px 14px;border-radius:14px;background:var(--soft);font-size:13.5px;align-items:start}
.bstat span{display:grid;gap:3px}.bstat small{color:var(--muted);font-size:12.5px;line-height:1.45}
.bstat .ic{margin-top:1px}
.bstat.a-ok{background:color-mix(in srgb,#2F6B4A 9%,var(--surface))}.bstat.a-ok .ic,.bstat.a-ok b{color:#2F6B4A}
.bstat.a-warn{background:color-mix(in srgb,#C08A2A 12%,var(--surface))}.bstat.a-warn .ic{color:#9A6A14}
.bstat.a-no{background:color-mix(in srgb,#A23B2F 10%,var(--surface))}.bstat.a-no .ic,.bstat.a-no b{color:#A23B2F}
.warnt{color:#9A6A14;font-size:12.5px}
.fpill.avp .muted{font-size:12px;margin-left:2px}
.fpill.avp.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fpill.avp.on .muted{color:inherit;opacity:.8}
.mpt .avail{margin-top:4px}
.pin.np rect{fill:var(--soft)}.pin.np text{fill:var(--muted)}
@media (max-width:900px){.fpill.avp{display:none}}
.shr{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.shr .sortw{margin-left:0}
.shead > .shr{display:flex}
.ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ages label,.natsel{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.ages select,.natsel select{border:1px solid var(--line2);border-radius:10px;padding:8px 10px;background:var(--bg);color:var(--ink);font-size:14px}
.bguests .natsel,.bguests .ages{padding-top:4px}
.brk .m.sm span{font-size:12.5px;color:var(--muted)}
.addstop{min-width:0}.addstop .row{display:grid;grid-template-columns:minmax(0,1fr) auto}.addstop .row select{min-width:0;width:100%}
.bk.off{opacity:.55;cursor:default;background:transparent;border-style:dashed}
.bk.off:hover{transform:none;box-shadow:none}
.bk.dim{opacity:.6}
#bk .bstat,.modal .bstat{margin-bottom:12px}
/* map context layers */
.moz{fill:var(--ink);opacity:.035;stroke:none}
.lebombo{font-family:var(--serif);font-style:italic;font-size:11px;fill:var(--muted);opacity:.75;letter-spacing:.06em}
.road{fill:none;stroke:#C6B99B;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;opacity:.9}
.road.main{stroke:#B9A57E;stroke-width:1.6;stroke-dasharray:none}
.roadlab rect{fill:var(--surface);stroke:#B9A57E;stroke-width:1}
.roadlab text{font-size:8.5px;font-weight:600;fill:var(--ink2)}
.town rect{fill:var(--surface);stroke:var(--muted);stroke-width:1.2}
.town text{font-size:9.5px;fill:var(--muted)}
:root[data-theme="dark"] .road{stroke:#5A5444}:root[data-theme="dark"] .road.main{stroke:#7A6E54}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .road{stroke:#5A5444}:root:not([data-theme="light"]) .road.main{stroke:#7A6E54}:root:not([data-theme="light"]) .moz{opacity:.08}}
.tripbox{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--soft);margin-bottom:12px}
.tripbox b{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.tripbox pre{margin:0;font-family:inherit;font-size:13px;line-height:1.55;color:var(--ink2);white-space:pre-wrap}

/* v13 polish: dark footer, card type chip, refined details */
footer{background:#151815;color:#C9CCC6;border-top:0}
footer .fbrand p{color:#F2F3EF}
footer .brand,footer .fbrand .brand{color:#F2F3EF}
footer h4{color:#F2F3EF}
footer .fcols a{color:#A9AEA7}
footer .fcols a:hover{color:#fff}
footer .fnote{border-color:rgba(255,255,255,.1)}
footer .fnote p{color:#8E938C}
.fbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0 30px;margin-top:8px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#8E938C}
.ctype{position:absolute;left:12px;bottom:12px;z-index:3;font-size:11.5px;font-weight:500;letter-spacing:.01em;padding:5px 10px;border-radius:999px;background:rgba(17,19,17,.5);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.card .media img{transition:transform .8s var(--ease)}
.card:hover .media img{transform:scale(1.045)}
.card .info h3{letter-spacing:-.015em}
.hdr.solid{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.sec-head h2,.page-head h1{text-wrap:balance}
p,.sub,.sub2{text-wrap:pretty}
footer{padding-bottom:0}
footer .fcols h4,footer h4{color:#F2F3EF!important;opacity:1}
.inset .ibg{fill:var(--surface);opacity:.92;stroke:var(--line2);stroke-width:8}
.inset .ipark{fill:var(--map-park);stroke:none}
.inset .ipriv{fill:var(--map-on);stroke:none}
.inset .iview{fill:none;stroke:var(--accent);stroke-width:14}
.inset{pointer-events:none}

/* wildlife guide panel */
.apanel{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:32px}
.api{border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;background:var(--soft)}
.api img{width:100%;height:100%;object-fit:cover}
.apb{display:grid;gap:12px;align-content:start}
.apb h2{font-size:clamp(30px,3vw,40px);line-height:1}
.apfig{font-size:16px;line-height:1.5;color:var(--ink)}
.apf{list-style:none;display:grid;gap:6px;padding:0;margin:0}
.apf li{display:flex;gap:8px;font-size:14px;color:var(--ink2)}.apf .ic{color:var(--accent);margin-top:3px;flex:none}
.apg{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;padding-top:6px;border-top:1px solid var(--line)}
.apg small{display:block;font-size:12px;color:var(--muted);margin:8px 0 6px}
.apg p{font-size:14px;line-height:1.5}
.apb .note a{color:inherit}
@media (max-width:760px){.apanel{grid-template-columns:minmax(0,1fr)}.api{aspect-ratio:16/9}.apg{grid-template-columns:minmax(0,1fr)}}
.wft small.wfl{color:var(--muted)}
.wft{flex-wrap:wrap}
.howm{margin:28px 0 90px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.howm summary{cursor:pointer;padding:14px 18px;display:flex;gap:8px;align-items:center;font-weight:500;font-size:14.5px}
.howb{padding:0 18px 18px;display:grid;gap:10px;font-size:14px;line-height:1.55}
.howb ul{display:grid;gap:8px;padding-left:18px;margin:0}
.wft{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:baseline}
.wft small:not(.wfl){grid-column:1/-1;grid-row:2;font-size:12.5px;color:var(--muted)}
@media (max-width:620px){.qtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qtile .qi{aspect-ratio:4/3}.qtile .qb{padding:12px}.qtile .qb b{font-size:14.5px}.qtile .qb small{font-size:12px}.qchips{grid-template-columns:minmax(0,1fr);gap:8px}.qchip{padding:12px 44px 12px 12px;grid-template-columns:38px minmax(0,1fr)}.qchip i{width:38px;height:38px}.wizard{gap:24px;padding-block:24px 96px}.mrow{grid-template-columns:52px minmax(0,1fr) auto}.mrow > .ic{display:none}.mrow img{width:52px;height:44px}}
.nw{white-space:nowrap}

/* map hover tooltip */
.maptip{position:absolute;z-index:6;pointer-events:none;transform:translate(14px,-50%);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:7px 11px;box-shadow:0 8px 24px rgba(20,24,18,.12);display:grid;gap:1px;font-size:12px;line-height:1.35;white-space:nowrap;animation:tipin .14s ease-out}
.maptip b{font-weight:600;color:var(--ink)}
.maptip span{color:var(--muted);font-size:11px}
@keyframes tipin{from{opacity:0;transform:translate(10px,-50%)}to{opacity:1;transform:translate(14px,-50%)}}
#s-map.dragging{cursor:grabbing}
#s-map{cursor:grab}

.opth{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:12px 12px 4px}
.opth:first-child{padding-top:4px}
.opt.sub{padding-left:24px}
.fpop .optlist{max-height:min(62vh,540px);overflow:auto;overscroll-behavior:contain}

.nopin{position:absolute;left:12px;right:12px;top:12px;display:flex;gap:8px;align-items:flex-start;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px;color:var(--ink2);z-index:3}

/* ===== v27: preferences, true totals, inclusions grid, pros & cons, history, checklist, print ===== */
.prefb{gap:6px;font-size:13px;font-weight:500;letter-spacing:.01em}
.prefb .ic{width:15px;height:15px}
@media (max-width:1180px){.hpill.prefb .num{display:inline}}
@media (max-width:520px){.hpill.prefb .num{display:none}}
.prefm .mb small.muted{display:block;margin-top:8px;font-size:12.5px;line-height:1.5}
.drawer .panel .hpill{margin-top:14px;justify-content:flex-start;font-size:14px;height:auto;padding:12px 14px;border:1px solid var(--line2);text-align:left}
.tripbar .pmode{margin-left:2px}.tripbar .pmode button{height:30px;padding:0 11px}
@media (max-width:1560px){.sbar .tripbar .pmode{display:none}.sbar .tripbar .pmode{display:none}}
@media (max-width:1560px){.sbar .tripbar .sep:has(+ .pmode){display:none}}
.info .pl small{line-height:1.35}
.bp .bpsub,.mpt .mpsub{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px}
.bp > div > b{font-size:30px}
.blinks{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;font-size:13.5px}
.blinks .link{display:inline-flex;align-items:center;gap:6px}
/* faster feel: shimmer while photos decode */
@keyframes shim{from{background-position:150% 0}to{background-position:-50% 0}}
.media,.mwrap .media,.mti,.si,.mini{background:linear-gradient(100deg,var(--soft) 30%,var(--soft2) 50%,var(--soft) 70%) var(--soft);background-size:220% 100%;animation:shim 1.4s linear infinite}
.media:has(img.ld),.mti:has(img.ld),.si:has(img.ld),.mini:has(img.ld){animation:none;background:var(--soft)}
@media (prefers-reduced-motion:reduce){.media,.mti,.si,.mini{animation:none}}
.card.flash .media{animation:flash 1.1s var(--ease)}
@keyframes flash{0%,100%{box-shadow:0 0 0 0 transparent}25%,60%{box-shadow:0 0 0 3px var(--accent)}}
/* map: search as I move */
.areatog{position:absolute;top:14px;left:14px;z-index:5;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:7px 14px 7px 10px;font-size:13px;font-weight:500;cursor:pointer;user-select:none}
.areatog input{accent-color:var(--accent);width:16px;height:16px;margin:0}
#s-sub .link{font-size:inherit;margin-left:6px}
/* inclusions grid */
.igrid{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;margin-bottom:24px;display:grid;gap:18px}
.ighead{display:flex;justify-content:space-between;gap:16px 28px;align-items:flex-end;flex-wrap:wrap}
.ighead h3{font-size:22px;margin-bottom:6px}.ighead p{font-size:13.5px;max-width:70ch}
.igt{width:100%;border-collapse:collapse;font-size:14px}
.igt th,.igt td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.igt thead th{font-weight:500;font-size:14px;border-bottom:1px solid var(--line2);min-width:150px}
.igt thead th a{text-decoration:none;display:block}.igt thead th small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.igt tbody th{font-weight:500;color:var(--ink2);white-space:nowrap;padding-right:20px}
.igt td{white-space:nowrap}
.igt td .ic{width:15px;height:15px;vertical-align:-3px;margin-right:6px}
.ig-y{color:var(--good)}.ig-y span{color:var(--ink)}
.ig-x{color:var(--warn)}.ig-x span{color:var(--ink2)}
.ig-s{color:var(--info)}.ig-s span{color:var(--ink2)}
.ig-u span{color:var(--muted)}
.igsum th,.igsum td{background:var(--soft);font-weight:500}
.igsum td small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.igsum td.best{color:var(--good)}
.igt tr:last-child th,.igt tr:last-child td{border-bottom:0}
.pcc span{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.4;margin-bottom:6px;white-space:normal;min-width:180px}
.pcc .ic{flex:none;margin-top:2px;color:var(--good)}.pcc.con .ic{color:var(--warn)}
/* pros and cons */
.pcons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.pcons > div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px}
.pcons h3{display:flex;align-items:center;gap:8px;font-size:16px;margin-bottom:10px}
.pcons > div:first-child h3 .ic{color:var(--good)}.pcons > div:nth-child(2) h3 .ic{color:var(--warn)}
.pcons ul{margin:0;padding:0 0 0 18px;display:grid;gap:7px;font-size:14px;line-height:1.45}
.pcons .pcnote{grid-column:1/-1;margin:0}
@media (max-width:700px){.pcons{grid-template-columns:1fr}}
/* resume */
.rtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:8px}
.rtile{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.rtile:hover{border-color:var(--line2);box-shadow:var(--shadow);transform:translateY(-1px)}
.rtile > i{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.rtile span{display:grid;gap:1px;min-width:0}.rtile small{color:var(--muted);font-size:12.5px}.rtile b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtile em{font-style:normal;font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rtile > .ic{color:var(--muted)}
.rvh{font-size:18px;margin:28px 0 16px}
.resume{padding-bottom:0}
/* match tuning */
.mtune{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:20px 22px;margin:4px 0 22px;display:grid;gap:14px}
.mtuh{display:flex;gap:6px 14px;align-items:baseline;flex-wrap:wrap}.mtuh small{font-size:13px}
.mtsel{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.mtsel label{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.mtsel select{height:40px;border:1px solid var(--line2);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:13.5px;padding:0 10px;min-width:0}
.mrow small.mok{color:var(--good)}.mrow small .ic{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
/* checklist */
.chkh{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.chkh .sub a{color:inherit}
.chka{display:flex;gap:14px;align-items:center}
.chkprog{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:14px}
.chkprog i{flex:1;max-width:420px;height:6px;border-radius:999px;background:var(--soft2);overflow:hidden}.chkprog i b{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s var(--ease)}
.chkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:18px;align-items:start}
.chkg{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px 24px}
.chkg h2{font-size:20px;margin-bottom:10px}
.chkg ul{list-style:none;margin:0;padding:0;display:grid}
.chkg li{border-top:1px solid var(--line)}.chkg li:first-child{border-top:0}
.chkg label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:12px 0;cursor:pointer}
.chkg input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.chkg label span{display:grid;gap:3px}.chkg b{font-weight:500;line-height:1.4}.chkg small{color:var(--muted);font-size:13px;line-height:1.5}
.chkg .csrc{font-size:12.5px;color:var(--accent);text-decoration:underline;text-underline-offset:2px;width:fit-content}
.chkg li.done b{text-decoration:line-through;color:var(--muted)}
.chkfoot{margin:32px 0 90px;display:grid;gap:12px}.chkfoot h3{font-size:16px;margin-top:8px}
/* ===== print ===== */
@media print{
  @page{margin:14mm}
  :root,:root[data-theme="dark"]{--bg:#fff;--surface:#fff;--soft:#f3f3f1;--soft2:#e8e8e5;--ink:#111;--ink2:#333;--muted:#666;--line:#ddd;--line2:#ccc;--accent:#254A38;color-scheme:light}
  body{background:#fff!important;color:#111;font-size:11pt}
  .hdr,footer,.tray,#toast,#layer,.mbar,.mapfab,.subnav,.gal2 .gall,.lactions,.mbtns,.mapzoom,.areatog,.mapclose,.fpills,.sbar,.fbtn,.btn,.iconbtn,.blinks,.chka,.qhead,.wnav,.mtune,.hero3 .h3s,.resume,.pbanner,[data-act="hist-clear"],.howm summary .ic{display:none!important}
  main{padding-top:0!important}
  .wrap{max-width:none;padding:0}
  .lsec,.blk{content-visibility:visible}
  .lgrid{display:block}.book{position:static;box-shadow:none;border:1px solid #ccc;break-inside:avoid;margin-top:16px}
  .gal2{display:block!important;height:62mm;overflow:hidden;border-radius:10px}.gal2 button{display:none!important}.gal2 button:first-child{display:block!important;width:100%;height:62mm}.gal2 button:first-child img{width:100%;height:62mm;object-fit:cover}
  .chkgrid{display:block}.chkg{display:block;margin-bottom:12px;padding:14px 16px}.chkg label{padding:7px 0}.chkprog{margin-bottom:12px}
  .lsec{padding-block:14px!important}
  .card,.chkg li,.cmpchart,.pcons > div,.scard,.day,.igt tr{break-inside:avoid;box-shadow:none}
  .igrid,.cmpchart{border:1px solid #ccc}
  .tablewrap{overflow:visible!important}
  a{color:inherit;text-decoration:none}
  .srcs a::after,.csrc::after{content:" (" attr(href) ")";font-size:8.5pt;color:#555;word-break:break-all}
  .chkg input{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  img{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .smap2,.split .smap2{display:none!important}.split{display:block}
  .sgrid{grid-template-columns:repeat(2,1fr)!important}
}
.nav a,.hpill,.hpill .lbl,#pref-lbl{white-space:nowrap}
@media (max-width:1480px){html[lang=de] .hpill.partner{display:none}}
@media (max-width:1300px) and (min-width:1181px){html[lang=de] .nav a{padding-inline:8px}}
@media (max-width:760px){.tripbar .pmode,.tripbar .sep:has(+ .pmode){display:none}.page-head .tripbar{flex:1 1 auto;min-width:0;max-width:100%;overflow-x:auto}}
@media (max-width:640px){#pref-btn{display:none}}
.igrid > *,.cmpchart > *{min-width:0}
.page-head > *{min-width:0}
/* ===== rankings ===== */
.rkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.rkgrid.home{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.rkcard{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);text-decoration:none;color:inherit;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.rkcard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line2)}
.rki{aspect-ratio:16/8;overflow:hidden;background:var(--soft)}.rki img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.rkcard:hover .rki img{transform:scale(1.04)}
.rkb{display:grid;gap:8px;padding:18px 20px 20px;align-content:start}.rkb > b{font-size:17px;font-weight:500;letter-spacing:-.01em}.rkb > small{color:var(--muted);font-size:13px;line-height:1.5}
.rkb ol{margin:4px 0 0;padding:0;list-style:none;counter-reset:rk;display:grid;gap:6px}
.rkb li{counter-increment:rk;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:14px}
.rkb li::before{content:counter(rk);font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600;font-size:13px}
.rkb li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rkb li em{font-style:normal;color:var(--muted);font-size:12px}
.rkb .link{display:inline-flex;gap:6px;align-items:center;font-size:13.5px;margin-top:4px}
.rknav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.rknav .chip{text-decoration:none}
.rkdates{font-size:13.5px;margin-bottom:18px}.rkdates a{color:inherit}
.rklist{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.rkrow{display:grid;grid-template-columns:36px 88px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:12px 16px 12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s}
.rkrow:hover{border-color:var(--line2);box-shadow:var(--shadow);transform:translateY(-1px)}
.rkn{font-family:var(--serif);font-size:30px;line-height:1;color:var(--accent);text-align:center}
.rkrow img{width:88px;height:66px;object-fit:cover;border-radius:10px;background:var(--soft)}
.rkt{display:grid;gap:3px;min-width:0}.rkt b{font-weight:500;font-size:16px}.rkt small{color:var(--muted);font-size:13px}
.rkcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.rkc{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.rkc.n{background:var(--soft);color:var(--muted)}
.rkp{display:grid;justify-items:end;text-align:right}.rkp b{font-size:18px;font-weight:600}.rkp small{color:var(--muted);font-size:12px}
.rkrow > .ic{color:var(--muted)}
@media (max-width:640px){.rkrow{grid-template-columns:28px 64px minmax(0,1fr);gap:10px}.rkrow img{width:64px;height:52px}.rkn{font-size:24px}.rkp{grid-column:3;justify-items:start;text-align:left}.rkrow > .ic{display:none}}
@media print{.rknav{display:none}}
/* ===== corrections ===== */
.corrgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;margin-bottom:28px}
@media (max-width:900px){.corrgrid{grid-template-columns:1fr}}
.corrf{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px}
.corrf .full{grid-column:1/-1}
@media (max-width:640px){.corrf{grid-template-columns:1fr;padding:18px}}
.corrf label:not(.chk):not(.check){display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--ink2)}
.corrf label small{font-weight:400;color:var(--muted)}
.corrf input:not([type=checkbox]),.corrf select,.corrf textarea{width:100%;border:1px solid var(--line2);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:14.5px;padding:11px 12px;min-height:44px}
.corrf textarea{resize:vertical;line-height:1.5}
.corrf input:focus,.corrf select:focus,.corrf textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.corrf fieldset{border:0;padding:0;margin:0}.corrf legend{font-size:13px;font-weight:500;color:var(--ink2);margin-bottom:8px}
.corrf .chk{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:8px 14px;font-size:13.5px;cursor:pointer}
.corrf .chk:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.corrf .chk input{accent-color:var(--accent);margin:0}
.corrcur{display:flex;gap:8px;align-items:center;font-size:13.5px}.corrcur a{color:inherit}
.corract{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.corrst{font-size:14px;display:inline-flex;gap:8px;align-items:center}.corrst.good{color:var(--good)}.corrst.bad{color:var(--warn)}.corrst.warn{color:var(--ink2)}
.corrside{background:var(--soft);border-radius:var(--r-xl);padding:22px 24px;display:grid;gap:12px;font-size:14px;line-height:1.55}
.corrside h3{font-size:17px}.corrside ol{margin:0;padding-left:18px;display:grid;gap:8px}
.corrlink{display:flex;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;border:1px dashed var(--line2);border-radius:var(--r);text-decoration:none;color:var(--ink2);font-size:14px}
.corrlink:hover{border-color:var(--accent);color:var(--ink)}.corrlink span{flex:1}
.corrinbox{display:grid;gap:12px;margin-bottom:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px}
.corritem{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:6px}
.cih{display:flex;justify-content:space-between;gap:12px}.cih small,.cim{color:var(--muted);font-size:13px}.cic{display:flex;gap:6px;flex-wrap:wrap}.cid{font-size:14px;line-height:1.55}
@media (max-width:1440px){.hpill.partner{display:none}}
@media (max-width:1380px) and (min-width:1181px){.hpill .lbl{display:none}.nav a{padding-inline:9px}}

/* ---------- quick search ---------- */
.qsbtn{border:1px solid var(--line2);padding:0 8px 0 12px;background:var(--surface);color:var(--muted);min-width:150px;justify-content:flex-start}
.qsbtn .lbl{flex:1;text-align:left}
.qsbtn:hover{border-color:var(--ink2);color:var(--ink)}
.qsk,.qsbox kbd{font:500 11px/1 var(--sans);border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;padding:3px 6px;color:var(--muted);background:var(--soft)}
body.home .hdr:not(.solid) .qsbtn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
body.home .hdr:not(.solid) .qsbtn .qsk{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
@media (max-width:1380px){.qsbtn{min-width:0}.qsbtn .qsk{display:none}}
@media (max-width:1180px){.qsbtn{padding:0 11px}}
.overlay:has(.qsmodal){place-items:start center;padding-top:min(12vh,110px)}
.modal.qsmodal{width:min(680px,100%);max-height:min(640px,calc(100vh - 140px));overflow:hidden;display:flex;flex-direction:column}
.qsmodal>.iconbtn.x{display:none}
.qsbox{display:flex;flex-direction:column;min-height:0;flex:1}
.qsin{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--muted)}
.qsin input{flex:1;border:0;outline:0;background:transparent;font:400 18px/1.3 var(--sans);color:var(--ink);min-width:0}
.qsin input::-webkit-search-cancel-button{display:none}
.qsres{overflow-y:auto;padding:8px 8px 12px;flex:1;overscroll-behavior:contain}
.qsg{display:grid;gap:2px;padding-top:6px}
.qsh{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 12px 4px}
.qsh em{font-style:normal;font-weight:500;margin-left:4px;color:var(--ink2)}
.qsr{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--ink);min-width:0}
.qsr[aria-selected]{background:var(--soft2)}
.qsr img{width:48px;height:36px;object-fit:cover;border-radius:8px;flex:none;background:var(--soft)}
.qsi{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
.qst{display:grid;gap:2px;min-width:0;flex:1}
.qst b{font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qst small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qst mark{background:none;color:var(--accent);font-weight:600}
.qsp{font-size:14px;font-weight:500;white-space:nowrap;text-align:right;display:grid}
.qsp small{font-size:11px;color:var(--muted);font-weight:400}
.qsmore{margin:4px 12px 0;justify-self:start;border:0;background:none;color:var(--accent);font:500 13px var(--sans);padding:6px 0;cursor:pointer}
.qsmore:hover{text-decoration:underline}
.qstip{font-size:13px;color:var(--muted);padding:12px 12px 0;line-height:1.6}
.qstip .link{font-size:13px}
.qsempty{display:grid;justify-items:center;gap:6px;text-align:center;padding:40px 16px;color:var(--muted)}
.qsempty b{color:var(--ink);font-weight:500}
.qsempty .btn{margin-top:10px}
.qsfoot{display:flex;gap:18px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.qsfoot kbd{margin-right:3px}
.drawer .panel .qsmenu{margin:6px 0 10px;color:var(--muted)}
@media (max-width:640px){.overlay:has(.qsmodal){padding:0;place-items:stretch}.modal.qsmodal{width:100%;max-height:none;height:100%;border-radius:0}.qsfoot{display:none}.qsin{padding:14px 16px}.qsmodal>.iconbtn.x{display:inline-grid;top:10px;right:12px}.qsin{padding-right:64px}.qsin kbd{display:none}}
@media (max-width:480px){.hdr .hpill[href="#compare"],.hdr .hpill[href="/compare/"]{display:none}.qsbtn{padding:0 10px}}
/* hero legibility over busy wildlife photos */
.hero3::after{background:linear-gradient(180deg,rgba(10,10,8,.42) 0%,rgba(10,10,8,0) 22%,rgba(10,10,8,.05) 40%,rgba(10,10,8,.58) 100%),linear-gradient(90deg,rgba(10,10,8,.45) 0%,rgba(10,10,8,.18) 45%,rgba(10,10,8,0) 70%)}
/* focal points for portrait wildlife photos used in landscape frames */
img[src*="leopard-rock"]{object-position:45% 30%}
img[src*="elephant-sunset"]{object-position:55% 50%}
img[src*="lion-male"]{object-position:60% 28%}
img[src*="waterbuck"]{object-position:50% 38%}
img[src$="/zebra.webp"]{object-position:55% 35%}
img[src*="roller"]{object-position:35% 40%}
img[src*="zebra-eye"]{object-position:60% 35%}
img[src*="cheetah-road"]{object-position:55% 45%}
img[src*="elephant-marula"]{object-position:70% 70%}
img[src*="leopard-tree"]{object-position:55% 40%}
img[src*="giraffe-sunset"]{object-position:55% 62%}
img[src*="elephant-herd-road"]{object-position:65% 45%}
img[src*="rhino"]{object-position:45% 50%}
img[src*="elephant-tusker"]{object-position:50% 30%}
img[src*="lion-male"]{object-position:60% 25%}
img[src*="elephant-sunset"]{object-position:58% 55%}
.freebox{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:28px 32px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);margin-top:8px}.freebox .price{font-family:var(--serif);font-size:44px;line-height:1}.freebox p{max-width:60ch;margin:0}
.pbanner img{object-position:50% 35%}
.pbanner::after{background:linear-gradient(90deg,rgba(12,14,10,.82),rgba(12,14,10,.55) 38%,rgba(12,14,10,.05) 62%,rgba(12,14,10,0))}

/* legal pages */
.legal .page-head{padding-bottom:24px}
.legalnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.legalnav a{padding:7px 14px;border:1px solid var(--line2);border-radius:999px;font-size:14px;text-decoration:none;color:var(--ink2);transition:background .2s,color .2s,border-color .2s}
.legalnav a:hover{border-color:var(--ink2);color:var(--ink)}
.legalnav a.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.legalbody{max-width:72ch;padding-bottom:80px;display:grid;gap:32px}
.legalbody section{display:grid;gap:10px;padding-top:28px;border-top:1px solid var(--line)}
.legalbody h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,30px);line-height:1.15;letter-spacing:-.005em}
.legalbody p{color:var(--ink2);line-height:1.65;font-size:16px}
.legalbody a{color:var(--accent);text-underline-offset:3px}
.legalbody b{color:var(--ink);font-weight:600}
.legalupd{font-size:14px!important;color:var(--muted)!important}
.flegal{display:flex;gap:16px;flex-wrap:wrap}.flegal a{text-decoration:none;color:inherit}.flegal a:hover{text-decoration:underline}

/* email-ready panel + contact page */
.mailready{margin-top:8px;padding:22px;border:1px solid var(--line2);border-radius:18px;background:var(--surface);display:grid;gap:12px}
.mrh{display:flex;align-items:center;gap:10px;color:var(--good)}.mrh h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--ink)}
.mailready p{color:var(--ink2)}.mailready b{color:var(--ink);font-weight:600;word-break:break-all}
.mrbtns{display:flex;gap:10px;flex-wrap:wrap}
.mailready details summary{cursor:pointer;color:var(--muted);font-size:14px}
.mrpre{white-space:pre-wrap;font-family:var(--mono);font-size:13px;background:var(--soft);border-radius:12px;padding:14px;margin-top:10px;color:var(--ink2);max-height:320px;overflow:auto}
.contactp .ccard{max-width:72ch;padding:28px;border:1px solid var(--line2);border-radius:20px;background:var(--surface);display:grid;gap:16px;margin-bottom:18px}
.contactp .ccard.soft{background:var(--soft);border-color:transparent}
.contactp .ccard h2{font-family:var(--serif);font-weight:400;font-size:28px}.contactp .ccard p{color:var(--ink2);line-height:1.6}
.contactp .ccard .btn{justify-self:start}
.cmail{font-family:var(--serif);font-size:clamp(26px,4vw,40px);line-height:1.1;word-break:break-all;color:var(--ink)}
.cnote{max-width:72ch;padding-bottom:80px}

/* reserve page: ranking teaser + guide */
.restop{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;margin:8px 0 56px}
.restop>div{padding:26px;border:1px solid var(--line2);border-radius:20px;background:var(--surface);display:grid;gap:12px;align-content:start}
.restop h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1}
.restop ol{display:grid;gap:10px;padding-left:22px}.restop li a{font-weight:500;text-decoration:none;color:var(--ink)}.restop li a:hover{text-decoration:underline}
.restop li small{display:block;color:var(--muted);font-size:13px}
.restop-g{padding:26px;border-radius:20px;background:var(--soft);display:grid;gap:8px;align-content:start;align-self:start;text-decoration:none;color:var(--ink);transition:background .2s}
.restop-g:hover{background:var(--soft2)}.restop-g small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.restop-g b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}.restop-g span{color:var(--ink2)}
.rkres{margin-top:-6px;align-items:center}.rkres .muted{font-size:14px;margin-right:4px}
@media (max-width:760px){.restop{grid-template-columns:1fr}}

/* "also in German" hint */
.debar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;background:var(--surface);color:var(--ink);border:1px solid var(--line2);border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.14);font-size:14px;max-width:calc(100vw - 32px);animation:debar .4s var(--ease) both}
.debar .iconbtn{width:34px;height:34px}
@keyframes debar{from{opacity:0;transform:translate(-50%,10px)}}
@media (max-width:520px){.debar{left:16px;right:16px;transform:none;border-radius:18px;flex-wrap:wrap;padding:12px 12px 12px 16px}.debar span{flex:1 1 100%}@keyframes debar{from{opacity:0}}}
