
/* Jump links glide to their section (operator, 19 Oct 2026: the jump to the tours "was confusing"); the reduced-motion rule below turns it off. */
html{scroll-behavior:smooth}
:root{--ink:#141414;--ink2:#3D3B37;--mute:#6B6862;--mute2:#9A968F;--paper:#F5F2EC;--sand:#EDE9E1;--sand2:#F0ECE4;--red:#D6112E;--red2:#B60E27;--redsoft:#FDE8EB;--pink:#FF5C73;--green:#1E9E5A;--greensoft:#EAF7EF;--gold:#E89A1E;--gold2:#FFB84D;--gold3:#FFC85C;--navy:#0B1F2C;--paper-blur:rgba(245,242,236,.94);--visual:#DDE6EA;--accent-glow:rgba(214,17,46,.35);--accent-glow-soft:rgba(214,17,46,.25);--accent-tint:rgba(214,17,46,.12);--accent-tint-soft:rgba(214,17,46,.06);--hero-shade:linear-gradient(90deg,rgba(6,20,30,.86) 0%,rgba(6,20,30,.5) 55%,rgba(6,20,30,.25) 100%);--photo-shade:rgba(6,20,30,.72);--visual-shade:linear-gradient(180deg,rgba(219,229,233,.15),rgba(219,229,233,.85));--gold-tint:rgba(232,154,30,.34);--line:rgba(20,20,20,.08);--line2:rgba(20,20,20,.12);--line3:rgba(20,20,20,.25);--ease:cubic-bezier(.2,0,0,1);--serif:'Cormorant Garamond',Georgia,serif;--display:'Anton','Arial Narrow',Impact,sans-serif;--sans:'Work Sans',system-ui,sans-serif;--display-weight:400;--accent-weight:300;--accent-style:italic;--acc-ratio:1.139;--h1-size:clamp(2.9rem,7.4vw,5.4rem);--h1-leading:.9;--h1-track:-.015em;--h1-case:none;--acc-size:clamp(2.8rem,7.2vw,5.3rem);--acc-leading:.95;--acc-track:-.005em;--h2-size:clamp(2.146rem,5.476vw,3.996rem);--h2-big:clamp(2.32rem,5.92vw,4.32rem);--h2-xl:clamp(2.755rem,7.03vw,5.13rem);--h2-sm:clamp(1.798rem,4.588vw,3.348rem);--h3-size:28px;--card-title:19px;--lede-size:clamp(1.0625rem,1.5vw,1.1875rem);--lede-leading:1.55;--measure:44ch;--eb-size:.8125rem;--eb-track:.14em}
*{box-sizing:border-box}
/* Thirteen controls reset themselves with all:unset, which throws away the focus ring with everything else; the keyboard needs it back (audit, 2026-09-19). */
:where(a,button,summary,[tabindex],input,select):focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:6px}
.gal img,.rcard,.tcard,.lcard{-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:var(--t-body);line-height:1.5}
/* A bare <small> takes the label step, not the browser's 0.83em of whatever it sits in. */
small{font-size:var(--t-micro)}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--red)}
img{max-width:100%;display:block}
p{margin:0}
h1,h2,h3{margin:0;font-weight:600}
em.se{font-family:var(--serif);font-weight:var(--accent-weight);font-style:var(--accent-style);letter-spacing:var(--acc-track);font-size:calc(1em*var(--acc-ratio));line-height:var(--acc-leading)}
button{font:inherit}
.page{width:100%;min-width:0;overflow-x:clip}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
/* Section spacing at ordinary sizes (operator, 27 Oct 2026: "why the hell does even Universal template get those huge paddings and margins everywhere? Make them normal sizes") */
.sect{padding:72px 0;--sect-bg:var(--paper)}
.sect.tight{padding:64px 0}
.bg-white{background:#fff;--sect-bg:#fff}
/* Two neighbours on the same background share one gap: the page script compares the backgrounds drawn (editorial/script.ts). */
#warning.sect{padding-block:50px}.bg-sand{background:var(--sand);--sect-bg:var(--sand)}.bg-ink{background:var(--ink);color:#fff;--sect-bg:var(--ink)}
.eyebrow{font-family:var(--sans);font-size:var(--eb-size);letter-spacing:var(--eb-track);text-transform:uppercase;font-weight:600;color:var(--red);margin-bottom:16px}
.eyebrow.mute{color:var(--mute)}.eyebrow.pink{color:var(--pink)}
.h2{text-wrap:balance;font-family:var(--display);font-size:var(--h2-size);line-height:var(--h1-leading);letter-spacing:var(--h1-track);font-weight:var(--display-weight);margin:0}
.h2.big{font-size:var(--h2-big)}.h2.xl{font-size:var(--h2-xl)}.h2.sm{font-size:var(--h2-sm)}
.lead{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);max-width:480px;text-wrap:pretty}
.shead{margin-bottom:32px}.shead .h2,.shead .lead,.shead+.cols>div>.lead{max-width:none}
.sub{font-size:var(--t-small);line-height:1.5;color:var(--mute);max-width:300px;margin:0}
.serif-lead{font-family:var(--serif);font-size:var(--card-title);line-height:1.4;color:var(--ink2);max-width:380px;margin:0;text-wrap:pretty}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:32px}
.head-row>div:first-child{max-width:620px}
/* On every page but the homepage a heading takes the row's width, beside whatever sits at its right (operator, 16 Oct 2026: "Why are all headings so narrow"). */
.page:not(.home) .head-row>div:first-child{flex:1 1 520px;max-width:none}.page:not(.home) #book>.wrap>.h2,.page:not(.home) #directions>.wrap>.h2{max-width:none!important}
.cols{display:grid;gap:64px;align-items:start}
.cols.c-11{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.cols.c-115{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.cols.c-91{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.cols.c-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:center}.cols.c-21 .answer{max-width:none}.cols.c-21 .tgrid{grid-template-columns:minmax(0,1fr)!important}
/* On a desktop the recommended tour beside the answer lies on its side, wider and shorter (operator, 16 Oct 2026); a phone keeps the upright card. */
@media (min-width:1001px){.cols.c-21{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.cols.c-21 .tcard{flex-direction:row}.cols.c-21 .tcard .im{flex:0 0 44%;aspect-ratio:auto;min-height:100%}.cols.c-21 .tcard .body{padding:18px 20px}.cols.c-21 .tcard .perks{margin-bottom:12px}.cols.c-21 .tcard .social{display:none}
/* "Start here" runs straight into a block on the same ground, the warning box sits in the middle, and the answer beside its tour card keeps little air above and below (operator, 16 Oct 2026). */
#start-here.sect:not(.bg-white):not(.bg-sand):not(.bg-ink):has(+.sect:not(.bg-white):not(.bg-sand):not(.bg-ink)){padding-bottom:0}
#answer.sect:has(.cols.c-21){padding:40px 0}
/* The answer and its card stand the same height, the answer's words centred in their box; the card keeps two lines and drops the small print (operator, 16 Oct 2026: "the heights are different", "the card to be more compact"). */
.cols.c-21{align-items:stretch}.cols.c-21 .answer{display:flex;flex-direction:column;justify-content:center}.cols.c-21 .tgrid{align-content:stretch}.cols.c-21 .tcard{height:100%}
.cols.c-21 .tcard .body{padding:16px 18px}.cols.c-21 .tcard .rate{margin-bottom:6px}.cols.c-21 .tcard .name{font-size:1.1rem;margin-bottom:8px}.cols.c-21 .tcard .perks{gap:4px;margin-bottom:10px;align-content:start}.cols.c-21 .answer p+p{margin-top:14px}.cols.c-21 .tcard .perks>:nth-child(n+3){display:none}.cols.c-21 .tcard .foot{padding-top:10px}.cols.c-21 .tcard .pr{margin-bottom:8px}.cols.c-21 .tcard .book{padding:10px}.cols.c-21 .tcard .fine{display:none}
/* The menu spread across the header, the same space between every item (operator, 16 Oct 2026). */
.hdr .nav{flex:1;justify-content:flex-start;margin-left:20px}}
#warning .callout{margin-inline:auto}
.cols.c-81{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px}
.cols.c-faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.cols.c-guide{grid-template-columns:minmax(0,1.45fr) 340px}
.prose{font-size:var(--t-body);line-height:1.65;color:var(--ink2);display:grid;gap:16px;text-wrap:pretty}
.prose p{margin:0}
.muted{color:var(--mute)}
.tnum{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--red);color:#fff;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:-.005em;padding:15px 26px;border-radius:999px;box-shadow:0 10px 24px var(--accent-glow);transition:transform .15s var(--ease),background-color .15s;white-space:nowrap;border:0;cursor:pointer}
.btn:hover{background:var(--red2);color:#fff;transform:translateY(-2px)}.btn:active{transform:scale(.96)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.5);box-shadow:none;color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.12);transform:none}
.btn.ghost.dark{border-color:var(--line3);color:var(--ink)}.btn.ghost.dark:hover{background:var(--ink);color:#fff}
.btn.ink{background:var(--ink);box-shadow:none}.btn.ink:hover{background:var(--red)}
.btn.sm{font-size:var(--t-small);padding:10px 16px;box-shadow:none}
.btn.block{display:flex;width:100%;border-radius:12px;padding:16px 20px;box-shadow:0 10px 24px var(--accent-glow);white-space:normal;text-align:center}
.btn.wide{font-size:var(--t-body);padding:20px 34px;box-shadow:0 14px 34px var(--accent-glow)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-small);font-weight:600;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);transition:background-color .15s,color .15s}.pill:hover{background:var(--ink);color:#fff}
.live{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-small)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:blink 1.6s infinite;display:inline-block}.live b{font-weight:700}
.social{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);color:var(--mute);margin-bottom:14px}.social i{display:none}.social b{font-weight:700;color:var(--ink)}
.live.sm i{width:6px;height:6px;background:var(--red)}
.check{display:flex;gap:7px;align-items:center}
.icon{flex:none;display:inline-block;vertical-align:middle}

/* stars */
.stars{position:relative;display:inline-flex;height:18px;width:98px}
.stars svg{position:absolute;inset:0}
.stars .fill{animation:starfill 1.1s var(--ease) .2s both;clip-path:inset(0 var(--clip,0%) 0 0)}
.stars.sm{height:14px;width:78px}
.star-text{color:var(--gold3);letter-spacing:2px;font-size:var(--t-small)}

/* topbar + header */
.topbar{background:var(--ink);color:#fff;font-size:var(--t-micro);display:flex;justify-content:center;gap:28px;padding:9px 32px;flex-wrap:wrap}
.topbar span{display:flex;align-items:center;gap:6px}.topbar .dot{opacity:.4}.topbar .star{color:var(--gold2)}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.is-scrolled .hdr{box-shadow:0 8px 30px var(--line)}
.hdr .wrap{padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.langs{position:relative}.langs summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:var(--t-small);font-weight:600;color:var(--ink2);cursor:pointer}.langs summary::-webkit-details-marker{display:none}.langs[open] summary,.langs summary:hover{background:var(--sand);color:var(--ink)}.langs ul{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:180px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.14)}.langs li a{display:block;padding:9px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:var(--t-small)}.langs li a:hover{background:var(--sand)}.langs li a[aria-current]{font-weight:700}
.logo{display:flex;align-items:center;gap:10px}
/* The logo arrives trimmed (no empty border), so it needs no negative margins; smaller on phones so Book and the menu fit beside it (operator, 3 Oct 2026). */
.logo-img img{display:block;max-width:225px;max-height:56px;width:auto;height:auto}
@media (max-width:640px){.logo-img img{max-width:170px;max-height:44px}}
.logo .mark{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:var(--t-small);flex:none}
.logo .name{display:flex;flex-direction:column;line-height:1.1}
.logo .name b{font-weight:600;font-size:var(--t-body)}.logo .name small{font-size:var(--t-micro);color:var(--mute)}
.nav{display:flex;gap:20px;font-size:var(--t-small);font-weight:500;flex-wrap:nowrap;white-space:nowrap;min-width:0;overflow:hidden}.nav a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.hdr-right{display:flex;align-items:center;gap:8px}
.hcta{background:var(--red);color:#fff;font-size:var(--t-small);font-weight:600;padding:11px 20px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:none;box-shadow:0 6px 16px var(--accent-glow-soft);transition:transform .15s var(--ease),background-color .15s}
.hcta:hover{background:var(--red2);color:#fff;transform:translateY(-1px)}.hcta:active{transform:scale(.96)}
.hcta .short{display:none}
.burger{all:unset;display:none;cursor:pointer;width:40px;height:40px;border-radius:50%;place-items:center;background:var(--line);transition:transform .15s var(--ease)}.burger:active{transform:scale(.96)}
.burger .x{display:none}.is-menu .burger .x{display:block}.is-menu .burger .m{display:none}
.mnav{background:#fff;border-top:1px solid var(--line);padding:8px 20px 20px;display:none}
.is-menu .mnav{display:grid}
.mnav a{padding:14px 4px;font-size:var(--card-title);font-weight:600;border-bottom:1px solid var(--line)}
.mnav a:last-of-type{border-bottom:0}
.mnav .mcta{margin-top:12px;display:flex;justify-content:center;background:var(--red);color:#fff;font-size:var(--t-body);font-weight:600;padding:15px;border-radius:12px;border-bottom:0}
.chipbar{border-top:1px solid var(--line);background:#fff;animation:slidedown .25s ease-out;display:none}
.is-scrolled .chipbar{display:block}
.chips{padding:9px 32px;display:flex;justify-content:center;gap:12px 32px;flex-wrap:wrap;font-size:var(--t-small);font-weight:500;color:var(--ink2)}
.chips span{display:flex;align-items:center;gap:7px;white-space:nowrap}

/* hero */
.hero{position:relative;min-height:720px;display:flex;align-items:center;background:var(--navy)}.hero.solo{min-height:0}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .shade{position:absolute;inset:0;background:var(--hero-shade)}
.hero .wrap{position:relative;padding:88px 32px;width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:48px;align-items:center}
.hero .copy{color:#fff}
.hcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:18px;font-size:var(--t-small);color:rgba(255,255,255,.72);animation:fadeup .45s ease-out}.hcrumbs a{color:rgba(255,255,255,.88);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}.hcrumbs a:hover{color:#fff;border-bottom-color:#fff}.hcrumbs i{font-style:normal;opacity:.5}.hcrumbs span{color:#fff;font-weight:600;max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proof{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;animation:fadeup .5s ease-out}
.avatars{display:flex}
.avatars img,.avatars span{width:34px;height:34px;border-radius:50%;border:2px solid #fff;object-fit:cover}
.avatars img+img,.avatars img+span{margin-left:-10px}
.avatars span{background:var(--red);font-size:var(--t-micro);font-weight:700;display:grid;place-items:center}
.proof .rating{display:flex;align-items:center;gap:10px}
.proof .rating b{font-size:var(--t-small);font-weight:600}.proof .rating small{font-size:var(--t-small);color:rgba(255,255,255,.7)}
.h1{text-wrap:balance;font-family:var(--display);font-size:var(--h1-size);line-height:var(--h1-leading);letter-spacing:var(--h1-track);text-transform:var(--h1-case);font-weight:var(--display-weight);margin:0 0 22px;animation:fadeup .6s ease-out .1s both}
/* The hero's accent keeps the same size ratio to its heading as an h2's accent does (operator, 6 Oct 2026: it had become too small). */
.h1 em.se{font-size:calc(1em*var(--acc-ratio));text-transform:none;display:inline-block}
.h1{overflow-wrap:break-word}
.hero .lead{font-size:var(--lede-size);line-height:var(--lede-leading);letter-spacing:0;max-width:var(--measure);margin:0 0 30px;color:rgba(255,255,255,.85);animation:fadeup .6s ease-out .2s both}
.hero .bookedline{margin:0 0 16px;animation:fadeup .6s ease-out .25s both}
.hero .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;animation:fadeup .6s ease-out .3s both}
.hero .live{color:rgba(255,255,255,.85)}
.hero .review{margin-top:40px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;max-width:560px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:16px;animation:fadeup .6s ease-out .4s both}
.hero .review img,.hero .review .avatar{width:72px;height:72px;border-radius:12px;object-fit:cover;outline:1px solid rgba(255,255,255,.1);outline-offset:-1px}
.hero .review .avatar{background:var(--red);color:#fff;display:grid;place-items:center;font-size:var(--num-lg);font-weight:700}
.hero .review .t{font-size:var(--t-body);line-height:1.5;color:rgba(255,255,255,.92)}
.hero .review .meta{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.hero .review .meta small{font-size:var(--t-micro);color:rgba(255,255,255,.65)}
.hero .review .who{margin-top:6px;font-weight:600;font-size:var(--t-small)}.hero .review .who span{opacity:.65;font-weight:400}
.hero .hreview{justify-self:end;width:100%;max-width:480px}.hero .hreview .review{margin-top:0}
.pform{background:#fff;color:var(--ink);border-radius:24px;padding:20px;box-shadow:0 30px 70px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.06);max-width:430px;justify-self:end;width:100%;position:relative;animation:fadeup .7s ease-out .25s both}
.tag{position:absolute;top:-13px;left:24px;background:var(--red);color:#fff;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px var(--accent-glow)}
.pform .top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 4px}
.pform .kicker{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:700}
.pform .rt{display:flex;align-items:center;gap:6px;font-size:var(--t-micro);font-weight:600;white-space:nowrap}.pform .rt .star{color:var(--gold)}.pform .rt small{color:var(--mute);font-weight:400}
.pform .title{font-size:var(--lede-size);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px;color:var(--ink2)}
.pform .lbl{display:flex;align-items:center;gap:8px;font-size:var(--t-micro);font-weight:700;color:var(--ink);margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em}
.pform .lbl i{width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;font-size:var(--t-micro);font-weight:700;display:grid;place-items:center;flex:none}
.tiers{display:grid;gap:8px;margin-bottom:18px}
.tier{all:unset;box-sizing:border-box;position:relative;cursor:pointer;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;border:1.5px solid var(--line2);background:#fff;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .12s var(--ease)}
.tier:hover{border-color:rgba(20,20,20,.3)}.tier:active{transform:scale(.96)}
.tier.on{border-color:var(--red);background:var(--redsoft);box-shadow:0 6px 18px var(--accent-tint)}
.tier .mk{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line3);display:block;position:relative}
.tier.on .mk{border-color:var(--red);background:var(--red)}
.tier.on .mk::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(42deg)}
.tier .tx{min-width:0}
.tier .tx b{display:block;font-size:var(--t-small);font-weight:600;letter-spacing:-.01em;line-height:1.25}
.tier .tx small{display:block;font-size:var(--t-micro);color:var(--mute);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tier .pr{text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end}
.tier .pr small{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.tier .pr b{font-size:var(--num-md);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.tier .bdg{display:none}
.pf-media{position:relative;margin:-20px -20px 16px;border-radius:24px 24px 0 0;overflow:hidden;aspect-ratio:16/8;background:var(--sand)}.pf-media img{width:100%;height:100%;object-fit:cover;display:block}
.pf-media .tag{position:absolute;left:14px;top:14px;margin:0}
.tier .tx em{display:block;font-style:normal;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:3px}
.tier.on .tx em{color:var(--red)}
.tier .tx small{white-space:normal!important;overflow:visible!important;line-height:1.35}
.pform .solo-price{margin:0 0 14px;font-variant-numeric:tabular-nums}.pform .solo-price b{font-size:var(--num-lg);font-weight:600;letter-spacing:-.03em}.pform .solo-price small{color:var(--mute);font-size:var(--t-small)}
.pf-media img{transition:opacity .3s ease}
.pform .tiers{margin-bottom:16px}
.tier.on{background:#fff}
.tier .bdg.dark{background:var(--ink)}
.guests{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}
.chip{all:unset;box-sizing:border-box;cursor:pointer;min-width:0;overflow:hidden;text-align:center;padding:10px 6px;border-radius:10px;border:1.5px solid var(--line2);background:#fff;font-size:var(--t-small);font-weight:600;transition:border-color .15s,background-color .15s,transform .15s var(--ease)}
.chip:active{transform:scale(.96)}.chip.on{border-color:var(--red);background:var(--redsoft)}
.chip.n{padding:10px 0;font-size:var(--t-small)}
.pform .tot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;margin-bottom:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pform .tot .k{font-size:var(--t-small);color:var(--ink2)}.pform .tot .k b{font-weight:600;color:var(--ink)}
.pform .tot .k small{display:block;font-size:var(--t-micro);color:var(--mute);margin-top:2px}
.pform .tot .v{font-size:var(--num-lg);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pform .perks{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:var(--t-micro);color:var(--mute);margin-top:12px}
.pform .perks span{display:flex;align-items:center;gap:5px}
.pform .fine{display:flex;align-items:flex-start;gap:6px;font-size:var(--t-micro);line-height:1.4;color:var(--mute);margin-top:10px;text-align:left}
.pform .fine .icon{margin-top:1px}
.slot{min-height:430px;border-radius:14px;background:var(--paper)}

/* trust strip */
.trust{border-bottom:1px solid var(--line);background:#fff}
.trust .wrap{padding:22px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:var(--t-small)}
.trust .via{color:var(--mute);display:flex;align-items:center;gap:8px}.trust .via strong{color:var(--ink)}
.stats{display:flex;gap:40px;flex-wrap:wrap}
.stats span{display:flex;flex-direction:column}
.stats strong{font-size:var(--num-md);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.stats strong i{color:var(--gold);font-size:var(--t-small);margin-left:4px;font-style:normal}
.stats small{color:var(--mute);font-size:var(--t-micro)}

/* start here */
.trows{display:grid;gap:12px}
.trow{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px 20px;align-items:center;padding:12px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.trow:hover{transform:translateX(6px);box-shadow:0 12px 30px var(--line);color:var(--ink)}
.trow.noimg{grid-template-columns:minmax(0,1fr) auto}
.trow .im{width:96px;height:72px;border-radius:10px;background:#ddd;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.trow .im img{width:100%;height:100%;object-fit:cover}
.trow .who{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:-12px -12px 0;padding:8px 16px 8px 12px;font-size:var(--t-small);font-weight:600;line-height:1.3;color:var(--red2);background:var(--redsoft);border-radius:22px 22px 0 0;box-shadow:inset 0 -1px 0 rgba(0,0,0,.05)}.trow .who i{width:18px;height:18px;flex:none;border-radius:50%;background:var(--red);display:grid;place-items:center;line-height:0}.trow .pick{font-size:var(--card-title);font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.trow .cta{display:flex;align-items:center;gap:8px;color:#fff;background:var(--red);font-weight:600;font-size:var(--t-small);white-space:nowrap;padding:9px 10px 9px 16px;border-radius:999px;box-shadow:0 6px 16px var(--accent-tint);transition:background-color .15s}.trow:hover .cta{background:var(--red2)}
.trow .why{font-size:var(--t-small);color:var(--mute);line-height:1.45;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trow .cta i{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-style:normal;line-height:0}
/* One or two tours in Start here: tall cards, the photo across the card under who it is for (operator, 28 Oct 2026: "the remaining ones should be bigger (higher) cards with better design and images more visible"). */
.trows.few{gap:18px}
.trows.few .trow{grid-template-columns:minmax(0,1fr);gap:0;align-items:start;padding:0 0 18px;overflow:hidden}
.trows.few .trow .who{margin:0;border-radius:0}
.trows.few .trow .im{width:100%;height:auto;min-height:0;grid-row:auto;aspect-ratio:2/1;border-radius:0;box-shadow:none}.trows.few.n1 .trow .im{aspect-ratio:4/3}
.trows.few .trow>div:not(.who):not(.im){padding:16px 20px 0}
.trows.few .trow .pick{font-size:22px;line-height:1.2}.trows.few .trow .why{-webkit-line-clamp:3}
.trows.few .trow .cta{grid-column:auto;justify-self:start;margin:14px 20px 0}
.trows.few .trow:hover{transform:translateY(-2px)}
.panel{background:#fff;border-radius:20px;padding:30px;border:1px solid var(--line)}
.panel .eyebrow{display:flex;align-items:center;gap:8px}
.kv{display:grid}
.kv div{display:grid;grid-template-columns:22px 104px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--t-body);line-height:1.45}.kv i{display:grid;place-items:center;height:20px}
.kv div:last-child{border-bottom:0}.kv b{font-weight:600}.kv span{color:var(--ink2)}
.kv div.one{grid-template-columns:1fr}

/* tour cards */
/* Three to a row on this template (operator, 2026-09-19), so the cards are wide enough to read. */
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.tgrid.c1{grid-template-columns:minmax(0,460px)}
/* One tour lies on its side on a desktop: the photo left, the rest right (operator, 27 Oct 2026: "the spoke section on the hub page must have different design when it lists one tour. Make it horizontal on desktop") */
@media (min-width:1001px){
.spk .spk-track.n1,.vgbook .tgrid.c1{grid-template-columns:minmax(0,1fr)}.vgbook .tgrid.c1{max-width:920px}
.spk-track.n1 .tcard,.vgbook .tgrid.c1 .tcard{flex-direction:row;align-items:stretch}
.spk-track.n1 .tcard>.im,.vgbook .tgrid.c1 .tcard>.im{flex:0 0 46%;aspect-ratio:auto;min-height:280px;height:auto}
.spk-track.n1 .tcard>.body,.vgbook .tgrid.c1 .tcard>.body{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.spk-track.n1 .tcard .perks{display:grid}.spk-track.n1 .tcard .name{flex:none}.spk-track.n1 .tcard .foot{margin-top:auto}
}
.tgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tcard{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04);transition:transform .25s var(--ease),box-shadow .25s var(--ease);color:var(--ink)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 24px 50px var(--line2);color:var(--ink)}
.tcard.featured{box-shadow:0 0 0 1.5px var(--red),0 16px 40px var(--accent-tint)}
.tcard .im{position:relative;aspect-ratio:4/3;background:#ddd}.tcard .im>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* the card's gallery: a scroll-snap track, so it swipes with no script at all */
.gal{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.gal::-webkit-scrollbar{display:none}
.gal img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;scroll-snap-stop:always}
.gnav{all:unset;box-sizing:border-box;position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,background-color .15s;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.gnav.prev{left:10px}.gnav.next{right:10px}
.gnav:hover{background:#fff}
.tcard:hover .gnav,.gnav:focus-visible{opacity:1}
.gdots{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;gap:5px}
.gdots button{all:unset;cursor:pointer;position:relative;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);box-shadow:0 1px 3px rgba(0,0,0,.35);transition:width .25s var(--ease),background-color .2s}
.gdots button.on{width:16px;border-radius:3px;background:#fff}
.gdots button::after,.dots button::after,.months button::after{content:"";position:absolute;inset:-15px -7px}
@media (hover:none){.gnav{display:none}}
.tcard .badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;align-items:start}
.badge{background:var(--ink);color:#fff;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.tcard.featured .badge:not(.soft){background:var(--red)}
.badge.soft{background:rgba(255,255,255,.95);color:var(--ink);font-weight:600;letter-spacing:0;text-transform:none;padding:5px 9px;display:flex;align-items:center;gap:5px}
.badge.soft i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.6s infinite;display:inline-block}
.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tcard .imfoot{position:absolute;bottom:0;left:0;right:0;padding:36px 14px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));color:#fff;font-size:var(--t-micro);display:flex;align-items:center;gap:6px}
.tcard .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.tcard .rate{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.tcard .rate b{font-size:var(--t-small);font-weight:700;letter-spacing:-.01em}.tcard .rate small{font-size:var(--t-micro);color:var(--mute)}
.tcard .rate .avatars{margin-left:auto}.tcard .rate .avatars img{width:20px;height:20px;border-width:1.5px}.tcard .rate .avatars img+img{margin-left:-7px}
.tcard .name{font-size:var(--card-title);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:8px;overflow-wrap:anywhere}
.tcard .why{font-size:var(--t-body);line-height:1.5;color:var(--ink2);margin:0 0 14px}
.tcard .perks{display:grid;gap:6px;font-size:var(--t-small);color:var(--ink2);margin-bottom:16px;flex:1}
.tcard .social{font-size:var(--t-micro);color:var(--mute);margin-bottom:14px;display:flex;align-items:center;gap:6px}
.tcard .social.signal{color:var(--ink2);font-weight:500}
.tcard .opt{font-size:var(--t-micro);color:var(--ink2);margin:-2px 0 12px;display:flex;align-items:flex-start;gap:6px;line-height:1.35}.tcard .opt svg{flex:none;margin-top:2px}.tcard .opt b{font-weight:600}
.tcard .foot{border-top:1px solid var(--line);padding-top:14px}
.tcard .pr{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}
.tcard .from{font-size:var(--t-micro);color:var(--mute);text-transform:uppercase;letter-spacing:.1em}
.tcard .amt{font-size:var(--num-lg);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.tcard .amt small{font-size:var(--t-small);font-weight:500;color:var(--mute)}
.save{background:var(--greensoft);color:var(--green);font-size:var(--t-micro);font-weight:700;padding:4px 8px;border-radius:6px}
.tcard .book{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--ink);color:#fff;font-size:var(--t-small);font-weight:600;padding:13px;border-radius:12px;transition:transform .15s var(--ease),background-color .15s}
.tcard .book:hover{background:var(--red);color:#fff;transform:translateY(-1px)}.tcard .book:active{transform:scale(.96)}
.tcard.featured .book{background:var(--red)}
.tcard .fine{font-size:var(--t-micro);color:var(--mute);text-align:center;margin-top:8px}
/* Links to other pages read as navigation, not as a sentence someone cut up (operator, 2026-09-19). */
.more{margin-top:36px;display:flex;gap:10px;flex-wrap:wrap;font-size:var(--t-small);align-items:center}
.more .muted{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-right:6px}
.more a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line2);background:#fff;font-weight:500;transition:border-color .15s,background-color .15s,transform .15s var(--ease)}
.more a .icon{color:var(--red);transition:transform .15s var(--ease)}
.more a:hover{border-color:var(--ink);color:var(--ink)}
.more a:hover .icon{transform:translateX(3px)}

/* what you'll see */
.wys-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:var(--t-body);line-height:1.55}
.wys-facts b{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:600}
.wys-facts .list{color:var(--ink2);display:grid;gap:5px}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;gap:14px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:18px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;transition:transform .4s var(--ease)}
.mosaic img:first-child{grid-row:span 2}.mosaic img:hover{transform:scale(1.02)}
.mosaic.n1{grid-template-columns:1fr}.mosaic.n1 img{grid-row:span 2}.mosaic.n2 img:first-child{grid-row:span 2}

/* how to book */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;border-top:1px solid var(--line2)}
.step{padding-top:28px;position:relative}
.step::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:2px;background:var(--red)}
.step .n{font-family:var(--serif);font-size:var(--num-xl);color:var(--red);line-height:1;margin-bottom:18px}
.step .t{font-size:var(--card-title);font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
.step p{font-size:var(--t-body);line-height:1.55;color:var(--ink2);margin:0 0 14px}
.tip{font-size:var(--t-body);line-height:1.5;color:var(--ink2);background:#fff;border-radius:10px;padding:10px 12px;margin-top:8px;border-left:3px solid var(--mute2)}
.tip b{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);margin-bottom:3px;font-size:var(--t-micro);letter-spacing:.04em;text-transform:uppercase}
.tip.pro{border-color:var(--green)}.tip.pro b{color:var(--green)}.tip.pro b i{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
.tip.imp{border-color:var(--red);background:var(--redsoft)}.tip.imp b{color:var(--red)}
.tip.rec{border-color:var(--navy);background:#EEF3F6}.tip.rec b{color:var(--navy)}
.tip.mis b{color:var(--mute)}

/* reviews */
.rsum{text-align:right}.rsum .n{font-size:var(--num-lg);font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;justify-content:flex-end;gap:10px}.rsum .n .star-text{font-size:var(--card-title);vertical-align:middle}.rsum small{font-size:var(--t-small);color:var(--mute);display:block}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;list-style:none;margin:0;padding:0}.rgrid>li{display:flex;min-width:0}.rgrid>li>.rcard{flex:1;min-width:0}
.rrow{position:relative}.rgrid.carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}.rgrid.carousel::-webkit-scrollbar{display:none}
.rgrid.carousel>li{flex:0 0 400px;scroll-snap-align:start}
.carousel .rcard{aspect-ratio:auto;height:500px;background:#141414}
/* on a phone the second review is out of sight: the row nudges left once when it comes into view, to say it scrolls (operator, 2026-09-30) */
.rgrid.carousel.nudge>li{animation:rnudge 2s var(--ease) .3s infinite}
@keyframes rnudge{0%,52%,100%{transform:none}16%{transform:translateX(-64px)}32%{transform:none}42%{transform:translateX(-20px)}}
/* the picture ends a fifth above the bottom and fades out into the card, so the quote sits on the card and not on the photo (operator, 2026-09-30) */
.carousel .rcard>img{inset:0 0 auto;height:80%;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
.carousel .rcard .shade{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(20,20,20,.55) 80%)}
.rnav{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.rnav button{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;background:var(--sand2);display:grid;place-items:center;transition:background-color .15s,transform .15s var(--ease)}.rnav button:hover{background:var(--ink);color:#fff}.rnav button:active{transform:scale(.96)}
.rcard{position:relative;display:flex;flex-direction:column;justify-content:end;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#333;color:#fff;transition:transform .25s var(--ease)}
.rcard:hover{color:#fff;transform:translateY(-4px)}
.rcard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rcard .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.8) 100%)}
.rcard .out{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);display:grid;place-items:center}
.rcard .in{position:relative;padding:22px}
.rcard .star-text{margin-bottom:10px;display:block}
.rcard p{font-size:var(--t-body);line-height:1.55;margin:0 0 16px;font-weight:500}
.rcard .who{display:flex;align-items:center;gap:10px}
.rcard .who .av{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.5);flex:none;background:#ccc;object-fit:cover;display:grid;place-items:center;font-size:var(--t-small);font-weight:700;color:var(--ink)}
.rcard .who div{font-size:var(--t-small);line-height:1.3;min-width:0}.rcard .who b{font-weight:600;display:block;overflow-wrap:anywhere}.rcard .who small{opacity:.75;font-size:var(--t-micro)}

/* itinerary */
.stops{border-top:1px solid var(--line2)}
.stop{all:unset;box-sizing:border-box;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px 12px;margin:0 -12px;border-bottom:1px solid var(--line2);width:calc(100% + 24px);cursor:pointer;border-radius:12px;transition:background .3s}
.stop.on{background:var(--accent-tint-soft)}
.stop .n{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:var(--t-micro);font-weight:700;display:grid;place-items:center;margin-top:2px;transition:background .3s}
.stop.on .n{background:var(--red)}
.stop .nm{display:block;font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em;margin-bottom:4px}
.stop .role,.rphoto figcaption .role{display:block;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:2px}
.stop.r-pickup .n,.stop.r-meeting .n,.stop.r-dropoff .n{background:var(--red)}
.rp.role b{background:var(--red);min-width:28px;height:28px;border-radius:50% 50% 50% 4px}
.stop .tx{display:block;font-size:var(--t-body);line-height:1.5;color:var(--ink2)}
.stop .du{font-size:var(--t-small);color:var(--mute);white-space:nowrap;margin-top:3px}
.mpts{display:grid;gap:10px;padding:10px 0 18px 44px;border-bottom:1px solid var(--line2);margin-top:4px}
.mpt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--t-small);color:var(--ink2)}
.mpt span{font-weight:600;color:var(--ink)}
.mpt a{display:inline-flex;align-items:center;gap:4px;color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-size:var(--t-small)}
.mpt a:hover{color:var(--ink)}
.wys-facts.full{margin-top:36px;padding-top:28px;border-top:1px solid var(--line2);gap:24px 56px}
.wys-facts.n1{grid-template-columns:minmax(0,1fr)}.wys-facts.n1 .list{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:6px 28px}
.strip.full{grid-auto-columns:minmax(180px,1fr);margin-top:28px}
.dots{display:flex;gap:6px;flex:none}
.dots button{all:unset;cursor:pointer;position:relative;width:10px;height:6px;border-radius:3px;background:var(--ink);transition:width .3s var(--ease),background-color .3s;box-shadow:0 0 0 8px transparent}
.dots button.on{width:26px;background:var(--red)}
.map{border-radius:20px;overflow:hidden;min-height:340px;margin-top:14px;background:var(--visual)}
.route .rside{position:sticky;top:calc(var(--hdr-h,88px) + 14px);display:flex;flex-direction:column;gap:12px}
.rmap{position:relative;aspect-ratio:16/9;min-height:0;margin:0}
.rphoto{position:relative;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--navy)}
.rphoto.solo{aspect-ratio:4/3}
.rphoto .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease-out}
.rphoto div.ph{background:var(--navy)}
.rphoto .ph{pointer-events:none}.rphoto .ph.on{pointer-events:auto;z-index:1}.rphoto figcaption{z-index:2}
.rphoto .ph.sv iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rphoto figcaption.over-sv{right:64px;bottom:28px}
.rphoto figcaption .src{margin-left:auto;align-self:center;flex:none;font-style:normal;font-size:var(--t-micro);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);background:var(--sand);padding:3px 8px;border-radius:999px}
.rphoto .ph.on{opacity:1}
.rphoto figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.95);color:var(--ink);border-radius:14px;padding:12px 14px;box-shadow:0 8px 24px rgba(0,0,0,.14);font-size:var(--t-small);line-height:1.45;animation:fadeup .5s ease-out}
.rphoto figcaption[hidden]{display:none}
.rphoto figcaption i{width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:var(--t-micro);font-weight:700;display:grid;place-items:center;font-style:normal;flex:none}
.rphoto figcaption strong{font-weight:600}
.rphoto figcaption .du{color:var(--mute)}
.rphoto figcaption .tx{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink2);margin-top:2px}
.rp{all:unset;cursor:pointer;display:block;line-height:0}
.rp b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;box-sizing:border-box;border-radius:13px;background:var(--ink);color:#fff;font:700 11px/1 var(--sans);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:background-color .3s,transform .3s}
.rp .rl{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);white-space:nowrap;max-width:190px;overflow:hidden;text-overflow:ellipsis;font:600 12px/1.25 var(--sans);color:var(--ink);background:rgba(255,255,255,.9);padding:3px 7px;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:background-color .3s,color .3s}
.rp.on{z-index:3}
.rp.on b{background:var(--red);transform:scale(1.15)}
.rp b{position:relative}.rp.on b::after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--red);animation:rping 1.8s ease-out infinite}
@keyframes rping{from{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}
@media (prefers-reduced-motion:reduce){.rp.on b::after{animation:none;opacity:0}}
.rp.on .rl{background:var(--red);color:#fff}
.rmap.crowded .rp .rl{display:none}
.rmap.crowded .rp.on .rl,.rmap.crowded .rp:hover .rl{display:block}
.mbx-mark{position:absolute;left:10px;bottom:10px;z-index:2;font:700 13px/1 var(--sans);letter-spacing:-.02em;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.4);text-decoration:none}
.rdot{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--red);box-shadow:0 0 0 6px var(--accent-tint),0 2px 6px rgba(0,0,0,.3);pointer-events:none;z-index:2}
.tbar{display:flex;gap:3px;height:8px;margin-top:12px}.tbar span{border-radius:4px;background:var(--line2);transition:background-color .3s;min-width:6px}.tbar span.on{background:var(--red)}
.rchips{display:flex;gap:8px;flex-wrap:wrap;align-self:end}.rchips span{font-size:var(--t-small);font-weight:600;padding:8px 14px;border-radius:999px;background:var(--sand2);white-space:nowrap}
.wys-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:4px 0 40px}.wys-cols .prose p{margin:0 0 14px}
.strip.side{grid-auto-columns:minmax(140px,1fr);margin-top:16px}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;margin-top:44px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.strip img{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px;scroll-snap-align:start}

/* offer */
.offer .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.offer .lead{color:rgba(255,255,255,.75);max-width:520px;font-size:var(--lede-size);line-height:1.6;margin:0 0 30px}
.ostats{display:grid;grid-template-columns:repeat(3,auto);gap:28px;justify-content:start;font-size:var(--t-small);color:rgba(255,255,255,.7)}
.ostats strong{color:#fff;font-size:var(--num-lg);display:block;letter-spacing:-.02em}
.offer .live{margin-top:32px;color:rgba(255,255,255,.75)}
.ocopy p{color:rgba(255,255,255,.78);max-width:520px;font-size:var(--lede-size);line-height:1.6;margin:0 0 14px}
.opoints{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px;max-width:540px}
.opoints li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start}
.opoints i{width:22px;height:22px;border-radius:50%;background:var(--red);display:grid;place-items:center;margin-top:2px}
.opoints b{display:block;color:#fff;font-size:var(--t-body);font-weight:600;letter-spacing:-.01em}
.opoints span{display:block;color:rgba(255,255,255,.7);font-size:var(--t-small);line-height:1.5;margin-top:2px}
.oclose{color:#fff;font-weight:600;margin:22px 0 26px;max-width:520px}
.wbox{background:#fff;color:var(--ink);border-radius:24px;padding:12px;min-height:520px;box-shadow:0 30px 70px rgba(0,0,0,.4)}
.wbox .slot{min-height:496px;border-radius:12px;background:var(--paper)}
.ocard{display:flex;flex-direction:column;gap:16px;padding:12px}
.ocard .im{border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#ddd}.ocard .im img{width:100%;height:100%;object-fit:cover}
.ocard .name{font-size:var(--card-title);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.ocard .facts{display:grid;gap:8px;font-size:var(--t-body);color:var(--ink2)}
.ocard .pr{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}

/* comparison */
.cmp-wrap{position:relative}
.cmp-table{overflow-x:auto;border-radius:20px;border:1px solid var(--line);background:#fff;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
/* the edge fades while there is more to the right, so a narrow screen shows the table scrolls */
.cmp-wrap::after{content:"";position:absolute;top:1px;right:1px;bottom:1px;width:36px;border-radius:0 20px 20px 0;background:linear-gradient(90deg,rgba(255,255,255,0),#fff);pointer-events:none;opacity:0;transition:opacity .2s}.cmp-wrap.more::after{opacity:1}
.cmp{min-width:1060px;display:grid;grid-template-columns:var(--cmp-cols);font-size:var(--t-small)}
.cmp .th{padding:16px 12px;font-size:var(--t-micro);color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.1em;background:#fff;border-bottom:2px solid var(--ink);display:flex;flex-direction:column;justify-content:end}.cmp .th small{font-size:var(--t-micro);text-transform:none;letter-spacing:0;color:var(--mute);font-weight:500;margin-top:3px}
.cmp .th:first-child{padding-left:20px}
.cmp .td{padding:18px 12px;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;color:var(--ink2);font-size:var(--t-small);line-height:1.45}
.cmp .pick .td{background:var(--greensoft)}
.cmp .tour{padding-left:20px;flex-direction:row;gap:14px;align-items:center;color:var(--ink)}
.cmp .thumb{width:76px;height:58px;border-radius:10px;flex:none;background:#ddd;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.cmp .thumb img{width:100%;height:100%;object-fit:cover}
.cmp .nm{font-weight:600;font-size:var(--t-body);letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}.cmp .nm .opt{display:block;font-size:var(--t-micro);color:var(--mute);font-weight:500;margin-top:2px}
.cmp .rt{font-size:var(--t-micro);color:var(--mute);margin-top:3px;display:flex;align-items:center;gap:4px}.cmp .rt .star{color:var(--gold)}
.ourpick{display:inline-block;background:var(--red);color:#fff;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-bottom:5px}
.cmp .price{font-weight:600;font-size:var(--num-md);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.cmp .price small{font-size:var(--t-micro);font-weight:500;color:var(--mute);letter-spacing:0}
.cmp .price.best{color:var(--green)}
.cmp .note{font-size:var(--t-micro);color:var(--mute)}
.cmp .dur{flex-direction:row;align-items:center;gap:6px}
.cmp .act{padding-right:20px;align-items:end;gap:6px}
.cmp .act small{font-size:var(--t-micro);color:var(--mute);white-space:nowrap}
/* The table's Book buttons are plain links that never move (operator, 6 Oct 2026: they flickered while scrolling on a phone). */
.cmp .act .btn,.cmp .act .btn:hover,.cmp .act .btn:active{transition:none;transform:none}
.bars{display:inline-flex;gap:3px}.bars i{width:8px;height:18px;border-radius:2px;background:var(--line2)}.bars i.on{background:var(--red)}
.cmp .td.verdict{font-size:var(--t-small);line-height:1.45}

/* know before you go: the trip in order */
.ktools{display:flex;align-items:center;gap:10px;align-self:end}
.konly{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:7px;font-size:var(--t-micro);font-weight:600;color:var(--ink2);border:1px solid var(--line2);border-radius:999px;padding:7px 14px;transition:background-color .15s,color .15s,border-color .15s}
.konly:hover{border-color:var(--ink)}
.konly[aria-pressed="true"]{background:var(--redsoft);border-color:var(--red);color:var(--red)}
.kbrief{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;align-items:start}
.kphases{position:sticky;top:calc(var(--hdr-h,88px) + 16px);display:grid;gap:2px}
.kphases button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;color:var(--mute);transition:background-color .2s,color .2s}
.kphases button .pn{font-family:var(--serif);font-size:var(--t-body);line-height:1}
.kphases button .t{font-size:var(--t-small);font-weight:500;line-height:1.25}
.kphases button .c{font-size:var(--t-micro);font-weight:700;color:var(--mute);background:var(--sand);border-radius:999px;padding:2px 7px;font-variant-numeric:tabular-nums}
.kphases button:hover{background:var(--paper);color:var(--ink)}
.kphases button.on{background:var(--paper);color:var(--ink)}
.kphases button.on .pn{color:var(--red)}.kphases button.on .t{font-weight:600}
.kflow{display:grid;gap:34px}
.kphase{scroll-margin-top:16px}
.kphase header{display:flex;align-items:center;gap:14px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--line2)}
.kphase header .pn{font-family:var(--serif);font-size:var(--num-lg);line-height:1;color:var(--red)}
.kphase header b{display:block;font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em}
.kphase header small{display:block;font-size:var(--t-small);color:var(--mute);margin-top:2px}
.kphase header .pc{margin-left:auto;font-size:var(--t-micro);font-weight:700;color:var(--mute);background:var(--paper);border-radius:999px;padding:4px 10px}
.krows{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.krows .kcard:only-child{grid-column:span 2}
.kcard{background:var(--paper);border:1px solid transparent;border-radius:16px;padding:16px 18px;transition:border-color .2s,transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s}
.kcard:hover{border-color:var(--line2);box-shadow:0 10px 26px rgba(20,20,20,.05)}
.kcard.blocker{background:var(--redsoft)}
.kcard.lv-know,.kcard.lv-good{background:var(--paper)}
.kcard mark{background:none;color:inherit;font-weight:600;box-shadow:inset 0 -7px 0 var(--accent-tint)}.kcard.lv-know mark{box-shadow:inset 0 -7px 0 rgba(232,154,30,.32)}.kcard.lv-good mark{box-shadow:inset 0 -7px 0 rgba(30,158,90,.22)}
.kcard.lv-stop .klab em{color:var(--red)}.kcard.lv-know .klab em{color:#A86A06}.kcard.lv-good .klab em{color:var(--green)}
.kcard.lv-know .klab b,.kcard.lv-good .klab b{color:var(--ink)}
.klab em{margin-left:auto}
.ktools:has(.klegend){flex-direction:column;align-items:flex-end}
.klegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--t-micro);font-weight:600;color:var(--ink2);margin-bottom:10px}
.klegend span{display:inline-flex;align-items:center;gap:5px}
.klab{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--mute)}
.klab b{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:700}
.klab em{font-style:normal;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--red)}
.kcard.blocker .klab b{color:var(--red)}
.kcard p{font-size:var(--t-body);line-height:1.6;color:var(--ink2);margin:0;text-wrap:pretty}
.kpoints{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:var(--t-body);line-height:1.5;color:var(--ink2)}
.kpoints li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;text-wrap:pretty}
.kpoints li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--mute2);margin:8px 0 0 4px}
.kcard .hit{font-weight:600;color:var(--red);box-shadow:inset 0 -6px 0 var(--accent-tint)}
.kcard .hit.soft{color:var(--ink);box-shadow:inset 0 -7px 0 var(--gold-tint)}
.kcard.rise{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.kcard.rise.in{opacity:1;transform:none}
.kbrief.blockers .kcard:not(.blocker),.kbrief.blockers .kphase.empty{display:none}
.kshot{margin:44px 0 0;border-radius:20px;overflow:hidden;position:relative}
.kshot img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.kshot figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 24px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff;font-size:var(--t-small);font-weight:500}

/* travel guide */
.toc{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
figure.fig{margin:0 0 56px}
figure.fig .im{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/9;background:#ccc;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
figure.fig .im img{width:100%;height:100%;object-fit:cover}
figure.fig .loc{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:12px;padding:10px 14px;font-size:var(--t-small);display:flex;gap:10px;align-items:center}
figcaption{font-size:var(--t-small);color:var(--mute);margin-top:10px;display:flex;gap:8px;align-items:baseline}figcaption b{font-weight:600;color:var(--ink)}
.gsec{scroll-margin-top:16px}
.gsec .n{font-family:var(--serif);font-size:var(--t-small);color:var(--red);margin-bottom:8px}
.gsec h3,.gsec>h2.gh{font-family:var(--display);font-size:var(--h3-size);font-weight:var(--display-weight);letter-spacing:var(--h1-track);line-height:1.05;margin:0 0 14px;color:var(--ink);text-wrap:balance}
.gsec p{margin:0 0 18px;font-size:var(--t-body);line-height:1.7;color:var(--ink2);text-wrap:pretty}
.gsec p a{color:var(--red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.gsec p a:hover{text-decoration-thickness:2px}.il{color:var(--red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.il:hover{text-decoration-thickness:2px}.bg-ink .il{color:var(--pink)}
.gsec .drop::first-letter{float:left;font-family:var(--serif);font-size:calc(var(--num-xl) * 1.9);line-height:.8;padding:8px 10px 0 0;color:var(--ink)}
/* The editorial guide's elements (operator, 5 Oct 2026: borrowed from the Editorial Guide template). */
.ghead{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px 56px;align-items:end;margin-bottom:40px}
.ghead.one{grid-template-columns:minmax(0,1fr)}
.cols.c-guide.g3{grid-template-rows:auto 1fr;row-gap:16px}
.g3>.gtoc{grid-column:2;grid-row:1;align-self:start;background:#fff;border-radius:18px;border-left:0;padding:20px 22px;box-shadow:0 0 0 1px var(--line)}
.g3>article{grid-column:1;grid-row:1/span 2}
.g3>.side{grid-column:2;grid-row:2;align-self:start}
/* The lead picture fills the content column; pictures inside the chapters are square (operator, 6 Oct 2026). */
figure.fig.glead .im{aspect-ratio:3/2}figure.fig.glead .im img{width:100%;height:100%;object-fit:cover}
.c-guide article figure.gfig{max-width:560px;margin-inline:auto}.c-guide article figure.gfig img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover}
.c-guide article figure.gfig.wide{max-width:none}.c-guide article figure.gfig.wide img{aspect-ratio:auto}
figure.gfig.wide img{aspect-ratio:auto}figure.fig.wide .im{aspect-ratio:auto}figure.fig.wide .im img{height:auto;display:block}
@media (max-width:1000px){.g3>*{grid-column:auto!important;grid-row:auto!important}}
.ghead .serif-lead{max-width:620px;margin-top:18px;font-family:var(--sans);font-style:normal;font-weight:500;font-size:var(--lede-size);line-height:1.5;color:var(--ink)}
.gtoc{display:grid;gap:2px;border-left:1px solid var(--line2);padding-left:22px}
.gtoc .eyebrow{margin-bottom:8px}
.gtoc a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:6px 0;font-size:var(--t-small);color:var(--ink);line-height:1.35;text-decoration:none}
.gtoc a span{font-family:var(--serif);color:var(--red)}
.gtoc a:hover{color:var(--red)}
.btn.sm{padding:10px 18px;font-size:var(--t-small);box-shadow:none}
.gtour{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border-radius:18px;padding:12px;margin:6px 0 40px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 8px 22px rgba(0,0,0,.04)}
.gtour .im img{width:96px;height:72px;object-fit:cover;border-radius:12px;display:block}
.gtour .eyebrow{margin-bottom:2px;font-size:var(--t-micro)}
.gtour b{display:block;font-size:var(--t-body);font-weight:600;line-height:1.3;color:var(--ink)}
.gtour small{display:block;color:var(--mute);font-size:var(--t-micro);margin-top:3px}
.gtour .act{display:grid;gap:6px;justify-items:end}
.gtour .pr{font-size:var(--lede-size);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.gtour .pr{display:grid;gap:1px;line-height:1.15}
.gtour .pr small{display:block;margin:0;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.gtour .pr .amt{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gtour .pr .amt em{font-style:normal;font-size:var(--t-small);font-weight:500;letter-spacing:0;color:var(--mute)}
.gtour .pr .pinfo{margin-left:0}
/* The automatic activities widget in the guide's "what else to do" chapter, framed like the tour rows (9 Oct 2026). */
.gauto{background:#fff;border-radius:20px;padding:16px 16px 8px;margin:6px 0 40px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 8px 22px rgba(0,0,0,.04)}
.gauto-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;margin:0 6px 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.gauto-h .eyebrow{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--t-micro)}
.gauto-h small{color:var(--mute);font-size:var(--t-micro)}
.gauto-w{min-height:260px;border-radius:12px;overflow:hidden}
.gw{background:#fff;border-radius:20px;padding:20px 22px;margin:4px 0 32px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.gw .eyebrow{margin-bottom:4px;font-size:var(--t-micro)}
.wt{font-family:var(--display);font-weight:var(--display-weight);font-size:var(--card-title);letter-spacing:-.01em;line-height:1.2;color:var(--ink);margin-bottom:16px}
.wn{margin:12px 0 0;font-size:var(--t-small);color:var(--mute)}
.gtipw{margin:0 0 28px}.gtipw .tip.rec{background:#fff;box-shadow:0 0 0 1px var(--line2)}
.mstrip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.mstrip button{all:unset;cursor:pointer;text-align:center;font-size:var(--t-micro);color:var(--mute);font-weight:600}.mstrip button.on span{color:var(--ink)}.mstrip button.on i{outline:2px solid var(--ink);outline-offset:1px}
.mstrip .wcap{grid-column:1/-1}
.mstrip i{display:block;height:34px;border-radius:6px;background:var(--sand);margin-bottom:6px}
.mstrip .pk i,.bands .pk i{background:var(--red)}.mstrip .sh i,.bands .sh i{background:rgba(214,17,46,.35)}.mstrip .lo i,.bands .lo i{background:var(--sand)}
.bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px}
.bands div{border:1px solid var(--line2);border-radius:14px;padding:12px 14px}
.bands b{display:flex;align-items:center;gap:6px;font-size:var(--t-small);color:var(--ink)}
.bands b i{width:10px;height:10px;border-radius:3px;display:inline-block}
.bands small{display:block;color:var(--mute);font-size:var(--t-micro);margin:2px 0 6px}
.bands p{margin:0;font-size:var(--t-small);line-height:1.5;color:var(--ink2)}
.bars{display:grid;gap:6px;align-items:end;height:120px}.bars.b12{grid-template-columns:repeat(12,minmax(0,1fr))}.bars.b7{grid-template-columns:repeat(7,minmax(0,1fr))}
.bars button{all:unset;cursor:pointer;display:grid;grid-template-rows:1fr auto;height:100%;text-align:center;font-size:var(--t-micro);color:var(--mute)}.bars button.on i{outline:2px solid var(--ink);outline-offset:1px}.bars button.on span{color:var(--ink);font-weight:700}
.bars i{align-self:end;display:block;width:100%;border-radius:6px 6px 2px 2px;background:#dcd8d0}
.bars .top i{background:var(--red)}.bars .top span{color:var(--red);font-weight:700}
.bars span{margin-top:6px}
.dstrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;height:38px}
.dstrip button{all:unset;cursor:pointer;box-sizing:border-box;border-radius:6px;display:grid;place-items:center;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.dstrip .on{outline:2px solid var(--ink);outline-offset:1px}
.wcap{margin:12px 0 0;font-size:var(--t-small);line-height:1.5;color:var(--ink2);min-height:1.5em}
.dlab em{font-style:normal;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--red);border-radius:999px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.dstrip .d0,.dstrip .d1{background:rgba(214,17,46,.12)}.dstrip .d2{background:rgba(214,17,46,.28)}.dstrip .d3{background:rgba(214,17,46,.45)}.dstrip .d4{background:rgba(214,17,46,.7)}.dstrip .d5{background:var(--red)}
.dlab{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:10px}
.dlab b{display:block;font-size:var(--t-small);color:var(--ink)}.dlab small{display:block;font-size:var(--t-micro);color:var(--mute)}.dlab p{margin:4px 0 0;font-size:var(--t-micro);line-height:1.45;color:var(--ink2)}
.groutes .rt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);margin-top:8px}
.groutes .rt.best{background:var(--greensoft);border-color:transparent}.groutes .rt.off{opacity:.55}
.groutes .rt b{font-size:var(--t-body);color:var(--ink);margin-right:8px}.groutes .rt small{display:block;color:var(--mute);font-size:var(--t-micro);margin-top:2px}
.groutes .rt em{font-style:normal;font-size:var(--t-micro);font-weight:700;padding:2px 7px;border-radius:999px}.groutes .rt em.ok{background:var(--green);color:#fff}.groutes .rt em.no{background:var(--sand);color:var(--mute)}
.groutes .rt .tnum{font-size:var(--lede-size);font-weight:600;color:var(--ink)}
.fr{display:grid;grid-template-columns:minmax(0,1fr) auto 84px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line2)}.fr:first-of-type{border-top:0}
.fr b{display:block;font-size:var(--t-body);color:var(--ink)}.fr small{display:block;color:var(--mute);font-size:var(--t-micro)}
.fr .lv{display:inline-flex;gap:3px}.fr .lv i{width:18px;height:6px;border-radius:3px;background:var(--sand)}
.fr .l1 i:nth-child(1){background:var(--green)}.fr .l2 i:nth-child(-n+2){background:var(--gold)}.fr .l3 i{background:var(--red)}
.fr em{font-style:normal;font-size:var(--t-micro);font-weight:700;color:var(--ink2);text-align:right}
.gw .wsrc,.gnumsw .wsrc,p.wsrc{margin:10px 0 0;font-size:var(--t-micro);color:var(--mute);line-height:1.4}
.lbtns{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}
.lbtns button{all:unset;cursor:pointer;font-size:var(--t-micro);font-weight:600;padding:6px 11px;border-radius:999px;background:var(--paper2,#f1eee8);color:var(--ink2)}
.lbtns button[aria-pressed="true"]{background:var(--ink);color:#fff}
.lbtns button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.glayers .bars{height:132px}
.gnote{margin:0 0 44px;background:#fff;border-radius:18px;box-shadow:0 0 0 1px var(--line);padding:22px 24px}
.gnote .nl{font-size:var(--eb-size);letter-spacing:var(--eb-track);text-transform:uppercase;font-weight:600;color:var(--mute);margin-bottom:10px}
.gnote blockquote{margin:0 0 16px;font-family:var(--sans);font-weight:400;font-style:normal;font-size:1.1875rem;line-height:1.5;color:var(--ink);text-wrap:pretty}
.gnote figcaption{display:flex;align-items:center;gap:10px}
.gnote .av{width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:var(--t-small);flex:none}
.gnote figcaption>span:last-child{font-weight:600;font-size:var(--t-small);color:var(--ink)}
.gnote small{display:block;font-weight:400;font-size:var(--t-micro);color:var(--mute)}
.gseasons .sstrip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:6px 0 10px;align-items:end}
.gseasons .sc{all:unset;cursor:pointer;display:grid;grid-template-rows:72px auto;gap:8px;text-align:center}
.gseasons .sc i{display:block;align-self:end;height:100%;border-radius:4px;background:var(--sand);transition:opacity .2s,outline-color .2s;outline:2px solid transparent;outline-offset:1px}
.gseasons .sc i{border-radius:5px 5px 2px 2px}
.gseasons .sc.b2 i{background:var(--red)}.gseasons .sc.b1 i{background:color-mix(in srgb,var(--red) 42%,var(--sand))}.gseasons .sc.b-1 i{background:repeating-linear-gradient(45deg,var(--sand),var(--sand) 4px,transparent 4px,transparent 8px)}
.gseasons .sc span{font-size:var(--t-micro);color:var(--mute);font-weight:500}
.gseasons .sc.on i{outline-color:var(--ink)}.gseasons .sc.on span{color:var(--ink);font-weight:700}
.gseasons [data-cur="2"] .sc:not(.b2) i,.gseasons [data-cur="1"] .sc:not(.b1) i,.gseasons [data-cur="0"] .sc:not(.b0) i{opacity:.45}
.gseasons .scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0 4px}
.gseasons .scard{padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);transition:opacity .2s,background .2s}
.gseasons .scard b{display:flex;align-items:center;gap:8px;font-size:var(--t-small);font-weight:600;margin-bottom:4px}
.gseasons .scard span{display:block;font-size:var(--t-small);color:var(--ink2)}
.gseasons .scard small{display:block;font-size:var(--t-micro);color:var(--mute);margin-top:2px}
.gseasons .sw{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--sand);box-shadow:inset 0 0 0 1px var(--line2)}.gseasons .sw.b2{background:var(--red);box-shadow:none}.gseasons .sw.b1{background:color-mix(in srgb,var(--red) 42%,var(--sand));box-shadow:none}
.gseasons [data-cur="2"] .scard:not([data-band="2"]),.gseasons [data-cur="1"] .scard:not([data-band="1"]),.gseasons [data-cur="0"] .scard:not([data-band="0"]){opacity:.5}
.gseasons [data-cur="2"] .scard[data-band="2"],.gseasons [data-cur="1"] .scard[data-band="1"],.gseasons [data-cur="0"] .scard[data-band="0"]{background:var(--paper)}
@media (max-width:640px){.gseasons .sc{grid-template-rows:56px auto}.gseasons .sc span{font-size:10px}}
.gholi ul{list-style:none;margin:0;padding:0}
.gholi li{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--line2);align-items:baseline}.gholi li:first-child{border-top:0}
.gholi .tnum{font-size:var(--t-micro);font-weight:600;color:var(--ink)}
.gholi b{display:block;font-size:var(--t-small);color:var(--ink)}.gholi small{color:var(--mute);font-size:var(--t-micro)}
.gwho .wr{display:grid;grid-template-columns:minmax(0,10.5em) minmax(0,1fr) 3em;gap:10px;align-items:center;padding:6px 0;font-size:var(--t-small);color:var(--ink2)}
.gwho .wr i{display:block;height:10px;border-radius:999px;background:var(--line2)}.gwho .wr b{display:block;height:100%;border-radius:999px;background:var(--red)}
.gwho .wr em{font-style:normal;font-weight:700;color:var(--ink);text-align:right}
.gnumsw{margin:4px 0 32px}.gnumsw .gnums{margin-bottom:0}
@media (max-width:760px){.table.stack table,.table.stack tbody,.table.stack tr,.table.stack td{display:block;width:auto}.table.stack thead{display:none}.table.stack tr{padding:14px 18px;border-top:1px solid var(--line)}.table.stack tr:first-child{border-top:0}.table.stack td{padding:3px 0;border:0}.table.stack td.crit{font-weight:700;color:var(--ink);padding-bottom:6px}.table.stack td:not(.crit):not(:empty)::before{content:attr(data-l);display:block;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:600}.table.stack td:empty{display:none}}
.hgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hcard{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.06);display:flex;flex-direction:column}
.hcard .im{aspect-ratio:3/2;overflow:hidden;background:var(--line2)}.hcard .im img{width:100%;height:100%;object-fit:cover}
.hcard .tx{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.hcard b{font-size:var(--t-body);color:var(--ink);line-height:1.3}.hcard small{color:var(--mute);font-size:var(--t-micro)}
.hcard .hst{color:var(--gold,#c9971c);font-size:var(--t-micro);letter-spacing:1px}
.hcard .hd{display:flex;gap:5px;align-items:center;font-size:var(--t-small);color:var(--ink2);margin:4px 0 10px}
.hcard .btn{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.hgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hgrid{grid-template-columns:1fr}.hcard{flex-direction:row}.hcard .im{width:38%;aspect-ratio:auto;flex:none}}
.glmap .lmap{height:340px;border-radius:14px;overflow:hidden;margin:0 0 12px;background:var(--line2)}
@media (min-width:900px){.glmap .lmap{height:440px}}
.glmap .lkey{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.glmap .lkey button{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:var(--t-small);padding:7px 12px;border-radius:999px;border:1px solid var(--line2);background:#fff;color:var(--ink);cursor:pointer}
.glmap .lkey button[aria-pressed="false"]{opacity:.45}
.glmap .lsw{width:12px;height:12px;border-radius:50%;flex:none}
.glmap .lsw.l0{background:var(--red)}.glmap .lsw.l1{background:#2f6db5}.glmap .lsw.l2{background:#2e8b57}.glmap .lsw.l3{background:#8a5cc2}
.glmap .lsw.dens{border-radius:3px;background:linear-gradient(135deg,#ffe066,#ff7b00)}
.glmap .llist{font-size:var(--t-small);line-height:1.5;color:var(--ink2,var(--ink));margin:4px 0 0}
.glmap .llist b{display:block;margin:0 0 4px}.glmap .llist span{display:flex;flex-wrap:wrap;gap:6px}.glmap .llist i{font-style:normal;padding:3px 10px;border-radius:999px;background:var(--sand-2,rgba(0,0,0,.05))}
.gnearmap .nmap{height:280px;border-radius:14px;overflow:hidden;margin:0 0 12px;background:var(--line2)}
.gnearmap li{cursor:pointer;border-radius:10px;padding-left:6px;padding-right:6px;transition:background-color .2s}
.gnearmap li:hover,.gnearmap li:focus-visible{background:var(--sand2,#f0ece4);outline:none}
.gnearmap li.on{background:var(--redsoft)}.gnearmap li.on .i{background:var(--red)}
@media (min-width:900px){.gnearmap .nmap{height:340px}}
/* The options side by side: a table of the options on the points the choice turns on, and each option's months (17 Oct 2026). */
.gmx-t{overflow-x:auto}
.gmx table{width:100%;border-collapse:collapse;font-size:var(--t-small)}
.gmx thead th{font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:left;padding:6px 12px 10px;border-bottom:2px solid var(--ink);vertical-align:bottom}
.gmx tbody th{font-size:var(--t-body);font-weight:700;color:var(--ink);text-align:left;padding:14px 12px;border-bottom:1px solid var(--line2);vertical-align:top;white-space:nowrap}
.gmx a,.gom a{color:inherit;text-decoration:none}.gmx a span,.gom a span{color:var(--red);transition:margin .2s var(--ease)}.gmx a:hover,.gom a:hover{color:var(--red)}.gmx a:hover span,.gom a:hover span{margin-left:3px}
.gmx td{padding:14px 12px;border-bottom:1px solid var(--line2);vertical-align:top;color:var(--ink);line-height:1.4;font-variant-numeric:tabular-nums}
.gmx td.na:before{content:"";display:inline-block;width:14px;height:2px;border-radius:1px;background:var(--line3);vertical-align:middle}
.gmx tbody tr:last-child>*{border-bottom:0}
.gmx .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gmx-m{display:none}
@media (max-width:640px){.gmx-t{display:none}.gmx-m{display:grid;gap:10px}.gmx-m .o{border:1px solid var(--line2);border-radius:14px;padding:14px 16px}.gmx-m .o>b{display:block;font-size:var(--t-body);color:var(--ink);margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid var(--ink)}.gmx-m dl{margin:0;display:grid;gap:8px}.gmx-m dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;font-size:var(--t-small)}.gmx-m dt{color:var(--mute)}.gmx-m dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}}
.gom-g{display:grid;gap:12px}
.gom-r{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr);gap:16px;align-items:center}
.gom-r .n{font-family:var(--sans)}.gom-r .n b{display:block;font-size:var(--t-body);font-weight:700;color:var(--ink);line-height:1.3}.gom-r .n small{display:block;font-family:var(--sans);font-size:var(--t-micro);color:var(--mute);line-height:1.4;margin-top:2px}
.gom-r .c{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.gom-r .c i{display:block;height:26px;border-radius:5px;background:var(--sand)}
.gom-r .c i.l2,.wleg .sw.gl2{background:var(--red)}.gom-r .c i.l1,.wleg .sw.gl1{background:color-mix(in srgb,var(--red) 30%,var(--sand))}.gom-r .c i.l0,.wleg .sw.gl0{background:var(--sand)}.gom-r .c i.lu,.wleg .sw.glu{background:repeating-linear-gradient(45deg,var(--sand),var(--sand) 3px,transparent 3px,transparent 6px)}
.gom-h .c span{text-align:center;font-size:var(--t-micro);font-weight:600;color:var(--mute)}
@media (max-width:640px){.gom-g{gap:16px}.gom-r{grid-template-columns:minmax(0,1fr);gap:6px}.gom-h .n{display:none}.gom-r .c i{height:20px}}
.wleg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:var(--t-micro);color:var(--mute);line-height:1.4}
.wleg span{display:inline-flex;align-items:center;gap:6px}
.wleg .sw{display:inline-block;width:12px;height:12px;border-radius:3px;background:#dcd8d0;flex:none}
.wleg .sw.top{background:var(--red)}
.wleg .sw.d1{background:rgba(214,17,46,.12)}.wleg .sw.d3{background:rgba(214,17,46,.45)}.wleg .sw.d5{background:var(--red)}
.wtap{margin:6px 0 0;font-size:var(--t-micro);color:var(--mute2)}
@media (hover:hover){.wtap{display:none}}
/* Article layouts (Travel Guide for Getting there, Editorial Guide for Info pages; 6 Oct 2026): one numbered article beside a sticky booking rail. */
/* A travel guide reads on white in every palette (operator, 17 Oct 2026: no yellow paper behind the guides). */
.art{padding:28px 0 72px;background:#fff;--sect-bg:#fff}
.ahead{padding-top:8px;padding-bottom:6px}
.gcrumb{font-size:var(--t-small);color:var(--mute);margin:0 0 18px}.gcrumb a{color:var(--mute);text-decoration:none}.gcrumb a:hover{color:var(--red)}.gcrumb span{color:var(--ink)}
.art .ah1{font-size:var(--h2-size);line-height:1.02;margin:10px 0 22px;color:var(--ink);animation:none;max-width:22ch}
.gpills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.gpills a{display:inline-block;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);font-size:var(--t-small);font-weight:500;color:var(--ink);text-decoration:none}.gpills a:hover{box-shadow:0 0 0 1px var(--red);color:var(--red)}
figure.alead{margin:0 0 36px}figure.alead .im{aspect-ratio:21/9}figure.alead .im picture,figure.alead .im img{display:block;width:100%;height:100%;object-fit:cover}.asplit .ar picture{display:block}figure.alead figcaption{margin-top:10px;font-size:var(--t-small);color:var(--mute);max-width:70ch}
.acols{display:grid;grid-template-columns:minmax(0,1.45fr) 340px;gap:48px;align-items:start}
.acols.rail-left{grid-template-columns:320px minmax(0,1fr)}.acols.rail-left .amain{order:2;max-width:780px}.acols.rail-left .grail{order:1}
.amain .gsec{margin:0 0 44px}
.amain .gshort{margin-bottom:40px}
.grail{position:sticky;top:calc(var(--hdr-h,88px) + 16px)}
.rbook .rtitle{display:block;font-size:var(--card-title);line-height:1.25;margin:-4px 0 12px;color:var(--ink)}
.rbook .rpr{display:flex;align-items:baseline;gap:6px;margin:14px 0 12px}.rbook .rpr small{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}.rbook .rpr b{font-size:var(--num-lg);letter-spacing:-.02em}.rbook .rpr em{font-style:normal;font-size:var(--t-small);color:var(--mute)}
.rbook .fine{display:flex;gap:6px;align-items:center;margin-top:10px;font-size:var(--t-micro);color:var(--mute)}
.gans p{font-size:var(--t-body);line-height:1.7}
.gtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:-20px 0 40px}.gtiles>div{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}.gtiles small{display:block;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:600}.gtiles b{display:block;margin-top:6px;font-size:var(--t-body);color:var(--ink);font-weight:500}
.gcall{background:var(--redsoft);border-left:4px solid var(--red);border-radius:6px 16px 16px 6px;padding:16px 20px;margin:-20px 0 40px}.gcall .eyebrow{display:flex;gap:6px;align-items:center;color:var(--red);margin-bottom:6px}.gcall p{margin:0;color:var(--ink);font-size:var(--t-body);line-height:1.55}
.gjourney{background:#fff;border-radius:22px;padding:24px 22px 22px;box-shadow:0 0 0 1px var(--line)}
.nfar{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.nfar .nrent{margin-top:16px;padding:13px 22px;text-decoration:none}.nfar .nrent svg{flex:none}@media (max-width:600px){.nfar .nrent{display:flex;width:100%}}.nfar .wt{margin-bottom:10px}.ncredit{margin-top:12px;color:var(--mute);font-size:var(--t-micro)}.ncredit a{color:inherit}
.gjourney .jgroup+.jgroup{margin-top:22px;padding-top:4px;border-top:1px solid var(--line)}
.gjourney .jtitle{font-size:var(--card-title);font-weight:700;line-height:1.15;color:var(--ink);letter-spacing:-.01em}
.gjourney .jends{display:grid;grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:10px;margin:18px 0 20px}
.gjourney .je b{display:flex;align-items:center;gap:10px;font-size:var(--t-body);font-weight:700;color:var(--ink)}
.gjourney .je small{display:block;margin-top:4px;padding-left:24px;font-size:var(--t-small);color:var(--mute)}
.gjourney .je.to{text-align:right}.gjourney .je.to b{justify-content:flex-end}.gjourney .je.to small{padding-left:0}
.gjourney .jdot{width:14px;height:14px;border:3.5px solid var(--ink);border-radius:50%;box-sizing:border-box;flex:none}
.gjourney .jkm{display:flex;align-items:center;gap:6px;color:var(--ink)}.gjourney .jkm::before,.gjourney .jkm::after{content:"";flex:1;border-top:2px dashed var(--line3)}
.gjourney .jkm span{background:var(--sand2);border-radius:999px;padding:6px 14px;font-weight:700;font-size:var(--t-small);white-space:nowrap}
.gjourney .jrow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;background:var(--sand2);margin-top:10px}
.gjourney .jrow.best{background:var(--greensoft)}
.gjourney .jrow.off{background:#F7F5F1}.gjourney .jrow.off .jt b,.gjourney .jrow.off .jv b,.gjourney .jrow.off .ji{color:var(--mute2)}
.gjourney .ji{width:52px;height:52px;border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--ink)}
.gjourney .jm{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.gjourney .jt b{font-size:var(--t-body);font-weight:700;color:var(--ink)}
.gjourney .jt em{font-style:normal;font-size:var(--t-small);font-weight:700;color:var(--green);background:#fff;border-radius:8px;padding:3px 10px}
.gjourney .jt small{display:block;font-size:var(--t-small);color:var(--mute);margin-top:4px;line-height:1.45}
.gjourney .jv{text-align:right}.gjourney .jv b{display:block;font-size:var(--t-body);font-weight:700;color:var(--ink);white-space:nowrap}.gjourney .jv small{display:block;margin-top:4px;font-size:var(--t-small);color:var(--mute);white-space:nowrap}
.groutemap .rmap{width:100%;max-width:100%;box-sizing:border-box;height:300px;border-radius:14px;overflow:hidden;margin:14px 0 0;background:var(--line2)}
.groutemap .jhead{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:var(--t-body)}
.groutemap .jrow[data-route-i],.groutemap .jrow[data-gsrc]{cursor:pointer;transition:box-shadow .2s}
.groutemap .gmapf iframe{display:block;width:100%;height:100%;border:0}
.groutemap .jrow.on{box-shadow:inset 0 0 0 2px var(--ink)}
.gjourney .jt em.no{color:var(--mute)}
.gjourney .jlink{display:inline-block;margin-top:4px;font-size:var(--t-micro);font-weight:600;color:var(--red);text-decoration:none}
.gjourney .jlink:hover{text-decoration:underline}
/* Rent a car where the drive starts: the card's call to action, under the car row's words (operator, 16 Oct 2026). */
.gjourney .jrent{grid-column:2/-1;justify-self:start;margin-top:2px;padding:13px 22px;text-decoration:none}
/* On a wide screen the rental button sits in its car row, before the time, at the row's own size (operator, 17 Oct 2026: "too big" on desktop). */
@media (min-width:601px){.gjourney .jrow:has(.jrent){grid-template-columns:56px minmax(0,1fr) auto auto}.gjourney .jrow:has(.jrent) .jrent{grid-column:3;grid-row:1;align-self:center;margin:0;padding:8px 14px;font-size:var(--t-small);gap:6px;box-shadow:none}.gjourney .jrow:has(.jrent) .jrent svg{width:15px;height:15px}.gjourney .jrow:has(.jrent) .jv{grid-column:4;grid-row:1}}
.gjourney .jrent svg{flex:none}
@media (max-width:600px){.gjourney .jrent{grid-column:1/-1;justify-self:stretch}}
@media (min-width:900px){.groutemap .rmap{height:340px}}
.ginoffer{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;background:var(--ink);color:#fff;border-radius:20px;padding:18px;margin:0 0 44px}
.ginoffer .im{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#333}.ginoffer .im img{width:100%;height:100%;object-fit:cover}
.ginoffer .eyebrow{color:var(--pink)}.ginoffer b{display:block;font-size:var(--card-title);line-height:1.25;margin:4px 0}.ginoffer small{color:rgba(255,255,255,.7);font-size:var(--t-small)}
.ginoffer .row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.ginoffer .pr{display:flex;align-items:baseline;gap:6px;font-size:var(--num-md);font-weight:600}.ginoffer .pr small{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.1em}.ginoffer .pr em{font-style:normal;font-size:var(--t-small);color:rgba(255,255,255,.7);font-weight:400}.ginoffer .fine{display:block;margin-top:8px;font-size:var(--t-micro)}
.kgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kgrid .kc{background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}.kgrid .kc.kstop{background:var(--redsoft);box-shadow:none}
.kgrid .kl{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.kgrid .kl b{font-size:var(--t-small);text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.kgrid .kl em{font-style:normal;font-size:var(--t-micro);font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.08em;margin-left:auto}
.kgrid p{margin:0;font-size:var(--t-small);line-height:1.6;color:var(--ink2)}.kgrid mark{background:none;color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.gbranch{display:grid;gap:10px}.gbranch>div{background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}.gbranch small{font-size:var(--t-micro);color:var(--mute);text-transform:uppercase;letter-spacing:.08em}.gbranch b{display:block;color:var(--ink);margin:2px 0 4px}.gbranch p{margin:0;font-size:var(--t-small)}
.gdeeper{margin:8px 0 0}.gdeeper .eyebrow{margin-bottom:12px}.gdeeper .lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gband .sect{padding:0 0 40px;background:none}.gband .sect>.wrap{padding:0;max-width:none}
.faq.one details{border-bottom:1px solid var(--line2)}
.asplit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding-bottom:40px}
.asplit .lead{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);max-width:52ch;margin:0}
.asplit .ar{position:relative;border-radius:22px;overflow:hidden;min-height:340px;background:#ccc}.asplit .ar>picture img,.asplit .ar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.asplit .loc{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.92);border-radius:10px;padding:6px 10px;font-size:var(--t-micro);display:flex;gap:6px;align-items:center}
.sanswer{position:relative;margin:120px 16px 16px;background:rgba(20,20,20,.94);color:#fff;border-radius:16px;padding:20px 22px}
.sanswer .pink{font-family:var(--serif);font-style:italic;font-size:var(--t-lead,1.35rem);color:var(--pink);margin-bottom:6px}
.sanswer p{margin:0 0 14px;font-size:var(--t-small);line-height:1.6;color:rgba(255,255,255,.9)}.sanswer b{color:#fff}
.sstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid rgba(255,255,255,.15);padding-top:12px;margin-bottom:10px}.sstats b{display:block;font-size:var(--num-md);color:#fff}.sstats small{font-size:var(--t-micro);color:rgba(255,255,255,.65)}
.sanswer .skip{font-size:var(--t-small);color:var(--pink);font-weight:600;text-decoration:none}
.aprog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:100;transition:width .1s linear}
.mbar{display:none}
@media (max-width:1000px){.acols,.acols.rail-left{grid-template-columns:minmax(0,1fr);gap:24px}.acols.rail-left .amain,.acols.rail-left .grail{order:0}.acols.rail-left .grail{order:3}.grail{position:static}.asplit{grid-template-columns:1fr}.asplit .ar{min-height:0}.asplit .ar>picture img,.asplit .ar>img{position:static;aspect-ratio:16/9}.sanswer{margin:0;border-radius:0 0 16px 16px}
.art-editorial~.mbar,.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;justify-content:space-between;align-items:center;gap:12px;background:#fff;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 20px rgba(0,0,0,.08)}.mbar b{font-size:var(--num-md)}.mbar small{display:block;font-size:var(--t-micro);color:var(--mute)}body:has(.mbar){padding-bottom:76px}}
@media (max-width:640px){.gjourney{padding:18px 14px}.gjourney .jtitle{font-size:1.35rem}.gjourney .jrow{grid-template-columns:44px minmax(0,1fr);gap:4px 12px;padding:14px 12px}.gjourney .jrow .ji{grid-row:span 2}.gjourney .jrow .jv{grid-column:2;text-align:left;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.gjourney .jrow .jv small{margin-top:0}.gjourney .ji{width:44px;height:44px;border-radius:12px}.gjourney .jends{grid-template-columns:minmax(0,1fr);gap:8px;margin:14px 0 16px}.gjourney .je b{font-size:1.05rem;gap:10px}.gjourney .je small{padding-left:24px;margin-top:2px}.gjourney .je.to{text-align:left}.gjourney .je.to b{justify-content:flex-start}.gjourney .je.to small{padding-left:28px}.gjourney .jkm{padding-left:4px;justify-content:flex-start}.gjourney .jkm::before{flex:0 0 14px}.gjourney .jkm::after{flex:1}.gjourney .jv b{font-size:1.15rem}.groutemap .rmap{height:240px}.kgrid,.gdeeper .lgrid{grid-template-columns:1fr}.ginoffer{grid-template-columns:1fr}.gtiles{grid-template-columns:1fr 1fr}figure.alead .im{aspect-ratio:16/10}}
.gdaylight .dlhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.gdaylight .dlhead b{font-size:var(--t-small);color:var(--ink)}
.dlbar{position:relative;height:16px;border-radius:999px;margin:34px 0 8px}
.dlpin{position:absolute;bottom:22px;transform:translateX(-50%)}.dlpin b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;font:700 11px/1 var(--sans)}.dlpin::after{content:"";position:absolute;left:50%;top:20px;width:2px;height:10px;background:var(--red);transform:translateX(-50%)}
.dlhl{position:absolute;top:-3px;bottom:-3px;border:2px solid var(--red);border-radius:6px}
.dlticks{position:relative;height:34px;font-size:var(--t-micro);color:var(--mute)}.dlticks span{position:absolute;top:0;transform:translateX(-50%)}.dlticks span:first-child{transform:none}.dlticks span:nth-child(5){transform:translateX(-100%)}.dlticks .sun{top:16px;color:var(--ink);font-weight:600;white-space:nowrap}
.dlleg{display:flex;flex-wrap:wrap;gap:6px 18px;border-top:1px solid var(--line2);padding-top:10px;font-size:var(--t-small);color:var(--ink2)}.dlleg b{color:var(--red);margin-right:6px}.dlleg i{display:inline-block;width:12px;height:10px;border:2px solid var(--red);border-radius:3px;margin-right:6px;vertical-align:-1px}
.gtry{display:grid;gap:10px}
.trow2{display:grid;grid-template-columns:96px minmax(0,1fr) 28px;gap:16px;align-items:center;background:#fff;border-radius:16px;padding:10px;box-shadow:0 0 0 1px rgba(0,0,0,.06);text-decoration:none;color:inherit;transition:transform .2s var(--ease),box-shadow .2s}
.trow2:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 24px rgba(0,0,0,.06)}
.trow2 .im{display:block;width:96px;height:72px;border-radius:10px;overflow:hidden;background:var(--line2)}.trow2 .im img{width:100%;height:100%;object-fit:cover}
.trow2 small{display:block;font-size:var(--t-micro);color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.trow2 b{display:block;font-size:var(--t-body);color:var(--ink);margin:2px 0}.trow2 b em{font-style:normal;font-size:var(--t-micro);font-weight:600;color:var(--red);margin-left:6px}
.trow2 .tx>span{display:block;font-size:var(--t-small);color:var(--ink2);line-height:1.5}
.trow2 .go{color:var(--red)}
@media (max-width:560px){.trow2{grid-template-columns:72px minmax(0,1fr)}.trow2 .im{width:72px;height:56px}.trow2 .go{display:none}}
.gnear ol{list-style:none;margin:0;padding:0}
.gnear li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line2)}.gnear li:first-child{border-top:0}
.gnear .i{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:var(--t-micro);font-weight:700}
.gnear b{display:block;font-size:var(--t-body);color:var(--ink)}.gnear small{color:var(--mute);font-size:var(--t-micro)}.gnear .tnum{font-weight:600;color:var(--ink)}
.gcheck ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gcheck li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px}.gcheck b{display:block;font-size:var(--t-body);color:var(--ink)}.gcheck small{color:var(--mute);font-size:var(--t-small)}
.gshort{background:var(--sand);border-radius:20px;padding:26px 28px;margin:0 0 48px}
.gshort .eyebrow{margin-bottom:6px}
.gshort .hd,.ginside h4,.gverdict h4,.gcmp h4{font-family:var(--display);font-weight:var(--display-weight);font-size:var(--card-title);letter-spacing:-.01em;line-height:1.15;margin:0 0 14px;color:var(--ink)}
.gshort ol{list-style:none;margin:0;padding:0;display:grid}
.gshort li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line2)}
.gshort li span{font-family:var(--serif);font-size:calc(var(--num-lg) * 1.1);color:var(--red);line-height:1}
.gshort li p{margin:0;font-size:var(--t-body);line-height:1.55;color:var(--ink)}
.gnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 26px}.gnums.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.gnums.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gnums div{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 0 0 1px rgba(0,0,0,.07)}
.gnums small{display:block;font-size:var(--t-small);line-height:1.35;color:var(--mute);margin-top:4px}
.gnums b{display:block;font-size:var(--num-lg);letter-spacing:-.02em;line-height:1.1;color:var(--ink);font-weight:600}
.wt.gnt{margin-bottom:12px}
@media (max-width:560px){.gnums,.gnums.n3{grid-template-columns:repeat(2,minmax(0,1fr))}.gnums.n3>div:last-child{grid-column:1/-1}}
.galert{background:var(--redsoft);border-left:3px solid var(--red);border-radius:0 14px 14px 0;padding:16px 20px;margin:0 0 40px}
.galert .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.galert p{margin:0;font-size:var(--t-body);line-height:1.6;color:var(--ink)}
.gsec .tip{margin:-4px 0 32px}
.gtime{margin:4px 0 44px}
.rscores{display:grid;gap:6px;margin-top:12px;min-width:220px}.rscores div{display:grid;grid-template-columns:110px 1fr 28px;align-items:center;gap:8px;font-size:var(--t-small);color:var(--ink2)}.rscores i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--red) var(--w),var(--line2) var(--w))}.rscores b{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.gcrit ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.gcrit li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start}.gcrit li svg{margin-top:4px}.gcrit b{display:block;font-size:var(--t-body);color:var(--ink)}.gcrit small{display:block;font-size:var(--t-small);color:var(--ink2);line-height:1.5}.gcrit li.n b{color:var(--ink2)}
@media (max-width:760px){.gcrit ul{grid-template-columns:1fr}}
.gtime ol{list-style:none;margin:0;padding:0}
.gt{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;position:relative;padding-bottom:22px}
.gt::before{content:"";position:absolute;left:15px;top:36px;bottom:4px;width:2px;background:var(--line2)}
.gt:last-child{padding-bottom:0}.gt:last-child::before{display:none}
.gt .dot{width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-size:var(--t-small);font-variant-numeric:tabular-nums}
.gt .tx{padding-top:5px;min-width:0}
.gt .w{font-size:var(--t-small);font-weight:600;color:var(--red);line-height:1.4;margin-bottom:2px}
.gt b{display:block;font-size:var(--t-body);font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:2px}
.gt p{margin:0;font-size:var(--t-body);line-height:1.6;color:var(--ink2)}
.goffer{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:18px;align-items:center;background:var(--ink);color:#fff;border-radius:20px;padding:16px;margin:0 0 48px}
.goffer .im img{width:112px;height:84px;object-fit:cover;border-radius:12px;display:block}
.goffer .eyebrow{margin-bottom:4px}
.goffer b{display:block;font-size:var(--lede-size);font-weight:600;line-height:1.3}
.goffer small{display:block;color:rgba(255,255,255,.65);font-size:var(--t-small);margin-top:4px}
.goffer .act{display:grid;gap:8px;justify-items:end}
.goffer .pr{font-size:var(--num-lg);font-weight:600;letter-spacing:-.02em}.goffer .pr small{display:inline;margin:0 6px 0 0;font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.08em}
.gcmp{margin:0 0 44px;background:#fff;border-radius:20px;padding:22px 22px 10px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.gcmp table{width:100%;border-collapse:collapse;font-size:var(--t-small)}
.gcmp thead th{font-size:var(--t-body);font-weight:700;color:var(--ink);text-align:left;padding:10px 12px 12px;border-bottom:2px solid var(--ink);vertical-align:bottom}
.gcmp tbody th{font-size:var(--t-small);font-weight:600;color:var(--mute);text-align:left;padding:12px;border-bottom:1px solid var(--line2);vertical-align:top;width:24%}
.gcmp td{padding:12px;border-bottom:1px solid var(--line2);vertical-align:top;color:var(--ink);line-height:1.45}
.gcmp tbody tr:last-child>*{border-bottom:0}
.gcmp-m{display:none}
@media (max-width:640px){.gcmp{padding:20px 18px 14px}.gcmp table{display:none}.gcmp-m{display:grid;gap:12px}.gcmp-m .o{border:1px solid var(--line2);border-radius:14px;padding:14px 16px}.gcmp-m .o>b{display:block;font-size:var(--t-body);color:var(--ink);margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid var(--ink)}.gcmp-m dl{margin:0;display:grid;gap:8px}.gcmp-m dl>div{display:grid;gap:2px}.gcmp-m dt{font-size:var(--t-small);color:var(--mute);font-weight:600}.gcmp-m dd{margin:0;font-size:var(--t-small);color:var(--ink);line-height:1.45}}
.gquote{margin:0 0 48px;background:#fff;border-radius:20px;padding:26px 28px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.gquote blockquote{margin:0 0 12px;font-family:var(--sans);font-style:normal;font-size:var(--card-title);line-height:1.45;color:var(--ink)}
.gquote figcaption{font-size:var(--t-small);color:var(--mute)}
.ginside{border:1px solid var(--line2);border-radius:20px;padding:24px 26px;margin:0 0 28px;background:var(--paper)}
.gi{padding:14px 0;border-top:1px solid var(--line2)}.gi:first-of-type{border-top:0;padding-top:4px}
.gi b{display:block;font-size:var(--t-body);color:var(--ink);margin-bottom:4px}
.gi p{margin:0;font-size:var(--t-body);line-height:1.6;color:var(--ink2)}
.gmyth{background:#fff;border-radius:20px;padding:22px 26px;margin:0 0 28px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.gm{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line2)}
.gm small{display:block;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--mute);margin-bottom:4px}
.gm div:last-child small{color:var(--green)}
.gm s{color:var(--mute);font-size:var(--t-body)}
.gm p{margin:0;font-size:var(--t-body);line-height:1.55;color:var(--ink)}
.gverdict{background:var(--ink);color:#fff;border-radius:20px;padding:28px;margin:0 0 20px}
.gverdict h4{color:#fff;font-size:var(--h3-size)}
.gverdict p{color:rgba(255,255,255,.8);font-size:var(--t-body);line-height:1.65;margin:0 0 12px}
.gv{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:8px}
.gv small{display:block;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;font-weight:700}
.gv span{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-small);line-height:1.45;color:rgba(255,255,255,.9);margin-bottom:10px}
.gv span svg{flex:none;width:20px;height:20px;padding:4px;border-radius:50%;margin-top:-1px}
.gv .y svg{background:var(--red)}.gv .n svg{background:rgba(255,255,255,.25)}
@media (max-width:760px){.gday .dstrip{display:none}.gday .dlab{grid-auto-flow:row;grid-template-columns:1fr;gap:8px}.gday .dlab>div{border-left:6px solid rgba(214,17,46,.15);padding:6px 0 6px 12px}.gday .dlab .d2{border-color:rgba(214,17,46,.28)}.gday .dlab .d3{border-color:rgba(214,17,46,.45)}.gday .dlab .d4{border-color:rgba(214,17,46,.7)}.gday .dlab .d5{border-color:var(--red)}.groutes .rt{grid-template-columns:1fr}.groutes .rt .tnum{font-size:var(--t-body)}.fr{grid-template-columns:minmax(0,1fr) auto}.fr em{grid-column:1/-1;text-align:left}.ghead{grid-template-columns:1fr}.gtoc{border-left:0;padding-left:0}.gtour{grid-template-columns:72px minmax(0,1fr)}.gtour .im img{width:72px;height:56px}.gtour .act{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center}.dlab{grid-auto-flow:row;grid-template-columns:1fr 1fr}.bars{height:96px}.gnums,.gnums.n3{grid-template-columns:1fr 1fr}.goffer{grid-template-columns:84px minmax(0,1fr)}.goffer .im img{width:84px;height:64px}.goffer .act{grid-column:1/-1;justify-items:stretch;grid-auto-flow:column;align-items:center}.gm,.gv{grid-template-columns:1fr}.gt{grid-template-columns:28px minmax(0,1fr);gap:12px}.gt .dot{width:28px;height:28px}.gt::before{left:13px;top:32px}.gt .tx{padding-top:3px}.gcmp{padding:14px 10px 4px;overflow-x:auto}}
figure.gfig{margin:8px 0 40px}figure.gfig img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
/* A portrait photo is shown square, never cropped to a strip (operator, 5 Oct 2026). */
figure.gfig.tall img{aspect-ratio:1/1;max-width:560px;display:block;margin-inline:auto}figure.gfig.tall figcaption{text-align:center}figure.fig.tall .im{aspect-ratio:1/1;max-width:640px;margin-inline:auto}
.quote{margin:8px 0 40px;padding:28px 32px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.quote p{font-family:var(--sans);font-style:normal;font-size:var(--num-lg);line-height:1.25;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px;text-wrap:balance}
.quote footer{font-size:var(--t-small);color:var(--mute)}
.side{position:sticky;top:calc(var(--hdr-h,88px) + 16px);display:grid;gap:16px}
.sbox{background:#fff;border-radius:20px;padding:22px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.04)}
.sbox .eyebrow{margin-bottom:14px}.sbox .eb-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.sbox .eb-row .eyebrow{margin:0}.sbox .eb-row small{font-size:var(--t-micro);color:var(--mute)}
.glance div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--t-body)}
.glance div:last-child{border-bottom:0}.glance span{color:var(--mute)}.glance b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:90px}
.months button{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;justify-content:end;height:100%}
.months button span{display:block;border-radius:4px 4px 2px 2px;background:var(--line2);transition:background-color .2s,height .3s var(--ease)}
.months button.hi span{background:var(--accent-tint)}.months button.off span{background:var(--line)}.months button.on span{background:var(--red)}
.mlabels{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:6px;font-size:var(--t-micro);color:var(--mute);text-align:center}
.mlabels span.on{font-weight:700;color:var(--ink)}
.mnote{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--t-small);line-height:1.5;color:var(--ink2)}.mnote strong{color:var(--ink)}
.sbox.dark{background:var(--ink);color:#fff}.sbox.dark .eyebrow{color:rgba(255,255,255,.6)}.sbox.dark .eb-row small{color:rgba(255,255,255,.6)}
.pack{display:grid;gap:2px}
.pack button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:9px 6px;margin:0 -6px;border-radius:10px;font-size:var(--t-small);width:calc(100% + 12px);transition:background-color .15s;color:#fff}
.pack button:hover{background:rgba(255,255,255,.08)}
.pack .box{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);transition:background-color .15s}.pack .box svg{opacity:0;transition:opacity .15s}
.pack button.on .box{background:var(--red);box-shadow:none}.pack button.on .box svg{opacity:1}
.pack button.on .lb{text-decoration:line-through;color:rgba(255,255,255,.5)}
.pack small{display:block;font-size:var(--t-micro);color:rgba(255,255,255,.55)}
/* what the tours hand out, above the packing list */
.given{display:grid;gap:2px;margin:6px 0 18px}.given>div{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:var(--t-small);color:#fff}
.given .box{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;background:var(--green)}.given small{display:block;font-size:var(--t-micro);color:rgba(255,255,255,.55)}

/* spokes */
.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.lcard{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease);color:var(--ink)}
.lcard:hover{color:var(--ink);transform:translateY(-4px);box-shadow:0 16px 36px var(--line)}
.lcard .im{aspect-ratio:16/10;background:#ccc;overflow:hidden}.lcard .im img{width:100%;height:100%;object-fit:cover}
.lcard .body{padding:20px;display:flex;flex-direction:column;flex:1}
.lcard .t{font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em;margin-bottom:6px;overflow-wrap:anywhere}
.lcard p{font-size:var(--t-body);line-height:1.5;color:var(--ink2);margin:0 0 14px;flex:1}
.lcard .rd{font-size:var(--t-small);font-weight:600;color:var(--red)}
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
/* a hub's section per spoke (14 Oct 2026): its tours across two thirds, the copy and buttons in the last third; the tours slide on a phone */
/* A hub's spoke rows read as one list: a short gap between them (operator, 27 Oct 2026: "the huge gap before the next spoke row") */
.sect[id^="spoke-"]:has(+.sect[id^="spoke-"]){padding-bottom:56px}.sect[id^="spoke-"]+.sect[id^="spoke-"]{padding-top:0}
.spk{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px;align-items:start}
.spk-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.spk-track.n1{grid-template-columns:minmax(0,420px)}.spk-track.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.spk-all{display:inline-block;margin-top:16px;font-weight:600}
/* compact tour cards in a spoke section (operator, 14 Oct 2026: "the cards are too big"): a shorter picture, the name in two lines, rating, price and the button; perks and fine print stay on the spoke's page */
.spk-track .tcard{border-radius:16px}.spk-track .tcard .im{aspect-ratio:16/10}.spk-track .tcard .badges{top:8px;left:8px}.spk-track .tcard .badge{font-size:var(--t-micro);padding:3px 8px}.spk-track .tcard .imfoot{padding:24px 10px 8px;white-space:nowrap;overflow:hidden}.spk-track .tcard .gdots{display:none}
.spk-track .tcard .body{padding:12px 14px 14px}.spk-track .tcard .rate{margin-bottom:6px}.spk-track .tcard .rate .avatars{display:none}
.spk-track .tcard .name{font-size:var(--t-body);line-height:1.3;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.spk-track .tcard .name:has(+ .opt){flex:none}.spk-track .tcard .opt{margin-bottom:8px;flex:1}.spk-track .tcard .opt span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spk-track .tcard .perks,.spk-track .tcard .social,.spk-track .tcard .fine,.spk-track .tcard .why{display:none}
.spk-track .tcard .foot{padding-top:10px}.spk-track .tcard .pr{margin:0 0 8px}.spk-track .tcard .amt{font-size:1.25rem;white-space:nowrap}.spk-track .tcard .from{font-size:10px}
.spk-track .tcard .book{padding:8px 12px;border-radius:10px;font-size:var(--t-micro);white-space:nowrap}
.spk-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media (max-width:1000px){.spk{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:640px){.spk-track,.spk-track.n1,.spk-track.n2{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:14px;margin:0 -16px;padding:0 16px 4px;scroll-padding:0 16px}.spk-track::-webkit-scrollbar{display:none}.spk-track>*{flex:0 0 72%;scroll-snap-align:start}.spk-track.n1>*{flex-basis:100%}}
/* the links at the foot of the page: one row of picture cards per hub, sliding sideways */
.mrow+.mrow{margin-top:36px}.mrow h3{font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em;margin:0 0 14px}
.mtrack{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,calc((100% - 54px)/4));gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px}.mtrack::-webkit-scrollbar{display:none}
.mtrack .lcard .grp{display:block;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:6px}.mtrack>.lcard{scroll-snap-align:start}.mtrack .lcard .body{padding:16px}.mtrack .lcard p{margin:0;font-size:var(--t-small)}
@media (max-width:640px){.mtrack{grid-auto-columns:78%;margin:0 -16px;padding:0 16px 6px;scroll-padding:0 16px}}

.groups .g h3{font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em;margin:0 0 10px}
.groups .g a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--t-body)}.groups .g a b{display:block;font-weight:600}.groups .g a small{color:var(--mute);font-size:var(--t-small)}

/* faq */
.faq{border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:20px 0;cursor:pointer;font-size:var(--lede-size);font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:40px;height:40px;border-radius:50%;background:var(--sand2);color:var(--ink);display:grid;place-items:center;flex:none;transition:background-color .25s,color .25s,transform .25s var(--ease)}
.faq details[open] summary i{background:var(--red);color:#fff;transform:rotate(45deg)}
.faq .a{margin:0;padding:0 48px 22px 0;font-size:var(--t-body);line-height:1.6;color:var(--ink2);display:grid;gap:10px}
.faqwrap{max-width:800px;margin:0 auto}.faq-intro{text-align:center;margin-bottom:28px}.faq-intro .eyebrow{text-align:center}
.faq-intro p{font-size:var(--t-body);line-height:1.55;color:var(--ink2);margin:0 0 20px}
.faq-intro a{color:var(--red);font-weight:600;font-size:var(--t-body)}

/* final cta */
.final{position:relative;padding:128px 0;background:var(--navy);color:#fff}
.final .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.final .shade{position:absolute;inset:0;background:var(--photo-shade)}
.final .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.final .h2{margin:0 0 18px}
.final p{font-size:var(--lede-size);line-height:1.55;color:rgba(255,255,255,.8);margin:0;max-width:520px}
.final .act{display:flex;flex-direction:column;align-items:center;gap:10px}
.final .live{color:rgba(255,255,255,.85)}

/* footer */
.sitefoot{background:var(--ink);color:#fff;padding:72px 0 32px}
.fhead{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:44px}
.fhead .logo .mark{background:#fff;color:var(--ink)}.fhead .logo .name b{color:#fff}
.fhead p{font-size:var(--t-small);line-height:1.55;color:rgba(255,255,255,.6);margin:0;max-width:420px}
.flogo{display:inline-flex;align-items:center;background:var(--paper);border-radius:16px;padding:14px 22px;box-shadow:0 1px 0 rgba(255,255,255,.08) inset}
.flogo img{display:block;max-width:220px;max-height:52px;width:auto;height:auto}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.sitefoot.dense .fgrid{gap:30px 22px}
.fcol{font-size:var(--t-small);min-width:0}
.fcol summary.t{list-style:none;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:8px;cursor:default;font-weight:700}
.fcol summary::-webkit-details-marker{display:none}.fcol summary i{display:none}
.fcol summary .hub{color:#fff}.fcol summary .hub:hover{color:var(--pink)}
.fcol summary em{font-style:normal;font-size:var(--t-micro);font-weight:700;letter-spacing:0;color:rgba(255,255,255,.55);background:rgba(255,255,255,.1);border-radius:999px;padding:2px 7px;margin-right:auto}
.fcol .links{display:grid}
/* A family with many pages takes two of the four columns, so its links keep their full width. */
.fcol.two{grid-column:span 2}.fcol.two .links{grid-template-columns:1fr 1fr;column-gap:26px}
.fcol.wide{grid-column:1/-1}.fcol.wide .links{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:26px}
.fcol .links a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(255,255,255,.82);line-height:1.3;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);min-width:0}
.fcol .links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcol .links a i{font-style:normal;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s var(--ease);color:var(--pink)}
.fcol .links a:hover{color:#fff}.fcol .links a:hover i{opacity:1;transform:none}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:var(--t-micro);color:rgba(255,255,255,.5)}.fbot a{color:rgba(255,255,255,.7)}
.fbot span{flex:1 1 520px;max-width:920px;line-height:1.6}.fbot [data-totop]{white-space:nowrap}
.fhead p{max-width:640px}
.flegal{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:var(--t-small)}
.flegal .fmail{color:#fff;font-weight:600}
.flegal nav{display:flex;flex-wrap:wrap;gap:8px 20px}.flegal nav a{color:rgba(255,255,255,.7)}.flegal a:hover{color:var(--pink)}
.crumbs{font-size:var(--t-small);color:var(--mute);padding:14px 0 0}.crumbs a{color:var(--mute)}.crumbs a:hover{color:var(--red)}
.provenance{font-size:var(--t-micro);color:var(--mute);text-align:center;padding:16px 0}

/* generic blocks for the other page types, built from the same parts */
.answer{background:#fff;border-radius:20px;padding:28px 32px;font-size:var(--lede-size);line-height:1.5;max-width:52rem;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.answer .btn{margin-top:18px}
.callout{max-width:880px;border-left:4px solid var(--red);background:var(--redsoft);border-radius:0 12px 12px 0;padding:16px 20px;font-size:var(--t-body);line-height:1.5}
.callout b{display:block;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.facts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.fact{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.fact b{display:block;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:4px;font-weight:600}
.table{overflow-x:auto;border-radius:20px;border:1px solid var(--line);background:#fff}
.table table{border-collapse:collapse;width:100%;font-size:var(--t-small);min-width:640px}
.table th{padding:16px 20px;font-size:var(--t-micro);color:var(--mute);text-transform:uppercase;letter-spacing:.1em;background:var(--paper);text-align:left;font-weight:600}
.table td{padding:16px 20px;border-top:1px solid var(--line);color:var(--ink2);vertical-align:top;line-height:1.45}
.table td.crit{color:var(--ink);font-weight:600;white-space:nowrap}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
.two-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:var(--t-body);line-height:1.55}
.two-list b{display:block;margin-bottom:8px}.two-list .list{display:grid;gap:5px;color:var(--ink2)}
.para-img{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:center}
.para-img.left>.prose{order:2}
.para-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}

/* empty state: copy not written yet */
.todo{border:1.5px dashed var(--line3);border-radius:16px;padding:18px 22px;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(20,20,20,.03) 12px 24px);color:var(--mute);font-size:var(--t-small)}
.todo b{display:block;color:var(--ink2);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.todo ul{margin:0;padding-left:1.1rem}
.todo.inline{padding:10px 14px;font-size:var(--t-small);margin-top:12px}
.todo.inline b{display:inline;margin:0 8px 0 0}
.hero .todo,.final .todo,.offer .todo{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.hero .todo b,.final .todo b,.offer .todo b{color:#fff}

@keyframes starfill{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 var(--clip,0%) 0 0)}}
@keyframes shimmer{0%,100%{opacity:1}50%{opacity:.75}}
@keyframes pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.6);opacity:0}}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes slidedown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes drift{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.gal{scroll-behavior:auto}}

/*
 * Past the phone the steps are a timeline, not columns (operator, 2026-09-20:
 * "now this section looks ugly ... rearrange the steps using vertical timeline
 * UI and make every column a row on desktop"). Five columns of a 16px
 * paragraph left five ragged towers of text; a row reads in one pass and the
 * rail carries the order. The phone keeps the stack it has.
 */
@media (min-width:641px){
.steps{display:block;border-top:0}
.step{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;align-content:start;gap:0;padding:0 0 34px 76px;align-items:start}
.step::before{top:0;left:21px;width:1px;height:auto;bottom:0;background:var(--line2)}
.step:last-child{padding-bottom:0}
.step:last-child::before{display:none}
.step .n{position:absolute;left:0;top:0;width:44px;text-align:center;font-size:var(--num-lg);margin:0;background:var(--sect-bg);padding:2px 0 6px}
.step .t{margin-bottom:8px}
.step p{margin:0}
.step .stips{display:grid;gap:10px;margin-top:14px}
.step .scta{margin-top:16px}
.step .tip{margin-top:0}
}
@media (min-width:1001px){
.step{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:auto auto 1fr;column-gap:40px;padding-bottom:40px}
.step .t,.step p{grid-column:1}
/* The button follows its paragraph; a tall tips column only adds room under it (operator, 6 Oct 2026: the gap above "Check dates"). */
.step .scta{grid-column:1;grid-row:3;align-self:start}
.step .stips{grid-column:2;grid-row:1/span 3;margin-top:0;align-self:center}
}
@media (max-width:1200px){.nav a.fifth{display:none}}
@media (max-width:1000px){
.topbar,.nav,.logo .name small{display:none}
.trow{grid-template-columns:104px minmax(0,1fr)}.trow.noimg{grid-template-columns:minmax(0,1fr)}
.burger{display:grid}
.hcta{padding:10px 14px;font-size:var(--t-small)}.hcta .long{display:none}.hcta .short{display:inline}
.wrap,.hdr .wrap{padding-left:20px;padding-right:20px}
.sect,.sect.tight{padding:56px 0}
.cols,.offer .wrap{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
.hero .wrap{grid-template-columns:minmax(0,1fr);padding:48px 20px 56px;gap:40px}
.trust .wrap,.chips{padding-left:20px;padding-right:20px}
.hero{min-height:0}
.h1 em.se{display:block;line-height:1.05}
.hero .lead,.lead{line-height:1.55}

.pform{max-width:none;justify-self:stretch}.wys-cols{grid-template-columns:1fr;gap:0}.hero .hreview{justify-self:stretch;max-width:none}
.mosaic{grid-template-rows:150px 150px}
.trow{grid-template-columns:104px minmax(0,1fr);gap:8px 14px;align-items:stretch;padding:10px}.trow .who{margin:-10px -10px 0;border-radius:22px 22px 0 0}
.trow .im{width:100%;height:100%;min-height:104px;grid-row:span 2;border-radius:14px}
.trow>div{align-self:center;padding:2px 0}
.trow:not(.noimg) .cta{grid-column:2}
/* A long price wraps inside the button and the arrow keeps its place (24 Oct 2026: "〜から ¥109,283 /グループ" pushed the arrow out). */
.trow .cta{justify-content:space-between;border-radius:999px;padding:7px 7px 7px 16px;white-space:normal;word-break:keep-all;line-height:1.25}
.trow .cta i{width:28px;height:28px;color:#fff;font-size:var(--t-body);flex:none}
.cta .unit{white-space:nowrap}
.trow:hover{transform:none}
.chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.stats{gap:20px 28px}
/* the comparison on a narrow screen: fixed readable columns, the tour column pinned while the rest scrolls */
.cmp{min-width:0;width:max-content;grid-template-columns:var(--cmp-cols-sm)}
/* The pinned column and the table each get their own layer, so a phone repaints the scrolled cells instead of dropping them mid-scroll. */
.cmp-table{isolation:isolate;transform:translateZ(0)}
.cmp .th:first-child,.cmp .td.tour{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--line);transform:translateZ(0)}.cmp .pick .td.tour{background:var(--greensoft)}
/* A slim pinned tour column on a phone (operator, 5 Oct 2026: too little room for the rest): the picture above the name, two lines of name, the rating as plain text. */
.cmp .tour{padding-left:12px;gap:6px;flex-direction:column;align-items:flex-start}.cmp .th:first-child{padding-left:12px}.cmp .thumb{width:100%;max-width:96px;height:44px}.cmp .rt,.cmp .rt *{border:0!important;padding:0!important;background:none!important;box-shadow:none!important}.cmp .ourpick{font-size:9px;padding:1px 6px}
.cmp .tour .nm{font-size:var(--t-micro);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cmp .td{padding:14px 10px}.cmp .act{padding-right:14px}
.tgrid,.tgrid.c1,.tgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fgrid,.sitefoot.dense .fgrid{grid-template-columns:1fr 1fr;gap:28px 20px}.fcol.two{grid-column:span 2}.fcol.wide .links{grid-template-columns:1fr 1fr}.fcol summary.t{cursor:pointer}.fcol summary i{display:grid;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);place-items:center}.fcol[open] summary i{transform:rotate(45deg)}
.kbrief{grid-template-columns:minmax(0,1fr);gap:20px}.kphases{position:static;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;padding-bottom:4px}.kphases button{display:inline-flex;flex:none;border:1px solid var(--line2);border-radius:999px;white-space:nowrap;padding:8px 14px;gap:8px}.kphases button.on{border-color:var(--red)}.kphases button .c{display:none}
.krows{grid-template-columns:1fr}.ktools{align-items:flex-start;align-self:start}
.route .rside{position:static}.rgrid.carousel>li{flex-basis:min(85vw,400px)}.rchips{align-self:start}
.final .wrap{grid-template-columns:minmax(0,1fr)}.final .btn.wide{white-space:normal;text-align:center}
.side{position:static}
.mosaic2,.para-img,.two-list,.wys-facts{grid-template-columns:1fr}
.ostats{grid-template-columns:repeat(3,auto)}
}
.wbox .slot{min-height:520px}
@media (max-width:640px){
/* the route on a phone (operator, 2026-10-01): a taller map with only the current stop's label, and the stop's card under the photo or Street View instead of over it */
.rmap{aspect-ratio:4/3}
.rmap .rp .rl{display:none}.rmap .rp.on .rl{display:block;max-width:150px}
.rphoto{aspect-ratio:auto;overflow:visible;background:transparent;border-radius:0}
.rphoto::before{content:"";display:block;aspect-ratio:3/2}
.rphoto .ph{inset:0 0 auto;height:auto;aspect-ratio:3/2;border-radius:18px;overflow:hidden}
.rphoto figcaption,.rphoto figcaption.over-sv{position:static;margin-top:10px;box-shadow:none;background:var(--sand);padding:12px 14px}
.rphoto figcaption .src{display:none}

.tgrid,.tgrid.c1,.tgrid.c2{grid-template-columns:minmax(0,1fr)}
/* A phone has no room for desktop air: the openers come in, the text under a heading is clearly under it (operator, 2026-09-19). */
.sect,.sect.tight{padding:48px 0}
.head-row{gap:14px;margin-bottom:24px}
.hero .lead{line-height:1.5;margin-bottom:24px}
.lead{line-height:1.5}

.h2{margin-bottom:0}
.rsum{text-align:left}.rsum .n{justify-content:flex-start;}
.rrow{margin-top:4px}
.more{margin-top:24px;gap:8px}
.more a{padding:7px 12px;font-size:var(--t-micro);gap:6px}
.more .muted{letter-spacing:.1em;margin-right:0;width:100%}
/* The label is a heading with its own line, not the middle column of a table squeezed into 40% of a phone (operator, 2026-09-19). */
.kv div{grid-template-columns:20px minmax(0,1fr);gap:3px 10px;padding:14px 0}
.kv b{font-weight:600;color:var(--ink);align-self:center}
.kv span{grid-column:1/-1;line-height:1.55}
.kv i{align-self:center;height:auto}
}
@media (max-width:560px){.fgrid,.sitefoot.dense .fgrid{grid-template-columns:1fr}.fcol.two{grid-column:span 1}.fcol.two .links,.fcol.wide .links{grid-template-columns:1fr}.guests{grid-template-columns:repeat(5,1fr)}.hero .review{grid-template-columns:56px minmax(0,1fr)}.hero .review img,.hero .review .avatar{width:56px;height:56px}.ostats{gap:18px}}
.itl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.itl-row{display:grid;grid-template-columns:28px 96px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line2)}
.itl-row:not(:has(.itl-im)){grid-template-columns:28px minmax(0,1fr)}
.itl-mk{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font:700 var(--t-micro)/1 var(--sans);display:grid;place-items:center;margin-top:2px}
.itl-row.r-pickup .itl-mk,.itl-row.r-meeting .itl-mk,.itl-row.r-dropoff .itl-mk{background:var(--red)}
.itl-im{width:96px;height:72px;border-radius:10px;overflow:hidden;background:var(--sand)}.itl-im img{width:100%;height:100%;object-fit:cover;display:block}
.itl-tx h3{font-size:var(--card-title);font-weight:600;letter-spacing:-.01em;margin:0 0 4px;line-height:1.25}.itl-tx h3 small{font-size:var(--t-small);font-weight:400;color:var(--mute);margin-left:6px}
.itl-tx p{margin:0;font-size:var(--t-small);color:var(--ink2);line-height:1.5}
.itl-tx .role{display:block;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:2px}
@media (max-width:760px){.itl{grid-template-columns:minmax(0,1fr)}.itl-row{grid-template-columns:28px 72px minmax(0,1fr)}.itl-im{width:72px;height:56px}.proof .rating{flex-wrap:wrap;row-gap:4px}.proof .rating small{flex-basis:100%}}
/* The VisitGuide page (operator, 17 Oct 2026, the visitguide2 template). */
.vgrev{justify-self:end;width:100%;max-width:340px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);border-radius:20px;padding:10px 10px 18px;color:#fff}
.vgrev .im{border-radius:14px;overflow:hidden;aspect-ratio:1/1;margin-bottom:14px}.vgrev .im img{width:100%;height:100%;object-fit:cover;display:block}
.vgrev .st{color:var(--gold2);letter-spacing:2px;font-size:var(--t-small);padding:0 8px}
.vgrev p{margin:6px 8px 14px;font-size:var(--t-small);line-height:1.55;color:rgba(255,255,255,.92)}
.vgrev .who{display:flex;gap:10px;align-items:center;padding:0 8px;font-size:var(--t-small)}.vgrev .who b{font-weight:600}
.vgrev .av{width:30px;height:30px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-weight:700;flex:none}
.vgrev .who small{display:block;margin-top:2px}.vgrev .who small a,.vgrev .who small span{color:var(--pink);font-weight:600;text-decoration:none}
.vgcards.sect{padding-bottom:40px}
.vgall{font-size:var(--t-small);font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.vgrow{display:grid;gap:16px;margin-top:16px}.vgrow.r4{grid-template-columns:repeat(4,minmax(0,1fr))}.vgrow.r3{grid-template-columns:repeat(3,minmax(0,1fr))}.vgrow.r2{grid-template-columns:repeat(2,minmax(0,1fr))}.vgrow.r1{grid-template-columns:minmax(0,1fr)}
.vgcard{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 0 0 1px rgba(0,0,0,.06);transition:transform .2s var(--ease),box-shadow .2s}
.vgcard:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 18px 40px rgba(0,0,0,.08)}
.vgcard .im{aspect-ratio:4/3;background:var(--visual);overflow:hidden}.vgrow.r4 .vgcard .im{aspect-ratio:4/5}.vgcard .im img{width:100%;height:100%;object-fit:cover;display:block}
.vgcard .tx{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.vgcard small{color:var(--mute)}
.vgcard b{font-size:var(--card-title);font-weight:600;letter-spacing:-.01em;line-height:1.25}.vgcard p{margin:0;font-size:var(--t-small);line-height:1.5;color:var(--ink2)}
.vgcard .more{margin-top:auto;padding-top:6px;color:var(--red);font-weight:600;font-size:var(--t-small)}
.vgnote{align-self:center;padding:8px 8px 8px 16px}.vgnote .h2{margin:0 0 14px}.vgnote p{margin:0;font-size:var(--t-body);line-height:1.65;color:var(--ink2)}
.vgone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.vgone .im{min-height:340px;background:var(--visual)}.vgone .im img{width:100%;height:100%;object-fit:cover;display:block}
.vgone .tx{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:14px}.vgone .h2{margin:0}.vgone p{margin:0;font-size:var(--t-body);line-height:1.65;color:var(--ink2)}
.vgone .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.vgone .btn.ghost,.vgact .btn.ghost{border-color:var(--line3);color:var(--ink)}
.vgbadge{display:inline-block;border:1px solid var(--line2);border-radius:999px;padding:4px 10px;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#fff;align-self:flex-start}
.vgover.sect{padding-top:64px;padding-bottom:40px}
.vghead{margin-bottom:32px}.vghead .h2{margin:0;max-width:none}.vghead .lead{margin-top:16px;max-width:640px}
.vgfeat{margin:0 0 40px}.vgfeat img{width:100%;max-height:640px;object-fit:cover;border-radius:22px;display:block;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px}.vgfeat figcaption{margin-top:10px;font-size:var(--t-micro);color:var(--mute)}
.vgfive{max-width:720px;margin:0 auto;background:var(--sand);border-radius:22px;padding:28px 32px 18px}
.vgfive .hd{font-family:var(--display);font-weight:var(--display-weight);font-size:1.35rem;letter-spacing:var(--h1-track);margin-bottom:8px}
.vgfive ol{list-style:none;margin:0;padding:0}.vgfive li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line2)}
.vgfive li span{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--red)}.vgfive li p{margin:0;font-size:var(--t-body);line-height:1.55;color:var(--ink)}
.vghub.sect{padding-top:64px}
.vgtabs{position:sticky;top:calc(var(--hdr-h,88px) + 12px);z-index:5;display:flex;gap:6px;flex-wrap:wrap;background:#fff;border-radius:999px;padding:6px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.05);margin-bottom:24px}
.vgtabs a{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;text-decoration:none;color:var(--ink);font-size:var(--t-small);font-weight:500}
.vgtabs a span{width:26px;height:26px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:var(--t-micro);font-weight:700}
.vgtabs a:hover{background:var(--ink);color:#fff}.vgtabs a:hover span{background:var(--red);color:#fff}
/* On a phone the pages list one under another: short names no longer pair up on one line while long ones stand alone (Tokyo, 18 Oct 2026). */
@media (max-width:760px){.vgtabs{display:grid;grid-template-columns:minmax(0,1fr);border-radius:20px}}
.vgch{padding:40px 0 48px;border-top:1px solid var(--line2);scroll-margin-top:16px}
.vgch header .meta{display:flex;align-items:center;gap:10px;font-size:var(--t-micro);color:var(--mute);margin-bottom:12px}
.vgch header .h2{margin:0}.vgtag{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--ink2);margin:6px 0 28px}
/* The tours take the wide column and the photo stays a picture, not a wall (operator, 20 Oct 2026: "They look great on mobile, why is the desktop version so lame?"). */
/* The picture and the text side by side in equal columns (operator, 21 Oct 2026: "make the columns ... equal width because right now image takes more space"). */
.vgbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.vgch.flip .vgmedia{order:2}.vgbody.noim{grid-template-columns:minmax(0,1fr)}
/* The guide's tours sit close under the hero, their label close over the cards (operator, 27 Oct 2026: the empty band over "Tours for this guide") */
.vgbook.sect{padding-top:48px}.vgbook .head-row{margin-bottom:20px}.vgbook .head-row .eyebrow{margin-bottom:0}
.vgbody.noim .vgtext{max-width:760px}
.vgmedia .im{aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--visual)}.vgmedia .im img{width:100%;height:100%;object-fit:cover;display:block}
.vgmedia .best{display:flex;gap:14px;align-items:baseline;border-top:2px solid var(--red);margin-top:14px;padding-top:12px}.vgmedia .best small{color:var(--red);font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.vgmedia .best b{font-weight:600;font-size:var(--t-small)}
.vgtext>p{margin:0 0 16px;font-size:var(--t-body);line-height:1.7;color:var(--ink2)}.vgtext>p a{color:var(--red)}
.vgfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;border-top:1px solid var(--line2);padding-top:14px;margin:22px 0}
.vgfacts small{display:block;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}.vgfacts b{font-weight:600;font-size:var(--t-small)}
.vgscore{background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 0 0 1px rgba(0,0,0,.06);margin-bottom:22px}
.vgscore .hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.vgscore .hd b{font-size:var(--t-small)}.vgscore .hd small{color:var(--mute)}
.vgscore .sr{display:grid;grid-template-columns:minmax(0,1fr) auto 72px;gap:12px;align-items:center;padding:5px 0;font-size:var(--t-small)}.vgscore .sr small{color:var(--mute);text-align:right}
.vgbars{display:flex;gap:4px}.vgbars i{display:block;width:18px;height:6px;border-radius:3px;background:var(--line2)}.vgbars i.on{background:var(--red)}
.vgchoose{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:22px}
.vgchoose>div{border-top:2px solid var(--ink);padding-top:10px;display:flex;flex-direction:column;gap:6px}.vgchoose .n{border-color:var(--line3)}
.vgchoose small{font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.vgchoose span{position:relative;padding-left:16px;font-size:var(--t-small);line-height:1.45;color:var(--ink2)}.vgchoose .y span:before{content:"+";position:absolute;left:0;color:var(--red);font-weight:700}.vgchoose .n span:before{content:"–";position:absolute;left:0;color:var(--mute)}
.vgtours{margin-bottom:22px;container-type:inline-size}.vgtours .hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.vgtours .hd b{font-size:var(--t-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.vgtours .hd small{color:var(--mute)}
.vgtours .rows{display:grid;gap:10px}
/* Compact rows (operator, 21 Oct 2026): a smaller picture and name; in a narrow column the price goes under the name instead of squeezing it. */
.vgtour{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:16px;align-items:center;padding:10px;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.vgtour:hover{transform:translateX(6px);box-shadow:0 12px 30px var(--line);color:var(--ink)}.vgtour.noimg{grid-template-columns:minmax(0,1fr) auto}
.vgtour .im{width:80px;height:60px;border-radius:10px;background:var(--visual);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.vgtour .im img{width:100%;height:100%;object-fit:cover;display:block}
.vgtour .tx{min-width:0}.vgtour small{display:block;font-size:var(--t-micro);color:var(--mute);margin-bottom:2px}.vgtour b{display:block;font-size:var(--t-body);font-weight:600;letter-spacing:-.01em;line-height:1.3;overflow-wrap:break-word}
.vgtour .cta{display:flex;align-items:center;gap:8px;color:var(--red);font-weight:600;font-size:var(--t-small);white-space:nowrap;padding-right:8px}.vgtour .cta i{width:28px;height:28px;border-radius:50%;background:var(--redsoft);display:grid;place-items:center;line-height:0;font-style:normal;transition:transform .2s var(--ease)}.vgtour:hover .cta i{transform:translateX(3px)}
@container (max-width:520px){.vgtour{grid-template-columns:88px minmax(0,1fr);gap:8px 14px;align-items:stretch}.vgtour.noimg{grid-template-columns:minmax(0,1fr)}.vgtour .im{width:100%;height:100%;min-height:88px;grid-row:span 2;border-radius:12px}.vgtour .tx{align-self:center}.vgtour:not(.noimg) .cta{grid-column:2}.vgtour .cta{justify-content:space-between;background:var(--redsoft);border-radius:999px;padding:5px 5px 5px 14px;white-space:normal;word-break:keep-all;line-height:1.25}.vgtour .cta i{flex:none}.vgtour:hover{transform:none}}
.vgact{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vgpairs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vgpairs small{color:var(--mute);margin-right:4px}
.vgpairs a{display:flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px 3px 3px;font-size:var(--t-micro);font-weight:600;color:var(--ink);text-decoration:none;background:#fff}.vgpairs a i{font-style:normal;background:var(--ink);color:#fff;border-radius:999px;padding:2px 6px}
/* The guide in one column, each chapter's tip beside its text (operator, 17 Oct 2026: "pro tips and common mistakes are part of the content"). */
.vgg{max-width:960px;margin:0 auto}
/* The guide's opening in its own column (operator, 17 Oct 2026): heading, five things and the warning start where the chapters start, with no gap between them. */
.vgg>.vghead{margin-bottom:28px}.vgg>.vghead .h2{max-width:none}
.vgg>.vgfive{max-width:none;margin:0 0 28px}
.vgg #warning.sect{padding:0;margin:0 0 48px;background:none}.vgg #warning>.wrap{padding:0;max-width:none}.vgg #warning .callout{margin:0;max-width:none}
/* The hub's chapters are chapters of the same story: an H3 like the guide's, in the guide's column; the picture stays beside the text while it scrolls. */
.vghub .vgg>.vghead{margin-bottom:20px}
.vgch h3.vgh3{font-family:var(--display);font-size:var(--h3-size);font-weight:var(--display-weight);letter-spacing:var(--h1-track);line-height:1.05;margin:0;color:var(--ink);text-wrap:balance}
.vgmedia{position:sticky;top:calc(var(--hdr-h,88px) + 24px);align-self:start}
@media (max-width:1000px){.vgmedia{position:static}}
/* The hub's and the guide's headings and their lines run the page's full width (operator, 17 Oct 2026). */
.vghub .wrap>.vghead,.vgguide-head{margin-bottom:28px}.vghub .wrap>.vghead .h2,.vgguide-head .h2{max-width:none}.vghub .wrap>.vghead .lead,.vgguide-head .lead{max-width:none}
/* The closing call on a VisitGuide page: a band, not a second hero. */
.final.sm{padding:64px 0}.final.sm .h2{font-size:var(--h2-sm)}.final.sm p{font-size:var(--t-body)}
/* Each option's months: the months by name, read out on hover. */
.gom-h .c span .l{display:none}
@media (min-width:641px){.gom-h .c span .s{display:none}.gom-h .c span .l{display:inline}}
.gom-r .c i{position:relative}
.gom-r .c i[data-tip]:hover::after,.gom-r .c i[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:var(--t-micro);font-style:normal;font-weight:600;padding:6px 10px;border-radius:8px;z-index:5;pointer-events:none}
.gom-r .c i[data-tip]:hover,.gom-r .c i[data-tip]:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
/* The read-out stays on the screen (operator, 18 Oct 2026, a phone: "The tooltip on mobile is cut off"): it wraps, and opens rightwards from the first months and leftwards from the last. */
.gom-r .c i[data-tip]:hover::after,.gom-r .c i[data-tip]:focus-visible::after{white-space:normal;width:max-content;max-width:min(260px,calc(100vw - 48px))}
.gom-r .c i[data-tip]:nth-child(-n+4):hover::after,.gom-r .c i[data-tip]:nth-child(-n+4):focus-visible::after{left:0;transform:none}
.gom-r .c i[data-tip]:nth-child(n+9):hover::after,.gom-r .c i[data-tip]:nth-child(n+9):focus-visible::after{left:auto;right:0;transform:none}
/* Widgets that list places take the text's width; the full list opens on a tap and stays in the page for search engines. */
.vgg .gsec>.gnear{grid-column:1}
.gnear details.nmore summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;font-size:var(--t-small);font-weight:600;color:var(--red)}
.gnear details.nmore summary::-webkit-details-marker{display:none}
.gnear details.nmore[open] summary{margin-bottom:6px}
/* What is included and what to bring, side by side in the guide. */
.vgg .sbox.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px}
@media (max-width:700px){.vgg .sbox.two{grid-template-columns:minmax(0,1fr);gap:20px}}
/* Several ways in to several places in one chapter: one card, a tab per journey. */
.grset .rtabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.grset .rtabs button{all:unset;cursor:pointer;font-size:var(--t-small);font-weight:600;padding:8px 14px;border-radius:999px;background:var(--sand2);color:var(--ink2)}
.grset .rtabs button.on{background:var(--ink);color:#fff}
.grset .rtabs button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.vgg .gsec{display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:48px;margin:0 0 48px}
.vgg .gsec>*{grid-column:1/-1}.vgg .gsec>h3,.vgg .gsec>h2.gh,.vgg .gsec>p,.vgg .gsec>ul,.vgg .gsec>ol{grid-column:1}
.vgg .gsec>.tip{grid-column:2;grid-row:span 2;align-self:start;margin:4px 0 18px;background:none;border-radius:0;border-left:0;border-top:2px solid var(--ink);padding:10px 0 0;font-size:var(--t-small);line-height:1.5}
.vgg .gsec>.tip.pro{border-top-color:var(--red)}.vgg .gsec>.tip.pro b{color:var(--red)}.vgg .gsec>.tip.pro b i{background:var(--red)}.vgg .gsec>.tip.mis b{color:var(--ink)}.vgg .gsec>.tip.mis b:before{content:"◆";font-size:.7em}
.vgg .gsec>h3{grid-row:auto}.vgg>figure.gfig{max-width:none}
@media (max-width:1000px){.vgrow.r4{grid-template-columns:repeat(2,minmax(0,1fr))}.vgbody{grid-template-columns:minmax(0,1fr)}.vgch.flip .vgmedia{order:0}.vgmedia .im{aspect-ratio:4/3}.vgg .gsec{grid-template-columns:minmax(0,1fr)}.vgg .gsec>.tip{grid-column:1;grid-row:auto;margin:0 0 20px}}
@media (max-width:760px){.vgtour{grid-template-columns:88px minmax(0,1fr);gap:8px 14px;align-items:stretch;padding:10px}.vgtour.noimg{grid-template-columns:minmax(0,1fr)}.vgtour .im{width:100%;height:100%;min-height:88px;grid-row:span 2;border-radius:12px}.vgtour .tx{align-self:center;padding:2px 0}.vgtour:not(.noimg) .cta{grid-column:2}.vgtour .cta{justify-content:space-between;background:var(--redsoft);border-radius:999px;padding:7px 7px 7px 16px;white-space:normal;word-break:keep-all;line-height:1.25}.vgtour .cta i{width:32px;height:32px;background:var(--red);color:#fff;flex:none}.vgtour:hover{transform:none}.vgrow.r3,.vgrow.r2{grid-template-columns:minmax(0,1fr)}.vgone{grid-template-columns:minmax(0,1fr)}.vgone .im{min-height:220px}.vgone .tx{padding:24px}.vgfacts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vgchoose{grid-template-columns:minmax(0,1fr)}.vgtabs{border-radius:16px;position:static}.vgrev{max-width:none;justify-self:stretch}.vgfive{padding:22px 20px 12px}}
@media (max-width:520px){.vgrow.r4{grid-template-columns:minmax(0,1fr)}}
/* The TourDetails page (operator, 18 Oct 2026, the Tour Details template). */
.td-wrap{position:relative;max-width:1200px;margin:0 auto;padding:0 32px}
.td-hero{position:relative;background:var(--navy);color:#fff;padding:56px 0 64px;overflow:hidden}
.td-hbg{position:absolute;inset:0}.td-hbg img,.td-hbg picture{width:100%;height:100%;object-fit:cover;display:block}
.td-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,44,.88),rgba(11,31,44,.3))}
.td-hero-g{display:grid;grid-template-columns:minmax(0,1.2fr) 400px;gap:56px;align-items:center}
.td-hl{min-width:0}
.td-crumb{font-size:var(--t-small);opacity:.8;margin-bottom:18px}.td-crumb a{color:#fff}
.td-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.td-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:#fff;color:var(--ink)}
.td-badge.red{background:var(--red);color:#fff}.td-badge .live{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(214,17,46,.2)}
.td-h1{font-family:var(--display);font-size:clamp(34px,4.8vw,62px);line-height:var(--h1-leading);letter-spacing:var(--h1-track);font-weight:800;margin:0 0 18px;text-wrap:balance;color:#fff}
.td-h1 em{font-family:var(--serif);font-weight:300;font-style:italic;font-size:calc(1em*var(--acc-ratio))}
.td-lede{margin:0 0 26px;max-width:600px;font-size:var(--lede-size);line-height:1.5;color:rgba(255,255,255,.88);text-wrap:pretty}
.td-hfacts{display:flex;gap:10px;flex-wrap:wrap}
.td-hfact{display:flex;gap:8px;align-items:center;font-size:var(--t-small);font-weight:600;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.td-panel{background:#fff;color:var(--ink);border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.4);padding:24px;display:grid;gap:16px}
.td-prow{display:flex;justify-content:space-between;gap:12px;align-items:center}
.td-rt{display:flex;gap:6px;align-items:center;font-size:var(--t-small)}.td-rt a,.td-rt span{color:var(--mute)}
.td-ptitle{display:block;font-size:var(--card-title);font-weight:600;line-height:1.3}.td-psub{font-size:var(--t-small);color:var(--mute)}
.td-opts{display:grid;gap:8px;max-height:min(340px,46vh);overflow-y:auto;overscroll-behavior:contain}
.td-opt{display:flex;gap:12px;align-items:center;width:100%;border-radius:14px;padding:11px 14px;background:#fff;border:1.5px solid var(--line2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.td-ot{flex:1;min-width:0}.td-op{font-size:var(--t-small);font-weight:600;white-space:nowrap}
.td-optmore{font-size:var(--t-small);font-weight:600;color:var(--red);text-decoration:none;padding:2px 2px 0}
.td-opt:hover{border-color:var(--ink)}.td-opt.on{border-color:var(--red);background:var(--redsoft);box-shadow:0 6px 18px rgba(214,17,46,.12)}
.td-opt b{display:block;font-size:var(--t-small);font-weight:600;line-height:1.3}.td-opt small{font-size:12.5px;color:var(--mute)}
.td-radio{width:18px;height:18px;border-radius:50%;box-sizing:border-box;border:2px solid var(--line2);background:#fff;flex:none}.td-opt.on .td-radio{border:6px solid var(--red)}
.td-from{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.td-from>span:first-child{font-size:var(--t-small);color:var(--mute)}.td-from b{font-size:var(--card-title);font-weight:600}.td-from s{font-size:var(--t-small);color:var(--mute)}
.btn.block{display:flex;width:100%}
.td-pnote{font-size:12.5px;color:var(--mute);text-align:center}
.td-stars{position:relative;display:inline-block;color:var(--line2);letter-spacing:1px;font-size:18px;line-height:1}.td-stars i{position:absolute;left:0;top:0;width:var(--w);overflow:hidden;color:#F2B01E;font-style:normal;white-space:nowrap}.td-stars.sm{font-size:14px}
.td-proofs{background:#fff;border-bottom:1px solid var(--line2)}
.td-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.td-proof>div{padding:22px 18px 22px 0;display:grid;gap:2px}
.td-proof b{font-family:var(--display);font-size:26px;font-weight:800;letter-spacing:-.03em}.td-proof span{font-size:var(--t-small);color:var(--ink2);line-height:1.4}
/* One row on a phone (operator, 27 Oct 2026: "this 'trust strip' takes too much space on mobile. Make it one row"). */
@media (max-width:760px){.td-proofs .td-proof{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px}.td-proofs .td-proof>div{padding:12px 0}.td-proofs .td-proof b{font-size:18px}.td-proofs .td-proof span{font-size:12px;line-height:1.3}}
.td-guide{padding:64px 0 72px;background:var(--sect-bg,#fff)}
.td-ghead{max-width:720px;margin-bottom:28px}
.td-ey{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:block}
.td-h2{font-family:var(--display);font-size:var(--h2-sm);line-height:var(--h1-leading);letter-spacing:var(--h1-track);font-weight:800;margin:0 0 16px;text-wrap:balance}
.td-h3{font-family:var(--display);font-size:var(--h3-size);line-height:1.05;letter-spacing:var(--h1-track);font-weight:800;margin:0 0 14px;text-wrap:balance}
.td-toc{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px}
.td-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line2);font-size:13.5px;font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:none;color:var(--ink)}.td-pill:hover{border-color:var(--ink)}
.td-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.td-art{min-width:0}
.td-sec{scroll-margin-top:16px}
.td-fig{margin:0 0 32px}.td-ph{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:21/9;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;background:var(--sand)}
.td-ph img,.td-ph picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.td-place{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:12px;padding:10px 14px;font-size:var(--t-small);display:flex;gap:10px;align-items:center}.td-place span{color:var(--mute)}
.td-fig figcaption{font-size:var(--t-body);line-height:1.6;color:var(--ink2);margin-top:14px}
.td-p{margin:0 0 18px;font-size:var(--t-body);line-height:1.7;color:var(--ink2)}
.td-short{background:var(--sand);border-radius:20px;padding:24px 26px;margin-bottom:56px}.td-short .hd{font-family:var(--display);font-weight:800;font-size:var(--card-title);margin-bottom:12px}
.td-short ol{list-style:none;margin:0;padding:0}.td-short li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--line2)}.td-short li span{font-family:var(--serif);font-style:italic;color:var(--red);font-size:20px}.td-short li p{margin:0;font-size:var(--t-body);line-height:1.55}
.td-reviews{margin-bottom:56px}
.td-rhead{margin-bottom:28px}.td-rhead .td-h3{max-width:none}
/* The score and what the reviews say as a whole on one line under the heading (operator, 27 Oct 2026: "I expected this block to have some summaries for reviews") */
.td-rtop{display:flex;flex-wrap:wrap;align-items:center;gap:20px 48px;margin-top:18px}.td-rtop .rsum{flex:0 0 auto;text-align:left}.td-rtop .rsum .n{justify-content:flex-start}.td-rtop.ins .rsum{text-align:right}.td-rtop.ins .rsum .n{justify-content:flex-end}.td-rtop .rins{flex:1 1 300px;margin-top:0;grid-template-columns:1fr;gap:8px}.td-rtop .rins>div{padding:11px 16px}
.td-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 4px;margin:0;list-style:none;scrollbar-width:none}.td-rail::-webkit-scrollbar{display:none}
.td-rcard{position:relative;flex:0 0 310px;min-height:460px;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:#232323;color:#fff;display:flex;align-items:flex-end}
.td-rcard img,.td-rcard picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.td-rshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.82))}
.td-rin{position:relative;padding:22px;display:grid;gap:10px}.td-rst{color:#F2B01E;letter-spacing:2px}.td-rin p{margin:0;font-size:var(--t-body);line-height:1.5}.td-rwho{font-size:var(--t-small);font-weight:600;opacity:.85}
.td-navs{display:flex;gap:8px;justify-content:flex-end;margin:16px 0 40px}
.td-navb{width:44px;height:44px;border-radius:50%;border:0;background:var(--sand2);cursor:pointer;display:grid;place-items:center;font-size:18px;color:var(--ink)}.td-navb:hover{background:var(--ink);color:#fff}
.td-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.td-card{background:#fff;border-radius:20px;box-shadow:0 0 0 1px rgba(0,0,0,.06);padding:24px;display:grid;gap:12px;align-content:start}
.td-big{display:flex;gap:16px;align-items:center}.td-big>b{font-family:var(--display);font-size:56px;font-weight:800;letter-spacing:-.04em;line-height:1}.td-big small{display:block;font-size:var(--t-small);color:var(--mute);margin-top:4px}
.td-sbar{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr) 34px;gap:12px;align-items:center;font-size:var(--t-small)}.td-sbar span{color:var(--ink2)}.td-sbar i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--ink) var(--w),var(--sand) var(--w))}.td-sbar b{text-align:right}
.td-allrev{align-self:end}.td-allrev a{font-size:var(--t-small);font-weight:600;color:var(--red)}
.td-pick{background:var(--ink);border-radius:26px;padding:14px;margin-bottom:64px;box-shadow:0 24px 60px rgba(0,0,0,.18)}.td-wbox{background:#fff;border-radius:18px;padding:10px}.td-wbox .slot{height:360px;border-radius:12px;background:#fff}@media (max-width:720px){.td-wbox .slot{height:640px}}
.td-pickhd{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 10px 14px;color:#fff}.td-pickhd span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--pink)}.td-pickhd small{font-size:12.5px;color:rgba(255,255,255,.65)}
.td-gyg{background:#fff;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:280px minmax(0,1fr)}.td-gyg .td-ph{aspect-ratio:auto;min-height:240px;border-radius:0;outline:0}.td-gyg .td-badges{position:absolute;left:12px;top:12px}
.td-gtx{padding:20px 22px;display:grid;gap:12px;align-content:start;min-width:0}.td-gmeta{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.td-gtitle{font-size:var(--card-title);font-weight:600;line-height:1.25}
.td-gfacts{display:flex;gap:6px 14px;flex-wrap:wrap}.td-gfacts span{display:flex;gap:6px;align-items:center;font-size:var(--t-small);color:var(--ink2)}
.td-gfoot{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-top:4px}.td-gfoot small{font-size:12.5px;color:var(--mute)}.td-gprice{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.td-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 10px 8px;color:#fff}.td-why>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;font-size:var(--t-small);line-height:1.5}.td-why b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;color:var(--pink)}.td-why span{color:rgba(255,255,255,.85)}
.td-art .gsec{margin-bottom:64px;scroll-margin-top:16px}.td-art .gsec>h3,.td-art .gsec>h2.gh{font-family:var(--display);font-size:var(--h3-size);line-height:1.05;letter-spacing:var(--h1-track);font-weight:800;margin:0 0 14px;text-wrap:balance}
.td-sub{display:block;font-size:var(--card-title);font-weight:600;margin:0 0 12px}
.td-ways{margin:-24px 0 64px;display:grid;gap:14px}.td-ways .td-sub{margin:0}.td-optlist{grid-template-columns:repeat(2,minmax(0,1fr))}.td-ways .btn{justify-self:start}
.td-meet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:-40px 0 64px}.td-meet .td-card{padding:18px 20px;gap:6px}.td-mh{display:flex;gap:10px;align-items:center}.td-mt{font-size:var(--t-small);line-height:1.6;color:var(--ink2)}.td-meet a{font-size:var(--t-small);font-weight:600;color:var(--red)}
.td-warn{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;background:var(--redsoft);border-left:3px solid var(--red);border-radius:14px;padding:16px 18px;margin-bottom:16px;font-size:var(--t-body);line-height:1.6}.td-warn p{margin:0}.td-warn p+p{margin-top:8px}
.td-know{gap:12px;margin-bottom:16px}.td-kc{background:#fff;border-radius:18px;box-shadow:0 0 0 1px rgba(0,0,0,.06);padding:18px 20px}.td-kc.blocker{box-shadow:0 0 0 1.5px var(--red)}.td-kl{display:grid;gap:6px;margin-bottom:8px}.td-kc p{margin:0;font-size:var(--t-small);line-height:1.6;color:var(--ink2)}
.td-tag{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.td-not>div{display:flex;gap:8px;flex-wrap:wrap}.td-not span{font-size:var(--t-small);padding:6px 12px;border-radius:999px;background:var(--paper);color:var(--ink2)}
.td-verdict{background:var(--ink);color:#fff;border-radius:26px;padding:32px;margin-bottom:64px;display:grid;gap:16px}.td-verdict h3{font-family:var(--display);font-size:var(--h3-size);font-weight:800;margin:0;color:#fff}.td-verdict p{margin:0;color:rgba(255,255,255,.85);line-height:1.7}
.td-gs small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:10px}.td-gs span{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;font-size:var(--t-small);line-height:1.5;margin-bottom:8px}.td-gs .y svg{background:var(--green);border-radius:50%;padding:3px}.td-gs .n svg{background:rgba(255,255,255,.25);border-radius:50%;padding:3px}
.td-verdict .btn{justify-self:start}
.td-faq details{border-top:1px solid var(--line2);padding:18px 0}.td-faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;font-weight:600;font-size:var(--t-body);list-style:none}.td-faq summary::-webkit-details-marker{display:none}.td-faq summary i{font-style:normal;color:var(--red)}.td-faq details[open] summary i{transform:rotate(45deg)}.td-faq p{margin:12px 0 0;color:var(--ink2);line-height:1.7}
.td-side{position:sticky;top:calc(var(--hdr-h,88px) + 16px);display:grid;gap:16px}
.td-book{box-shadow:var(--shadow-featured,0 24px 60px rgba(0,0,0,.12));gap:14px}.td-bhd{display:flex;justify-content:space-between;align-items:end;gap:10px}.td-bhd small{font-size:12.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em}.td-bprice{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1}
.td-save{background:var(--greensoft);color:var(--green);font-size:12.5px;font-weight:700;padding:5px 9px;border-radius:6px}
.td-sel{border:1.5px solid var(--line2);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center}label.td-sel{display:grid;gap:4px;cursor:pointer}.td-sel select{font:inherit;font-size:var(--t-small);font-weight:600;color:var(--ink);border:0;background:none;padding:0;width:100%;cursor:pointer}.td-sel b{display:block;font-size:var(--t-small);line-height:1.3}.td-sel small{font-size:12.5px;color:var(--mute)}.td-sel a{font-size:var(--t-small);font-weight:600;color:var(--red);white-space:nowrap}
.td-perks{display:grid;gap:8px;font-size:var(--t-small);color:var(--ink2)}.td-perks span{display:flex;gap:8px}.td-perks b{color:var(--green)}
.td-bring{background:var(--ink);color:#fff;border-radius:20px;padding:20px;display:grid;gap:4px}.td-bring>span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:8px}
.td-bring label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-top:1px solid rgba(255,255,255,.12);font-size:var(--t-small);line-height:1.45;cursor:pointer}.td-bring input{accent-color:var(--red);margin-top:2px}
.td-bar{display:none}
@media (max-width:1040px){.td-hero-g,.td-main{grid-template-columns:minmax(0,1fr)}.td-side{position:static}.td-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
.td-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line2);box-shadow:0 -8px 24px rgba(0,0,0,.08);padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:12px}
.td-bar small{display:block;font-size:12.5px;color:var(--mute)}.td-bar b small{display:inline;font-size:var(--t-micro);font-weight:500}.td-bar b{font-size:var(--card-title);font-weight:600}.td-bar a{background:var(--red);color:#fff;font-weight:600;font-size:var(--t-small);padding:14px 20px;border-radius:999px;white-space:nowrap;text-decoration:none}}
@media (max-width:720px){.td-gyg,.td-why,.td-g2,.td-meet,.td-optlist{grid-template-columns:minmax(0,1fr)}.td-toc{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px 24px;padding:0 20px}.td-toc::-webkit-scrollbar{display:none}.td-ways .btn{justify-self:stretch}.td-wrap{padding:0 20px}.td-ph{aspect-ratio:4/3}.td-rcard{flex-basis:84%}.td-verdict{padding:24px}}
/* The VS page (operator, 19 Oct 2026, the VS Comparison template) */
.vs-top{padding:56px 0 48px;background:#fff}
.vs-crumb{font-size:var(--t-small);color:var(--mute);margin-bottom:28px}.vs-crumb a{color:var(--mute)}.vs-crumb span:last-child{color:var(--ink)}
.vs-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:48px;align-items:start;margin-bottom:40px}
.vs-h1{font-family:var(--display);font-size:min(var(--h2-xl),11vw);line-height:var(--h1-leading);letter-spacing:var(--h1-track);font-weight:var(--display-weight,800);margin:0 0 20px;text-wrap:balance}
.vs-h1 em.se{text-transform:none}
.vs-lede{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);max-width:600px;margin:0;text-wrap:pretty}
.vs-short{background:#fff;border-radius:20px;padding:24px 26px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.06);display:grid;gap:14px}
.vs-shd{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.vs-shd span{font-family:var(--serif);font-style:italic;font-weight:300;font-size:30px;line-height:1;color:var(--red)}.vs-shd small{font-size:12.5px;color:var(--mute)}
.vs-short p{margin:0;font-size:var(--t-body);line-height:1.55;color:var(--ink2);text-wrap:pretty}.vs-short p b{color:var(--ink)}
.vs-sits{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px;font-size:var(--t-small)}.vs-sits div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.vs-sits span{color:var(--mute)}.vs-sits b{font-weight:600;text-align:right}.vs-sits b.both{color:var(--green)}
.vs-scta{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:14px}.vs-scta small{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.vs-scta b{font-weight:600;line-height:1.3;margin-bottom:6px}
.vs-jump{justify-self:center;color:var(--red);font-weight:600;font-size:var(--t-small);text-decoration:none}
.vs-split{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.vs-split.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vs-card{position:relative;background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.06)}
.vs-card.win{box-shadow:0 0 0 2px var(--red),0 24px 60px rgba(0,0,0,.12)}
.vs-cim{position:relative;aspect-ratio:16/9;background:var(--sand)}.vs-cim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vs-pills{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap}.vs-pill{background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}.vs-pill.red{background:var(--red)}
.vs-cap{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));color:#fff;font-size:12.5px}
.vs-cbody{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.vs-tag{font-size:var(--card-title);font-weight:600;letter-spacing:-.02em;line-height:1.25;text-wrap:pretty}
.vs-bars{display:grid;gap:8px}.vs-bars div{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr) 16px;gap:10px;align-items:center;font-size:var(--t-small)}.vs-bars span{color:var(--ink2)}.vs-bars i{height:6px;border-radius:3px;background:var(--line2);position:relative;overflow:hidden}.vs-bars i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--red);border-radius:3px}.vs-bars.alt i:after{background:var(--ink)}.vs-bars b{text-align:right;font-weight:600}
.vs-cfoot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:var(--t-small);color:var(--mute)}.vs-cfoot b{color:var(--ink);font-weight:600}.vs-cfoot a{color:var(--red);font-weight:600;white-space:nowrap;text-decoration:none}
.vs-mark{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%);z-index:2;width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.02em;box-shadow:0 10px 24px rgba(0,0,0,.25);border:3px solid #fff}
.vs-verdict{margin-top:24px;background:var(--ink);color:#fff;border-radius:26px;padding:32px 28px;display:grid;gap:16px}
.vs-vey{font-family:var(--serif);font-style:italic;font-weight:300;font-size:30px;line-height:1;color:var(--pink)}
.vs-vh{font-family:var(--display);font-size:var(--h3-size);font-weight:800;margin:0;color:#fff;letter-spacing:var(--h1-track);line-height:1.05;text-wrap:balance}
.vs-vtext p{margin:0 0 10px;color:rgba(255,255,255,.85);line-height:1.7;max-width:720px}.vs-vtext p:last-child{margin:0}.vs-vtext a{color:#fff}
.vs-verdict .td-gs{border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.vs-verdict .btn{justify-self:start}
.vs-body{padding-top:24px}
.vs-score{margin-bottom:56px}.vs-shead{display:flex;justify-content:space-between;align-items:end;gap:12px 20px;flex-wrap:wrap;margin-bottom:22px}.vs-shead .td-h2{margin:0}.vs-shead small{font-size:var(--t-small);color:var(--mute)}
.vs-table{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(var(--cols),minmax(0,1fr));border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;font-size:var(--t-small)}
.vs-th{padding:14px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--ink)}.vs-th:first-child{padding-left:20px}
.vs-k{padding:16px 20px;border-top:1px solid var(--line);font-weight:600;display:flex;align-items:center}
.vs-v{padding:16px;border-top:1px solid var(--line);color:var(--ink2);line-height:1.45;display:flex;gap:8px;align-items:flex-start}.vs-v i{color:var(--green);font-style:normal;font-weight:700;width:12px;flex:none}.vs-v.win{background:var(--greensoft)}
.vs-ghead{margin-bottom:20px}.vs-intro{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);margin:0;max-width:680px}
.vs-warn{margin-bottom:40px}
.vs-who{margin-bottom:56px}.vs-whog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vs-whog.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vs-know{background:var(--sand);border-radius:18px;padding:20px}.vs-know b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.vs-know ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:var(--t-body);line-height:1.5;color:var(--ink2)}
.vs-tours{margin-bottom:64px}.vs-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.vs-tgrid.n1{grid-template-columns:minmax(0,1fr);max-width:420px}
.vs-book{gap:12px}.vs-bhd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.vs-bhd span{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.vs-bhd small{font-size:12.5px;color:var(--mute);white-space:nowrap}
.vs-btitle{font-size:var(--card-title);font-weight:600;letter-spacing:-.02em;line-height:1.2}
.vs-glance{display:grid}.vs-glance div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}.vs-glance span{color:var(--mute)}.vs-glance b{font-weight:600;text-align:right}
.vs-book .td-bprice small{font-size:var(--t-small);font-weight:500;color:var(--mute);letter-spacing:0}
@media (max-width:1000px){.vs-hero{grid-template-columns:minmax(0,1fr);gap:28px}.vs-split.n3,.vs-whog.n3{grid-template-columns:minmax(0,1fr)}.vs-split.n3 .vs-mark{display:none}}
@media (max-width:720px){.vs-top{padding:28px 0}.vs-split{display:flex;flex-direction:column;gap:0}.vs-split .vs-card:first-child{order:0}.vs-split .vs-card:nth-child(2){order:2}.vs-split .vs-card:nth-child(3){order:3;margin-top:16px}.vs-mark{position:relative;left:auto;top:auto;transform:none;order:1;margin:-30px auto -6px;width:48px;height:48px;font-size:13px}
.vs-cbody{padding:18px}.vs-verdict{padding:24px 20px}.vs-vey,.vs-shd span{font-size:24px}.vs-short{padding:20px}
.vs-table{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}.vs-th:first-child{display:none}.vs-th{padding:12px 14px}.vs-k{grid-column:1/-1;padding:14px 14px 4px}.vs-v{border-top:0;padding:4px 14px 14px;font-size:13.5px}
.vs-whog,.vs-tgrid{grid-template-columns:minmax(0,1fr)}.vs-tgrid.n1{max-width:none}}
/* The OriginDestination page (operator, 19 Oct 2026, the Origin-destination template) */
[data-odt][hidden],.od-dpanel[hidden]{display:none!important}
.od-pick small a{display:block;color:var(--red);font-weight:600;text-decoration:none;margin-top:2px}.od-pick small .od-hp{display:block;color:var(--green);font-weight:600}.od-pick small a:hover{text-decoration:underline}
@keyframes odflash{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}15%,45%,75%{box-shadow:0 0 0 4px var(--red)}30%,60%{box-shadow:0 0 0 1px var(--line)}}
article.od-flash,.od-flash>.tcard{animation:odflash 2.4s ease .3s}
.od-hero{padding:72px 0 0;min-height:560px;display:flex}.od-hero .td-shade{background:linear-gradient(180deg,rgba(11,31,44,.35),rgba(11,31,44,.82))}
.od-hwrap{display:flex;flex-direction:column;justify-content:space-between;gap:48px;width:100%}.od-hl{max-width:720px}
.od-hcta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:var(--t-small);color:rgba(255,255,255,.85)}.od-hcta b{color:#fff}
.od-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:20px;align-items:center;border-top:1px solid rgba(255,255,255,.22);padding:22px 0 26px}
.od-strip small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}.od-strip b{font-family:var(--display);font-size:22px;font-weight:800;color:#fff}.od-to{text-align:right}
.od-line{position:relative;height:2px;background:rgba(255,255,255,.35);display:flex;justify-content:center}.od-line i{position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:#fff}.od-line i.end{left:auto;right:0;background:var(--red)}.od-line span{position:absolute;top:-30px;font-size:var(--t-small);white-space:nowrap;color:#fff}
.od-how{background:#fff;color:var(--ink);font-weight:600;font-size:var(--t-small);padding:12px 18px;border-radius:999px;text-decoration:none;white-space:nowrap}.od-how.od-rent{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.od-glance{background:#fff;padding:40px 0;border-bottom:1px solid var(--line)}.od-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.od-rev{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;margin:0}.od-ini{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700}.od-stars{color:var(--red);letter-spacing:2px;font-size:13px}.od-rev blockquote{margin:6px 0 10px;font-family:var(--sans);font-style:normal;font-size:19px;line-height:1.45;color:var(--ink2)}.od-rev figcaption{font-size:var(--t-small);color:var(--mute)}.od-rev figcaption b{color:var(--ink)}
.od-tours{background:#fff;padding:64px 0 32px}.od-tours+.sect{padding-top:64px}.od-thead{margin-bottom:20px;max-width:760px}.od-thead p{margin:0;font-size:var(--lede-size);line-height:1.55;color:var(--ink2)}
.od-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:24px}.od-chips::-webkit-scrollbar{display:none}.od-chip{flex:none;font:inherit;font-size:13.5px;padding:7px 14px;border-radius:999px;border:1px solid var(--line2);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}.od-chip span{color:var(--mute);margin-left:4px}.od-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.od-chip.on span{color:rgba(255,255,255,.7)}
.od-one{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 0 0 2px var(--red),0 24px 60px rgba(0,0,0,.12);margin-bottom:24px;scroll-margin-top:110px}.od-one.alt{box-shadow:0 0 0 1px var(--line2),0 24px 60px rgba(0,0,0,.1)}
.od-oim{position:relative;min-height:320px;background:var(--sand)}.od-oim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.od-oim .td-badge{position:absolute;top:14px;left:14px}
.od-obody{padding:28px;display:flex;flex-direction:column;gap:14px}.od-meta{font-size:var(--t-small);color:var(--mute)}.od-meta b{color:var(--ink)}.od-obody h3{font-family:var(--display);font-size:var(--h3-size);line-height:1.1;font-weight:800;margin:0;letter-spacing:var(--h1-track);text-wrap:balance}
.od-perks{display:grid;gap:8px;font-size:var(--t-small);color:var(--ink2)}.od-perks span{display:flex;gap:8px;align-items:center}
.od-ofoot{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.od-ofoot small{color:var(--mute);font-size:12.5px}.od-ofoot b{font-size:30px;font-weight:600;letter-spacing:-.03em;margin:0 2px}.od-fine{font-size:12.5px;color:var(--mute);margin-top:4px}
.od-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.od-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.od-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.od-grid.n1{grid-template-columns:minmax(0,1fr);max-width:420px}.od-grid>div{display:flex;min-width:0}.od-grid>div>.tcard{width:100%}
.od-mini .tcard{border-radius:16px}.od-mini .tcard .im{aspect-ratio:16/10}.od-mini .tcard .badges{top:8px;left:8px}.od-mini .tcard .badge{font-size:var(--t-micro);padding:3px 8px}.od-mini .tcard .imfoot{padding:24px 10px 8px;white-space:nowrap;overflow:hidden}.od-mini .tcard .gdots,.od-mini .tcard .gnav{display:none}
.od-mini .tcard .body{padding:12px 14px 14px}.od-mini .tcard .rate{margin-bottom:6px}.od-mini .tcard .rate .avatars{display:none}.od-mini .tcard .name{font-size:var(--t-body);line-height:1.3;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.od-mini .tcard .name:has(+ .opt){flex:none}.od-mini .tcard .opt{margin-bottom:8px;flex:1}.od-mini .tcard .opt span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.od-mini .tcard .perks,.od-mini .tcard .social,.od-mini .tcard .fine,.od-mini .tcard .why{display:none}
.od-mini .tcard .foot{padding-top:10px}.od-mini .tcard .pr{margin:0 0 8px}.od-mini .tcard .amt{font-size:1.25rem;white-space:nowrap}.od-mini .tcard .from{font-size:10px}.od-mini .tcard .book{padding:9px 12px;border-radius:10px;font-size:var(--t-micro);white-space:nowrap}
.od-mtoc,.od-mtip{display:none}
/* Once the rail would fall under the article, the phone bar carries its price and button: the contents and the tip open the route instead (operator, 19 Oct 2026). */
@media (max-width:1040px){.od-side{display:none}.od-mtoc{display:grid;background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 0 0 1px var(--line);margin:0 0 24px}.od-mtip{display:block;margin:0 0 32px}}
.od-fit{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;margin-top:56px;align-items:start}.od-fits{display:grid;gap:10px}
.od-faside{display:grid;gap:16px}.od-ey{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.od-inc>div{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:var(--t-small);line-height:1.45;color:var(--ink2)}.od-inc .ok{color:var(--green);font-weight:700}.od-inc b{color:var(--ink)}
.od-pick{margin-top:56px}.od-ph{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}.od-ph .td-h3{margin:0}.od-ph span{font-size:var(--t-small);color:var(--mute)}
.od-plist{display:grid;gap:8px}.od-plist>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.od-pn{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.od-plist small{display:block;color:var(--mute);font-size:12.5px}.od-plist a{color:var(--red);font-weight:600;font-size:var(--t-small);text-decoration:none}
.od-route{padding-top:64px}.od-ways{margin:0 0 48px}.od-ways .gw{margin:0}.od-ways .groutemap .rmap{height:clamp(300px,42vw,460px)}.od-rhead{max-width:760px;margin-bottom:32px}.od-rhead p{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);margin:0 0 12px}
.od-day{border:1px solid var(--line);border-radius:22px;background:#fff;padding:22px;margin-bottom:40px}.od-dhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.od-dhead>b{font-size:var(--card-title);font-weight:600}
.od-tabs{display:flex;gap:4px;background:var(--sand2);padding:4px;border-radius:999px;overflow-x:auto;scrollbar-width:none;max-width:100%}.od-tab{font:inherit;font-size:12.5px;border:0;background:transparent;color:var(--ink2);padding:7px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}.od-tab.on{background:var(--ink);color:#fff}
.od-dstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:18px}.od-dstats small{display:block;font-size:12px;color:var(--mute)}.od-dstats b{font-weight:600}
.od-stops{list-style:none;margin:0;padding:0;display:grid}.od-stops li{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:14px;padding:0 0 18px}.od-stops li:before{content:"";position:absolute;left:7px;top:14px;bottom:0;width:2px;background:var(--line2)}.od-stops li.last:before{display:none}
.od-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);background:#fff;margin-top:2px;position:relative;z-index:1}.od-dot.end{background:var(--ink)}.od-stops li.last .od-dot{background:var(--red);border-color:var(--red)}
.od-sh{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.od-sh b{font-weight:600}.od-kind{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--sand2);color:var(--ink2);padding:3px 7px;border-radius:6px}.od-stay{font-size:12.5px;color:var(--mute)}
.od-stops p{margin:4px 0 0;font-size:var(--t-small);line-height:1.5;color:var(--ink2)}.od-sim{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--sand)}.od-sim img{width:100%;height:100%;object-fit:cover}
.od-dcta{display:inline-flex;gap:6px;color:var(--red);font-weight:600;font-size:var(--t-small);text-decoration:none}
.od-cmp{margin-bottom:48px}.od-cmph{display:block;font-size:var(--card-title);font-weight:600;margin-bottom:14px}
.od-ctable{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--cols),minmax(0,1fr));font-size:var(--t-small)}
.od-cth{padding:14px 12px;border-radius:16px 16px 0 0;display:grid;gap:4px;align-content:start}.od-cth b{font-weight:600;line-height:1.3}.od-cth small{color:var(--mute)}
.od-ck{padding:11px 12px 11px 0;border-top:1px solid var(--line);color:var(--mute)}.od-ck.sec{color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.od-cv{padding:11px 12px;border-top:1px solid var(--line)}.od-cv a{color:var(--red);font-weight:600;text-decoration:none}
.od-cth.hi,.od-cv.hi{background:var(--ink);color:#fff}.od-cth.hi small{color:rgba(255,255,255,.65)}.od-cv.hi{border-top-color:rgba(255,255,255,.12)}.od-cv.hi a{color:#fff}.od-ctable>.od-cv.hi:nth-last-child(-n+3){border-radius:0}
.od-mk{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:12px}.od-mk.yes{background:var(--greensoft);color:var(--green)}.od-mk.no{background:var(--sand2);color:var(--mute)}.od-cv.hi .od-mk.yes{background:var(--red);color:#fff}.od-cv.hi .od-mk.no{background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.od-side .td-card{gap:14px}.od-toc{display:grid;gap:2px}.od-toc a{font-size:var(--t-small);color:var(--ink2);text-decoration:none;padding:7px 0;border-bottom:1px solid var(--line);line-height:1.35}.od-toc a:hover{color:var(--red)}
.od-sbook{display:grid;gap:12px}.od-sbook small{color:var(--mute);font-size:12.5px}.od-sbook b{font-size:28px;font-weight:600;letter-spacing:-.03em;margin:0 2px}
.od-after{background:#fff;padding:24px 0 48px}.od-faqw{max-width:860px}
@media (max-width:1000px){.od-g2,.od-fit{grid-template-columns:minmax(0,1fr);gap:28px}.od-one{grid-template-columns:minmax(0,1fr)}.od-oim{min-height:240px}.od-grid,.od-grid.n3,.od-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.od-glance .od-g2.one{grid-template-columns:minmax(0,1fr);max-width:760px}
@media (max-width:720px){.od-hero{min-height:0;padding-top:40px}.od-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px}.od-strip b{font-size:18px}.od-line{grid-column:1/-1;grid-row:2;margin:6px 0 26px}.od-line span{top:10px;font-size:12.5px}.od-how{grid-column:1/-1;grid-row:3;text-align:center}
.od-grid{gap:10px}.od-mini .tcard .body{padding:10px 11px 12px}.od-mini .tcard .rate small,.od-mini .tcard .badges,.od-mini .tcard .imfoot{display:none}.od-mini .tcard .name{font-size:var(--t-small)}.od-mini .tcard .amt{font-size:1.1rem}.od-mini .tcard .amt small{font-size:var(--t-micro)}.od-mini .tcard .book{padding:8px 6px;gap:4px}.od-mini .tcard .book span{display:none}
.od-tours{padding:40px 0 24px}.od-tours+.sect{padding-top:40px}.od-route{padding-top:40px;padding-bottom:24px}.od-route .td-art>:last-child,.od-route .td-art>:last-child figure:last-child{margin-bottom:0}.od-obody{padding:20px}
.od-dstats{grid-template-columns:repeat(2,minmax(0,1fr))}.od-sim{display:none}.od-stops li{grid-template-columns:16px minmax(0,1fr)}.od-day{padding:16px}
.od-cmp{overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px}.od-ctable{min-width:560px}}
/* Bold for the eye to catch, and the directions to each place nearby (operator, 19 Oct 2026). */
p strong{font-weight:700}.td-art p strong,.gsec p strong,.prose p strong,.od-rhead p strong,.td-faq p strong{color:var(--ink)}
.gnear li>.tnum{text-align:right}.ndir{display:block;margin-top:3px;font-size:var(--t-micro);font-weight:600;color:var(--red);text-decoration:none;white-space:nowrap}.ndir:hover{text-decoration:underline}
.grent{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--sand2);border-radius:20px;padding:18px 20px;margin:8px 0 32px;box-shadow:0 0 0 1px var(--line)}.grent-i{width:48px;height:48px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center}.grent-t{display:grid;gap:2px;min-width:0}.grent-t .eyebrow{margin:0;font-size:var(--t-micro)}.grent-t b{font-size:var(--card-title);font-weight:600;color:var(--ink)}.grent-t small{font-size:var(--t-small);color:var(--ink2);line-height:1.45}.grent .btn{white-space:nowrap;text-decoration:none}
@media (max-width:600px){.grent{grid-template-columns:44px minmax(0,1fr);padding:16px}.grent-i{width:44px;height:44px}.grent .btn{grid-column:1/-1;justify-content:center}}
/* Quotes are never italic, and each names the tour it came from (operator, 19 Oct 2026). */
blockquote,q,.rcard p,.td-rin p,.vgrev p,.review .t{font-style:normal}
.qsrc{display:block;margin-top:8px;font-size:var(--t-small);font-weight:600;color:var(--red);text-decoration:none;line-height:1.4}a.qsrc:hover{text-decoration:underline}
.review .qsrc,.td-rin .qsrc,.vgrev .qsrc{color:var(--pink)}
/* Jump links land below the sticky header and its strip, whatever their height on this screen (operator, 20 Oct 2026). */
html{scroll-padding-top:calc(var(--hdr-h,88px) + 8px)}
/* Inner pages stand on white (operator, 20 Oct 2026: "the yellow paper background is NOT optimal. Make it white"); cards keep their own fills, the homepage keeps its ground. */
body:has(.page:not(.home)){background:#fff}
.page:not(.home) .sect:not(.bg-ink){background:#fff;--sect-bg:#fff}
.page:not(.home) .hdr{background:rgba(255,255,255,.94)}
/* An article's H1 reads as one line of words: its accented phrase stays inline (operator, 20 Oct 2026: "it's inline block when it should be just inline"). */
.h1.ah1 em.se,.h1.ah1 em{display:inline}
/* Several starts to one end: the end once, each start a numbered card (20 Oct 2026). */
.gjourney .jto{display:flex;align-items:center;gap:8px;margin:12px 0 2px;font-size:var(--t-small);color:var(--mute)}.gjourney .jto b{color:var(--ink)}
.gjourney .jgroup.jcard{background:#F4F3F0;border-radius:18px;padding:16px;margin-top:14px;border-top:0}
.gjourney .jgroup.jcard+.jgroup.jcard{margin-top:12px;padding-top:16px;border-top:0}
.gjourney .jfrom{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.gjourney .jfrom .jn{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:var(--t-small);display:grid;place-items:center;flex:none}
.gjourney .jfrom b{font-size:var(--card-title);color:var(--ink);letter-spacing:-.01em}
.gjourney .jfrom .jk{margin-left:auto;background:#fff;border-radius:999px;padding:5px 12px;font-weight:700;font-size:var(--t-small);white-space:nowrap}
.gjourney .jcard .jrow{background:#fff}.gjourney .jcard .jrow.best{background:var(--greensoft)}
/* The pickup places under the full-width map fill its width (20 Oct 2026). */
@media (min-width:760px){.od-pick .gnearmap ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2px 28px}.od-pick .gnearmap li{border-top:0}}
.gnear .nfar.solo{border-top:0;margin-top:0;padding-top:0}
/* TourDetails: one rating summary beside the reviews' heading, its scores included (operator, 20 Oct 2026: "We don't need this duplicated"). */
.td-rhead .rsum .rscores{margin-left:auto}.td-rhead .rsum .td-allrev{display:inline-block;margin-top:10px;font-size:var(--t-small);font-weight:600;color:var(--red);text-decoration:none}
/* TopBest, the Top 10 Ranking template (operator, 20 Oct 2026). */
.tb-hero{padding:28px 0 48px}.tb-hgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start;margin-top:22px}
.tb-h1{margin:14px 0 18px}.tb-stats{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:var(--t-small);color:var(--mute)}.tb-stats b{color:var(--ink);font-weight:700}
.tb-tcol{display:grid;gap:12px}.tb-top{position:relative;display:block;border-radius:24px;overflow:hidden;aspect-ratio:1/1;max-height:520px;color:#fff;text-decoration:none;background:var(--ink)}
.tb-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tb-tshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.82) 100%)}
.tb-tn{position:absolute;left:20px;top:12px;font-family:var(--serif);font-style:italic;font-size:2.4rem;line-height:1}.tb-pill{position:absolute;right:16px;top:16px;background:var(--red);color:#fff;border-radius:999px;padding:6px 12px;font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tb-pill.sm{position:static;display:inline-block;margin-left:8px;padding:4px 10px}
.tb-tin{position:absolute;left:20px;right:20px;bottom:18px}.tb-tin small{display:block;color:var(--pink);font-size:var(--t-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.tb-tin>b{display:block;font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.1;margin-bottom:14px}
.tb-tstats{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:12px}.tb-tstats small{display:block;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;opacity:.75}.tb-tstats b{font-size:1.5rem;font-weight:700}
.tb-sec{padding:40px 0}.tb-rhead,.tb-cmphead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.tb-rhead .td-h2,.tb-cmphead .td-h2{margin:0}
.tb-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:var(--t-small);color:var(--ink2)}.tb-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.tb-table{border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--line2);background:#fff}
.tb-row{display:grid;grid-template-columns:44px 72px minmax(0,1fr) 150px 90px 90px 44px;gap:14px;align-items:center;padding:12px 20px;border-top:1px solid var(--line)}
.tb-row.first{background:var(--greensoft)}.tb-hd{border-top:0;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.tb-rn{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--red)}.tb-th{width:72px;height:52px;border-radius:10px;overflow:hidden;background:var(--visual)}.tb-th img{width:100%;height:100%;object-fit:cover;display:block}
.tb-rt{color:var(--ink);text-decoration:none;min-width:0}.tb-rt b{font-weight:600;font-size:var(--t-body)}.tb-rt em{font-style:normal;margin-left:8px;color:var(--red);font-size:var(--t-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--redsoft);border-radius:999px;padding:3px 8px}.tb-rt small{display:block;color:var(--mute);font-size:var(--t-small);margin-top:2px}.tb-rt:hover b{text-decoration:underline}
.tb-rs b{font-size:1.25rem;font-weight:700}.tb-rs small{margin-left:6px;font-size:var(--t-micro);color:var(--mute)}.tb-mini{display:flex;gap:4px;margin-top:6px}.tb-mini i{display:block;flex:1;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--c) var(--w),var(--line2) var(--w))}
.tb-mcrit{display:none}.tb-rp{font-weight:700}.tb-rl{color:var(--ink2);font-size:var(--t-small)}.tb-go{width:36px;height:36px;border-radius:50%;background:var(--redsoft);color:var(--red);display:grid;place-items:center}
.tb-note{font-size:var(--t-small);color:var(--mute);margin:12px 4px}
.tb-wants{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.tb-wants small{color:var(--mute);margin-right:4px}.tb-wants a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:8px 8px 8px 14px;color:var(--ink);text-decoration:none;font-size:var(--t-small);background:#fff}.tb-wants a b{background:var(--ink);color:#fff;border-radius:999px;padding:2px 8px;font-size:var(--t-micro)}
.tb-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.tb-short{background:var(--sand);border-radius:22px;padding:26px 28px}.tb-short ol{list-style:none;margin:14px 0 0;padding:0}.tb-short li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line2)}.tb-short li span{font-family:var(--serif);font-style:italic;font-size:1.8rem;line-height:1;color:var(--red)}.tb-short li p{margin:0;line-height:1.5}
.tb-method{background:var(--ink);color:#fff;border-radius:22px;padding:26px 28px}.tb-method .td-ey{color:var(--pink)}.tb-method .td-h3{color:#fff}.tb-mtext p{color:rgba(255,255,255,.78);font-size:var(--t-small);line-height:1.6}
.tb-crits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.tb-crits>div{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.04)}.tb-ch{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tb-ch em{font-family:var(--serif);font-size:1.4rem}.tb-crits p{margin:6px 0 0;font-size:var(--t-small);color:rgba(255,255,255,.72);line-height:1.5}
.tb-dhead{max-width:760px;margin-bottom:28px}.tb-dhead p{color:var(--ink2)}
.tb-entry{padding:40px 0;border-top:1px solid var(--line2);scroll-margin-top:calc(var(--hdr-h,88px) + 8px)}.tb-ehead{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;margin-bottom:22px}
.tb-en{font-family:var(--serif);font-style:italic;font-size:3rem;line-height:1;color:var(--red)}.tb-elab{font-size:var(--t-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.tb-eh{font-family:var(--display);font-size:var(--h3-size);line-height:1.08;margin:8px 0 10px;text-wrap:balance}.tb-lede{font-size:var(--lede-size);line-height:1.55;color:var(--ink2);margin:0;max-width:760px}
.tb-egrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}.tb-entry.flip .tb-egrid{grid-template-columns:380px minmax(0,1fr)}.tb-entry.flip .tb-eside{order:-1}
.tb-media{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:180px 180px;gap:10px;margin-bottom:22px}.tb-media.n1{grid-template-columns:1fr;grid-template-rows:340px}.tb-media.n2{grid-template-rows:360px}.tb-ph{border-radius:16px;overflow:hidden;background:var(--visual)}.tb-ph.main{grid-row:1/span 2}.tb-media.n2 .tb-ph.main{grid-row:auto}.tb-ph img{width:100%;height:100%;object-fit:cover;display:block}
.tb-body p{font-size:var(--t-body);line-height:1.7;color:var(--ink2);margin:0 0 16px}
.tb-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 18px}.tb-liked,.tb-know{border-radius:18px;padding:18px 20px}.tb-liked{background:var(--greensoft)}.tb-know{background:var(--sand)}
.tb-lists small{display:block;font-size:var(--t-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.tb-liked small{color:var(--green)}.tb-know small{color:var(--mute)}
.tb-lists ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tb-lists li{display:flex;gap:8px;align-items:flex-start;font-size:var(--t-small);line-height:1.45}.tb-lists li svg{flex:none;margin-top:3px}.tb-know li i{flex:none;width:10px;height:2px;background:var(--mute);margin-top:10px}
.tb-quote{margin:0;border-radius:18px;padding:20px 22px;box-shadow:0 0 0 1px var(--line2)}.tb-quote blockquote{margin:0 0 10px;font-size:var(--lede-size);line-height:1.5;color:var(--ink)}.tb-quote figcaption{font-size:var(--t-small);color:var(--mute)}
.tb-panel{background:#fff;border-radius:22px;padding:22px;box-shadow:0 0 0 1px var(--line2),0 18px 40px rgba(0,0,0,.05)}.tb-pscore{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.tb-pscore small{display:block;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.tb-pscore b{font-size:2rem;font-weight:700}.tb-pscore b span{font-size:var(--t-small);color:var(--mute);font-weight:500;margin-left:4px}
.tb-bars{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.tb-bars div{display:grid;grid-template-columns:110px minmax(0,1fr) 32px;gap:10px;align-items:center;font-size:var(--t-small);color:var(--ink2)}.tb-bars i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--c) var(--w),var(--line2) var(--w))}.tb-bars b{text-align:right;color:var(--ink)}
.tb-facts{display:grid;margin:6px 0 16px}.tb-facts div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}.tb-facts span{color:var(--mute)}.tb-facts b{text-align:right;font-weight:600}
.tb-eside{display:grid;gap:12px;position:sticky;top:calc(var(--hdr-h,88px) + 16px)}
.tb-tip{border-left:3px solid var(--green);background:var(--greensoft);border-radius:4px 16px 16px 4px;padding:14px 16px}.tb-tip.warn{border-color:var(--red);background:var(--redsoft)}.tb-tip small{font-size:var(--t-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tb-tip p{margin:4px 0 0;line-height:1.5}
.tb-who{display:grid;gap:10px}.tb-who>div{border-radius:16px;padding:14px 16px;box-shadow:0 0 0 1px var(--line2)}.tb-who small{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.tb-who p{margin:6px 0 0;font-size:var(--t-small);line-height:1.5}
.tb-cmpw{padding:40px 0;border-top:1px solid var(--line2)}.tb-cmp{display:grid;grid-template-columns:minmax(120px,.7fr) repeat(3,minmax(0,1fr));border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--line2)}
.tb-cell{padding:12px 14px;border-top:1px solid var(--line);font-size:var(--t-small);overflow-wrap:anywhere}.tb-cell.hd{border-top:0;background:var(--sand2,#f4f2ee)}.tb-cell.hd span{display:block;font-family:var(--serif);font-style:italic;color:var(--red);font-size:1.2rem}.tb-cell.hd b{font-weight:600}.tb-cell.k{color:var(--mute)}.tb-cell.win{background:var(--greensoft);font-weight:600}.tb-cell a{color:var(--red);font-weight:600;text-decoration:none}
.tb-mid{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:22px;padding:26px 28px;margin:24px 0}.tb-mid .td-ey{color:var(--pink)}.tb-mid h3{font-family:var(--display);font-size:var(--h3-size);margin:6px 0 8px;color:#fff}.tb-mid p{margin:0;color:rgba(255,255,255,.8);max-width:640px}
.tb-verdict .btn{margin-top:20px}
@media (max-width:1040px){.tb-hgrid,.tb-two,.tb-egrid,.tb-entry.flip .tb-egrid{grid-template-columns:minmax(0,1fr)}.tb-entry.flip .tb-eside{order:0}.tb-eside{position:static}.tb-top{max-height:none;aspect-ratio:4/3}}
@media (max-width:760px){.tb-table{display:grid;gap:12px;background:none;box-shadow:none;border-radius:0;overflow:visible}.tb-hd{display:none}.tb-row{position:relative;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"th th th" "rt rt rt" "rs rs rs" "rp rl go";gap:8px 12px;padding:0 0 14px;border:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line2)}.tb-row.first{box-shadow:0 0 0 2px var(--green)}.tb-row .tb-th{grid-area:th;width:100%;height:auto;aspect-ratio:16/7;border-radius:0}.tb-row .tb-rn{position:absolute;top:10px;left:10px;z-index:1;min-width:44px;height:44px;padding:0 8px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:1.35rem;line-height:1}.tb-row .tb-rt{grid-area:rt;padding:4px 14px 0}.tb-row .tb-rt em{position:absolute;top:18px;right:10px;margin:0}.tb-row .tb-rs{grid-area:rs;padding:0 14px}.tb-row .tb-rs>b{font-size:1.1rem}.tb-row .tb-mini{display:none}.tb-row .tb-mcrit{display:grid;gap:6px;margin-top:10px}.tb-mcrit>span{display:grid;grid-template-columns:minmax(0,1fr) 34% 28px;gap:10px;align-items:center}.tb-mcrit em{font-style:normal;font-size:var(--t-small);color:var(--ink2);line-height:1.3}.tb-mcrit i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--c) var(--w),var(--line2) var(--w))}.tb-row .tb-mcrit b{font-size:var(--t-small);font-weight:700;text-align:right;margin:0}.tb-row .tb-rp{grid-area:rp;align-self:center;padding-left:14px;display:block}.tb-row .tb-rl{grid-area:rl;align-self:center;display:block}.tb-row .tb-go{grid-area:go;margin-right:14px;width:40px;height:40px}
.tb-crits,.tb-lists{grid-template-columns:minmax(0,1fr)}.tb-ehead{grid-template-columns:52px minmax(0,1fr)}.tb-en{font-size:2.2rem}.tb-media{grid-template-columns:1fr;grid-template-rows:220px}.tb-media .tb-ph:not(.main){display:none}.tb-ph.main{grid-row:auto}
.tb-cmp{grid-template-columns:96px repeat(3,minmax(140px,1fr));overflow-x:auto}.tb-cmpw{overflow-x:auto}}
.tb-verdict .td-gs span.n>span{display:inline}.tb-verdict a.tb-take{display:inline;color:var(--pink);font-weight:600;text-decoration:none;padding:0;background:none;box-shadow:none}
/* A "Booked N times" line is hidden in a month whose number is under 3, whatever its own display says (29 Oct 2026). */
[data-bm][hidden]{display:none!important}
/* The star lines a template may show on the ranking (Winter Tours, 30 Oct 2026); off unless it does. */
.tb-trate,.tb-rr{display:none}

.snav{display:none;position:fixed;left:0;right:0;top:var(--hdr-only,88px);z-index:45;background:var(--paper-blur);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px var(--line)}
.hdr .snav{position:absolute;top:100%;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.snav-on .snav{display:block;animation:slidedown .25s ease-out}
.snav-on .hdr{box-shadow:none}
.snav-in{max-width:1200px;margin:0 auto;padding:6px 32px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
.snav-in::-webkit-scrollbar{display:none}
.snav-a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;font-size:var(--t-small);font-weight:600;color:var(--ink2);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.snav-a:hover{background:var(--sand);color:var(--ink)}
.snav-a.on{background:var(--ink);color:var(--paper)}
.snav-a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.snav-bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--red);transition:width .1s linear}
@media (max-width:760px){.snav-in{padding:6px 20px}.snav-a{min-height:44px}}
@media (prefers-reduced-motion:reduce){.snav-a,.snav-bar{transition:none}.snav-on .snav{animation:none}}

.finder{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start;background:var(--ink,#141414);color:#fff;border-radius:24px;padding:36px}
.finder .fhd .h2{color:#fff;margin:0 0 8px}.finder .fhd .fintro{color:rgba(255,255,255,.72);margin:0 0 24px}
.finder .fqs{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.finder .fnote{margin:18px 0 0;padding:10px 12px;border:1px dashed rgba(255,255,255,.35);border-radius:10px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.8)}
.finder .fq>b{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:10px}
.finder .fq>b span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.4);font-size:12px}
.finder .fchips{display:flex;flex-wrap:wrap;gap:8px}
.finder .fchips button{all:unset;cursor:pointer;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:var(--t-small);transition:background-color .15s,border-color .15s,color .15s}
.finder .fchips button:hover{border-color:rgba(255,255,255,.6)}.finder .fchips button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.finder .fchips button.on{background:#fff;color:var(--ink,#141414);border-color:#fff}
.finder .fchips button:disabled{cursor:default;opacity:.35;text-decoration:line-through}
.finder .fright{display:grid;gap:12px}
.finder .fbest{background:#fff;color:var(--ink,#141414);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr)}
.finder .fbest .im{position:relative;aspect-ratio:16/9;background:var(--line,#eee)}.finder .fbest .im img{width:100%;height:100%;object-fit:cover;display:block}
.finder .ftag{position:absolute;left:12px;top:12px;background:var(--red);color:#fff;font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px}
.finder .fbest .tx{padding:18px 20px 20px;display:grid;gap:6px}
.finder .fwho{margin:8px 0 0;font-size:var(--t-small);font-weight:600;color:var(--ink,#141414)}
.finder .fpct{font-size:var(--t-small);color:var(--mute)}.finder .fpct b{font-size:var(--t-body);color:var(--ink,#141414)}
.finder .ft{font-size:var(--t-lead,20px);line-height:1.25}.finder .fbest small{color:var(--mute)}
.finder .fbest p{margin:4px 0 0;color:var(--ink2,#333)}
.finder .fwhy{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:var(--t-small)}.finder .fwhy li::before{content:"✓";color:var(--green,#1f9d6b);margin-right:8px;font-weight:700}
.finder .ffoot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.finder .fprice{font-weight:600}
.finder .falsos{display:grid;gap:8px}.finder .falsos>small{color:rgba(255,255,255,.6);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase}
.finder .falso{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;background:rgba(255,255,255,.07);border-radius:14px;padding:8px 14px 8px 8px;color:#fff;text-decoration:none}
.finder .falso:hover{background:rgba(255,255,255,.12)}.finder .falso .im img{width:56px;height:44px;object-fit:cover;border-radius:10px;display:block}
.finder .falso .tx{display:grid;min-width:0}.finder .falso b{font-weight:600;font-size:var(--t-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder .falso small{color:rgba(255,255,255,.6)}
.finder .falso .fp{font-weight:600;font-size:var(--t-small)}
.finder [hidden]{display:none!important}
.tchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.tchips button{all:unset;cursor:pointer;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:var(--t-small);font-weight:500}
.tchips button i{font-style:normal;color:var(--mute);margin-left:4px}.tchips button.on{background:var(--ink,#141414);color:#fff;border-color:var(--ink,#141414)}.tchips button.on i{color:rgba(255,255,255,.7)}.tchips button:focus-visible{outline:2px solid var(--ink,#141414);outline-offset:2px}
[data-tfilter] .tcard[hidden]{display:none!important}
.vs-both{display:grid;gap:8px}.vs-bpill{justify-self:start;background:var(--red);color:#fff;font-size:var(--t-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 9px}
.vs-bl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font-size:var(--t-small);color:inherit;text-decoration:none;padding:8px 0;border-top:1px solid var(--line)}.vs-bl small{font-weight:700;color:var(--mute)}.vs-bsum{display:flex;align-items:baseline;gap:6px;padding-top:6px;border-top:1px solid var(--line)}.vs-bsum b{font-size:22px}.vs-bsum small{color:var(--mute)}
.gsplit{margin:8px 0 18px;padding:16px 18px;border-radius:16px;background:var(--sand,#f6f4ef);display:grid;gap:8px}.gsplit>b{font-size:var(--t-body)}
.gsplit>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;gap:12px;align-items:center;font-size:var(--t-small)}.gsplit i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--ink,#141414) var(--w),var(--line) var(--w))}.gsplit small{color:var(--mute);min-width:56px;text-align:right}
.neat{margin-top:16px}.neat ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px}.neat li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:var(--sand2,#f6f4ef);font-size:var(--t-small)}.neat li span{color:var(--mute)}
.vs-group{display:grid;gap:10px}.vs-gn{display:flex;gap:6px;flex-wrap:wrap}.vs-gn button{all:unset;cursor:pointer;min-width:34px;height:34px;border-radius:10px;display:grid;place-items:center;box-shadow:0 0 0 1px var(--line2);font-weight:600}.vs-gn button.on{background:var(--ink,#141414);color:#fff;box-shadow:none}.vs-gl{display:flex;justify-content:space-between;gap:10px;font-size:var(--t-small)}.vs-gl b{font-size:var(--t-body)}.vs-group small{color:var(--mute)}
.vs-two{margin:28px 0}.vs-twog{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.vs-twoc{border-radius:16px;box-shadow:0 0 0 1px var(--line2);overflow:hidden;background:#fff}
.vs-twoh{display:grid;gap:2px;padding:12px 16px;background:var(--sand2,#f6f4ef)}.vs-twoh span{font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--red)}.vs-twoh small{color:var(--mute)}
.vs-twoc ol{list-style:none;margin:0;padding:6px 16px 12px;counter-reset:st}.vs-twoc li{counter-increment:st;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}.vs-twoc li:last-child{border-bottom:0}
.vs-twoc li::before{content:counter(st);color:var(--mute);font-weight:700}.vs-twoc li small{color:var(--mute)}
@media (max-width:700px){.vs-twog{grid-template-columns:minmax(0,1fr)}}
.oroutes{margin-top:32px}.oroutes .oh{display:block;font-size:var(--t-body);font-weight:700;margin-bottom:14px}
.orow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.orow.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.orow.n1{grid-template-columns:minmax(0,1fr)}.orow.n1 .oroute{flex-direction:row}.orow.n1 .ogal{flex:0 0 46%;aspect-ratio:auto;min-height:280px}.orow.n1 .obody{padding:24px 28px}
.oroute{display:flex;flex-direction:column;min-width:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line2),0 10px 28px rgba(10,20,30,.06)}
.oroute .obody{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}.oroute .otitle{font-size:var(--t-body);line-height:1.3;font-weight:700}
.oroute ol{list-style:none;margin:10px 0 0;padding:0;counter-reset:st;display:grid;gap:0}.oroute li{counter-increment:st;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}.oroute li:last-child{border-bottom:0}.oroute li b{font-weight:500}.oroute li::before{content:counter(st);font-weight:700;color:var(--red)}.oroute li small{color:var(--mute)}
.ofoot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px}
.ogal{display:grid;grid-template-columns:1fr 1fr;gap:3px;aspect-ratio:16/10}.ogal.n1{grid-template-columns:1fr}.ogal.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.ogal.n3 figure:first-child{grid-row:1/-1}
.ogal figure{position:relative;margin:0;overflow:hidden;background:var(--line);min-height:0}
.ogal figure picture,.ogal figure img{display:block;width:100%;height:100%;object-fit:cover}
.ogal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:var(--t-micro);font-weight:600;line-height:1.25;color:#fff;background:linear-gradient(to top,rgba(4,10,16,.82),rgba(4,10,16,0));text-shadow:0 1px 2px rgba(0,0,0,.4)}
@media (max-width:760px){.orow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:2px 16px 8px;scroll-padding-inline:16px;scrollbar-width:none}.orow::-webkit-scrollbar{display:none}.oroute{flex:0 0 84%;scroll-snap-align:start}
.orow.n1{display:block;margin:0;padding:0}.orow.n1 .oroute{flex-direction:column}.orow.n1 .ogal{aspect-ratio:16/10;min-height:0}.orow.n1 .obody{padding:16px 18px 18px}}
.tbsort{align-items:center;margin:0 0 14px}.tbsort small{color:var(--mute);margin-right:4px}
.tbwall{columns:4 200px;column-gap:12px;margin-top:18px}.tbw{display:block;position:relative;break-inside:avoid;margin:0 0 12px;border-radius:14px;overflow:hidden}
.tbw img{width:100%;display:block}.tbw span{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);background:rgba(0,0,0,.6);color:#fff;font-size:var(--t-micro);padding:4px 8px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-score.scored .vsc{border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--line);background:#fff}
.vsc-h{display:flex;justify-content:space-between;padding:12px 18px;background:var(--sand,#f6f4ef);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.vsc-r{padding:14px 18px;border-top:1px solid var(--line)}.vsc-k{text-align:center;margin-bottom:8px}.vsc-k b{display:block}.vsc-k small{color:var(--mute);font-size:var(--t-small)}
.vsc-b{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vsb .vsl{display:flex;justify-content:space-between;gap:8px;font-size:var(--t-small);margin-bottom:6px}.vsb .vsl span{color:var(--ink2,#333)}.vsb.win .vsl b{color:var(--green,#1f9d6b)}
.vsb i{display:block;height:8px;border-radius:999px;background:linear-gradient(270deg,var(--ink,#141414) var(--w),var(--line) var(--w))}
.vsb.r i{background:linear-gradient(90deg,var(--red) var(--w),var(--line) var(--w))}
.vsb.r .vsl{flex-direction:row-reverse}
/* On a phone each side is its score, then its words, then its bar, the bars level across the row and the right side mirrored (operator, 30 Oct 2026: "mobile version of this comparison sucks"). */
@media (max-width:640px){.vsc-h{gap:16px;padding:12px 16px}.vsc-h span:last-child{text-align:right}.vsc-r{padding:16px}.vsc-b{gap:18px}
.vsb{display:flex;flex-direction:column}.vsb .vsl,.vsb.r .vsl{flex:1;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;margin-bottom:10px}
.vsb .vsl b{order:-1;font-size:var(--t-body)}.vsb .vsl span{line-height:1.35}.vsb.r .vsl{align-items:flex-end;text-align:right}}
.vsc-t{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:16px 18px;background:var(--ink,#141414);color:#fff}
.vsc-t small{display:block;color:rgba(255,255,255,.65);font-size:var(--t-micro)}.vsc-t b{font-size:28px}.vsc-t .r{text-align:right}.vsc-t>span{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.vsc-t em{display:inline-block;margin-left:8px;font-style:normal;font-size:var(--t-micro);font-weight:700;text-transform:uppercase;background:var(--red);border-radius:999px;padding:3px 8px;vertical-align:middle}
.hnote{margin:-6px 0 14px;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:var(--t-body);color:var(--red)}
.pcard{margin:22px 0 0;max-width:340px;background:#fffdf7;padding:10px 10px 14px;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.05);transform:rotate(-1.5deg)}
.pcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px}.pcard .ph img{width:100%;height:100%;object-fit:cover;display:block}
.pcard .pplace{position:absolute;left:10px;top:8px;color:#fff;font-weight:800;font-size:26px;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.pcard .pyear{position:absolute;right:10px;top:10px;color:#fff;font-size:11px;letter-spacing:.12em;border:1px solid rgba(255,255,255,.7);border-radius:4px;padding:3px 6px}
.pcard figcaption{margin:12px 4px 0;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:var(--t-body);line-height:1.35;color:var(--ink,#141414)}
.faqx{display:flex;flex-wrap:wrap;gap:20px 28px;justify-content:center;align-items:center;margin-top:8px}.faqx:empty{display:none}.faqx .pcard{margin:14px 0}
.faqask{display:grid;gap:2px;margin:0;padding:16px 18px;border-radius:14px;background:var(--ink,#141414);color:#fff;text-decoration:none;max-width:340px}.faqask b{color:#fff}.faqask span{color:rgba(255,255,255,.72);font-size:var(--t-small)}.faqask:hover{opacity:.92}
.rins{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:20px}
.rins>div{background:var(--card,#fff);border-radius:14px;padding:14px 16px;box-shadow:0 0 0 1px var(--line)}
.rins small{display:block;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:4px}.rins p{margin:0}
.gchoose,.gifthen{margin:8px 0 40px;border-radius:16px;box-shadow:0 0 0 1px var(--line);overflow-x:auto;background:#fff}
.gchoose h4,.gifthen h4{margin:0;padding:16px 18px 4px;font-size:var(--t-body)}
.gchoose table,.gifthen table{width:100%;border-collapse:collapse;font-size:var(--t-small);min-width:520px}
.gchoose th,.gchoose td,.gifthen th,.gifthen td{text-align:left;vertical-align:top;padding:11px 18px;border-top:1px solid var(--line)}
.gchoose thead th,.gifthen thead th{border-top:0;font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:600}
.gchoose tbody th,.gifthen tbody th{font-weight:600;width:30%}.gchoose td{color:var(--ink2,#333)}
.gchoose td.ok svg,.gifthen td svg{vertical-align:-2px;margin-right:6px}
.finder-in .finder{margin:8px 0 40px}
@media (max-width:900px){.finder{grid-template-columns:minmax(0,1fr);padding:24px 18px;border-radius:18px}}

.hero .h1:has(em.se){font-family:var(--serif);font-weight:var(--accent-weight);font-style:var(--accent-style);letter-spacing:var(--acc-track)}
.hero .h1 em.se{font-family:var(--display);font-weight:var(--display-weight);font-style:normal;letter-spacing:var(--h1-track);font-size:1em;line-height:var(--h1-leading)}
:root{
--display:'Fraunces',Georgia,serif;--serif:'Fraunces',Georgia,serif;--sans:'Figtree',system-ui,sans-serif;
--display-weight:600;--accent-weight:300;--accent-style:italic;
--h1-size:clamp(2.625rem, 4.34vw, 3.22rem);--h1-leading:1.04;--h1-track:-0.02em;--h1-case:none;
--acc-size:clamp(2.568rem, 4.2vw, 3.15rem);--acc-leading:1.06;--acc-track:-0.01em;
--h2-size:clamp(1.943rem, 3.212vw, 2.383rem);--acc-ratio:0.998;
--h2-big:clamp(2.1rem, 3.472vw, 2.576rem);--h2-xl:clamp(2.494rem, 4.123vw, 3.059rem);--h2-sm:clamp(1.628rem, 2.691vw, 1.996rem);
--h3-size:22px;--card-title:clamp(1.125rem, 1.6vw, 1.25rem);
--lede-size:clamp(1.0625rem, 1.5vw, 1.1875rem);--lede-leading:1.6;--measure:46ch;
--t-body:1rem;--t-body-lh:1.6;--t-small:0.875rem;--t-micro:0.78125rem;
--num-md:clamp(1.25rem, 1.8vw, 1.5rem);--num-lg:clamp(1.5rem, 2.4vw, 1.75rem);--num-xl:clamp(2rem, 3.2vw, 2.5rem);
--eb-size:0.78125rem;--eb-track:0.14em;
}:root{
--paper:#F5F2EC;--sand:#EDE9E1;--sand2:#F0ECE4;--paper-blur:rgba(245,242,236,0.94);
--ink:#141414;--ink2:#3D3B37;--mute:#6B6862;--mute2:#9A968F;
--red:#D6112E;--red2:#B60E27;--redsoft:#FDE8EB;--pink:#FF5C73;
--accent-glow:rgba(214,17,46,0.35);--accent-glow-soft:rgba(214,17,46,0.25);--accent-tint:rgba(214,17,46,0.12);--accent-tint-soft:rgba(214,17,46,0.06);
--green:#1E9E5A;--greensoft:#EAF7EF;
--navy:#0B1F2C;--visual:#DDE6EA;
--hero-shade:linear-gradient(90deg,rgba(11,31,44,0.86) 0%,rgba(11,31,44,0.5) 55%,rgba(11,31,44,0.25) 100%);
--photo-shade:rgba(11,31,44,0.72);--visual-shade:linear-gradient(180deg,rgba(221,230,234,0.15),rgba(221,230,234,0.85));
--gold:#E89A1E;--gold2:#edae4b;--gold3:#f0bc6b;--gold-tint:rgba(232,154,30,0.34);
--line:rgba(20,20,20,0.08);--line2:rgba(20,20,20,0.14);--line3:rgba(20,20,20,0.25);
}