/* Shoulder Season design system v1 — Palette A "Alpenglow" */
:root{
  --bg:#FAF8F4;--surface:#FFFFFF;--surface-2:#F2EFE8;--border:#E4DFD5;
  --ink:#16211B;--ink-2:#4A564F;--ink-3:#6F7A73;
  --brand:#1F3D2B;--accent:#E8572A;--accent-hover:#C9461D;--accent-soft:#FDEBE3;--accent-ink:#B23F17;
  --river:#1F6F8B;--river-soft:#E1F0F5;--snow:#3A6EA5;--snow-soft:#E5EEF8;--trail:#9A5B13;--trail-soft:#F8ECDC;
  --money:#1E8A4C;--money-soft:#E3F4EA;--warn:#B7791F;--danger:#B42318;
  --font-display:"Fraunces",Georgia,serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-display:clamp(2rem,5vw,3.25rem);
  --lh-tight:1.15;--lh-body:1.6;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;
  --shadow-1:0 1px 2px rgba(22,33,27,.06),0 1px 3px rgba(22,33,27,.08);--shadow-2:0 6px 20px rgba(22,33,27,.10);
  --maxw:1200px;--tap:44px;--hdr:64px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;font:400 var(--fs-md)/var(--lh-body) var(--font-body);color:var(--ink);background:var(--bg);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
main,section,.card,td,p,li{overflow-wrap:anywhere}
img,iframe,svg,video{max-width:100%}
a{color:var(--river);text-underline-offset:2px}a:hover{color:var(--accent-ink)}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink)}
h1{font-size:var(--fs-display);margin:var(--s3) 0 var(--s3)}h2{font-size:var(--fs-2xl);margin:0 0 var(--s3)}h3{font-size:var(--fs-lg);margin:var(--s2) 0 var(--s2)}
main h1{font-size:clamp(1.85rem,4.2vw,2.75rem)}
.in{max-width:var(--maxw);margin:0 auto;padding:var(--s5) var(--s4)}
main.in{padding-top:var(--s5);padding-bottom:var(--s7)}
section{margin:var(--s6) 0}
.note{font-size:var(--fs-sm);color:var(--ink-3)}.sub{color:var(--ink-3);font-size:var(--fs-sm)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-soft)}

/* header */
header.top{position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
header.top .in{display:flex;align-items:center;gap:var(--s4);min-height:var(--hdr);padding:0 var(--s4)}
.logo{font:700 1.3rem/1 var(--font-display);color:var(--brand);text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;min-height:var(--tap);white-space:nowrap}
.logo span{color:var(--accent);margin-left:.28em}.logo:hover{color:var(--brand)}
header.top nav{display:flex;align-items:center;gap:var(--s1);flex:1}
header.top nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:var(--fs-sm);padding:0 var(--s2);min-height:var(--tap);display:inline-flex;align-items:center;white-space:nowrap}
header.top nav a:hover{color:var(--ink)}header.top nav a.on{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}
header.top nav .sp{flex:1}
header.top nav a.btn{color:#fff;padding:0 var(--s4)}header.top nav a.btn.ghost{color:var(--ink)}
.burger,.navt{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 18px;border-radius:var(--r-md);background:var(--accent);color:#fff;font:600 15px/1.2 var(--font-body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--accent-hover);color:#fff}
.btn.ghost,.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.btn.ghost:hover,.btn.secondary:hover{background:var(--surface-2);color:var(--ink)}
.more{color:var(--accent-ink);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap)}.more:hover{color:var(--accent-hover)}
.booktrip{color:var(--accent-ink)!important;border-color:var(--accent)!important;background:var(--accent-soft);opacity:1!important;font-weight:600}

/* hero (light topo) */
.hero{position:relative;background:radial-gradient(1100px 420px at 85% -10%,#E6EFE9 0%,transparent 55%),linear-gradient(180deg,#F3F6F1 0%,var(--bg) 70%);border-bottom:1px solid var(--border);color:var(--ink)}
.hero .in{padding-top:var(--s7)!important;padding-bottom:var(--s6)!important}
.hero h1{font-size:var(--fs-display);margin:var(--s3) 0 var(--s3);max-width:900px}
.hero p{color:var(--ink-2);font-size:var(--fs-lg);max-width:680px;margin:0 0 var(--s5)}
.eyebrow{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;background:var(--money-soft);color:var(--money)}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--money)}
.search{display:flex;flex-direction:column;gap:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:var(--s2);box-shadow:var(--shadow-2);max-width:780px}
.search label{display:flex;flex-direction:column;padding:2px 14px 0;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);flex:1;min-width:0}
.search select,.search input{border:0;background:transparent;font:500 16px var(--font-body);color:var(--ink);padding:0;min-height:44px;width:100%;outline:none;-webkit-appearance:none;appearance:none}
.search label:focus-within{background:var(--surface-2);border-radius:14px}
.search .btn{height:52px;border-radius:14px;font-size:16px;padding:0 28px}
.quick{display:flex;gap:var(--s2);margin-top:var(--s4);overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.quick::-webkit-scrollbar{display:none}
.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:var(--tap);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:500 var(--fs-sm)/1 var(--font-body);text-decoration:none;cursor:pointer}
.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip[aria-pressed=true],.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* stat row (also legacy .kpis) */
.stats,.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin:var(--s6) 0 0}
.stats>div,.stats>a,.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;color:var(--ink-3);font-size:13px;text-decoration:none;line-height:1.35}
.stats b,.kpi b{display:block;font:700 1.75rem/1.15 var(--font-display);color:var(--ink);margin-bottom:2px}
.stats a:hover{border-color:var(--ink-3)}

/* section head */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s4)}.sh h2{margin:0}.sh p{margin:4px 0 0}

/* cards */
.cards,.grid{display:grid;grid-template-columns:1fr;gap:var(--s4)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-1);transition:transform .15s,box-shadow .15s;min-width:0}
a.card,.card.hover{color:inherit;text-decoration:none}a.card:hover,.card.hover:hover,.jc:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.card h3{margin-top:var(--s1)}section.card h2{font-size:var(--fs-xl)}
.pill,.tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;line-height:1.2;white-space:nowrap}
.ski{background:var(--snow-soft);color:var(--snow)}.raft{background:var(--river-soft);color:var(--river)}.bike{background:var(--trail-soft);color:var(--trail)}.lift{background:#EEE8F8;color:#5B3F8C}.patrol{background:#FDE8E6;color:#9B2C2C}.resort{background:var(--money-soft);color:var(--money)}.new{background:var(--accent-soft);color:var(--accent-ink)}.house{background:var(--money-soft);color:var(--money)}
/* job card */
.jc{display:flex;flex-direction:column}
.jc h3{font:600 var(--fs-lg)/1.3 var(--font-body);margin:var(--s3) 0 2px;letter-spacing:0}.jc h3 a{color:var(--ink);text-decoration:none}.jc h3 a:hover{color:var(--accent-ink)}
.jc .emp{color:var(--ink-2);font-size:var(--fs-sm)}
.pay{color:var(--money);font:700 var(--fs-xl)/1.25 var(--font-body);margin:var(--s3) 0 var(--s2);font-variant-numeric:tabular-nums}.pay.none{color:var(--ink-3);font-size:var(--fs-md);font-weight:500}
.facts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-2);border-top:1px solid var(--border);padding-top:var(--s3);margin-top:auto}
.facts span{min-width:0}
.jc .acts{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);margin-top:var(--s2)}
.jc .acts a{font-weight:600;text-decoration:none;min-height:var(--tap);display:inline-flex;align-items:center}
.jc .acts a.apply{color:var(--accent-ink)}.jc .acts a.det{color:var(--ink-3);font-weight:500;font-size:var(--fs-sm)}
/* section teaser card */
.sec{padding:0;overflow:hidden;display:flex;flex-direction:column}
.vis{height:132px;display:flex;align-items:flex-end;padding:14px;position:relative;background-size:cover}
.vis .pill{background:#fff}.vis .em{position:absolute;right:16px;top:10px;font-size:52px;opacity:.9}
.v1{background:url(topo.svg) center/cover,linear-gradient(135deg,#9A5B13,#E3A35B)}.v2{background:url(topo.svg) center/cover,linear-gradient(135deg,#1F6F8B,#6FB7CF)}.v3{background:url(topo.svg) center/cover,linear-gradient(135deg,#3A6EA5,#C9DDF2)}
.sec .b{padding:18px 20px 20px}.sec h3{margin:0}.sec p{margin:6px 0 0;color:var(--ink-2);font-size:var(--fs-sm)}
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-top:var(--s3)}.mini b{display:block;font:700 1.25rem/1.2 var(--font-display);color:var(--ink)}.mini span{font-size:12px;color:var(--ink-3)}

/* sticky filter bar */
.filters{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;margin:var(--s4) 0;padding:var(--s2) 0}
.filters.sticky{position:sticky;top:var(--hdr);z-index:900;background:rgba(250,248,244,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin-left:calc(-1*var(--s4));margin-right:calc(-1*var(--s4));padding:var(--s2) var(--s4);border-bottom:1px solid var(--border)}
.filters .row{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;max-width:100%;padding:2px}.filters .row::-webkit-scrollbar{display:none}
.filters select,.filters input{min-height:var(--tap);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);font:500 16px var(--font-body);color:var(--ink);max-width:100%}
.filters select{padding-right:30px;-webkit-appearance:none;appearance:none;background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234A564F' stroke-width='1.6'/></svg>") right 12px center no-repeat}
.filters input[type=search]{min-width:200px;flex:1}
.filters #cnt{font-weight:600;color:var(--ink-2)}

/* tables */
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;font-size:var(--fs-sm)}
tr:last-child>td,tr:last-child>th{border-bottom:0}
thead th{background:var(--surface-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600}
tbody th{background:var(--surface-2);color:var(--ink-2);font-weight:600}
tbody tr:hover>td{background:#FCFBF8}
td a b{color:var(--ink)}td a:hover b{color:var(--accent-ink)}
.h-yes{color:var(--money);font-weight:600}.h-no{color:var(--danger)}.h-unknown{color:var(--ink-3)}
.bar{height:10px;background:var(--money);border-radius:6px}

/* newsletter */
.news{background:var(--brand);color:#fff;border-radius:var(--r-xl);padding:32px 24px;margin:var(--s6) 0;position:relative;overflow:hidden}
.news:after{content:"";position:absolute;inset:0;background:url(topo.svg) center/cover;opacity:.5;filter:invert(1);pointer-events:none;mix-blend-mode:screen}
.news>*{position:relative;z-index:1}
.news h2,.news h3{color:#fff;font-family:var(--font-display);font-size:var(--fs-2xl);margin:0 0 6px}
.news p{color:#CFE0D5;margin:0 0 var(--s4);max-width:560px}.news .note,.news small{color:#A9C2B2}.news a{color:#fff}
.news .sig{font-size:var(--fs-sm);color:#A9C2B2;margin:var(--s3) 0 0}
.news iframe{width:100%!important;max-width:560px}
.news .bh{min-height:56px;max-width:560px}

/* footer */
footer{background:var(--surface-2);margin-top:var(--s7);font-size:var(--fs-sm);color:var(--ink-2);border-top:1px solid var(--border)}
footer .in{padding-top:var(--s7);padding-bottom:var(--s6)}
footer .cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5) var(--s4)}
footer .cols>div:first-child p{margin:var(--s3) 0 0;line-height:1.55;color:var(--ink-2);max-width:42rem}
footer b{display:block;color:var(--ink);font-weight:600;margin-bottom:var(--s2);letter-spacing:.01em}
footer .cols a{display:flex;align-items:center;min-height:40px;padding:2px 0;color:var(--ink-2);text-decoration:none;line-height:1.35}footer .cols a:hover{color:var(--accent-ink)}
footer .legal{border-top:1px solid var(--border);margin-top:var(--s5);padding-top:var(--s4);color:var(--ink-3);font-size:13px;line-height:1.55}
footer .legal p{margin:0 0 12px}footer .legal p:last-child{margin-bottom:0}footer .legal a{color:var(--ink-2)}

/* misc legacy */
.pair{display:grid;grid-template-columns:1fr;gap:var(--s4)}
.cta{display:flex;flex-direction:column;gap:var(--s4);align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 24px}
.cta h2{margin:0}.cta p{margin:0;color:var(--ink-2)}
blockquote{border-left-color:var(--border)!important}

/* maps */
[id^=map]{border:1px solid var(--border);border-radius:var(--r-lg)!important;box-shadow:var(--shadow-1);overflow:hidden}
.leaflet-container{font:inherit}
.ss-map-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(22,33,27,.45);color:#fff;font-weight:700;z-index:1000;pointer-events:none;opacity:0;transition:opacity .3s}
.leaflet-control-layers{border-radius:var(--r-md)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-2)!important}
.leaflet-control-layers-toggle{width:44px!important;height:44px!important}.leaflet-touch .leaflet-bar a{width:36px;height:36px;line-height:36px}
.leaflet-bar{border-radius:var(--r-md)!important;overflow:hidden}

/* inputs */
button,select,input{font-size:16px;min-height:var(--tap)}

/* ---- mobile (< 900) ---- */
@media(max-width:899px){
 header.top .in{flex-wrap:wrap;padding:0 var(--s4)}
 .logo{flex:1}
 .burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;border-radius:10px}
 .burger span{display:block;height:2px;width:22px;margin:0 auto;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
 .navt:checked+.burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navt:checked+.burger span:nth-child(2){opacity:0}.navt:checked+.burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 header.top nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 0 var(--s4);max-height:calc(100vh - var(--hdr));overflow-y:auto}
 .navt:checked~nav{display:flex}
 header.top nav a{min-height:48px;font-size:1.05rem;border-top:1px solid var(--border);padding:0 var(--s1)}
 header.top nav a.on{box-shadow:inset 3px 0 var(--accent);padding-left:var(--s3)}
 header.top nav .sp{display:none}
 header.top nav a.btn{margin-top:var(--s3);border-top:0;justify-content:center}header.top nav a.btn.ghost{margin-top:var(--s2)}
 table thead{display:none}table,tbody,tr,td{display:block;width:100%}
 table{border:0;background:transparent;box-shadow:none;overflow:visible}
 tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:var(--s3);padding:var(--s2) 0;box-shadow:var(--shadow-1)}
 td{border:0;padding:4px 16px;font-size:var(--fs-md)}tbody tr:hover>td{background:transparent}
 td[data-l]:before{content:attr(data-l)": ";font-weight:600;color:var(--ink-3);font-size:.85rem}
 tbody th{display:block;width:auto!important;border:0;padding:8px 16px 0;background:transparent;color:var(--ink-3);font-size:.85rem}
 td a{display:inline-block;padding:.35rem 0;min-height:32px}
 td .btn,main .btn{width:100%;margin:.3rem 0}
 table:not(:has(thead)){background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}
 table:not(:has(thead)) tr{border:0;border-bottom:1px solid var(--border);border-radius:0;margin:0;box-shadow:none;padding:6px 0}
 table:not(:has(thead)) tr:last-child{border-bottom:0}
 .booktrip{padding:.45rem .9rem!important;font-size:.9rem!important;min-height:40px;display:inline-flex!important;align-items:center}
 [id^=map]{height:60vh!important;max-height:440px;min-height:300px}
 .card>a:last-child,section>p>a{display:inline-flex;align-items:center;min-height:44px}
 .filters.sticky{flex-wrap:nowrap;flex-direction:column;align-items:stretch}
 .filters:not(.sticky){display:grid;grid-template-columns:1fr 1fr}.filters:not(.sticky) input[type=search],.filters #cnt{grid-column:1/-1}
 .filters select,.filters input{width:100%;min-width:0}
 .filters .row select{width:auto;flex:0 0 auto}
 .filters input[type=search]{min-width:0}
 .hero .in{padding-top:var(--s6)!important}
}
@media(min-width:640px){
 .cards,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats,.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
 .search{flex-direction:row;align-items:center;border-radius:var(--r-pill)}
 .search label+label{border-left:1px solid var(--border)}.search label:focus-within{border-radius:var(--r-pill)}
 .search .btn{border-radius:var(--r-pill)}
 .pair{grid-template-columns:1fr 1fr}
 .cta{flex-direction:row;align-items:center;justify-content:space-between;padding:32px}
 .news{padding:40px}
}
@media(min-width:900px){
 .cards,.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
 footer .cols{grid-template-columns:2fr 1fr 1fr 1fr 1fr}
 .hero .in{padding-top:var(--s8)!important;padding-bottom:var(--s7)!important}
 .news{padding:48px}
}
.morejobs{display:flex;justify-content:center;margin-top:var(--s5)}
[hidden]{display:none!important}

/* ---- mobile menu: full-screen slide-in panel ---- */
@media(max-width:899px){
 header.top .burger{position:relative;z-index:1002}
 header.top nav{display:flex!important;position:fixed;inset:0;z-index:1001;width:100%!important;max-width:none;height:100vh;height:100dvh;max-height:none;
  flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;
  padding:calc(var(--hdr,64px) + 8px) 24px 24px;background:var(--bg,#FAF8F4);overflow:hidden;
  transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
 .navt:checked~nav{transform:translateX(0);visibility:visible;transition:transform .28s ease,visibility 0s}
 header.top nav a{flex:0 0 auto;display:flex;align-items:center;min-height:52px;padding:0 4px;font-family:Fraunces,Georgia,serif;font-weight:600;
  font-size:1.35rem;white-space:normal;overflow:visible;text-overflow:clip;border-top:0;border-bottom:1px solid var(--border)}
 header.top nav a.on{box-shadow:none;color:var(--accent);padding-left:4px}
 header.top nav a.btn{font-family:Inter,system-ui,sans-serif;font-size:1rem;justify-content:center;border-bottom:0;margin-top:16px;width:100%}
 header.top nav a.btn.ghost{margin-top:24px}
 header.top nav a.btn+a.btn{margin-top:10px}
 body:has(.navt:checked){overflow:hidden}
}
@media(max-width:899px) and (max-height:560px){header.top nav a{min-height:44px;font-size:1.15rem}}

/* ---- full-screen maps ---- */
.ss-fs a{display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;color:var(--ink,#16211B);background:#fff}
.ss-map-full{max-height:none!important;min-height:0!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;margin:0!important;border-radius:0!important;z-index:3000!important}
.ss-map-full .ss-map-hint{display:none!important}
html.ss-map-lock,html.ss-map-lock body{overflow:hidden!important}
.ss-map-full .leaflet-top{top:env(safe-area-inset-top,0)}

/* ---- map clusters ---- */
.ss-cluster{display:flex!important;box-sizing:border-box;align-items:center;justify-content:center;border-radius:50%;background:#E8572A;color:#fff;font:700 14px/1 Inter,system-ui,sans-serif;border:3px solid #fff;box-shadow:0 2px 6px rgba(22,33,27,.35)}
.ss-cluster span{pointer-events:none;display:block;line-height:1;text-align:center}
/* trail overlays, legend, my-location */
.ss-legend{background:rgba(255,255,255,.94);border:1px solid var(--border,#ddd);border-radius:10px;padding:6px 9px;font:600 12px/1.35 Inter,system-ui,sans-serif;color:#16211B;box-shadow:0 2px 6px rgba(22,33,27,.2);max-width:150px}
.ss-legend b{display:block;margin-bottom:2px}.ss-legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.ss-legend i{display:inline-block;width:16px;height:4px;border-radius:2px}.ss-legend i.lift{background:repeating-linear-gradient(90deg,#16211B 0 5px,transparent 5px 9px)}
.ss-loc a.on{color:#1C7ED6!important}
.ss-me i{display:block;width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#1C7ED6;border:3px solid #fff;box-shadow:0 0 0 0 rgba(28,126,214,.55);animation:ss-pulse 1.8s infinite}
@keyframes ss-pulse{0%{box-shadow:0 0 0 0 rgba(28,126,214,.55)}70%{box-shadow:0 0 0 14px rgba(28,126,214,0)}100%{box-shadow:0 0 0 0 rgba(28,126,214,0)}}
.ss-map-msg{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:1001;background:rgba(22,33,27,.88);color:#fff;font:600 13px/1.3 Inter,system-ui,sans-serif;padding:7px 12px;border-radius:999px;pointer-events:none;opacity:0;transition:opacity .3s;max-width:86%;text-align:center}
.ss-map-note{font-size:.8rem;color:var(--muted,#5b6660);margin:0 0 1rem}
@media (max-width:600px){.ss-legend{font-size:10px;line-height:1.25;padding:4px 6px}.ss-legend i{width:12px}}
.logo .mark{width:2.1em;height:1.8em;flex:none;margin-right:.4em;margin-top:-.15em}
@media (max-width:600px){.logo .mark{width:1.8em;height:1.55em;margin-right:.3em}}
/* install prompt */
.ss-install{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:2500;max-width:460px;margin:0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border,#ddd);border-radius:14px;box-shadow:0 8px 24px rgba(22,33,27,.18);padding:10px 10px 10px 12px;font:14px/1.3 Inter,system-ui,sans-serif;color:#16211B}
.ss-install img{border-radius:8px;flex:none}.ss-install .t{flex:1;display:flex;flex-direction:column;gap:2px}.ss-install .t span{color:#5b6660;font-size:13px}
.ss-install .go{background:#1F3D2B;color:#fff;border:0;border-radius:999px;padding:9px 14px;font-weight:700;min-height:40px;cursor:pointer}
.ss-install .x{background:none;border:0;font-size:24px;line-height:1;color:#5b6660;min-width:40px;min-height:40px;cursor:pointer}

/* location photo gallery */
.pgal{margin:var(--s4) 0 var(--s5);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1)}
.pgal-stage{position:relative;background:#1a2420}
.pgal-slide{margin:0}
.pgal-slide img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#1a2420}
.pgal-slide figcaption{padding:8px 14px;font-size:var(--fs-xs);color:var(--ink-3);background:var(--surface);border-top:1px solid var(--border)}
.pgal-credit a{color:var(--ink-2)}
.pgal-thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto;scrollbar-width:thin;background:var(--surface-2);border-top:1px solid var(--border)}
.pgal-thumb{flex:none;padding:0;border:2px solid transparent;border-radius:8px;background:transparent;cursor:pointer;line-height:0;min-height:0}
.pgal-thumb img{display:block;width:72px;height:48px;object-fit:cover;border-radius:6px}
.pgal-thumb.on,.pgal-thumb[aria-current=true]{border-color:var(--accent)}
.pgal-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:600px){.pgal-thumb img{width:64px;height:42px}}

/* river flow chart */
.ss-flow-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.ss-flow-btn{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font:600 13px/1 var(--font-body);color:var(--ink-2);cursor:pointer}
.ss-flow-btn.on,.ss-flow-btn[aria-pressed=true]{background:var(--river);border-color:var(--river);color:#fff}
.ss-flow-status{font-size:var(--fs-sm);color:var(--ink-3);margin:0 0 6px}
.ss-flow[data-stale="1"] .ss-flow-status{color:var(--warn);font-weight:600}
.ss-flow-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink-3);margin-top:6px}
.ss-flow-legend i{display:inline-block;width:16px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px}
.ss-flow-legend i.med{background:#b7791f;background:repeating-linear-gradient(90deg,#b7791f 0 4px,transparent 4px 7px)}
.ss-flow-legend i.flow{background:#2b7a9b}
.ss-flow-legend i.band{background:#2f7a3c55;height:10px;width:16px}

.snowtop{list-style:decimal;margin:.4rem 0 0;padding-left:1.25rem}.snowtop li{margin:.4rem 0;overflow:hidden}.snowtop-amt{float:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}

/* powder alerts */
.pa{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px 20px;box-shadow:var(--shadow-1);margin:0 0 var(--s5)}
.pa h2{margin:0 0 6px;font-size:var(--fs-xl)}
.pa .lead{margin:0 0 var(--s4);color:var(--ink-2);max-width:560px}
.pa-grid{display:grid;gap:var(--s3)}
@media(min-width:720px){.pa-grid{grid-template-columns:1.2fr 1fr auto;align-items:end}}
.pa label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}
.pa input[type=email],.pa input[type=search],.pa input[type=text]{min-height:var(--tap);padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);font:500 16px var(--font-body);color:var(--ink);background:var(--surface)}
.pa-resort{position:relative}
.pa-list{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-height:220px;overflow:auto}
.pa-opt{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:#fff;font:500 14px var(--font-body);cursor:pointer}
.pa-opt:hover,.pa-opt:focus{background:var(--snow-soft)}
.pa-th{display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-height:44px}
.pa-th label{flex-direction:row;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--ink);cursor:pointer}
.pa-consent{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--s3)}
.pa-consent input{margin-top:3px}
.pa-status{min-height:1.3em;margin:8px 0 0;font-size:var(--fs-sm);color:var(--money);font-weight:600}
.pa-status:empty{display:none}
.pa .note a{color:var(--river)}

/* SafetyWing affiliate callout */
aside.sw, .sw.card{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--accent-soft),var(--surface));}
aside.sw h2, .sw.card h2{font-size:var(--fs-lg)}

.sw-mini{margin:.4rem 0 0;font-size:.85rem}
.sw-banner{margin:0.75rem 0 1rem;padding:.85rem 1rem}
.sw-travel p{margin:.4rem 0}

.gear-aff{margin:1rem 0 .5rem}

/* Guides marketplace */
.guides-hub .lead,.guides-manual .lead{font-size:var(--fs-lg);color:var(--ink-2);max-width:640px}
.crumb{font-size:var(--fs-sm);color:var(--ink-3);margin:0 0 var(--s3)}.crumb a{color:var(--ink-3)}
.callout{border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;margin:0 0 var(--s5);background:var(--surface-2);font-size:var(--fs-sm);line-height:1.45}
.callout.warn{border-left:3px solid var(--accent);background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
.toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 18px;margin:0 0 var(--s5)}
.toc strong{display:block;margin-bottom:6px;font-size:var(--fs-sm)}
.toc ol{margin:0;padding-left:1.2rem;font-size:var(--fs-sm)}
.toc li{margin:4px 0}
.checklist{padding-left:1.2rem}.checklist li{margin:8px 0}
.guides-manual h3{margin-top:var(--s5)}
.guides-manual table{font-size:var(--fs-sm)}
.ga .ga-fields{display:grid;gap:var(--s3);margin-bottom:var(--s3)}
@media(min-width:720px){.ga .ga-fields{grid-template-columns:1fr 1fr}}
.ga .ga-fields label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3)}
.ga .ga-fields input,.ga .ga-fields textarea{min-height:var(--tap);padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);font:500 16px var(--font-body);color:var(--ink);background:var(--surface);width:100%}
.ga .ga-fields textarea{min-height:88px;resize:vertical}
.ga-status{min-height:1.3em;margin:10px 0 0;font-size:var(--fs-sm);font-weight:600}
.ga-status.ok{color:var(--money)}.ga-status.err{color:#9B2C2C}
.ga .btn{margin-top:var(--s3)}
.cards.g3{display:grid;grid-template-columns:1fr;gap:var(--s4)}
@media(min-width:720px){.cards.g3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ga .ga-fields select{min-height:var(--tap);padding:0 12px;border:1px solid var(--border);border-radius:var(--r-md);font:500 16px var(--font-body);color:var(--ink);background:var(--surface);width:100%}

/* ---- mobile footer + page-bottom breathing room ---- */
@media(max-width:899px){
  footer{margin-top:var(--s7)}
  footer .in{padding-top:var(--s6);padding-bottom:calc(var(--s7) + env(safe-area-inset-bottom,0px))}
  footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6) var(--s4);align-items:start}
  footer .cols>div:first-child{grid-column:1/-1;padding-bottom:var(--s5);margin-bottom:var(--s3);border-bottom:1px solid var(--border)}
  footer .cols>div:first-child .logo{white-space:nowrap}
  footer .cols>div:first-child p{margin-top:var(--s3);max-width:none;line-height:1.6}
  footer .cols b{margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--border)}
  footer .cols a{min-height:44px}
  footer .legal{margin-top:var(--s6);padding-top:var(--s5);font-size:12.5px;line-height:1.7}
  footer .legal p{margin:0 0 16px;max-width:40rem}
  /* space the last main blocks so they don't pile into the footer */
  main.in{padding-bottom:var(--s6)}
  main.in>section:last-of-type,.cta{margin-bottom:0}
  .news{margin:var(--s7) 0;padding:32px 22px}
  .news h2,.news h3{margin:0 0 10px}
  .news p{margin:0 0 14px}
  .news .bh{margin:4px 0 8px}
  .news .sig{margin-top:var(--s4)}
  .cta{margin:var(--s7) 0 0;padding:28px 22px;gap:var(--s4)}
  .cta .btn{width:100%}
  /* keep section rhythm airy above the footer */
  main.in>section{margin:var(--s7) 0}
}
@media(max-width:480px){
  /* single column on the smallest phones — avoids cramped side-by-side link lists */
  footer .cols{grid-template-columns:1fr;gap:var(--s6)}
  footer .cols>div:first-child{padding-bottom:var(--s4);margin-bottom:0}
}
/* Awin travel affiliate callouts */
aside.aff-travel{border-left:3px solid var(--ink-3,#78716c);}
aside.aff-travel h2{font-size:var(--fs-lg)}
