/* latin-ext */
@font-face {
  font-family: 'Alegreya';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/alegreya-italic-400-900-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Alegreya';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/alegreya-italic-400-900-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Alegreya';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/alegreya-normal-400-900-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Alegreya';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/alegreya-normal-400-900-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-italic-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-italic-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-normal-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-normal-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-normal-700-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/atkinson-hyperlegible-normal-700-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* incatrail.tours · Intipunku · round 2 design system
   Roles as variables; components as BEM classes; no page-specific overrides. */
:root{
  --surface:#f2eef6; --white:#fff; --ink:#24243a; --text-2:#44415a; --muted:#7c7390; --line:#e3dde8; --stone:#b9ada5;
  --gold:#f2b426; --gold-ink:#c98a0a; --night:#24243a;
  --action:#b8532e; --action-hover:#9c4222; --action-glow:rgba(184,83,46,.28);
  --cat-4d:#2f6b55; --cat-2d:#2b6f85; --cat-1d:#c98a0a; --cat-alt:#7a6a9e;
  --r-card:24px; --r-btn:14px; --r-img:16px; --r-chip:999px; --stroke:1.75px;
  --font-display:'Alegreya',Georgia,serif; --font-text:'Atkinson Hyperlegible',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1); --dur:480ms; --max:1240px; --gutter:clamp(16px,4vw,48px);
  --sky:linear-gradient(165deg,#e6d2b6 0%,#d4b6ad 38%,#a7a1ba 72%,#6b6f8c 100%); --sky-ink:#24243a; --sun:#f1d6a2; --tint:#ece4ea; --tint-deep:#d9cfdd;
}
[data-sky="dawn"]{--sky:linear-gradient(165deg,#e6d2b6 0%,#d4b6ad 38%,#a7a1ba 72%,#6b6f8c 100%);--sky-ink:#24243a;--sun:#f1d6a2;--tint:#ece4ea;--tint-deep:#d9cfdd}
[data-sky="dusk"]{--sky:linear-gradient(165deg,#4b4a6b 0%,#77698a 42%,#a98a7c 76%,#cdae8c 100%);--sky-ink:#fbf6ee;--sun:#e2b48c;--tint:#e3dbe4;--tint-deep:#cbbfcf}
[data-sky="midday"]{--sky:linear-gradient(165deg,#8fbfe6 0%,#cfe3f3 50%,#f2eef6 100%);--sky-ink:#24243a;--sun:#fff8dc;--tint:#e8eef3;--tint-deep:#d3dfe9}
[data-sky="bus"]{--sky:linear-gradient(165deg,#b9bcc4 0%,#d9d8dc 50%,#f2eef6 100%);--sky-ink:#24243a;--sun:#f4f2ee;--tint:#e8e6ea;--tint-deep:#d5d2d9}

*{box-sizing:border-box}
html,body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
a{color:var(--cat-2d);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
a:hover{text-decoration-color:currentColor}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
.site{min-height:100vh;display:flex;flex-direction:column;transition:background-color 1.2s ease;overflow-x:clip}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.num{font-variant-numeric:lining-nums tabular-nums}

/* ---------- reveal (enabled only when html.js) ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
html.js [data-reveal].is-in{opacity:1;transform:none}
html.js [data-reveal="none"]{opacity:1;transform:none}
html.js [data-reveal="light"] .lit-trail__lit{width:0!important}
html.js [data-reveal="light"].is-in .lit-trail__lit{width:var(--w)!important}
html.js [data-reveal="bars"] .bar__fill{width:0!important}
html.js [data-reveal="bars"].is-in .bar__fill{width:var(--w)!important}
@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important} *{animation:none!important;transition-duration:0s!important}}

/* ---------- design note (spec only) ---------- */
.dnote{border:1.5px dashed var(--muted);border-radius:var(--r-btn);padding:10px 14px;font-size:12px;line-height:1.45;color:var(--text-2);background:rgba(255,255,255,.55);margin:16px auto;max-width:var(--max)}
.dnote b{display:block}
.dnote__tag{display:block;font-size:11px;color:var(--muted);margin-top:4px}

/* ---------- proto bar (prototype only) ---------- */
.proto{position:sticky;top:0;z-index:60;background:var(--night);color:#cfc9da;font-size:12px;display:flex;gap:4px;align-items:center;padding:6px var(--gutter);overflow-x:auto;white-space:nowrap}
.proto__lbl{color:#8f889f;margin-right:6px}
.proto a{color:#cfc9da;text-decoration:none;padding:5px 10px;border-radius:var(--r-chip)}
.proto a.is-on{background:var(--gold);color:var(--night);font-weight:700}

/* ---------- header ---------- */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--gutter);max-width:var(--max);margin:0 auto;width:100%;min-height:64px}
@media (max-width:900px){.site-header{min-height:57px;padding:8px var(--gutter)}.site-header .brand{font-size:20px}.site-header .brand__mark{width:28px;height:28px}}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 24px/1 var(--font-display)}
.brand__tld{color:var(--muted);font-weight:400;font-style:italic}
.brand__mark{width:36px;height:36px;flex:0 0 auto}
.nav{display:flex;gap:2px;background:rgba(255,255,255,.7);border:var(--stroke) solid var(--line);border-radius:var(--r-chip);padding:4px;backdrop-filter:blur(8px)}
.nav a{position:relative;padding:8px 14px;border-radius:var(--r-chip);text-decoration:none;font-weight:700;font-size:14px;color:var(--text-2);transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.nav a:hover{background:var(--surface);color:var(--ink)}
.nav a.is-on{background:var(--ink);color:#fff}
.nav a[data-cat]::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cat);flex:0 0 auto}
.nav a.is-on[data-cat]::before{background:#fff}
@media (max-width:1100px){.nav a{padding:8px 10px;font-size:13px}}
.site-header__cta{flex:0 0 auto}
.menu-btn{display:none;height:44px;min-width:44px;padding:0 14px;border:var(--stroke) solid var(--line);border-radius:var(--r-chip);background:var(--white);font-weight:700;align-items:center;gap:8px;font-size:14px}
.menu-btn[aria-expanded="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:900px){.nav{display:none}.menu-btn{display:inline-flex}.site-header__cta{display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;border-radius:var(--r-btn);font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .25s,background .25s;white-space:nowrap}
.btn--action{background:var(--action);color:#fff;box-shadow:0 8px 20px var(--action-glow)}
.btn--action::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-15deg)}
.btn--action:hover{background:var(--action-hover);box-shadow:0 14px 30px var(--action-glow)}
.btn--action:hover::after{animation:sweep .6s var(--ease) forwards}
.btn--action:active{transform:scale(.98);box-shadow:0 3px 8px var(--action-glow)}
.btn--action:focus-visible{outline:0;box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--gold)}
.btn--secondary{background:var(--white);color:var(--ink);border:var(--stroke) solid var(--ink)}
.btn--secondary:hover{background:var(--ink);color:#fff}
.btn--ghost{background:transparent;color:var(--sky-ink);border:var(--stroke) solid currentColor}
.btn--sm{height:44px;padding:0 16px;font-size:14px}
.btn--block{width:100%}
.btn[aria-disabled="true"]{background:var(--line);color:var(--text-2);box-shadow:none;cursor:not-allowed}
.btn--loading{opacity:.85;pointer-events:none}
.link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--cat-2d)}
.link svg{transition:transform .2s}
.link:hover svg{transform:translateX(4px)}
@keyframes sweep{to{left:120%}}
@keyframes spin{to{transform:rotate(360deg)}}
.echo{font-size:13px;color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.3;min-height:17px}
.echo:empty{display:none}

/* ---------- chips ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:6px 10px;border-radius:var(--r-chip);line-height:1;white-space:nowrap}
.chip--cat{color:#fff;background:var(--cat)}
.chip--gold{background:var(--gold);color:var(--night)}
.chip--fact{background:var(--surface);color:var(--text-2);border:var(--stroke) solid var(--line);border-radius:10px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;padding:6px 10px}
.chip--warn{background:#fbe9dc;color:#7a3416;border-radius:10px;text-transform:none;letter-spacing:0;font-size:13px;padding:6px 10px}
.chip--verdict{background:var(--cat-4d);color:#fff;border-radius:8px}
.chip--muted{background:var(--line);color:var(--text-2)}
[data-cat="4d"]{--cat:var(--cat-4d)} [data-cat="2d"]{--cat:var(--cat-2d)} [data-cat="1d"]{--cat:var(--cat-1d)} [data-cat="alt"]{--cat:var(--cat-alt)}
.tip{position:relative}
.tip__box{position:absolute;left:0;bottom:calc(100% + 8px);z-index:5;width:max-content;max-width:min(260px,80vw);visibility:hidden;background:var(--night);color:#f2eef6;font-size:12.5px;line-height:1.4;padding:8px 10px;border-radius:10px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s,transform .2s var(--ease);font-weight:400;text-transform:none;letter-spacing:0;white-space:normal}
.tip:hover .tip__box,.tip:focus-within .tip__box{opacity:1;transform:none;visibility:visible}

/* ---------- section head ---------- */
.section{padding:56px 0}
.section--tint{background:var(--tint);transition:background-color 1.2s ease}
.section--night{background:var(--night);color:#f2eef6}
.section--night .kicker{color:var(--gold)}
.section--night a{color:#cfe3ea}
.section__head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;max-width:760px}
.kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cat,var(--cat-2d))}
.h2{font:700 clamp(30px,4vw,44px)/1.05 var(--font-display);letter-spacing:-.01em}
.h3{font:700 22px/1.2 var(--font-display)}
.lede{font-size:18px;line-height:1.5;color:var(--text-2);max-width:720px}
.section__foot{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* ---------- hero ---------- */
.hero{position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--sky);color:var(--sky-ink);transition:background 1.2s ease,color .6s;margin:0 var(--gutter);max-width:calc(var(--max) - 2*var(--gutter));margin-left:auto;margin-right:auto;isolation:isolate}
.hero__sun{position:absolute;width:150px;height:150px;border-radius:50%;filter:blur(30px);background:var(--sun);left:56%;top:26%;z-index:0;transition:all 1.2s ease;offset-path:path('M 0 0 A 120 60 0 0 1 240 0');animation:sunarc 40s linear infinite alternate;animation-play-state:paused}
.hero.is-in .hero__sun{animation-play-state:running}
@keyframes sunarc{from{offset-distance:0%}to{offset-distance:100%}}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;padding:clamp(28px,4vw,48px)}
.hero__copy{display:flex;flex-direction:column;gap:18px}
.hero__h1{font:700 clamp(46px,7vw,84px)/.95 var(--font-display);letter-spacing:-.02em}
.hero__lede{font-size:clamp(16px,1.4vw,19px);line-height:1.45;max-width:600px}
.hero__q{font-weight:700;margin-top:4px}
.hero__photo{position:relative;border-radius:200px 200px var(--r-card) var(--r-card);overflow:hidden;min-height:420px;box-shadow:0 30px 60px rgba(36,36,58,.25);align-self:end;transition:opacity .6s}
.hero__photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero__photo--rect{border-radius:var(--r-card);min-height:340px}
.hero__cap{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(36,36,58,.78);color:#f2eef6;padding:10px 14px;border-radius:var(--r-btn);font-size:13px;line-height:1.35;backdrop-filter:blur(6px)}
.hero__fact{position:absolute;right:16px;top:16px;background:rgba(36,36,58,.78);color:#f2eef6;padding:8px 12px;border-radius:var(--r-btn);font-size:12px;line-height:1.3;backdrop-filter:blur(6px)}
.hero__fact strong{font:700 20px/1 var(--font-display);display:block}
.hero__actions{display:flex;flex-direction:column;gap:8px;max-width:340px}
.hero__nums{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px}
.hero__num strong{font:700 30px/1 var(--font-display);display:block}
.hero__num span{font-size:12.5px;opacity:.85}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr;gap:20px}.hero__photo{min-height:240px;border-radius:120px 120px var(--r-img) var(--r-img)}}

/* arrival tiles */
.arrivals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:660px}
.arrival{text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--r-btn);cursor:pointer;min-height:96px;transition:all .4s var(--ease);border:var(--stroke) solid rgba(255,255,255,.45);background:rgba(255,255,255,.5);color:var(--sky-ink)}
[data-sky="dusk"] .arrival{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45)}
.arrival:hover{transform:translateY(-2px)}
.arrival.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
[data-sky="dusk"] .arrival.is-on{background:#fbf6ee;color:var(--ink);border-color:#fbf6ee}
.arrival__when{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.arrival__title{font:700 18px/1.15 var(--font-display)}
.arrival__sub{font-size:13px;opacity:.85}
@media (max-width:720px){.arrivals{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px;margin-right:calc(-1*var(--gutter))}.arrival{flex:0 0 72%;scroll-snap-align:start}}

/* ---------- recommendation ---------- */
.reco{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:var(--r-card);padding:24px 28px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;box-shadow:0 24px 60px rgba(36,36,58,.18);color:var(--ink);position:relative;z-index:1;margin:0 clamp(28px,4vw,48px) clamp(28px,4vw,48px)}
.reco__main{display:flex;flex-direction:column;gap:8px}
.reco__title{font:700 26px/1.15 var(--font-display);color:var(--ink);min-height:60px}
.reco__why{font-size:15px;color:var(--text-2);min-height:44px}
.reco__side{display:flex;flex-direction:column;gap:10px;border-left:var(--stroke) solid var(--line);padding-left:24px}
.reco__cta{margin-top:auto;display:flex;flex-direction:column;gap:6px}
@media (max-width:900px){.reco{grid-template-columns:1fr;margin:0 16px 16px;padding:18px}.reco__side{border-left:0;padding-left:0;border-top:var(--stroke) solid var(--line);padding-top:14px}}
.variants{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.variant{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:var(--r-card);background:var(--white);box-shadow:0 2px 0 var(--line);text-decoration:none;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s;position:relative}
.variant:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(36,36,58,.14)}
.variant.is-on{outline:var(--stroke) solid var(--cat)}
.variant__big{font:700 44px/1 var(--font-display);color:var(--cat)}
.variant__big small{font:400 14px/1 var(--font-text);color:var(--text-2)}
.variant__title{font:700 19px/1.2 var(--font-display)}
.variant__why{font-size:14px;color:var(--text-2)}
.variant__foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:14px}
@media (max-width:720px){.variants{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1*var(--gutter))}.variant{flex:0 0 78%;scroll-snap-align:start}}

/* ---------- price ---------- */
.price{display:inline-flex;align-items:baseline;gap:7px;line-height:1}
.price__sun{width:14px;height:7px;flex:0 0 auto;align-self:center}
.price__val{font:700 30px/1 var(--font-display);font-variant-numeric:lining-nums tabular-nums}
.price--xl .price__val{font-size:44px}.price--xl .price__sun{width:16px;height:8px}
.price--sm .price__val{font-size:22px}.price--sm .price__sun{width:11px;height:6px}
.price__was{font-size:14px;color:var(--muted);text-decoration:line-through}
.price__basis{font-size:13px;color:var(--text-2)}
.rating{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.rating__n{color:var(--text-2)}
.rating--big{font-size:16px}

/* ---------- lit trail ---------- */
.lit-trail{display:flex;flex-direction:column;gap:6px;--w:100%}
.lit-trail__head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-2)}
.lit-trail__head strong{color:var(--ink)}
.lit-trail__track{position:relative;height:14px;display:flex;align-items:center}
.lit-trail__base{position:absolute;left:0;right:12px;height:3px;border-radius:2px;background:var(--ink);opacity:.25}
.lit-trail__lit{position:absolute;height:6px;border-radius:3px;background:var(--gold);box-shadow:0 0 8px var(--gold);width:var(--w);left:var(--l,0);transition:width 1.1s var(--ease)}
.lit-trail__lit--hatch{background:repeating-linear-gradient(135deg,var(--cat-alt) 0 4px,transparent 4px 8px);box-shadow:none}
.lit-trail__gate{position:absolute;right:0;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.lit-trail__gate--off{background:#9a94a8;box-shadow:none}
.lit-trail__ticks{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.lit-trail--md .lit-trail__track{height:24px}.lit-trail--md .lit-trail__base{height:4px;right:22px}.lit-trail--md .lit-trail__lit{height:8px;border-radius:4px}.lit-trail--md .lit-trail__gate{width:24px;height:24px}
.lit-trail--night{background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:18px 22px}
.lit-trail--night .lit-trail__head{color:#cfc9da}.lit-trail--night .lit-trail__head strong{color:#ffd98a}.lit-trail--night .lit-trail__base{background:#fff;opacity:.22}.lit-trail--night .lit-trail__ticks{color:#cfc9da}
.lit-trail__stop{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:2px solid var(--ink);cursor:pointer;padding:0}
.lit-trail--night .lit-trail__stop{border-color:var(--night)}
.lit-trail__stop:hover,.lit-trail__stop:focus-visible{transform:scale(1.3);outline:0}
.lit-trail__stop .tip__box{left:50%;transform:translate(-50%,6px)}
.lit-trail__stop:hover .tip__box,.lit-trail__stop:focus .tip__box{transform:translate(-50%,0);opacity:1;visibility:visible}
.lit-trail__labels{position:relative;height:34px;font-size:11px;color:var(--muted)}
.lit-trail__labels span{position:absolute;top:0;transform:translateX(-50%);text-align:center;line-height:1.2;white-space:nowrap}
.lit-trail__labels span:first-child{transform:none;text-align:left}.lit-trail__labels span:last-child{transform:translateX(-100%);text-align:right}

/* XL interactive trail */
.trail-xl{background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:clamp(20px,3vw,36px);display:grid;grid-template-columns:1fr 320px;gap:28px}
.trail-xl__viz{display:flex;flex-direction:column;gap:10px;min-width:0}
.trail-xl__days{display:flex;height:22px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.trail-xl__day{display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.2);color:#cfc9da}
.trail-xl__day--short{color:var(--gold)}
.trail-xl__svg{width:100%;height:180px;display:block}
.trail-xl__svg .p-fill{fill:rgba(242,180,38,.14)}.trail-xl__svg .p-line{fill:none;stroke:#cfc9da;stroke-width:1.75}.trail-xl__svg .p-lit{fill:none;stroke:var(--gold);stroke-width:3;filter:drop-shadow(0 0 6px var(--gold))}
.trail-xl__svg .p-camp{fill:var(--night);stroke:#fff;stroke-width:1.75}
.trail-xl__stops{position:relative;height:62px}
.trail-xl__stop{position:absolute;top:0;transform:translateX(-50%);background:none;border:0;color:#cfc9da;font-size:11px;line-height:1.2;cursor:pointer;padding:4px 2px;white-space:nowrap;border-radius:6px}
.trail-xl__stop::before{content:"";display:block;width:10px;height:10px;border-radius:50%;margin:0 auto 4px;background:#fff;border:2px solid var(--night);box-sizing:border-box}
.trail-xl__stop.is-on{color:var(--gold)}.trail-xl__stop.is-on::before{background:var(--gold);box-shadow:0 0 8px var(--gold)}
.trail-xl__stop--camp::before{background:var(--night);border-color:#fff}
.trail-xl__panel{background:rgba(255,255,255,.06);border-radius:var(--r-img);padding:18px;display:flex;flex-direction:column;gap:10px;min-height:220px}
.trail-xl__panel .h3{color:var(--gold)}
.trail-xl__elev{font:700 40px/1 var(--font-display)}
.trail-xl__meta{display:flex;flex-wrap:wrap;gap:6px}
.trail-xl__meta .chip{background:rgba(255,255,255,.12);color:#f2eef6}

@media (max-width:1200px){.trail-xl__stop--dense{font-size:0}.trail-xl__stop--dense::before{margin:0}}
@media (max-width:900px){.trail-xl{grid-template-columns:1fr}.trail-xl__stop{font-size:0;top:0}.trail-xl__stop::before{margin:0}}

/* ---------- tour card ---------- */
.tour-card{background:var(--white);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 0 var(--line);transition:box-shadow .4s var(--ease),transform .4s var(--ease);position:relative}
.tour-card:hover{box-shadow:0 24px 50px rgba(36,36,58,.16);transform:translateY(-6px)}
.tour-card--featured{outline:var(--stroke) solid var(--gold)}
.tour-card--gone{opacity:.6;filter:saturate(.4)}
.tour-card__media{position:relative;margin:12px 12px 0;height:170px;border-radius:var(--r-img);overflow:hidden;background:var(--line)}
.tour-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tour-card:hover .tour-card__media img{transform:scale(1.04)}
.tour-card__shade{position:absolute;inset:auto 0 0 0;height:70px;background:linear-gradient(to top,rgba(36,36,58,.65),transparent)}
.tour-card__arrive{position:absolute;left:14px;bottom:12px;right:14px;color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;opacity:.85;transition:opacity .4s,text-shadow .4s}
.tour-card:hover .tour-card__arrive{opacity:1;text-shadow:0 0 12px var(--gold)}
.tour-card__chips{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap}
.tour-card__empty{height:100%;display:flex;align-items:center;justify-content:center}
.tour-card__empty svg{width:52px;height:52px;opacity:.4}
.tour-card__body{padding:14px 18px 0;display:flex;flex-direction:column;gap:8px;flex:1}
.tour-card__title{font:700 19px/1.2 var(--font-display)}
.tour-card__title a{color:var(--ink);text-decoration-color:var(--line)}
.tour-card__blurb{font-size:14px;color:var(--text-2);line-height:1.45}
.tour-card__facts{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:13px}
.tour-card__facts li{display:flex;align-items:center;gap:6px}
.tour-card__facts svg{flex:0 0 auto}
.tour-card__note{display:flex;align-items:center;gap:8px;font-size:13px;background:var(--surface);border-radius:12px;padding:8px 12px;line-height:1.3}
.tour-card__cta{padding:14px 18px 18px;display:flex;flex-direction:column;gap:6px;margin-top:auto}
.tour-card__gone{padding:14px 18px 18px;font-size:13px;color:var(--muted);text-align:center}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}

/* ---------- compare table (rows as cards) ---------- */
.cmp{display:flex;flex-direction:column;gap:10px}
.cmp__tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.cmp__count{margin-left:auto;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}
.seg{display:inline-flex;background:var(--white);border:var(--stroke) solid var(--line);border-radius:var(--r-chip);padding:4px;gap:2px}
.seg button{border:0;background:transparent;border-radius:var(--r-chip);padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;min-height:36px;transition:background .2s}
.seg button.is-on{background:var(--ink);color:#fff}
.seg button:hover:not(.is-on){background:var(--surface)}
.fchip{display:inline-flex;align-items:center;gap:6px;border:var(--stroke) solid var(--line);background:var(--white);border-radius:var(--r-chip);padding:8px 12px;font-size:13px;cursor:pointer;min-height:36px;transition:all .2s}
.fchip.is-on{background:var(--gold);border-color:var(--gold);color:var(--night);font-weight:700}
.cmp__head{display:grid;grid-template-columns:2fr 1.1fr 1.9fr 1fr .7fr 1.1fr 1fr .9fr 1.2fr;gap:12px;padding:6px 22px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.cmp__head button{border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:0;display:inline-flex;gap:4px;align-items:center;letter-spacing:inherit;text-transform:inherit}
.cmp__head button.is-on{color:var(--ink)}
.tour-row{display:grid;grid-template-columns:2fr 1.1fr 1.9fr 1fr .7fr 1.1fr 1fr .9fr 1.2fr;gap:12px;padding:16px 22px;align-items:center;background:var(--white);border-radius:20px;box-shadow:0 2px 0 var(--line);transition:box-shadow .4s,opacity .4s,transform .4s var(--ease),max-height .4s var(--ease);max-height:400px;overflow:hidden}
.tour-row:hover{box-shadow:0 12px 30px rgba(36,36,58,.12)}
.tour-row:hover .lit-trail__lit{filter:brightness(1.15)}
.tour-row--featured{border:var(--stroke) solid var(--gold);order:0!important}
.cmp>.disclosure,.cmp>.snapshot,.cmp__tools{order:-3}
.cmp__head{order:-2}
.tour-row{order:1}
.tour-row.is-out{opacity:0;transform:scale(.98);max-height:0;padding-top:0;padding-bottom:0;pointer-events:none;box-shadow:none}
.tour-row__name{display:flex;flex-direction:column;gap:5px}
.tour-row__name a{font:700 17px/1.25 var(--font-display);color:var(--ink);text-decoration-color:var(--line)}
.tour-row__chips{display:flex;gap:6px;flex-wrap:wrap}
.tour-row__cell{font-size:14px;display:flex;align-items:center;gap:6px}
.tour-row__cell svg{flex:0 0 auto}
.tour-row__arrive{font-size:13px;font-weight:700;color:var(--cat);line-height:1.25}
.tour-row__lbl{display:none;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tour-row--diy{color:var(--muted);border:var(--stroke) dashed var(--stone);background:transparent;box-shadow:none;grid-template-columns:2fr 7.7fr 1.2fr}
.tour-row--diy strong{color:var(--text-2);font:700 17px/1.25 var(--font-display)}
@media (max-width:1000px){.cmp__head{display:none}.tour-row{grid-template-columns:1fr 1fr;padding:16px;gap:10px}.tour-row__name,.tour-row__trail,.tour-row__cta{grid-column:1/-1}.tour-row__lbl{display:block}.tour-row__cell{flex-direction:column;align-items:flex-start;gap:2px}.tour-row__price{align-items:flex-start}.tour-row--diy{grid-template-columns:1fr}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.stat{background:var(--white);border-radius:var(--r-img);padding:16px 18px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:4px}
.stat__n{font:700 clamp(28px,3vw,40px)/1 var(--font-display);font-variant-numeric:tabular-nums}
.stat__n small{font:400 14px/1 var(--font-text);color:var(--text-2)}
.stat__l{font-size:13px;color:var(--text-2)}
.stat--closed{background:var(--night);color:#f2eef6}.stat--closed .stat__l{color:#cfc9da}
@media (max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.stats{grid-template-columns:1fr 1fr}}
.iflist{display:grid;gap:8px}
.iflist__row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;background:var(--white);border-radius:var(--r-img);padding:12px 16px;box-shadow:0 2px 0 var(--line);text-decoration:none;color:var(--ink)}
.iflist__row:hover{box-shadow:0 10px 24px rgba(36,36,58,.1)}
.iflist__if{font-size:15px}.iflist__then{font:700 16px/1.2 var(--font-display);color:var(--cat)}
@media (max-width:640px){.iflist__row{grid-template-columns:1fr}}

/* ---------- reviews ---------- */
.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.leader{background:var(--white);border-radius:var(--r-img);padding:16px 18px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:6px}
.leader__n{font:700 44px/1 var(--font-display)}
.leader__n small{font:400 15px/1 var(--font-text);color:var(--text-2)}
.leader__t{font-size:14px}
.review-card{background:var(--white);border-radius:var(--r-card);padding:20px 22px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:10px}
.review-card--neg{border-left:4px solid var(--stone)}
.review-card__who{display:flex;align-items:center;gap:10px}
.review-card__face{width:40px;height:40px;border-radius:50%;background:var(--tint-deep);display:flex;align-items:center;justify-content:center;font:700 16px/1 var(--font-display);color:var(--ink)}
.review-card__name{font-weight:700}
.review-card__meta{font-size:12.5px;color:var(--muted)}
.review-card__stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.review-card__text{font-size:15px;line-height:1.5}
.review-card__tour{font-size:13px}
.review-card__src{font-size:11.5px;color:var(--muted)}
@media (max-width:900px){.leaders{grid-template-columns:1fr}}

/* ---------- fact cards / steps / tiles ---------- */
.fact-card{background:var(--white);border-radius:var(--r-card);padding:20px 22px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:8px}
.fact-card__icon{width:36px;height:36px;border-radius:12px;background:var(--tint);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.fact-card__t{font:700 18px/1.2 var(--font-display)}
.fact-card__p{font-size:14px;color:var(--text-2)}
.fact-card--alt{border-top:4px solid var(--gold)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
.step{background:var(--white);border-radius:var(--r-card);padding:22px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:8px;position:relative}
.step__n{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--night);display:flex;align-items:center;justify-content:center;font:700 20px/1 var(--font-display)}
.step__t{font:700 19px/1.2 var(--font-display)}
.step__p{font-size:14px;color:var(--text-2)}
@media (max-width:800px){.steps{grid-template-columns:1fr}}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.format-tile{border-radius:var(--r-card);padding:22px;background:var(--sky);color:var(--sky-ink);text-decoration:none;display:flex;flex-direction:column;gap:8px;min-height:200px;position:relative;overflow:hidden;transition:transform .4s var(--ease)}
.format-tile:hover{transform:translateY(-4px)}
.format-tile__sun{position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;filter:blur(18px);background:var(--sun)}
.format-tile__k{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;position:relative}
.format-tile__t{font:700 24px/1.1 var(--font-display);position:relative}
.format-tile__n{font-size:14px;position:relative;margin-top:auto;opacity:.9}
.format-tile__price{position:relative;margin-top:4px;background:rgba(255,255,255,.55);color:var(--ink);padding:8px 12px;border-radius:12px;align-self:flex-start}
[data-sky="dusk"].format-tile .format-tile__price{background:rgba(255,255,255,.9)}
.format-tile__price .price__val{font-size:28px}.format-tile__price .price__basis{color:var(--text-2)}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}@media (max-width:560px){.tiles{grid-template-columns:1fr}}

/* ---------- price tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tier{background:var(--white);border-radius:var(--r-card);padding:18px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:10px}
.tier__t{font:700 22px/1 var(--font-display)}
.tier__s{font-size:13px;color:var(--text-2)}
.tier__item{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid var(--line);position:relative}
.tier .tip__box{left:auto;right:0;max-width:min(240px,70vw)}
.tier__item a{color:var(--ink);font-weight:700;font-size:14px;line-height:1.3}
.tier__pays{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tier__item--deposit{background:#fbe9dc;border-radius:10px;padding:10px;border-top:0}
.tier__empty{font-size:13px;color:var(--muted);font-style:italic;padding:10px 0;border-top:1px dashed var(--stone)}
@media (max-width:900px){.tiers{grid-template-columns:1fr 1fr}}@media (max-width:560px){.tiers{grid-template-columns:1fr}}

/* ---------- permit timeline ---------- */
.permits-grid{display:flex;flex-direction:column;gap:28px}
.ptl{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ptl__m{background:var(--white);border-radius:14px;padding:14px;min-height:130px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 0 var(--line);position:relative;font-size:13px}
.ptl__m--release{background:var(--gold);color:var(--night)}
.ptl__m--closed{background:var(--night);color:#f2eef6}
.ptl__name{font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:12px}
.ptl__what{line-height:1.35;font-size:13px}
.ptl__dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);margin-top:auto}
.ptl__m--closed .ptl__dot{background:#5a5870;box-shadow:none}
.two-nums{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.two-nums__n{font:700 clamp(44px,6vw,72px)/1 var(--font-display)}
.two-nums__arrow{font-size:28px;color:var(--muted)}
.two-nums__l{font-size:14px;color:var(--text-2);max-width:200px}
.two-nums__bar{display:flex;height:14px;border-radius:7px;overflow:hidden;width:100%;max-width:520px;background:var(--line)}
.two-nums__bar i{display:block;height:100%}
@media (max-width:900px){.ptl{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.ptl{grid-template-columns:repeat(2,1fr)}}

/* ---------- when to go ---------- */
.seasons{display:flex;gap:6px;background:var(--white);border:var(--stroke) solid var(--line);border-radius:var(--r-chip);padding:5px;width:max-content;max-width:100%;overflow-x:auto}
.seasons button{border:0;background:none;border-radius:var(--r-chip);padding:10px 18px;font-weight:700;cursor:pointer;min-height:44px;white-space:nowrap;transition:background .3s}
.seasons button.is-on{background:var(--ink);color:#fff}
.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.month{background:var(--white);border-radius:var(--r-card);padding:18px;box-shadow:0 2px 0 var(--line);display:flex;flex-direction:column;gap:8px;transition:opacity .4s,transform .4s var(--ease)}
.month.is-dim{opacity:.35;transform:scale(.98)}
.month__n{font:700 22px/1 var(--font-display)}
.month__big{font:700 30px/1 var(--font-display);color:var(--cat-2d)}
.month__big small{font:400 12px/1.2 var(--font-text);color:var(--text-2);display:block;margin-top:4px}
.month__row{font-size:13px;display:flex;gap:6px;align-items:flex-start}
.month__row b{flex:0 0 62px;color:var(--muted);font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding-top:2px}
.month__row{padding:6px 8px;border-radius:8px;margin:0 -8px}
.month__row--best{background:#e6efe9}.month__row--best b{color:var(--cat-4d)}
.month__row--avoid{background:#fbe9dc}.month__row--avoid b{color:var(--action)}
.month__row--permits{background:#fff5df}.month__row--permits b{color:var(--gold-ink)}
.month--closed .month__row{background:rgba(255,255,255,.06)}.month--closed .month__row b{color:#cfc9da}
.month--closed{background:var(--night);color:#f2eef6;position:relative;overflow:hidden}
.month--closed .month__row b{color:#8f889f}
.month--closed .ridge{position:absolute;right:-10px;bottom:-10px;width:120px;opacity:.5}
.temps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.temp{background:var(--white);border-radius:var(--r-img);padding:14px;box-shadow:0 2px 0 var(--line)}
.temp__d{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.temp__bar{position:relative;height:10px;border-radius:5px;background:var(--line);margin:8px 0 6px}
.temp__bar i{position:absolute;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,var(--cat-2d),var(--gold))}
.temp__r{display:flex;justify-content:space-between;font-size:13px}

/* ---------- criteria ---------- */
.criteria{display:grid;gap:8px}
.criterion{display:grid;grid-template-columns:200px 1fr 1fr;gap:16px;align-items:start;background:var(--white);border-radius:var(--r-img);padding:14px 18px;box-shadow:0 2px 0 var(--line)}
.criterion__n{font:700 18px/1.2 var(--font-display)}
.criterion__ask{font-size:14px;color:var(--text-2)}
.criterion__ask::before,.criterion__top::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.criterion__top{font-size:14px;color:var(--cat-4d);font-weight:700}
@media (max-width:800px){.criterion{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:8px}
.faq__tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:6px}
.faq__tools button{border:0;background:none;font-weight:700;color:var(--cat-2d);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:36px}
.faq-item{background:var(--white);border-radius:var(--r-img);box-shadow:0 2px 0 var(--line);overflow:hidden}
.faq-item__q{width:100%;text-align:left;border:0;background:none;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;cursor:pointer;min-height:56px}
.faq-item__qt{font:700 18px/1.25 var(--font-display)}
.faq-item__first{font-size:14px;color:var(--text-2);margin-top:4px;display:block}
.faq-item__ico{width:28px;height:28px;border-radius:50%;border:var(--stroke) solid var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease)}
.faq-item.is-open .faq-item__ico{transform:rotate(45deg);background:var(--gold);border-color:var(--gold)}
.faq-item__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.faq-item.is-open .faq-item__a{grid-template-rows:1fr}
.faq-item__a>div{overflow:hidden}
.faq-item__body{padding:0 18px 18px;font-size:15px;line-height:1.55;color:var(--text-2)}
.faq-item.is-open .faq-item__first{display:none}

/* ---------- CTA / widget / sticky ---------- */
.gyg-widget{border:var(--stroke) dashed var(--stone);border-radius:var(--r-img);padding:18px;background:var(--white);display:flex;flex-direction:column;gap:8px;min-height:120px}
.gyg-widget__l{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gyg-widget__cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.gyg-widget__cal span{aspect-ratio:1;border-radius:6px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-2)}
.gyg-widget__cal span.is-av{background:#e6efe9;color:var(--cat-4d);font-weight:700}
.gyg-widget__cal span.is-sel{background:var(--gold);color:var(--night);font-weight:700}
.gyg-widget__cal span.is-off{opacity:.35}
.cta-final{background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.cta-final .h2{color:#fff}.cta-final .kicker{color:var(--gold)}
.cta-final__side{display:flex;flex-direction:column;gap:12px}
.cta-final .gyg-widget{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3);color:#f2eef6}
.cta-final .gyg-widget__cal span{background:rgba(255,255,255,.08);color:#cfc9da}
.cta-final .gyg-widget__cal span.is-av{background:rgba(242,180,38,.25);color:#ffd98a}
@media (max-width:900px){.cta-final{grid-template-columns:1fr}}
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:var(--stroke) solid var(--line);padding:10px var(--gutter) 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .4s var(--ease)}
.sticky-bar.is-on{transform:none}
.sticky-bar__t{display:flex;flex-direction:column;gap:2px;min-width:0}
.sticky-bar__name{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
@media (max-width:900px){.sticky-bar{display:flex}}

/* ---------- footer ---------- */
.site-footer{margin-top:auto;background:var(--night);color:#cfc9da;position:relative;padding:64px 0 32px}
.site-footer__ridge{position:absolute;left:0;right:0;top:-1px;height:28px;display:block;width:100%}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.site-footer h4{font:700 16px/1.2 var(--font-display);color:#fff;margin-bottom:10px}
.site-footer a{color:#cfc9da;text-decoration:none;display:block;padding:4px 0;font-size:14px}
.site-footer a:hover{color:#fff}
.site-footer .brand{color:#fff}
.site-footer__mail{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);padding:10px 14px;border-radius:var(--r-btn);font-weight:700;color:#ffd98a!important;margin-top:12px}
.site-footer__legal{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
@media (max-width:800px){.site-footer__grid{grid-template-columns:1fr 1fr}}

/* ---------- hub: camps / entity / gotchas ---------- */
.camps{display:flex;flex-direction:column;gap:16px}
.camp{background:var(--white);border-radius:var(--r-card);padding:22px;box-shadow:0 2px 0 var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:22px}
.camp__rows{display:flex;flex-direction:column;gap:8px}
.mini-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface)}
.mini-row a.t{color:var(--ink);font-weight:700;font-size:14px;line-height:1.3}
.mini-row__empty{font-size:13px;color:var(--muted);font-style:italic;padding:12px;border-radius:12px;border:1px dashed var(--stone)}
@media (max-width:800px){.camp{grid-template-columns:1fr}.mini-row{grid-template-columns:1fr}}
.entity{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.entity__list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.entity__list li{background:var(--white);border-radius:12px;padding:10px 12px;box-shadow:0 2px 0 var(--line);font-size:14px}
.entity__list li b{display:block;font:700 20px/1.1 var(--font-display)}
@media (max-width:800px){.entity{grid-template-columns:1fr}}

/* ---------- tour page ---------- */
.facts8{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fact8{background:var(--white);border-radius:var(--r-img);padding:12px 14px;box-shadow:0 2px 0 var(--line);font-size:13px;color:var(--text-2)}
.fact8 b{display:block;font:700 18px/1.2 var(--font-display);color:var(--ink)}
@media (max-width:800px){.facts8{grid-template-columns:1fr 1fr}}
.gap-block{background:#fbe9dc;border-radius:var(--r-card);padding:22px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;color:#4a2412}
.gap-block__n{font:700 44px/1 var(--font-display)}
.opt-table{background:var(--white);border-radius:var(--r-card);box-shadow:0 2px 0 var(--line);overflow:hidden}
.opt-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;gap:14px;align-items:center;padding:16px 22px;border-top:1px solid var(--line)}
.opt-row:first-child{border-top:0}
.opt-row--head{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 22px}
.opt-row--reco{background:#fff8e8}
.opt-row__diff{font:700 22px/1 var(--font-display);color:var(--action)}
.opt-single{padding:22px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
@media (max-width:800px){.opt-row{grid-template-columns:1fr 1fr}.opt-single{grid-template-columns:1fr}}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.incl ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.incl li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.incl li svg{flex:0 0 auto;margin-top:3px}
@media (max-width:700px){.incl{grid-template-columns:1fr}}
.bars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bar{background:var(--white);border-radius:var(--r-img);padding:16px 18px;box-shadow:0 2px 0 var(--line)}
.bar__l{font-size:13px;color:var(--text-2);display:flex;justify-content:space-between}
.bar__l b{font:700 22px/1 var(--font-display);color:var(--ink)}
.bar__track{height:8px;border-radius:4px;background:var(--line);margin-top:8px;overflow:hidden}
.bar__fill{height:100%;border-radius:4px;background:var(--gold);width:var(--w);transition:width 1.1s var(--ease)}
@media (max-width:640px){.bars{grid-template-columns:1fr}}
.tcmp{background:var(--white);border-radius:var(--r-card);box-shadow:0 2px 0 var(--line);overflow:hidden}
.tcmp__row{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;padding:12px 20px;border-top:1px solid var(--line);align-items:center;font-size:14px}
.tcmp__row:first-child{border-top:0;background:var(--surface)}
.tcmp__row:first-child a{font:700 15px/1.2 var(--font-display);color:var(--ink)}
.tcmp__k{color:var(--muted);font-size:13px}
.tcmp__v.is-best{color:var(--cat-4d);font-weight:700;display:flex;align-items:center;gap:6px}
.tcmp__v.is-best::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}
@media (max-width:700px){.tcmp__row{grid-template-columns:1fr;gap:4px}.tcmp__k{font-weight:700;color:var(--ink)}}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:180px;gap:10px}
.gallery figure{position:relative;border-radius:var(--r-img);overflow:hidden;background:var(--line)}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(36,36,58,.78);color:#f2eef6;padding:6px 10px;border-radius:10px;font-size:12px}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}}
.g2k{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.g2k div{background:var(--white);border-radius:12px;padding:12px 14px;font-size:14px;box-shadow:0 2px 0 var(--line)}
.g2k div b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
@media (max-width:800px){.g2k{grid-template-columns:1fr 1fr}}

/* ---------- long text elements ---------- */
.article{max-width:720px;display:flex;flex-direction:column;gap:22px;font-size:17px;line-height:1.6}
.article__h2{font:700 clamp(28px,3.5vw,38px)/1.1 var(--font-display)}
.article__h3{font:700 22px/1.2 var(--font-display);margin-top:6px}
.article p{color:var(--ink)}
.article p:first-of-type::first-letter{font:700 1.4em/1 var(--font-display);color:var(--action)}
.key-box{border-radius:var(--r-img);background:var(--tint);padding:18px 22px;font-size:17px;border-left:4px solid var(--gold)}
.key-box b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.big-number{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:10px 0}
.big-number__n{font:700 clamp(48px,7vw,80px)/1 var(--font-display);color:var(--ink)}
.big-number__l{font-size:16px;color:var(--text-2);max-width:340px}
.aside-note{font-size:14px;color:var(--text-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:auto 1fr;gap:10px}
.aside-note b{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--action);padding-top:3px}
.pull-quote{font:italic 700 clamp(22px,3vw,28px)/1.3 var(--font-display);color:var(--ink);padding-left:22px;border-left:3px solid var(--gold)}
.pull-quote cite{display:block;font:400 13px/1.3 var(--font-text);color:var(--muted);margin-top:8px;font-style:normal}
.figure{border-radius:var(--r-card);overflow:hidden;background:var(--line)}
.figure img{width:100%;height:320px;object-fit:cover}
.figure figcaption{padding:10px 14px;font-size:13px;color:var(--text-2);background:var(--white)}
.figure--empty{height:320px;display:flex;align-items:center;justify-content:center}
.figure--empty svg{width:64px;opacity:.4}
.steps-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:st}
.steps-list li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;counter-increment:st;font-size:16px}
.steps-list li::before{content:counter(st);width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--night);font:700 16px/36px var(--font-display);text-align:center}
.definition{display:grid;grid-template-columns:180px 1fr;gap:14px;font-size:15px;padding:10px 0;border-bottom:1px solid var(--line)}
.definition dt{font:700 17px/1.2 var(--font-display)}
.definition dd{margin:0;color:var(--text-2)}
@media (max-width:640px){.definition{grid-template-columns:1fr}}
.article--wide{max-width:none;display:grid;grid-template-columns:minmax(0,720px) 300px;gap:40px;align-items:start}
.article__side{position:sticky;top:64px;display:flex;flex-direction:column;gap:16px}
@media (max-width:1000px){.article--wide{grid-template-columns:1fr}.article__side{position:static}}
.toc{background:var(--white);border-radius:var(--r-img);padding:14px 16px;box-shadow:0 2px 0 var(--line);font-size:14px}
.toc b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc a{display:block;padding:5px 0;color:var(--ink);text-decoration:none;border-left:2px solid var(--line);padding-left:10px}
.toc a:hover{border-color:var(--gold)}
@media (max-width:1000px){.toc{display:flex;gap:4px;overflow-x:auto;white-space:nowrap}.toc b{display:none}.toc a{border-left:0;border-bottom:2px solid var(--line);padding:6px 10px}}
.answer{background:var(--white);border-radius:var(--r-card);padding:24px;box-shadow:0 2px 0 var(--line);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.answer__n{font:700 clamp(56px,8vw,96px)/1 var(--font-display)}
.answer__n small{display:block;font:400 14px/1.2 var(--font-text);color:var(--text-2)}
.answer__facts{display:flex;flex-direction:column;gap:6px;font-size:15px}
@media (max-width:640px){.answer{grid-template-columns:1fr}}
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:800px){.ptiles{grid-template-columns:1fr 1fr}}

/* ---------- catalog ---------- */
.catalog__tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.drawer-btn{display:none}
@media (max-width:900px){.catalog__filters{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--white);border-radius:24px 24px 0 0;padding:20px var(--gutter) 90px;box-shadow:0 -20px 50px rgba(36,36,58,.25);transform:translateY(100%);transition:transform .4s var(--ease);display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow:auto}.catalog__filters.is-open{transform:none}.drawer-btn{display:inline-flex}}

/* ---------- library ---------- */
.lib{display:flex;flex-direction:column;gap:40px}
.lib__item{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:var(--stroke) solid var(--line)}
.lib__name{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.lib__name code{font:13px/1 ui-monospace,monospace;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:4px 8px}
.lib__states{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:start}
.lib__state{display:flex;flex-direction:column;gap:6px}
.lib__state>small{font-size:11.5px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.lib__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lib__index{width:100%;border-collapse:collapse;font-size:13px}
.lib__index th,.lib__index td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.lib__index th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.swatch{display:flex;flex-direction:column;gap:6px;font-size:12px}
.swatch i{display:block;height:64px;border-radius:12px;border:1px solid rgba(36,36,58,.08)}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.icons div{background:var(--white);border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2);text-align:center;box-shadow:0 2px 0 var(--line)}

/* ---------- 404 ---------- */
.nf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:700px){.nf{grid-template-columns:1fr}}

/* ---------- round 2b: frame elements ---------- */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--night);color:#fff;padding:10px 14px;border-radius:var(--r-btn);font-weight:700;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:40;background:var(--surface);transition:padding .3s var(--ease),box-shadow .3s}
.site-header.is-compact{padding-top:8px;padding-bottom:8px;box-shadow:0 8px 24px rgba(36,36,58,.08)}
.site-header.is-compact .brand{font-size:20px}.site-header.is-compact .brand__mark{width:28px;height:28px}
.menu-drawer{position:fixed;left:0;right:0;top:0;z-index:70;background:var(--white);padding:68px var(--gutter) 24px;max-height:100vh;overflow:auto;display:flex;flex-direction:column;gap:4px;transform:translateY(-110%);transition:transform .4s var(--ease);box-shadow:0 30px 60px rgba(36,36,58,.25);border-radius:0 0 24px 24px}
.menu-drawer.is-open{transform:none}
.menu-drawer a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 12px;border-radius:12px;text-decoration:none;color:var(--ink);font:700 18px/1.2 var(--font-display);min-height:48px;border-bottom:1px solid var(--line)}
.menu-drawer a[data-cat]{color:var(--ink);padding-left:22px;position:relative}
.menu-drawer a[data-cat]::before{content:"";position:absolute;left:6px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--cat)}
.menu-drawer a small{font:400 13px/1 var(--font-text);color:var(--muted)}
.menu-drawer a:hover{background:var(--surface)}
.menu-drawer .btn{font:700 16px/1 var(--font-text);color:#fff;justify-content:center}
@media (min-width:901px){.menu-drawer{display:none}}
.site-header{position:sticky}.site-header .menu-btn{position:relative;z-index:80}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted);padding-top:10px;padding-bottom:10px}
.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:700}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:16px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;transform:translateY(120%);transition:transform .4s var(--ease);max-width:var(--max);margin:0 auto}
.consent.is-on{transform:none}
.consent p{font-size:14px;max-width:560px}.consent a{color:#ffd98a}
.consent__btns{display:flex;gap:8px}
.consent .btn--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
@media (max-width:900px){.sticky-bar.is-on ~ .consent,.consent{bottom:84px}}
.up-btn{position:fixed;right:16px;bottom:96px;z-index:50;width:48px;height:48px;border-radius:50%;border:var(--stroke) solid var(--line);background:var(--white);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(36,36,58,.15);transform:translateY(120px);transition:transform .4s var(--ease)}
.up-btn.is-on{transform:none}
@media (min-width:901px){.sticky-bar{display:flex}.up-btn{bottom:24px;right:24px}}
.sticky-bar__name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:420px}
.disclosure,.snapshot{font-size:12.5px;color:var(--muted);margin:0 0 8px}
.disclosure::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:6px;vertical-align:middle}
.format-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.format-strip__tile{position:relative;overflow:hidden;border-radius:var(--r-img);padding:14px 16px;background:var(--sky);color:var(--sky-ink);text-decoration:none;display:flex;flex-direction:column;gap:2px;min-height:72px;transition:transform .3s var(--ease)}
.format-strip__tile:hover{transform:translateY(-3px)}
.format-strip__tile b{font:700 18px/1.2 var(--font-display);position:relative}.format-strip__tile small{font-size:12.5px;opacity:.9;position:relative}
.format-strip__sun{position:absolute;right:-16px;top:-16px;width:60px;height:60px;border-radius:50%;filter:blur(14px);background:var(--sun)}
.hero--quiet{background:var(--tint);color:var(--ink)}
.email-block{background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:10px}
.email-block a{font:700 clamp(24px,4vw,40px)/1.1 var(--font-display);color:#ffd98a;text-decoration:none;word-break:break-all}
.email-block p{font-size:15px;color:#cfc9da;max-width:520px}
/* stop chips: the control that replaces point targets */
.trail-xl__stop{pointer-events:none;font-size:0;top:0!important}
.trail-xl__stops{height:14px}
.trail-xl__chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.stop-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px 6px 10px;border-radius:var(--r-chip);border:var(--stroke) solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#e6e2ee;font:700 13px/1.1 var(--font-text);cursor:pointer;transition:all .25s var(--ease)}
.stop-chip small{font-weight:400;color:#cfc9da;font-size:11.5px}
.stop-chip__dot{width:10px;height:10px;border-radius:50%;background:#fff;flex:0 0 auto}
.stop-chip:hover{background:rgba(255,255,255,.14)}
.stop-chip.is-on{background:var(--gold);border-color:var(--gold);color:var(--night)}
.stop-chip.is-on small{color:#4a3a10}.stop-chip.is-on .stop-chip__dot{background:var(--night)}
.stop-chip.trail-xl__stop--camp .stop-chip__dot{background:var(--night);border:2px solid #fff;box-sizing:border-box}
@media (max-width:720px){.trail-xl__chips{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-right:-20px}.stop-chip{flex:0 0 auto;scroll-snap-align:start}}
.lit-trail__stop{pointer-events:none}
/* tables, summary, callout, read-on, photo pause */
.data-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-img);overflow:hidden;box-shadow:0 2px 0 var(--line);font-size:14px}
.data-table th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 14px;background:var(--surface)}
.data-table td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
.data-table td.is-hi{color:var(--action);font-weight:700}
@media (max-width:760px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{border-top:var(--stroke) solid var(--line);padding:8px 0}.data-table td{border:0;padding:6px 14px;display:grid;grid-template-columns:110px 1fr;gap:10px}.data-table td::before{content:attr(data-l);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:3px}}
.praise-crit{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.praise-crit>div{background:var(--white);border-radius:var(--r-img);padding:16px 18px;box-shadow:0 2px 0 var(--line)}
.praise-crit b{display:block;font:700 17px/1.2 var(--font-display);margin-bottom:8px}
.praise-crit>div:first-child b{color:var(--cat-4d)}.praise-crit>div:last-child b{color:var(--action)}
.praise-crit ul{margin:0;padding-left:18px;font-size:14px;display:flex;flex-direction:column;gap:4px}
@media (max-width:640px){.praise-crit{grid-template-columns:1fr}}
.callout{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;background:var(--white);border-radius:var(--r-card);padding:20px 22px;box-shadow:0 2px 0 var(--line);border-left:4px solid var(--stone)}
.callout b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.callout p{font-size:16px}
.callout__alt{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border-left:1px solid var(--line);padding-left:18px}
.callout__alt span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--cat-4d);font-weight:700}
.callout__alt a:not(.btn){font-weight:700;color:var(--ink)}
@media (max-width:640px){.callout{grid-template-columns:1fr}.callout__alt{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px}}
.read-on{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.read-on__card{background:var(--white);border-radius:var(--r-card);overflow:hidden;box-shadow:0 2px 0 var(--line);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.read-on__card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(36,36,58,.14)}
.read-on__img{display:block;height:120px;background:var(--line)}.read-on__img img{width:100%;height:100%;object-fit:cover}
.read-on__card b{font:700 17px/1.2 var(--font-display);padding:12px 14px 2px}.read-on__card small{font-size:13px;color:var(--text-2);padding:0 14px 14px}
.guides-group{margin-bottom:28px}.guides-group .h3{margin-bottom:12px}
.photo-pause{position:relative;margin:0 var(--gutter);max-width:calc(var(--max) - 2*var(--gutter));margin-left:auto;margin-right:auto;border-radius:var(--r-card);overflow:hidden;min-height:360px;background:var(--night)}
.photo-pause img{width:100%;height:420px;object-fit:cover;display:block}
.photo-pause figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px clamp(20px,3vw,40px);padding-right:220px;background:linear-gradient(to top,rgba(36,36,58,.85),transparent);color:#f2eef6;display:flex;flex-direction:column;gap:4px}
.photo-pause figcaption span:last-child{font-size:13px;color:#cfc9da}
.tour-card--dayhike .tour-card__arrive{color:#ffd98a}

/* ---------- day strip (replaces trail-xl) ---------- */
.day-strip{background:var(--night);color:#f2eef6;border-radius:var(--r-card);padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:14px}
.day-strip__tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.day-strip .seg{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.day-strip .seg button{color:#f2eef6;min-height:44px}.day-strip .seg button.is-on{background:var(--gold);color:var(--night)}
.day-strip .seg button:hover:not(.is-on){background:rgba(255,255,255,.1)}
.day-strip__sum{font-size:13px;color:#cfc9da}
.day-strip__line{position:relative;height:16px;display:flex;align-items:center}
.day-strip__line::before{content:"";position:absolute;left:0;right:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.22)}
.day-strip__lit{position:absolute;height:6px;border-radius:3px;background:var(--gold);box-shadow:0 0 10px var(--gold);transition:left .6s var(--ease),width .6s var(--ease)}
.day-strip__gate{position:absolute;right:0;width:16px;height:16px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.day-strip__days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.day-card{text-align:left;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--r-img);background:rgba(255,255,255,.06);border:var(--stroke) solid rgba(255,255,255,.12);color:#f2eef6;cursor:pointer;transition:background .3s,border-color .3s,opacity .4s,transform .3s var(--ease);min-height:260px}
.day-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px)}
.day-card.is-open{border-color:var(--gold);background:rgba(242,180,38,.1)}
.day-card.is-skipped{opacity:.45;border-style:dashed}
.day-card__n{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.day-card.is-skipped .day-card__n{color:#cfc9da}
.day-card__t{font:700 20px/1.15 var(--font-display)}
.day-card__elev{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:end}
.day-card__bar{position:relative;height:88px;border-radius:7px;background:rgba(255,255,255,.12);display:block}
.day-card__bar i{position:absolute;left:0;right:0;border-radius:7px;background:var(--gold);box-shadow:0 0 8px var(--gold);transition:bottom .6s var(--ease),height .6s var(--ease)}
.day-card.is-skipped .day-card__bar i{background:#8f889f;box-shadow:none}
.day-card__nums{display:flex;flex-direction:column;gap:2px}
.day-card__nums b{font:700 26px/1 var(--font-display)}.day-card__nums small{font-size:11px;color:#cfc9da}.day-card__nums>span{font-size:13px;color:#e6e2ee;margin-top:6px}
.day-card__stops{display:flex;flex-direction:column;gap:5px;font-size:13px}
.day-card__stop{display:flex;align-items:center;gap:8px}.day-card__stop small{color:#cfc9da}
.day-card__stop i{width:8px;height:8px;border-radius:50%;background:#fff;flex:0 0 auto}
.day-card__stop.is-camp i{background:var(--night);border:2px solid #fff;box-sizing:border-box}
.day-card__stop.is-gate i{background:var(--gold);box-shadow:0 0 8px var(--gold)}
.day-card__more{font-size:13px;line-height:1.45;color:#e6e2ee;display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .4s var(--ease);opacity:0}
.day-card.is-open .day-card__more{grid-template-rows:1fr;opacity:1}
.day-card__night{margin-top:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:#ffd98a;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
@media (max-width:900px){.day-strip__days{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.day-strip__days{grid-template-columns:1fr}.day-card{min-height:0}}

/* ---------- permit month picker (replaces ptl) ---------- */
.permit-when{display:flex;flex-direction:column;gap:14px}
.permit-when__q{font:700 22px/1.2 var(--font-display)}
.permit-when__months{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}
.pw-month{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:56px;padding:8px 4px;border-radius:12px;border:var(--stroke) solid var(--line);background:var(--white);cursor:pointer;transition:all .25s var(--ease);position:relative;overflow:hidden}
.pw-month::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--pw)}
.pw-month--peak{--pw:var(--action)}.pw-month--dry{--pw:var(--gold)}.pw-month--shoulder{--pw:var(--cat-4d)}.pw-month--rain{--pw:var(--cat-2d)}
.pw-month--closed{--pw:#5a5870;background:var(--night);color:#f2eef6;border-color:var(--night)}
.pw-month b{font:700 15px/1 var(--font-display)}.pw-month small{font-size:10px;color:var(--muted);line-height:1.1;text-align:center}
.pw-month--closed small{color:#cfc9da}
.pw-month:hover{transform:translateY(-2px)}
.pw-month.is-on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink);background:var(--ink);color:#fff}.pw-month.is-on small{color:#cfc9da}
.permit-when__panel{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;background:var(--white);border-radius:var(--r-card);padding:22px;box-shadow:0 2px 0 var(--line);min-height:150px}
.permit-when[data-state="closed"] .permit-when__panel{background:var(--night);color:#f2eef6}
.permit-when__big{display:flex;flex-direction:column;gap:4px}
.permit-when__big b{font:700 clamp(32px,4vw,48px)/1 var(--font-display)}
.permit-when__big>span:last-child{font-size:14px;color:var(--text-2)}
.permit-when[data-state="closed"] .permit-when__big>span:last-child{color:#cfc9da}
.permit-when__facts{display:grid;gap:8px;align-content:start}
.permit-when__facts>div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:14px;padding:8px 0;border-top:1px solid var(--line)}
.permit-when[data-state="closed"] .permit-when__facts>div{border-color:rgba(255,255,255,.15)}
.permit-when__facts b{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.permit-when[data-state="closed"] .permit-when__facts b{color:#cfc9da}
@media (max-width:900px){.permit-when__months{grid-template-columns:repeat(6,1fr)}.permit-when__panel{grid-template-columns:1fr}}
@media (max-width:480px){.permit-when__months{grid-template-columns:repeat(4,1fr)}}

/* ---------- fact tiles (replaces facts8) ---------- */
.fact-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fact-tile{position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:var(--white);border-radius:var(--r-img);padding:14px 16px;box-shadow:0 2px 0 var(--line);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.fact-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cat)}
.fact-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(36,36,58,.12)}
.fact-tile__ico{grid-row:1/3;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cat);background:color-mix(in oklab,var(--cat) 12%,white)}
.fact-tile b{font:700 19px/1.15 var(--font-display);color:var(--ink)}
.fact-tile small{font-size:12.5px;color:var(--text-2)}
@media (max-width:900px){.fact-tiles{grid-template-columns:1fr 1fr}}@media (max-width:480px){.fact-tiles{grid-template-columns:1fr}}
/* ---------- camp card (replaces mini-row) ---------- */
.camp-card{display:grid;grid-template-columns:200px 1fr;background:var(--surface);border-radius:var(--r-img);overflow:hidden;border:var(--stroke) solid var(--line);transition:transform .3s var(--ease),box-shadow .3s}
.camp-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(36,36,58,.12)}
.camp-card__media{position:relative;min-height:170px;background:var(--line)}
.camp-card__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.camp-card__media .tour-card__arrive{left:12px;right:12px;bottom:10px;font-size:12px}
.camp-card__badge{position:absolute;left:10px;top:10px}
.camp-card__body{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.camp-card__t{font:700 18px/1.2 var(--font-display);color:var(--ink);text-decoration-color:var(--line)}
.camp-card__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.camp-card__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line)}
@media (max-width:640px){.camp-card{grid-template-columns:1fr}.camp-card__media{min-height:150px}}

.card-slot{display:flex;transition:opacity .4s,transform .4s var(--ease)}
.card-slot>*{width:100%}
.card-slot.is-out{opacity:0;transform:scale(.98);pointer-events:none;height:0;overflow:hidden}
.photo-pause__cta{position:absolute;right:clamp(20px,3vw,40px);bottom:28px}
@media (max-width:640px){.photo-pause{display:flex;flex-direction:column}.photo-pause figcaption{position:static;background:var(--night)}.photo-pause img{height:220px}.photo-pause__cta{position:static;margin:0 16px 16px;align-self:flex-start}}
.criteria-grid{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:stretch}
.criteria-grid .figure{display:flex;flex-direction:column}.criteria-grid .figure img{flex:1;min-height:240px;height:auto}
@media (max-width:900px){.criteria-grid{grid-template-columns:1fr}.criteria-grid .figure img{height:220px;flex:none}}
.wtg-head{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:end;margin-bottom:20px}
.wtg-photo{margin:0;border-radius:var(--r-img);overflow:hidden;position:relative;height:160px;background:var(--line)}
.wtg-photo img{width:100%;height:100%;object-fit:cover}
.wtg-photo figcaption{position:absolute;left:10px;bottom:10px;background:rgba(36,36,58,.78);color:#f2eef6;padding:6px 10px;border-radius:10px;font-size:12px}
@media (max-width:800px){.wtg-head{grid-template-columns:1fr}}

.day-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.day-col .day-card{flex:1}
.day-trek{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:var(--stroke) solid rgba(255,255,255,.14);border-radius:var(--r-img);padding:8px;text-decoration:none;color:#f2eef6;transition:background .25s,transform .25s var(--ease)}
.day-trek:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.day-trek img{width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--line)}
.day-trek__t{display:flex;flex-direction:column;gap:2px;min-width:0}
.day-trek__t small{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold)}
.day-trek__t b{font:700 13px/1.25 var(--font-display);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.day-trek{grid-template-columns:56px minmax(0,1fr) auto}
.day-trek .price__val{font-size:16px;color:#fff}.day-trek .price__basis{color:#cfc9da;font-size:11px}
.day-trek__go{background:var(--action);color:#fff;font-weight:700;font-size:13px;padding:0 12px;height:36px;display:inline-flex;align-items:center;border-radius:10px;box-shadow:0 6px 14px var(--action-glow)}

/* ---------- mobile pass ---------- */
@media (max-width:900px){
  .hero{margin:0 12px;border-radius:20px}
  .hero__grid{padding:20px 16px}
  .hero__h1{font-size:clamp(38px,11vw,52px)}
  .hero__nums{gap:8px 16px}.hero__num strong{font-size:24px}
  .hero__photo{order:-1;min-height:200px}
  .hero__fact{display:none}
  .reco{margin:0 12px 12px;padding:16px}
  .reco__title{min-height:0;font-size:22px}.reco__why{min-height:0}
  .section{padding:40px 0}
  .section__head{margin-bottom:18px}
  .h2{font-size:clamp(26px,7vw,34px)}
  .lede{font-size:16px}
  .day-strip{padding:16px;border-radius:20px}
  .day-strip__tools{flex-direction:column;align-items:stretch}.day-strip .seg{width:100%}.day-strip .seg button{flex:1}
  .day-strip__days{grid-template-columns:1fr}
  .day-card{min-height:0}
  .permit-when__months{grid-template-columns:repeat(4,1fr)}
  .pw-month{min-height:52px}
  .permit-when__panel{padding:16px}
  .permit-when__facts>div{grid-template-columns:1fr;gap:2px}
  .cta-final{padding:20px;border-radius:20px}
  .photo-pause{margin:0 12px;border-radius:20px}
  .format-strip{grid-template-columns:1fr 1fr}
  .stats{gap:8px}.stat{padding:12px 14px}
  .steps{grid-template-columns:1fr}
  .tiers{grid-template-columns:1fr}
  .criteria-grid .figure img{height:200px}
  .month{padding:14px}
  .fact-tile{padding:12px 14px}
  .sticky-bar{padding:8px var(--gutter) 10px}
  .sticky-bar__name{max-width:52vw;font-size:11.5px}
  .consent{bottom:76px;left:8px;right:8px;padding:12px 14px;gap:10px}
  .consent__btns{width:100%}.consent__btns .btn{flex:1}
  .up-btn{bottom:84px;right:12px}
  .card-grid{grid-template-columns:1fr}
  .tour-card__media{height:190px}
  .catalog__tools{gap:6px}
  .seg button{padding:8px 12px}
  .wrap{padding:0 16px}
  .crumbs{font-size:12px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
}
@media (max-width:560px){
  .arrival{flex:0 0 78%}
  .variants{gap:10px}
  .format-strip{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .leaders{gap:8px}
  .month__row{margin:0}
}

.sticky-bar:not(.is-on) ~ .up-btn{bottom:24px}
@media (max-width:900px){.sticky-bar:not(.is-on) ~ .up-btn{bottom:20px}}

/* ==========================================================================
   PORT LAYER — every rule here is a logged change to the Designer's system
   (see PORT-LOG.md). The Designer's CSS above is untouched.
   ========================================================================== */

/* P1 · pre-rendered state panels (arrival, day format, camps) — the Designer's
   `img{display:block}` would otherwise override the hidden attribute */
[hidden]{display:none!important}

/* P2 · review r2 #1 — article columns overflow at phone width (figure/aside min-content) */
@media (max-width:1000px){.article--wide{grid-template-columns:minmax(0,1fr)}}

/* P3 · review r2 #2 — phone hero order: kicker → H1 → lede → photo → numbers → CTA
   (the Designer put the photo first with order:-1) */
@media (max-width:900px){
  .hero__copy{display:contents}
  .hero__grid>*,.hero__copy>*{order:6}
  .hero__copy>.kicker,.hero__copy>.lib__row:first-child{order:1}
  .hero__h1{order:2}
  .hero__copy>.hero__h1+div{order:3}
  .hero__lede{order:3}
  .hero[data-variant="home"] .hero__photo{order:4}
  .hero__nums{order:5}
  /* subpages: H1, price and the booking button stay on the first phone screen; the frame follows */
  .hero:not([data-variant="home"]) .hero__photo{order:7}
}

/* P4 · review r2 #4 — the answer is in the HTML once; the closed preview is the
   same answer cut to one line by CSS (was a duplicated first sentence) */
.faq-item:not(.is-open) .faq-item__a{grid-template-rows:1fr}
.faq-item:not(.is-open) .faq-item__body{font-size:14px;padding-bottom:16px}
.faq-item:not(.is-open) .faq-item__body>p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* P5 · live GetYourGuide widget inside the Designer's widget frame */
.gyg-widget__live{width:100%;min-height:96px}
.gyg-widget:has(.gyg-widget__live iframe){border-style:solid}
@media (max-width:900px){.cta-final__side .gyg-widget{display:none}} /* content map A7: one widget on phones */

/* P6 · heading order (head_qa): footer column titles h4 -> h3, same look */
.site-footer h3{font:700 16px/1.2 var(--font-display);color:#fff;margin-bottom:10px}

/* P7 · contrast AA (site gate contrast.js). The Designer's --muted is 3.9:1 on the page
   surface and 3.6:1 on tinted sections; the 1-day gold is 2.95:1 as text. Fills keep the
   Designer's colours; only text gets the darker tone. Stars, logo .tours and "›" are exempt. */
:root{--muted:#665d7a}
.kicker[data-cat="1d"],[data-cat="1d"] :is(.variant__big,.iflist__then,.tour-row__arrive){color:#8a5d00}
.permit-when__big .kicker{color:#8a5d00!important}
.aside-note b{color:var(--action-hover)}
.lit-trail--night .lit-trail__labels{color:#b9b2c9}
.chip--cat[data-cat="1d"],[data-cat="1d"] .chip--cat,.chip--cat:is([data-cat="1d"] *){color:var(--ink)}
.month__row--avoid b{color:var(--action-hover)}
.month__row--permits b{color:#8a5d00}
.month--closed .month__row b{color:#cfc9da}
.month--closed .month__big{color:#ffd98a}

/* P8 · owner feedback 29.09: the "up" button sat under the sticky booking bar. The Designer's
   `.sticky-bar ~ .up-btn` never matched (the bar comes after the button in the DOM). */
.up-btn{bottom:24px}
@media (max-width:900px){.up-btn{bottom:20px}}
body:has(.sticky-bar.is-on) .up-btn{bottom:96px}

/* P9 · owner feedback 29.09: the fact chip was cut by the arch of the home photo — centre it
   under the top of the arch (the rectangular hub/tour frames keep the Designer's corner). */
.hero__photo:not(.hero__photo--rect) .hero__fact{right:auto;left:50%;top:28px;transform:translateX(-50%);white-space:nowrap}

/* P10 · owner feedback 29.09: on phones the Menu ⇄ Close button was hidden under the open drawer.
   The Designer gave the button z-index 80, but it sits inside the sticky header (z 40) while the
   drawer is z 70 — lift the header above the drawer while it is open. */
.site-header:has(+ .menu-drawer.is-open){z-index:75}
.site-header:has(+ .menu-drawer.is-open) .menu-btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.menu-btn{flex:0 0 auto;white-space:nowrap}
/* open state on narrow phones: the ✕ icon alone, the label stays for screen readers */
@media (max-width:480px){.site-header:has(+ .menu-drawer.is-open) .menu-btn{width:44px;padding:0;justify-content:center}
  .site-header:has(+ .menu-drawer.is-open) .menu-btn__l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* P11 · owner feedback 29.09: the sun follows the arrival switch on the home hero — low and
   rising for sunrise, high for midday, low on the far side for dusk. The Designer's own
   1.2s transition and slow arc drift stay; the switch already changed its colour (--sun). */
[data-page="home"] .hero__sun{transition:left 1.2s var(--ease),top 1.2s var(--ease),width 1.2s var(--ease),height 1.2s var(--ease),background-color 1.2s ease;offset-path:path('M 0 0 A 40 20 0 0 1 80 0')}
[data-page="home"][data-sky="dawn"] .hero__sun{left:47%;top:34%}
[data-page="home"][data-sky="midday"] .hero__sun{left:55%;top:-2%;width:190px;height:190px}
[data-page="home"][data-sky="dusk"] .hero__sun{left:75%;top:12%}
@media (max-width:900px){
  [data-page="home"][data-sky="dawn"] .hero__sun{left:4%;top:30%}
  [data-page="home"][data-sky="midday"] .hero__sun{left:38%;top:0}
  [data-page="home"][data-sky="dusk"] .hero__sun{left:64%;top:26%}
}

/* P14 · contrast AA: the alternatives category colour #7a6a9e is 3.9:1 as kicker text on the tint; text only gets a darker tone, fills keep the Designer's colour. */
.kicker[data-cat="alt"]{color:#5f5288}
/* P15 · contrast AA: in the closed-February card the Designer's .month__big small keeps the light-card grey (#44415a on the night card = 1.6:1). */
.month--closed .month__big small{color:#cfc9da}
/* P16 · language switcher (not in the Designer's library; built from the .nav chip, the drawer rows and the footer link styles). Header: desktop only; drawer and footer carry it on mobile. */
.lang-sw{position:relative;flex:0 0 auto}
.lang-sw>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 12px;border:var(--stroke) solid var(--line);border-radius:var(--r-chip);background:rgba(255,255,255,.7);font-weight:700;font-size:13px;color:var(--text-2);cursor:pointer;white-space:nowrap}
.lang-sw>summary::-webkit-details-marker{display:none}
.lang-sw>summary:hover,.lang-sw[open]>summary{background:var(--white);color:var(--ink)}
.lang-sw__flag{width:20px;height:14px;border-radius:3px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(36,36,58,.12)}
.lang-sw__list{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:180px;margin:0;padding:6px;list-style:none;background:var(--white);border:var(--stroke) solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(36,36,58,.14)}
.lang-sw__list a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px}
.lang-sw__list a:hover{background:var(--surface)}
.lang-sw__list a[aria-current]{background:var(--surface)}
@media (max-width:1023px){.site-header .lang-sw{display:none}}  /* 901–1023: nav + CTA fill the bar; the footer switcher serves */
.menu-drawer .lang-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px 12px 10px}
.menu-drawer .lang-row a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:var(--stroke) solid var(--line);border-radius:var(--r-chip);font:700 14px/1 var(--font-text);border-bottom:var(--stroke) solid var(--line)}
.menu-drawer .lang-row a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.site-footer__langs{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:28px}
.site-footer__langs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0}
.site-footer__langs a[aria-current]{color:#fff}
/* P17 · the Designer hides the header CTA at ≤900px, but .btn{display:inline-flex} comes later with the same specificity and won, pushing the menu button off-screen at 320–430px (clipped by .site overflow). The drawer carries the same CTA. */
@media (max-width:900px){.site-header .site-header__cta{display:none}}
