:root{
  --rock:#E4E8E5; --snow:#F6F7F5; --spruce:#173A32; --spruce-2:#24564A; --ink:#16211E;
  --muted:#55625E; --line:#C7CFCA; --signpost:#F2C230;
  --t-red:#C42A22; --t-blue:#1D5AA6; --t-green:#2B8648; --t-yellow:#E4B21C; --t-black:#1B1B1B;
  --display:"Barlow Condensed", "Arial Narrow", sans-serif;
  --ui:"Barlow", system-ui, sans-serif;
  --serif:"Source Serif 4", Georgia, serif;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--rock);color:var(--ink);font:400 1.0625rem/1.55 var(--ui);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--spruce-2);text-underline-offset:3px}
a:hover{color:var(--t-red)}
:focus-visible{outline:3px solid var(--t-blue);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.005em;margin:0 0 .4em}
h1{font-size:clamp(2.6rem,6vw,4.75rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:1.6rem}
h4{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 14px;z-index:99}
.skip:focus{left:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- header ---------- */
.site-header{background:var(--spruce);color:var(--snow);position:sticky;top:0;z-index:40}
.site-header .wrap{display:flex;align-items:center;gap:24px;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--snow);text-decoration:none;font:700 1.7rem/1 var(--display);letter-spacing:.01em}
.brand:hover{color:var(--snow)}
.brand svg{width:34px;height:34px}
.nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.nav a{color:#D6E2DD;text-decoration:none;padding:8px 12px;border-radius:3px;font-weight:500}
.nav a:hover,.nav a[aria-current=page]{color:#fff;background:rgba(255,255,255,.09)}
.nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--signpost)}
.nav .cart-link{background:var(--signpost);color:var(--ink);font-weight:600;margin-left:8px}
.nav .cart-link:hover{background:#ffd24a;color:var(--ink)}
.cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--ink);color:#fff;font-size:.8rem;margin-left:6px;padding:0 6px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 12px;border-radius:3px;font:600 1rem var(--ui)}
@media (max-width:960px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--spruce);flex-direction:column;align-items:stretch;padding:8px var(--gut) 20px;border-top:1px solid rgba(255,255,255,.1)}
  .nav.open{display:flex}
  .nav a{padding:12px}
  .nav .cart-link{margin:8px 0 0}
}

/* ---------- trail marker (PTTK style) ---------- */
.marker{display:inline-block;width:30px;height:20px;background:linear-gradient(#fff 0 30%,var(--c,var(--t-red)) 30% 70%,#fff 70%);border:1px solid rgba(0,0,0,.15);vertical-align:middle;flex:none}
.marker.red{--c:var(--t-red)}.marker.blue{--c:var(--t-blue)}.marker.green{--c:var(--t-green)}.marker.yellow{--c:var(--t-yellow)}.marker.black{--c:var(--t-black)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(86vh,760px);display:grid;align-items:end;color:#fff;overflow:hidden;background:var(--spruce)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,32,27,.86) 0%,rgba(14,32,27,.5) 45%,rgba(14,32,27,.05) 80%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;padding-top:80px;padding-bottom:72px;width:100%}
.hero h1{max-width:13ch}
.hero .lead{font-size:1.2rem;max-width:46ch;color:#E3ECE8}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px}}

/* signpost: the memorable element */
.signpost{display:flex;flex-direction:column;gap:8px;align-self:center;justify-self:end;width:min(100%,420px);position:relative;padding-left:22px}
.signpost::before{content:"";position:absolute;left:0;top:-30px;bottom:-200px;width:12px;background:linear-gradient(90deg,#6b6f6d,#9aa09d 40%,#5c605e);border-radius:2px}
.plate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--signpost);color:var(--ink);text-decoration:none;padding:12px 40px 12px 14px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%);font-family:var(--display);box-shadow:0 2px 0 rgba(0,0,0,.25);transform-origin:left center}
.plate:hover{color:var(--ink);background:#ffd24a}
.plate .dest{font-size:1.45rem;font-weight:700;line-height:1}
.plate .dest small{display:block;font:500 .85rem/1.3 var(--ui);color:#4a4220}
.plate .time{font-size:1.3rem;font-weight:600;white-space:nowrap}
.plate.head{background:#fff;clip-path:none;padding:10px 14px;grid-template-columns:1fr auto}
.plate.head .dest{font-size:1.25rem}
.plate.head .time{font:500 .9rem var(--ui)}
@media (prefers-reduced-motion:no-preference){
  .plate{animation:swing .8s cubic-bezier(.16,1,.3,1) backwards}
  .plate:nth-child(2){animation-delay:.15s}.plate:nth-child(3){animation-delay:.25s}.plate:nth-child(4){animation-delay:.35s}.plate:nth-child(5){animation-delay:.45s}
  @keyframes swing{from{opacity:0;transform:perspective(600px) rotateY(-55deg)}}
}
@media (max-width:900px){.signpost{justify-self:start}.signpost::before{bottom:-80px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 1.02rem/1 var(--ui);padding:14px 22px;border-radius:3px;border:2px solid transparent;text-decoration:none;cursor:pointer;background:var(--t-red);color:#fff}
.btn:hover{background:#a8221b;color:#fff}
.btn.ghost{background:transparent;border-color:currentColor;color:inherit}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.dark{background:var(--spruce);color:#fff}
.btn.dark:hover{background:var(--spruce-2)}
.btn.small{padding:9px 14px;font-size:.93rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* ---------- sections ---------- */
.section{padding:clamp(56px,8vw,104px) 0}
.section.snow{background:var(--snow)}
.section.dark{background:var(--spruce);color:#E8F0EC}
.section.dark h2,.section.dark h3{color:#fff}
.section.dark a{color:var(--signpost)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.sec-head p{max-width:60ch;color:var(--muted);margin:0}
.dark .sec-head p{color:#B9CBC4}
.page-head{background:var(--spruce);color:#fff;padding:64px 0 48px;position:relative;overflow:hidden}
.page-head.photo{padding:120px 0 56px}
.page-head.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.page-head .wrap{position:relative}
.page-head p{max-width:62ch;color:#D5E2DC;font-size:1.15rem}
.crumbs{font-size:.92rem;color:#E3ECE8;margin-bottom:14px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.crumbs a{color:#DCE8E3}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:28px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

.gear-tile{background:var(--snow);display:flex;flex-direction:column;border-top:4px solid var(--c,var(--spruce))}
.gear-tile .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.gear-tile h3{font-size:1.4rem;margin:0}
.gear-tile h3 a{color:var(--ink);text-decoration:none}
.gear-tile h3 a:hover{color:var(--t-red)}
.gear-tile .meta{color:var(--muted);font-size:.93rem}
.gear-tile .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;gap:8px}
.price{font:700 1.5rem/1 var(--display)}
.price small{font:500 .85rem var(--ui);color:var(--muted)}
.cat-winter{--c:var(--t-blue)}.cat-climb{--c:var(--t-red)}.cat-ski{--c:var(--t-black)}.cat-trek{--c:var(--t-green)}.cat-camp{--c:#8A6A1C}

.trip{display:grid;grid-template-columns:260px 1fr;background:var(--snow);min-height:200px}
.trip img{width:100%;height:100%;object-fit:cover}
.trip .body{padding:20px 24px;display:flex;flex-direction:column;gap:8px}
.trip h3{margin:0;font-size:1.6rem}
.trip h3 a{color:var(--ink);text-decoration:none}
.trip .facts{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.95rem;color:var(--muted)}
.trip .facts b{color:var(--ink);font-weight:600}
.trip .tags{display:flex;gap:8px;align-items:center;margin-top:auto;flex-wrap:wrap}
@media (max-width:700px){.trip{grid-template-columns:1fr}.trip img{aspect-ratio:16/9}}
.sac{display:inline-block;font:700 .9rem/1 var(--display);padding:5px 8px;border-radius:2px;color:#fff;background:var(--spruce);letter-spacing:.03em}
.sac.t1{background:var(--t-green)}.sac.t2{background:var(--t-blue)}.sac.t3{background:var(--t-red)}.sac.t4,.sac.t5{background:var(--t-black)}
.chip{display:inline-block;font-size:.85rem;padding:4px 10px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--muted)}

.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.feature.rev{grid-template-columns:1fr 1.1fr}
.feature.rev>figure{order:2}
.feature figure{margin:0}
.feature figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{font-size:.88rem;color:var(--muted);margin-top:8px}
@media (max-width:860px){.feature,.feature.rev{grid-template-columns:1fr;gap:28px}.feature.rev>figure{order:0}}

.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink)}
.steps li{list-style:none;padding:24px 24px 0 0;counter-increment:s}
.steps li::before{content:counter(s);display:block;font:700 3.2rem/1 var(--display);color:var(--t-red);margin-bottom:10px}
.steps h3{font-size:1.4rem}
.steps p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.quote{font:400 italic clamp(1.4rem,2.6vw,2rem)/1.35 var(--serif);max-width:36ch;margin:0}
.quote+cite{display:block;margin-top:16px;font-style:normal;color:var(--muted)}


/* ---------- prose ---------- */
.prose{font-family:var(--serif);font-size:1.12rem;line-height:1.7;max-width:68ch}
.prose h2{font-family:var(--display);margin-top:1.6em;font-size:2.2rem}
.prose h3{font-family:var(--display);margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.prose figure{margin:2em 0}
.prose figure img{width:100%}
.prose blockquote{margin:1.8em 0;padding:0 0 0 1.2em;font:italic 400 1.35rem/1.45 var(--serif);color:var(--spruce);text-indent:-.45em}
.prose blockquote::before{content:"„"}.prose blockquote::after{content:"”"}
.callout{font-family:var(--ui);font-size:1rem;line-height:1.55;background:#FBF4DC;border:1px solid #EAD9A0;border-radius:4px;padding:16px 18px 16px 52px;margin:1.6em 0;position:relative;color:var(--ink)}
.callout .ui-ico{position:absolute;left:18px;top:18px;width:22px;height:22px;color:#8A6A00}
.callout.danger{background:#FBE9E7;border-color:#F0C3BE}
.callout.danger .ui-ico{color:var(--t-red)}
.callout strong{display:block;font-family:var(--display);font-size:1.25rem;margin-bottom:4px}
.with-toc{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:96px;font-size:.95rem}
.toc ol{padding-left:1.1em;margin:0}
.toc li{margin:0 0 8px}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--t-red)}
.toc h4{font-size:1.1rem}
@media (max-width:900px){.with-toc{grid-template-columns:1fr}.toc{position:static}}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.97rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:600 .92rem var(--ui);background:var(--snow);color:var(--muted)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.danger-scale td:first-child{width:72px;font:700 1.8rem/1 var(--display);color:#fff;text-align:center}
.lv1{background:#CCFF66;color:var(--ink)!important}.lv2{background:#FFFF00;color:var(--ink)!important}.lv3{background:#FF9900}.lv4{background:#FF0000}.lv5{background:#000}

/* ---------- forms ---------- */
.form{display:grid;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:.95rem}
.field .hint{font-size:.85rem;color:var(--muted)}
input,select,textarea{font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--t-blue);outline:none;box-shadow:0 0 0 3px rgba(29,90,166,.18)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--t-red)}
.field .msg{color:var(--t-red);font-size:.88rem;min-height:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:600px){.row2{grid-template-columns:1fr}}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.97rem}
.check input{width:auto;margin-top:4px}

/* ---------- filters ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;align-items:center}
.filters button{font:500 .95rem var(--ui);padding:8px 14px;border:1.5px solid var(--line);background:#fff;border-radius:20px;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.filters select{width:auto}
.filters .count{margin-left:auto;color:var(--muted);font-size:.95rem}

/* ---------- reservation ---------- */
.res-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.summary{position:sticky;top:92px;background:#fff;padding:24px;border-top:6px solid var(--signpost)}
.summary h3{margin-bottom:12px}
.sum-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.97rem}
.sum-line.total{border-top:2px solid var(--ink);margin-top:8px;padding-top:12px;font:700 1.5rem var(--display)}
.qty{display:flex;align-items:center;gap:4px}
.qty span{min-width:24px;text-align:center;font-weight:600}
.empty{padding:32px;background:#fff;text-align:center;color:var(--muted)}
.panel{background:var(--snow);padding:28px}
.panel+.panel{margin-top:24px}
.confirm{background:#fff;padding:40px;border-top:6px solid var(--t-green)}
@media (max-width:1000px){.res-layout{grid-template-columns:1fr}.summary{position:static}}

/* ---------- product ---------- */
.product{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.thumbs img{aspect-ratio:4/3;object-fit:cover}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:20px 0}
.specs dt{color:var(--muted)}
.specs dd{margin:0;font-weight:500}
@media (max-width:860px){.product{grid-template-columns:1fr}}

/* ---------- gallery ---------- */
.masonry{columns:3 280px;column-gap:16px}
.masonry figure{margin:0 0 16px;break-inside:avoid;position:relative}
.masonry button{padding:0;border:0;background:none;cursor:zoom-in;display:block;width:100%}
.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));margin:0;font-size:.9rem}
.lightbox{position:fixed;inset:0;background:rgba(10,18,16,.94);display:none;place-items:center;z-index:100;padding:24px}
.lightbox.open{display:grid}
.lightbox img{max-height:82vh;width:auto;max-width:100%}
.lightbox p{color:#dfe8e4;text-align:center;margin-top:12px}
.lb-close{top:16px;right:16px}.lb-prev{left:16px;top:50%}.lb-next{right:16px;top:50%}

/* ---------- accordion ---------- */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;padding:16px 32px 16px 0;font:600 1.12rem var(--ui);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq details p{color:var(--muted);max-width:70ch}

/* ---------- elevation profile ---------- */
.profile{background:#fff;padding:20px}
.profile svg{width:100%;height:auto}
.stages{border-left:3px solid var(--t-red);margin:0;padding:0 0 0 24px;list-style:none}
.stages li{position:relative;padding-bottom:22px}
.stages li::before{content:"";position:absolute;left:-32px;top:6px;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--t-red)}
.stages b{font:700 1.25rem var(--display)}
.stages .t{color:var(--muted);font-size:.93rem}
.checklist{list-style:none;padding:0;columns:2 240px}
.checklist li{break-inside:avoid;padding:6px 0 6px 30px;position:relative}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#B8C4C0;padding:64px 0 28px;font-size:.96rem}
.site-footer a{color:#DCE6E2;text-decoration:none}
.site-footer a:hover{color:var(--signpost)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.site-footer h4{color:#fff;font-size:1.25rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:8px}
.emergency{background:var(--t-red);color:#fff;padding:16px 18px;margin-top:8px}
.emergency b{font:700 2rem/1 var(--display);display:block}
.foot-bottom{border-top:1px solid #2c3936;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:14px 20px;border-radius:3px;z-index:120;transition:transform .3s;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.toast.show{transform:translate(-50%,0)}
.toast a{color:var(--signpost);margin-left:10px}
.map-art{background:#DCE3DF;aspect-ratio:4/3;position:relative;overflow:hidden}
.map-art svg{width:100%;height:100%}
.with-toc>*,.grid>*,.feature>*,.res-layout>*,.product>*{min-width:0}
[hidden]{display:none!important}

/* ================= polish pass ================= */
h1,h2,h3,h4{text-wrap:balance}
p,li,dd,figcaption,td{text-wrap:pretty}
.prose{hyphens:auto}
::selection{background:var(--signpost);color:var(--ink)}
input,textarea{caret-color:var(--t-red)}
input[type=checkbox],input[type=radio]{accent-color:var(--spruce)}
html{scrollbar-color:#8FA39B var(--rock)}
.price,.sum-line,.timetable td,.board td,td.num{font-variant-numeric:tabular-nums}
.dark :focus-visible,.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible,.page-head :focus-visible{outline-color:var(--signpost)}
.ui-ico{width:20px;height:20px;flex:none}

/* gear photos */
.gear-tile .photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#fff}
.gear-tile .photo img{width:100%;height:100%;object-fit:cover}
.gear-tile .meta{text-wrap:pretty}
.photo-big{margin:0;background:#fff}
.photo-big img{width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-big figcaption,.credit{font-size:.82rem;color:var(--muted);padding:8px 0 0}
.photo-big figcaption a{color:var(--muted)}
.stock-line{font-weight:600;margin:14px 0 0;min-height:1.5em}
.stock-line.ok{color:var(--t-green)}.stock-line.low{color:#9A6B00}.stock-line.out{color:var(--t-red)}

/* bundles */
.bundle{background:#fff;padding:24px;border-top:4px solid var(--c);display:flex;flex-direction:column;gap:6px}
.bundle ul{margin:4px 0 6px;padding-left:1.1em}
.bundle li{margin:2px 0}
.bundle .note{color:var(--muted);font-size:.95rem}
.bundle-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:8px}

/* opening hours band */
.hours,.hours-band{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.hours p{color:#C9D8D2;max-width:48ch}
.board{background:transparent}
.board table{color:#fff}
.board th{background:transparent;color:var(--signpost);border-bottom:2px solid var(--signpost);font-family:var(--display);font-size:1.05rem;font-weight:600}
.board td{border-bottom:1px solid rgba(255,255,255,.14);font-size:1.02rem}
.board td+td{font-family:var(--display);font-size:1.35rem;font-weight:600;white-space:nowrap}
@media (max-width:860px){.hours,.hours-band{grid-template-columns:1fr;gap:28px}}

/* stages meta */
.stages .t{display:flex;flex-wrap:wrap;gap:4px 16px;margin:2px 0 6px}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.team>div{padding:22px 28px 0 0}
.team>div+div{padding-left:28px;border-left:1px solid var(--line)}
.team .role{color:var(--t-red);font-weight:600;margin:-4px 0 8px}
.team p:last-child{color:var(--muted)}
@media (max-width:860px){.team{grid-template-columns:1fr}.team>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* credits */
.credits{columns:2 320px;column-gap:40px;padding:0;list-style:none;font-size:.92rem;color:var(--muted)}
.credits li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--line)}

/* forms */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{background:#FBE9E7;border:1px solid #F0C3BE;color:#8E1C16;padding:12px 14px;border-radius:4px;margin:14px 0 0;font-size:.95rem}
.btn.loading{opacity:.75;cursor:progress}
.confirm h2:focus,.confirm:focus{outline:none}

/* cart */
.cart-item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:96px;height:72px;object-fit:cover;background:#fff}
.cart-item .ci-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.cart-item .ci-body a{color:var(--ink);text-decoration:none}
.cart-item .ci-body a:hover{color:var(--t-red)}
.ci-meta{color:var(--muted);font-size:.9rem}
.cart-item select{width:auto;padding:6px 8px;font-size:.92rem;align-self:flex-start}
.item-warn{color:var(--t-red);font-size:.9rem;font-weight:600;margin:2px 0 0}
.cart-item.short img{opacity:.6}
.qty button{width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--line);background:#fff;border-radius:4px;cursor:pointer;color:var(--ink)}
.qty button:hover{border-color:var(--ink)}
.qty button:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:520px){.cart-item{grid-template-columns:72px 1fr}.cart-item img{width:72px;height:54px}.cart-item .qty{grid-column:2}}

/* lightbox controls */
.lightbox button{position:absolute;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;border:0;width:52px;height:52px;border-radius:26px;cursor:pointer}
.lightbox button:hover{background:rgba(255,255,255,.24)}
.lightbox .ui-ico{width:26px;height:26px}
.lb-prev,.lb-next{transform:translateY(-50%)}

/* faq toggle drawn, not a glyph */
.faq summary::before,.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:16px;height:2px;background:var(--t-red);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}

/* checklist */
.checklist li{cursor:pointer;border-radius:3px}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border:2px solid var(--spruce);border-radius:3px;background:#fff}
.checklist li.req::before{border-width:3px}
.checklist li[aria-checked=true]{color:var(--muted);text-decoration:line-through}
.checklist li[aria-checked=true]::before{background:var(--spruce) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}

/* footer */
.foot-links{display:flex;gap:20px;flex-wrap:wrap}

/* touch targets */
@media (pointer:coarse){.filters button,.filters select{min-height:44px}.nav a{min-height:44px;display:flex;align-items:center}}
.empty.filter-empty{margin-top:8px}
.toast{display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px)}
.signpost.short::before{top:-20px;bottom:-28px}
@media (min-width:861px){.product>div:first-child{position:sticky;top:92px;align-self:start}}
@media (max-width:900px){.hero::after{background:linear-gradient(180deg,rgba(14,32,27,.62) 0%,rgba(14,32,27,.8) 45%,rgba(14,32,27,.92) 100%)}}

/* a11y pass (detector) */
.toc-title{font-family:var(--display);font-size:1.1rem;margin:0 0 .6em}
.lv3{color:var(--ink)!important}
.photo-big figcaption,.credit,figcaption{font-size:.875rem}
.with-toc>div>p,.with-toc>div>.prose{max-width:68ch}
.page-head.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,58,50,.35) 0%,rgba(23,58,50,.82) 100%)}
.page-head.photo .wrap{z-index:1}
.hero h1{font-size:clamp(2.5rem,4.6vw,3.9rem);max-width:15ch}
.with-toc>div>p.prose,.feature .prose,.feature>div>p{max-width:60ch}
h2.h3{font-size:1.6rem}
.stock-line.ok{color:#1E6B37}
