.header-actions{display:flex;align-items:center;gap:16px}.lang-link{font-size:.75rem;letter-spacing:.12em;font-weight:700}.destination-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;background:var(--paper2)}.destination-preview img{width:100%;height:410px;object-fit:cover}.destination-preview p{max-width:42ch;font-family:var(--serif);font-size:1.3rem}.destination-preview .btn{margin-top:18px}.quote-hero{background-image:linear-gradient(90deg,rgba(248,242,233,.82),transparent 78%),url('/assets/beach.webp')}.quote-section h2{margin-bottom:28px}.quote-section .full-label{display:block}.quote-section .consent{display:block;margin-top:25px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-feedback{border:1px solid var(--copper);padding:15px;margin-bottom:25px}.home-hero-image img{width:100%;object-fit:cover}
.official-logo{display:inline-flex;align-items:center;flex-shrink:0}.official-logo img{display:block;width:133px;height:74px;object-fit:contain}.footer-logo img{width:142px;height:90px}.site-footer .footer-logo{display:inline-flex}.site-footer .footer-logo+small{margin-top:0}
.text-block{max-width:1100px;margin:auto}.text-block p{max-width:72ch;font-size:1.05rem;line-height:1.8}
.faq-item{max-width:1080px;margin:0 auto;border-bottom:1px solid var(--line);padding:25px 30px}.faq-item:first-of-type{margin-top:70px}.faq-item:last-of-type{margin-bottom:70px}.faq-item summary{cursor:pointer;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.8rem);list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';float:right;color:var(--copper)}.faq-item[open] summary::after{content:'−'}.faq-item p{max-width:72ch;line-height:1.8;margin:15px 0 0}.faq-cta{min-height:390px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:white;padding:60px 25px}.faq-cta h2{color:white;margin:20px 0 30px}
main>details{max-width:1080px;margin:0 auto;border-bottom:1px solid var(--line);padding:25px 30px}main>details:first-of-type{margin-top:70px}main>details:last-of-type{margin-bottom:70px}main>details summary{cursor:pointer;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.8rem);list-style:none}main>details summary::-webkit-details-marker{display:none}main>details summary::after{content:'+';float:right;color:var(--copper)}main>details[open] summary::after{content:'−'}main>details p{max-width:72ch;line-height:1.8;margin:15px 0 0}
.faq-cta>.eyebrow{background:transparent;padding:0;color:#fff;margin:0}.faq-cta>.eyebrow span{background:#fff}
.newsletter-footer{display:grid;grid-template-columns:1fr 1fr;gap:7%;border-top:1px solid #5a7978;margin-top:34px;padding-top:38px}.newsletter-footer h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:12px}.newsletter-footer p{font-size:.82rem;max-width:50ch}.newsletter-footer form{max-width:490px}.newsletter-footer form>label:first-of-type{display:block;font-size:.8rem}.newsletter-footer input[type=email]{display:block;width:100%;padding:13px;margin-top:8px;background:#f6f0e7;border:1px solid #fff;color:#0a2528}.newsletter-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:.72rem;line-height:1.5}.newsletter-consent input{margin-top:2px}.newsletter-footer button{margin-top:4px}@media(max-width:720px){.newsletter-footer{grid-template-columns:1fr;gap:18px}}
.onboard-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:420px}.onboard-feature>img{height:420px}.onboard-feature>div{padding:10%}.onboard-feature.reverse>img{order:2}.onboard-feature h2{font-size:clamp(2.7rem,4vw,4.6rem)}.onboard-feature p{font-size:1.05rem;max-width:38ch}.onboard-services{text-align:center}.onboard-services h2{max-width:750px;margin:0 auto 45px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:35px}.services-grid>div{padding:30px 25px;border-right:1px solid var(--line)}.services-grid>div:last-child{border:0}.services-grid span{display:block;font-size:2.5rem;color:var(--copper);margin-bottom:14px}.services-grid h3{margin-bottom:8px}.services-grid p{color:var(--muted)}.gallery-section{padding-bottom:25px}.gallery-grid figure{position:relative;margin:0;overflow:hidden}.gallery-grid img{height:100%;transition:transform .3s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-grid figcaption{position:absolute;left:12px;bottom:12px;background:#073b40c7;color:#fff;font-size:.72rem;padding:6px 10px}.gallery-end{text-align:center;padding-top:20px}.gallery-end p{margin:0 auto 20px;max-width:45ch}@media(max-width:720px){.onboard-feature{grid-template-columns:1fr}.onboard-feature>img{height:300px}.onboard-feature.reverse>img{order:0}.onboard-feature>div{padding:45px 6%}.services-grid{grid-template-columns:1fr}.services-grid>div{border-right:0;border-bottom:1px solid var(--line)}.gallery-grid figcaption{font-size:.6rem}}
.photo-hero{position:relative;color:#fff}.photo-hero.light{color:#fff}.photo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,49,.84) 0%,rgba(0,68,82,.53) 37%,rgba(0,67,80,.12) 76%,transparent 100%);pointer-events:none}.photo-hero .hero-content{position:relative;z-index:1}.photo-hero h1,.photo-hero p,.photo-hero .eyebrow{text-shadow:0 2px 12px rgba(0,19,27,.58)}.photo-hero .eyebrow span{background:#fff}@media(max-width:720px){.photo-hero::before{background:linear-gradient(90deg,rgba(0,35,47,.88) 0%,rgba(0,54,68,.70) 58%,rgba(0,54,68,.40) 100%)}.photo-hero.light .hero-content{background:transparent;padding:0}}
@media(min-width:721px){.main-nav .nav-quote{display:none}}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.journal-feature{grid-column:1/-1}.journal-feature img{width:100%}.journal-grid .small-card img{height:230px}.journal-grid .small-card small{display:block;color:var(--copper);letter-spacing:.15em;font-size:.65rem;margin:8px 0}.journal-grid .small-card h3{margin:5px 0}.journal-grid .small-card p{max-width:46ch}.article-body>p{line-height:1.8}@media(max-width:720px){.journal-grid{grid-template-columns:1fr}.journal-feature img{height:260px}}
.journal-pagination{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:55px;font-size:.82rem}.journal-pagination a{color:var(--copper);border-bottom:1px solid currentColor;padding:5px 0}.journal-pagination span{color:var(--muted)}
.comments-section{max-width:950px;margin:auto;border-top:1px solid var(--line)}.comments-section h2{font-size:clamp(2.2rem,4vw,3.5rem)}.comments-section form{max-width:650px;margin-top:35px}.comments-section form label{display:block;margin:18px 0;font-size:.85rem}.comments-section input:not([type=checkbox]),.comments-section textarea{display:block;width:100%;padding:12px;background:#fff;border:1px solid var(--line);margin-top:7px}.comments-section .consent{display:flex;align-items:flex-start;gap:10px}.comments-section .consent input{margin-top:4px}.comment{border-bottom:1px solid var(--line);padding:18px 0}.comment p{margin:8px 0 0}
.contact-form-section .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.contact-form-section .consent input{display:inline;width:auto;margin:3px 0 0}.contact-form-section .form-feedback{width:100%}
@media(max-width:720px){.header-actions .btn{display:none}.header-actions{order:2;margin-left:auto;margin-right:18px}.menu-toggle{order:3}.destination-preview{grid-template-columns:1fr}.destination-preview img{height:260px}.quote-hero{background-position:60% center}}
@media(max-width:720px){.official-logo img{width:108px;height:64px}.footer-logo img{width:142px;height:90px}}
/* Programme catalogue and detail */
.programs-section{padding-top:clamp(70px,9vw,130px)}
.program-grid{align-items:stretch}
.program-card{height:100%}
.program-card img{aspect-ratio:4/3;object-fit:cover}
.program-category{display:block;color:#8d4c2b;font-size:.68rem;font-weight:700;letter-spacing:.17em;margin-bottom:12px}
.program-detail-hero{position:relative;min-height:clamp(480px,68vw,710px);display:flex;align-items:end;color:#fff;overflow:hidden}
.program-detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,31,37,.08),rgba(2,31,37,.78))}
.program-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.program-detail-hero>div{position:relative;z-index:1;width:min(1050px,88%);margin:0 auto;padding:100px 0 80px}
.program-detail-hero .eyebrow{color:#e9cfad;letter-spacing:.2em}
.program-detail-hero h1{max-width:780px;font-size:clamp(3.1rem,7vw,7rem);line-height:1.02;margin:20px 0}
.program-detail-hero p{max-width:650px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55}
.program-detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,8vw,130px);align-items:start}
.program-detail-body h2{max-width:500px}
.program-detail-body p{line-height:1.85;margin:0 0 1.4em}
.program-detail-body .btn{margin-top:20px}
.program-more{background:#073b40;color:#fff;padding:clamp(70px,9vw,130px) 6%;text-align:center}
.program-more>div{max-width:720px;margin:auto}
.program-more h2{margin:18px auto;font-size:clamp(2.5rem,5vw,5rem)}
.program-more p{line-height:1.8;margin-bottom:28px}
.program-more .btn-outline{color:#fff;border-color:#fff}
@media(max-width:760px){.program-detail-hero{min-height:560px}.program-detail-hero>div{padding:100px 0 55px}.program-detail-body{grid-template-columns:1fr}.program-more{padding-left:7%;padding-right:7%}}
.catalog-link{text-align:center;padding:0 4% 85px}
@media(max-width:760px){.catalog-link{padding:0 5% 65px}}
.not-found-main{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:7% 6%;background:linear-gradient(90deg,rgba(6,47,50,.94),rgba(6,47,50,.7) 53%,rgba(6,47,50,.12)),url('/assets/celvine-sunset.webp') center/cover;color:#fff}.not-found-copy{max-width:680px}.not-found-copy .eyebrow{color:#e5bfa9}.not-found-copy h1{font-size:clamp(3.6rem,7vw,7rem);line-height:.96;margin:22px 0 26px}.not-found-copy p{font-size:1.1rem;line-height:1.7;max-width:48ch}.not-found-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.not-found-actions .text-link{color:#fff;border-bottom:1px solid #fff;padding-bottom:5px}@media(max-width:720px){.not-found-main{min-height:calc(100vh - 66px);padding:70px 6%;background-position:64% center}.not-found-copy h1{font-size:clamp(3.7rem,15vw,5rem)}}
.nav-more{position:relative;font-size:.82rem}.nav-more summary{cursor:pointer;list-style:none;white-space:nowrap}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary span{font-size:1rem;margin-left:2px}.nav-more-panel{position:absolute;top:calc(100% + 22px);right:0;width:min(320px,85vw);max-height:70vh;overflow:auto;background:var(--paper);box-shadow:0 18px 40px #09272d30;border:1px solid var(--line);padding:9px;display:grid;gap:0;z-index:40}.nav-more-panel a{padding:11px 13px;white-space:normal}.nav-more-panel a:hover,.nav-more-panel a[aria-current=page]{background:var(--paper2);color:var(--copper)}@media(max-width:720px){.nav-more{width:100%}.nav-more-panel{position:static;width:100%;max-height:none;box-shadow:none;border:0;border-left:2px solid var(--copper);margin-top:13px;padding:0 0 0 9px}.nav-more-panel a{padding:9px 12px}}
@media(max-width:720px){.main-nav{max-height:calc(100vh - 66px);overflow-y:auto}}
.footer-main{align-items:start}.footer-main nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;width:min(930px,75%);line-height:1.45}.footer-main nav a{font-size:.875rem}.footer-main nav a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.footer-main nav{grid-template-columns:repeat(3,minmax(0,1fr));width:70%}}@media(max-width:720px){.footer-main nav{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px 16px}}
.skip-link{position:absolute;top:0;left:16px;z-index:1000;transform:translateY(-150%);padding:12px 18px;background:#073b40;color:#fff;font-weight:700}.skip-link:focus{transform:translateY(8px)}
.partners-section{background:#f8f4ed;border-top:1px solid var(--line)}.partners-section h2{max-width:860px}.partners-section>p{max-width:68ch;line-height:1.7}
.partner-slider{--partner-visible:6;--partner-gap:22px;position:relative;margin-top:34px}
.partner-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:5px}.partner-viewport::-webkit-scrollbar{display:none}
.partner-track{display:flex;gap:var(--partner-gap);list-style:none;margin:0;padding:8px 0}
.partner-slide{flex:0 0 calc((100% - (var(--partner-visible) - 1)*var(--partner-gap))/var(--partner-visible));min-width:0;scroll-snap-align:start}
.partner-slide a,.partner-logo{display:flex;align-items:center;justify-content:center;min-height:126px;padding:8px}
.partner-slide a{transition:transform .25s ease,opacity .25s ease}.partner-slide a:hover{transform:scale(1.06);opacity:.85}.partner-slide a:focus-visible,.partner-controls button:focus-visible,.partner-viewport:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.partner-slide img{display:block;width:100%;max-width:155px;height:106px;object-fit:contain}
.partner-slide img[src$="partner-madinsea.png"],.partner-slide img[src$="partner-conciergerie-coco.png"]{mix-blend-mode:multiply}
.partner-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.partner-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--green);border-radius:50%;background:transparent;color:var(--green);font-size:1.35rem;cursor:pointer}.partner-controls button:hover{background:var(--green);color:var(--paper)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.partner-slider{--partner-visible:3}}
@media(max-width:600px){.partner-slider{--partner-visible:2;--partner-gap:14px}.partner-slide img{height:92px}.partner-slide a,.partner-logo{min-height:108px}}
@media(max-width:380px){.partner-slider{--partner-visible:1}}
.featured-programs>p{max-width:68ch;line-height:1.7;margin-bottom:28px}.featured-programs .three-grid{margin-bottom:28px}.featured-programs .small-card img{height:250px}.featured-programs .small-card p{max-width:55ch;line-height:1.6;font-size:.83rem}.featured-programs>.btn{margin-top:4px}
.featured-programs .small-card img{height:auto;aspect-ratio:6/5;object-fit:cover}
.home-journal{background:var(--paper2)}.home-journal-head{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:end;margin-bottom:32px}.home-journal-head h2{max-width:14ch;margin:0}.home-journal-head p{max-width:48ch;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.4}.home-journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.home-journal-card{display:grid;grid-template-columns:45% 55%;min-height:260px;background:var(--paper);overflow:hidden}.home-journal-card img{height:100%;min-height:260px;object-fit:cover;transition:transform .35s ease}.home-journal-card:hover img{transform:scale(1.03)}.home-journal-card>div{padding:clamp(18px,2.4vw,34px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.home-journal-card .eyebrow{color:var(--copper);font-size:.62rem}.home-journal-card h3{font-size:clamp(1.6rem,2.1vw,2.4rem);line-height:1.06;margin-bottom:10px}.home-journal-card p{font-size:.8rem;line-height:1.55;color:var(--muted)}.home-journal-card .text-link{margin-top:4px}
.journal-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8%;align-items:end;background:var(--paper2)}
.journal-intro h2{max-width:12ch;margin-bottom:0}.journal-intro p{max-width:46ch;font-family:var(--serif);font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.3}.journal-intro .text-link{margin-top:14px}
.journal-list-heading{margin-bottom:34px}.journal-list-heading h2{margin-bottom:12px}.journal-list-heading p{color:var(--muted);max-width:60ch}
.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}.journal-card{display:block;min-width:0;border-top:1px solid var(--line);padding-top:16px}.journal-card-image{overflow:hidden;background:var(--paper2)}.journal-card img{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;transition:transform .45s ease}.journal-card:hover img{transform:scale(1.035)}.journal-card-copy{padding:18px 0 0}.journal-card small{display:block;color:var(--copper);font-size:.65rem;font-weight:700;letter-spacing:.2em;margin-bottom:13px}.journal-card h3{font-size:clamp(1.8rem,2.3vw,2.7rem);max-width:22ch;margin:0 0 12px}.journal-card p{color:var(--muted);max-width:52ch;line-height:1.65}.journal-card .text-link{margin-top:5px}.journal-feature{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:stretch;gap:0;padding:0;border:0;background:var(--green);color:#fff;margin:0 0 14px}.journal-feature .journal-card-image{min-height:410px}.journal-feature img{height:100%;aspect-ratio:auto}.journal-feature .journal-card-copy{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.journal-feature small,.journal-feature p{color:#d9e8e5}.journal-feature h3{font-size:clamp(2.6rem,3.8vw,4.7rem)}.journal-feature .text-link{color:#fff;border-color:#fff}
.journal-bottom-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--paper2)}.journal-bottom-cta h2{max-width:13ch}.journal-bottom-cta p{max-width:55ch}.journal-bottom-cta .btn{flex-shrink:0}
.article-body{max-width:930px}.article-body>p{font-size:1.05rem;max-width:72ch;line-height:1.85}.article-body>h2{font-size:clamp(2.25rem,3.1vw,3.5rem);line-height:1.08;margin:54px 0 20px;max-width:19ch}.article-body>.lead{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.45;max-width:58ch;color:var(--muted)}.article-next-steps{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;border-block:1px solid var(--line);padding:25px 0;margin:65px 0 30px}.article-next-steps strong{width:100%;font-family:var(--serif);font-size:1.55rem;font-weight:400}.article-next-steps a{font-size:.85rem;color:var(--copper);border-bottom:1px solid currentColor;padding-bottom:3px}
@media(max-width:720px){.journal-intro,.journal-grid,.journal-feature{grid-template-columns:1fr}.journal-intro{gap:24px}.journal-feature .journal-card-image{min-height:0}.journal-feature img{height:auto;aspect-ratio:6/5}.journal-feature .journal-card-copy{padding:32px 25px 38px}.journal-card img,.featured-programs .small-card img{aspect-ratio:6/5;height:auto}.journal-bottom-cta{display:block}.journal-bottom-cta .btn{margin-top:20px}.article-body>h2{margin-top:40px}}
@media(max-width:900px){.home-journal-grid{grid-template-columns:1fr}.home-journal-card{min-height:240px}}
@media(max-width:720px){.home-journal-head{grid-template-columns:1fr;gap:24px}.home-journal-card{grid-template-columns:1fr}.home-journal-card img{height:auto;min-height:0;aspect-ratio:6/5}.home-journal-card>div{padding:24px}}
@media(max-width:720px){.article-body h1{font-size:clamp(2.8rem,11vw,4rem);overflow-wrap:break-word}}
.quick-search select:focus-visible,.quick-search input:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.contact-details{background:var(--paper2)}.contact-details h2{max-width:800px}.contact-details address{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-style:normal}.contact-details address>div{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.contact-details strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.contact-details a{border-bottom:1px solid var(--copper)}.contact-details a:hover{color:var(--copper)}@media(max-width:720px){.contact-details address{grid-template-columns:1fr}}
.footer-contact-links{display:flex;gap:18px;flex-wrap:wrap}.footer-contact-links a{text-decoration:underline;text-underline-offset:3px}.footer-contact-links a:hover{color:#fff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.home-hero{grid-template-columns:minmax(0,38%) minmax(0,62%)}
.home-hero-copy h1{font-size:clamp(2.75rem,6.2vw,7.8rem)}
@media(max-width:720px){.home-hero-copy h1{font-size:clamp(2.75rem,13vw,6rem)}}
.newsletter-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:center;background:#e9f1ee;scroll-margin-top:90px}
.newsletter-home h2{max-width:650px}.newsletter-home p{max-width:55ch;line-height:1.7}
.newsletter-home form{background:#fff;padding:clamp(22px,3vw,42px);box-shadow:0 14px 45px #0a252817}
.newsletter-home form>label:first-of-type{display:block;font-weight:700;font-size:.84rem}
.newsletter-home input[type=email]{display:block;width:100%;padding:14px;margin-top:10px;border:1px solid var(--line);background:#fbf8f2;color:#0a2528}
.newsletter-home .newsletter-consent{color:#263c3d}.newsletter-home .newsletter-consent input{flex:none}
.newsletter-privacy{display:inline-block;font-size:.75rem;text-decoration:underline;text-underline-offset:3px;margin:0 0 17px}
.newsletter-feedback{margin:17px 0 0!important;padding:12px;background:#e9f1ee;border-left:3px solid var(--copper);font-size:.85rem}
.site-footer .newsletter-footer .btn-outline{justify-self:start;align-self:center;color:#fff;border-color:#fff}
.site-footer .newsletter-footer .btn-outline:hover{color:var(--green);background:#fff}
@media(max-width:760px){.newsletter-home{grid-template-columns:1fr;gap:25px}}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 12px 30px rgba(4,29,33,.12)}
html{scroll-padding-top:90px}
.home-hero-image{isolation:isolate;min-height:550px;background:#064752}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.home-hero-image::after{content:"";position:absolute;z-index:2;inset:48% 0 0;background:linear-gradient(transparent,rgba(2,25,30,.34));pointer-events:none}
.hero-slider-ui{position:absolute;z-index:4;left:4%;bottom:5%;display:flex;align-items:center;gap:22px}
.hero-slider-dots,.hero-slider-arrows{display:flex;align-items:center;gap:8px}
.hero-slider-dot{width:24px;height:28px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.hero-slider-dot::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:#fff9;transition:width .3s ease,background .3s ease}
.hero-slider-dot.is-active::before{width:23px;border-radius:8px;background:#fff}
.hero-slider-arrows button{width:38px;height:38px;border:1px solid #ffffffa6;border-radius:50%;background:#073b4070;color:#fff;font-size:1.7rem;line-height:1;display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .2s ease,transform .2s ease}
.hero-slider-arrows button:hover{background:#073b40d9;transform:scale(1.06)}
.hero-slider-arrows [data-hero-toggle] span{position:static;display:block;font-size:1.3rem;line-height:1;letter-spacing:0;text-align:center}
.hero-slider-ui button:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Keyboard and touch access across both desktop and compact layouts. */
.main-nav>a,.nav-more summary,.nav-more-panel a,.lang-link{min-height:44px;display:inline-flex;align-items:center}
.quick-search select,.quick-search input{min-height:44px}
.hero-slider-dot{width:44px;height:44px}
.hero-slider-arrows button,.partner-controls button{width:44px;height:44px}
.site-footer a,.footer-contact-links a{min-height:44px;display:inline-flex;align-items:center}
.newsletter-consent{min-height:44px;align-items:center;font-size:.875rem}
.destinations-home .small-card p{font-size:.875rem;line-height:1.45;letter-spacing:.09em}
.site-footer a:focus-visible,.dark-feature a:focus-visible,.article-wide-cta a:focus-visible,.program-more a:focus-visible,.journal-feature:focus-visible,.hero-slider-ui button:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #073b40}
.photo-hero a:focus-visible,.program-detail-hero a:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #073b40}
.section-cta h2{font-size:clamp(1.5rem,2vw,2rem);line-height:1.02;margin:0}
@media(max-width:720px){.main-nav{gap:0}.main-nav>a,.nav-more summary,.nav-more-panel a{width:100%}}
.home-hero-image .hero-location{z-index:3;bottom:7%}
@media(max-width:1050px){.home-hero-image{min-height:470px}}
@media(max-width:720px){html{scroll-padding-top:78px}.home-hero-image{height:370px;min-height:370px}.hero-slider-ui{left:5%;bottom:6%}.home-hero-image .hero-location{right:5%;bottom:18%;font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.main-nav>a,.nav-more summary{padding-top:12px;padding-bottom:12px}

/* Keep the visitor oriented in the current page and section. */
.main-nav>a[aria-current=page]:not(.nav-quote),.main-nav>a.is-section-current,.nav-more.is-current>summary{color:var(--copper);font-weight:700;position:relative}
.main-nav>a[aria-current=page]:not(.nav-quote)::after,.main-nav>a.is-section-current::after,.nav-more.is-current>summary::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--copper)}
.nav-more-panel a[aria-current=page]{border-left:3px solid var(--copper);font-weight:700}
.header-actions .btn.is-current{background:var(--green);border-color:var(--green)}
@media(max-width:720px){.main-nav>a[aria-current=page],.main-nav>a.is-section-current,.nav-more.is-current>summary{background:var(--paper2);border-left:3px solid var(--copper);padding-left:14px}.main-nav>a[aria-current=page]::after,.main-nav>a.is-section-current::after,.nav-more.is-current>summary::after{display:none}}

/* Give the destination photography room while keeping landscape cards. */
.destination-grid .image-card{height:clamp(360px,33vw,440px)}
@media(max-width:720px){.destination-grid .image-card{height:min(82vw,360px)}}

/* The quote page uses the same editorial rhythm as the other CELVINE pages. */
.quote-showcase{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:610px;background:var(--paper)}
.quote-showcase-copy{padding:clamp(58px,7vw,110px) clamp(32px,5vw,88px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.quote-breadcrumb{display:flex;gap:12px;align-items:center;font-size:.76rem;color:var(--muted);margin-bottom:42px;flex-wrap:wrap}
.quote-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.quote-showcase h1{font-size:clamp(3.5rem,6vw,7rem);line-height:.94;overflow-wrap:break-word;max-width:11ch;margin:4px 0 26px}
.quote-showcase-copy>p{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.25;max-width:31ch;margin-bottom:30px}
.quote-showcase-media{position:relative;min-width:0;margin:0;overflow:hidden;background:var(--green)}
.quote-showcase-media img{width:100%;height:100%;min-height:610px;object-fit:cover}
.quote-showcase-media figcaption{position:absolute;right:24px;bottom:22px;color:#fff;background:#073b40ad;padding:9px 13px;font-size:.65rem;letter-spacing:.15em}
.quote-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,110px);align-items:start;max-width:1530px;margin:auto;background:var(--paper)}
.quote-editorial{padding-top:45px}.quote-editorial h2{font-size:clamp(3.1rem,4vw,5rem);max-width:11ch;margin:0 0 25px}.quote-editorial>p{font-size:1rem;line-height:1.8;max-width:44ch;color:var(--muted)}
.quote-journey-steps{list-style:none;margin:38px 0 55px;padding:0;border-top:1px solid var(--line)}
.quote-journey-steps li{display:grid;grid-template-columns:43px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:20px 0}
.quote-journey-steps li>span{font-family:var(--serif);font-size:1.25rem;color:var(--copper)}
.quote-journey-steps strong{font-size:.85rem}.quote-journey-steps p{color:var(--muted);font-size:.78rem;margin:7px 0 0;line-height:1.5}
.quote-editorial-photo{margin:0}.quote-editorial-photo img{width:100%;height:clamp(260px,26vw,390px);object-fit:cover}.quote-editorial-photo figcaption{font-family:var(--serif);font-size:1.25rem;margin-top:14px}
.quote-form-card{background:#fff;padding:clamp(27px,4vw,66px);box-shadow:0 20px 70px #0a252811;border:1px solid var(--line);scroll-margin-top:100px;min-width:0}
.quote-form-card h2{font-size:clamp(2.6rem,3.6vw,4.3rem);margin:0 0 12px}.quote-form-intro{color:var(--muted);font-size:.88rem;line-height:1.6}
.quote-form-group{border:0;border-top:1px solid var(--line);padding:22px 0 5px;margin:28px 0 0;min-width:0}
.quote-form-group legend{font-family:var(--serif);font-size:1.7rem;padding:0 14px 0 0}
.quote-form-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 22px;margin:8px 0 18px}
.quote-form-card .form-grid label,.quote-form-card .full-label{min-width:0}.quote-form-card .form-grid input,.quote-form-card .form-grid select,.quote-form-card textarea{width:100%;min-height:46px}
.quote-form-card .full-label{margin-top:24px}.quote-form-card textarea{min-height:150px}
.quote-form-card .consent{display:flex;align-items:flex-start;gap:10px;margin-top:26px;line-height:1.5}.quote-form-card .consent input{margin-top:4px}
.quote-privacy-link{display:inline-block;margin-top:10px;color:var(--copper);text-decoration:underline;text-underline-offset:3px;font-size:.8rem}
.quote-booking-note{border-left:3px solid var(--copper);background:var(--paper);padding:18px 20px;color:var(--ink);font-size:.78rem;line-height:1.65;margin:32px 0 0}
.quote-form-card .form-actions{margin-top:24px}.quote-form-card .form-actions .btn{min-width:230px}
@media(max-width:900px){.quote-showcase{grid-template-columns:minmax(0,47%) minmax(0,53%)}.quote-layout{grid-template-columns:1fr;gap:35px}.quote-editorial{padding-top:0}.quote-editorial h2{max-width:15ch}.quote-editorial-photo{display:none}}
@media(max-width:720px){.quote-showcase{grid-template-columns:1fr}.quote-showcase-copy{padding:48px 6% 44px}.quote-breadcrumb{margin-bottom:26px}.quote-showcase h1{font-size:clamp(3.4rem,12vw,5.6rem)}.quote-showcase-media img{height:300px;min-height:0}.quote-layout{padding:52px 5%;gap:28px}.quote-editorial h2{font-size:3.1rem}.quote-journey-steps{margin:25px 0 5px}.quote-form-card{padding:28px 20px}.quote-form-card .form-grid{grid-template-columns:1fr}.quote-form-card .form-actions .btn{width:100%}}
.lang-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.hero-slider-dot{width:44px;height:44px}
.hero-slider-arrows button,.partner-controls button{width:44px;height:44px}
@media(max-width:720px){.menu-toggle{min-width:44px;min-height:44px}.hero-slider-ui{right:5%;justify-content:space-between;gap:4px}.hero-slider-dots{gap:0}.hero-slider-arrows{gap:4px}.site-footer nav a{padding:5px 0}}
@media(max-width:380px){.hero-slider-ui{align-items:flex-start;flex-direction:column-reverse;gap:0}.home-hero-image .hero-location{display:none}}
/* Keep automatic carousels controllable and mobile links comfortably tappable. */
.footer-main nav a{display:flex;align-items:center;min-height:44px}
.home-journal-head a.text-link{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:460px){.hero-slider-ui{align-items:flex-start;flex-direction:column-reverse;gap:0}.home-hero-image .hero-location{display:none}}

/* Journal article: an editorial spread built around the article's own images. */
.article-cover{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:620px;background:var(--paper2)}
.article-cover-copy{padding:clamp(48px,6vw,104px) clamp(28px,5.5vw,88px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.article-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:clamp(35px,5vw,72px);font-size:.77rem;color:var(--muted)}
.article-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.article-breadcrumb a:hover{color:var(--copper)}
.article-cover .eyebrow{margin-bottom:22px}
.article-cover h1{font-size:clamp(3.25rem,5.5vw,6.3rem);line-height:.98;letter-spacing:-.045em;margin:0 0 26px;max-width:14ch;overflow-wrap:break-word}
.article-cover-lead{font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.85rem);line-height:1.3;max-width:33ch;color:var(--ink);margin-bottom:32px}
.article-read-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;border-bottom:1px solid var(--copper);color:var(--copper);font-weight:700;font-size:.85rem}
.article-read-link span{font-size:1.3rem;font-weight:400}
.article-cover-media{margin:0;position:relative;min-height:620px;overflow:hidden;background:var(--green)}
.article-cover-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.article-cover-media::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#062f3299);pointer-events:none}
.article-cover-media figcaption{position:absolute;z-index:1;right:6%;bottom:6%;color:#fff;font-size:.68rem;letter-spacing:.24em;font-weight:700}
.article-reading-layout{display:grid;grid-template-columns:minmax(180px,235px) minmax(0,780px);gap:clamp(42px,6vw,100px);width:min(1300px,100%);margin:auto;padding-top:clamp(70px,8vw,120px);padding-bottom:90px;align-items:start}
.article-aside{border-top:1px solid var(--copper);align-self:stretch}
.article-aside-inner{position:sticky;top:108px;padding-top:24px}
.article-aside nav strong{display:block;margin-bottom:20px;color:var(--copper);font-size:.7rem;letter-spacing:.19em}
.article-aside ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.article-aside li a{display:flex;gap:13px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);font-size:.8rem;line-height:1.4;min-height:44px}
.article-aside li a:hover{color:var(--copper)}
.article-aside li span{font-size:.7rem;letter-spacing:.1em;color:var(--copper);padding-top:2px}
.article-aside-cta{margin-top:40px;padding:25px;background:var(--green);color:#fff}
.article-aside-cta .eyebrow{color:#e8c4ad;font-size:.62rem;letter-spacing:.15em}
.article-aside-cta p{font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin:19px 0}
.article-aside-cta a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #fff;font-size:.8rem}
.article-body{max-width:none;min-width:0;scroll-margin-top:105px}
.article-body>.eyebrow{margin-bottom:24px}
.article-body>p{font-size:1.08rem;line-height:1.85;max-width:68ch;margin-bottom:26px;color:var(--ink)}
.article-body>p:first-of-type{font-family:var(--serif);font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.4;margin-bottom:42px}
.article-body>h2{font-size:clamp(2.6rem,3.5vw,4.2rem);line-height:1.02;max-width:17ch;margin:70px 0 24px;scroll-margin-top:105px}
.article-inline-photo{margin:42px 0 54px;width:100%}
.article-inline-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.article-inline-photo figcaption{border-bottom:1px solid var(--line);padding:14px 0;color:var(--muted);font-size:.76rem;letter-spacing:.08em}
.article-next-steps{margin-top:75px}
.article-next-steps a{display:inline-flex;align-items:center;min-height:44px;padding-bottom:0}
.article-wide-cta{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);padding:0;background:var(--green);color:#fff;min-height:470px}
.article-wide-cta>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(45px,6vw,90px)}
.article-wide-cta .eyebrow{color:#e5c8b2}
.article-wide-cta h2{max-width:12ch;font-size:clamp(3rem,4.3vw,5.4rem);line-height:1.02;margin:14px 0 22px}
.article-wide-cta p{max-width:49ch;line-height:1.7;color:#e1ece9;margin-bottom:24px}
.article-wide-cta img{height:100%;min-height:470px;object-fit:cover}
.article-related{background:var(--paper2)}
.article-related-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.article-related-heading h2{margin:0}
.article-related-heading a{min-height:44px;display:inline-flex;align-items:center}
.article-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.article-related-card{display:grid;grid-template-columns:43% 57%;background:var(--paper);min-width:0;min-height:300px;overflow:hidden}
.article-related-card img{height:100%;min-height:300px;object-fit:cover;transition:transform .35s ease}
.article-related-card:hover img{transform:scale(1.035)}
.article-related-card>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(20px,2vw,38px)}
.article-related-card>div>span:first-child{font-size:.65rem;letter-spacing:.17em;color:var(--copper);font-weight:700;margin-bottom:18px}
.article-related-card h3{font-size:clamp(1.8rem,2.25vw,2.6rem);line-height:1.03;margin:0 0 14px}
.article-related-card p{font-size:.82rem;line-height:1.6;color:var(--muted)}
.article-related-card .text-link{margin-top:10px}
.comments-section{margin:0 auto;padding-top:95px;padding-bottom:95px}
@media(max-width:1000px){.article-cover{grid-template-columns:1fr 1fr}.article-cover-copy{padding:55px 6%}.article-cover h1{font-size:clamp(3rem,5vw,4.8rem)}.article-cover,.article-cover-media{min-height:540px}.article-related-card{grid-template-columns:1fr}.article-related-card img{height:240px;min-height:0}.article-reading-layout{grid-template-columns:minmax(160px,220px) minmax(0,1fr)}}
@media(max-width:720px){.article-cover{display:flex;flex-direction:column;min-height:0}.article-cover-copy{padding:35px 6% 48px}.article-breadcrumb{margin-bottom:38px}.article-cover h1{font-size:clamp(3rem,11vw,5rem);max-width:13ch}.article-cover-media{min-height:0;height:390px}.article-cover-media img{position:relative;height:100%}.article-reading-layout{display:block;padding-top:56px;padding-bottom:65px}.article-aside{margin-bottom:60px}.article-aside-inner{position:static}.article-aside ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.article-aside-cta{margin-top:28px}.article-body>h2{margin-top:48px}.article-inline-photo{margin:32px 0 44px}.article-wide-cta{grid-template-columns:1fr}.article-wide-cta>div{padding:54px 6%}.article-wide-cta img{min-height:0;height:300px}.article-related-heading{display:block}.article-related-heading a{margin-top:12px}.article-related-grid{grid-template-columns:1fr}.comments-section{padding-top:65px;padding-bottom:65px}}
@media(max-width:420px){.article-cover-media{height:300px}.article-aside ol{grid-template-columns:1fr}.article-related-card img{height:220px}.article-cover h1{font-size:clamp(2.9rem,12vw,4rem)}}

/* Internal page banners grow with translated and editor-managed copy. */
.photo-hero{height:auto;min-height:clamp(440px,38vw,550px);display:flex;align-items:center;padding:clamp(64px,6vw,96px) 4%;background-size:cover;background-position:center}
.photo-hero .hero-content{width:min(100%,690px);max-width:690px;min-width:0}
.photo-hero h1{font-size:clamp(3.1rem,5.4vw,5.7rem);line-height:.96;overflow-wrap:break-word;text-wrap:balance;margin-bottom:20px}
.photo-hero p{font-size:clamp(1.08rem,1.55vw,1.45rem);line-height:1.48;max-width:43ch;overflow-wrap:break-word;margin-bottom:0}
.photo-hero .hero-content .btn{margin-top:25px}
@media(max-width:720px){.photo-hero{height:auto;min-height:440px;padding:68px 5%;align-items:center}.photo-hero h1{font-size:clamp(2.65rem,8.4vw,3.8rem);line-height:.98}.photo-hero p{font-size:clamp(1rem,3.8vw,1.18rem);line-height:1.5}}
@media(max-width:380px){.photo-hero{padding-top:60px;padding-bottom:60px}.photo-hero h1{font-size:clamp(2.35rem,10.5vw,2.7rem)}}

/* Contact: clear routes to the team and a calm editorial form. */
.contact-details{padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(70px,7vw,105px);background:var(--paper)}
.contact-details-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:8%;align-items:end;margin-bottom:42px}
.contact-details-intro h2{max-width:11ch;font-size:clamp(2.8rem,4.4vw,5rem);line-height:.98;margin:0}
.contact-details-intro>p{max-width:39ch;font-family:var(--serif);font-size:clamp(1.2rem,1.65vw,1.55rem);line-height:1.4;margin:0 0 4px}
.contact-details address.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-style:normal}
.contact-details .contact-method{min-width:0;min-height:225px;background:var(--paper2);border:1px solid var(--line);padding:clamp(22px,2.7vw,38px);display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.contact-method-number{font-family:var(--serif);color:var(--copper);font-size:2.15rem;line-height:1;margin-bottom:auto}
.contact-details .contact-method strong{font-size:.69rem;letter-spacing:.17em;text-transform:uppercase;margin:13px 0 5px}
.contact-details .contact-method a{border-bottom:1px solid var(--copper);text-underline-offset:3px;overflow-wrap:anywhere;line-height:1.5}
.contact-details .contact-method a:hover{color:var(--copper)}
.contact-details .contact-method>span:not(.contact-method-number),.contact-details .contact-method small{line-height:1.55;overflow-wrap:break-word}
.contact-details .contact-method small{color:var(--muted);font-size:.78rem}
.contact-form-section{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:0;align-items:stretch;padding:0;background:var(--paper2)}
.contact-form-section .contact-form-visual{position:relative;min-height:740px;overflow:hidden;background:var(--green)}
.contact-form-section .contact-form-visual img{height:100%;min-height:740px;object-fit:cover;object-position:center;filter:saturate(.94)}
.contact-form-visual::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(1,36,45,.73));pointer-events:none}
.contact-form-visual p{position:absolute;z-index:1;left:7%;right:7%;bottom:7%;color:#fff;font-family:var(--serif);font-size:clamp(2rem,3.2vw,4rem);line-height:1.05;max-width:13ch;margin:0;text-shadow:0 2px 12px #05242b88}
.contact-form-section form{width:100%;max-width:760px;padding:clamp(55px,6.2vw,100px) clamp(30px,6vw,100px);margin:0 auto;gap:0;align-items:stretch}
.contact-form-section form h2{font-size:clamp(2.8rem,3.9vw,4.4rem);line-height:1;max-width:11ch;margin:0 0 14px}
.contact-form-intro{max-width:43ch;line-height:1.7;color:var(--muted);margin:0 0 25px}
.contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;width:100%}
.contact-form-fields label{min-width:0;font-size:.875rem;letter-spacing:.01em;line-height:1.45}
.contact-form-fields label:last-child{grid-column:1/-1}
.contact-form-section input:not([type=checkbox]),.contact-form-section textarea{border:1px solid #c7c5bd;background:#fffcf7;padding:15px;min-height:49px}
.contact-form-section textarea{min-height:155px}
.contact-form-section .consent{font-size:.875rem;line-height:1.55;margin:22px 0 6px}
.contact-privacy-link{align-self:flex-start;border-bottom:1px solid var(--copper);font-size:.875rem;margin:3px 0 20px}
.contact-form-section .btn{margin-top:20px;width:auto;min-width:210px;align-self:flex-start;justify-content:space-between}
.contact-form-section :is(a,button,input,textarea):focus-visible{outline:3px solid var(--copper);outline-offset:3px}
@media(max-width:900px){.contact-details-intro{grid-template-columns:1fr;gap:20px}.contact-details-intro h2{max-width:14ch}.contact-details address.contact-methods{grid-template-columns:1fr 1fr}.contact-form-section{grid-template-columns:1fr}.contact-form-section .contact-form-visual{min-height:350px}.contact-form-section .contact-form-visual img{min-height:350px;height:350px}.contact-form-section form{max-width:720px}}
@media(max-width:600px){.contact-details address.contact-methods{grid-template-columns:1fr}.contact-details .contact-method{min-height:0;gap:7px;padding:23px}.contact-method-number{margin:0 0 7px}.contact-details .contact-method strong{margin:0 0 4px}.contact-form-section .contact-form-visual,.contact-form-section .contact-form-visual img{min-height:300px;height:300px}.contact-form-visual p{font-size:clamp(2rem,8vw,3rem)}.contact-form-section form{padding:50px 5% 65px}.contact-form-section form h2{font-size:clamp(2.6rem,10vw,3.7rem)}.contact-form-fields{grid-template-columns:1fr}.contact-form-fields label:last-child{grid-column:auto}}
@media(min-width:721px) and (max-width:900px){.site-header{padding:0 4%;height:78px}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 5%;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:flex-start;gap:20px;max-height:calc(100vh - 78px);overflow-y:auto}.menu-open .main-nav{display:flex}.menu-toggle{display:block;order:3;margin-left:18px}.header-actions{margin-left:auto}.header-actions .btn{display:none}}

/* Gallery lightbox */
.gallery-grid .gallery-open{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:zoom-in;overflow:hidden}
.gallery-grid .gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.gallery-grid .gallery-open:hover img{transform:scale(1.06);filter:brightness(.84)}
.gallery-grid .gallery-open:focus-visible{outline:3px solid #fff;outline-offset:-7px;box-shadow:inset 0 0 0 10px var(--copper)}
.gallery-grid .gallery-open figcaption{pointer-events:none}
.lightbox-open{overflow:hidden}
.gallery-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(16px,3vw,42px);border:0;background:rgba(3,29,36,.97);color:#fff;overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(2,18,24,.9)}
.gallery-lightbox[open]{animation:gallery-lightbox-in .32s ease both}
.gallery-lightbox.is-closing{animation:gallery-lightbox-out .22s ease both}
.gallery-lightbox-shell{width:min(100%,1500px);height:100%;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(16px,2.5vh,28px)}
.gallery-lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.gallery-lightbox-counter{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#e8d9ca}
.gallery-lightbox-close,.gallery-lightbox-arrow{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;padding:0;border:1px solid #fff7;border-radius:50%;background:#0c3a43b8;color:#fff;font-size:1.6rem;line-height:1;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.gallery-lightbox-close:hover,.gallery-lightbox-arrow:hover{background:var(--copper);border-color:var(--copper);transform:scale(1.06)}
.gallery-lightbox :is(button):focus-visible{outline:3px solid #fff;outline-offset:4px}
.gallery-lightbox-stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:clamp(8px,2vw,30px);min-height:0}
.gallery-lightbox-stage img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 16px 35px #0008);transition:opacity .14s ease,transform .14s ease}
.gallery-lightbox.is-changing .gallery-lightbox-stage img{opacity:.25;transform:scale(.975)}
.gallery-lightbox-caption{justify-self:center;max-width:65ch;text-align:center;font-family:var(--serif);font-size:clamp(1.1rem,1.8vw,1.6rem);line-height:1.35;margin:0;min-height:1.5em;color:#f7f0e8}
@keyframes gallery-lightbox-in{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
@keyframes gallery-lightbox-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.975)}}
@media(max-width:600px){.gallery-lightbox{padding:18px 10px 25px}.gallery-lightbox-shell{gap:12px}.gallery-lightbox-top{padding:0 9px}.gallery-lightbox-stage{grid-template-columns:42px minmax(0,1fr) 42px;gap:2px}.gallery-lightbox-close,.gallery-lightbox-arrow{width:40px;height:40px;font-size:1.35rem}.gallery-lightbox-caption{padding:0 15px;font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.gallery-lightbox[open],.gallery-lightbox.is-closing{animation:none}.gallery-lightbox-stage img,.gallery-grid .gallery-open img{transition:none}}
.gallery-lightbox-frame{position:relative;width:100%;height:100%;min-width:0;min-height:0}
.gallery-lightbox-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.gallery-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center}.gallery-lightbox-frame{width:100%}.gallery-lightbox-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);background:#073b40d9}.gallery-lightbox-arrow:hover{transform:translateY(-50%) scale(1.06)}.gallery-lightbox-arrow:first-child{left:4px}.gallery-lightbox-arrow:last-child{right:4px}}
.gallery-grid figure>figcaption{pointer-events:none}
.brochure-download{display:flex;align-items:center;justify-content:space-between;gap:42px;background:var(--paper2)}
.brochure-download h2{max-width:14ch;margin-bottom:20px}
.brochure-download p{max-width:62ch;color:var(--muted)}
.brochure-download .btn{flex-shrink:0}
@media(max-width:760px){.brochure-download{display:block}.brochure-download .btn{margin-top:22px;white-space:normal}}

.cgv-document{max-width:1160px;margin:auto}.cgv-document-header{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.cgv-document-header>div{max-width:720px}.cgv-document-header h2{font-size:clamp(2.5rem,4vw,4.8rem);line-height:1.05;margin:16px 0}.cgv-document-header p{line-height:1.7;color:var(--muted)}.cgv-document-header .btn{flex:none}.cgv-duration-nav{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 25px}.cgv-duration-nav a{padding:13px 20px;border:1px solid var(--line);min-height:46px;display:inline-flex;align-items:center}.cgv-duration-nav a[aria-current="page"]{color:#fff;background:var(--green);border-color:var(--green)}.cgv-duration-nav a:focus-visible,.cgv-contents a:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.cgv-key-points{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff;margin:0 0 45px}.cgv-key-points>div{padding:25px 28px;border-right:1px solid #ffffff35}.cgv-key-points>div:last-child{border-right:0}.cgv-key-points strong{display:block;font-family:var(--serif);font-size:2.4rem;font-weight:400}.cgv-key-points span{display:block;font-size:.84rem;line-height:1.5}.cgv-language-notice{border-left:4px solid var(--copper);padding:20px 25px;background:#fff9f0;margin:0 0 40px}.cgv-language-notice h3{font-size:1.6rem;margin-bottom:7px}.cgv-language-notice p{line-height:1.7;margin:0}.cgv-contents{padding:30px 34px;background:#eee6d9;margin-bottom:52px}.cgv-contents h3{font-size:1.8rem;margin-bottom:15px}.cgv-contents ol{columns:2;column-gap:48px;padding-left:23px;margin:0}.cgv-contents li{break-inside:avoid;padding:0 0 10px;line-height:1.5}.cgv-contents a{text-decoration:underline;text-decoration-color:#9b492e77;text-underline-offset:3px}.cgv-clauses{max-width:930px;margin:auto}.cgv-clauses section{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;border-top:1px solid var(--line);padding:28px 0;scroll-margin-top:90px}.cgv-number{font-family:var(--serif);color:var(--copper);font-size:2rem}.cgv-clauses h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin-bottom:9px}.cgv-clauses p{line-height:1.75;color:#34494a;margin:0}.cgv-document-footer{max-width:930px;margin:45px auto 25px;padding-top:20px;border-top:1px solid var(--line);font-size:.82rem;line-height:1.7;color:var(--muted)}.cgv-document>.text-link{display:inline-block;margin-top:12px}
@media(max-width:720px){.cgv-document-header{display:block}.cgv-document-header .btn{margin-top:15px}.cgv-key-points{grid-template-columns:1fr}.cgv-key-points>div{border-right:0;border-bottom:1px solid #ffffff35;padding:17px 22px}.cgv-contents{padding:22px}.cgv-contents ol{columns:1}.cgv-clauses section{grid-template-columns:45px minmax(0,1fr);gap:12px}.cgv-clauses p{font-size:.93rem}}
.quote-cgv-links{font-size:.88rem;line-height:1.6}.quote-cgv-links a{text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:3px}.quote-cgv-links a:focus-visible{outline:3px solid var(--copper);outline-offset:3px}

/* Landscape photography: keep the fuller framing of the featured experiences site-wide. */
.small-card img,
.destinations-home .small-card img,
.program-card img,
.choice img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.featured-programs .small-card img{aspect-ratio:6/5}
.destination-preview img{height:clamp(440px,36vw,540px)}
.onboard-feature{min-height:500px}
.onboard-feature>img{height:500px}
.onboard-list>div>img{height:450px}
.dark-feature img{height:500px}
.article-body>img{height:auto;aspect-ratio:16/10}
.quote-editorial-photo img{height:auto;aspect-ratio:4/3}

/* Give every gallery tile a landscape frame, including narrow screens. */
.gallery-grid{grid-auto-rows:auto}
.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(6){grid-row:auto;aspect-ratio:4/3}
.program-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-gallery-grid img{height:auto;aspect-ratio:4/3}

@media(max-width:900px){
  .program-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .program-gallery-grid img{height:auto}
}
@media(max-width:720px){
  .destination-preview img{height:320px}
  .onboard-feature{min-height:0}
  .onboard-feature>img{height:330px}
  .onboard-list>div>img{height:330px}
  .dark-feature img{height:340px}
  .gallery-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .program-gallery-grid{grid-template-columns:1fr}
  .program-gallery-grid img{height:auto}
}
.cgv-language-notice a{text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:3px}
.cgv-mediation{max-width:930px;margin:34px auto 0;padding:28px 32px;background:#e9f0ed;border-left:4px solid var(--copper);line-height:1.7}.cgv-mediation h3{font-size:clamp(1.45rem,2.3vw,2rem);margin:0 0 10px}.cgv-mediation p{margin:0 0 12px}.cgv-mediation address{font-style:normal;margin-bottom:10px}.cgv-mediation a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.cgv-mediation a:focus-visible{outline:3px solid var(--copper);outline-offset:4px}@media(max-width:720px){.cgv-mediation{padding:22px}}
/* Keep editorial hero photos in the document so their bilingual descriptions are available. */
.photo-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faq-cta{position:relative;isolation:isolate;overflow:hidden}
.faq-cta-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.faq-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,30,34,.82),rgba(0,30,34,.28));z-index:-1;pointer-events:none}
.photo-hero-photo{z-index:0}
.photo-hero::before{z-index:1}
.photo-hero .hero-content{z-index:2}

/* Owners and investors: a separate B2B journey within the CELVINE visual language. */
.owners-hero{min-height:clamp(540px,53vw,690px)}
.owners-hero .hero-content{max-width:920px}
.owners-hero h1{max-width:11ch}
.owners-hero p{max-width:51ch}
.owners-hero .btn{margin-top:22px}
.owner-intro{padding-top:clamp(70px,8vw,125px);padding-bottom:clamp(75px,8vw,125px)}
.owner-intro-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr);gap:9%;align-items:end;margin:18px 0 44px}
.owner-intro-head h2{font-size:clamp(2.8rem,5vw,5.7rem);line-height:1.02;max-width:12ch;margin:0}
.owner-intro-head p{max-width:48ch;line-height:1.75;color:var(--muted);margin:0 0 8px}
.owner-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.owner-path-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line)}
.owner-path-image{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--paper2)}
.owner-path-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.owner-path-card:hover .owner-path-image img{transform:scale(1.035)}
.owner-path-number{position:absolute;bottom:0;left:0;display:grid;place-items:center;width:75px;height:75px;background:var(--green);color:#fff;font-family:var(--serif);font-size:2rem}
.owner-path-card:nth-child(2) .owner-path-number{background:var(--copper)}
.owner-path-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(26px,3vw,45px)}
.owner-path-copy h3{font-size:clamp(2rem,3.1vw,3.4rem);line-height:1.08;max-width:16ch;margin:0 0 16px}
.owner-path-copy p{line-height:1.72;color:var(--muted);margin:0 0 24px}
.owner-path-copy ul,.owner-partner-brand ul{list-style:none;padding:0;margin:0 0 30px}
.owner-path-copy li,.owner-partner-brand li{position:relative;padding-left:29px;margin:10px 0;line-height:1.55}
.owner-path-copy li::before,.owner-partner-brand li::before{content:'✓';position:absolute;left:0;top:0;color:var(--copper);font-weight:700}
.owner-path-copy .btn{margin-top:auto}
.owner-partner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:8%;align-items:center;padding:clamp(65px,7vw,110px) max(5vw,32px);background:var(--green);color:#fff}
.owner-partner .eyebrow{color:#f1d6bb}.owner-partner .eyebrow span{background:#d7a274}
.owner-partner h2{color:#fff;font-size:clamp(2.8rem,4.6vw,5rem);line-height:1.05;max-width:14ch;margin:18px 0 22px}
.owner-partner p{max-width:66ch;line-height:1.78;color:#e1efed;margin:0}
.owner-partner-brand{border-left:1px solid #ffffff47;padding-left:clamp(28px,5vw,75px)}
.owner-partner-logo{display:grid;place-items:center;width:min(100%,330px);height:240px;overflow:hidden;background:#f4efe7;margin-bottom:24px}
.owner-partner-logo img{display:block;width:300px;height:230px;object-fit:contain}
.owner-partner-brand ul{margin-bottom:0}.owner-partner-brand li{color:#edf7f5}.owner-partner-brand li::before{color:#e6b586}
.owner-contact{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:0;padding-top:clamp(65px,8vw,120px);padding-bottom:clamp(65px,8vw,120px);scroll-margin-top:90px}
.owner-contact-visual{position:relative;min-height:740px;background:var(--green);overflow:hidden}
.owner-contact-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.owner-contact-visual::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,31,39,.79))}
.owner-contact-visual>div{position:absolute;left:clamp(25px,3vw,55px);right:25px;bottom:35px;z-index:1;color:#fff}
.owner-contact-visual .eyebrow{color:#fff}.owner-contact-visual p{max-width:18ch;font-family:var(--serif);font-size:clamp(2rem,2.8vw,3.2rem);line-height:1.12;margin:14px 0 0}
.owner-contact-form{background:#f1e9df;padding:clamp(30px,4.4vw,74px)}
.owner-contact-form h2{font-size:clamp(2.8rem,4vw,4.5rem);line-height:1.05;margin:16px 0}
.owner-form-intro{max-width:55ch;line-height:1.7;color:var(--muted);margin:0 0 29px}
.owner-profile-choices{border:0;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.owner-profile-choices legend{font-size:.85rem;font-weight:700;margin-bottom:12px}
.owner-profile-choice{position:relative;display:block;cursor:pointer}
.owner-profile-choice input{position:absolute;top:17px;left:15px;accent-color:var(--copper)}
.owner-profile-choice span{display:flex;align-items:center;min-height:64px;padding:12px 13px 12px 42px;border:1px solid #b8b4ac;background:#fff;font-size:.82rem;line-height:1.35;transition:border-color .2s,background .2s}
.owner-profile-choice input:checked+span{border-color:var(--copper);background:#fff7f1;box-shadow:inset 0 0 0 1px var(--copper)}
.owner-profile-choice input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}
.owner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}
.owner-contact-form label:not(.owner-profile-choice):not(.consent){display:block;font-size:.82rem;font-weight:600;line-height:1.45}
.owner-contact-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){display:block;width:100%;min-height:50px;margin-top:8px;padding:12px 14px;border:1px solid #afa99e;border-radius:0;background:#fff;color:var(--green);font:inherit;font-weight:400}
.owner-contact-form textarea{min-height:145px;resize:vertical}
.owner-contact-form :is(input,select,textarea):focus-visible{outline:3px solid var(--copper);outline-offset:2px}
.owner-profile-detail,.owner-message-label{display:block;margin-top:18px}
.owner-profile-detail[hidden]{display:none}
.owner-contact-form .consent{display:flex;align-items:flex-start;gap:10px;margin:24px 0 12px;font-size:.8rem;line-height:1.5}
.owner-contact-form .consent input{margin-top:3px;accent-color:var(--copper)}
.owner-contact-form .btn{margin-top:22px}.owner-form-note{font-size:.78rem;color:var(--muted);line-height:1.5;margin:15px 0 0}
.home-owner-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:465px;background:var(--green);color:#fff}
.home-owner-feature>img{display:block;width:100%;height:100%;min-height:465px;object-fit:cover}
.home-owner-feature>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(38px,6vw,100px)}
.home-owner-feature .eyebrow{color:#efc8a8}.home-owner-feature .eyebrow span{background:#efc8a8}
.home-owner-feature h2{color:#fff;font-size:clamp(2.8rem,4.2vw,5rem);line-height:1.06;max-width:12ch;margin:18px 0}
.home-owner-feature p{max-width:53ch;line-height:1.7;color:#e6f0ee;margin:0 0 28px}
.home-owner-feature .btn-outline{border-color:#fff;color:#fff}
@media(max-width:900px){.owner-intro-head,.owner-partner,.owner-contact,.home-owner-feature{grid-template-columns:1fr}.owner-partner-brand{border-left:0;border-top:1px solid #ffffff47;padding:27px 0 0}.owner-contact-visual{min-height:400px}.home-owner-feature>img{min-height:360px;max-height:480px}.owner-intro-head{gap:18px}}
@media(max-width:650px){.owners-hero{min-height:580px}.owner-path-grid,.owner-profile-choices,.owner-form-grid{grid-template-columns:1fr}.owner-path-image{aspect-ratio:4/3}.owner-path-copy .btn{width:100%;justify-content:center}.owner-contact-visual{min-height:320px}.owner-contact-form{padding:34px 23px}.owner-partner{padding:60px 24px}.home-owner-feature>img{min-height:300px;max-height:360px}}
@media(prefers-reduced-motion:reduce){.owner-path-image img,.owner-profile-choice span{transition:none}}
@media(min-width:901px) and (max-width:1200px){.main-nav .nav-owners{display:none}}
