.stack{display:flex;flex-direction:column;gap:14px}
.band{background:var(--card);border-block:1px solid var(--line);padding-block:72px}
section.wrap{padding-block:72px}
h2{font-size:clamp(1.9rem,4.4vw,2.8rem);font-weight:800}
h3{font-size:1.15rem;font-weight:700}
.small{font-size:.88rem}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding-block:56px 72px}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:40px}}
.hero-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.hero h1{font-size:clamp(2.6rem,6.6vw,4.4rem);font-weight:800}
.hl{color:var(--glacier-ink);position:relative}
.lede{font-size:1.18rem;color:var(--muted);max-width:52ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.rent-math{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;margin-top:6px}
.rent-math div{padding:14px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line);min-width:0}
.rent-math div:last-child{border-right:0;background:var(--parka-soft)}
.rent-math b{font-size:1.05rem}
.rent-math b.red{color:var(--parka)}
.rent-math span{font-size:.8rem;color:var(--muted);line-height:1.35}
@media (max-width:520px){.rent-math{grid-template-columns:1fr}.rent-math div{border-right:0;border-bottom:1px solid var(--line)}}

/* phone mock */
.phone{justify-self:center;width:min(340px,100%);background:var(--card);border:10px solid var(--ink);border-radius:38px;padding:18px 14px;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 60px -20px rgba(20,33,61,.35);transform:rotate(2deg)}
.phone-top{display:flex;justify-content:space-between;align-items:center;font:800 1.2rem var(--display)}
.phone-search{border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--muted);font-size:.85rem}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips span{font-size:.72rem;font-weight:600;padding:5px 9px;border-radius:999px;background:var(--snow);border:1px solid var(--line)}
.chips span.on{background:var(--ink);color:var(--snow);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.it{display:flex;flex-direction:column;gap:3px;min-width:0}
.it i{display:block;aspect-ratio:1;border-radius:10px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 70%,white),var(--c));position:relative}
.it i::after{content:"";position:absolute;inset:28% 30%;border-radius:40% 40% 12% 12%;background:rgba(255,255,255,.22)}
.it b{font-size:.7rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.it small{font:500 .6rem var(--mono);color:var(--muted)}
.phone-cta{background:var(--parka);color:#fff;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.phone-cta span{font-size:.72rem;opacity:.85}
.phone-cta b{font-size:.95rem}
@media (prefers-reduced-motion:no-preference){.phone{animation:float 6s ease-in-out infinite}}
@keyframes float{50%{transform:rotate(2deg) translateY(-6px)}}

/* steps */
.steps{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;background:var(--snow);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.steps li::before{content:counter(s);font:700 .8rem/1 var(--mono);color:#fff;background:var(--glacier);width:26px;height:26px;border-radius:50%;display:grid;place-items:center}
.steps li:last-child::before{background:var(--parka)}
.steps b{font-family:var(--display);font-size:1.1rem}
.steps span{font-size:.9rem;color:var(--muted)}

/* trip */
.trip{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center}
@media (max-width:820px){.trip{grid-template-columns:1fr}}
.trip-card{padding:32px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.trip-card p{color:var(--muted);max-width:52ch}
.trip-list{display:flex;flex-direction:column;border:1.5px dashed var(--glacier);border-radius:var(--r);padding:8px 18px;background:var(--glacier-soft)}
.trip-list div{display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--glacier) 30%,transparent);font-weight:600}
.trip-list small{margin-left:auto;font:500 .75rem var(--mono);color:var(--muted)}
.trip-list .mono{color:var(--ok)}
.trip-list .total{border-bottom:0;justify-content:space-between;font-weight:500}

/* pricing */
.pricing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:40px;align-items:start}
@media (max-width:820px){.pricing{grid-template-columns:1fr}}
.price-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column}
.price-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.price-list li span{color:var(--muted)}
.price-list li b{text-align:right}
.quote{padding:24px;display:flex;flex-direction:column;gap:16px}
.quote label.f{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}
.quote input[type=range]{padding:0;border:0;background:none;accent-color:var(--parka);flex-basis:100%}
.q-rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.q-rows div{display:flex;justify-content:space-between;padding:9px 0;font-variant-numeric:tabular-nums}
.q-total{border-top:2px solid var(--ink);font-weight:700;font-size:1.1rem}

/* safety */
.safety{display:flex;flex-direction:column;gap:14px}
.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:12px}
@media (max-width:900px){.safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.safety-grid{grid-template-columns:1fr}}
.safety-grid div{display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--glacier);padding-top:14px;min-width:0}
.safety-grid p{color:var(--muted);font-size:.93rem}

/* booking */
.book{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
@media (max-width:860px){.book{grid-template-columns:1fr}}
.form{padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:480px){.row2{grid-template-columns:1fr}}
.stepper{display:flex;align-items:stretch}
.stepper input{text-align:center;border-radius:0;border-inline:0;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.stepper button{width:44px;flex:none;font:600 1.2rem var(--body);border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.stepper button:first-child{border-radius:10px 0 0 10px}
.stepper button:last-child{border-radius:0 10px 10px 0}
.slots{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.slots legend{font-size:.85rem;font-weight:600;padding:0;margin-bottom:6px}
.slot-row{display:flex;flex-wrap:wrap;gap:8px}
.slot-row label{cursor:pointer}
.slot-row input{position:absolute;opacity:0;width:1px;height:1px}
.slot-row span{display:block;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:.9rem}
.slot-row input:checked+span{background:var(--ink);color:var(--snow);border-color:var(--ink)}
.slot-row input:focus-visible+span{outline:3px solid var(--glacier);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}
#bQuote{font-size:.85rem;color:var(--muted)}
.done{align-items:flex-start}
.my-link{background:var(--glacier-soft);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;width:100%}
.copy-row{display:flex;gap:8px}
.copy-row input{font:500 .8rem var(--mono);background:var(--card)}

/* faq */
.faq{display:flex;flex-direction:column;gap:10px;max-width:820px}
.faq h2{margin-bottom:10px}
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";font:600 1.3rem/1 var(--mono);color:var(--glacier-ink)}
details[open] summary::after{content:"−"}
details p{margin-top:8px;color:var(--muted);max-width:65ch}

.foot{border-top:1px solid var(--line);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px))}
.foot-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.logo.small{font-size:1.1rem}

/* Gen Z layer */
.hero h1{font-size:clamp(3rem,8.4vw,5.6rem);font-weight:800;letter-spacing:-.035em;line-height:.95}
.hl{color:var(--parka);background:linear-gradient(transparent 62%,var(--glacier-soft) 62%);padding-inline:.06em}
.rent-math{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.rent-math div{border-color:var(--ink)}
.phone-wrap{position:relative;justify-self:center;width:min(340px,100%)}
.phone-wrap .phone{width:100%}
.sticker{position:absolute;z-index:2;font:800 .82rem/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);text-align:center}
.sticker.s1{top:-34px;left:-30px;background:var(--glacier);color:#fff;transform:rotate(-9deg)}
.sticker.s2{bottom:70px;right:-24px;background:#ffd84d;color:#14213d;transform:rotate(7deg)}
@media (max-width:480px){.sticker.s1{left:-6px}.sticker.s2{right:-6px}}
.ticker{background:var(--parka);color:#fff;border-block:2px solid var(--ink);overflow:hidden;padding-block:12px;transform:rotate(-1.2deg);margin-block:8px 24px}
.ticker-track{display:flex;gap:0;width:max-content;font:800 1.15rem/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.ticker-track span{padding-inline:22px;white-space:nowrap}
.ticker-track span::after{content:"✦";margin-left:44px;color:#ffd84d}
@media (prefers-reduced-motion:no-preference){.ticker-track{animation:tick 38s linear infinite}}
@keyframes tick{to{transform:translateX(-50%)}}
.steps li{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:var(--card)}
.steps li:nth-child(odd){transform:rotate(-.6deg)}
.steps li:nth-child(even){transform:rotate(.6deg)}
.trip-list{border:2px dashed var(--ink)}
.safety-grid div{border-top:4px solid var(--parka)}
.safety-grid div:nth-child(even){border-top-color:var(--glacier)}
details{border-bottom:2px solid var(--line)}
