@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-latin-400.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins-latin-500.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins-latin-600.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/poppins-latin-700.woff2') format('woff2')}
/* Shared readable type, including modules with earlier prototype font declarations. */
:root{--ds-font:Poppins,Arial,Helvetica,sans-serif}
body,body :is(h1,h2,h3,h4,p,li,a,span,strong,small,label,input,select,textarea,button,summary,dt,dd,div,section,aside,nav){font-family:var(--ds-font)!important}
body{font-size:16px;line-height:1.65}
:is(.product-heading h1,.hero h1){font-weight:600;letter-spacing:-.8px;line-height:1.2}
:is(.package-reading h2,.commercial-package h2,.discovery-heading h2,.discovery-closing h2){font-weight:600;letter-spacing:-.5px;line-height:1.3}
.commercial-package .package-reading h2{font-size:30px}
.commercial-package .package-reading>p:not(.eyebrow),.commercial-package .day-activity p{font-size:17px;line-height:1.8;color:#405049}
.commercial-package .day-activity h3{font-size:21px;font-weight:600;line-height:1.45}
.commercial-package .package-section-nav a{font-size:15px;font-weight:600}
.commercial-package .journey-quote p,.commercial-package .journey-quote li{font-size:14px;line-height:1.75}
.commercial-package .journey-quote .quote-small{font-size:12px}
.commercial-package .journey-quote .quote-kicker{font-size:10px}
.commercial-package .journey-quote h2{font-size:26px;font-weight:600}
.commercial-package .route-panel summary,.commercial-package .itinerary-day>summary{font-size:18px;font-weight:600;letter-spacing:0}
.discover-page p,.discovery-page .package-body>p:not(.eyebrow),.discovery-destination p{font-size:16px;line-height:1.75}
.discover-page h3,.discovery-page .package h3,.discovery-destination h3{font-weight:600;font-size:23px;line-height:1.4}
@media(min-width:701px){.commercial-package .highlight-list{font-size:16px;line-height:1.8}.ds-header nav{font-size:14px}}
@media(max-width:700px){
 .commercial-package .package-reading>p:not(.eyebrow),.commercial-package .day-activity p{font-size:16px;line-height:1.8}
 .commercial-package .package-reading h2{font-size:26px}
 .commercial-package .product-heading h1{font-size:30px;line-height:1.25}
 .commercial-package .day-activity h3{font-size:19px}
 .commercial-package .route-panel summary,.commercial-package .itinerary-day>summary{font-size:16px}
 .commercial-package{padding-bottom:130px}
 .mobile-journey-cta{display:grid;grid-template-columns:54px 72px minmax(0,1fr);gap:8px;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));align-items:center}
 .mobile-journey-cta .mobile-price{grid-column:1/-1;font-size:14px;line-height:1.4}
 .mobile-journey-cta .quick-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;border:1px solid #dce3da;border-radius:8px;background:#fff;color:#213e32;font-size:10.5px;font-weight:600;line-height:1.3}
 .mobile-journey-cta .quick-contact svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
 .mobile-journey-cta .quick-whatsapp{color:#087c40}
 .mobile-journey-cta .button{font-size:11.5px;padding:10px 8px;gap:5px;min-height:44px;line-height:1.4;text-align:center}
}

/* Phone entry remains simple on phones; desktop form receives a clearer reading scale. */
.phone-entry{display:grid;grid-template-columns:minmax(112px,38%) minmax(0,1fr);gap:8px;align-items:start}
.phone-entry select,.phone-entry input{width:100%;min-width:0;font-weight:400;font-size:16px}
.phone-field small{display:block;font-size:12px;line-height:1.6;color:#52675b;margin-top:7px;font-weight:400}
.phone-entry select{padding-inline:9px}
@media(min-width:801px){
 .plan{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:32px}
 .form-card{padding:34px 32px}
 .form-card .form-intro{font-size:17px;line-height:1.75;color:#52645b}
 .form-card .choice{font-size:14px;min-height:46px;font-weight:500}
 .form-card .choice.active{font-weight:600}
 .form-card .form-fields{gap:24px}
 .form-card label{font-size:15px;line-height:1.5;font-weight:600;color:#293f34}
 .form-card :is(input,select,textarea){font-size:16px;font-weight:400;line-height:1.5;padding:14px;min-height:52px;margin-top:9px;color:#203a31;border-color:#bbc9bf}
 .form-card textarea{min-height:112px}
 .form-card :is(input,textarea)::placeholder{color:#62716a;opacity:1}
 .form-card input[type=checkbox]{min-height:20px;min-width:20px;padding:0;vertical-align:middle}
 .form-card label:has(#consent){font-size:14px;font-weight:400;line-height:1.8!important}
 .form-card .form-footer p{font-size:13px;line-height:1.7;max-width:30ch}
 .form-card .status{font-size:15px}
 .phone-field small{font-size:13px}
 .form-card .phone-entry select{padding-inline:9px}
}
