/* Brand banner and readable, keyboard-accessible layouts. */
html{scroll-padding-top:112px}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b3852e;outline-offset:5px}
.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:#fff;color:#062b47;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.home-ref{background:#fff}
.home-ref .ref-header,.home-ref .ref-header.scrolled{position:sticky;top:0;height:100px;background:#031c30;box-shadow:none;border-bottom:1px solid #344858}
.home-ref .ref-header .brand,.home-ref .ref-header.scrolled .brand{width:120px;height:94px;overflow:visible}
.brand img,.footer-brand img{object-fit:contain;max-height:100%;transform:none}
.banner-hero{background:#031c30;color:#fff}
.brand-banner{position:static;display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:2006/784}
.mobile-hero-video{display:none}
.mobile-banner-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.banner-action-bar{border-top:1px solid #4a4c3c;padding:24px 0}
.banner-action-bar>.narrow-container{display:flex;justify-content:space-between;align-items:center;gap:24px}
.banner-action-bar p{font-family:Georgia,serif;font-size:1.35rem;line-height:1.5;margin:0}
.banner-action-bar p>span{display:block;font-family:Arial,sans-serif;color:#f2d99c;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.banner-buttons{display:flex;flex-wrap:wrap;gap:12px}
.banner-buttons .button{min-height:52px;font-size:.875rem;letter-spacing:0}
.trust-strip,.planner-ref,.faq-ref,.experience-banner{background:#f2f5f7}
.trust-grid{min-height:102px}
.trust-grid p{font-size:.875rem}.trust-grid b{font-size:1rem}
.showcase{padding:88px 0}
.home-ref h2{font-size:clamp(2.4rem,4vw,4.25rem);line-height:1.12;letter-spacing:-.035em}
.home-ref h2 em{color:#947027}
.home-ref .transfer-copy h2 em,.home-ref .advice-card h2 em{color:#f2d99c}
.eyebrow{font-size:.75rem;color:#89671f;line-height:1.6}
.transfer-band .eyebrow,.advice-card .eyebrow{color:#f2d99c}
.showcase-intro{gap:50px;grid-template-columns:1.2fr .8fr}
.showcase-intro p,.ref-tour-copy p,.transfer-copy>p,.planner-ref-head>p,.about-copy p,.faq-ref-grid>div:first-child p,.advice-card p,.tour-copy>p{font-size:1rem;line-height:1.7}
.showcase-intro a,.about-copy a,.experience-banner>a,.benefit-drawer summary,.paper-ending a{font-size:.875rem}
.ref-tour-card{border-radius:16px;min-height:470px}
.ref-tour-copy{padding:24px}
.ref-tour-copy h3{font-size:1.55rem;line-height:1.25}
.ref-tour-copy>div{align-items:center;gap:12px;flex-wrap:wrap}
.ref-tour-copy b{font-size:1.2rem}
.ref-tour-copy strong{font-size:.875rem}
.ref-tour-copy>small,.ref-tour-image>span,.experience-banner span{font-size:.75rem}
.ref-tour-image>i{width:38px;height:38px;font-size:1rem}
.experience-banner{border-radius:12px}.experience-banner p,.benefit-drawer p{font-size:1rem}
.transfer-copy .button,.advice-card .button{font-size:.875rem;min-height:50px}
.transfer-options span{font-size:1rem}.transfer-options p{font-size:.95rem}.transfer-options b{font-size:.875rem}
.transfer-photo{height:480px;border-radius:16px}
.transfer-photo span,.about-photo span{font-size:.875rem}
.planner-ref-head{grid-template-columns:1.2fr .8fr;gap:50px}
.planner-ref-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:28px}
.planner-form-ref,.route-summary{border-radius:16px}
.planner-fields{gap:18px}
.planner-fields .field{min-width:0}
.planner-form-ref .field label{font-size:.875rem;text-transform:none;letter-spacing:0;color:#173046}
.planner-form-ref .field input,.planner-form-ref .field select,.planner-form-ref textarea{font-size:1rem;min-height:50px;border-radius:8px;max-width:100%}
.form-step-title{align-items:flex-start;margin-top:15px}.form-step-title>span{flex:none;width:30px;height:30px;font-size:.875rem}
.form-step-title b{font-size:1.05rem}.form-step-title small{font-size:.875rem;color:#56656e;line-height:1.6;margin-top:4px}
.tour-choice-grid label{position:relative}
.tour-choice-grid input{width:1px;height:1px;left:10px;top:15px}
.tour-choice-grid input:focus-visible+span{outline:3px solid #b3852e;outline-offset:3px}
.tour-choice-grid b{font-size:.875rem;line-height:1.45}
.tour-choice-grid small{font-size:.875rem;color:#56656e;line-height:1.5}
.tour-choice-grid label>span{height:100%;border-radius:8px}
.tour-choice-grid input:checked+span::before{content:"✓";box-shadow:none;color:#031c30;font-size:12px;line-height:14px;text-align:center}
.planner-send{font-size:1rem;min-height:54px;white-space:normal;padding:14px 20px}
.route-summary{top:124px}
.route-summary dt{font-size:.75rem;color:#56656e}.route-summary dd{font-size:1rem;overflow-wrap:anywhere}
.route-summary>p,.form-privacy{font-size:.875rem;color:#56656e;line-height:1.65}
.form-privacy{margin:18px 0 0}
.about-stat strong{font-size:clamp(1.8rem,3vw,2.6rem);overflow-wrap:anywhere}
.about-stat span{font-size:.875rem}
.faq-list details p{font-size:1rem}
.ref-footer .footer-brand img{margin:0;width:150px;height:150px}
.footer-main a,.footer-main p,.footer-main span,.footer-brand p{font-size:.95rem}
.footer-main h3,.footer-bottom,.paper-ending>span{font-size:.75rem}
.main-nav>a:not(.nav-cta),.nav-cta{font-size:.875rem}
.tour-aside dt,.tour-aside dd{font-size:.875rem}
.whatsapp-float{font-size:.875rem}
.whatsapp-float b img{display:block;width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:1100px){
 .main-nav{gap:16px}.ref-header .main-nav{gap:16px}
 .showcase-intro,.planner-ref-head{gap:30px}
}
@media(max-width:1000px){
 .main-nav{visibility:hidden;pointer-events:none}.main-nav.open{visibility:visible;pointer-events:auto;gap:26px}
 .main-nav>a:not(.nav-cta){font-size:1.6rem}.main-nav.open{overflow-y:auto;padding:90px 20px 30px}
 .planner-ref-layout{grid-template-columns:1fr}.route-summary{position:static}
 .banner-action-bar>.narrow-container{flex-direction:column;text-align:center}
}
@media(max-width:760px){
 html{scroll-padding-top:92px}
 .home-ref .ref-header,.home-ref .ref-header.scrolled{height:82px}
 .home-ref .ref-header .brand,.home-ref .ref-header.scrolled .brand{height:76px;width:95px}
 .banner-hero{position:relative;isolation:isolate;display:block;min-height:calc(100svh - 82px);overflow:hidden;background:#031c30}
 .banner-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,28,48,.58) 0%,rgba(3,28,48,.30) 43%,rgba(3,28,48,.92) 100%)}
 .brand-banner{display:none}
 .mobile-hero-video{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
 .mobile-banner-copy{position:relative;z-index:1;clip-path:none;white-space:normal;width:auto;height:auto;padding:clamp(42px,7svh,72px) 20px 0;overflow:visible}
 .mobile-banner-copy h1{font-size:clamp(2.1rem,9vw,3rem);line-height:1.08;margin-bottom:16px;color:#fff}
 .mobile-banner-copy h1 em{color:#f2d99c}
 .mobile-banner-copy p{font-size:1rem;color:#d4dfe7;line-height:1.6;margin:0}
 .banner-action-bar{position:relative;z-index:1;width:100%;border:0;padding:22px 0 28px}
 .banner-action-bar p{display:none}
 .banner-buttons{width:100%;display:grid;grid-template-columns:1fr}.banner-buttons .button{width:100%;min-height:52px}
 .trust-grid>div{padding:18px 6px}
 .showcase-intro,.planner-ref-head,.faq-ref-grid{grid-template-columns:1fr;gap:24px}
 .home-ref .section{padding:64px 0}
 .home-ref h2{font-size:2.65rem}
 .ref-tour-card{min-height:0}
 .ref-tour-image{height:auto;aspect-ratio:1.55}
 .ref-tour-copy{padding:22px}.ref-tour-copy p{margin-bottom:24px}
 .planner-fields,.tour-choice-grid{grid-template-columns:1fr}
 .transfer-options{grid-template-columns:1fr}
 .transfer-photo{height:480px}
 .transfer-photo img{object-position:center 42%}
 .about-stat{display:none}
 .advice-card>div:last-child{padding:32px 24px}
 .advice-card{min-height:530px}
 .button{white-space:normal;text-align:center}
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.review-public-list{display:grid;gap:24px;max-height:620px;overflow:auto;padding-right:10px}.review-public-list .review-panel{margin:0}.review-public-list small{display:block;margin-top:4px;color:rgba(255,255,255,.55)}
