/* HBV ALPINE EXPEDITION — V3 / EXPERIENCE AND FOOTER
   Responsive art direction: cinematic hero on desktop, deliberate progressive disclosure on mobile.
   All expedition status information is indicative. No live booking is represented. */
:root{--xp-ink:#102229;--xp-cream:#f7f5f0;--xp-hairline:rgba(255,255,255,.28);--xp-font:'Montserrat','Avenir Next',Arial,sans-serif}
#detail-view{padding:0;background:var(--xp-cream)}
/* 01 — Cinematic scene */
.xp-hero{position:relative;min-height:800px;height:max(790px,calc(100svh - 92px));max-height:1050px;isolation:isolate;overflow:hidden;color:#fff;background:#132732;font-family:var(--xp-font)}
.xp-photo,.xp-vignette{position:absolute;inset:0;pointer-events:none}
.xp-photo{background-image:var(--xp-photo);background-size:cover;background-position:center 53%;animation:xp-reveal 1.35s ease-out both;transform-origin:center center}
.xp-vignette{background:linear-gradient(90deg,rgba(5,17,25,.82) 0,rgba(4,19,29,.56) 42%,rgba(4,17,25,.08) 80%),linear-gradient(0deg,rgba(4,16,21,.96) 0%,rgba(4,18,24,.52) 31%,transparent 69%),linear-gradient(180deg,rgba(6,20,28,.35),transparent 22%)}
.xp-hero-inner{position:relative;z-index:2;min-height:100%;max-width:1700px;margin:auto;padding:clamp(68px,8.5vh,98px) clamp(26px,5.5vw,110px) 42px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.xp-hero-inner button{pointer-events:auto}
.xp-heading{max-width:min(840px,76vw)}
.xp-return{font-weight:600;letter-spacing:.125em;font-size:10px;color:#fff;border:0;background:none;padding:9px 0;margin:0 0 46px}
.xp-return:hover{opacity:.75}.xp-kicker{font-size:10px;font-weight:600;letter-spacing:.22em;color:#fff;margin:0 0 19px;text-transform:uppercase}
.xp-heading h1{font-size:clamp(67px,7.4vw,128px);font-weight:500;letter-spacing:-.072em;line-height:.97;max-width:1000px;text-wrap:balance;margin:0 0 19px;animation:xp-slide .8s .13s ease-out both}
.xp-subline{font-size:clamp(13px,1.3vw,17px);font-weight:400;max-width:480px;line-height:1.6;color:#f1f4f0;animation:xp-slide .8s .3s ease-out both}
.xp-overlay-data{max-width:1400px;width:100%;animation:xp-slide .85s .42s ease-out both}
.xp-spec-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:rgba(8,24,31,.18);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-top:1px solid var(--xp-hairline);border-bottom:1px solid var(--xp-hairline)}
.xp-spec{padding:14px 12px 15px;display:flex;gap:11px;align-items:flex-start;min-width:0;border-right:1px solid var(--xp-hairline)}.xp-spec:nth-child(4n){border-right:0}.xp-spec:nth-child(n+5){border-top:1px solid var(--xp-hairline)}
.xp-spec-icon{font-size:20px;line-height:1.12;opacity:.83;font-family:Arial,sans-serif;font-weight:300;min-width:23px}.xp-spec-text{display:flex;flex-direction:column;min-width:0}.xp-spec small{font-size:10px;color:#d0d9d7;line-height:1.3;margin-bottom:4px}.xp-spec strong{font-weight:500;font-size:clamp(11px,1.08vw,14px);line-height:1.4;overflow-wrap:anywhere}
.xp-info-row{display:grid;grid-template-columns:1fr 1.7fr;gap:34px;padding:17px 3px 17px;border-bottom:1px solid var(--xp-hairline)}.xp-info-intro,.xp-point-story{display:flex;flex-direction:column;gap:5px;max-width:630px}.xp-tiny{font-size:9px;color:#e3d2b4;letter-spacing:.16em;font-weight:600}.xp-info-row strong{font-size:13px;font-weight:600}.xp-info-row small{font-size:11px;line-height:1.6;color:#e0e4e1}.xp-point-story{transition:opacity .2s}
.xp-desktop-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:22px}.xp-button{border:1px solid transparent;min-height:51px;min-width:180px;display:inline-flex;align-items:center;justify-content:space-between;padding:15px 19px;font-size:11px;font-family:var(--xp-font);font-weight:600;letter-spacing:.015em;transition:background .2s,color .2s,transform .2s;text-align:left}.xp-button:hover{transform:translateY(-2px)}.xp-button-light{background:#fff;color:#102329}.xp-button-glass{background:rgba(16,37,45,.3);color:#fff;border-color:rgba(255,255,255,.7);backdrop-filter:blur(8px)}.xp-button-glass:hover{background:#fff;color:#102329}.xp-button-dark{background:#0d242b;color:#fff}.xp-overlay-foot{font-size:8px;letter-spacing:.13em;color:#d5d8d2;margin-top:14px}
/* 3 expressive, interactive moments, not a georeferenced path */
.xp-route-visual{position:absolute;z-index:2;top:13%;right:5.8%;width:min(34vw,470px);height:min(37vh,320px);pointer-events:none}.xp-route-line{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 1px 2px #0009);animation:xp-line .9s 1s both}
.xp-point{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:9px;border:0;color:#fff;background:none;font-family:var(--xp-font);font-size:9px;font-weight:500;letter-spacing:.01em;text-align:left;filter:drop-shadow(0 2px 5px #000b);cursor:pointer}.xp-point-0{left:13%;top:78%}.xp-point-1{left:39%;top:57%}.xp-point-2{left:65%;top:14%}
.xp-point-core{width:12px;height:12px;background:#fff;border:2px solid rgba(255,255,255,.9);outline:1px solid rgba(8,20,27,.5);border-radius:50%;box-shadow:0 0 0 6px rgba(255,255,255,.13);transition:box-shadow .25s,background .2s;flex:none}.xp-point.selected .xp-point-core{background:#bea27d;box-shadow:0 0 0 9px rgba(255,255,255,.18)}.xp-point:hover .xp-point-core{box-shadow:0 0 0 10px rgba(255,255,255,.22)}.xp-point-text{background:#102329a9;backdrop-filter:blur(6px);padding:8px 10px;max-width:112px;line-height:1.3}.xp-point.selected .xp-point-text{background:#faf8f2;color:#0d2228}
.xp-mobile-highlights,.xp-mobile-info,.xp-mobile-hero-bottom,.xp-mobile-fixed{display:none}
/* 02 — concise experience narrative */
.xp-story{padding:100px clamp(25px,7vw,120px) 120px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,9vw,180px);max-width:1700px;margin:auto;background:var(--xp-cream)}
.xp-section-number{font-size:10px;letter-spacing:.2em;font-weight:600;color:#7a8583;text-transform:uppercase}.xp-story h2,.xp-route-head h2,.xp-readiness h2{font-family:var(--xp-font);font-weight:500;line-height:1.12;letter-spacing:-.063em}
.xp-story h2{font-size:clamp(40px,5vw,78px);margin:27px 0 45px}.xp-story h2 span{font-weight:300}.xp-simple-link{border:0;border-bottom:1px solid currentColor;background:none;color:inherit;display:inline-block;padding:0 0 8px;font:600 10px/1.5 var(--xp-font);text-decoration:none;letter-spacing:.04em;cursor:pointer}.xp-simple-link:hover{opacity:.65}
.xp-story-copy{padding-top:42px}.xp-story-copy p{font-size:15px;line-height:2;color:#526161;margin-bottom:22px}.xp-story-copy .xp-source-note{font-size:11px;line-height:1.8;margin-top:24px;color:#77807f}
.xp-route-section{padding:94px clamp(25px,7vw,120px) 120px;background:#eae9e3}
.xp-route-head{max-width:1400px;margin:0 auto 46px;display:flex;justify-content:space-between;align-items:end;gap:50px}.xp-route-head h2{font-size:clamp(42px,5vw,78px);margin:24px 0 0}.xp-route-head>p{max-width:340px;line-height:1.7;color:#65706c;font-size:13px}
.xp-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1400px;margin:auto}.xp-route-card{min-height:270px;padding:32px;background:#fbfaf6;border:1px solid #d5d8d0;display:flex;align-items:flex-start;flex-direction:column;text-align:left;transition:transform .25s,border-color .25s,background .25s}.xp-route-card:hover,.xp-route-card.selected{transform:translateY(-4px);border-color:#5d7478;background:white}.xp-route-card-id{font-size:10px;letter-spacing:.12em;color:#798887}.xp-route-card strong{margin:auto 0 20px;font-size:clamp(20px,2.3vw,34px);line-height:1.15;font-weight:500;letter-spacing:-.05em}.xp-route-card small{color:#637272;font-size:12px;line-height:1.75}
.xp-readiness{background:#f9f8f3;display:grid;grid-template-columns:1fr 1fr;min-height:560px}.xp-readiness-img{min-height:560px;background:url('assets/guides.jpg') center/cover}.xp-readiness-copy{padding:90px clamp(28px,7vw,110px);align-self:center}.xp-readiness h2{font-size:clamp(38px,4vw,65px);margin:25px 0}.xp-readiness p{font-size:14px;color:#576767;line-height:1.9;max-width:535px}.xp-readiness-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:33px}
/* 03 — Footer is a branded closing scene, not an agency listing */
.footer-v3{position:relative;isolation:isolate;background:#081923;color:#f9faf7;padding:0;overflow:hidden}.foot-scenery{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#081720 0%,rgba(7,22,29,.74) 48%,rgba(5,20,27,.77) 100%),url('assets/footer-panorama.jpg') center 48%/cover;opacity:1;transform:scale(1.01)}
.foot-v3-top{padding:clamp(80px,9vw,150px) clamp(25px,6.5vw,110px) clamp(55px,6vw,100px);display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;max-width:1700px;margin:auto}.foot-v3-eyebrow{font-weight:600;font-size:10px;letter-spacing:.2em;color:#d9e0dc}.foot-v3-message h2{font-family:var(--xp-font);font-weight:500;font-style:normal;font-size:clamp(64px,7.6vw,124px);line-height:.96;letter-spacing:-.074em;margin:28px 0 28px}.foot-v3-message h2 span{color:#bda17d}.foot-v3-message>p{color:#e5ece7;font-size:14px;line-height:1.9;margin:0 0 32px}.foot-v3-maincta{background:#fbfaf5;color:#0a2029;padding:20px 25px;min-width:280px;border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-family:var(--xp-font);font-weight:700;font-size:10px;letter-spacing:.065em;transition:transform .2s}.foot-v3-maincta:hover{transform:translateY(-3px)}
.foot-v3-right{display:flex;flex-direction:column;justify-content:space-between;gap:85px}.foot-v3-badge{display:grid;align-self:flex-end;grid-template-columns:48px auto;column-gap:13px;align-items:center;text-align:left}.foot-v3-badge svg{grid-row:1/3}.foot-v3-badge strong{font-size:24px;line-height:1;font-weight:500;letter-spacing:.18em}.foot-v3-badge small{font-size:8px;letter-spacing:.16em}.foot-v3-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.foot-v3-links>div{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.foot-v3-links>div>span{font-size:10px;letter-spacing:.18em;color:#a2b6b5;margin-bottom:10px}.foot-v3-links button,.foot-v3-links a{border:0;padding:0;color:#fff;background:none;font-size:12px;font-family:var(--xp-font);text-align:left;text-decoration:none;line-height:1.7}.foot-v3-links button:hover,.foot-v3-links a:hover{color:#d0b28c}
.foot-v3-bottom{max-width:1700px;margin:auto;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid #ffffff4b;padding:22px clamp(25px,6.5vw,110px) 30px;color:#afc0c0;font-size:10px;letter-spacing:.015em}
@keyframes xp-reveal{from{opacity:.5;transform:scale(1.075)}to{opacity:1;transform:scale(1)}}
@keyframes xp-slide{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}
@keyframes xp-line{from{opacity:0}to{opacity:1}}
@media (min-width:601px) and (max-height:770px){.xp-hero{height:auto;min-height:780px}.xp-hero-inner{padding-top:65px}}
@media (max-width:1050px) and (min-width:601px){.xp-hero{min-height:900px}.xp-route-visual{top:20%;right:2%;width:37vw}.xp-heading{max-width:74%}.xp-heading h1{font-size:clamp(54px,7.5vw,82px)}.xp-spec-row{grid-template-columns:repeat(4,minmax(0,1fr))}.xp-spec{padding:12px 8px}.xp-spec-icon{font-size:15px;min-width:14px}.xp-spec strong{font-size:11px}.xp-info-row{gap:20px}.xp-desktop-actions .xp-button{min-width:0;flex:1}.foot-v3-top{gap:4vw}}
@media (max-width:600px){
 #detail-view{overflow:clip}.xp-hero{height:auto;min-height:max(620px,calc(100svh - 74px));max-height:none;overflow:hidden}
 .xp-photo{background-image:var(--xp-mobile-photo);background-position:center 44%;background-size:cover}
 .xp-vignette{background:linear-gradient(180deg,rgba(2,15,21,.64) 0%,rgba(5,20,26,.08) 31%,rgba(4,15,22,.24) 52%,rgba(4,16,24,.93) 87%,#071922 100%),linear-gradient(90deg,#071a2765,transparent 65%)}
 .xp-hero-inner{min-height:inherit;padding:35px 23px 116px;display:block}
 .xp-heading{max-width:100%;position:relative;z-index:3}.xp-return{font-size:9px;margin-bottom:31px}.xp-kicker{font-size:9px;letter-spacing:.13em;margin-bottom:14px}.xp-heading h1{font-size:clamp(40px,10.4vw,59px);line-height:1.02;letter-spacing:-.067em;max-width:370px;text-wrap:balance;margin-bottom:13px}.xp-subline{font-size:12px;max-width:275px;line-height:1.5;color:#f6f5f0}
 .xp-route-visual{z-index:3;right:13px;top:40%;height:26%;width:57%;max-height:190px;opacity:.96}
 .xp-route-line{opacity:.65}.xp-point{font-size:0;gap:0;padding:11px}.xp-point-core{width:11px;height:11px}.xp-point-text{display:none}.xp-point-0{left:1%;top:75%}.xp-point-1{left:29%;top:53%}.xp-point-2{left:61%;top:12%}
 .xp-mobile-highlights{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px;max-width:310px}.xp-mobile-highlights span{background:#08222ab0;backdrop-filter:blur(8px);color:#fff;border:1px solid #ffffff49;padding:8px 9px;font-size:10px;line-height:1.3}
 .xp-overlay-data{display:none}
 .xp-mobile-hero-bottom{display:block;position:absolute;left:22px;right:22px;bottom:83px;z-index:4}.xp-mobile-more{width:100%;border:1px solid #fff8;padding:15px 16px;background:#09232ec2;backdrop-filter:blur(7px);display:flex;justify-content:space-between;align-items:center;gap:15px;color:#fff;font-size:10px;font-family:var(--xp-font);font-weight:600;letter-spacing:.11em;min-height:52px}.xp-mobile-more span{font-size:19px;font-weight:300}.xp-mobile-hero-bottom>p{font-size:10px;letter-spacing:.03em;margin:10px 0 0;color:#d9e5df}
 .xp-mobile-fixed{display:flex;position:fixed;z-index:28;left:0;right:0;bottom:0;background:#fcfaf5;padding:10px 15px calc(10px + env(safe-area-inset-bottom,0px));gap:8px;box-shadow:0 -4px 32px rgba(0,0,0,.18)}.xp-mobile-fixed button{min-height:48px;border:0;font:600 12px var(--xp-font)}.xp-mobile-fixed button:first-child{background:#0e2831;color:#fff;flex:1;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.xp-mobile-fixed button:last-child{background:#e5eae6;color:#09232c;width:50px;font-size:17px}
 body:not(.on-experience) .xp-mobile-fixed,body.wizard-open .xp-mobile-fixed{display:none}
 .xp-mobile-info{display:block;position:absolute;left:12px;right:12px;bottom:83px;z-index:10;max-height:min(68svh,505px);background:#f7f6f0;color:#10262d;padding:18px 18px 20px;overflow:auto;overscroll-behavior:contain;box-shadow:0 -10px 60px #000a;transform:translateY(calc(100% + 100px));opacity:0;visibility:hidden;transition:transform .35s,opacity .3s,visibility .3s}
 .facts-expanded .xp-mobile-info{transform:translateY(0);opacity:1;visibility:visible}
 .xp-mobile-info-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #cfd4ce;padding-bottom:13px;font-size:9px;letter-spacing:.1em;font-weight:600}.xp-mobile-info-head button{border:1px solid #cbd0ca;background:none;width:33px;height:33px}.xp-mobile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:8px}.xp-mobile-info-grid .xp-spec{border:0;border-bottom:1px solid #d9dbd5;padding:15px 6px;gap:6px}.xp-mobile-info-grid .xp-spec-icon{font-size:15px;min-width:18px}.xp-mobile-info-grid .xp-spec small{font-size:9px;color:#728080}.xp-mobile-info-grid .xp-spec strong{font-size:11px;color:#182c32;font-weight:600}
 .xp-mobile-info-note{color:#6b7878;font-size:10px;line-height:1.7;padding:15px 0}.xp-mobile-info .xp-button{width:100%;min-width:0}
 .xp-story{padding:75px 25px 92px;display:block}.xp-story h2{font-size:clamp(39px,10vw,52px);margin:22px 0 26px}.xp-story-copy{padding:0}.xp-story-copy p{font-size:13px;line-height:1.85}.xp-route-section{padding:78px 23px 90px}.xp-route-head{display:block;margin-bottom:32px}.xp-route-head h2{font-size:clamp(39px,10vw,55px)}.xp-route-head>p{font-size:12px;margin:20px 0 0}.xp-route-grid{grid-template-columns:1fr;gap:8px}.xp-route-card{min-height:175px;padding:23px}.xp-route-card strong{font-size:24px;margin:25px 0 9px}.xp-route-card small{font-size:11px}.xp-readiness{grid-template-columns:1fr}.xp-readiness-img{min-height:340px}.xp-readiness-copy{padding:75px 25px 105px}.xp-readiness h2{font-size:43px}.xp-readiness-actions{align-items:flex-start;flex-direction:column;gap:22px}.xp-readiness-actions .xp-button{width:100%}
 /* Branded footer, with room for fixed action bar only while on detail view */
 .foot-v3-top{display:block;padding:90px 24px 68px}.foot-v3-message h2{font-size:clamp(64px,14.5vw,86px);margin:25px 0 20px}.foot-v3-message>p{font-size:12px}.foot-v3-maincta{width:100%;min-width:0;min-height:56px;padding:18px;font-size:10px;margin-bottom:70px}.foot-v3-right{gap:48px}.foot-v3-badge{align-self:flex-start;margin-bottom:55px}.foot-v3-links{gap:23px}.foot-v3-links>div{gap:14px}.foot-v3-links button,.foot-v3-links a{font-size:11px;overflow-wrap:anywhere}.foot-v3-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px 92px;line-height:1.8;font-size:9px}
}
@media(max-width:355px){.xp-heading h1{font-size:39px}.xp-hero-inner{padding-inline:18px}.xp-mobile-hero-bottom{left:18px;right:18px}.xp-mobile-highlights span{font-size:9px;padding:7px}.xp-route-visual{right:5px;width:60%}.xp-mobile-fixed{padding-inline:10px}.xp-mobile-fixed button:first-child{font-size:11px}.foot-v3-message h2{font-size:61px}.foot-v3-links{gap:14px}.foot-v3-links button,.foot-v3-links a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.xp-photo,.xp-heading h1,.xp-subline,.xp-overlay-data,.xp-route-line{animation:none!important}.xp-mobile-info,.xp-point-core,.xp-button{transition:none!important}}
/* A selected route moment becomes a readable caption over the photograph on mobile. */
.xp-mobile-route-note{display:none}
@media(max-width:600px){
 .xp-mobile-route-note{position:absolute;z-index:6;left:22px;right:22px;bottom:174px;display:flex;flex-direction:column;gap:6px;padding:15px 42px 15px 16px;background:rgba(7,27,34,.91);border-left:2px solid #d8c2a0;box-shadow:0 10px 35px #0006;backdrop-filter:blur(12px);transform:translateY(12px);opacity:0;visibility:hidden;transition:opacity .24s,transform .24s,visibility .24s}
 .xp-mobile-route-note.show{opacity:1;visibility:visible;transform:translateY(0)}
 .xp-mobile-route-note button{position:absolute;top:8px;right:8px;width:30px;height:30px;border:1px solid #fff5;color:white;background:transparent;font-size:11px}
 .xp-mobile-route-note strong{font-size:14px;font-weight:600;letter-spacing:-.035em}.xp-mobile-route-note small{font-size:10px;color:#dbe6e2;line-height:1.55;max-height:48px;overflow:auto}
}
@media(max-width:355px){.xp-mobile-route-note{left:15px;right:15px;bottom:96px;padding:12px 35px 12px 13px}.xp-mobile-route-note small{max-height:35px}}
@media(prefers-reduced-motion:reduce){.xp-mobile-route-note{transition:none!important}}

@media(max-width:600px){body.on-experience.footer-in-view .xp-mobile-fixed{display:none}}

/* V3 complete: functional mobile on-photo waypoint notes */
@media(max-width:600px){
 .xp-mobile-route-note{bottom:174px;max-height:165px;overflow:hidden;padding:13px 113px 15px 14px;gap:5px}
 .xp-mobile-route-note .xp-note-tools{position:absolute;right:10px;top:11px;display:flex;gap:3px;align-items:center}
 .xp-mobile-route-note .xp-note-tools button{position:static;width:28px;height:29px;font-size:13px;flex:none}
 .xp-mobile-route-note strong{font-size:13px;line-height:1.35}
 .xp-mobile-route-note small{font-size:10px;line-height:1.5;max-height:50px;overflow:auto}
 .xp-mobile-route-note .xp-tiny{font-size:8px;letter-spacing:.1em}
}
@media(max-width:355px){.xp-mobile-route-note{bottom:168px;left:18px;right:18px;padding:11px 104px 12px 11px}.xp-mobile-route-note small{max-height:42px}}

@media(max-width:355px){.xp-mobile-route-note{bottom:196px;max-height:112px}.xp-mobile-route-note small{max-height:32px}.xp-mobile-route-note .xp-tiny{font-size:7px}}

@media(max-width:600px){.xp-mobile-fixed button:last-child{font-size:10px;font-weight:700;letter-spacing:.015em}}
