:root{--forest:#16372f;--forest-2:#244b40;--cream:#f6f1e8;--paper:#fffdf8;--ink:#1f2824;--muted:#65716b;--ochre:#d9914a;--sage:#b8c4b5;--line:rgba(22,55,47,.15);--shadow:0 24px 70px rgba(19,43,36,.16);--radius:3px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.skip-link{position:fixed;z-index:1000;top:-80px;left:1rem;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:fixed;z-index:100;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(22px,4vw,70px);color:#fff;transition:.35s ease}.site-header.scrolled{background:rgba(255,253,248,.96);color:var(--forest);padding-top:11px;padding-bottom:11px;box-shadow:0 5px 35px rgba(14,37,31,.08);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.1}.brand-mark{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand strong{display:block;font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.02em}.brand small{display:block;margin-top:4px;text-transform:uppercase;letter-spacing:.19em;font-size:8px}.main-nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px)}.main-nav a{text-decoration:none;font-size:13px;font-weight:650;letter-spacing:.03em}.main-nav a:not(.nav-book):after{content:"";display:block;width:0;height:1px;background:currentColor;transition:.25s}.main-nav a:hover:after{width:100%}.nav-book{border:1px solid currentColor;padding:10px 19px}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:currentColor;margin:6px}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 44%;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(9,26,21,.84) 0%,rgba(9,26,21,.47) 48%,rgba(9,26,21,.10) 85%),linear-gradient(0deg,rgba(4,15,12,.55),transparent 55%)}.hero-content{position:relative;z-index:2;width:min(760px,84vw);margin-left:clamp(24px,9vw,150px);padding-top:70px}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:750;color:var(--forest-2)}.eyebrow.light{color:#e8dbc6}.hero h1,.section-heading h2,.amenities h2,.season-content h2,.location h2,.faq h2,.final-cta h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.hero h1{font-size:clamp(56px,8vw,112px);line-height:.85;margin:0}.hero h1 em{font-weight:400;color:#ead9bd}.hero-lead{font-size:clamp(17px,1.6vw,22px);max-width:620px;margin:30px 0 0;color:rgba(255,255,255,.86)}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 22px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ochre);color:#17251f}.button-primary:hover{background:#ecab69}.button-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.03)}.button-dark{background:var(--forest);color:#fff}.hero-card{position:absolute;z-index:2;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));background:rgba(246,241,232,.94);color:var(--forest);backdrop-filter:blur(15px)}.hero-card div{padding:21px 26px;border-left:1px solid rgba(22,55,47,.12)}.hero-card strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1}.hero-card span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.scroll-cue{position:absolute;z-index:2;left:28px;bottom:38px;color:#fff;text-decoration:none;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scroll-cue i{display:block;width:1px;height:50px;background:rgba(255,255,255,.6)}
.section{padding:clamp(85px,10vw,150px) clamp(24px,7vw,120px)}.section-heading{max-width:810px}.section-heading.centered{text-align:center;margin:0 auto 58px}.section-heading h2,.amenities h2,.season-content h2,.location h2,.faq h2{font-size:clamp(42px,5.4vw,76px);line-height:1.02;margin:0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(380px,1.15fr);gap:clamp(50px,8vw,125px);align-items:center;margin-top:60px}.intro-copy .lead{font-family:var(--serif);font-size:clamp(24px,2.3vw,34px);line-height:1.35;margin:0 0 30px}.intro-copy>p:not(.lead){color:var(--muted)}.intro-image{margin:0;position:relative}.intro-image img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}.intro-image figcaption{position:absolute;right:-20px;bottom:-20px;background:var(--forest);color:#fff;padding:15px 19px;font-size:11px;letter-spacing:.06em}.host-note{display:flex;align-items:center;gap:14px;margin-top:35px;padding-top:26px;border-top:1px solid var(--line)}.host-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-family:var(--serif);font-size:21px}.host-note strong{display:block}.host-note p{margin:1px 0 0;color:var(--muted);font-size:13px}
.highlights{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest);color:#fff;padding:44px clamp(24px,7vw,120px)}.highlight{display:flex;align-items:center;gap:17px;padding:16px clamp(10px,2.2vw,34px);border-left:1px solid rgba(255,255,255,.13)}.highlight:first-child{border-left:0}.highlight>span{font-family:var(--serif);font-size:30px;color:#dbb27e}.highlight strong,.highlight small{display:block}.highlight strong{font-family:var(--serif);font-size:18px;font-weight:400}.highlight small{font-size:10px;opacity:.65}
.gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min(23vw,330px);gap:12px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#ddd;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;left:15px;bottom:14px;background:rgba(255,253,248,.9);padding:7px 11px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--forest)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.lightbox{width:min(92vw,1300px);height:min(90vh,900px);padding:0;border:0;background:#0b1411;overflow:hidden}.lightbox::backdrop{background:rgba(4,12,10,.89);backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:absolute;z-index:2;right:14px;top:12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.35);color:#fff;font-size:27px;cursor:pointer}
.amenities{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px);background:#e6e7df}.amenities-intro>p:not(.eyebrow){color:var(--muted);max-width:500px}.text-link{display:inline-block;margin-top:17px;color:var(--forest);font-weight:700;text-underline-offset:5px}.amenities-list{display:grid;grid-template-columns:repeat(2,1fr);align-content:center}.amenities-list div{min-height:108px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:22px 12px}.amenities-list div:nth-child(odd){border-right:1px solid var(--line)}.amenities-list span{width:38px;font-family:var(--serif);font-size:26px;text-align:center;color:var(--forest)}.amenities-list strong{font-family:var(--serif);font-size:19px;font-weight:400}
.season-section{display:grid;grid-template-columns:1fr 1fr;padding-left:0;background:var(--cream);gap:clamp(45px,7vw,110px)}.season-photo{position:relative;min-height:750px}.season-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.distance-badge{position:absolute;right:-28px;top:80px;width:145px;height:145px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--ochre);color:#17251f}.distance-badge strong{font-family:var(--serif);font-size:32px;line-height:1}.distance-badge span{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.season-content{align-self:center;max-width:720px}.season-tabs{display:flex;gap:28px;margin:38px 0 20px;border-bottom:1px solid var(--line)}.season-tabs button{border:0;background:none;padding:0 0 10px;color:var(--muted);font-family:var(--serif);font-size:22px;cursor:pointer}.season-tabs button[aria-selected=true]{color:var(--forest);border-bottom:2px solid var(--ochre)}.season-panel p{color:var(--muted)}.season-panel ul{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 30px;padding:0;list-style:none}.season-panel li:before{content:"—";color:var(--ochre);margin-right:9px}.distance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px;padding-top:32px;border-top:1px solid var(--line)}.distance-row strong,.distance-row span{display:block}.distance-row strong{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--forest)}.distance-row span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.spots{background:var(--paper)}.spots-intro{max-width:650px;margin:24px auto 0;color:var(--muted)}.spot-highlights,.serre-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.spot-highlights .spot-card,.serre-gallery .spot-card{margin:0}.spot-highlights .spot-card img,.serre-gallery .spot-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.photo-credits{margin:4px 0 24px;color:var(--muted);font-size:10px;text-align:right}.photo-credits a{color:inherit;text-underline-offset:3px}.spots-grid{columns:3;column-gap:12px}.spot-card{position:relative;margin:0 0 12px;overflow:hidden;break-inside:avoid;background:var(--forest);color:#fff}.spot-card img{display:block;width:100%;height:auto;transition:transform .65s ease,filter .65s ease}.spot-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,18,14,.82));pointer-events:none}.spot-card:hover img{transform:scale(1.025);filter:saturate(1.08)}.spot-card figcaption{position:absolute;z-index:1;left:22px;right:18px;bottom:18px}.spot-card strong,.spot-card span{display:block}.spot-card strong{font-family:var(--serif);font-size:clamp(22px,2.2vw,34px);font-weight:400;line-height:1.05}.spot-card span{margin-top:5px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.72)}.spot-album-choice{position:absolute;opacity:0;pointer-events:none}.spot-album-media{position:relative}.spot-album-image{display:none!important;width:100%}.spot-album-choice:first-of-type:checked~.spot-album-media .pont-vue-1,.spot-album-choice:nth-of-type(2):checked~.spot-album-media .pont-vue-2{display:block!important}.spot-album-tabs{position:absolute;z-index:3;top:13px;right:13px;display:flex;gap:3px;padding:4px;background:rgba(12,35,28,.76);backdrop-filter:blur(8px)}.spot-album-tabs label{border:0;padding:7px 10px;color:#fff;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.spot-album-choice:first-of-type:checked~.spot-album-media label[for="pont-chatelet-vue-1"],.spot-album-choice:nth-of-type(2):checked~.spot-album-media label[for="pont-chatelet-vue-2"]{background:var(--ochre);color:#17251f}
.reviews{display:grid;grid-template-columns:.45fr 1.55fr;gap:clamp(50px,8vw,120px);align-items:center;background:var(--forest);color:#fff}.review-score{text-align:center;padding-right:40px;border-right:1px solid rgba(255,255,255,.14)}.review-score>span{display:block;font-family:var(--serif);font-size:84px;line-height:1;color:#e7c08e}.stars{letter-spacing:.25em;font-size:12px;margin:13px 0}.review-score small{opacity:.6}.reviews-carousel{position:relative;min-height:245px}.review{display:none}.review.active{display:block;animation:fade .35s ease}.review blockquote{font-family:var(--serif);font-size:clamp(28px,3vw,46px);line-height:1.3;margin:0;max-width:980px}.review p{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.62)}.review-controls{position:absolute;bottom:0;right:0;display:flex;align-items:center;gap:16px}.review-controls button{width:43px;height:43px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;cursor:pointer}.review-controls span{font-size:11px;opacity:.62}
.location{display:grid;grid-template-columns:1fr;gap:55px;align-items:center}.location-copy{max-width:900px}.location-copy>p:not(.eyebrow){color:var(--muted)}.location dl{margin:32px 0}.location dl div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.location dt{color:var(--muted)}.location dd{margin:0;font-weight:700}.airport-access{margin:30px 0}.airport-access h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 12px}.airport-access>a{display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;padding:12px 0;border-top:1px solid var(--line);color:var(--forest);text-decoration:none}.airport-access>a:last-of-type{border-bottom:1px solid var(--line)}.airport-code{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--ochre);font-size:10px;font-weight:800;letter-spacing:.08em}.airport-access strong,.airport-access small{display:block}.airport-access strong{font-family:var(--serif);font-size:18px;font-weight:400}.airport-access small{color:var(--muted);font-size:11px}.airport-access b{font-weight:400}.airport-access>p{font-size:10px;color:var(--muted);margin:9px 0 0}.map-wrap{position:relative;min-height:0;aspect-ratio:1600/1050;background:var(--forest);overflow:hidden;box-shadow:var(--shadow)}.map-wrap>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.map-label{position:absolute;left:18px;bottom:18px;background:var(--ochre);color:#17251f;padding:12px 15px;font-size:11px;font-weight:700}
.faq{background:var(--cream);display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,120px)}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-family:var(--serif);font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:"+";font-family:var(--sans);font-weight:300}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);max-width:700px}
.final-cta{position:relative;min-height:680px;display:grid;place-items:center;text-align:center;color:#fff}.final-cta>img,.final-cta-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final-cta-shade{background:rgba(8,27,21,.67)}.final-cta-content{position:relative;z-index:1}.final-cta h2{font-size:clamp(48px,6vw,84px);line-height:1.02;margin:0 0 35px}
.site-footer{background:#0f2922;color:#fff;padding:65px clamp(24px,7vw,120px) 26px;display:grid;grid-template-columns:1.1fr .8fr .6fr;gap:40px}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-family:var(--serif);font-size:24px;font-weight:400}.footer-brand span{font-size:10px;opacity:.55;text-transform:uppercase;letter-spacing:.12em}.footer-links,.footer-social{display:flex;flex-direction:column;gap:7px}.footer-links a,.footer-social a,.footer-address{font-size:13px;color:rgba(255,255,255,.72);text-decoration:none}.footer-social .footer-contact{display:flex;align-items:center;gap:8px}.footer-contact-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-contact-icon.whatsapp-icon{fill:currentColor;stroke:none}.footer-contact-icon.whatsapp-icon path+path{fill:#0f2922}.footer-address{display:block}.footer-bottom{grid-column:1/-1;margin:25px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;letter-spacing:.08em;opacity:.45}.floating-book{display:none}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:980px){.main-nav{position:fixed;inset:0;background:var(--forest);color:#fff;flex-direction:column;justify-content:center;gap:25px;transform:translateX(100%);transition:.35s;z-index:-1}.main-nav.open{transform:none}.main-nav a{font-family:var(--serif);font-size:29px;font-weight:400}.menu-toggle{display:block;color:inherit;z-index:2}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-card{grid-template-columns:repeat(4,1fr);width:100%}.hero-card div{padding:14px 10px;text-align:center}.scroll-cue{display:none}.intro-grid,.amenities,.location,.faq{grid-template-columns:1fr}.highlights{grid-template-columns:repeat(2,1fr)}.highlight:nth-child(3){border-left:0}.season-section{grid-template-columns:1fr;padding-right:0}.season-photo{min-height:65vw}.season-content{padding:25px clamp(24px,7vw,120px) 90px}.distance-badge{right:22px}.spots-grid{columns:2}.reviews{grid-template-columns:1fr}.review-score{text-align:left;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:0 0 28px}.map-wrap{min-height:480px}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){body{font-size:15px}.site-header{padding:12px 18px}.brand-mark{width:37px;height:37px}.brand strong{font-size:17px}.hero{min-height:790px;align-items:flex-start}.hero-content{margin:0 21px;padding-top:160px;width:auto}.hero h1{font-size:58px;line-height:.9}.hero-lead{font-size:16px;margin-top:23px}.hero-actions{align-items:stretch;flex-direction:column;margin-top:27px}.hero-actions .button{width:100%}.hero-card{bottom:0}.hero-card strong{font-size:22px}.hero-card span{font-size:8px}.section{padding:78px 21px}.section-heading h2,.amenities h2,.season-content h2,.location h2,.faq h2{font-size:43px}.intro-grid{margin-top:38px}.intro-image figcaption{right:0;bottom:0}.highlights{grid-template-columns:1fr;padding:28px 21px}.highlight,.highlight:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.13)}.highlight:first-child{border-top:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:6px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}.gallery-item span{font-size:8px}.amenities-list div{min-height:88px;padding:15px 5px}.amenities-list strong{font-size:16px}.season-photo{min-height:440px}.season-content{padding:15px 21px 78px}.distance-badge{width:116px;height:116px;top:28px}.distance-row{grid-template-columns:1fr}.season-panel ul{grid-template-columns:1fr}.spots-grid{columns:1}.spot-card figcaption{left:16px;bottom:15px}.spot-card strong{font-size:26px}.reviews{padding-bottom:110px}.review-score>span{font-size:62px}.review blockquote{font-size:27px}.review-controls{bottom:-58px;left:0;right:auto}.location-copy dl div{display:block}.location-copy dd{margin-top:2px}.map-wrap{min-height:390px}.faq-list summary{font-size:18px}.final-cta{min-height:610px;padding:25px}.final-cta h2{font-size:48px}.site-footer{grid-template-columns:1fr;padding-bottom:100px}.footer-brand{grid-column:auto}.footer-bottom{grid-column:auto}.floating-book{position:fixed;z-index:90;bottom:13px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;background:var(--ochre);color:#14251f;padding:13px 18px;text-decoration:none;box-shadow:0 10px 35px rgba(0,0,0,.28)}.floating-book span{font-family:var(--serif);font-size:20px}.floating-book small{text-transform:uppercase;letter-spacing:.1em;font-weight:700}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img,.site-header{transition:none}}
.spot-album-choice{width:1px;height:1px;pointer-events:auto}.spot-album-image{aspect-ratio:4/5;object-fit:cover}
.booking-intro{max-width:650px;margin:-15px auto 28px;color:rgba(255,255,255,.82);font-size:17px}.booking-options{display:flex;align-items:stretch;justify-content:center;gap:13px;flex-wrap:wrap}.direct-booking{display:flex;align-items:center;border:1px solid rgba(255,255,255,.55);background:rgba(7,29,22,.46)}.direct-phone{padding:0 18px;color:#fff;text-decoration:none;font-family:var(--serif);font-size:20px;white-space:nowrap}.button-whatsapp{background:#25d366;color:#092b18}.button-whatsapp:hover{background:#40df7a}.direct-note{display:block;margin-top:18px;color:rgba(255,255,255,.63);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.faq-list a{color:var(--forest);font-weight:700;text-underline-offset:4px}
.direct-email{display:inline-block;margin-top:17px;color:#fff;text-underline-offset:5px;font-size:14px}
.serre-gallery-single{grid-template-columns:1fr}.serre-gallery-single .spot-card img{aspect-ratio:21/8}
.weather{background:linear-gradient(145deg,#edf1eb 0%,#f8f5ed 52%,#e8eee9 100%)}.weather-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.weather-heading h2{max-width:760px;margin-bottom:12px}.weather-heading>div>p:last-child{margin:0;color:var(--muted)}.weather-official-link{flex:0 0 auto}.weather-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}.weather-forecast{padding:30px;background:rgba(255,255,255,.77);border:1px solid rgba(22,55,47,.11);box-shadow:0 20px 55px rgba(13,45,36,.09)}.weather-meta{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.weather-meta span{font-family:var(--serif);font-size:22px}.weather-meta small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.weather-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:7px}.weather-day{min-width:0;padding:18px 8px 15px;text-align:center;background:#f3f1e9;border-bottom:3px solid transparent}.weather-day:first-child{background:var(--forest);color:#fff;border-bottom-color:var(--ochre)}.weather-day-name,.weather-day-date,.weather-condition,.weather-rain{display:block}.weather-day-name{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.weather-day-date{margin-top:4px;font-size:10px;color:var(--muted)}.weather-day:first-child .weather-day-date,.weather-day:first-child .weather-condition,.weather-day:first-child .weather-rain{color:rgba(255,255,255,.65)}.weather-symbol{display:block;margin:15px 0 10px;font-size:31px;line-height:1}.weather-temps{display:flex;justify-content:center;align-items:baseline;gap:5px}.weather-temps strong{font-family:var(--serif);font-size:24px;font-weight:400}.weather-temps span{font-size:12px;color:var(--muted)}.weather-condition{min-height:28px;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.3}.weather-rain{margin-top:9px;color:var(--forest);font-size:9px}.weather-source{margin:18px 0 0;color:var(--muted);font-size:10px}.weather-source a{color:inherit;font-weight:700;text-underline-offset:3px}.weather-loading,.weather-error{grid-column:1/-1;min-height:180px;display:grid;place-items:center;text-align:center;color:var(--muted)}.weather-error a{color:var(--forest);font-weight:700}.weather-vigilance{display:flex;flex-direction:column;padding:28px;background:var(--forest);color:#fff}.vigilance-title-row{margin-bottom:18px}.vigilance-title-row>div{display:flex;align-items:center;gap:8px}.vigilance-title-row .eyebrow{margin:0;color:#e7c08e}.weather-dot{width:8px;height:8px;border-radius:50%;background:#e7c08e;box-shadow:0 0 0 5px rgba(231,192,142,.12)}.weather-vigilance h3{margin:13px 0 5px;font-family:var(--serif);font-size:27px;font-weight:400}.weather-vigilance p{margin:0;color:rgba(255,255,255,.58);font-size:11px}.weather-vigilance iframe{width:100%;height:130px;margin:auto 0;border:0;background:#fff}.weather-vigilance>a{margin-top:20px;color:#fff;font-size:11px;text-decoration:none}.weather-vigilance>a span{color:#e7c08e}@media(max-width:1120px){.weather-layout{grid-template-columns:1fr}.weather-vigilance{min-height:300px}.weather-vigilance iframe{max-width:450px}}@media(max-width:900px){.weather-grid{grid-template-columns:repeat(4,1fr)}.weather-day:first-child{grid-column:span 2}.weather-heading{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.weather-forecast{padding:18px 12px}.weather-meta{align-items:flex-start;flex-direction:column}.weather-grid{grid-template-columns:repeat(2,1fr)}.weather-day:first-child{grid-column:span 2}.weather-day{padding:16px 8px}.weather-official-link{width:100%}.weather-vigilance{padding:23px 18px}}
.meteoblue-widget-shell{padding:20px;background:#fff;border:1px solid rgba(22,55,47,.11);box-shadow:0 20px 55px rgba(13,45,36,.09)}.meteoblue-widget-shell iframe{display:block;width:100%;height:470px;border:0;background:#fff}.meteoblue-widget-shell p{margin:12px 4px 0;color:var(--muted);font-size:10px;text-align:right}.meteoblue-widget-shell a{color:var(--forest);font-weight:700;text-underline-offset:3px}@media(max-width:680px){.meteoblue-widget-shell{padding:8px}.meteoblue-widget-shell iframe{height:570px}.meteoblue-widget-shell p{margin:10px 5px 4px}}
.main-nav{gap:clamp(11px,1.4vw,24px)}.language-switcher{position:relative}.language-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;padding:8px 4px;font:inherit;font-size:12px;font-weight:750;letter-spacing:.05em;cursor:pointer}.language-flag,.language-menu button img{display:block;width:26px;height:17px;object-fit:cover;border-radius:2px;border:1px solid rgba(255,255,255,.45);box-shadow:0 2px 6px rgba(0,0,0,.16)}.site-header.scrolled .language-flag{border-color:rgba(22,55,47,.22)}.language-toggle svg{width:9px;height:6px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}.language-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.language-menu{position:absolute;z-index:120;top:calc(100% + 12px);right:0;width:185px;padding:7px;background:#fff;color:var(--forest);box-shadow:0 18px 55px rgba(5,25,19,.2);border:1px solid rgba(22,55,47,.1)}.language-menu[hidden]{display:none}.language-menu button{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:inherit;padding:9px 11px;text-align:left;font:inherit;font-size:12px;cursor:pointer}.language-menu button img{width:26px;height:17px;border-color:rgba(22,55,47,.16);box-shadow:none}.language-menu button:hover,.language-menu button[aria-current=true]{background:var(--cream)}@media(max-width:980px){.main-nav{justify-content:flex-start;overflow-y:auto;padding:105px 24px 110px}.language-switcher{display:flex;justify-content:center;flex-direction:column;align-items:center}.language-toggle{font-family:var(--sans);font-size:14px}.language-menu{position:static;margin-top:5px;width:220px;box-shadow:none}.language-menu button{font-family:var(--sans);font-size:13px}}
@media(max-width:680px){.spot-highlights,.serre-gallery{grid-template-columns:1fr}.spot-highlights .spot-card img,.serre-gallery .spot-card img{aspect-ratio:4/3}.photo-credits{text-align:left}.airport-access>a{grid-template-columns:44px 1fr auto}.airport-code{width:42px;height:42px}.map-wrap>img{object-position:center}}
@media(max-width:680px){.booking-intro{font-size:15px}.booking-options{flex-direction:column}.direct-booking{flex-direction:column;border:0;gap:10px}.direct-phone{padding:12px 0}.booking-options .button{width:100%}.direct-note{line-height:1.5}}
