/* Main website only. Gift purchase and redemption keep their own presentation. */
body.premium{--cream:#f5f3ee;--ink:#213334;--gold:#92774e;font-size:14px;line-height:1.85}
.premium.apparte{--cream:#f6f2e9;--ink:#38352e;--gold:#8c714a}
.premium.evian{--cream:#f1f4f2;--ink:#233e46;--gold:#507a7d}
.premium h1,.premium h2,.premium h3{letter-spacing:-.035em;text-wrap:balance}
.premium h1{font-size:clamp(44px,5.7vw,84px);line-height:1.04}
.premium h2{font-size:clamp(34px,3.8vw,55px);line-height:1.13}
.premium h3{font-size:28px;line-height:1.2}
.premium h1 i,.premium h2 i{font-style:italic}
.premium p{max-width:62ch}
.premium header{padding:17px 4.5%;border-bottom:1px solid #21333414;gap:22px}
.premium header .brand img{width:150px;height:65px}
.premium header nav{gap:20px;font-size:11px;letter-spacing:.02em}
.premium .button,.premium .navbook{padding:14px 25px;border-radius:3px;font-size:12px;letter-spacing:.05em;transition:background .2s,transform .2s}
.premium .button:hover{transform:translateY(-2px)}
.premium .textlink{font-size:12px;letter-spacing:.035em;padding:7px 0;border-color:var(--gold)}
.premium .eyebrow{font-size:10px;letter-spacing:.24em;font-weight:500}
.premium .hero{height:min(780px,83svh);min-height:590px;max-height:none;overflow:hidden}
.premium .heroimg{object-position:center 53%}
.premium .shade{background:linear-gradient(90deg,#102626ad 0%,#10262655 58%,#1026260d 100%)}
.premium .herotext{left:7%;top:auto;bottom:13%;max-width:850px;padding-right:24px}
.premium .herotext h1{margin:23px 0 25px}
.premium .herotext p{font-size:15px;line-height:1.85}
.premium .hero .button{margin-top:16px}
.premium .split{padding:76px 7%;gap:7%;grid-template-columns:1fr 1.08fr}
.premium .split:nth-of-type(odd){grid-template-columns:1.08fr 1fr}
.premium .split img{height:clamp(390px,40vw,580px);border-radius:0}
.premium .split h2{margin:18px 0 25px}
.premium .split p{font-size:14px}
.premium .section{padding:65px 7% 75px}
.premium .intro:not(.property-hero){padding:65px 7% 45px;max-width:1100px;margin:0 auto}
.premium .intro:not(.property-hero) p{font-size:16px}
.premium .property-hero{position:relative;margin:0;padding:0;max-width:none;height:640px;min-height:510px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;text-align:left}
.premium .property-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.premium .property-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#12292ce0,#12292c25 75%)}
.premium .property-hero .property-hero-copy{position:relative;z-index:1;padding:70px 7%;max-width:1040px}
.premium .property-hero h1{font-size:clamp(44px,5.3vw,76px);margin:20px 0}
.premium .property-hero i{color:#e2d4bb}
.premium .property-hero p{font-size:15px;max-width:650px;margin-bottom:24px}
.premium .property-hero .button{background:var(--cream);color:var(--ink)}
.premium .property-image-caption{position:absolute;z-index:2;right:25px;bottom:15px;font-size:10px;color:#fff;letter-spacing:.05em}
.premium .cards,.premium .optiongrid{gap:30px}
.premium .card,.premium .option,.premium .experience-card{background:transparent;border:0;border-radius:0;box-shadow:none}
.premium .card:hover{transform:none}
.premium .card>div,.premium .experience-copy{padding:24px 0 10px}
.premium .card img{height:340px}
.premium .option:not(.experience-card){padding:24px 0;border-top:1px solid #92774e55}
.premium .paid-options{background:transparent;border-top:1px solid #92774e35}
.premium .experience-card>img{height:330px;border-radius:0}
.premium .paid-badge{background:transparent;padding:0;color:var(--gold);font-size:10px;letter-spacing:.08em}
.premium .paid-notice{background:transparent;padding:15px 0 15px 20px}
.premium .stay-details{background:transparent;border-top:1px solid #92774e55;padding:35px 7%;margin:0}
.premium .guest-reviews{background:#e9e7df;padding-block:62px}
.premium .review-card{background:transparent;border:0;padding:20px 0}
.premium .amenities{border-color:#92774e35;background:transparent}
.premium .amenitygrid{gap:28px}
.premium .editorialgallery,.premium .curatedgallery{gap:18px}
.premium .editorialgallery img{height:360px;border-radius:0}
.premium .destination-grid{gap:44px 30px}
.premium .dark{background:var(--ink)}
.premium footer{padding:55px 7%;border-top:1px solid #92774e35}
.premium :focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(min-width:851px) and (max-width:1150px){.premium header{gap:12px;padding-inline:3%}.premium header nav{gap:12px;font-size:10px}.premium header .brand img{width:125px}.premium .navbook{padding:12px 18px}}
@media(max-width:850px){
 .premium header{padding:13px 5%;gap:12px;position:relative;z-index:20}
 .premium header .brand img{width:130px;height:58px}
 .premium header nav.open{background:var(--cream);font-size:14px;gap:14px;border-bottom:1px solid #92774e44}
 .premium .hero{height:680px;min-height:540px;max-height:85svh}
 .premium .herotext{left:6%;bottom:11%;padding-right:6%;max-width:680px}
 .premium .herotext h1{font-size:clamp(45px,7.4vw,68px)}
 .premium .split,.premium .split:nth-of-type(odd){grid-template-columns:1fr;gap:28px;padding:48px 6%}
 .premium .split img{height:440px}
 .premium .section{padding:48px 6%}
 .premium .cards{gap:28px}
 .premium .property-hero{height:600px;min-height:500px}
 .premium .property-hero .property-hero-copy{padding:55px 6%}
 .premium .property-hero h1{font-size:clamp(44px,6.5vw,64px)}
 .premium .intro:not(.property-hero){padding:45px 6% 30px}
 .premium .stay-details{padding:30px 6%}
}
@media(max-width:600px){
 .premium h1{font-size:44px}.premium h2{font-size:35px}
 .premium .hero{height:620px;min-height:520px;max-height:none}
 .premium .heroimg{object-position:58% center}
 .premium .herotext{bottom:9%}.premium .herotext h1{font-size:46px}
 .premium .herotext p{font-size:13px}.premium .herotext p br{display:none}
 .premium .split img{height:340px}
 .premium .property-hero{height:590px;min-height:0}
 .premium .property-hero-copy{padding-bottom:55px!important}
 .premium .property-hero h1{font-size:43px}
 .premium .property-hero p{font-size:13px}
 .premium .property-hero>img{object-position:58% center}
 .premium .property-image-caption{right:6%;font-size:9px}
 .premium .card img,.premium .experience-card>img{height:290px}
 .premium .cards,.premium .optiongrid{grid-template-columns:1fr}
 .premium .destination-grid{grid-template-columns:1fr}
 .premium .sectionhead{align-items:start;flex-direction:column;gap:10px}
 .premium .editorialgallery img{height:250px}
 .premium .music-toggle{font-size:10px;padding:9px 13px;bottom:12px;left:12px}
}
@media(prefers-reduced-motion:reduce){.premium .wait,.premium .pending{opacity:1!important;transform:none!important}.premium *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Content remains visible before scroll and without animation support. */
.premium .reveal.wait{opacity:1;transform:none}
.premium .reveal.reveal-visible{animation:premium-arrival .55s ease-out both}
@keyframes premium-arrival{from{opacity:.75;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Destination chapters: soft colour bands and varied photo compositions. */
.premium .destination-band{padding-block:62px;align-items:center}
.premium .destination-band.tone-0{background:#e3ebea}
.premium .destination-band.tone-1{background:#f7f5f0}
.premium .destination-band.tone-2{background:#eddfd8}
.premium .destination-band.tone-3{background:#e7e8df}
.premium .destination-band h2{font-size:clamp(32px,3.4vw,49px)}
.premium .destination-band img{height:420px;object-fit:cover}
.premium .destination-panorama,.premium .destination-panorama:nth-of-type(odd){grid-template-columns:1fr;gap:30px}
.premium .destination-panorama>img{width:100%;height:440px;order:0}
.premium .destination-panorama>div{order:1;display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}
.premium .destination-panorama h2{margin:0}
.premium .destination-panorama p{margin:0}
.premium .pinede-beach{background:#e3ebea}
.premium .grande-rive-beach{background:#eddfd8}
.premium .pinede-beach .gallery,.premium .grande-rive-beach .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.premium .pinede-beach .gallery>figure:first-child,.premium .grande-rive-beach .gallery>figure:first-child{grid-column:span 2;grid-row:span 2}
.premium .pinede-beach .gallery img,.premium .grande-rive-beach .gallery img{width:100%;height:230px;object-fit:cover}
.premium .pinede-beach .gallery>figure:first-child img,.premium .grande-rive-beach .gallery>figure:first-child img{height:476px}
@media(max-width:850px){
 .premium .destination-band{padding-block:42px}
 .premium .destination-band img{height:340px}
 .premium .destination-panorama>div{display:block}
 .premium .destination-panorama h2{margin-bottom:20px}
 .premium .pinede-beach .gallery,.premium .grande-rive-beach .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .premium .pinede-beach .gallery>figure:first-child,.premium .grande-rive-beach .gallery>figure:first-child{grid-column:span 2;grid-row:auto}
 .premium .pinede-beach .gallery>figure:first-child img,.premium .grande-rive-beach .gallery>figure:first-child img{height:340px}
}
@media(max-width:600px){.premium .destination-band img{height:270px}.premium .pinede-beach .gallery img,.premium .grande-rive-beach .gallery img{height:170px}.premium .pinede-beach .gallery>figure:first-child img,.premium .grande-rive-beach .gallery>figure:first-child img{height:270px}}

.premium .home-booking{padding:28px 7%;background:#e9e7df}
.premium .home-booking form{display:grid;grid-template-columns:1fr 1fr .65fr auto;gap:22px;align-items:end;max-width:1200px;margin:auto}
.premium .home-booking label{display:grid;gap:8px;font-size:11px;letter-spacing:.08em}
.premium .home-booking input,.premium .home-booking select{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #92774e55;background:#fff;color:var(--ink);font:14px inherit;height:48px;border-radius:3px}
.premium .home-booking .button{background:var(--ink);color:#fff;min-height:48px;border:0;cursor:pointer}
.premium .home-booking-repeat{text-align:center;padding:0 7% 45px;background:#e9e7df}
.mobile-booking-button{display:none}
@media(max-width:700px){.premium .home-booking{padding:24px 6%}.premium .home-booking form{grid-template-columns:1fr 1fr;gap:16px}.premium .home-booking .button{letter-spacing:0;padding-inline:10px}.premium .mobile-booking-button{display:block;position:fixed;bottom:12px;right:12px;z-index:35;background:var(--ink);color:#fff;padding:13px 18px;border-radius:3px;font-size:12px;text-decoration:none;box-shadow:0 3px 14px #0003}.premium:has(.mobile-booking-button){padding-bottom:65px}.premium:has(dialog[open]) .mobile-booking-button{display:none}}

/* Balanced navigation and homepage availability panel. */
@media(min-width:851px){
.premium header{padding-block:12px;gap:18px}
.premium header nav{font-size:14px;gap:19px}
.premium header .brand img{height:60px;width:140px}
.premium .home-arrival{position:relative}
.premium .home-arrival .herotext{max-width:58%;bottom:15%}
.premium .home-arrival .herotext h1{font-size:clamp(48px,5.2vw,75px)}
.premium .home-arrival .home-booking{position:absolute;z-index:2;right:5%;bottom:15%;width:320px;padding:26px;background:#f7f5f0f5;border:1px solid #fff7;border-radius:4px;box-shadow:0 8px 30px #0002}
.premium .home-booking form{grid-template-columns:1fr 1fr;gap:18px 12px}
.premium .home-booking form label:last-of-type,.premium .home-booking form button{grid-column:1/-1}
.premium .home-booking label{font-size:12px}
}
.premium .booking-caption{font-family:Georgia,serif;font-size:24px;margin:0 0 22px;line-height:1.25;color:var(--ink)}
@media(min-width:851px) and (max-width:1150px){.premium header{padding-inline:2%;gap:10px}.premium header nav{font-size:12px;gap:13px}.premium header .brand img{width:110px}.premium .navbook{padding:12px 16px}.premium .home-arrival .herotext{max-width:54%;left:5%}.premium .home-arrival .home-booking{width:280px;right:4%;padding:22px}}
@media(max-width:850px){.premium .booking-caption{font-size:22px;margin-bottom:18px}.premium header nav.open{font-size:16px}}

.premium .rituals-section{align-items:center;padding-block:45px}
.premium .rituals-section>img{max-height:420px;object-fit:cover}
.premium .rituals-section .rituals-logo{width:85px;height:auto;max-height:85px;object-fit:contain;margin:0 0 25px;display:block}
.premium .rituals-section>div{align-self:center}
.premium .personalized-touches>img{max-height:460px;object-fit:cover}
.premium .guide-shortcuts{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.premium .guide-shortcuts a{border:1px solid #92774e77;padding:12px 20px;border-radius:3px;text-decoration:none;font-size:14px}
.premium #decouvertes,.premium #plages{scroll-margin-top:30px}
.premium .lakeside-summary{background:#e3ebea;margin-top:20px;padding:35px 7%}

.gift-home-access{font-size:.85rem;line-height:1.5;margin:1rem 0 0}.gift-home-access a{display:inline-block;text-decoration:underline;text-underline-offset:.2em;border-bottom:0}
