.hero-visual{margin:0;display:block;background:var(--pale);min-height:0;border-radius:55px 0 0 8px;align-self:center;overflow:hidden}.hero-visual img{display:block;width:100%;height:auto;object-fit:contain}.photo-caption{position:static;display:block;background:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:clamp(21px,2vw,32px);font-weight:500;letter-spacing:-.02em;line-height:1.25;padding:22px 30px}.hero{min-height:570px}.values{margin:0 7%;padding:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-block:1px solid #bcdde7;background:linear-gradient(110deg,#e0f6fc,#fff 65%,#edf8fc)}.values>div{border-left:3px solid var(--cyan);padding-left:20px}.values h3{font-size:20px;letter-spacing:-.025em}.values p{font-size:15px;color:var(--muted);margin:12px 0 0}.section-heading h2{font-size:40px}.section-heading .section-subtitle{font-size:22px;max-width:none!important;margin:15px 0 0;color:var(--muted)}.service-grid{border:0;gap:25px}.service-card{padding:0;border:1px solid var(--line);display:flex;overflow:hidden;border-radius:5px}.service-card+.service-card{border-left:1px solid var(--line)}.service-card>img{width:100%;aspect-ratio:1.7;object-fit:cover;transition:transform .45s}.service-card:hover>img{transform:scale(1.025)}.service-card>div{padding:27px;display:flex;flex:1;flex-direction:column}.service-card h3{font-size:27px}.breadcrumb{display:flex;gap:15px;align-items:center;margin:30px 7%;font-size:14px;color:var(--muted)}.breadcrumb a{color:var(--blue)}.detail-hero{padding:25px 0 60px 7%;display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center}.detail-hero h1{font-size:clamp(35px,3.5vw,56px)}.detail-hero>img{width:100%;height:auto;border-radius:50px 0 0 5px}.detail-hero .intro{font-size:18px}.terminal-strip{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:45px 7%;align-items:center}.terminal-strip img{width:100%;border-radius:4px}.terminal-strip h2{font-size:35px}.terminal-strip p{color:var(--muted)}.page-return{padding:35px 7% 55px}.vehicle-page{padding:20px 7% 40px}.vehicle-intro{text-align:center;max-width:850px;margin:0 auto 35px}.vehicle-intro h1{font-size:clamp(36px,4vw,58px)}.vehicle-intro .intro{max-width:680px;margin:25px auto}.gallery{max-width:1100px;margin:auto}.gallery-stage{position:relative;height:560px;background:linear-gradient(135deg,#eaf2f6,#f7fbfd);border-radius:10px;overflow:hidden}.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.2s ease}.slide.active{opacity:1}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:18px}.gallery-controls button{border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:8px 16px;min-height:44px}.gallery-controls button:hover{background:var(--pale)}.slide-count{font-size:14px;min-width:40px;text-align:center}.gallery-thumbs{display:flex;gap:16px;justify-content:center}.gallery-thumbs button{border:2px solid transparent;background:#f0f5f8;padding:5px;border-radius:5px;color:var(--ink);width:135px}.gallery-thumbs button[aria-pressed=true]{border-color:var(--blue)}.gallery-thumbs img{width:100%;height:65px;object-fit:contain;display:block}.gallery-thumbs span{font-size:14px}.vehicle-cta{text-align:center;margin:10px 0 60px}.driver-page{min-height:470px;padding-top:45px}.driver-page h1{font-size:clamp(36px,4vw,58px)}.driver-page .signature{color:var(--ink);margin:28px 0}nav a[aria-current=page]:not(.button){color:var(--blue)}
@media(max-width:1000px){nav{gap:13px}.brand>span{font-size:17px}.hero{min-height:500px}.values{margin-inline:5%;gap:18px;padding:25px 18px}.values h3{font-size:18px}.service-card>div{padding:20px}.service-card h3{font-size:24px}.detail-hero{padding-left:5%}.gallery-stage{height:480px}}
@media(max-width:760px){.hero{min-height:0}.hero-visual{border-radius:35px 5px 5px 5px;aspect-ratio:auto;margin-bottom:25px}.photo-caption{font-size:25px;padding:20px}.photo-caption br{display:none}.photo-caption br:after{content:' '}.values{grid-template-columns:1fr;padding:26px;margin:0 6%;gap:25px}.values h3{font-size:21px}.values p{font-size:16px}.section-heading h2{font-size:35px}.section-heading .section-subtitle{font-size:20px}.service-grid{gap:22px}.service-card{display:flex}.service-card+.service-card{border:1px solid var(--line)}.service-card h3{font-size:27px}.service-card p{margin:13px 0 23px}.service-card>div{padding:24px}.detail-hero{grid-template-columns:1fr;padding:15px 6% 40px;gap:30px}.detail-hero>img{border-radius:25px 4px 4px 4px}.breadcrumb{margin:25px 6%;font-size:14px;flex-wrap:wrap}.detail-hero h1{font-size:38px}.terminal-strip{grid-template-columns:1fr;padding:35px 6%;gap:25px}.terminal-strip h2{font-size:31px}.vehicle-page{padding:15px 6% 30px}.gallery-stage{height:420px}.gallery-thumbs{gap:8px}.gallery-thumbs button{width:30%}.gallery-controls{gap:10px;padding-inline:0}.gallery-controls button{padding:8px 13px}.driver-page{padding-top:15px}.driver-page h1{font-size:38px}.page-return{padding-inline:6%}.vehicle-intro{text-align:left}.vehicle-intro h1{font-size:38px}.vehicle-intro .intro{font-size:17px}}
@media(prefers-reduced-motion:reduce){.slide{transition:none}.service-card>img{transition:none}}
.welcome{position:fixed;inset:0;z-index:100;background:#fff;display:flex;align-items:center;justify-content:center;gap:22px;color:var(--ink);transition:opacity .75s ease,visibility .75s ease}.welcome img{width:min(210px,34vw);height:auto}.welcome>span{font-size:clamp(30px,6vw,70px);letter-spacing:-.06em}.welcome>span span{color:var(--blue)}.welcome.leave{opacity:0;visibility:hidden}.card-action{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:6px;margin-top:15px}.service-card .card-link{margin-top:auto}.service-card>div{min-height:230px}.driver-page{grid-template-columns:1fr 1fr;align-items:center}.driver-copy{max-width:560px}.driver-copy p:not(.eyebrow){color:var(--muted)}.driver-photo{margin:0;overflow:hidden;border-radius:46px 4px 4px 4px;background:var(--pale)}.driver-photo img{display:block;width:100%;height:auto}.enquiry-dialog{width:min(650px,calc(100vw - 34px));border:0;border-radius:14px;padding:36px;background:#fff;box-shadow:0 24px 70px #102d4050;color:var(--ink)}.enquiry-dialog::backdrop{background:#0d263aa8}.enquiry-dialog h2{font-size:32px;margin-bottom:8px}.dialog-copy{margin:0 0 24px;color:var(--muted);font-size:15px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:29px;color:var(--muted)}.enquiry-dialog form{display:grid;gap:14px}.enquiry-dialog label{display:grid;gap:5px;font-size:14px;font-weight:600}.enquiry-dialog input,.enquiry-dialog textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:11px 12px;color:var(--ink);font:inherit;background:#fff}.enquiry-dialog input:focus,.enquiry-dialog textarea:focus{outline:2px solid var(--cyan);border-color:var(--cyan)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-send{border:0;margin-top:8px}.enquiry-dialog .eyebrow{margin-bottom:6px}
@media(max-width:760px){.welcome{gap:10px}.welcome img{width:100px}.welcome>span{font-size:34px}.service-card>div{min-height:0}.driver-page{grid-template-columns:1fr}.driver-copy{max-width:none}.driver-photo{border-radius:30px 4px 4px 4px}.enquiry-dialog{padding:30px 20px}.enquiry-dialog h2{font-size:27px}.form-row{grid-template-columns:1fr}.dialog-close{right:10px;top:6px}}
.service-photo{display:block;overflow:hidden}.service-photo img{display:block;width:100%;aspect-ratio:1.7;object-fit:cover;transition:transform .45s}.service-photo:hover img{transform:scale(1.025)}

.disposition{margin:0 7% 24px;padding:36px;background:var(--pale);border-left:3px solid var(--cyan)}.disposition h2{font-size:32px}.disposition p{max-width:750px;font-size:18px;color:var(--muted);margin:18px 0 26px}.enquiry-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.enquiry-fields{display:grid;gap:14px}.enquiry-fields [hidden]{display:none}.enquiry-dialog select{width:100%;min-width:0;border:1px solid var(--line);border-radius:4px;padding:11px 12px;font:inherit;color:var(--ink);background:#fff}.enquiry-dialog input,.enquiry-dialog textarea,.enquiry-dialog select{font-size:16px}.dialog-close{min-width:44px;min-height:44px}.enquiry-dialog h2{padding-right:18px}@media(max-width:760px){.disposition{margin-inline:6%;padding:24px}.disposition h2{font-size:28px}}

.detail-hero .eyebrow,.driver-copy>.eyebrow{font-size:clamp(22px,2.4vw,32px);line-height:1.25;letter-spacing:.02em;margin-bottom:24px}.terminal-image{margin:0 7% 35px}.terminal-image img{width:100%;height:auto;display:block;border-radius:8px}.form-note,.form-terms{font-size:14px;line-height:1.6;color:var(--muted)}.form-terms{background:var(--pale);padding:16px;border-left:3px solid var(--cyan)}.form-back,.event-choice,.add-stop,.remove-stop{font:inherit;cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);padding:10px 14px}.event-choices{display:grid;gap:12px}.event-choice{text-align:left;padding:18px}.event-choice:hover{background:var(--pale)}.stop-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.route-stops{display:grid;gap:12px}.gallery-stage{touch-action:pan-y}.slide{transform:translateX(5%) scale(1);transition:opacity 1s ease,transform 1.3s ease}.slide.active{transform:translateX(0);animation:gentle-zoom 5.5s linear forwards}.gallery-stage.paused .slide{animation-play-state:paused}@keyframes gentle-zoom{from{transform:translateX(0) scale(1)}to{transform:translateX(0) scale(1.035)}}@media(prefers-reduced-motion:reduce){.slide,.slide.active{animation:none;transition:none;transform:none}}@media(max-width:760px){.terminal-image{margin-inline:6%}.detail-hero .eyebrow,.driver-copy>.eyebrow{font-size:24px}.stop-row{grid-template-columns:1fr}.gallery-controls{flex-wrap:wrap}}
.enquiry-dialog [hidden]{display:none!important}


/* Tanda de servicios: mantener identidad y reservar las fotografías pendientes. */
.photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;background:var(--pale);color:var(--muted);text-align:center;overflow:hidden;border:1px solid var(--line)}
.photo-placeholder span{padding:24px;font-size:14px;font-weight:600;letter-spacing:.04em;line-height:1.5}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card .service-photo{width:100%;padding:0;flex:none;min-height:0;display:block}
.service-photo .photo-placeholder{aspect-ratio:1.7}
.detail-placeholder{border-radius:50px 0 0 5px}
.terminal-image{overflow:hidden;border-radius:8px;aspect-ratio:1672 / 825}
.terminal-image img{border-radius:0}
.service-strip{margin:0 7% 35px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:8px;overflow:hidden;background:var(--line)}
.service-strip figure{margin:0;min-width:0;background:var(--pale)}
.service-strip img,.service-strip .photo-placeholder{display:block;width:100%;aspect-ratio:1.7;object-fit:cover}
.service-strip .photo-placeholder{display:flex}
.service-strip figcaption{background:var(--ink);color:white;text-align:center;padding:12px 8px;font-size:16px}
.booking-option{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.booking-option>div{min-width:0}
.booking-option .photo-placeholder{aspect-ratio:1.7;background:#fff;border-radius:4px}
.booking-option .button{border:0;text-align:center}
@media(max-width:760px){
 .service-grid{grid-template-columns:1fr}
 .detail-placeholder{border-radius:25px 4px 4px 4px}
 .service-strip{margin-inline:6%;gap:3px}
 .service-strip .photo-placeholder span{padding:8px 4px;font-size:11px;letter-spacing:0}
 .service-strip figcaption{font-size:13px;padding:9px 3px}
 .booking-option{grid-template-columns:1fr;gap:24px}
 .photo-placeholder span{padding:20px}
}

/* Modalidades de contratación, franja completa y selector con banderas. */
.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 7% 24px}
.booking-options .booking-option{display:flex;margin:0;width:100%;height:100%;padding:36px}
.booking-options .booking-option>div{display:flex;flex-direction:column;width:100%;height:100%}
.booking-options .booking-option .button{margin-top:auto;align-self:flex-start}
.terminal-image.terminal-full-width{margin-inline:0;width:100%;border-radius:0;aspect-ratio:auto}
.language .language-flag{display:block;width:28px;height:19px;object-fit:cover;border:1px solid var(--line);border-radius:2px}
@media(max-width:760px){.booking-options{grid-template-columns:1fr;margin-inline:6%}.booking-options .booking-option{padding:24px}}

.event-group{min-width:0;margin:8px 0 0;padding:18px;border:1px solid var(--line);border-radius:5px;display:grid;gap:14px}
.event-group>legend{font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:600;padding:0 6px}
.event-point{min-width:0;display:grid;gap:12px;margin:0;padding:14px;border:1px solid var(--line);border-radius:4px}
.event-point legend{font-size:15px;font-weight:600;padding:0 5px}
.event-stops,.event-stops>div{display:grid;gap:12px}
.event-stop-heading{font-size:14px;color:var(--muted);margin:0}
.event-group .form-note{margin:0}
@media(max-width:760px){.event-group{padding:12px}.event-point{padding:10px}}

/* Ajustes finales de formularios y primera vidriera de City Tours. */
.baggage-section,.baggage-counts{display:grid;gap:14px;min-width:0}
.event-mode-guide{display:grid;gap:12px;font-size:14px;color:var(--muted)}
.event-mode-guide>div{padding:12px 14px;background:var(--pale);border-left:2px solid var(--cyan)}
.event-mode-guide strong{color:var(--ink)}
.event-mode-guide p{margin:5px 0 0;line-height:1.5}
.event-stops{padding:14px;background:var(--pale);border-radius:4px}
.event-stop-heading{font-weight:700;color:var(--ink)}
.date-hint{white-space:pre-line;font-size:14px;font-weight:500;color:var(--blue);line-height:1.6;margin:6px 0 0}
.form-warning,.clear-confirmation{padding:16px;background:var(--pale);border:1px solid var(--line);border-radius:5px;font-size:14px}
.form-warning p,.clear-confirmation p{margin:0 0 12px}
.form-warning button{white-space:normal;text-align:left}
.enquiry-dialog [aria-invalid=true]{border:2px solid #b33232;background:#fff8f8;scroll-margin:24px}
.field-error{color:#9f2525;font-size:13px;font-weight:500;line-height:1.4}
.clear-form-area{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}
.form-clear{border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;min-height:44px;cursor:pointer}
.form-actions{display:flex;flex-wrap:wrap;gap:12px}
.tour-hero-photo{aspect-ratio:1.7;border-radius:50px 0 0 5px;padding:24px;font-size:14px;letter-spacing:.04em}
.tour-destinations,.tour-next{margin:0 7% 45px}
.tour-destinations>h2,.tour-next h2{font-size:clamp(28px,3vw,40px)}
.tour-destinations>.intro{max-width:760px}
.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.tour-grid figure{margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.tour-grid .photo-placeholder{aspect-ratio:1.7;border:0;padding:22px;font-size:14px}
.tour-grid figcaption{padding:18px;background:var(--ink);color:white;font-size:14px}
.tour-next{padding:32px;background:var(--pale);border-left:3px solid var(--cyan)}
.tour-next button:disabled{opacity:.65;cursor:default}
.tour-next p{font-size:14px;color:var(--muted);margin-bottom:0}
@media(max-width:1000px){.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tour-grid{grid-template-columns:1fr;gap:20px}.tour-destinations,.tour-next{margin-inline:6%}.tour-next{padding:24px}.tour-hero-photo{border-radius:25px 4px 4px 4px}.event-stops{padding:10px}}

/* Matching passenger and contact header buttons only. */
header nav .header-action{width:120px;height:60px;min-height:60px;flex-shrink:0;padding:8px 12px;border:0;line-height:1.2;text-align:center;white-space:nowrap}
@media(min-width:761px) and (max-width:820px){header nav .header-action{width:88px;padding-inline:6px}}
