/* ============ Шрифты (свои копии) ============ */
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:600;font-display:swap;src:url(fonts/firasansextracondensed-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:600;font-display:swap;src:url(fonts/firasansextracondensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:800;font-display:swap;src:url(fonts/firasansextracondensed-800-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Fira Sans Extra Condensed';font-weight:800;font-display:swap;src:url(fonts/firasansextracondensed-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Golos Text';font-weight:400 700;font-display:swap;src:url(fonts/golostext-400-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:400 700;font-display:swap;src:url(fonts/golostext-400-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Caveat';font-weight:600 700;font-display:swap;src:url(fonts/caveat-600-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Caveat';font-weight:600 700;font-display:swap;src:url(fonts/caveat-600-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+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

/* ============ Токены ============ */
:root{
  --paper:#f1eadc; --paper-2:#e7dcc6; --card:#f8f3e8;
  --ink:#1b1a17; --ink-2:#3a3630; --muted:#625b4f; --line:#d3c6ab;
  --basalt:#181715; --basalt-2:#23211d; --basalt-3:#2f2c27; --on-dark:#ece5d6; --on-dark-2:#b5ac9a;
  --apricot:#d9772f; --apricot-2:#e89452; --rust:#a4481a; --moss:#56684a;
  --display:'Fira Sans Extra Condensed','Arial Narrow',sans-serif;
  --sans:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --hand:'Caveat','Segoe Print',cursive;
  --r:18px; --gut:20px; --max:1180px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
/* бумажное зерно поверх всего */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.07;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:.95}
h2{font-size:clamp(44px,7.4vw,92px)}
h3{font-size:clamp(26px,3vw,32px);line-height:1}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
section{position:relative;scroll-margin-top:70px}
.sec{padding:clamp(72px,10vw,128px) 0}
.kicker{display:flex;align-items:center;gap:12px;font:600 15px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.kicker::before{content:"";width:34px;height:2px;background:currentColor}
.hand{font-family:var(--hand);font-weight:700;color:var(--rust);line-height:1.05;text-transform:none;letter-spacing:0}
.lead{font-size:clamp(17px,1.6vw,19px);color:var(--muted);max-width:56ch}
.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,56px)}
.head--split{grid-template-columns:1fr;align-items:end}
@media (min-width:900px){.head--split{grid-template-columns:1.1fr .9fr;gap:48px}}
.dark{background:var(--basalt);color:var(--on-dark)}
.dark .kicker{color:var(--apricot-2)}
.dark .lead{color:var(--on-dark-2)}
.dark .hand{color:var(--apricot-2)}
.topo{background-image:url(img/topo.svg);background-size:1200px auto;background-position:center}
.topo-soft{position:relative}
.topo-soft::before{content:"";position:absolute;inset:0;background:url(img/topo.svg) center/1300px auto;opacity:.09;pointer-events:none}
.dark.topo-soft::before{filter:invert(1);opacity:.06}
.topo-soft>*{position:relative}

/* ============ Кнопки ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:2px solid transparent;
  font:800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:transform .2s var(--ease),background .2s,color .2s,box-shadow .2s}
.btn svg{width:20px;height:20px;flex:none}
.btn--fill{background:var(--apricot);color:var(--ink);box-shadow:0 10px 26px -12px rgba(217,119,47,.9)}
.btn--fill:hover{background:var(--apricot-2);transform:translateY(-2px)}
.btn--line{border-color:rgba(255,255,255,.75);color:#fff}
.btn--line:hover{background:#fff;color:var(--ink)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:#000;transform:translateY(-2px)}
:focus-visible{outline:3px solid var(--apricot);outline-offset:3px;border-radius:6px}

/* ============ Шапка ============ */
.top{position:fixed;top:0;left:0;right:0;z-index:50;color:#fff;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.top.is-solid{background:rgba(24,23,21,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:40px;height:40px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.brand b{font:800 22px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.brand span{display:block;font:700 17px/1 var(--hand);color:var(--apricot-2);margin-top:1px}
.top nav{display:none;gap:28px;font:600 16px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.top nav a{text-decoration:none;opacity:.82;transition:opacity .2s}
.top nav a:hover{opacity:1}
.top .btn{min-height:44px;padding:0 18px;font-size:15px}
@media (min-width:920px){.top nav{display:flex}}

/* ============ Первый экран ============ */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:var(--basalt);overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 56%;transform-origin:60% 40%;filter:brightness(.74) saturate(.92) contrast(1.04);animation:kb 22s var(--ease) both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(17,16,14,.86) 0%,rgba(17,16,14,.62) 38%,rgba(17,16,14,.18) 70%,rgba(17,16,14,0) 100%),
  linear-gradient(180deg,rgba(17,16,14,.55) 0%,rgba(17,16,14,0) 20%,rgba(17,16,14,0) 55%,rgba(17,16,14,.85) 100%)}
@media (max-width:760px){.hero::after{background:linear-gradient(180deg,rgba(17,16,14,.6) 0%,rgba(17,16,14,.35) 25%,rgba(17,16,14,.62) 55%,rgba(17,16,14,.92) 100%)}}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:110px;padding-bottom:36px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 14px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:#efe6d4;margin-bottom:20px}
.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--apricot);display:inline-block}
.hero h1{font-size:clamp(54px,11vw,150px);line-height:.87;letter-spacing:-.005em;max-width:11ch;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero .hand{display:inline-block;font-size:clamp(30px,4.6vw,58px);color:#f7ecd9;transform:rotate(-2.5deg);transform-origin:left;margin:14px 0 0 4px;padding-bottom:12px;text-shadow:0 2px 14px rgba(0,0,0,.55);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9 C 60 3, 120 12, 180 6 S 270 4, 297 8' fill='none' stroke='%23e08a3c' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/100% 14px no-repeat}
.hero .lead{color:#f1ebdf;margin:26px 0 30px;max-width:48ch;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:clamp(34px,6vh,64px);border-top:1px solid rgba(255,255,255,.22);padding-top:20px}
.plates div{display:grid;gap:4px}
.plates b{font:800 clamp(26px,3.4vw,40px)/1 var(--display);text-transform:uppercase;color:#fff}
.plates span{font-size:14px;line-height:1.35;color:#e2dacb}
@media (max-width:560px){.plates{grid-template-columns:1fr 1fr}.plates div:last-child{grid-column:span 2}}

/* ============ Три направления ============ */
.ways{display:grid;gap:18px}
.way{position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:26px 26px 28px;display:grid;gap:12px;align-content:start;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.way:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(27,26,23,.45);border-color:var(--ink-2)}
.way img{width:130px;height:130px;margin:-6px 0 2px -8px;transition:transform .5s var(--ease)}
.way:hover img{transform:rotate(-4deg) scale(1.05)}
.way p{color:var(--muted)}
.way .go{font:800 15px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-top:6px}
.way .num{position:absolute;top:22px;right:24px;font:800 15px/1 var(--display);letter-spacing:.14em;color:var(--line)}
@media (min-width:860px){.ways{grid-template-columns:repeat(3,1fr)}}

/* ============ Схема ============ */
.mapbox{display:grid;gap:28px;align-items:center}
@media (min-width:960px){.mapbox{grid-template-columns:.8fr 1.2fr;gap:56px}}
.mapcard{position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:24px;padding:14px;overflow:hidden}
.mapcard::before{content:"";position:absolute;inset:0;background:url(img/topo.svg) 30% 40%/900px auto;opacity:.14}
.map{position:relative;width:100%;height:auto;display:block}
.map .lake{fill:#a9c0c4;opacity:.55;stroke:#7d989c;stroke-width:1.5}
.map .lk{font:700 20px var(--hand);fill:#56787d}
.map .rt{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.012 .014;stroke:var(--ink-2)}
.map .rt-hike{stroke:var(--apricot);stroke-width:3.2}
.map .rt-visa{stroke:var(--moss)}
.map .pt{fill:var(--card);stroke:var(--ink);stroke-width:3}
.map .pt-hike{fill:var(--apricot);stroke:var(--ink)}
.map .pt-visa{fill:var(--moss);stroke:var(--ink)}
.map a:hover .pt{r:9}
.map .lb{font:800 19px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;fill:var(--ink)}
.map .hub{fill:var(--apricot);stroke:var(--ink);stroke-width:3.5}
.map .hub-ring{fill:none;stroke:var(--apricot);stroke-width:2;opacity:.6;transform-origin:center;transform-box:fill-box;animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.9);opacity:0}}
.map .hubl{font:800 26px/1 var(--display);letter-spacing:.08em;fill:var(--ink)}
.js .map .rt{stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}
.js .map.is-in .rt{stroke-dashoffset:0}
.mapnote{position:absolute;font:700 24px/1.05 var(--hand);color:var(--rust);pointer-events:none}
.mapnote--a{left:5%;top:4%;transform:rotate(-3deg)}
.mapnote--b{left:4%;bottom:5%;transform:rotate(-3deg)}
.mapcap{position:absolute;right:16px;top:12px;font:600 12px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.legend{display:grid;gap:12px;margin-top:26px;padding:0;list-style:none}
.legend li{display:flex;align-items:center;gap:12px;font-weight:500}
.legend i{width:16px;height:16px;border-radius:50%;border:3px solid var(--ink);flex:none;background:var(--card)}
.legend i.h{background:var(--apricot)}
.legend i.v{background:var(--moss)}
@media (max-width:600px){.mapnote{font-size:18px}.map .lb{font-size:30px}.map .hubl{font-size:30px}.map .pt{r:9}.map .lk{font-size:30px}}

/* ============ Билеты ============ */
.tickets{display:grid;gap:16px}
@media (min-width:680px){.tickets{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.tickets{grid-template-columns:repeat(3,1fr)}}
.ticket{--bg:var(--card);position:relative;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.ticket:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(27,26,23,.5)}
.ticket__body{padding:22px 24px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.ticket .route{font:600 14px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.ticket .route svg{width:22px;height:10px;flex:none}
.ticket h3{font-size:clamp(28px,3vw,34px)}
.ticket p{color:var(--muted);font-size:16px;line-height:1.55}
.ticket__stub{position:relative;padding:16px 24px 20px;border-top:2px dashed var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.ticket__stub::before,.ticket__stub::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line)}
.ticket__stub::before{left:-12px;clip-path:inset(0 0 0 50%)}
.ticket__stub::after{right:-12px;clip-path:inset(0 50% 0 0)}
.ticket__stub b{font:800 38px/1 var(--display);letter-spacing:.01em}
.ticket__stub span{font:600 15px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ticket__stub small{flex-basis:100%;font-size:14px;color:var(--muted);margin-top:4px}
.ticket__stub small em{font-style:normal;font-weight:600;color:var(--rust)}
.ticket__stub .ask{font:700 32px/1 var(--hand);color:var(--rust);text-transform:none;letter-spacing:0}
.ticket--photo .ph{position:relative;aspect-ratio:16/10;border-radius:calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0;overflow:hidden}
.ticket--photo .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ticket--photo:hover .ph img{transform:scale(1.05)}
.ticket--wide{grid-column:1/-1}
@media (min-width:1040px){.ticket--wide{grid-column:span 2;flex-direction:row}.ticket--wide .ph{aspect-ratio:auto;width:52%;border-radius:calc(var(--r) - 2px) 0 0 calc(var(--r) - 2px)}.ticket--wide .side{display:flex;flex-direction:column;flex:1}}
.ticket .badge{position:absolute;top:16px;left:16px;z-index:2;font:800 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;background:var(--apricot);color:var(--ink);padding:8px 11px;border-radius:999px}
.note{display:flex;gap:16px;align-items:center;margin-top:22px;padding:18px 22px;border-radius:var(--r);background:var(--ink);color:var(--on-dark)}
.note img{width:64px;height:64px;flex:none}
.note b{color:#fff}
.note{padding:22px 24px;gap:20px}
.note img{width:84px;height:84px}
.note__txt{flex:1;display:grid;gap:6px}
.note__h{font:800 clamp(24px,2.6vw,30px)/1.05 var(--display);text-transform:uppercase;color:#fff}
.note__txt p:not(.note__h){color:var(--on-dark-2);font-size:16px}
.note .hand{font-size:clamp(24px,2.4vw,30px);color:var(--apricot-2);transform:rotate(-2deg);transform-origin:left;margin-top:2px}
.note .btn{flex:none}
.tickets .note{grid-column:1/-1;margin-top:0}
@media (min-width:1040px){.tickets .note{grid-column:span 2}}
@media (max-width:700px){.note{flex-direction:column;align-items:flex-start}.note img{width:64px;height:64px}.note .btn{width:100%}}

/* ============ Походы ============ */
.alt{display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:10px;height:230px;margin:6px 0 46px;padding-bottom:0;border-bottom:1.5px solid rgba(255,255,255,.2)}
.alt div{position:relative;height:var(--h);display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.alt svg{width:100%;height:100%;display:block}
.alt .m{fill:var(--basalt-3)}
.alt .s{fill:var(--apricot)}
.alt b{position:absolute;top:-34px;font:800 26px/1 var(--display);color:#fff}
.alt span{position:absolute;top:calc(100% + 10px);font:600 13px/1.15 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2);text-align:center}
@media (max-width:560px){.alt span{font-size:11px;letter-spacing:.06em}.alt b{font-size:21px;top:-28px}}
.js .alt div{transform:scaleY(.2);transform-origin:bottom;opacity:0;transition:transform 1s var(--ease),opacity .6s}
.js .alt.is-in div{transform:none;opacity:1}
.js .alt.is-in div:nth-child(2){transition-delay:.1s}.js .alt.is-in div:nth-child(3){transition-delay:.2s}.js .alt.is-in div:nth-child(4){transition-delay:.3s}
.hikegrid{display:grid;gap:18px;margin-top:104px}
@media (min-width:760px){.hikegrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.hikegrid{grid-template-columns:repeat(4,1fr)}}
.hike{background:var(--basalt-2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease)}
.hike:hover{transform:translateY(-4px)}
.hike .ph{position:relative;aspect-ratio:4/5;overflow:hidden}
.hike .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hike:hover .ph img{transform:scale(1.05)}
.hike .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(24,23,21,.85))}
.hike .h-top{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.hike .h-top b{display:block;font:800 54px/.9 var(--display);color:#fff}
.hike .h-top b small{font-size:22px;margin-left:3px;color:var(--apricot-2)}
.hike .lvl{position:absolute;top:16px;left:16px;z-index:2;display:flex;align-items:center;gap:8px;font:800 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;background:rgba(24,23,21,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 11px;border-radius:999px;color:#fff}
.hike .lvl i{display:inline-flex;gap:3px}
.hike .lvl i::before{content:"";width:28px;height:8px;background:linear-gradient(90deg,var(--apricot) 0 var(--l),rgba(255,255,255,.25) var(--l));-webkit-mask:repeating-linear-gradient(90deg,#000 0 8px,transparent 8px 10px);mask:repeating-linear-gradient(90deg,#000 0 8px,transparent 8px 10px)}
.hike .in{padding:20px 22px 0;display:flex;flex-direction:column;gap:10px;flex:1}
.hike h3{font-size:30px;color:#fff}
.hike p{color:var(--on-dark-2);font-size:15.5px;line-height:1.55}
.hike .ticket__stub{margin-top:auto;border-top-color:rgba(255,255,255,.16);padding-left:22px;padding-right:22px}
.hike .ticket__stub::before,.hike .ticket__stub::after{background:var(--basalt);border-color:rgba(255,255,255,.07)}
.hike .ticket__stub b{color:#fff}
.hike .ticket__stub span{color:var(--on-dark-2)}
.hike .ticket__stub .ask{color:var(--apricot-2)}
.incl{margin-top:30px;display:grid;gap:12px}
@media (min-width:640px){.incl{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.incl{grid-template-columns:repeat(5,1fr)}}
.incl div{display:flex;align-items:center;gap:14px;background:var(--basalt-2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px 16px;font-weight:500;line-height:1.3}
.incl img{width:58px;height:58px;flex:none;background:var(--paper);border-radius:12px;padding:4px}
.incl-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:56px}
.incl-h h3{color:#fff}
.winter{margin-top:22px;display:flex;gap:18px;align-items:center;padding:20px 22px;border:1.5px dashed rgba(255,255,255,.3);border-radius:var(--r);color:var(--on-dark)}
.winter svg{width:44px;height:44px;flex:none;color:var(--apricot-2)}
.winter b{color:#fff}

/* ============ Панорама ============ */
.pano{background:#efe6d7;overflow:hidden;line-height:0;position:relative}
.pano img{width:100%;min-width:900px;height:auto;margin:0 auto}
.pano .hand{position:absolute;left:clamp(16px,6vw,90px);top:clamp(20px,8vw,90px);font-size:clamp(28px,4vw,52px);line-height:1;transform:rotate(-4deg);max-width:12ch}

/* ============ Визаран ============ */
.board{background:var(--basalt);color:#fff;border-radius:24px;padding:10px;box-shadow:0 30px 60px -36px rgba(0,0,0,.6)}
.board__head{display:grid;grid-template-columns:70px 80px 1fr;gap:14px;padding:12px 18px;font:600 13px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2)}
.row{display:grid;grid-template-columns:70px 80px 1fr;gap:14px;align-items:center;padding:18px;border-radius:16px;background:var(--basalt-2)}
.row+.row{margin-top:8px}
.flap{font:800 30px/1 var(--display);letter-spacing:.06em;background:#0f0e0d;border-radius:8px;padding:10px 0;text-align:center;position:relative;color:var(--apricot-2)}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.12)}
.flap.t{color:#fff}
.row .dest b{display:block;font:800 26px/1.05 var(--display);text-transform:uppercase}
.row .dest span{display:block;color:var(--on-dark-2);font-size:14.5px;margin-top:4px}
@media (max-width:560px){.board__head{display:none}.row{grid-template-columns:62px 1fr;gap:12px}.row .flap.t{grid-column:1;grid-row:2}.row .dest{grid-column:2;grid-row:1/3}.flap{font-size:24px}}
.visa{display:grid;gap:22px;align-items:start}
@media (min-width:960px){.visa{grid-template-columns:1.25fr .75fr;gap:30px}}
.visa .ticket img.ic{width:120px;height:120px;margin:-4px 0 0 -6px}

/* ============ Кто повезёт ============ */
.guide{display:grid;gap:34px;align-items:center}
@media (min-width:860px){.guide{grid-template-columns:.8fr 1.2fr;gap:64px}}
.guide__ph{position:relative;margin:0 auto;max-width:400px;width:100%;background:var(--card);padding:14px 14px 56px;border-radius:6px;box-shadow:0 26px 50px -28px rgba(27,26,23,.55),0 1px 0 var(--line);transform:rotate(-2.5deg)}
.guide__ph::before{content:"";position:absolute;top:-14px;left:50%;width:110px;height:30px;margin-left:-55px;background:rgba(217,119,47,.55);transform:rotate(3deg);border-radius:2px}
.guide__ph img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:3px}
.guide__ph figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font:700 30px/1 var(--hand);color:var(--rust)}
.guide__txt{display:grid;gap:18px}
.guide__facts{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.guide__facts li{display:flex;align-items:center;gap:14px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:10px 14px;font-weight:500}
.guide__facts img{width:52px;height:52px;flex:none}

/* ============ Шаги ============ */
.steps{display:grid;gap:16px;list-style:none;margin:0;padding:0;counter-reset:s}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:22px 22px 24px}
.steps li::after{content:"0" counter(s);position:absolute;top:20px;right:22px;font:800 40px/1 var(--display);color:var(--paper-2)}
.steps img{width:96px;height:96px;margin:-4px 0 8px -6px}
.steps b{display:block;font:800 26px/1 var(--display);text-transform:uppercase;margin-bottom:8px}
.steps span{color:var(--muted);font-size:16px}
@media (min-width:1040px){.steps li:not(:last-child)::before{content:"";position:absolute;top:66px;right:-17px;width:18px;border-top:2.5px dotted var(--ink-2);z-index:2}}

/* ============ Фото ============ */
.gal{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;gap:10px;grid-auto-flow:dense}
@media (min-width:820px){.gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:16px;background:var(--basalt-2)}
.gal .t{grid-row:span 2}
.gal .w{grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:12px;bottom:10px;right:12px;font:700 24px/1 var(--hand);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.gal figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45));pointer-events:none}
.gal figcaption{z-index:2}

/* ============ Заявка ============ */
.apply-grid{display:grid;gap:34px}
@media (min-width:960px){.apply-grid{grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}}
.apply-side{display:grid;gap:22px;align-content:start}
.apply-side img{width:150px;height:150px;filter:invert(1) hue-rotate(180deg) brightness(1.05)}
.form{background:var(--paper);color:var(--ink);border-radius:24px;padding:clamp(20px,3vw,32px);display:grid;gap:16px;position:relative;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.form::before{content:"Заявка на поездку";font:800 15px/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--rust);padding-bottom:14px;border-bottom:2px dashed var(--line)}
.form label{display:grid;gap:7px;font:600 15px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.form label em{font-style:normal;text-transform:none;letter-spacing:0;font:500 13px var(--sans);color:var(--muted)}
.form input,.form select,.form textarea{width:100%;min-height:52px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:500 16px/1.3 var(--sans);padding:0 14px;letter-spacing:0;text-transform:none;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(217,119,47,.25)}
.form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231b1a17' stroke-width='2.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.form textarea{min-height:86px;padding:13px 14px;resize:vertical}
.form ::placeholder{color:#958c7b}
.two{display:grid;gap:16px}
@media (min-width:520px){.two{grid-template-columns:1fr 1fr}}
.form .btn{width:100%;margin-top:4px}
.form .fine{font-size:13.5px;color:var(--muted);text-align:center}

/* ============ Вопросы ============ */
.faq{display:grid;gap:10px;max-width:880px}
details{background:var(--card);border:1.5px solid var(--line);border-radius:16px;transition:border-color .2s}
details[open]{border-color:var(--ink-2)}
summary{list-style:none;cursor:pointer;padding:20px 60px 20px 22px;font:800 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:600 22px/1 var(--sans);transition:transform .25s var(--ease),background .2s}
details[open] summary::after{transform:rotate(45deg);background:var(--apricot);color:var(--ink)}
details .a{padding:0 22px 22px;color:var(--muted);max-width:68ch}
details .a ul{margin:0;padding-left:20px}

/* ============ Подвал ============ */
footer{background:var(--basalt);color:var(--on-dark-2);padding:70px 0 40px;overflow:hidden}
footer .big{font:800 clamp(72px,17vw,230px)/.8 var(--display);text-transform:uppercase;color:var(--basalt-3);letter-spacing:-.01em;white-space:nowrap;margin:0 0 30px -4px}
footer .row2{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center;font-size:15px}
footer a{color:#fff}

/* ============ Появление ============ */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
@media (max-width:520px){:root{--gut:16px}body{font-size:16px}.btn{min-height:50px;font-size:16px}}
