@font-face { font-family:"Mona Sans"; src:url('../fonts/MonaSansVF.woff2') format('woff2-variations'); font-weight:200 900; font-style:normal; font-display:swap; }
:root {
  --cet-primary: #08749b;
  --cet-secondary: #0b5a7e;
  --cet-accent: #98c63f;
  --cet-dark: #07364f;
  --cet-light: #f3f8f4;
  --cet-white: #fff;
  --cet-radius: 1rem;
  --cet-shadow: 0 1rem 2.5rem rgb(23 32 51 / 10%);
  --cet-container: 75rem;
}
* { box-sizing: border-box; }
html { scroll-behavior:smooth; font-size:16px; font-family:"Mona Sans",sans-serif; font-optical-sizing:auto; }
body,button,input,select,textarea { font-family:"Mona Sans",sans-serif; }
body { margin:0; overflow-x:hidden; color:#5f6366; background:var(--cet-white); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6 { margin-top:0; color:var(--cet-dark); font-family:"Mona Sans",sans-serif; font-weight:700; letter-spacing:normal; line-height:1.16; } h1 { font-size:clamp(38px,5vw,56px); } h2 { font-size:clamp(34px,4vw,48px); } h3 { font-size:clamp(20px,2.2vw,22px); font-weight:600; } p,li { font-size:17px; }
a { color: var(--cet-primary); }
img { display: block; max-width: 100%; height: auto; }
.container { width: min(100% - 2rem, var(--cet-container)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { top: 1rem; left: 1rem; z-index: 100000; width: auto; height: auto; padding: .75rem 1rem; clip: auto; background: var(--cet-white); }
:focus-visible { outline: 3px solid var(--cet-accent); outline-offset: 3px; }
.utility-bar { position:sticky; top:0; z-index:101; color:var(--cet-white); background:#075982; font-size:.875rem; }.utility-bar__inner { min-height:3rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-inline:2rem; border-radius:0 0 1rem 1rem; }.utility-bar__right { display:flex; align-items:center; gap:1.25rem; white-space:nowrap; }.utility-bar a { color:inherit; }
.site-header { position:sticky; top:3rem; z-index:100; border-bottom:1px solid #dce5f0; background:rgb(255 255 255 / 97%); box-shadow:0 .4rem 1.5rem rgb(7 54 79 / 7%); backdrop-filter:blur(12px); }
.site-header__inner { min-height: 6.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--cet-dark); font-weight: 800; text-decoration: none; }
.site-brand img { width: min(15.5rem, 38vw); height: auto; }
.primary-nav ul { display: flex; align-items: center; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.primary-nav a, .text-link { position:relative; color:var(--cet-dark); font-size:15px; font-weight:600; line-height:24px; text-decoration:none; }.primary-nav a::after { content:''; position:absolute; right:0; bottom:-.45rem; left:0; height:2px; background:var(--cet-accent); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav .current-menu-item>a::after { transform:scaleX(1); }
.header-actions, .button-row { display: flex; align-items: center; gap: .75rem; }
.account-link { display:grid; width:2.7rem; height:2.7rem; place-items:center; border:1px solid #cddcdf; border-radius:50%; color:var(--cet-dark); text-decoration:none; }.language-switch { position:relative; }.language-switch>button { display:flex; align-items:center; gap:.35rem; min-height:2.7rem; padding:.45rem .7rem; border:1px solid #cddcdf; border-radius:2rem; color:var(--cet-dark); background:#fff; font-weight:800; cursor:pointer; }.language-menu { position:absolute; top:calc(100% + .6rem); right:0; z-index:20; min-width:10rem; visibility:hidden; opacity:0; padding:.5rem; border-radius:.8rem; background:#fff; box-shadow:var(--cet-shadow); transform:translateY(-.4rem); transition:.2s ease; }.language-switch.is-open .language-menu { visibility:visible; opacity:1; transform:none; }.language-menu a { display:block; padding:.65rem .75rem; border-radius:.5rem; color:var(--cet-dark); text-decoration:none; }.language-menu a:hover { background:var(--cet-light); }
.nav-toggle { display: none; }
.site-main { min-height: 60vh; padding-block: 3rem; }
.home-main { padding: 0; }
.hero-slider { position: relative; min-height: 47rem; color: var(--cet-white); background: var(--cet-dark); }
.inner-slider { min-height:28rem; }.inner-slider .hero-slide { padding-block:6rem; }.inner-slider h1 { font-size:clamp(2.7rem,6vw,4.8rem); }.inner-slider .slider-controls { bottom:2rem; }.archive-header { max-width:48rem; margin-bottom:2.5rem; }.archive-header h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; }.related-products { margin-top:4rem; padding-top:3rem; border-top:1px solid #dbe6e8; }.related-products>h2 { font-size:clamp(2rem,4vw,3rem); }
.hero-slide { position: absolute; inset: 0; visibility: hidden; opacity: 0; isolation: isolate; padding-block: clamp(5rem, 10vw, 9rem) 11rem; background: var(--slide-image) center/cover no-repeat; transition: opacity .7s ease, visibility .7s ease; }.hero-slide.is-active { visibility: visible; opacity: 1; z-index: 1; }
.hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(7 35 75 / 80%), rgb(7 35 75 / 5%)); }
.hero__content { position: relative; }
.hero h1 { max-width:12ch; margin:.35rem 0 1rem; font-size:clamp(42px,5.7vw,72px); line-height:1.08; letter-spacing:normal; }
.hero__lead { max-width: 38rem; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.eyebrow { color: var(--cet-secondary); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero .eyebrow { color: #8ff4e7; }
.hero-slider .eyebrow { color: #b7df61; }.hero-price { display: grid; margin-left: .8rem; font-size: 1.4rem; font-weight: 850; }.hero-price small { font-size: .72rem; font-weight: 500; }.slider-controls { position: absolute; right: max(1rem, calc((100% - var(--cet-container))/2)); bottom: 7rem; z-index: 4; display: flex; align-items: center; gap: .75rem; }.slider-controls button { width: 2.8rem; height: 2.8rem; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; color: #fff; background: rgb(7 54 79 / 58%); cursor: pointer; }.slider-dots { display: flex; gap: .4rem; }.slider-dots button { width: .65rem; height: .65rem; padding: 0; border: 0; background: rgb(255 255 255 / 55%); }.slider-dots button[aria-current="true"] { width: 1.8rem; border-radius: 1rem; background: var(--cet-accent); }
.search-shell { position: absolute; right: 0; bottom: -4.5rem; left: 0; z-index: 6; }
.travel-search fieldset { margin: 0; padding: 0; border: 0; border-radius: var(--cet-radius); color: var(--cet-dark); background: var(--cet-white); box-shadow: 0 1.5rem 4rem rgb(5 35 74 / 22%); }
.search-tabs { display: flex; gap: .25rem; padding: .6rem .8rem 0; border-bottom: 1px solid #dce5f0; }
.search-tabs input { position: absolute; opacity: 0; }
.search-tabs span { display: block; padding: .7rem 1rem; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 700; }
.search-tabs input:checked + span { color: var(--cet-primary); border-color: var(--cet-primary); }
.search-fields { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr) auto; gap: .8rem; align-items: end; padding: 1.25rem; }
.search-fields label { display: grid; gap: .35rem; font-size: .83rem; font-weight: 750; }
input { width: 100%; min-height: 2.8rem; padding: .6rem .75rem; border: 1px solid #b8c6d8; border-radius: .6rem; font: inherit; }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.hero-slider + .section { padding-top: 9rem; }
.section--tint { background: var(--cet-light); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }.section-heading>a { display:inline-flex; align-items:center; min-height:2.8rem; padding:.65rem 1.15rem; border:1px solid #c8d9de; border-radius:2rem; color:var(--cet-primary); background:#fff; box-shadow:0 .35rem 1rem rgb(7 54 79 / 7%); font-weight:800; text-decoration:none; transition:.2s ease; }.section-heading>a:hover,.section-heading>a:focus-visible { color:#fff; border-color:var(--cet-primary); background:var(--cet-primary); transform:translateY(-2px); }
.section h2 { margin:.2rem 0; font-size:clamp(34px,4vw,48px); font-weight:700; line-height:1.16; }
.destination-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }.product-grid .card img { width:100%; aspect-ratio:4/3; object-fit:cover; }.button--outline { border:1px solid var(--cet-primary); color:var(--cet-primary); background:transparent; }.button:hover,.button:focus-visible { transform:translateY(-2px); box-shadow:0 .8rem 1.8rem rgb(7 54 79 / 18%); }.button { transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.section-heading--center { justify-content:center; text-align:center; }.section-heading--center p { max-width:38rem; margin-inline:auto; }.product-carousel { position:relative; }.product-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 3rem)/3); gap:1.5rem; overflow-x:auto; padding:.5rem .25rem 1.4rem; scroll-snap-type:x mandatory; scrollbar-width:none; }.product-track::-webkit-scrollbar { display:none; }.product-track .card { scroll-snap-align:start; border:1px solid #d5e1e5; box-shadow:0 .35rem 0 #edf2f3; }.product-track .card> a img { width:calc(100% - 1rem); margin:.5rem; aspect-ratio:1.35; border-radius:.8rem; object-fit:cover; }.product-track .card__body { padding:1rem 1.2rem 1.2rem; }.product-track .card__body h2 { min-height:3.2rem; margin:.25rem 0; font-size:1.15rem; line-height:1.35; }.carousel-arrow { position:absolute; top:50%; z-index:4; display:grid; width:3rem; height:3rem; place-items:center; border:0; border-radius:50%; color:#fff; background:var(--cet-primary); box-shadow:var(--cet-shadow); cursor:pointer; transform:translateY(-50%); }.carousel-arrow--prev { left:-1.5rem; }.carousel-arrow--next { right:-1.5rem; }.carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:1.25rem; }.carousel-progress { flex:1; height:3px; overflow:hidden; border-radius:1rem; background:#dbe4e7; }.carousel-progress span { display:block; width:18%; height:100%; border-radius:inherit; background:var(--cet-accent); transition:width .2s ease; }
.destination-card { min-height: 19rem; position: relative; overflow: hidden; display: flex; align-items: end; padding: 1.4rem; border-radius: var(--cet-radius); color: var(--cet-white); background: linear-gradient(160deg, var(--cet-primary), var(--cet-secondary)); box-shadow: var(--cet-shadow); }.destination-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }.destination-card:hover>img { transform:scale(1.05); }
.destination-card::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgb(0 0 0 / 65%)); }
.destination-card > div:last-child { position: relative; z-index: 1; }.destination-card h3 { margin: 0; font-size: 1.55rem; }.destination-card p { margin: 0; opacity: .85; }.destination-card a { color: var(--cet-white); font-weight: 750; }
.trust-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 1.5rem; align-items: stretch; }.trust-card { padding: 1.5rem; border-radius: var(--cet-radius); background: var(--cet-white); }.trust-card > span { color: var(--cet-primary); font-size: 2rem; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }.blog-card { overflow:hidden; border:1px solid #dbe6e8; border-radius:var(--cet-radius); background:#fff; box-shadow:0 .8rem 2rem rgb(7 54 79 / 7%); }.blog-card__image img { width:100%; aspect-ratio:16/10; object-fit:cover; }.blog-card>div { padding:1.4rem; }.blog-card h3 { font-size:1.35rem; line-height:1.25; }.blog-card h3 a,.arrow-link { color:var(--cet-dark); text-decoration:none; }.arrow-link { font-weight:800; }.testimonials-section { position:relative; isolation:isolate; color:#fff; background:linear-gradient(90deg,rgb(7 54 79 / 95%),rgb(7 54 79 / 58%)),url('../images/hero-punta-cana.webp') center/cover fixed; }.testimonials-section::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent,rgb(0 35 55 / 32%)); }.testimonials-section .eyebrow { color:#b7df61; }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }.testimonial { margin:0; padding:1.6rem; border:1px solid rgb(255 255 255 / 45%); border-radius:var(--cet-radius); color:#fff; background:rgb(255 255 255 / 12%); box-shadow:0 1rem 2.5rem rgb(0 0 0 / 16%); backdrop-filter:blur(12px); }.testimonial__rating { color:#d7ff78; letter-spacing:.18em; }.testimonial footer { display:flex; align-items:center; gap:.8rem; margin-top:1.5rem; }.testimonial footer div { display:grid; }.testimonial footer span { color:#dce8eb; font-size:.85rem; }.testimonial__avatar { width:3.4rem; height:3.4rem; border:3px solid #fff; border-radius:50%; object-fit:cover; }.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; align-items:start; }.faq-list details { border-bottom:1px solid #cedcdf; }.faq-list summary { padding:1.25rem 2.5rem 1.25rem 0; cursor:pointer; font-size:1.05rem; font-weight:800; list-style:none; }.faq-list summary::after { content:'+'; float:right; color:var(--cet-primary); font-size:1.5rem; }.faq-list details[open] summary::after { content:'−'; }.faq-list details div { padding:0 0 1.2rem; color:#506b78; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 5vw, 4rem); border-radius: calc(var(--cet-radius) * 1.5); color: var(--cet-white); background: var(--cet-dark); }.cta-panel h2 { max-width: 20ch; }.cta-panel p { max-width: 50ch; }
.card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.card { overflow: hidden; border-radius: var(--cet-radius); background: var(--cet-white); box-shadow: var(--cet-shadow); }
.card__body { padding: 1.25rem; }
.card__location { margin: 0; color: var(--cet-primary); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.card__meta,.card__footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }.card__meta { padding-block:.5rem; color:#537080; font-size:.86rem; }.card__footer { margin-top:1rem; padding-top:1rem; border-top:1px solid #dbe6e8; }.card__footer a { font-weight:800; }
.travel-detail { margin-top:-3rem; }.travel-hero { position:relative; min-height:36rem; display:flex; align-items:end; overflow:hidden; border-radius:0 0 2rem 2rem; color:#fff; }.travel-hero__media,.travel-hero__overlay { position:absolute; inset:0; }.travel-hero__media img { width:100%; height:100%; object-fit:cover; }.travel-hero__overlay { background:linear-gradient(0deg,rgb(7 54 79 / 92%),rgb(7 54 79 / 5%) 75%); }.travel-hero__content { position:relative; width:min(100% - 2rem,var(--cet-container)); margin:0 auto; padding:4rem 0; }.travel-hero h1 { max-width:18ch; margin:.3rem 0 1rem; font-size:clamp(2.5rem,6vw,5rem); line-height:1; }.travel-facts { display:flex; flex-wrap:wrap; gap:1.5rem; font-weight:700; }.travel-layout { width:min(100% - 2rem,var(--cet-container)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 22rem; gap:3rem; padding-block:4rem 7rem; }.travel-content section { scroll-margin-top:2rem; padding-block:2rem; }.travel-content h2 { font-size:clamp(1.8rem,4vw,3rem); line-height:1.1; }.detail-nav { position:sticky; top:0; z-index:5; display:flex; gap:1.25rem; overflow:auto; padding:1rem 0; background:#fff; border-bottom:1px solid #dbe6e8; }.detail-nav a { color:var(--cet-dark); font-weight:750; text-decoration:none; }.detail-panel { padding:2rem !important; border-radius:var(--cet-radius); background:var(--cet-light); }.include-grid,.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }.include-grid ul,.booking-card ul { margin:0; padding:0; list-style:none; }.not-included { color:#6d7780; }.timeline { margin:2rem 0; padding:0; list-style:none; counter-reset:steps; }.timeline li { position:relative; margin-left:1.2rem; padding:0 0 2rem 2.5rem; border-left:2px solid #d5e3df; }.timeline li::before { counter-increment:steps; content:counter(steps); position:absolute; left:-1rem; top:-.25rem; display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; color:#fff; background:var(--cet-primary); font-weight:800; }.info-grid { grid-template-columns:repeat(3,1fr); }.booking-card { position:sticky; top:2rem; align-self:start; padding:1.6rem; border-top:5px solid var(--cet-accent); border-radius:var(--cet-radius); background:#fff; box-shadow:var(--cet-shadow); }.booking-badge { display:inline-flex; margin-bottom:.8rem; padding:.3rem .6rem; border-radius:1rem; color:#31510a; background:#e7f4cb; font-size:.72rem; font-weight:850; }.booking-price { color:var(--cet-dark); font-size:2rem; font-weight:900; }.booking-card form { display:grid; gap:1rem; margin:1.2rem 0; }.booking-card label { display:grid; gap:.35rem; font-weight:750; }.booking-card li { margin:.5rem 0; }
.site-footer { padding-block:5rem 2rem; color:var(--cet-dark); background:#eef3f6; }.site-footer a { color:#4c6572; }.footer-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr 1.15fr; gap:3rem; }.footer-grid h2 { margin:.2rem 0 1.4rem; font-size:1.15rem; }.footer-grid ul { margin:0; padding:0; list-style:none; }.footer-grid li+li { margin-top:.7rem; }.footer-grid li a { text-decoration:none; }.footer-grid li a::before { content:'›'; margin-right:.7rem; color:#92a6ae; font-size:1.35rem; }.footer-brand img { width:min(15.5rem,100%); height:auto; }.footer-brand>p { max-width:18rem; }.store-button { display:flex; align-items:center; gap:.6rem; max-width:17rem; margin:.65rem 0; padding:.7rem 1rem; border:1px solid #cbd7dc; border-radius:2rem; text-decoration:none; }.store-button strong { color:var(--cet-dark); }.store-button b { display:grid; width:2rem; height:2rem; margin-left:auto; place-items:center; border-radius:.35rem; color:var(--cet-accent); background:#dfe8eb; }.newsletter { display:grid; gap:.75rem; }.newsletter input { background:transparent; }.newsletter button { justify-self:start; min-height:3.1rem; padding:.6rem 1.2rem; border:0; border-radius:2rem; color:#fff; background:var(--cet-accent); font-weight:800; }.newsletter button span { display:inline-grid; width:2rem; height:2rem; margin-left:.7rem; place-items:center; border-radius:50%; color:var(--cet-primary); background:#fff; }.footer-contact { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:4rem; }.footer-contact>a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; border-radius:1rem; background:#dce6ea; text-decoration:none; }.footer-contact span { display:grid; color:#4c6572; }.footer-contact small { color:var(--cet-dark); font-size:.88rem; }.footer-contact b { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; color:var(--cet-accent); background:var(--cet-primary); }.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1.5rem; font-size:.875rem; }.social-links { display:flex; gap:.4rem; }.social-links a { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid #cad6dc; border-radius:50%; text-decoration:none; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:3rem; padding:.75rem 1.3rem; border:0; border-radius:2rem; color:var(--cet-white); background:linear-gradient(135deg,var(--cet-primary),var(--cet-secondary)); font-weight:750; text-decoration:none; cursor:pointer; }.button--small { min-height:2.6rem; padding:.55rem 1rem; }.button--ghost { border:1px solid rgb(255 255 255 / 70%); background:transparent; }
.button--accent { border-radius: 2rem; color: #102c3c; background: #9ac43c; }
.request-page { padding-block:clamp(4rem,8vw,7rem); background:linear-gradient(135deg,#eaf5f1,#f8fbfc); }.request-module { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:center; }.request-intro h1,.contact-hero h1 { margin:.3rem 0 1rem; font-size:clamp(2.7rem,6vw,5rem); line-height:1; }.request-benefits { display:grid; gap:.8rem; margin-top:2rem; font-weight:750; }.request-form-card { padding:clamp(1.5rem,4vw,2.5rem); border-radius:1.4rem; background:#fff; box-shadow:var(--cet-shadow); }.request-tabs { display:grid; grid-template-columns:1fr 1fr; margin:-.5rem -.5rem 2rem; padding:.4rem; border-radius:.8rem; background:var(--cet-light); }.request-tabs a { padding:.75rem; border-radius:.6rem; color:var(--cet-dark); text-align:center; text-decoration:none; font-weight:800; }.request-tabs a.is-active { color:#fff; background:var(--cet-primary); }.modern-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.modern-form label { display:grid; gap:.35rem; font-weight:750; }.modern-form input,.modern-form select,.modern-form textarea { width:100%; min-height:3rem; padding:.7rem .8rem; border:1px solid #bdced2; border-radius:.65rem; background:#fff; font:inherit; }.modern-form textarea { resize:vertical; }.field-wide { grid-column:1/-1; }.form-consent { display:flex !important; align-items:flex-start; font-size:.84rem; font-weight:500 !important; }.form-consent input { width:auto; min-height:auto; margin-top:.25rem; }.form-success { margin-bottom:1rem; padding:1rem; border-left:4px solid var(--cet-accent); border-radius:.5rem; background:#f2f9e5; }.contact-hero { padding-block:clamp(5rem,10vw,9rem); color:#fff; background:linear-gradient(90deg,rgb(7 54 79 / 95%),rgb(7 54 79 / 30%)),url('../images/hero-santo-domingo.webp') center/cover; }.contact-hero p { max-width:42rem; }.contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:4rem; }.contact-method { display:flex; gap:1rem; margin:1.5rem 0; }.contact-method>span { display:grid; flex:0 0 3rem; height:3rem; place-items:center; border-radius:50%; color:#fff; background:var(--cet-primary); }.contact-method div { display:grid; }.contact-method p { margin:0; }.contact-method a { color:var(--cet-dark); }
@media (max-width: 1199px) { .card-grid, .destination-grid,.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .primary-nav { display: none; }.nav-toggle { display: inline-flex; }.header-actions .text-link { display: none; }.trust-grid { grid-template-columns: repeat(3, 1fr); }.trust-grid > div:first-child { grid-column: 1 / -1; }.blog-grid,.testimonial-grid { grid-template-columns:repeat(2,1fr); }.product-track { grid-auto-columns:calc((100% - 1.5rem)/2); }.footer-grid { grid-template-columns:repeat(2,1fr); }.footer-contact { grid-template-columns:1fr; } }
@media (max-width: 767px) {
  .nav-toggle { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; }
  .primary-nav { display: none; position: absolute; inset: 6.5rem 1rem auto; z-index: 10; padding: 1rem; border-radius: var(--cet-radius); background: var(--cet-white); box-shadow: var(--cet-shadow); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; flex-direction: column; }
  .utility-bar { display:none; }.site-header { top:0; }.header-actions { display:flex; margin-left:auto; }.header-actions .account-link,.header-actions>.button { display:none; }.language-switch>button span { display:none; }.hero-slider { min-height: 53rem; }.hero-slide { padding-bottom: 15rem; }.slider-controls { right: 1rem; bottom: 13rem; }.search-shell { bottom: -5rem; }.search-tabs { overflow-x: auto; }.search-fields { grid-template-columns: 1fr 1fr; }.search-fields label:first-child, .search-fields .button { grid-column: 1 / -1; }.hero-slider + .section { padding-top: 10rem; }.card-grid, .destination-grid, .trust-grid, .footer-grid { grid-template-columns: 1fr; }.destination-card { min-height: 14rem; }.section-heading, .cta-panel, .footer-bottom { align-items: flex-start; flex-direction: column; }.newsletter { display:grid; }.product-track { grid-auto-columns:88%; }.carousel-arrow { width:2.6rem; height:2.6rem; }.carousel-arrow--prev { left:-.5rem; }.carousel-arrow--next { right:-.5rem; }.carousel-footer { align-items:stretch; flex-direction:column; }.footer-bottom { align-items:center; text-align:center; }.footer-contact>a { padding:1rem; }
  .travel-layout { grid-template-columns:1fr; }.booking-card { position:static; }.include-grid,.info-grid { grid-template-columns:1fr; }.travel-hero { min-height:28rem; }.detail-nav { margin-inline:-1rem; padding-inline:1rem; }
  .product-grid,.blog-grid,.testimonial-grid,.faq-layout { grid-template-columns:1fr; }.faq-layout { gap:2rem; }.testimonial-grid .testimonial:last-child,.blog-grid .blog-card:last-child { display:none; }
  .request-module,.contact-layout { grid-template-columns:1fr; }.modern-form { grid-template-columns:1fr; }.field-wide { grid-column:auto; }
}
.footer-actions { display:flex; align-items:center; gap:1rem; }.pwa-install { display:inline-flex; align-items:center; gap:.45rem; min-height:2.6rem; padding:.55rem .85rem; border:1px solid #c7d5da; border-radius:2rem; color:var(--cet-dark); background:#fff; font-weight:750; cursor:pointer; }.pwa-install[hidden] { display:none; }.developer-credit { color:#58717c; }.whatsapp-float { position:fixed; right:1.25rem; bottom:1.25rem; z-index:90; display:flex; align-items:center; gap:.65rem; min-height:3.5rem; padding:.5rem 1rem .5rem .55rem; border:3px solid #fff; border-radius:2rem; color:#fff; background:#25d366; box-shadow:0 .8rem 2.2rem rgb(0 0 0 / 22%); text-decoration:none; }.whatsapp-float span { display:grid; width:2.2rem; height:2.2rem; place-items:center; border-radius:50%; background:rgb(0 0 0 / 12%); font-size:1.25rem; }.whatsapp-float b { font-size:.88rem; }
@media (max-width:767px) { h1 { font-size:clamp(38px,11vw,52px); } h2,.section h2 { font-size:clamp(32px,9vw,40px); } .whatsapp-float { width:3.6rem; height:3.6rem; padding:.45rem; justify-content:center; }.whatsapp-float b { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.footer-actions { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Blog archive inspired by the selected Aventour reference. */
.blog-index__heading { max-width:46rem; margin:0 auto 3rem; text-align:center; }.blog-index__heading h1 { margin:.4rem 0 .8rem; font-size:clamp(36px,4vw,48px); font-weight:700; }.blog-index__heading>p:last-child { margin:0; }.blog-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem 1.5rem; }.blog-tile__media { position:relative; display:block; overflow:hidden; border-radius:1rem; }.blog-tile__media img { width:100%; aspect-ratio:1.25; object-fit:cover; transition:transform .35s ease; }.blog-tile:hover .blog-tile__media img { transform:scale(1.035); }.blog-tile__media time { position:absolute; top:1rem; right:1rem; display:grid; min-width:3.6rem; padding:.55rem .45rem; border-radius:1rem; color:var(--cet-dark); background:#fff; text-align:center; line-height:1.15; }.blog-tile__media time strong { font-size:17px; }.blog-tile__media time span { margin-top:.25rem; font-size:12px; }.blog-tile h2 { margin:.35rem 0 .8rem; font-size:18px; font-weight:600; line-height:1.35; }.blog-tile h2 a { color:var(--cet-dark); text-decoration:none; }.blog-tile__meta { display:flex; align-items:center; gap:.55rem; }.blog-tile__meta span,.blog-tile__arrow { display:inline-flex; min-height:2.35rem; align-items:center; border:1px solid #e0e7e9; border-radius:2rem; }.blog-tile__meta span { padding:.35rem .8rem; color:#5f6366; font-size:14px; }.blog-tile__arrow { width:2.35rem; justify-content:center; color:var(--cet-dark); background:#edf2f1; font-weight:800; text-decoration:none; }

/* The home adventure carousel intentionally keeps only image and title. */
.adventure-carousel-section .card__location,.adventure-carousel-section .card__meta,.adventure-carousel-section .card__body>p,.adventure-carousel-section .card__footer { display:none; }.adventure-carousel-section .card__body { padding:.7rem 1rem 1rem; }.adventure-carousel-section .card__body h2 { min-height:0; margin:0; font-size:18px; font-weight:600; line-height:1.35; }.adventure-carousel-section .card__body h2 a { color:var(--cet-dark); text-decoration:none; }

@media (max-width:900px) { .blog-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .blog-archive-grid { grid-template-columns:1fr; }.blog-index__heading h1 { font-size:34px; } }

/* Compact catalog cards and high-contrast headings over media. */
.card-grid .card__body h2 { min-height:0; margin:.2rem 0 .65rem; font-size:clamp(19px,1.65vw,23px); font-weight:600; line-height:1.28; }.card-grid .card__body h2 a { color:var(--cet-dark); text-decoration:none; }.card-grid .card__body>p { font-size:16px; line-height:1.55; }.hero-slide h1,.hero-slide h2,.inner-slider h1,.inner-slider h2,.travel-hero h1,.travel-hero h2,.contact-hero h1,.contact-hero h2,.testimonials-section h2,.cta-panel h2 { color:#fff; text-shadow:0 2px 18px rgb(0 20 35 / 35%); }.hero-slide .hero__lead,.inner-slider p,.travel-hero p,.contact-hero p,.cta-panel p { color:#fff; }.cta-panel .eyebrow { color:#b7df61; }.inner-slider .eyebrow,.travel-hero .eyebrow,.contact-hero .eyebrow { color:#c8ef6f; }

/* Reservation and quotation backdrop with a strong readability layer. */
.request-page { position:relative; isolation:isolate; background:linear-gradient(90deg,rgb(238 247 246 / 96%) 0%,rgb(246 250 250 / 90%) 48%,rgb(7 54 79 / 58%) 100%),url('../images/hero-punta-cana.webp') center/cover fixed; }.request-page::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,rgb(255 255 255 / 18%),transparent); }.request-intro { padding:clamp(1rem,3vw,2rem); border-radius:1.25rem; background:rgb(255 255 255 / 84%); box-shadow:0 1rem 3rem rgb(7 54 79 / 12%); backdrop-filter:blur(8px); }.request-intro h1 { color:var(--cet-dark); font-size:clamp(36px,4.5vw,56px); line-height:1.12; }

/* Pagination shared by blog and every travel catalog. */
.navigation.pagination { margin-top:3rem; }.nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }.page-numbers { display:grid; min-width:2.75rem; min-height:2.75rem; place-items:center; padding:.4rem .75rem; border:1px solid #d4e0e3; border-radius:2rem; color:var(--cet-dark); background:#fff; font-size:15px; font-weight:700; text-decoration:none; }.page-numbers.current,.page-numbers:hover,.page-numbers:focus-visible { color:#fff; border-color:var(--cet-primary); background:var(--cet-primary); }

@media (max-width:767px) { .request-page { background-attachment:scroll; background-position:62% center; }.request-intro { padding:1.25rem; }.card-grid .card__body h2 { font-size:20px; } }
.destination-card h3,.destination-card h3 a { color:#fff; text-shadow:0 2px 12px rgb(0 0 0 / 48%); }
.card__footer a { display:inline-flex; min-height:2.55rem; align-items:center; justify-content:center; padding:.5rem 1rem; border-radius:2rem; color:#fff; background:linear-gradient(135deg,var(--cet-primary),var(--cet-secondary)); box-shadow:0 .35rem 1rem rgb(7 54 79 / 14%); text-decoration:none; transition:.2s ease; }.card__footer a:hover,.card__footer a:focus-visible { transform:translateY(-2px); box-shadow:0 .7rem 1.4rem rgb(7 54 79 / 20%); }
.cta-panel { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(90deg,rgb(4 47 70 / 94%),rgb(4 47 70 / 55%)),url('../images/hero-punta-cana.webp') center 58%/cover; }.cta-panel::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgb(4 47 70 / 22%),transparent); }
.header-socials,.footer-brand-socials { display:flex; align-items:center; gap:.45rem; }.header-socials a,.footer-brand-socials a { display:grid; width:2.35rem; height:2.35rem; place-items:center; border:1px solid #d3dfe2; border-radius:50%; color:var(--cet-primary); background:#fff; font-size:14px; font-weight:800; text-decoration:none; transition:.2s ease; }.header-socials a:hover,.footer-brand-socials a:hover { color:#fff; border-color:var(--cet-primary); background:var(--cet-primary); transform:translateY(-2px); }.footer-social-title { margin:1.4rem 0 .6rem; color:var(--cet-dark); font-weight:700; }.child-ages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.child-ages:empty { display:none; }
@media(max-width:1199px){.header-socials{display:none}}@media(max-width:767px){.child-ages{grid-template-columns:1fr 1fr}}
.cta-panel { background-image:linear-gradient(90deg,rgb(4 47 70 / 94%),rgb(4 47 70 / 55%)),var(--offer-image) !important; background-position:center 58%; background-size:cover; }
.footer-bottom .social-links { display:none; }

/* Compact catalog actions: prices are reserved for the full detail page. */
.card-grid .card__footer strong,.product-grid .card__footer strong { display:none; }.card-grid .card__footer,.product-grid .card__footer { justify-content:flex-end; }.card__footer a { min-height:2.2rem; padding:.4rem .8rem; white-space:nowrap; font-size:13px; font-weight:700; }

/* Refined reservation form. */
.request-form-card { border:1px solid rgb(255 255 255 / 75%); box-shadow:0 1.4rem 4rem rgb(4 47 70 / 18%); }.modern-form { gap:1.15rem; }.modern-form label>span { color:var(--cet-dark); font-size:14px; font-weight:700; }.modern-form input,.modern-form select,.modern-form textarea { border-color:#d2dfe2; border-radius:.85rem; background:#fbfdfd; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }.modern-form input:focus,.modern-form select:focus,.modern-form textarea:focus { border-color:var(--cet-primary); outline:0; background:#fff; box-shadow:0 0 0 4px rgb(8 116 155 / 10%); }.modern-form button { min-height:3.35rem; }

/* About agency page. */
.about-page { padding:0; }.about-hero { display:grid; min-height:21rem; place-items:center; color:#fff; text-align:center; background:linear-gradient(rgb(4 47 70 / 68%),rgb(4 47 70 / 68%)),var(--about-hero) center/cover; }.about-hero h1 { margin:0 0 .7rem; color:#fff; font-size:clamp(40px,5vw,58px); text-shadow:0 3px 18px rgb(0 0 0 / 35%); }.about-hero p,.about-hero a { color:#fff; }.about-hero span { margin-inline:.55rem; }.about-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2.5rem,7vw,6rem); align-items:center; }.about-collage { position:relative; min-height:33rem; }.about-collage img { position:absolute; width:72%; aspect-ratio:1/1.05; object-fit:cover; border-radius:1.1rem; box-shadow:var(--cet-shadow); }.about-collage img:first-child { top:0; left:0; }.about-collage img:last-child { right:0; bottom:0; width:64%; }.about-copy h2 { font-size:clamp(34px,4vw,48px); }.about-copy>p { max-width:42rem; }

/* Distinct final footer strip. */
.footer-bottom { width:min(100% - 2rem,var(--cet-container)); padding:1.6rem 1.5rem; border-top:2px solid #cbdadd; border-radius:.9rem; background:#e2ebee; box-shadow:inset 0 1px 0 rgb(255 255 255 / 65%); }
@media(max-width:767px){.about-story{grid-template-columns:1fr}.about-collage{min-height:25rem}.about-hero{min-height:17rem}}

/* Header layout modeled after the selected reference. */
.utility-bar { padding-top:4px; border:0; background:#171717; }.utility-bar__inner { min-height:2.65rem; padding-inline:1.5rem; border-radius:0 0 .9rem .9rem; background:#075982; }.utility-bar__inner>span:first-child { display:flex; align-items:center; gap:.45rem; }.utility-bar__inner small { margin-left:.35rem; color:#bdd7e3; font-size:11px; text-transform:uppercase; }.utility-socials { display:flex; align-items:center; gap:.7rem; }.utility-socials a { display:inline-flex; color:#fff; font-size:13px; font-weight:700; line-height:1; text-decoration:none; }.utility-socials a[aria-disabled="true"] { opacity:.8; }.header-socials { display:none !important; }
.primary-nav .menu-item { position:relative; }.primary-nav .menu-item-has-children>a { display:flex; align-items:center; gap:.25rem; }.primary-nav .sub-menu { position:absolute; top:calc(100% + 1rem); left:-1rem; z-index:30; display:grid; min-width:12rem; visibility:hidden; opacity:0; gap:0; padding:.55rem; border:1px solid #e0e8eb; border-radius:.85rem; background:#fff; box-shadow:0 1rem 2.5rem rgb(7 54 79 / 16%); transform:translateY(-.4rem); transition:.2s ease; }.primary-nav .sub-menu::before { content:''; position:absolute; right:0; bottom:100%; left:0; height:1rem; }.primary-nav .menu-item-has-children:hover>.sub-menu,.primary-nav .menu-item-has-children:focus-within>.sub-menu { visibility:visible; opacity:1; transform:none; }.primary-nav .sub-menu a { display:block; padding:.7rem .8rem; border-radius:.55rem; white-space:nowrap; }.primary-nav .sub-menu a::after { display:none; }.primary-nav .sub-menu a:hover { background:var(--cet-light); }
@media(max-width:1199px){.primary-nav .sub-menu{position:static; display:none; visibility:visible; opacity:1; margin-top:.5rem; box-shadow:none; transform:none}.primary-nav .menu-item-has-children:focus-within>.sub-menu,.primary-nav .menu-item-has-children:hover>.sub-menu{display:grid}}

/* White page surround and simplified booking-style search. */
.utility-bar { padding-top:0; background:#fff; }.travel-search--simple fieldset { border-radius:1.5rem; }.travel-search--simple .search-fields { grid-template-columns:1.35fr 1.55fr 1fr auto; align-items:stretch; gap:0; padding:.55rem; }.travel-search--simple .search-fields>label,.search-dates,.traveler-picker { min-width:0; border-right:1px solid #dbe3e7; }.travel-search--simple label { padding:.2rem .8rem; }.travel-search--simple label span { font-size:12px; }.travel-search--simple input { min-height:2rem; padding:.1rem 0; border:0; border-radius:0; background:transparent; font-size:15px; }.search-dates { display:grid; grid-template-columns:1fr 1fr; }.traveler-picker { position:relative; display:flex; }.traveler-picker__toggle { width:100%; padding:.65rem 1rem; border:0; color:var(--cet-dark); background:transparent; text-align:left; font:600 14px/1.3 "Mona Sans",sans-serif; cursor:pointer; }.traveler-popover { position:absolute; top:calc(100% + .8rem); right:0; z-index:30; width:min(23rem,90vw); display:none; padding:1.4rem; border:1px solid #e0e7e9; border-radius:1.2rem; background:#fff; box-shadow:0 1.2rem 3rem rgb(7 54 79 / 18%); }.traveler-picker.is-open .traveler-popover { display:block; }.traveler-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }.traveler-row>div { display:flex; align-items:center; gap:.8rem; }.traveler-row button { width:2rem; height:2rem; border:1px solid #b9c8ce; border-radius:50%; color:var(--cet-dark); background:#fff; cursor:pointer; }.traveler-done { float:right; margin-top:1.2rem; padding:.55rem 1rem; border:0; border-radius:2rem; color:#fff; background:var(--cet-dark); font-weight:700; }.search-submit { align-self:center; margin:.15rem .1rem .15rem .7rem; }
.team-section { background:var(--cet-light); }.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; }.team-card { overflow:hidden; border-radius:1rem; background:#fff; box-shadow:var(--cet-shadow); }.team-card>img { width:100%; aspect-ratio:4/4.5; object-fit:cover; }.team-card>div { padding:1.2rem; }.team-card h3 { margin:0; font-size:20px; }.team-role { margin:.3rem 0 .7rem; color:var(--cet-primary); font-size:14px; font-weight:700; }.team-card a { display:grid; width:2.2rem; height:2.2rem; place-items:center; border-radius:50%; color:#fff; background:var(--cet-primary); text-decoration:none; }
@media(max-width:1000px){.travel-search--simple .search-fields{grid-template-columns:1fr 1fr}.travel-search--simple .search-fields>*{border-bottom:1px solid #dbe3e7}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.travel-search--simple .search-fields{grid-template-columns:1fr}.search-dates{grid-template-columns:1fr 1fr}.travel-search--simple .search-fields>label,.search-dates,.traveler-picker{border-right:0}.search-submit{margin:.5rem}.team-grid{grid-template-columns:1fr}}

/* Booking and quotation use the same compact trip picker as the home search. */
.request-module--simple { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(1.5rem,4vw,4rem); }
.booking-form__subtitle { margin:.6rem 0 0; padding-top:1.3rem; border-top:1px solid #dfebed; font-size:20px!important; }
.booking-search-row { display:grid; grid-template-columns:1.2fr 1.7fr 1.25fr; align-items:stretch; overflow:visible; border:1px solid #d6e3e7; border-radius:1rem; background:#fbfdfd; }
.booking-search-row>label,.booking-search-row>.booking-date-range { border-right:1px solid #d6e3e7; }
.booking-search-row label { min-width:0; padding:.6rem .75rem; }
.booking-search-row label span { font-size:12px; }
.booking-search-row select,.booking-search-row input { min-height:2rem; padding:.15rem 0; border:0; background:transparent; font-size:14px; }
.booking-date-range { display:grid; grid-template-columns:1fr 1fr; }
.booking-date-range label+label { border-left:1px solid #d6e3e7; }
.booking-search-row .traveler-picker { border:0; }
.booking-search-row .traveler-picker__toggle { padding:.7rem .8rem; font-size:13px; }
.booking-search-row .traveler-popover { top:calc(100% + .3rem); }
.booking-form .child-ages { grid-template-columns:repeat(3,minmax(0,1fr)); }
.form-error { margin:0 0 1rem; padding:.75rem 1rem; border-left:4px solid #d54837; border-radius:.5rem; color:#84291f; background:#fff0ed; }
.team-card__avatar { display:grid; aspect-ratio:4/4.5; place-items:center; color:#fff; background:linear-gradient(135deg,#0b5a7e,#98c63f); font-size:5rem; font-weight:700; }
.team-contact,.team-socials { display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin-top:.7rem; }.team-contact { display:grid; }.team-contact a { display:inline!important; width:auto!important; height:auto!important; color:var(--cet-primary)!important; background:none!important; font-size:14px; overflow-wrap:anywhere; }.team-socials a { display:inline-flex!important; width:auto!important; height:auto!important; padding:.3rem .65rem; border-radius:1rem; color:#fff!important; background:var(--cet-primary)!important; font-size:12px; }
@media(max-width:1100px){.request-module--simple{grid-template-columns:1fr}.booking-search-row{grid-template-columns:1fr 1.5fr 1.1fr}}
@media(max-width:700px){.booking-search-row{grid-template-columns:1fr}.booking-search-row>label,.booking-search-row>.booking-date-range{border-right:0;border-bottom:1px solid #d6e3e7}.booking-form .child-ages{grid-template-columns:1fr 1fr}}

.contact-hero{background-image:linear-gradient(90deg,rgb(7 54 79 / 95%),rgb(7 54 79 / 30%)),var(--cet-contact-image,url('../images/hero-santo-domingo.webp'))}
.request-page{background-image:linear-gradient(90deg,rgb(238 247 246 / 96%) 0%,rgb(246 250 250 / 90%) 48%,rgb(7 54 79 / 58%) 100%),var(--cet-request-image,url('../images/hero-punta-cana.webp'))}
.testimonials-section{background-image:linear-gradient(90deg,rgb(7 54 79 / 95%),rgb(7 54 79 / 58%)),var(--cet-testimonial-image,url('../images/hero-punta-cana.webp'))}

/* Reservation layout: separate travel choices from the contact form. */
.request-module--simple{display:block;max-width:72rem;margin-inline:auto}.request-module--simple .request-intro{max-width:48rem;margin:0 auto 2rem;text-align:center}.request-module--simple .request-intro h1{font-size:clamp(32px,4vw,48px)}.request-module--simple .request-form-card{max-width:72rem;margin:auto;padding:clamp(1.3rem,3vw,3rem)}
.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}.booking-search-row{grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.2rem;border:0;border-radius:1.2rem;background:#f1f7f8}.booking-search-row>label,.booking-search-row>.booking-date-range{border:0}.booking-search-row>label,.booking-search-row .booking-date-range label{padding:0}.booking-search-row .booking-destination{grid-column:1/-1}.booking-search-row select,.booking-search-row input{min-height:3.15rem;padding:.55rem .8rem;border:1px solid #cbdce1;border-radius:.7rem;background:#fff}.booking-search-row .booking-date-range{gap:1rem}.booking-search-row .booking-date-range label+label{border:0}.booking-search-row .traveler-picker{align-self:end;min-height:3.15rem;border:1px solid #cbdce1;border-radius:.7rem;background:#fff}.booking-search-row .traveler-picker__toggle{min-height:3.15rem}.booking-search-row .traveler-popover{top:calc(100% + .5rem);right:0}.booking-form__subtitle{margin-top:1.5rem}
.booking-search-row .traveler-picker.is-open{grid-column:1/-1;display:block;align-self:stretch}.booking-search-row .traveler-picker.is-open .traveler-popover{position:static;width:100%;max-width:none;border:0;border-top:1px solid #d6e3e7;border-radius:0;box-shadow:none}.booking-search-row .traveler-picker.is-open .traveler-done{float:none;display:block;margin-left:auto}
@media(max-width:767px){.booking-form{grid-template-columns:1fr}.booking-search-row{grid-template-columns:1fr}.booking-search-row .booking-date-range{grid-template-columns:1fr 1fr}.booking-search-row .booking-destination{grid-column:auto}.booking-form__subtitle,.booking-form .field-wide{grid-column:1}}
