/* V2: a pinned, reversible film; calm blue surfaces and rounded controls. */
:root{--accent:#bce5f4;--sun:#bce5f4}
.button{border-radius:999px;background:#d5edf7;color:#133e52;padding:17px 29px;box-shadow:0 5px 20px #08233712;font-size:.9rem;transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{background:#fff;box-shadow:0 8px 24px #08233724;transform:translateY(-2px)}
.button-dark{background:#24596f;color:white}.button-dark:hover{background:#163e52;color:#fff}.button:disabled:hover{transform:none}
.contact-fab{background:#24596f}.calendar button.chosen{border-radius:50%;background:#24596f}.calendar button.in-range{background:#dceef5}.segmented,.segmented button{border-radius:999px}
.sun-mark{color:#6294a7}.value-number{color:#577f92}.steps .current{border-color:#6099b0}button:focus-visible,a:focus-visible{outline-color:#71bdd9}
.hero-scroll{height:320svh;position:relative;background:#193f57}
.hero-scroll .hero{position:sticky;top:0;height:100svh;min-height:540px;max-height:none;padding:0;overflow:hidden;isolation:isolate;background:#193f57}
.hero .site-header{padding:22px 5vw;z-index:5;background:linear-gradient(#12354f70,transparent);border-bottom:1px solid #ffffff20}
.hero .site-header .button{padding:12px 23px}.hero .nav-actions{gap:26px}
.hero .hero-image{animation:none;object-position:50% 50%;transform:scale(calc(1 + var(--scene-progress,0)*.04));opacity:.75}
.hero .hero-shade{background:linear-gradient(90deg,#0c2b47db,#143753a6 60%,#0c2b4740),linear-gradient(0deg,#0e2d49bf,transparent 65%)}
.hero .hero-content{position:absolute;left:7vw;top:50%;transform:translateY(-43%);margin:0;max-width:61%;animation:none;z-index:3}
.hero h1{font-size:clamp(3.6rem,6.8vw,7.5rem);line-height:1.05;margin-bottom:26px;letter-spacing:-.055em}
.hero h1 em{color:#d0edf8}.hero .eyebrow{font-size:.75rem}.small-line{background:#bce5f4}
.hero-copy{color:#f1f6fa;text-shadow:0 2px 12px #12354f40;font-size:1.05rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}
.hero-skip{font-size:.85rem;border-bottom:1px solid #ffffff70;padding-bottom:4px}
.hero .film-card{position:absolute;right:7vw;top:50%;bottom:auto;width:auto;height:min(66svh,660px);aspect-ratio:9/16;transform:translateY(-45%);margin:0;animation:none;z-index:1}
.hero .film-frame{height:100%;width:100%;border-radius:2px;border:1px solid #ffffff80;overflow:hidden;box-shadow:0 25px 90px #061c4070;transform:scale(calc(1 + var(--scene-progress,0)*.035));transform-origin:center;background:#2c5375}
.hero .film-frame video{width:100%;height:100%;object-fit:cover;display:block}
.film-scrim{display:none}.hero .film-play{left:auto;right:12px;bottom:12px;border:1px solid #ffffff70;background:#12364caa;backdrop-filter:blur(10px);padding:8px 14px;border-radius:99px;gap:9px;font-size:.75rem}
.hero .film-play>span:first-child{border:0;width:18px;height:22px}
.film-caption{display:flex;justify-content:space-between;gap:10px;margin-top:15px;font-size:.7rem;letter-spacing:.06em;color:#e3eff4}
.hero-bottom{bottom:27px;left:5vw;right:5vw;z-index:4;gap:25px;letter-spacing:.06em;font-size:.7rem}
.motion-toggle{border:1px solid #ffffff60;background:#16394b55;color:white;border-radius:99px;padding:9px 15px;font-size:.75rem;backdrop-filter:blur(10px)}
.scroll-guide{min-width:210px;text-align:center;font-size:.7rem}.sequence-track{height:2px;background:#ffffff35;width:100%;margin-top:13px;overflow:hidden}.sequence-track span{display:block;width:100%;height:100%;background:#d4f0fc;transform:scaleX(var(--scene-progress,0));transform-origin:left}
.hero-exit{position:absolute;z-index:2;pointer-events:none;bottom:-1px;left:0;right:0;height:20svh;background:linear-gradient(transparent,#fafbf9);opacity:var(--scene-exit,0)}
.hero-bottom{transition:background .2s}.hero-scroll.sequence-ending .hero-bottom{border-radius:30px;background:#193e4ee6;padding:9px 16px;bottom:15px}
.courchevel-logo{width:90px;height:auto;object-fit:contain;flex-shrink:0}.conditions-place{gap:20px}.conditions-place .eyebrow{max-width:185px}
.experience-photo img{object-position:50% 48%}.experience-photo{min-height:650px}.photo-label{background:#15384ab0;backdrop-filter:blur(8px);padding:12px 16px;border-radius:5px;font-size:.85rem;bottom:22px;left:22px;right:22px}
.closing{background:#e9f2f6;position:relative;isolation:isolate;overflow:hidden;padding:95px 6vw 85px;border-top:1px solid #d4e3e9}
.closing-horizon{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#e9f2f6f5 0%,#e9f2f6eb 50%,#e9f2f6b0),url('/assets/panorama.webp') center 60%/cover;opacity:.65}
.closing .eyebrow{color:#496e81}.closing h2 em{color:#37768f}.closing .button{padding-left:36px;padding-right:36px}
.hero-scroll.motion-paused .sequence-track span{background:#d4f0fc80}
@media(min-width:1600px){.hero .hero-content{left:9vw}.hero .film-card{right:12vw}}
@media(max-width:1100px) and (min-width:701px){.hero .hero-content{left:5vw;max-width:60%}.hero h1{font-size:6.6vw}.hero .film-card{right:5vw;height:57svh;max-width:31vw}.hero .site-header nav{gap:18px}.hero .nav-actions{gap:16px}.hero-copy{font-size:.95rem}.hero .hero-actions .button{padding:14px 23px}.hero .film-caption{font-size:.65rem}}
@media(max-width:700px){
 .hero-scroll{height:270svh}.hero-scroll .hero{height:100svh;min-height:540px}
 .hero .site-header{padding:19px 5vw;gap:12px;background:#17394ae8;min-height:80px}
 .hero .site-header nav{display:none}.hero .site-header .button{padding:11px 14px;font-size:.75rem;max-width:138px}.hero .nav-actions{gap:12px}
 .hero .brand{font-size:.82rem;white-space:nowrap}.hero .brand svg{width:27px}.hero .brand small{letter-spacing:.23em;font-size:.5rem}
 .hero .film-card{top:100px;left:16px;right:16px;bottom:72px;height:auto;width:auto;max-width:none;aspect-ratio:auto;transform:none;z-index:1}
 .hero .film-frame{border:1px solid #ffffff60;transform:none;border-radius:2px;box-shadow:none}
 .hero .film-frame video{object-fit:cover;object-position:50% 54%}
 .film-scrim{display:block;position:absolute;inset:0;background:linear-gradient(180deg,#082d47e6 0%,#092c47bc 28%,#0b2e4760 53%,transparent 75%)}
 .hero .hero-content{top:129px;left:34px;right:30px;max-width:none;transform:none;margin:0;z-index:3;pointer-events:none}
 .hero-content a,.hero-content button{pointer-events:auto}.hero h1{font-size:clamp(2rem,9.4vw,3.8rem);margin-bottom:18px;line-height:1.07}
 .hero .eyebrow{font-size:.61rem;letter-spacing:.11em;margin-bottom:19px;gap:8px}.small-line{width:18px}.hero-copy{font-size:.9rem;line-height:1.55;margin-bottom:20px;max-width:340px}
 .hero .hero-actions{gap:10px}.hero .hero-actions .button{padding:13px 20px;font-size:.8rem;min-height:44px}.hero-skip{font-size:.75rem}
 .hero .film-caption{display:none}.hero .film-play{bottom:14px;right:12px;font-size:.7rem;padding:6px 12px;min-height:40px}
 .hero .hero-bottom{bottom:17px;left:20px;right:20px;gap:12px}.hero-bottom>.scroll-link{display:none}.scroll-guide{min-width:0;flex:1;text-align:right;font-size:.65rem;max-width:195px}.sequence-track{margin-top:9px}.motion-toggle{font-size:.65rem;padding:10px 12px;white-space:nowrap}
 .hero-exit{height:15svh;z-index:2}.hero-scroll.sequence-ending .hero-bottom{bottom:12px;padding:7px 11px;left:14px;right:14px}
 .experience-photo{min-height:570px}.courchevel-logo{width:79px}.closing{padding:75px 6vw}.closing h2{font-size:clamp(2.4rem,8vw,3.3rem)}
 .contact-fab{bottom:90px;right:24px}
}
@media(max-width:370px){.hero .site-header{padding:16px 4vw}.hero .brand{font-size:.7rem;gap:6px}.hero .brand svg{width:24px}.hero .nav-actions{gap:8px}.hero .site-header .button{font-size:.65rem;padding:10px 12px;max-width:110px}.hero .hero-content{left:30px;right:25px}.hero h1{font-size:2rem}.hero-copy{font-size:.82rem}.hero .eyebrow{font-size:.54rem}.hero .hero-actions .button{font-size:.73rem}.hero-skip{font-size:.7rem}.scroll-guide{font-size:.57rem}}
@media(max-height:620px) and (min-width:701px){.hero .film-card{height:65svh}.hero h1{font-size:4rem}.hero .hero-content{top:51%}.hero .eyebrow{margin-bottom:16px}.hero-copy{margin-bottom:18px}.hero .site-header{padding-top:14px;padding-bottom:14px}.hero-bottom{bottom:18px}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-scroll .hero{position:relative}.hero .film-frame,.hero .hero-image{transform:none}.motion-toggle,.scroll-guide{display:none}.hero-bottom>.scroll-link{display:block}.hero-exit{display:none}}
@media(max-width:700px) and (max-height:620px){.hero-scroll{height:auto!important}.hero-scroll .hero{height:760px;position:relative}.hero .film-card{bottom:72px}.hero-bottom>.scroll-link{display:block}.scroll-guide{display:none}}
