/* "Swiss Grid" design system (design.md).
   Inter Tight display + Inter body, high-contrast neutrals, a single navy.
   Flat on purpose: no gradients, no border-radius, one accent action per screen. */

:root{
  --ink:#233044;        /* primary: headlines & core text (soft slate, not black) */
  --sage:#5D6B7E;       /* secondary: borders, captions, metadata */
  --coral:#2563EB;      /* tertiary: the sole interaction accent */
  --coral-ink:#1D4ED8;  /* readable blue for link/body text */
  --coral-dk:#1E40AF;   /* button hover */
  --neutral:#F5F5F5;    /* page foundation */
  --surface:#FFFFFF;    /* card / panel surface */
  --white:#FFFFFF;
  --line:#E0E0E0;
  --r-sm:0px;
  --r-md:0px;
  --r-lg:0px;
  --maxw:1220px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:16px;line-height:1.55;color:var(--ink);background:var(--white);
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-ink);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,.logo,.display{font-family:"Inter Tight","Inter",sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}
h1{font-size:2.25rem;margin:.1em 0 .5em;font-weight:700;letter-spacing:-.02em}
h2{font-size:1.6rem;margin:2.2em 0 .6em}
h3{font-size:1.15rem;margin:1.6em 0 .4em}
h4{font-family:"Inter",sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin:0 0 .6em}
p{margin:0 0 1.05em}
@media(max-width:640px){h1{font-size:1.75rem}h2{font-size:1.35rem}}

.label{font-family:"Inter",sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.02em;text-transform:uppercase;color:var(--sage);margin:0 0 .5em}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--coral);color:#fff;font-family:"Inter",sans-serif;font-weight:600;
  font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:12px 20px;border-radius:0;border:2px solid var(--coral);
  transition:background .15s,border-color .15s;text-align:center;
}
.btn:hover{background:var(--coral-dk);border-color:var(--coral-dk);text-decoration:none;color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* ---------- header + dropdown nav ---------- */
.site-head{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:2px solid var(--ink)}
.site-head .wrap{display:flex;align-items:center;gap:18px;height:64px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.logo:hover{text-decoration:none}
.logo .mark{width:28px;height:28px;flex:0 0 auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav-item{position:relative}
.nav .nav-top{display:flex;align-items:center;gap:6px;color:var(--ink);font-family:"Inter",sans-serif;font-weight:600;font-size:.88rem;letter-spacing:.01em;padding:21px 12px}
.nav .nav-top:hover{color:var(--coral-ink);text-decoration:none}
.nav .caret{width:9px;height:6px;opacity:.55}
.nav .drop{display:none;position:absolute;top:100%;left:0;min-width:250px;background:var(--white);
  border:1px solid var(--ink);border-top:2px solid var(--coral);padding:6px 0;z-index:50}
.nav .drop a{display:block;color:var(--ink);font-family:"Inter",sans-serif;font-weight:500;font-size:.88rem;padding:9px 18px}
.nav .drop a:hover{background:var(--neutral);color:var(--coral-ink);text-decoration:none}
/* section thumbnail at the top of each dropdown panel */
.nav .drop .drop-img{display:block;padding:0;margin:8px 12px 8px;border-bottom:1px solid var(--line);overflow:hidden}
.nav .drop .drop-img img{width:100%;height:110px;object-fit:cover;display:block;transition:transform .18s ease}
.nav .drop .drop-img:hover{background:none}
.nav .drop .drop-img:hover img{transform:scale(1.03)}
@media(min-width:921px){
  .nav-item.has-drop:hover .drop,.nav-item.has-drop:focus-within .drop{display:block}
}
.nav .nav-cta{margin-left:12px;color:#fff;padding:10px 18px}
.nav .nav-cta:hover{color:#fff}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer}
@media(max-width:920px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
        background:var(--white);border-bottom:2px solid var(--ink);padding:4px 24px 16px;max-height:calc(100vh - 64px);overflow-y:auto}
  .nav.open{display:flex}
  .nav-item{width:100%}
  .nav .nav-top{padding:12px 0;border-bottom:1px solid var(--line);width:100%;justify-content:space-between}
  .nav .drop{display:none;position:static;border:0;border-left:2px solid var(--coral);min-width:0;padding:2px 0 6px;background:var(--neutral)}
  .nav .drop .drop-img{display:none} /* keep the mobile accordion light */
  .nav .drop a{padding:9px 14px;font-size:.86rem}
  .nav-item.has-drop.open .drop{display:block}
  .nav-item.has-drop.open > .nav-top .caret{transform:rotate(180deg)}
  .nav .nav-cta{margin:14px 0 0;text-align:center;width:100%}
}

/* ---------- breadcrumb ---------- */
.crumb{font-family:"Inter",sans-serif;font-weight:600;font-size:.72rem;color:var(--sage);padding:14px 24px 0;text-transform:uppercase;letter-spacing:.05em}
.crumb a{color:var(--sage)}

/* ---------- portal hero (homepage): full-width photo, centred display title ---------- */
.hero{position:relative;background:var(--ink) center/cover no-repeat;background-image:url('/images/hero.jpg');color:#fff}
.hero{background-image:-webkit-image-set(url('/images/hero.webp') type('image/webp'),url('/images/hero.jpg') type('image/jpeg'));background-image:image-set(url('/images/hero.webp') type('image/webp'),url('/images/hero.jpg') type('image/jpeg'))}
.hero::before{content:"";position:absolute;inset:0;background:rgba(15,23,42,.34)}
.hero .wrap{position:relative;z-index:1;min-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 24px}
.hero .label{color:#fff;opacity:.9;letter-spacing:.14em}
.hero h1{font-family:"Inter Tight",sans-serif;font-size:4rem;font-weight:700;letter-spacing:-.03em;margin:0 0 .25em;color:#fff}
.hero .lede{font-size:1.1rem;color:rgba(255,255,255,.92);max-width:38em;margin:0 auto 1.6em;line-height:1.5}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:0}
.hero .btn-ghost{color:#fff;border-color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--ink)}
.hero-trust{font-size:.9rem;color:rgba(255,255,255,.85);margin:1.4em 0 0}
.hero-trust b{color:#fff}
@media(max-width:640px){.hero h1{font-size:2.4rem}.hero .wrap{min-height:380px;padding:60px 24px}}

/* ---------- facts strip (under hero) ---------- */
.facts-strip{background:var(--white);border-bottom:1px solid var(--line)}
.facts-strip .wrap{display:flex;flex-wrap:wrap;padding:0}
.facts-item{flex:1 1 0;min-width:150px;padding:16px 24px;border-right:1px solid var(--line)}
.facts-item:last-child{border-right:0}
.facts-val{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1.15rem;line-height:1.05;color:var(--ink);letter-spacing:-.01em}
.facts-val .star{color:var(--coral)}
.facts-label{font-family:"Inter",sans-serif;font-size:.7rem;font-weight:600;color:var(--sage);text-transform:uppercase;letter-spacing:.06em;margin-top:.45em}
@media(max-width:780px){.facts-item{flex:1 1 50%;min-width:0;border-bottom:1px solid var(--line)}.facts-item:nth-child(2n){border-right:0}}
@media(max-width:420px){.facts-item{flex:1 1 100%;border-right:0}}

/* ---------- portal homepage sections ---------- */
/* centred intro essay */
.intro-essay{max-width:850px;margin:0 auto;padding:56px 24px 8px;text-align:left}
.intro-essay h2{margin:0 0 .6em}
.intro-essay p{font-size:1.02rem;color:#222;text-align:left}
.intro-essay p:first-of-type{font-size:1.08rem}
/* section heading with the red rule (Swiss signal) */
.sec-head{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sec-head h2{margin:2.6em 0 .3em;padding-top:.7em;border-top:3px solid var(--ink);position:relative}
.sec-head h2::before{content:"";position:absolute;top:-3px;left:0;width:64px;height:3px;background:var(--coral)}
.sec-head .sec-sub{color:var(--sage);margin:0 0 1.4em;max-width:52em}
/* where-to-go: alternating photo/text rows */
.wtg{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.wtg-row{display:grid;grid-template-columns:1.1fr 1fr;gap:0;margin:0 0 28px;border:1px solid var(--line);background:var(--surface)}
.wtg-row:nth-child(even){grid-template-columns:1fr 1.1fr}
.wtg-row:nth-child(even) .wtg-img{order:2}
.wtg-img{margin:0;overflow:hidden;background:var(--neutral)}
.wtg-img img{width:100%;height:100%;min-height:260px;object-fit:cover}
.wtg-body{padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.wtg-body h3{margin:0 0 .4em;font-size:1.35rem}
.wtg-body p{color:#222;font-size:.95rem;margin:0 0 1.1em}
.wtg-more{font-family:"Inter",sans-serif;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--coral-ink)}
@media(max-width:760px){.wtg-row,.wtg-row:nth-child(even){grid-template-columns:1fr}.wtg-row:nth-child(even) .wtg-img{order:0}.wtg-body{padding:22px 22px 24px}}
/* featured content cards */
.featured{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 0 10px}
.featured-grid a.fcard{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color .15s}
.featured-grid a.fcard:hover{border-color:var(--ink);text-decoration:none}
.fcard figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--neutral)}
.fcard img{width:100%;height:100%;object-fit:cover}
.fcard-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.fcard-kicker{font-family:"Inter",sans-serif;font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:.5em}
.fcard h3{margin:0 0 .4em;font-size:1.02rem;line-height:1.3}
.fcard p{font-size:.88rem;color:var(--sage);margin:0}
@media(max-width:960px){.featured-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.featured-grid{grid-template-columns:1fr}}
/* plan-your-visit CTA panel */
.plan-cta{max-width:var(--maxw);margin:48px auto;padding:0 24px}
.plan-cta-inner{background:var(--neutral);border-top:3px solid var(--ink);padding:36px 38px}
.plan-cta-inner h2{margin:0 0 .4em}
.plan-cta-inner>p{max-width:56em;color:#222}
.plan-list{list-style:none;margin:1.2em 0 1.6em;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}
.plan-list li{position:relative;padding:7px 0 7px 26px;border-bottom:1px solid var(--line);font-size:.95rem}
.plan-list li::before{content:"\2192";position:absolute;left:0;color:var(--coral-ink);font-weight:700}
.plan-list a{color:var(--ink)}
.plan-list a:hover{color:var(--coral-ink)}
@media(max-width:680px){.plan-list{grid-template-columns:1fr}.plan-cta-inner{padding:26px 22px}}

/* ---------- explore link cluster (keyword interlinks, above footer) ---------- */
.explore{margin:2.4em 0 0;padding:26px 0 0;border-top:3px solid var(--ink)}
.explore h2{margin:0 0 .7em}

/* ---------- link tiles (andalusia-style boxed link blocks) ---------- */
.link-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:1.2em 0 1.8em}
.link-tiles .tile{display:flex;align-items:center;gap:14px;
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--coral);
  color:var(--ink);font-family:"Inter",sans-serif;font-weight:600;font-size:.94rem;
  padding:14px 16px;line-height:1.35;transition:border-color .15s,background .15s}
.link-tiles .tile:hover{border-color:var(--ink);border-left-color:var(--coral);background:var(--neutral);text-decoration:none;color:var(--coral-ink)}
.link-tiles .tile-arrow{color:var(--coral-ink);font-size:1.3rem;line-height:1;flex:0 0 auto;margin-left:auto}
@media(max-width:560px){.link-tiles{grid-template-columns:1fr}}

/* ---------- best-seller rows (compact ticket blocks, no images) ---------- */
.sell-list{border:1px solid var(--line);border-top:3px solid var(--coral);margin:1.2em 0 1.8em;background:var(--surface)}
.sell-row{display:flex;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink)}
.sell-row:last-child{border-bottom:0}
.sell-row:hover{background:var(--neutral);text-decoration:none}
.sell-main{flex:1 1 auto;min-width:0}
.sell-main b{display:block;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1rem;letter-spacing:-.01em;line-height:1.3;margin-bottom:2px}
.sell-rate{font-size:.82rem;color:var(--sage)}
.sell-price{flex:0 0 auto;font-weight:700;white-space:nowrap}
.sell-price small{font-weight:400;color:var(--sage)}
.sell-row .btn{flex:0 0 auto;padding:10px 18px}
@media(max-width:640px){.sell-row{flex-wrap:wrap;gap:10px 18px}.sell-main{flex:1 1 100%}}

/* ---------- map page ---------- */
.map-embed{position:relative;z-index:0;isolation:isolate;border:1px solid var(--ink);margin:1.4em 0 .5em;background:var(--neutral)}
.map-embed iframe,.map-embed>div{display:block;width:100%;height:460px;border:0}
.map-note{font-size:.84rem;color:var(--sage);margin:0 0 1.6em}
.map-note a{color:var(--coral-ink)}
@media(max-width:640px){.map-embed iframe,.map-embed>div{height:340px}}
/* numbered attraction pins (Leaflet divIcon) + matching tile numbers */
.map-pin{background:none;border:0;box-shadow:none}
.map-pin span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.map-pin svg{width:16px;height:16px;display:block}
.map-pin span{font-family:inherit;font-weight:700;font-size:13px;line-height:1}
.map-pin span svg{width:16px;height:16px;display:block}
.map-note .dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin:0 3px 0 6px;vertical-align:baseline}
.guide-entry{margin:0 0 26px}
.guide-entry h3{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.guide-entry h3 a{color:inherit}
.g-num{flex:0 0 30px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;line-height:1}
.guide-photo{display:block;width:100%;height:auto;margin:0 0 12px}
.infographic{margin:22px 0 26px}
.infographic img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.infographic figcaption{font-size:13px;color:var(--sage);margin-top:8px}
.infographic-sq img{max-width:640px;margin:0 auto}
.leaflet-popup-content{font-family:"Inter",sans-serif;font-size:.9rem;line-height:1.45}
.leaflet-popup-content a{color:var(--coral-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0}
.tile-num{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:#fff;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:.78rem}
.tile-num svg{width:14px;height:14px;display:block}

/* ---------- main / prose ---------- */
.section-pad{padding-top:40px;padding-bottom:64px}
.prose{max-width:860px;margin:0 auto}
.prose.wide{max-width:1060px}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.2em}
.prose li{margin:.32em 0}
ul.check{list-style:none;padding-left:0}
ul.check li{position:relative;padding-left:1.7em;margin:.5em 0}
ul.check li::before{content:"\2192";position:absolute;left:0;top:0;color:var(--coral-ink);font-weight:700}

/* page-hero banner inside articles */
.page-hero{margin:0 0 1.6em;overflow:hidden}
.page-hero img{width:100%;max-height:380px;object-fit:cover}
.page-hero .hero-credit{font-size:12px;color:var(--sage);margin-top:6px}
.page-hero .hero-credit a{color:var(--sage);text-decoration:underline;text-underline-offset:2px}

/* ---------- answer box ---------- */
.answer-box{background:var(--neutral);border-left:4px solid var(--coral);padding:20px 24px;margin:0 0 1.8em}
.answer-box p{margin:0}
.answer-box strong{color:var(--ink)}
.answer-box a{text-decoration:underline;text-underline-offset:2px}

/* ---------- key takeaways (homecontent.TAKEAWAYS) ---------- */
.ia-takeaways{background:var(--neutral);border:1px solid var(--line);border-top:3px solid var(--coral);padding:26px 30px;margin:34px 0;color:#222}
.ia-takeaways h2{color:var(--ink);margin:0 0 14px;font-size:1.25rem}
.ia-takeaways ul{list-style:none;margin:0;padding:0}
.ia-takeaways li{display:flex;align-items:flex-start;gap:14px;padding:11px 0;line-height:1.55;border-bottom:1px solid var(--line)}
.ia-takeaways li:last-child{border-bottom:0}
.ia-takeaways .tk-ico{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--coral);color:#fff;margin-top:2px}
.ia-takeaways .tk-ico svg{width:19px;height:19px}
.ia-takeaways li>div{flex:1}
.ia-takeaways b,.ia-takeaways strong{color:var(--ink)}
.ia-takeaways a{color:var(--coral-ink);text-decoration:underline;text-underline-offset:2px}
.ia-takeaways a:hover{color:var(--ink)}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.94rem}
th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--ink);color:#fff;font-family:"Inter",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}

/* ---------- tip / keyfacts / proscons ---------- */
.tip{background:var(--neutral);border:1px solid var(--line);border-left:4px solid var(--coral);padding:16px 20px;margin:1.5em 0}
.tip-label{display:inline-block;font-family:"Inter",sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:.3em}
.tip p{margin:0}

/* ---------- deep-dive components (ticket cards, dos/donts, facts, timeline) ---------- */
.ticket-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:1.6em 0}
@media(max-width:700px){.ticket-cards{grid-template-columns:1fr}}
.tcard{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--coral);padding:18px 20px;display:flex;flex-direction:column}
.tcard h3{margin:0 0 .35em;font-size:1.05rem}
.tcard .tc-meta{font-family:"Inter",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);margin-bottom:.5em}
.tcard p{margin:0 0 1em;font-size:.92rem;flex:1}
.tcard .btn{align-self:flex-start;padding:10px 18px;font-size:.78rem}
.dd-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.5em 0}
@media(max-width:700px){.dd-cols{grid-template-columns:1fr}}
.dd-col{background:var(--surface);border:1px solid var(--line);padding:16px 20px}
.dd-col h3{margin:0 0 .6em;font-size:.8rem;font-family:"Inter",sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dd-do h3{color:#059669}.dd-dont h3{color:#DC2626}
.dd-col ul{list-style:none;margin:0;padding:0}
.dd-col li{position:relative;padding-left:1.6em;margin:.45em 0;font-size:.93rem}
.dd-do li::before{content:"\2713";position:absolute;left:0;color:#059669;font-weight:700}
.dd-dont li::before{content:"\2715";position:absolute;left:0;color:#DC2626;font-weight:700}
ol.facts{list-style:none;counter-reset:fct;margin:1.4em 0;padding:0}
ol.facts li{counter-increment:fct;position:relative;padding:14px 18px 14px 60px;border:1px solid var(--line);border-bottom:0;background:var(--surface)}
ol.facts li:last-child{border-bottom:1px solid var(--line)}
ol.facts li::before{content:counter(fct,decimal-leading-zero);position:absolute;left:18px;top:12px;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1.15rem;color:var(--coral-ink)}

.keyfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);overflow:hidden;margin:1.6em 0}
.keyfacts div{background:var(--surface);padding:14px 16px}
.kf-label{display:block;font-family:"Inter",sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:3px}
.keyfacts b{font-size:1rem}
@media(max-width:640px){.keyfacts{grid-template-columns:repeat(2,1fr)}}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1.6em 0}
.pc{border:1px solid var(--line);padding:18px 20px;background:var(--surface)}
.pc ul{list-style:none;margin:0;padding:0}
.pc li{position:relative;padding-left:1.6em;margin:.5em 0}
.pros{border-top:3px solid var(--coral)}
.cons{border-top:3px solid var(--sage)}
.pros li::before{content:"\2713";position:absolute;left:0;color:var(--coral-ink);font-weight:700}
.cons li::before{content:"!";position:absolute;left:.25em;color:var(--sage);font-weight:700}
@media(max-width:640px){.proscons{grid-template-columns:1fr}}

.inclist{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:1.6em 0}
.inclist>div{border:1px solid var(--line);padding:18px 20px;background:var(--surface)}
.inclist h4{margin:0 0 .5em;font-family:"Inter",sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.inclist ul{list-style:none;margin:0;padding:0}
.inclist li{position:relative;padding-left:1.6em;margin:.5em 0}
.inclist .inc{border-top:3px solid var(--coral)}
.inclist .inc h4{color:var(--coral-ink)}
.inclist .inc li::before{content:"\2713";position:absolute;left:0;color:var(--coral-ink);font-weight:700}
.inclist .exc{border-top:3px solid var(--sage)}
.inclist .exc h4{color:var(--sage)}
.inclist .exc li::before{content:"\00d7";position:absolute;left:.15em;color:var(--sage);font-weight:700}
.inclist.solo{grid-template-columns:1fr}
@media(max-width:640px){.inclist{grid-template-columns:1fr}}

/* ---------- tour cards ---------- */
.tours-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:20px;margin:1.5em 0 .4em}
.tours-grid.cols-4{grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:860px){.tours-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1024px){.tours-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tours-grid,.tours-grid.cols-4{grid-template-columns:1fr}}
.tour{border:1px solid var(--line);overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:border-color .15s}
.tour:hover{border-color:var(--ink)}
/* whole card is an <a> (see helpers._card) — kill link styling, keep hover feedback */
a.tour{color:inherit;text-decoration:none}
a.tour:hover .btn{filter:brightness(1.08)}
.thumb{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--neutral)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:10px;left:10px;background:#fff;color:var(--ink);font-family:"Inter",sans-serif;font-weight:600;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.tour-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.tour-body h3{font-size:1rem;margin:0 0 .45em;line-height:1.25;font-weight:700}
.rate{font-size:.85rem;color:var(--sage);margin-bottom:.5em}
.star{color:var(--coral)}
.price{font-weight:700;margin-bottom:.8em}
.price span{font-weight:400;color:var(--sage);font-size:.85rem}
.tour-body .btn{margin-top:auto}
/* decorative filler tile (rounds out incomplete card rows on desktop) */
.tour-filler{position:relative;border:1px dashed var(--sage);background:var(--neutral);align-items:center;justify-content:center;min-height:180px;opacity:.4;filter:grayscale(1)}
.tour-filler:hover{border-color:var(--sage)}
.tour-filler .filler-art{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.tour-filler .filler-label{position:relative;font-family:"Inter",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem;color:var(--sage);background:rgba(245,245,245,.85);padding:5px 11px}
@media(max-width:860px){.tour-filler{display:none}}
/* entry-fee badge on card thumbs */
.fee-badge{position:absolute;left:10px;bottom:10px;background:var(--ink);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:4px 9px}
/* price-per-day subtext */
.perday{font-size:.8rem;color:var(--sage);margin:-4px 0 10px}

/* ---------- book-card (docked chip availability) ---------- */
.book-card{position:relative;border:2px solid var(--ink);padding:26px 18px 14px;margin:1.6em 0;background:var(--surface)}
.book-chip{position:absolute;top:-13px;left:18px;background:var(--coral);color:#fff;font-family:"Inter",sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px}
.gyg-frame{min-height:220px}
/* cancel-note under availability widgets */
.cancel-note{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.82rem;color:var(--sage)}

/* ---------- comparison table ---------- */
.cmp-wrap{overflow-x:auto;margin:1.8em 0}
@media(min-width:1080px){.cmp-wrap{margin-left:-110px;margin-right:-110px}}
table.cmp{border-collapse:separate;border-spacing:0;min-width:640px;width:100%;font-size:1rem}
table.cmp th,table.cmp td{border:0;border-bottom:1px solid var(--line);padding:16px 20px;background:var(--surface)}
table.cmp thead th{background:var(--neutral);color:var(--ink);vertical-align:bottom;text-transform:none;letter-spacing:-.01em;font-family:"Inter Tight",sans-serif;font-weight:700}
table.cmp .rowlabel{font-family:"Inter",sans-serif;font-weight:600;color:var(--sage);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
table.cmp .feat{background:var(--neutral);border-left:2px solid var(--coral);border-right:2px solid var(--coral)}
table.cmp thead .feat{border-top:2px solid var(--coral)}
table.cmp tr.cmp-book .feat{border-bottom:2px solid var(--coral)}
.cmp-badge{display:inline-block;background:var(--coral);color:#fff;font-family:"Inter",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;margin-bottom:6px}
.feat-title{display:block;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
.col-alt{color:var(--ink)}
table.cmp .btn{width:100%;padding:11px 10px;font-size:.76rem}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1.8em 0}
.gallery figure{margin:0;position:relative;overflow:hidden}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.78);color:#fff;font-family:"Inter",sans-serif;font-weight:600;font-size:.72rem;padding:12px 12px 9px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:1.5em 0;counter-reset:s}
.step{border-top:3px solid var(--coral);padding:14px 4px 0;counter-increment:s}
.step::before{content:counter(s);font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1.5rem;color:var(--coral-ink);display:block;margin-bottom:.1em}
.step h3{margin:0 0 .25em;font-size:1.02rem}
.step p{font-size:.9rem;color:var(--sage);margin:0}
@media(max-width:760px){.steps{grid-template-columns:repeat(2,1fr)}}

/* ---------- reviews band (aggregate rating strip on money pages) ---------- */
.reviews-band{background:var(--neutral);border-top:3px solid var(--ink);padding:24px;margin:1.8em 0}
.reviews-head{display:flex;align-items:center;gap:18px}
.reviews-head .big{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:3rem;color:var(--ink);line-height:1;letter-spacing:-.02em}
.reviews-head .stars{color:var(--coral);font-size:1.1rem;letter-spacing:2px}

/* ---------- honest guide ---------- */
.honest-guide{background:var(--neutral);border-top:3px solid var(--ink);padding:32px 30px;margin:2.4em 0}
.honest-guide h2{margin-top:0}
.honest-guide .lead{font-size:1.08rem;color:var(--ink)}
.honest-guide h3{margin-top:1.5em}

/* ---------- quick-answers band (numbered Q&A grid, distinct from FAQ accordion) ---------- */
.qa-band{background:var(--neutral);border-top:3px solid var(--coral);padding:36px 32px;margin:2.4em 0}
.qa-band h2{margin-top:0}
.qa-band .lead{font-size:1.05rem;color:var(--ink);max-width:44em}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 36px;margin-top:1.6em;counter-reset:qa}
.qa-cell{counter-increment:qa;position:relative;padding-left:44px}
.qa-cell::before{content:counter(qa,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:"Inter Tight",sans-serif;font-weight:800;font-size:1.15rem;color:var(--coral);letter-spacing:-.02em}
.qa-cell h3{margin:0 0 .4em;font-size:1.02rem}
.qa-cell p{margin:0;font-size:.94rem}
.qa-cell a{color:var(--coral-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
@media(max-width:700px){.qa-grid{grid-template-columns:1fr}.qa-band{padding:28px 22px}}
.guide-fig{margin:1.5em 0}
.guide-fig img{width:100%;max-height:340px;object-fit:cover}
.guide-fig figcaption{font-size:.84rem;color:var(--sage);margin-top:.5em;font-style:italic}

/* ---------- FAQ ---------- */
.faq{margin:1em 0}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;font-weight:600;padding:14px 30px 14px 0;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;color:var(--coral-ink);font-weight:700;font-size:1.3rem}
.faq details[open] summary::after{content:"\2212"}
.faq-body{padding:0 0 12px}
.faq-body p{margin:0}
.faq-contact{margin:1.1em 0 .2em;font-weight:600;color:var(--ink)}
.faq-contact a{color:var(--coral-ink)}

/* ---------- disclosure ---------- */
.disclosure{font-size:.84rem;color:var(--sage);background:var(--neutral);padding:13px 16px;margin:1em 0 1.6em}
.disclosure a{color:var(--coral-ink)}

/* related strip */
.related{border-top:3px solid var(--ink);margin-top:2.4em;padding-top:1.2em}

/* sitemap */
.sitemap-list{list-style:none;padding-left:0}
.sitemap-list li{margin:.4em 0;padding-left:1.2em;position:relative}
.sitemap-list li::before{content:"\2192";position:absolute;left:0;color:var(--coral-ink)}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#CFCFCF;margin-top:40px;border-top:4px solid var(--coral)}
.site-foot .wrap{padding:48px 24px 30px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.4fr;gap:32px}
.site-foot .brand .logo{color:#fff;margin-bottom:.6em}
.site-foot .brand p{font-size:.9rem;max-width:34em}
.site-foot h4{color:#fff;margin-bottom:.8em}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:.4em 0}
.site-foot a{color:#CFCFCF;font-size:.9rem}
.site-foot a:hover{color:#fff}
.foot-answers{margin-top:26px;border-top:1px solid #333;padding-top:20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px}
.foot-answers .label{font-family:"Inter",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#8a8a8a}
.foot-answers nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.foot-answers a{color:#CFCFCF;font-size:.86rem}
.foot-answers a:hover{color:#fff}
.foot-brand{display:grid;grid-template-columns:1.7fr 1.3fr;gap:32px;align-items:end;margin-bottom:34px;border-bottom:1px solid #333;padding-bottom:30px}
.foot-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.foot-facts .kf-label,.foot-facts .label{display:block;font-family:"Inter",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#8a8a8a;margin-bottom:3px}
.foot-facts b{color:#fff;font-size:.92rem}
.foot-bottom{margin-top:28px;border-top:1px solid #333;padding-top:18px;font-family:"Inter",sans-serif;font-size:.74rem;color:#8a8a8a}
.foot-bottom a{color:#CFCFCF}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-template-columns:1fr;align-items:start}}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr}.foot-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.foot-facts{grid-template-columns:repeat(2,1fr)}}

/* ---------- real-photo trust strip (Wikimedia Commons, credited) ---------- */
.real-strip{margin:0 0 38px}
.real-strip>h2{text-align:center}
.real-strip>p{color:var(--sage);margin-top:4px;text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
.real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.real-grid figure{margin:0}
.real-grid img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block}
.real-grid figcaption{font-size:.76rem;color:var(--sage);margin-top:6px;line-height:1.4}
.real-grid figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:720px){.real-grid{grid-template-columns:1fr}}
.real-strip.breakout{position:relative;left:50%;transform:translateX(-50%);width:min(1180px,94vw)}
.real-zoom{display:block;cursor:zoom-in}
.real-zoom img{transition:transform .18s ease}
.real-zoom:hover img{transform:scale(1.015)}
/* lightbox overlay for full-size photos */
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:24px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1500px,96vw);text-align:center}
.lightbox img{max-width:100%;max-height:84vh;display:block;margin:0 auto}
.lightbox figcaption{color:#e5e5e5;font-size:.82rem;margin-top:10px;line-height:1.4}
.lightbox figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* author card (EEAT, about page — driven by cfg.AUTHOR) */
.author-card{display:flex;gap:18px;align-items:center;margin:18px 0 24px;padding:16px;
  background:var(--surface);border:1px solid var(--line)}
.author-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-card div{display:flex;flex-direction:column;gap:3px}
.author-card b{font-size:1.02rem}
.author-card span{font-size:.85rem;color:var(--sage)}
