/* Shared scale and interaction patterns, designed for touch and pointer input. */
[hidden]{display:none!important}
html{scroll-padding-top:100px}
body{overflow-x:clip}
.wrap{width:calc(100% - 64px);max-width:1240px}
main,section,.header-inner,.section-heading>*{min-width:0}
.section{padding-block:76px}
h2{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.12}
p{overflow-wrap:break-word}
.button{min-height:48px;padding:13px 22px;line-height:1.4;white-space:normal}
.text-link{min-height:44px;align-items:center;line-height:1.5}
.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:18px}
.fine{font-size:13px;line-height:1.6}
.section-heading{gap:32px;margin-bottom:34px}
.section-heading h2{max-width:22ch}
.section-heading>p{max-width:48ch;font-size:16px;line-height:1.7}
#header{width:calc(100% - 48px);max-width:1440px;top:18px}
#header .header-inner{min-height:66px;padding:10px 18px;gap:20px}
#header .brand{width:150px;flex:none}
#header #nav{gap:19px}
#header #nav>a{font-size:13px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.header-actions{gap:13px;margin-left:auto}
.languages button{min-width:38px;min-height:44px;padding:8px}
.header-cta{font-size:13px;min-height:44px;padding:10px 15px}
.mobile-languages{display:none}
.hero{min-height:620px;height:min(84svh,850px);padding:128px 0 100px}
.hero-content{padding-block:0}
.hero h1{font-size:clamp(3.2rem,6.8vw,6.4rem);line-height:1.04}
.hero h1 .hero-soft{font-size:1.08em}
.hero-lead{font-size:17px;line-height:1.65;margin-top:24px}
.hero-ctas{gap:22px;margin-top:28px}
.hero-bottom{bottom:22px}
.hero-dot,#hero-count{display:none}
.hero-caption{max-width:32ch;font-size:11px}
.motion-toggle{width:44px;height:44px;flex:none}
.facts{padding-block:26px}
.facts-inner{gap:20px}
.facts strong{font-size:32px}
.facts span{font-size:13px}
.concept{column-gap:64px;padding-bottom:76px}
.concept-text{padding-top:0}
.concept-text h2{font-size:clamp(2rem,3.6vw,3.6rem);margin-bottom:24px}
.concept-image img{height:510px}
.concept-detail{margin-top:-112px;width:70%}
.concept-detail img{height:180px}
.concept-note{margin-top:24px}
.concept-note strong{font-size:38px}
.res-showcase{height:250px;margin-bottom:30px}
.desktop-plans{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.desktop-plan{background:#f7f8f6;color:var(--ink);padding:24px;border-radius:10px;min-width:0}
.desktop-plan>a:first-child{display:block;background:white;border-radius:6px;padding:12px;text-align:right;font-size:12px}
.desktop-plan img{height:290px;width:100%;object-fit:contain}
.desktop-plan h3{font-size:24px;margin:20px 0 12px;letter-spacing:-.025em}
.desktop-plan p{font-size:15px;line-height:1.6;max-width:45ch;margin-bottom:15px}
.desktop-plan .text-link{font-size:14px}
.desktop-plans>.fine{grid-column:1/-1;color:#d3dce2}
.residences .res-layout{display:none}
.uni-carousel{width:100%;overflow:hidden}
.uni-carousel .gallery-stage{height:min(calc(38.25vw + 48px),543px);touch-action:pan-y pinch-zoom}
.uni-carousel .gallery-frame{width:min(68vw,880px);aspect-ratio:16/9;border-radius:12px}
.uni-carousel .gallery-stage:not(.is-ready){padding-inline:16vw}
.uni-carousel .gallery-nav{margin:8px 0 18px;gap:18px;min-height:44px}
.uni-carousel .gallery-nav button{width:44px;height:44px;min-height:44px}
.uni-carousel .gallery-caption-current{min-height:0;max-width:740px;padding-bottom:2px}
.uni-carousel .gallery-caption-current h3{font-size:clamp(21px,2.3vw,29px);margin:10px 0}
.uni-carousel [data-carousel-description]{font-size:15px;line-height:1.6;color:#536879;margin:auto;max-width:56ch}
.uni-carousel [data-carousel-hint]{font-size:12px;color:#526777;margin-top:12px}
.uni-carousel [data-carousel-position]{font-size:12px;min-width:68px;text-align:center}
.uni-carousel .carousel-link{display:inline-flex;margin-top:10px;font-size:15px}
.experience-section>.fine{margin-top:24px;text-align:center;max-width:800px}
.gallery-toolbar{justify-content:center;margin-bottom:4px}
.gallery-filters{gap:8px;flex-wrap:wrap;justify-content:center}
.gallery-filters button{min-height:44px;padding:10px 16px;font-size:13px}
.gallery-extra{margin-top:24px;text-align:center}
.gallery-extra .text-link{font-size:14px}
.path-choices{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.path-choices button{min-height:44px;border:1px solid #adbec9;border-radius:30px;padding:10px 18px;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.path-choices button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.paths-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}
.paths-heading>p{max-width:43ch;font-size:16px}
.destination{min-height:0}
.destination-photo{min-height:560px}
.destination-content{padding:64px clamp(32px,5vw,74px)}
.destination h2{font-size:clamp(2rem,3.6vw,3.6rem)}
.destination-location{margin:24px 0}
.arrival-compact{max-width:980px;margin:auto;padding:26px;border:1px solid #cbd6de;background:#fff;border-radius:12px}
.origin-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.origin-options button{margin:0;min-height:72px;width:100%;padding:15px 18px;text-align:left;font:inherit;color:var(--ink);background:#edf2f4;border:1px solid #c0cdd5;border-radius:8px}
.origin-options button strong{display:block;font-size:16px;line-height:1.35}
.origin-options button span{font-size:13px;color:#526776;display:block;margin-top:3px}
.origin-options button[aria-pressed=true]{background:#233c4d;border-color:#233c4d;color:#fff}
.origin-options button[aria-pressed=true] span{color:#d2e0e8}
.route-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}
.route-actions>div strong{font-size:18px;display:block}
.route-actions p{font-size:13px;line-height:1.5;color:#536879}
.route-actions .button{font-size:14px}
.arrival-details{border-top:1px solid #ccd7df;margin-top:22px}
.arrival-details>summary{cursor:pointer;min-height:50px;padding:15px 0;font-size:14px;font-weight:500}
.arrival-map{min-height:0;border-radius:6px}
.arrival-map iframe{height:320px;min-height:0}
.map-gate{min-height:0;padding:24px;max-width:none}
.map-gate h3{font-size:20px;line-height:1.3}
.map-gate p{font-size:14px;line-height:1.6;max-width:54ch;margin:12px auto}
.map-gate .button{font-size:14px}
.arrival-compact>.fine{margin-top:18px;color:#536879}
.arrival-access{font-size:14px;line-height:1.6;margin-top:16px}
.film-section{padding-block:70px}
.film-heading{margin-bottom:28px}
.faq-layout{gap:50px;grid-template-columns:.85fr 1.15fr}
.faq-layout h2{max-width:15ch;font-size:clamp(2rem,3.5vw,3.5rem)}
.faq-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:36ch;margin-top:20px}
.faqs summary{font-size:16px;line-height:1.5;padding:20px 28px 20px 0;min-height:56px}
.faqs details p{font-size:15px;line-height:1.75;margin:0;padding:0 12px 22px 0;color:#526777}
.contact-layout{gap:40px}
.contact h2{font-size:clamp(2.3rem,4.8vw,4.8rem)}
.contact-body{font-size:16px;max-width:45ch}
.contact-links{gap:24px}
/* Focused landing pages: details remain inside their topic. */
.lp-hero{min-height:590px;padding:135px 0 72px;align-items:center}
.lp-hero h1{font-size:clamp(44px,5.5vw,78px);max-width:18ch;line-height:1.08}
.lp-hero h1 em{font-size:1.05em}
.lp-hero .lead{font-size:17px;line-height:1.7;margin-top:24px;max-width:53ch}
.lp-hero .hero-ctas{margin-top:26px}
.lp-hero .eyebrow{font-size:12px;max-width:none}
.lp-hero .image-credit{font-size:11px;right:32px;bottom:16px;max-width:80%}
.lp-proof{padding-block:24px}
.lp-proof>.wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lp-proof strong{font-size:19px}
.lp-proof p{font-size:13px;margin-top:4px;line-height:1.5}
.lp-proof>.wrap>div{border:0;padding:0}
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.topic-block{border:1px solid #c8d4dc;border-radius:10px;background:#fff}
.topic-block summary{list-style:none;cursor:pointer;display:flex;gap:14px;padding:22px;position:relative;min-height:106px;padding-right:45px}
.topic-block summary::-webkit-details-marker{display:none}
.topic-block summary::after{content:'+';position:absolute;right:18px;top:23px;font-size:20px;line-height:1}
.topic-block[open] summary::after{content:'−'}
.topic-block .topic-number{font-size:12px;color:#6c8291;margin-top:3px;flex:none}
.topic-block summary strong{font-size:17px;display:block;font-weight:500;line-height:1.4}
.topic-block summary span span{display:block;font-size:14px;line-height:1.5;margin-top:7px;color:#536879}
.topic-block>p{font-size:15px;line-height:1.75;padding:0 22px 22px 50px}
.topic-block[open]{background:#f1f5f6;border-color:#a5b9c6}
.topic-sources{margin-top:20px;font-size:13px;color:#526777}
.topic-sources summary{min-height:44px;padding-block:12px;cursor:pointer}
.topic-sources ul{padding:8px 0 0 20px}
.topic-sources a{display:inline-block;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.lp-gallery{background:#e8eef0}
.lp-gallery h2{margin-bottom:20px}
.lp-unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lp-unit{padding:24px;min-width:0}
.lp-unit h3{font-size:30px;margin:20px 0 12px}
.lp-unit p{font-size:15px;line-height:1.65;margin-bottom:15px}
.lp-plan-preview{display:block;text-align:right;font-size:12px}
.lp-plan-preview img{width:100%;height:290px;object-fit:contain}
.lp-unit .text-link{font-size:14px}
.lp-details .fine{margin-top:24px}
.plan-choices{display:none}
.lp-faq{grid-template-columns:.8fr 1.2fr;gap:50px}
.lp-faq h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.lead-section{padding-block:70px}
.lead-grid{gap:54px}
.lead-intro h2{font-size:clamp(2.2rem,3.8vw,3.8rem)}
.lead-intro>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:20px}
.lead-form{padding:30px}
.lead-field{margin-bottom:16px}
.lead-field label,.lead-required{font-size:14px}
.lead-hint{font-size:12px}
.lead-privacy{font-size:12px;line-height:1.65;margin-bottom:20px}
.lead-field input{min-height:48px;padding:11px 12px}
.lead-submit{min-height:48px;font-size:15px}
/* One compact, informative footer on every page. */
.site-footer{padding:54px 0 28px;background:#edf1f3;border-top:1px solid #ccd7df;color:#243c4c}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1fr;gap:36px}
.footer-about .brand{display:block;width:165px;filter:none}
.footer-about>p{font-size:14px;line-height:1.7;max-width:35ch;margin-top:18px;color:#536879}
.footer-column h3{font-size:14px;font-weight:600;margin:0 0 12px}
.footer-column>a{display:flex;align-items:center;min-height:38px;font-size:13px;line-height:1.5;padding-block:6px}
.footer-column p{font-size:13px;line-height:1.65;color:#536879}
.footer-contact>a{display:flex;align-items:start;flex-direction:column;gap:5px;margin-top:12px}
.footer-contact strong{font-size:16px;font-weight:500;white-space:nowrap}
.footer-contact>a>span{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.footer-partners{border-top:1px solid #cbd6de;margin-top:34px;padding-top:26px}
.footer-partners>.eyebrow{text-align:center;font-size:10px;margin-bottom:20px}
.footer-partners .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:760px}
.footer-partners .partner-card{background:transparent;border:0;border-radius:0;min-height:0;padding:0;gap:12px;margin:0}
.footer-partners .partner-card img{height:52px;width:100%;max-width:166px;object-fit:contain}
.footer-partners .partner-card img.partner-si{height:52px;width:47px}
.footer-partners .partner-card figcaption{font-size:11px}
.footer-bottom{border-top:1px solid #cbd6de;margin-top:26px;padding-top:18px}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center}
.footer-legal>a,.footer-legal>button{display:inline-flex;align-items:center;min-height:44px;font:inherit;font-size:13px;background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:4px}
.footer-notices p{font-size:12px;line-height:1.6;color:#536879;margin:6px 0}
.footer-last{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#536879;margin-top:16px;align-items:center}
.footer-last a{min-height:44px;display:inline-flex;align-items:center}
/* Optional features stay off until chosen. */
.consent-banner{position:fixed;left:20px;bottom:20px;z-index:90;width:430px;max-width:calc(100% - 40px);max-height:65svh;overflow:auto;padding:22px;background:#fff;color:#213c4d;border:1px solid #bacbd6;border-radius:14px;box-shadow:0 12px 50px #17324535}
.consent-banner h2,.consent-dialog h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:0}
.consent-banner p,.consent-dialog p{font-size:13px;line-height:1.65;margin:12px 0}
.consent-banner>a,.consent-dialog>a{font-size:12px;display:inline-block;min-height:32px;padding-block:6px;text-decoration:underline;text-underline-offset:3px}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.consent-actions button{min-height:44px;border:1px solid #829ba9;border-radius:6px;padding:10px 12px;background:#f1f5f6;color:#203a4b;font:inherit;font-size:13px;font-weight:500;line-height:1.4}
.consent-actions [data-consent-action=preferences]{grid-column:1/-1;background:transparent}
.consent-dialog{width:500px;max-width:calc(100% - 28px);max-height:85svh;padding:24px;border:1px solid #b9cbd5;border-radius:14px;background:#fff;color:#213c4d}
.consent-dialog::backdrop{background:#112b3db3}
.consent-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}
.consent-close{background:transparent;border:1px solid #b1c4cf;border-radius:50%;width:44px;height:44px;flex:none;font:inherit;font-size:24px}
.consent-category{padding:20px 0 8px;border-bottom:1px solid #d0dce3}
.consent-category h3,.consent-switch{font-size:15px;font-weight:500;line-height:1.5}
.consent-switch{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:44px;cursor:pointer}
.consent-switch input{width:24px;height:24px;accent-color:#233c4d}
.wa-float{right:20px;bottom:20px;min-height:50px;padding:12px 18px;font-size:13px;gap:9px}
.wa-float svg{width:24px;height:24px}
.has-consent-banner .wa-float,.form-editing .wa-float{display:none}
.policy-header{padding-block:24px}
.policy-content{max-width:850px;padding-block:38px 60px}
.policy-content h1{font-size:clamp(32px,4vw,54px)}
.policy-content section h2{font-size:23px;line-height:1.35}
.policy-content section p{font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.policy-content>.eyebrow{margin-top:26px}
@media(min-width:1001px){#header #nav{position:static;display:flex;background:none;padding:0;flex-direction:row;opacity:1;visibility:visible;transform:none}#header .menu-toggle{display:none}.lead-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1150px) and (min-width:1001px){#header .brand{width:126px}#header .header-inner{gap:12px}#header #nav{gap:12px}.header-actions{gap:8px}.header-cta{display:none}}
@media(max-width:1000px){
 .wrap{width:calc(100% - 40px)}.section{padding-block:56px}
 #header{width:calc(100% - 24px);top:12px}#header .header-inner{min-height:60px;padding:8px 14px;gap:10px}#header .brand{width:138px}
 #header .header-actions>.languages,#header .header-cta{display:none}#header .menu-toggle{display:flex;min-width:44px;min-height:44px}
 #header #nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);padding:16px 22px;background:#f7f9f8;border:1px solid #c9d6df;border-radius:12px;box-shadow:0 15px 30px #183b4d22;max-height:calc(100svh - 100px);overflow:auto;color:#233c4d;transform:none}
 #header.menu-open #nav{display:flex;flex-direction:column;align-items:stretch;gap:2px;visibility:visible;opacity:1}
 #header #nav>a{font-size:16px;padding:8px 0;min-height:46px;color:#233c4d;border-bottom:1px solid #dbe3e8}
 #header #nav .mobile-languages{display:flex;gap:12px;margin-top:10px;color:#233c4d}.mobile-languages button{font-size:13px;min-width:48px}
 .hero{height:auto;min-height:580px;padding:130px 0 98px}.hero-side{display:none}.hero h1{font-size:clamp(48px,8vw,72px)}
 .hero-bottom{bottom:20px}.hero-bottom .scroll-link{display:none}.hero-controls{margin-left:auto}
 .concept{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:56px}.concept-image{width:100%;margin:0}.concept-image img{height:400px}.concept-detail{display:none}
 .concept-text h2{font-size:36px}.concept-text>p:not(.eyebrow){font-size:15px;line-height:1.7}.concept-note strong{font-size:34px}
 .desktop-plans{display:none}.residences .res-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.res-layout>.res-tabs{grid-column:1/-1;grid-row:1}.res-layout>.plan-stage{grid-column:1;grid-row:2}.res-layout>.res-info{grid-column:2;grid-row:2}
 .res-tabs{margin:0}.res-tabs button{min-height:64px;padding:13px 16px}.res-tabs strong{font-size:22px}.res-tabs .tab-number{display:none}.res-tabs .tab-description{font-size:12px;margin-top:5px}
 .res-showcase{height:210px}.plan-image-button{min-height:0;padding:10px 0}.plan-image-button img{max-height:270px}.plan-stage{padding:16px;min-height:0}.plan-top{font-size:11px}.plan-caption{font-size:11px}.res-info{padding-top:0}.res-info h3{font-size:38px}.specs{gap:16px;margin:22px 0}.specs dt{font-size:11px}.specs dd{font-size:13px}
 .destination{grid-template-columns:1fr 1fr}.destination-photo{height:auto;min-height:520px}.destination-content{padding:44px 28px}.destination h2{font-size:33px}
 .faq-layout,.lp-faq{grid-template-columns:1fr;gap:24px}.faq-layout h2,.lp-faq h2{max-width:22ch;font-size:36px}.faq-layout>div>p:not(.eyebrow){margin-top:14px;max-width:60ch}
 .lp-hero{min-height:550px;padding:125px 0 64px}.lp-hero h1{font-size:clamp(40px,6.2vw,62px);max-width:19ch}.lp-hero .lead{max-width:54ch}
 .topic-grid{gap:12px}.topic-block summary{padding:20px 38px 20px 16px;gap:10px}.topic-block>p{padding:0 18px 20px}
 .plan-choices{display:none}.plans-ready .plan-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.plan-choices button{min-height:50px;border:1px solid #a6bcc9;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:17px}.plan-choices button[aria-selected=true]{background:#233c4d;color:#fff}.lp-unit-grid{grid-template-columns:1fr}.lp-unit{display:grid;grid-template-columns:1.1fr 1fr;column-gap:24px}.lp-plan-preview{grid-row:1/4}.lp-unit h3{margin-top:12px}.lp-plan-preview img{height:260px}
 .lead-grid{grid-template-columns:1fr 1fr;gap:28px;align-items:start}.lead-form{padding:24px}.lead-intro h2{font-size:34px}.lead-direct{margin-top:24px}
 .footer-grid{grid-template-columns:1.1fr 1fr 1fr;gap:28px}.footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;align-items:center}.footer-about .brand{grid-row:1/3}.footer-about>p{margin:0;max-width:48ch}.footer-about>p:last-child{font-size:12px}
}
@media(max-width:640px){
 html{scroll-padding-top:92px}.wrap{width:calc(100% - 32px)}.section{padding-block:40px}h2{font-size:30px;line-height:1.13}.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:14px}.section-heading{display:block;margin-bottom:22px}.section-heading>p{font-size:15px;line-height:1.65;margin-top:16px}.section-heading h2{font-size:30px;max-width:23ch}
 #header .brand{width:125px}.hero{min-height:0;padding:114px 0 94px}.hero h1{font-size:clamp(38px,10.5vw,52px);letter-spacing:-.045em;max-width:100%}.hero-location{margin-bottom:24px;font-size:9px}.hero-lead{font-size:15px;line-height:1.65;margin-top:20px}.hero-ctas{gap:12px 18px;margin-top:24px;flex-wrap:wrap}.hero-ctas .button{font-size:13px;padding:12px 16px;min-height:46px}.film-link{font-size:13px;min-height:44px}.play-outline{width:32px;height:32px;font-size:11px}.hero-bottom{bottom:14px}.hero-controls{gap:12px}.hero-caption{font-size:10px;max-width:26ch}.motion-toggle{height:44px;width:44px}
 .facts{padding-block:24px}.facts-inner{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.facts-inner>div{padding:0;border:0;text-align:left}.facts strong{font-size:27px;line-height:1.2;white-space:normal}.facts strong small{font-size:12px}.facts span{font-size:11px;line-height:1.5;margin-top:5px;max-width:21ch}
 .paths-heading{display:block;margin-bottom:20px}.paths-heading h2{font-size:30px}.paths-heading>p{font-size:15px;line-height:1.65;margin-top:16px}.path-choices{gap:6px}.path-choices button{font-size:11px;padding:10px 12px;min-height:44px}
 .concept{grid-template-columns:1fr;gap:24px;padding-bottom:40px}.concept-text h2{font-size:30px;margin-bottom:20px}.concept-text>p:not(.eyebrow){font-size:15px;margin-bottom:16px}.concept-text .text-link{font-size:14px}.concept-image{width:100%;margin:0}.concept-image img{height:220px;object-position:center 56%;border-radius:8px}.concept-image figcaption{font-size:10px;margin-top:8px}.concept-note{margin-top:20px;padding-top:16px;gap:16px}.concept-note strong{font-size:30px}.concept-note span{font-size:12px}
 .res-showcase{height:145px;margin-bottom:20px}.res-showcase>span{font-size:10px}.residences .res-layout{grid-template-columns:1fr;gap:16px}.res-layout>.res-tabs{grid-column:1;grid-row:1}.res-layout>.plan-stage{grid-column:1;grid-row:2}.res-layout>.res-info{grid-column:1;grid-row:3}.res-tabs button{min-height:58px;padding:11px 12px}.res-tabs strong{font-size:20px}.res-tabs small{font-size:11px}.res-tabs .tab-description{display:none}.plan-stage{padding:12px}.plan-image-button{padding:8px 0}.plan-image-button img{max-height:218px}.plan-top{font-size:10px}.plan-caption{margin-top:6px;font-size:10px}.res-info #plan-type{font-size:10px;margin:0 0 8px}.res-info h3{font-size:32px;margin-bottom:12px}.res-info #plan-description{font-size:14px;line-height:1.65}.specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;padding-top:16px}.specs dt{font-size:10px}.specs dd{font-size:12px}.res-info .button{font-size:13px;width:100%;min-height:46px}.res-info .brochure-link{font-size:12px;margin-top:8px}.res-info .fine{font-size:11px;margin-top:10px}
 .uni-carousel .gallery-stage{height:calc(48.75vw + 36px)}.uni-carousel .gallery-frame{width:78vw;aspect-ratio:16/10;border-radius:9px}.uni-carousel .gallery-stage:not(.is-ready){padding-inline:11vw}.uni-carousel .gallery-nav{margin:4px 0 12px;gap:18px}.uni-carousel .gallery-caption-current{max-width:100%;width:calc(100% - 40px);padding:0;min-height:0}.uni-carousel .gallery-caption-current h3{font-size:20px;margin:8px 0}.uni-carousel .media-type{font-size:10px;letter-spacing:.04em;line-height:1.5}.uni-carousel [data-carousel-description]{font-size:13px;line-height:1.6;max-width:44ch}.uni-carousel [data-carousel-hint]{font-size:10px;margin-top:10px}.uni-carousel .carousel-link{font-size:13px;margin-top:6px}.gallery-expand{width:32px;height:32px;right:12px;bottom:12px;font-size:17px}.experience-section>.fine{font-size:11px;margin-top:20px}.gallery-extra{margin-top:16px}.gallery-extra .text-link{font-size:13px}.gallery-filters{gap:6px;justify-content:flex-start}.gallery-filters button{font-size:11px;padding:9px 12px;min-height:44px}.gallery-toolbar{margin-bottom:0}
 .destination{grid-template-columns:1fr}.destination-photo{min-height:0;height:210px}.destination-content{padding:32px 16px 40px}.destination h2{font-size:30px;margin-bottom:20px}.destination p:not(.eyebrow){font-size:15px;line-height:1.7;margin-bottom:16px}.destination .eyebrow{font-size:10px}.destination-location{margin:20px 0;gap:12px}.destination-location strong{font-size:16px}.destination-location div span{font-size:12px}.destination .button{font-size:13px;min-height:46px}.photo-label{font-size:10px}
 .arrival-compact{padding:16px;border-radius:10px}.origin-options{gap:8px}.origin-options button{padding:12px;min-height:78px}.origin-options button strong{font-size:13px;line-height:1.35}.origin-options button span{font-size:10px}.route-actions{display:block;margin-top:18px}.route-actions>div strong{font-size:16px}.route-actions p{font-size:12px}.route-actions .button{width:100%;font-size:13px;margin-top:14px;min-height:44px;justify-content:center}.arrival-details{margin-top:18px}.arrival-details>summary{font-size:13px;min-height:44px;padding-block:13px}.arrival-map iframe{height:240px;min-height:0}.map-gate{padding:18px 14px}.map-gate h3{font-size:18px}.map-gate p{font-size:12px}.map-gate .button{font-size:12px;padding:10px;min-height:44px}.arrival-compact>.fine{font-size:11px;margin-top:14px}.arrival-access,.arrival-access>a{font-size:12px}
 .film-section{padding-block:40px}.film-heading{margin-bottom:20px}.film-heading h2{font-size:30px}.film-note{font-size:12px}.film-wrap{width:calc(100% - 32px)}
 .faq-layout,.lp-faq{gap:18px}.faq-layout h2,.lp-faq h2{font-size:30px;max-width:23ch}.faq-layout>div>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-top:12px}.faqs summary{font-size:14px;line-height:1.5;padding:16px 28px 16px 0;min-height:52px}.faqs details p{font-size:13px;line-height:1.75;padding:0 4px 18px 0}
 .contact h2{font-size:34px}.contact-layout{gap:24px}.contact-layout p:not(.eyebrow){font-size:14px;line-height:1.7}.contact-options{gap:20px}.contact-option{padding-block:18px}.contact-option strong,.contact-option>a{font-size:20px}.contact .phone{font-size:23px}
 .lp-hero{min-height:0;padding:112px 0 58px}.lp-hero h1{font-size:clamp(34px,9.2vw,46px);max-width:19ch;line-height:1.1;letter-spacing:-.04em}.lp-hero .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.07em;margin-bottom:20px}.lp-hero .lead{font-size:15px;line-height:1.65;margin-top:20px}.lp-hero .hero-ctas{margin-top:22px;gap:8px 16px}.lp-hero .text-link{font-size:13px}.lp-hero .image-credit{font-size:9px;right:16px;bottom:14px}.lp-proof{padding-block:20px}.lp-proof>.wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp-proof strong{font-size:13px;line-height:1.35;letter-spacing:-.015em}.lp-proof p{font-size:10px;line-height:1.5;margin-top:7px}
 .topic-grid{grid-template-columns:1fr;gap:10px}.topic-block summary{min-height:0;padding:16px 40px 16px 14px;gap:10px}.topic-block summary strong{font-size:15px}.topic-block summary span span{font-size:12px;margin-top:5px}.topic-block summary::after{top:19px;right:15px}.topic-number{font-size:10px}.topic-block>p{font-size:13px;line-height:1.75;padding:0 16px 18px}.topic-sources{font-size:12px;margin-top:12px}.lp-gallery h2{font-size:30px;margin-bottom:12px}
 .lp-unit{display:block;padding:16px}.lp-plan-preview img{height:218px}.lp-plan-preview{font-size:11px}.lp-unit h3{font-size:28px;margin:18px 0 12px}.lp-unit p{font-size:14px;line-height:1.65;margin-bottom:12px}.lp-unit .text-link{font-size:12px;line-height:1.6}.plan-choices button{min-height:48px;font-size:16px}.lp-details .fine{font-size:11px;margin-top:16px}
 .lead-section{padding-block:40px}.lead-grid{grid-template-columns:1fr;gap:24px}.lead-intro h2{font-size:30px}.lead-intro>p:not(.eyebrow){font-size:14px;line-height:1.65;margin-top:16px}.lead-direct{margin-top:16px;display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap}.lead-direct p{font-size:12px;margin:0}.lead-direct .text-link{font-size:13px}.lead-form{padding:20px}.lead-required{font-size:12px;margin-bottom:16px}.lead-field label{font-size:13px;margin-bottom:6px}.lead-field input{font-size:16px;min-height:46px;padding:10px 12px}.lead-field{margin-bottom:14px}.lead-hint{font-size:11px;margin-top:5px}.lead-privacy{font-size:11px;line-height:1.65;margin-top:0}.lead-submit{font-size:14px;min-height:46px}
 .site-footer{padding:36px 0 20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-about{display:block;grid-column:1/-1}.footer-about .brand{width:140px}.footer-about>p{font-size:13px;line-height:1.7;margin-top:14px;max-width:44ch}.footer-about>p:last-child{font-size:11px;margin-top:10px}.footer-column h3{font-size:12px;margin-bottom:8px}.footer-column>a{font-size:12px;min-height:40px}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.footer-contact h3{grid-column:1}.footer-contact p{grid-column:1;font-size:11px;max-width:20ch}.footer-contact>a{grid-column:2;grid-row:1/3;margin:0;justify-content:center;gap:6px}.footer-contact strong{font-size:14px}.footer-contact>a>span{font-size:11px}.footer-partners{margin-top:26px;padding-top:24px}.footer-partners .partner-grid{gap:15px}.footer-partners .partner-card img{height:34px;max-width:104px}.footer-partners .partner-card img.partner-si{height:38px;width:34px}.footer-partners .partner-card figcaption{font-size:9px}.footer-partners .partner-card{gap:9px}.footer-bottom{margin-top:24px;padding-top:14px}.footer-legal{gap:0 20px}.footer-legal>a,.footer-legal>button{font-size:11px;min-height:44px}.footer-notices p{font-size:10px;line-height:1.6}.footer-last{font-size:10px;margin-top:10px}
 .wa-float{width:48px;height:48px;min-height:48px;padding:0;display:flex;justify-content:center;right:14px;bottom:max(14px,env(safe-area-inset-bottom));border-radius:50%}.wa-float svg{width:25px;height:25px}.wa-float span{display:none}.consent-banner{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:none;max-height:65svh;padding:18px;border-radius:12px}.consent-banner h2,.consent-dialog h2{font-size:18px}.consent-banner p{font-size:12px;line-height:1.6;margin:10px 0}.consent-actions button{font-size:12px;min-height:44px;padding:10px}.consent-actions{margin-top:8px}.consent-dialog{padding:20px}.consent-dialog p{font-size:12px}.consent-category h3,.consent-switch{font-size:14px}
 .policy-header{padding-block:20px}.policy-header .brand{width:125px}.policy-header .languages{gap:2px}.policy-header .languages button{min-width:34px;font-size:11px}.policy-content{padding-block:22px 40px}.policy-content h1{font-size:32px}.policy-content .policy-intro{font-size:15px;line-height:1.65}.policy-content section{margin-top:28px}.policy-content section h2{font-size:20px}.policy-content section p{font-size:14px;line-height:1.8}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-stage.is-ready .gallery-frame,.reveal-ready{transition:none!important}.reveal-ready{opacity:1!important;transform:none!important}}
/* Dialogs override the original full-screen dialog rule explicitly. */
.consent-dialog{height:auto;inset:0;margin:auto;overflow:auto}
.shared-lightbox .dialog-top{position:absolute;z-index:3;top:20px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}
.shared-lightbox .dialog-close{color:#fff;background:#ffffff09;border:1px solid #ffffff66;border-radius:50%;min-width:44px;min-height:44px;font-size:21px}
.shared-lightbox figure{height:100%;padding-top:64px}
.origin-options .origin-choice small{display:block;font-size:12px;margin-top:4px;color:#526777}
.origin-options .origin-choice[aria-pressed=true] small{color:#d2e0e8}
.route-actions small{font-size:11px;color:#536879}
.map-gate{gap:12px}
@media(max-width:640px){.shared-lightbox .dialog-top{top:16px;left:16px;right:16px}.origin-options .origin-choice small{font-size:10px}.shared-lightbox figure{padding:76px 16px 84px}}
/* Reset older high-specificity rules that otherwise override this scale. */
#experiencia{padding-top:76px}
.gallery-section .section-heading h2{font-size:clamp(2rem,3.6vw,3.6rem)}
html[lang=en] .hero h1,html[lang=es] .hero h1{font-size:clamp(3.2rem,6.8vw,6.4rem)}
.site-footer .footer-bottom{display:block;color:#243c4c}
.site-footer .brand img{filter:none;mix-blend-mode:normal}
#header .menu-toggle{flex-direction:column;gap:6px;align-items:center;justify-content:center}
#header .menu-toggle span{margin:0;flex:none}
@media(max-width:1000px){#experiencia{padding-top:56px}#plan-area{font-size:38px}html[lang=en] .hero h1,html[lang=es] .hero h1{font-size:clamp(48px,8vw,72px)}}
@media(max-width:640px){#experiencia{padding-top:40px}#plan-area{font-size:32px}.gallery-section .section-heading h2{font-size:30px}html[lang=en] .hero h1,html[lang=es] .hero h1{font-size:clamp(38px,10.5vw,52px)}}
@media(max-width:640px){.specs>div{display:block;padding:8px 0}.specs dd{max-width:none;text-align:left;margin-top:4px}}
/* Image-led chapters: visible information, distinct rhythm, no opening accordions. */
.visual-topic{padding-block:64px}
.visual-intro{max-width:720px;margin-bottom:36px}
.visual-intro h2{font-size:clamp(30px,3.5vw,48px);line-height:1.15;max-width:24ch}
.visual-chapters{display:grid;gap:64px}
.visual-chapter{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;min-width:0}
.visual-chapter:nth-child(even){grid-template-columns:1fr 1.25fr}
.visual-chapter:nth-child(even) .visual-image{grid-column:2;grid-row:1}
.visual-chapter:nth-child(even) .visual-copy{grid-column:1;grid-row:1}
.visual-image{margin:0;min-width:0}
.visual-image>a{display:block;position:relative;overflow:hidden;border-radius:12px;background:#dae3e7;aspect-ratio:4/3}
.visual-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}
.visual-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:36px;height:36px;background:#172f42a8;color:#fff;border:1px solid #fff8;border-radius:50%}
.visual-image figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:#526777}
.chapter-index{display:block;font-size:12px;letter-spacing:.12em;color:#607d8d;margin-bottom:18px}
.visual-copy h3{font-size:clamp(26px,2.8vw,38px);line-height:1.16;letter-spacing:-.025em;font-weight:400;margin:0 0 20px;max-width:20ch}
.visual-copy p{font-size:16px;line-height:1.75;color:#48616f;margin:0;max-width:44ch}
.visual-resource{margin-top:54px;padding:34px;background:#e5edf0;border-radius:12px;color:#243c4c}
.resource-heading h3{font-size:26px;font-weight:400;letter-spacing:-.025em;margin:0 0 12px;line-height:1.2}
.resource-heading>p{font-size:16px;line-height:1.6;max-width:60ch}
.season-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin:28px 0}
.season-month{padding:15px 3px;background:#f8fafb;color:#526777;text-align:center;border-radius:5px;font-size:14px;text-transform:capitalize}
.season-month.is-highlighted{background:#24485b;color:white;font-weight:600;border-bottom:4px solid #79b7c4;padding-bottom:11px}
.resource-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.resource-options>div{padding-top:18px;border-top:1px solid #b6c9d2}
.resource-options h4{font-size:18px;font-weight:500;line-height:1.4;margin-bottom:10px}
.resource-options p{font-size:16px;line-height:1.65;color:#48616f}
.resource-note{font-size:13px;line-height:1.65;color:#526777;margin-top:24px;max-width:90ch}
.income-equation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0;padding:20px;background:#f7fafb;border-radius:8px;font-size:16px}
.income-equation>span{flex:1;max-width:18ch;text-align:center;line-height:1.5}
.income-equation>b{font-size:24px;font-weight:400;color:#6f8b9c}
.visual-cta{margin-top:28px;text-align:center}.visual-cta .button{font-size:15px}
body[data-page=refugio] .visual-resource{background:#e9ede7}
body[data-page=investimento] .visual-chapter:first-child .visual-image>a{aspect-ratio:16/11}
@keyframes chapter-arrive{from{transform:translateY(14px);opacity:.8}to{transform:translateY(0);opacity:1}}
.chapter-seen .visual-copy{animation:chapter-arrive .65s ease both}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.visual-image a:hover img{transform:scale(1.035)}}
@media(max-width:1000px){.visual-topic{padding-block:48px}.visual-chapters{gap:44px}.visual-chapter,.visual-chapter:nth-child(even){gap:28px}.visual-copy h3{font-size:28px}.visual-resource{padding:26px}.season-months{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:700px){.visual-topic{padding-block:36px}.visual-intro{margin-bottom:24px}.visual-intro h2{font-size:28px}.visual-chapters{gap:36px}.visual-chapter,.visual-chapter:nth-child(even){display:flex;flex-direction:column;gap:18px;align-items:stretch}.visual-image>a{aspect-ratio:16/11}.visual-copy h3{font-size:27px;max-width:24ch;margin-bottom:12px}.chapter-index{font-size:12px;margin-bottom:10px}.visual-copy p{font-size:16px;line-height:1.65;max-width:none}.visual-image figcaption{font-size:12px;margin-top:8px}.visual-resource{padding:22px 18px;margin-top:36px}.resource-heading h3{font-size:24px}.resource-heading>p{font-size:16px}.season-months{gap:5px;margin-block:22px}.season-month{font-size:12px;padding:13px 2px}.season-month.is-highlighted{padding-bottom:9px}.resource-options{gap:20px;grid-template-columns:1fr;margin-top:20px}.resource-options>div{padding-top:14px}.resource-options h4{font-size:17px;margin-bottom:8px}.resource-options p{font-size:16px}.resource-note{font-size:13px;margin-top:20px}.income-equation{gap:6px;font-size:13px;padding:16px 10px;margin:20px 0}.income-equation>b{font-size:20px}.visual-cta .button{font-size:14px;width:100%;justify-content:center}.visual-cta{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.chapter-seen .visual-copy{animation:none}.visual-image img{transition:none}}
