:root{
  --ash:#EEF0ED;
  --ash-2:#E2E8E8;
  --ash-3:#D3DADB;
  --basalt:#1F1A17;
  --ice:#DCE8EC;
  --field:#F8FAFA;
  --mint:#B6EED3;
  --basalt-2:#4F4640;
  --night:#DCE8EC;
  --aurora:#1A5E48;
  --aurora-lt:#1A5E48;
  --grain:none;
  --gut:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.22,1,.36,1);
  --grain-old: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 .17 0 0 0 0 .13 0 0 0 0 .11 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  margin:0;background:var(--ash) var(--grain);color:var(--basalt);
  font-family:"Archivo",system-ui,sans-serif;font-stretch:100%;
  font-size:17px;line-height:1.55;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--aurora);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:400;background:var(--basalt);color:var(--ash);padding:10px 16px;border-radius:4px}
.skip:focus{top:12px}

.display{
  font-weight:860;font-stretch:118%;text-transform:uppercase;
  line-height:.84;letter-spacing:-.02em;
}
.h2{font-size:clamp(46px,7.4vw,124px)}

/* ---------- top: edge-aligned text nav (scrolls away) + fixed corner menu trigger ---------- */
.top{
  position:absolute;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);
  height:88px;padding:0 calc(var(--gut) + 112px) 0 var(--gut);color:var(--basalt);
}
.wordmark{font-weight:900;font-stretch:125%;font-size:18px;letter-spacing:.07em;text-decoration:none;margin-right:auto}
.top__links{display:flex;gap:clamp(18px,2.2vw,36px)}
.top__links a,.top__cta{position:relative;font-size:15px;font-weight:620;text-decoration:none;letter-spacing:.005em;padding:6px 0}
.top__links a::after,.top__cta::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease);
}
.top__links a:hover::after,.top__cta:hover::after{transform:scaleX(1);transform-origin:0 50%}
.top__cta{display:inline-flex;align-items:center;gap:10px;color:var(--aurora)}
.top__cta svg{width:18px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .5s var(--ease)}
.top__cta:hover svg{transform:translateX(3px)}
.sound-btn{
  display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:6px 0;
  font-size:15px;font-weight:620;color:inherit;
}
.sound-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.sound-btn[aria-pressed="false"]{opacity:.78}
.sound-btn:hover{opacity:1}
.sound-btn[aria-pressed="true"] .w1{animation:gust 2.4s ease-in-out infinite}
.sound-btn[aria-pressed="true"] .w2{animation:gust 2.4s .4s ease-in-out infinite}
@keyframes gust{50%{transform:translateX(2px)}}
.menu-btn{
  position:fixed;z-index:90;top:23px;right:var(--gut);height:40px;display:flex;align-items:center;gap:12px;
  border:0;background:none;padding:0;color:var(--basalt);transition:color .45s var(--ease);
}
.nav-dark .menu-btn{color:#F4F7F5}
.menu-open .menu-btn{color:var(--basalt)}
.menu-btn__label{display:grid;height:18px;overflow:hidden;font-size:15px;font-weight:650;line-height:18px;text-align:right}
.menu-btn__label span{grid-area:1/1;transition:transform .6s var(--ease)}
.menu-btn__label span+span{transform:translateY(100%)}
.menu-open .menu-btn__label span:first-child{transform:translateY(-100%)}
.menu-open .menu-btn__label span+span{transform:none}
.menu-btn__lines{display:grid;gap:6px;width:24px}
.menu-btn__lines i{display:block;height:1.5px;background:currentColor;transition:transform .5s var(--ease)}
.menu-btn__lines i:last-child{width:62%;justify-self:end;transition:transform .5s var(--ease),width .5s var(--ease)}
.menu-btn:hover .menu-btn__lines i:last-child{width:100%}
.menu-open .menu-btn__lines i:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-open .menu-btn__lines i:last-child{width:100%;transform:translateY(-3.75px) rotate(-45deg)}

/* ---------- menu ---------- */
.menu{
  position:fixed;inset:0;z-index:70;background:var(--night);color:var(--basalt);
  display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--gut) 40px;
  clip-path:circle(0% at calc(100% - 48px) 44px);transition:clip-path .9s var(--ease);
}
.menu.is-open{clip-path:circle(150% at calc(100% - 48px) 44px)}
.menu__list a{
  display:inline-block;font-weight:860;font-stretch:118%;text-transform:uppercase;text-decoration:none;
  font-size:clamp(38px,8.5vw,128px);line-height:.95;letter-spacing:-.02em;transition:color .3s;
}
.menu__list a:hover{color:var(--aurora-lt)}
.menu__foot{color:var(--basalt-2);font-size:15px}
.menu a{color:inherit}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden}
.hero__grid{position:absolute;inset:0}
.tile{position:absolute;overflow:hidden;background:#9aa7ad}
.js .tile{will-change:transform}
.tile__img{position:absolute;background:url(img/hero-vestrahorn.webp) center 58%/cover no-repeat}
@media (max-width:699px){.tile__img{background-image:url(img/hero-vestrahorn-1200.webp)}}
.js .ridge__clip,.js .aurora__wipe,.js .aurora__inner,.js .compass__rose,.js .compass__img,.js .enquire__photo img{will-change:transform}
.hero__shade{position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none;
  background:linear-gradient(to top,rgba(24,19,16,.72),rgba(24,19,16,0))}
.hero__title{
  position:absolute;left:var(--gut);top:clamp(104px,15vh,150px);z-index:2;
  font-size:clamp(64px,12.4vw,224px);color:var(--basalt);
}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .line>span{display:block}
.hero__aside{
  position:absolute;z-index:2;right:var(--gut);top:clamp(104px,14vh,140px);width:min(230px,17vw);
  font-size:16px;line-height:1.45;color:var(--basalt);font-weight:500;
}
.hero__foot{
  position:absolute;z-index:2;left:var(--gut);right:var(--gut);bottom:clamp(24px,5vh,48px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:32px;color:#F6F8F6;
}
.hero__lede{max-width:34ch;font-size:clamp(17px,1.35vw,20px);line-height:1.45}
.hero__next{
  display:grid;gap:4px;min-width:min(330px,100%);text-decoration:none;text-align:right;
  padding-top:14px;border-top:1px solid rgba(238,232,223,.5);text-shadow:0 1px 14px rgba(20,16,13,.35);
}
.hero__next-k{font-size:13px;letter-spacing:.01em}
.hero__next-v{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;font-weight:650;font-size:17px}
.hero__next-v svg{width:18px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .5s var(--ease)}
.hero__next:hover .hero__next-v svg{transform:translateX(4px)}

/* ---------- ethos ---------- */
.ethos{padding:clamp(96px,14vw,200px) var(--gut) clamp(80px,10vw,160px)}
.ethos__top{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,110px);align-items:start}
.ethos__statement{
  font-size:clamp(28px,3.3vw,54px);line-height:1.12;font-weight:520;font-stretch:104%;letter-spacing:-.012em;max-width:22ch;
}
.mask figcaption{margin-top:14px;font-size:14px;color:var(--basalt-2)}
.mask--ridge{margin-top:clamp(40px,8vw,140px)}
.ridge{position:relative;aspect-ratio:4/5;overflow:hidden}
.ridge__clip{position:absolute;inset:0;clip-path:polygon(0 100%,0 43%,8.75% 36%,15% 39.5%,25.6% 25%,32.75% 30%,41.25% 15%,49% 23.6%,55% 20%,65% 33%,73.1% 26.2%,80% 30%,90% 20.5%,100% 30%,100% 100%)}
.ridge__clip img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:42% 50%}
.values{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,72px);margin-top:clamp(80px,10vw,160px);
}
.value:nth-child(2){margin-top:clamp(40px,6vw,110px)}
.value:nth-child(3){margin-top:clamp(80px,12vw,220px)}
.value__icon{width:64px;height:64px;fill:none;stroke:var(--basalt);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;margin-bottom:22px}
.value__icon .thin{stroke-width:.9}
.value__icon .fill{fill:var(--basalt);stroke:none}
.value__title{font-size:clamp(26px,2.3vw,36px);line-height:1.02;font-weight:760;font-stretch:112%;margin-bottom:12px;letter-spacing:-.01em}
.value p{color:var(--basalt-2);max-width:32ch}

/* ---------- stats ---------- */
.stats{position:relative;background:var(--night);color:var(--basalt);overflow:hidden;padding:clamp(90px,10vw,160px) var(--gut)}
.mask--aurora{position:absolute;inset:0;overflow:hidden}
.aurora__wipe,.aurora__inner{position:absolute;inset:0;overflow:hidden}
.aurora__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask:url(img/aurora-mask.svg) center/cover no-repeat;mask:url(img/aurora-mask.svg) center/cover no-repeat}
.stats__grid{
  position:relative;display:grid;grid-template-columns:repeat(12,1fr);row-gap:clamp(60px,8vw,140px);min-height:110vh;align-content:space-between;
}
.stat__num{font-size:clamp(96px,15vw,260px);line-height:.8;font-stretch:125%;font-variant-numeric:tabular-nums}
.stat__label{margin-top:14px;max-width:24ch;font-size:16px;color:var(--basalt)}
.stat--a{grid-column:1/6}
.stat--b{grid-column:8/13;justify-self:end;text-align:right}
.stat--b .stat__label{margin-left:auto}
.stat--c{grid-column:2/8}
.stat--d{grid-column:9/13;justify-self:end;text-align:right}
.stat--d .stat__label{margin-left:auto}

/* ---------- expeditions ---------- */
.exp{overflow:hidden}
.exp__pin{height:100vh;display:flex;align-items:center}
.exp__track{display:flex;align-items:flex-start;gap:clamp(20px,2.4vw,40px);padding:0 var(--gut);will-change:transform}
.exp__intro{flex:0 0 min(460px,34vw);padding-top:20px}
.exp__intro p{margin-top:26px;max-width:30ch;color:var(--basalt-2)}
.exp__hint{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--basalt)!important}
.exp__hint svg{width:40px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6}
.card{flex:0 0 clamp(300px,27vw,420px)}
.card:nth-of-type(even){margin-top:clamp(30px,6vh,70px)}
.card__img{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--ash-3)}
.card__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1)}
.card__where{margin-top:18px;font-size:14px;color:var(--basalt-2)}
.card__name{font-weight:820;font-stretch:115%;text-transform:uppercase;font-size:clamp(24px,2vw,32px);line-height:.98;margin-top:4px;letter-spacing:-.01em}
.card__spec{display:flex;gap:26px;margin-top:16px}
.card__spec dt{font-size:13px;color:var(--basalt-2)}
.card__spec dd{font-weight:650}
.card__link{display:inline-block;margin-top:16px;font-weight:600;color:var(--aurora);text-underline-offset:4px}

/* ---------- route ---------- */
.route{background:var(--ash-2) var(--grain)}
.route__pin{min-height:100vh;display:grid;grid-template-columns:4fr 7fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(64px,7vw,96px) var(--gut) clamp(40px,5vw,64px)}
.route .h2{font-size:min(5.6vw,8.8vh)}
.route__sub{margin-top:20px;max-width:34ch;color:var(--basalt-2)}
.days{margin-top:24px;display:grid;gap:0}
.days li{padding:5px 0 5px 16px;color:var(--basalt-2);font-size:15.5px;line-height:1.35;border-left:2px solid rgba(43,33,28,.12);transition:color .4s,border-color .4s}
.days b{display:inline-block;min-width:4.4em;font-weight:700;color:var(--basalt)}
.days li.is-on{color:var(--basalt);border-color:var(--aurora)}
.route__map{position:relative}
.route__map svg{width:100%;height:auto;display:block;overflow:visible}
.route__live{position:absolute;inset:0;height:100%!important}
.js .route__live{will-change:transform}
.water-lines{fill:var(--basalt);opacity:.13}
.island{fill:url(#landTone);stroke:rgba(31,26,23,.4);stroke-width:1.1;stroke-linejoin:round}
.glacier{fill:#FFFFFF;stroke:rgba(43,33,28,.2);stroke-width:.8;stroke-linejoin:round}
.ice-label{font-size:15px;fill:#3A332E;text-anchor:middle;font-style:italic;letter-spacing:.02em}
.ice-label--sm{font-size:12.5px}
.sea-label{font-size:13px;fill:#586068;font-style:italic;letter-spacing:.24em}
.route-ghost{fill:none;stroke:var(--basalt);stroke-opacity:.34;stroke-width:2;stroke-dasharray:1 8;stroke-linecap:round}
.leg{fill:none;stroke:var(--aurora);stroke-width:4;stroke-linecap:round}
.stop circle{fill:var(--ash-2);stroke:var(--basalt);stroke-width:3.5}
.stop text{font-size:19px;font-weight:650;fill:var(--basalt);letter-spacing:-.005em}
.stop.is-last circle,.stop:first-child circle{fill:var(--aurora);stroke:var(--ash-2);stroke-width:3.5}
.north circle{fill:none;stroke:var(--basalt);stroke-opacity:.45;stroke-width:1}
.north__n{fill:var(--basalt)}
.north__s{fill:none;stroke:var(--basalt);stroke-width:1.1;stroke-linejoin:round}
.north text{font-size:14px;font-weight:800;fill:var(--basalt);letter-spacing:.04em}
.scale__bar{stroke:var(--basalt);stroke-width:5}
.scale__bar--b{stroke:var(--ash-2);stroke-width:2.6}
.scale__tick{stroke:var(--basalt);stroke-width:1.1}
.scale text{font-size:13px;font-weight:600;fill:var(--basalt-2)}

/* ---------- guides ---------- */
.guides{padding:clamp(100px,12vw,190px) var(--gut) clamp(60px,6vw,100px)}
.guides__head{display:grid;grid-template-columns:7fr 4fr;gap:40px;align-items:end}
.guides__head p{color:var(--basalt-2);max-width:34ch}
.guides__row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);margin-top:clamp(50px,6vw,90px)}
.guide img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:6px;background:var(--ash-3)}
.guide:nth-child(3) img{object-position:50% 78%}
.guide:nth-child(2){margin-top:clamp(30px,4vw,70px)}
.guide:nth-child(3){margin-top:clamp(60px,8vw,140px)}
.guide:nth-child(4){margin-top:clamp(90px,12vw,210px)}
.guide h3{margin-top:16px;font-weight:760;font-stretch:110%;font-size:21px;line-height:1.15}
.guide p{font-size:15px;color:var(--basalt-2);margin-top:2px}

/* ---------- stories ---------- */
.stories{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,120px);align-items:center;padding:clamp(80px,10vw,160px) var(--gut)}
.mask--compass{max-width:560px}
.compass{aspect-ratio:1;position:relative}
.compass__dial{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--basalt);stroke-width:1.4;stroke-linecap:round;opacity:.55;pointer-events:none}
.compass__dial circle{stroke-width:1;stroke-opacity:.6}
.compass__rose{position:absolute;inset:0;overflow:hidden;-webkit-mask:url(img/compass-mask.svg) center/100% 100% no-repeat;mask:url(img/compass-mask.svg) center/100% 100% no-repeat}
.compass__img{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;object-fit:cover;object-position:50% 46%}
.quote{display:none}
.quote.is-active{display:block}
.quote p{font-size:clamp(28px,3vw,48px);line-height:1.14;font-weight:540;letter-spacing:-.012em;font-stretch:104%}
.quote footer{margin-top:28px;font-weight:700}
.quote footer span{display:block;font-weight:400;color:var(--basalt-2);font-size:15px}
.quotes__ctrl{display:flex;align-items:center;gap:18px;margin-top:40px}
.round{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--basalt);background:transparent;display:grid;place-items:center;transition:background .3s,color .3s}
.round svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.round:hover{background:var(--basalt);color:var(--ash-2)}
.quotes__count{font-variant-numeric:tabular-nums;color:var(--basalt-2);font-size:15px}

/* ---------- enquire ---------- */
.enquire{background:var(--night);color:var(--basalt)}
.enquire__photo{position:relative;height:clamp(380px,70vh,720px);overflow:hidden}
.enquire__photo img{width:100%;height:118%;object-fit:cover;position:absolute;top:-9%;left:0}
.enquire__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,19,16,.7),rgba(24,19,16,0) 70%),linear-gradient(to bottom,rgba(24,19,16,.6),rgba(24,19,16,0) 34%),rgba(24,19,16,.36)}
.enquire__title{position:absolute;z-index:1;left:var(--gut);bottom:clamp(10px,3vw,30px);font-size:clamp(58px,11.5vw,210px);color:#fff}
.enquire__title span{display:block}
.enquire__body{display:grid;grid-template-columns:4fr 7fr;gap:clamp(32px,6vw,110px);padding:clamp(50px,6vw,90px) var(--gut) clamp(90px,10vw,150px)}
.enquire__lead{font-size:clamp(20px,1.7vw,26px);line-height:1.35;max-width:28ch}
.enquire__contact{margin-top:32px;color:var(--basalt-2);font-size:15.5px;line-height:1.8}
.enquire__contact a{color:var(--basalt)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:grid;gap:8px}
.field--wide{grid-column:1/-1}
.field label{font-size:14.5px;color:var(--basalt);font-weight:560}
.field input,.field select,.field textarea{
  font:inherit;color:var(--basalt);background:var(--field);border:1.5px solid rgba(31,26,23,.55);
  border-radius:6px;padding:14px 16px;width:100%;transition:border-color .3s,background .3s;
}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1A17' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.field select option{color:var(--basalt)}
.field input::placeholder{color:#5F5650}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--aurora);box-shadow:0 0 0 2px var(--aurora)}
.field [aria-invalid="true"]{border-color:#A3321E}
.form__error{grid-column:1/-1;color:#9A2E1B;font-weight:600;font-size:15px;min-height:0}
.form__error:empty{display:none}
.send-btn{
  grid-column:1/-1;justify-self:start;height:60px;padding:0 28px 0 30px;border-radius:4px;border:0;
  display:inline-flex;align-items:center;gap:28px;
  background:var(--aurora);color:#F6F8F6;font-weight:700;font-size:17px;letter-spacing:.005em;transition:background .3s;
}
.send-btn svg{width:20px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .5s var(--ease)}
.send-btn:hover{background:var(--basalt)}
.send-btn:hover svg{transform:translateX(4px)}
.thanks h3{font-size:clamp(44px,6vw,90px)}
.thanks p{margin-top:20px;max-width:38ch;font-size:19px}
.thanks:focus{outline:none}

/* ---------- footer ---------- */
.foot{padding:clamp(70px,8vw,120px) var(--gut) 28px;overflow:hidden}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.foot h3{font-size:14px;color:var(--basalt-2);font-weight:500;margin-bottom:14px}
.foot li{margin:4px 0;font-weight:560}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:4px}
.foot__mark{font-size:15.7vw;line-height:.78;margin:clamp(60px,8vw,120px) 0 0 -.03em;font-stretch:125%;white-space:nowrap;letter-spacing:-.035em}
.foot__small{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:14px;color:var(--basalt-2)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .top__links,.top__cta{display:none}
  .ethos__top{grid-template-columns:minmax(0,1fr)}
  .mask--ridge{max-width:520px;justify-self:end;width:86%}
  .values{grid-template-columns:minmax(0,1fr);gap:56px}
  .value:nth-child(2){margin-top:0;margin-left:12%}
  .value:nth-child(3){margin-top:0;margin-left:24%}
  .stats__grid{grid-template-columns:minmax(0,1fr);min-height:0;row-gap:72px}
  .stat--a,.stat--b,.stat--c,.stat--d{grid-column:1}
  .exp__pin{height:auto;display:block;padding:90px 0 70px}
  .exp__track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding-bottom:16px;scrollbar-width:none;flex-wrap:nowrap}
  .exp__track::-webkit-scrollbar{display:none}
  .exp__intro{flex:0 0 78vw;scroll-snap-align:start}
  .card{flex:0 0 76vw;scroll-snap-align:center}
  .card:nth-of-type(even){margin-top:0}
  .exp__track::after{content:"";flex:0 0 1px}
  .route__pin{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;padding-top:90px}
  .route__map{order:-1}
  .guides__head{grid-template-columns:minmax(0,1fr)}
  .guides__row{grid-template-columns:1fr 1fr}
  .guide:nth-child(2){margin-top:48px}
  .guide:nth-child(3){margin-top:-48px}
  .guide:nth-child(4){margin-top:0}
  .stories{grid-template-columns:minmax(0,1fr)}
  .mask--compass{max-width:420px;width:88%}
  .enquire__body{grid-template-columns:minmax(0,1fr)}
  .foot__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .top{height:72px;padding-right:calc(16px + 100px)}
  .menu-btn{top:16px}
  .wordmark{font-size:16px}
  .hero__title{font-size:19.5vw;top:120px}
  .hero__aside{display:none}
  .hero__foot{flex-direction:column;align-items:flex-start;gap:18px}
  .hero__next{text-align:left}
  .hero__next-v{justify-content:flex-start}
  .sea-label,.scale,.north{display:none}
  .stat__num{font-size:21vw}
  .mask--ridge{margin-top:0}
  .stop text{font-size:30px}
  .ice-label{display:none}
  .route__pin{align-content:center}
  .route__map{margin:0 -8px}
  .stat--b,.stat--d{text-align:left;justify-self:start}
  .stat--b .stat__label,.stat--d .stat__label{margin-left:0}
  .days{display:grid;grid-template-areas:"d";margin-top:18px}
  .js .days li{grid-area:d;opacity:0;transition:opacity .4s}
  .js .days li.is-cur{opacity:1}
  .route__sub{font-size:15px}
  .form{grid-template-columns:minmax(0,1fr)}
  .foot__cols{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .js .ridge__clip,.js .aurora__wipe,.js .aurora__inner,.js .compass__rose,.js .compass__img{will-change:auto}
  *{transition:none!important;animation:none!important}
  .js .days li{opacity:1!important;grid-area:auto!important}
}

/* =====================================================================
   Round 6: multi-page additions
   ===================================================================== */
/* ---------- small helpers ---------- */
.line{display:block;overflow:hidden}
.line>span{display:block}
.h1 .line{padding:.14em 0 .06em;margin:-.14em 0 -.06em}
.h1{font-size:clamp(46px,8.4vw,148px)}
.h1--post{font-size:clamp(38px,6.2vw,104px)}
.h1--sm{font-size:clamp(40px,6vw,96px)}
.h2s{font-size:clamp(30px,3.6vw,54px);line-height:.9;letter-spacing:-.015em}
.h3{font-size:clamp(20px,1.7vw,26px);font-weight:780;font-stretch:112%;letter-spacing:-.01em;line-height:1.12;margin-bottom:12px}
.lnk{display:inline-flex;align-items:center;gap:10px;font-weight:650;color:var(--aurora);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;background:none;border-top:0;border-left:0;border-right:0;border-radius:0;font-size:inherit;transition:color .3s}
.lnk svg{width:18px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .5s var(--ease)}
.lnk:hover svg{transform:translateX(3px)}
.lnk--lt{color:var(--aurora-lt)}
.btn{display:inline-flex;align-items:center;gap:28px;height:60px;padding:0 28px 0 30px;border-radius:4px;background:var(--aurora);color:#F6F8F6;font-weight:700;font-size:17px;text-decoration:none;transition:background .3s,color .3s}
.btn svg{width:20px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .5s var(--ease)}
.btn:hover{background:var(--basalt)}
.btn:hover svg{transform:translateX(4px)}
.btn--lt{background:var(--aurora);color:#F6F8F6}
.btn--lt:hover{background:var(--basalt);color:#F6F8F6}
.note{margin-top:18px;max-width:70ch;font-size:14.5px;color:var(--basalt-2)}
.note a{text-underline-offset:3px}
.note--lt{color:var(--basalt-2)}
.sec{padding-top:clamp(64px,8vw,120px)}
.sec--pad{padding:clamp(56px,7vw,110px) var(--gut) 0}
.sec--wide{overflow:visible}
.sec__lede{max-width:56ch;color:var(--basalt-2);margin-top:16px}
.back{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-size:15px;font-weight:620;text-decoration:none;margin-bottom:auto;position:relative}
.back svg{width:18px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .5s var(--ease)}
.back:hover svg{transform:translateX(-4px)}
.fig{margin:0}
.fig img{width:100%;height:auto;background:var(--ash-3)}
.fig figcaption,.chart figcaption span,.gal figcaption{font-size:14px;line-height:1.4;color:var(--basalt-2)}
.fig figcaption{margin-top:12px;max-width:54ch}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.facts>div{padding:13px 0;border-top:1px solid rgba(43,33,28,.18)}
.facts dt{font-size:13.5px;color:var(--basalt-2)}
.facts dd{font-weight:650}
.facts--s{grid-template-columns:1fr 1fr}
.prose p{max-width:62ch;margin-bottom:1.1em;font-size:18px;line-height:1.62}
.prose a,.note a,.sec__lede a,.ph__lede a,.faq__a a{text-underline-offset:3px}
.ticks li,.dashes li{position:relative;padding-left:28px;margin:11px 0;line-height:1.45}
.ticks li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:6px;border-left:2px solid var(--aurora);border-bottom:2px solid var(--aurora);transform:rotate(-45deg)}
.dashes li::before{content:"";position:absolute;left:1px;top:.78em;width:13px;height:0;border-top:2px solid var(--basalt-2);opacity:.6}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px clamp(28px,5vw,80px);margin-top:28px}

/* ---------- menu, two columns + current page ---------- */
.skip{border-radius:4px}
.menu__in{display:grid;grid-template-columns:7fr 4fr;gap:clamp(24px,5vw,80px);align-items:start;flex:1;min-height:0}
.menu__list a{font-size:min(clamp(34px,9.4vw,104px),8.4vh)}
.menu__list a[aria-current]{color:var(--aurora-lt)}
.menu__h{font-size:14px;color:var(--basalt-2);margin-bottom:10px}
.menu__trips a{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(31,26,23,.18);text-decoration:none;font-size:18px;font-weight:560;transition:color .3s}
.menu__trips a span{font-size:14px;color:var(--basalt-2);font-weight:400}
.menu__trips a:hover,.menu__trips a[aria-current]{color:var(--aurora-lt)}
.menu__foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px}
.menu__foot a{text-underline-offset:3px}
.menu__legal{display:flex;gap:20px}
.top__links a[aria-current]::after,.top__cta[aria-current]::after{transform:scaleX(1);transform-origin:0 50%}
.photo-top .top{color:#F6F8F6}
.photo-top .top__cta{color:var(--mint)}

/* ---------- page head (type only) ---------- */
.ph{display:grid;grid-template-columns:7fr 4fr;gap:clamp(24px,4vw,60px);align-items:end;padding:clamp(128px,17vh,190px) var(--gut) clamp(24px,4vw,56px)}
.ph__lede{font-size:clamp(18px,1.45vw,22px);line-height:1.45;max-width:34ch;padding-bottom:.6em}
.ph--legal{padding-bottom:20px}

/* ---------- photo hero with the stair cut ---------- */
.hx{position:relative;--hxh:max(540px,min(94svh,940px));height:var(--hxh);color:#F6F8F6;overflow:hidden;--stair:polygon(0 0,100% 0,100% 100%,83.33% 100%,83.33% 96.4%,66.66% 96.4%,66.66% 92.8%,50% 92.8%,50% 89.2%,33.33% 89.2%,33.33% 85.6%,16.66% 85.6%,16.66% 82%,0 82%)}
.hx__media,.hx__shade{position:absolute;inset:0;clip-path:var(--stair)}
.hx__media{background:var(--ash-3)}
.hx__media img{position:absolute;left:0;top:-4%;width:100%;height:108%;object-fit:cover}
.js .hx__media img{will-change:transform}
.hx__shade{background:linear-gradient(to top,rgba(24,19,16,.74),rgba(24,19,16,0) 64%),linear-gradient(to bottom,rgba(24,19,16,.6),rgba(24,19,16,0) 34%),rgba(24,19,16,.34);pointer-events:none}
.hx__in{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(92px,12vh,128px) var(--gut) calc(var(--hxh)*.18 + 24px)}
.hx__in .h1{color:#fff;text-shadow:0 1px 24px rgba(20,16,13,.25)}
.hx__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(18px,2.6vw,34px)}
.hx__tag{max-width:36ch;font-size:clamp(17px,1.35vw,20px);line-height:1.45}
.hx__next{display:grid;gap:4px;min-width:min(340px,100%);text-decoration:none;text-align:right;padding-top:14px;border-top:1px solid rgba(238,232,223,.5)}
.hx__next-k{font-size:13px}
.hx__next-v{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;font-weight:650;font-size:17px}
.hx__next-v svg{width:18px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .5s var(--ease)}
a.hx__next:hover .hx__next-v svg{transform:translateX(4px)}

/* ---------- trip layout ---------- */
.trip,.ethos-pg{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:clamp(28px,5vw,90px);padding:clamp(56px,7vw,110px) var(--gut) 0;align-items:start}
.ethos-pg{padding-top:clamp(20px,3vw,40px)}
.toc{position:sticky;top:92px;align-self:start;font-size:15px}
.toc__h{font-size:13.5px;color:var(--basalt-2);margin-bottom:12px}
.toc li{margin:0}
.toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid rgba(43,33,28,.14);text-decoration:none;color:var(--basalt-2);transition:color .3s,border-color .3s}
.toc a:hover{color:var(--basalt)}
.toc a[aria-current="true"]{color:var(--basalt);border-color:var(--aurora);font-weight:650}
.toc__cta{margin-top:26px;padding-left:14px}
.trip__main,.ethos-pg__main{max-width:980px;min-width:0}
.trip__main>.intro{padding-top:0}
.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.intro__lede{font-size:clamp(21px,2vw,30px);line-height:1.28;font-weight:520;font-stretch:104%;letter-spacing:-.01em}
.intro .facts{grid-template-columns:minmax(0,1fr)}
.chart{margin:30px 0 0}
.chart figcaption{display:grid;gap:3px;margin-bottom:14px}
.chart figcaption b{font-weight:700;font-size:17px}
.chart__sc{overflow-x:auto;-webkit-overflow-scrolling:touch}
.chart svg{display:block;width:100%;height:auto;min-width:560px;overflow:visible}
.chart--s svg{min-width:0}
.profile .grid,.climate .grid{stroke:rgba(43,33,28,.14);stroke-width:1}
.climate .grid--0{stroke:rgba(43,33,28,.45)}
.chart .ax{font-size:13px;fill:#4F4640;font-variant-numeric:tabular-nums}
.chart .ax--u{font-style:italic}
.chart .ax--r{fill:var(--aurora)}
.chart .tick{stroke:rgba(43,33,28,.4);stroke-width:1}
.profile .area{fill:var(--aurora);fill-opacity:.13}
.profile .pline{fill:none;stroke:var(--aurora);stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.profile .mk{stroke:var(--basalt-2);stroke-width:1;stroke-dasharray:2 3;opacity:.7}
.profile .mkc{fill:var(--ash);stroke:var(--basalt);stroke-width:2}
.profile .ml{font-size:13px;font-weight:650;fill:var(--basalt)}
.climate .band{fill:var(--aurora);fill-opacity:.11}
.climate .tbar{fill:#6A5E56}
.climate .dline{fill:none;stroke:var(--aurora);stroke-width:2.8;stroke-linecap:round}
.climate .mo{font-weight:600}
.clim-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px clamp(20px,3vw,44px);margin-top:24px}
.clim-grid .chart{margin:0}

/* ---------- itinerary ---------- */
.days-list{position:relative;margin-top:56px;--p:0}
.days-list__line{position:absolute;left:119px;top:.6em;bottom:30px;width:2px;background:var(--aurora);transform-origin:50% 0;transform:scaleY(var(--p));pointer-events:none;z-index:1}
.day{display:grid;grid-template-columns:100px 1fr;gap:20px;padding-bottom:clamp(34px,4vw,54px)}
.day__n{font-size:clamp(34px,3.6vw,54px);line-height:.88;font-weight:860;font-stretch:118%;letter-spacing:-.02em;text-align:right;padding-right:10px}
.day__n span{display:block;font-size:13.5px;font-weight:600;font-stretch:100%;letter-spacing:0;color:var(--basalt-2);margin-bottom:5px}
.day__b{position:relative;border-left:2px solid rgba(43,33,28,.14);padding-left:30px}
.day__b::before{content:"";position:absolute;left:-7px;top:.5em;width:12px;height:12px;border-radius:50%;background:var(--ash);border:2px solid var(--basalt-2);transition:background .4s,border-color .4s;z-index:2}
.day.is-on .day__b::before{background:var(--aurora);border-color:var(--aurora)}
.day h3{font-size:clamp(22px,2vw,30px);font-weight:780;font-stretch:112%;line-height:1.08;letter-spacing:-.01em}
.day__where{font-size:14.5px;color:var(--basalt-2);margin:5px 0 14px}
.day__b>p:not(.day__where){max-width:62ch}
.day__meta{display:flex;flex-wrap:wrap;gap:8px 34px;margin-top:18px}
.day__meta dt{font-size:13px;color:var(--basalt-2)}
.day__meta dd{font-weight:650;font-size:15.5px}

/* ---------- maps ---------- */
.tmap-wrap{margin-top:28px}
.tmap{display:block;width:100%;height:auto;overflow:hidden;background:transparent}
.tmap .leg{stroke-width:4.5}
.tmap .stop text{font-size:22px;stroke:var(--ash);stroke-width:5px;paint-order:stroke;stroke-linejoin:round}
.tmap .stop circle{r:8px}
.tmap .stop:first-child circle{fill:var(--aurora);stroke:var(--ash-2)}
.tmap .stop:last-child circle{fill:var(--aurora);stroke:var(--ash-2)}
.tmap .ice-label{font-size:17px;fill:#6F6257}
.tmap .sea-label{font-size:15px}
.tmap .scale text{font-size:15px}
.tmap .island{fill:#D9DFDD}

/* ---------- gear, fitness, dates, faq ---------- */
.fit{margin-top:26px;max-width:640px}
.fit__top{display:flex;align-items:flex-end;gap:20px;margin-bottom:12px}
.fit__scale{display:flex;align-items:flex-end;gap:4px;height:36px}
.fit__scale li{width:14px;height:var(--h);background:rgba(43,33,28,.16)}
.fit__scale li.on{background:var(--aurora)}
.fit__k{font-size:15px;color:var(--basalt-2)}
.fit__k b{color:var(--basalt);margin-right:8px;font-weight:700}
.gear{display:grid;grid-template-columns:1fr 1fr;gap:34px clamp(28px,5vw,80px);margin-top:36px}
.gear__g h3{font-size:19px;font-weight:760;font-stretch:108%;margin-bottom:8px}
.gear__g li{position:relative;padding:5px 0 5px 18px;line-height:1.4;font-size:16px;color:var(--basalt-2)}
.gear__g li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:0;border-top:2px solid var(--aurora)}
.tbl-wrap{margin-top:26px;overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tbl th{font-weight:600;font-size:14px;color:var(--basalt-2);text-align:left;padding:10px 16px 10px 0;border-bottom:1.5px solid var(--basalt);white-space:nowrap}
.tbl td,.tbl tbody th{padding:16px 16px 16px 0;border-bottom:1px solid rgba(43,33,28,.16);vertical-align:top;font-size:16px;text-align:left;font-weight:400}
.tbl td b{font-weight:700}
.tbl td.num{text-align:right;white-space:nowrap}
.tbl .act{text-align:right;white-space:nowrap;padding-right:0}
.tbl .act a{color:var(--aurora);font-weight:650;text-underline-offset:4px}
.tbl .few{color:#98402A;font-weight:650}
.tbl .full{color:var(--basalt-2)}
.tbl--bars tbody th{width:34%;font-weight:600}
.tbl--bars td:nth-child(2){width:50%}
.hbar{display:block;height:10px;width:var(--w);background:var(--aurora)}
.tbl--credits td{font-size:14px;padding:10px 12px 10px 0}
.tbl--lt th{color:var(--basalt-2);border-color:var(--basalt)}
.tbl--lt td{border-color:rgba(31,26,23,.18);color:var(--basalt)}
.faq{margin-top:26px;border-top:1.5px solid var(--basalt)}
.faq__i{border-bottom:1px solid rgba(43,33,28,.18)}
.faq__i summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;cursor:pointer;font-weight:650;font-size:18px;line-height:1.3}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .4s var(--ease)}
.faq__i[open] summary svg{transform:rotate(45deg)}
.faq__a p{padding:0 0 24px;max-width:62ch;color:var(--basalt-2)}
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,44px) clamp(14px,2vw,28px);margin-top:36px}
.gal__a{grid-column:1/9}.gal__b{grid-column:9/13;margin-top:clamp(40px,12%,120px)}
.gal__c{grid-column:2/7}.gal__d{grid-column:7/13;margin-top:-8%}
.gal__a img{aspect-ratio:3/2;object-fit:cover}.gal__b img{aspect-ratio:3/4;object-fit:cover}
.gal__c img{aspect-ratio:4/3;object-fit:cover}.gal__d img{aspect-ratio:3/2;object-fit:cover}

/* ---------- season matrix ---------- */
.season{margin-top:28px;overflow-x:auto}
.season table{width:100%;border-collapse:separate;border-spacing:3px;min-width:560px}
.season thead th{font-size:13px;font-weight:600;color:var(--basalt-2);text-align:center;padding:0 0 4px}
.season tbody th{text-align:left;font-weight:600;font-size:15px;padding-right:14px;white-space:nowrap;width:22%}
.season tbody th a{text-decoration:none}.season tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.season td{height:26px;background:rgba(43,33,28,.07)}
.season td.on{background:var(--aurora)}
.season td.au{background:#6FA991}
.season td.sun{background:#C79B52}
.season tr.aux th{font-weight:400;color:var(--basalt-2);font-size:14px}
.season tr.aux:first-of-type th{padding-top:14px}
.season tr.aux:first-of-type td{margin-top:10px}
.season tbody tr.hide{opacity:.25}

/* ---------- expeditions index ---------- */
.filters{display:flex;flex-wrap:wrap;gap:18px clamp(28px,4vw,64px);align-items:flex-end;padding:0 var(--gut) 26px;border-bottom:1.5px solid var(--basalt);margin:0 var(--gut);padding-left:0;padding-right:0}
.fgrp{display:grid;gap:4px}
.fgrp__k{font-size:13.5px;color:var(--basalt-2)}
.fgrp__b{display:flex;flex-wrap:wrap;gap:4px 20px}
.flt{position:relative;border:0;background:none;padding:6px 0;font-weight:620;font-size:16px;color:var(--basalt-2);transition:color .3s}
.flt::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--aurora);transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease)}
.flt:hover{color:var(--basalt)}
.flt[aria-pressed="true"]{color:var(--basalt)}
.flt[aria-pressed="true"]::after{transform:scaleX(1);transform-origin:0 50%}
.fcount{margin-left:auto;font-size:14.5px;color:var(--basalt-2)}
.xlist{padding:0 var(--gut)}
.xrow{display:grid;grid-template-columns:5fr 6fr;gap:clamp(24px,5vw,90px);align-items:center;padding:clamp(30px,4.4vw,64px) 0;border-bottom:1px solid rgba(43,33,28,.16)}
.xrow:nth-child(even){grid-template-columns:6fr 5fr}
.xrow:nth-child(even) .xrow__img{order:2}
.xrow[hidden]{display:none}
.xrow__img{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--ash-3)}
.xrow__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.2s var(--ease)}
.xrow:hover .xrow__img img{transform:scale(1)}
.xrow__where{font-size:14.5px;color:var(--basalt-2)}
.xrow__name{font-size:clamp(32px,4.4vw,72px);margin:8px 0 14px;line-height:.9}
.xrow__name a{text-decoration:none}
.xrow__tag{max-width:44ch;color:var(--basalt-2)}
.xrow__spec{display:flex;flex-wrap:wrap;gap:6px 30px;margin:20px 0}
.xrow__spec dt{font-size:13px;color:var(--basalt-2)}.xrow__spec dd{font-weight:650}
.xrow__links{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.xrow__next{font-size:14.5px;color:var(--basalt-2)}
.xempty{padding:60px var(--gut);font-size:20px}
.xempty p{margin-bottom:14px}
.when{display:grid;grid-template-columns:4fr 8fr;gap:clamp(24px,4vw,70px);align-items:start}
.when__t p{margin-top:18px;max-width:34ch;color:var(--basalt-2)}
.ring{padding:clamp(56px,7vw,110px) var(--gut);margin-top:clamp(56px,7vw,110px);background:var(--ash-2) var(--grain)}
.ring__in{max-width:64ch;margin-left:clamp(0px,20vw,300px)}
.ring__in p{margin-bottom:.9em;color:var(--basalt-2)}

/* ---------- guides ---------- */
.gstair{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px)}
.gcard img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;background:var(--ash-3)}
.gcard:nth-child(2){margin-top:clamp(30px,4vw,70px)}.gcard:nth-child(3){margin-top:clamp(60px,8vw,140px)}.gcard:nth-child(4){margin-top:clamp(90px,12vw,210px)}
.gcard h3{margin-top:16px;font-weight:760;font-stretch:110%;font-size:22px;line-height:1.15}
.gcard h3 a{text-decoration:none}
.gcard__role{font-size:14.5px;color:var(--basalt-2);margin:2px 0 8px}
.gcard p:not(.gcard__role){font-size:15.5px;margin-bottom:10px}
.rest{display:grid;grid-template-columns:4fr 8fr;gap:clamp(24px,4vw,70px);align-items:start}
.grows{display:grid;grid-template-columns:1fr 1fr;gap:34px clamp(20px,3vw,48px)}
.grow{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:start}
.grow img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.grow h3{font-weight:760;font-stretch:108%;font-size:19px}
.grow p{font-size:15px}.grow__t{margin-top:8px;color:var(--basalt-2)}
.gh{display:grid;grid-template-columns:4fr 7fr;gap:clamp(28px,6vw,110px);padding:clamp(120px,16vh,170px) var(--gut) 40px;align-items:end}
.gh__img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--ash-3)}
.gh__b{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.gh__b .back{margin-bottom:34px}
.gh__role{font-size:16px;color:var(--basalt-2);margin-bottom:10px}
.gh__n{font-size:clamp(40px,5.2vw,92px)}
.gh__q{font-size:clamp(21px,2.1vw,32px);line-height:1.2;font-weight:520;font-stretch:104%;max-width:24ch;margin:28px 0}
.prose-sec{display:grid;grid-template-columns:3fr 8fr;gap:40px}
.gstory{background:var(--night);color:var(--basalt);padding:clamp(70px,9vw,140px) var(--gut);margin-top:clamp(56px,7vw,110px)}
.gstory__in{display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,100px);align-items:start}
.gstory__t{font-size:clamp(36px,5.4vw,92px)}
.gstory__b p{font-size:clamp(19px,1.6vw,24px);line-height:1.42;margin-bottom:1em;max-width:36ch}
.ltrips{display:grid;gap:26px;margin-top:30px}
.lt{display:grid;grid-template-columns:min(240px,34vw) 1fr;gap:clamp(16px,3vw,40px);align-items:center}
.lt__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ash-3)}
.lt__img img{width:100%;height:100%;object-fit:cover}
.lt h3{font-weight:780;font-stretch:112%;font-size:clamp(20px,2vw,28px)}.lt h3 a{text-decoration:none}
.lt p{color:var(--basalt-2)}
.gpost__a{display:grid;gap:10px;max-width:760px;text-decoration:none;margin-top:14px}
.gpost__d{font-size:14.5px;color:var(--basalt-2)}.gpost__t{font-size:clamp(28px,3.4vw,54px);line-height:.92}
.gpost__dek{color:var(--basalt-2);max-width:48ch}

/* ---------- journal ---------- */
.jlist{display:grid;gap:clamp(56px,8vw,120px)}
.jrow{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,80px);align-items:center}
.jrow:nth-child(even){grid-template-columns:5fr 7fr}
.jrow:nth-child(even) .jrow__img{order:2}
.jrow__img{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--ash-3)}
.jrow--lead .jrow__img{aspect-ratio:16/10}
.jrow__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.2s var(--ease)}
.jrow:hover .jrow__img img{transform:scale(1)}
.jrow__meta{font-size:14.5px;color:var(--basalt-2);margin-bottom:10px}
.jrow__t{font-size:clamp(30px,3.9vw,62px);line-height:.92;margin-bottom:16px}.jrow__t a{text-decoration:none}
.jrow__dek{max-width:40ch;color:var(--basalt-2);margin-bottom:16px}
.jrow__by{font-size:15px}
.post{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:clamp(24px,5vw,90px);padding:clamp(56px,7vw,110px) var(--gut) 0;align-items:start}
.post__meta{position:sticky;top:92px;font-size:15px;display:grid;gap:16px;color:var(--basalt-2)}
.post__meta b{display:block;color:var(--basalt);font-size:17px}
.post__body{max-width:680px}
.post__body>p{font-size:19px;line-height:1.66;margin-bottom:1.15em}
.post__body>p:first-child::first-line{font-weight:650}
.post__body .fig{margin:44px 0 48px;width:calc(100% + clamp(0px,16vw,260px));max-width:none}
.cta{background:var(--night);color:var(--basalt);padding:clamp(80px,10vw,150px) var(--gut);margin-top:clamp(64px,8vw,120px)}
.cta__in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,6vw,100px);align-items:end}
.cta__t{font-size:clamp(42px,6.8vw,116px)}
.cta__r p{margin-bottom:18px;max-width:38ch;color:var(--basalt-2)}
.cta__g{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.cta__g img{width:72px;height:96px;object-fit:cover;flex:0 0 72px}
.cta__g p{margin:0;font-size:15px}.cta__g b{display:block;font-size:17px;color:var(--basalt)}
.cta__g a{color:var(--aurora-lt)}
.cta__post a{color:var(--aurora-lt)}
.cta--post{margin-top:clamp(56px,7vw,100px)}
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--basalt)}
.pager a{display:grid;gap:6px;padding:clamp(28px,4vw,54px) var(--gut);text-decoration:none;transition:background .4s}
.pager a:hover{background:var(--ash-2)}
.pager span{font-size:14px;color:var(--basalt-2)}
.pager b{font-size:clamp(20px,2.4vw,36px);font-weight:820;font-stretch:115%;text-transform:uppercase;line-height:1;letter-spacing:-.01em}
.pager svg{width:22px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.pager__r{text-align:right;justify-items:end;border-left:1px solid rgba(43,33,28,.16)}

/* ---------- route page ---------- */
.rt{display:grid;grid-template-columns:5fr 6fr;gap:clamp(24px,4vw,70px);padding:20px var(--gut) 0;align-items:start}
.rt__hint{color:var(--basalt-2);margin-bottom:20px;font-size:15px}
.rdays{border-top:1.5px solid var(--basalt)}
.rday{border-bottom:1px solid rgba(43,33,28,.16)}
.rday summary{list-style:none;display:grid;grid-template-columns:64px 1fr minmax(70px,110px) 18px;gap:14px;align-items:center;padding:15px 0;cursor:pointer}
.rday summary::-webkit-details-marker{display:none}
.rday summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .4s var(--ease)}
.rday[open] summary svg{transform:rotate(45deg)}
.rday__n{font-size:26px;font-weight:860;font-stretch:118%;line-height:.9;letter-spacing:-.02em;text-align:right}
.rday__n span{display:block;font-size:12.5px;font-weight:600;font-stretch:100%;letter-spacing:0;color:var(--basalt-2);margin-bottom:3px}
.rday__h b{display:block;font-weight:760;font-stretch:110%;font-size:19px;line-height:1.1}
.rday__h span{display:block;font-size:14.5px;color:var(--basalt-2);margin-top:2px}
.rday__km{display:grid;gap:4px;justify-items:end}
.rday__km i{display:block;height:4px;width:var(--w);background:var(--aurora);justify-self:start}
.rday__km em{font-style:normal;font-size:13px;color:var(--basalt-2)}
.rday__b{padding:0 0 24px 78px;max-width:62ch}
.rday__b p{color:var(--basalt)}
.rt__map{position:sticky;top:64px}
.rmap svg{width:100%;height:auto;display:block;overflow:visible;max-height:calc(100svh - 90px)}
.js .rmap .leg{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .9s var(--ease)}
.js .rmap .leg.is-on{stroke-dashoffset:0}
.rmap .stop{opacity:.32;transition:opacity .5s}
.rmap .stop.is-on{opacity:1}
.rmap .stop text{font-size:21px;stroke:var(--ash);stroke-width:5px;paint-order:stroke;stroke-linejoin:round}
.rmap .stop.is-cur circle{fill:var(--aurora);stroke:var(--ash-2)}
.rmap .ice-label{font-size:16px}
.rf{display:grid;grid-template-columns:5fr 6fr;gap:clamp(24px,5vw,90px);align-items:start}
.rf__t p{margin-top:18px;max-width:40ch;color:var(--basalt-2)}
.route__cta{margin-top:30px}
.strip{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.4vw,36px);padding:clamp(70px,9vw,140px) var(--gut) 0}
.strip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.strip figcaption{font-size:14px;color:var(--basalt-2);margin-top:10px}
.strip__a{grid-column:1/5}.strip__b{grid-column:5/9;margin-top:clamp(30px,6vw,90px)}.strip__c{grid-column:9/13;margin-top:clamp(60px,12vw,180px)}
.strip__d{grid-column:2/7;margin-top:clamp(0px,2vw,20px)}.strip__e{grid-column:7/12;margin-top:clamp(40px,7vw,110px)}

/* ---------- enquire page + booking ---------- */
.enquire--pg .enquire__photo{height:clamp(340px,56vh,620px)}
.enquire__ask{margin-top:22px;font-weight:650;color:var(--aurora);max-width:30ch}
.enquire__go{display:grid;gap:22px;align-content:start}
.enquire__go .send-btn{text-decoration:none;justify-self:start}
.enquire__body--home{padding-bottom:clamp(90px,10vw,150px)}
.booking{background:var(--night);color:var(--basalt);padding:0 var(--gut) clamp(90px,10vw,150px)}
.booking__in{display:grid;grid-template-columns:4fr 7fr;gap:clamp(32px,6vw,110px);align-items:start;border-top:1px solid rgba(31,26,23,.25);padding-top:clamp(60px,8vw,110px)}
.booking__t{grid-row:span 4;font-size:clamp(38px,5.2vw,88px)}
.steps{counter-reset:s;display:grid;gap:0}
.steps li{counter-increment:s;position:relative;padding:16px 0 16px 56px;border-bottom:1px solid rgba(31,26,23,.18);color:var(--basalt-2);max-width:60ch}
.steps li::before{content:counter(s);position:absolute;left:0;top:14px;font-weight:860;font-stretch:118%;font-size:30px;line-height:1;color:var(--aurora-lt)}
.steps b{color:var(--basalt)}
.booking .h3{margin-top:44px}
.thanks .lnk{margin-top:10px}

/* ---------- home additions ---------- */
.card__img{display:block;border-radius:6px}
.guide img{border-radius:6px}
.card__name a{text-decoration:none}
.guide h3 a{text-decoration:none}
.guide a{display:block}
.ethos__more{margin-top:clamp(40px,5vw,80px)}
.exp__intro p+p{margin-top:16px}
.exp__end{flex:0 0 clamp(220px,18vw,300px);align-self:center;padding:0 20px}
.route__more{margin-top:22px}
.guides__head p a{text-underline-offset:3px}
.jteaser{padding:clamp(60px,8vw,120px) var(--gut) clamp(70px,9vw,130px)}
.jteaser__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.jt-list{border-top:1.5px solid var(--basalt)}
.jt a{display:grid;grid-template-columns:clamp(110px,14vw,200px) 1fr;gap:clamp(16px,3vw,44px);align-items:center;padding:16px 0;border-bottom:1px solid rgba(43,33,28,.16);text-decoration:none}
.jt__img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--ash-3)}
.jt__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.jt a:hover .jt__img img{transform:scale(1.05)}
.jt__b{display:grid;gap:4px}
.jt__d{font-size:14px;color:var(--basalt-2)}
.jt__t{font-size:clamp(20px,2.4vw,36px);font-weight:820;font-stretch:115%;text-transform:uppercase;line-height:1;letter-spacing:-.01em}
.jt__a{font-size:14.5px;color:var(--basalt-2)}

/* ---------- 404 ---------- */
.nf{display:grid;grid-template-columns:7fr 4fr;gap:40px;align-items:center;min-height:86vh;padding:130px var(--gut) 60px}
.nf__p{margin:26px 0 30px;max-width:34ch;font-size:20px}
.nf__l{display:flex;flex-wrap:wrap;gap:20px 30px;align-items:center}
.nf__svg{width:100%;max-width:360px;justify-self:end;fill:none;stroke:var(--basalt);stroke-width:1.6;stroke-linejoin:round}
.nf__svg .thin{stroke-width:.9}.nf__svg .fill{fill:var(--basalt)}

/* ---------- footer, 4 columns ---------- */
.foot__cols{grid-template-columns:repeat(4,1fr)}
.foot a[href^="mailto"],.foot a[href^="tel"]{text-underline-offset:3px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .trip,.ethos-pg,.post{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;margin-bottom:34px}
  .toc ol{display:flex;gap:6px 18px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .toc ol::-webkit-scrollbar{display:none}
  .toc a{border-left:0;border-bottom:2px solid rgba(43,33,28,.14);padding:6px 0;white-space:nowrap}
  .toc a[aria-current="true"]{border-color:var(--aurora)}
  .toc__cta{display:none}
  .post__meta{position:static;grid-template-columns:repeat(3,auto);justify-content:start;gap:20px 40px;margin-bottom:30px}
  .post__body .fig{width:100%}
}
@media (max-width:900px){
  .menu__in{grid-template-columns:minmax(0,1fr);gap:28px}
  .menu__side{max-width:420px}
  .menu__trips a{padding:8px 0;font-size:16px}
  .menu{overflow-y:auto}
  .ph,.gh,.cta__in,.booking__in,.rt,.rf,.nf,.jrow,.jrow:nth-child(even),.rest,.when,.gstory__in,.prose-sec{grid-template-columns:minmax(0,1fr)}
  .ph{gap:14px}
  .booking__t{grid-row:auto}
  .intro,.two{grid-template-columns:minmax(0,1fr)}
  .gear{grid-template-columns:minmax(0,1fr)}
  .xrow,.xrow:nth-child(even){grid-template-columns:minmax(0,1fr);gap:20px}
  .xrow:nth-child(even) .xrow__img,.jrow:nth-child(even) .jrow__img{order:0}
  .gstair{grid-template-columns:1fr 1fr}
  .gcard:nth-child(2){margin-top:48px}.gcard:nth-child(3){margin-top:-48px}.gcard:nth-child(4){margin-top:0}
  .grows{grid-template-columns:minmax(0,1fr)}
  .rt__map{position:static;order:-1}
  .rmap svg{max-height:none}
  .clim-grid{grid-template-columns:minmax(0,1fr)}
  .gal__a{grid-column:1/13}.gal__b{grid-column:5/13;margin-top:0}.gal__c{grid-column:1/10}.gal__d{grid-column:1/13;margin-top:0}
  .strip__a{grid-column:1/9}.strip__b{grid-column:5/13;margin-top:0}.strip__c{grid-column:1/9;margin-top:0}.strip__d{grid-column:1/13;margin-top:0}.strip__e{grid-column:4/13;margin-top:0}
  .ring__in{margin-left:0}
  .foot__cols{grid-template-columns:1fr 1fr}
  .hx{--stair:polygon(0 0,100% 0,100% 100%,75% 100%,75% 96%,50% 96%,50% 92%,25% 92%,25% 88%,0 88%)}
  .hx__in{padding-bottom:calc(var(--hxh)*.12 + 26px)}
  .hx__foot{flex-direction:column;align-items:flex-start;gap:18px}
  .hx__next{text-align:left;min-width:0;width:100%}
  .hx__next-v{justify-content:flex-start}
  .fcount{margin-left:0;width:100%}
  .nf__svg{justify-self:start;max-width:220px;order:-1}
  .jt a{grid-template-columns:110px 1fr}
  .exp__end{display:none}
  .pager b{font-size:18px}
}
@media (max-width:720px){
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;padding:16px 0;border-bottom:1px solid rgba(43,33,28,.16)}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td{display:block;padding:0;border:0}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td::before{content:attr(data-l);display:block;font-size:12.5px;color:var(--basalt-2)}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td.act{grid-column:1/-1;text-align:left}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td.act::before{display:none}
  .tbl--lt tbody tr{border-bottom-color:rgba(31,26,23,.18)}
  .tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td[data-l="Paid for"],.tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td[data-l="Notes"],.tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td[data-l="Commitment"],.tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td[data-l="Meeting point"],.tbl-wrap table:not(.tbl--bars):not(.tbl--plain) tbody td[data-l="What it means"]{grid-column:1/-1}
  .tbl--bars tbody th{width:auto;font-size:14px}
  .tbl--bars td.num{font-size:14px}
  .day{grid-template-columns:62px 1fr;gap:12px}
  .days-list__line{left:73px}
  .day__n{padding-right:6px}
  .day__b{padding-left:22px}
  .rday summary{grid-template-columns:48px 1fr 16px}
  .rday__km{display:none}
  .rday__b{padding-left:62px}
  .rday__n{font-size:22px}
}
@media (max-width:600px){
  .menu__list a{font-size:min(10.6vw,7.4vh)}
  .menu{padding-top:96px}
  .menu__legal{width:100%}
  .foot__cols{grid-template-columns:1fr 1fr}
  .facts,.facts--s{grid-template-columns:minmax(0,1fr)}
  .grow{grid-template-columns:90px 1fr}
  .lt{grid-template-columns:110px 1fr}
  .cta__g img{width:60px;height:80px;flex-basis:60px}
  .gstair{gap:14px}
  .pager{grid-template-columns:minmax(0,1fr)}
  .pager__r{text-align:left;justify-items:start;border-left:0;border-top:1px solid rgba(43,33,28,.16)}
  .pager__r svg{order:-1}
  .post__meta{grid-template-columns:minmax(0,1fr)}
  .ph{padding-top:112px}
  .h1{font-size:clamp(34px,9.2vw,76px)}
  .cta__t{font-size:clamp(28px,8.2vw,60px)}
  .hx .h1{font-size:clamp(28px,8vw,70px)}
  .h1--post,.hx .h1--post{font-size:clamp(28px,8.4vw,60px)}
  .xrow__name{font-size:clamp(28px,8vw,52px)}
  .gstory__t{font-size:clamp(28px,8vw,60px)}
  .gh__n{font-size:clamp(34px,10vw,70px)}
  .gh{padding-top:104px}
  .season td{height:22px}
  .season tbody th{width:auto;font-size:13.5px;white-space:normal;min-width:96px}
  .tmap .stop text{font-size:28px}
  .rmap .stop text{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  .js .hx__media img{will-change:auto}
  .js .rmap .leg{transition:none}
}

/* ---------- charts draw on view ---------- */
.js .profile .pline{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
.js .profile .area,.js .profile .mk,.js .profile .mkc,.js .profile .ml{opacity:0}
.js .profile.is-in .pline{stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease)}
.js .profile.is-in .area{opacity:1;transition:opacity 1.2s .6s}
.js .profile.is-in .mk,.js .profile.is-in .mkc,.js .profile.is-in .ml{opacity:1;transition:opacity .8s 1s}
@media (prefers-reduced-motion:reduce){.js .profile .pline{stroke-dashoffset:0;transition:none}.js .profile .area,.js .profile .mk,.js .profile .mkc,.js .profile .ml{opacity:1;transition:none}}

.h1--md{font-size:clamp(40px,7vw,120px)}
.ph--wide{grid-template-columns:9fr 4fr}
.grow__img{display:block}

.trip>*,.ethos-pg>*,.post>*,.ph>*,.gh>*,.rt>*,.cta__in>*,.booking__in>*,.xrow>*,.jrow>*,.gstory__in>*,.rest>*,.when>*,.rf>*,.prose-sec>*,.intro>*,.two>*{min-width:0}

.display{overflow-wrap:normal;hyphens:manual}

.season,.tbl-wrap,.chart__sc,.faq{position:relative}

.tbl--lt td::before{color:var(--basalt-2)}
@media (max-width:600px){
  .season table{min-width:0;border-spacing:2px}
  .season tbody th{width:96px;font-size:12.5px;padding-right:6px;line-height:1.2}
  .season thead th{font-size:11.5px}
  .season tr.aux th{font-size:12.5px}
}

/* ---------- entrances: CSS only, under 0.8 s, never block scroll or clicks ---------- */
@keyframes pagein{from{opacity:0}}
@keyframes rise{from{transform:translateY(108%)}}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}}
@keyframes tileIn{from{transform:translateY(calc(var(--off,0)*-1px))}}
@keyframes imgIn{from{transform:translateY(calc(var(--off,0)*1px))}}
body{animation:pagein .16s ease-out}
html.leaving body{opacity:0;transition:opacity .16s linear}
.tile{animation:tileIn .6s cubic-bezier(.65,0,.25,1) calc(var(--c,0)*40ms) backwards}
.tile__img{animation:imgIn .6s cubic-bezier(.65,0,.25,1) calc(var(--c,0)*40ms) backwards}
.hero__title .line>span,.h1 .line>span{animation:rise .7s var(--ease) .06s backwards}
.hero__aside,.hero__foot>*,.hx__foot>*,.ph__r,.gh__role,.gh__q,.nf__p,.nf__l{animation:fadeup .7s var(--ease) .15s backwards}
.hero__shade{animation:pagein .6s ease-out backwards}
@media (prefers-reduced-motion:reduce){body,.tile,.tile__img,.hero__title .line>span,.h1 .line>span,.hero__aside,.hero__foot>*,.hx__foot>*,.ph__r,.hero__shade{animation:none!important}html.leaving body{transition:none}}

.stories,.route{overflow-x:clip}

::selection{background:#BFE3D4;color:#1F1A17}
.photo-top .top :focus-visible,.hx :focus-visible,.enquire__photo :focus-visible{outline-color:#fff}

.aurora__img{opacity:.34}

.sound-btn[aria-pressed="false"]{opacity:1}
.sound-btn[aria-pressed="false"] .sound-btn__txt{opacity:.9}
.tmap .ice-label,.rmap .ice-label{fill:#3A332E}

@media (max-width:699px){.hero__shade{height:64%}}
@media (max-width:699px){.hero__shade{height:74%;background:linear-gradient(to top,rgba(24,19,16,.86),rgba(24,19,16,.62) 45%,rgba(24,19,16,0))}}
