:root{--black:#000}
.wordmark img{display:block;height:auto;max-width:190px;width:100%}
.wordmark small,.gallery-progress b,.nav-cta,.button span,.form-button span{color:var(--gold)!important}.booking-form label{display:block;padding:.7em 0}.booking-form input:not([type="checkbox"]),.booking-form select{margin-top:3px!important}.booking-form input[type="checkbox"]{margin-top:0!important}
.booking-form input:not([type="checkbox"]),.booking-form select{padding-top:5px!important}
.picker-icon{font-size:1.5em}
.hotel-search-selection{position:relative}.hotel-search-selection input[type="search"]{margin-top:3px!important;padding-right:12px!important}.hotel-search-results{background:var(--white);border:1px solid var(--line);box-shadow:0 8px 20px rgba(6,45,52,.14);left:0;max-height:260px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 2px);z-index:6}.hotel-search-results[hidden]{display:none}.hotel-search-option{background:var(--white);border:0;color:var(--ink);cursor:pointer;display:block;font:inherit;font-size:13px;padding:11px 14px;text-align:left;width:100%}.hotel-search-option:hover,.hotel-search-option.is-active{background:#e8efe8}.hotel-search-option[aria-selected="true"]{font-weight:700}.hotel-search-native{clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;width:1px!important}
.booking-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23083b43' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right .25em center!important;background-repeat:no-repeat!important;background-size:1.5em!important;padding-right:2.25em!important}
.extras,.extras-options{border:0!important}
.extras{margin-top:1em!important;padding-left:0!important}.form-step>.next-step{margin-left:auto!important}.step-actions{justify-content:flex-end!important}
.special-request{display:flex!important;flex-direction:column!important;gap:8px!important}.special-request>span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.terms{align-items:center!important;border:0!important;display:grid!important;gap:0!important;grid-template-columns:30px auto!important;margin-top:22px!important;padding:6px 0!important}.terms input[type="checkbox"]{margin:0!important;margin-top:0!important}.terms span{font-size:12px;grid-column:2}.booking-total strong{font-size:48px!important}
.form-step>.next-step{display:flex!important;margin-left:auto!important;margin-right:0!important;width:max-content!important}.step-actions{display:flex!important;justify-content:flex-end!important;width:100%!important}
.booking-column{min-width:0}.booking-column>.form-status{margin:18px 0 0}.booking-column>.promo-row{margin-top:22px}.booking-column>.booking-total{margin-top:22px}.extras{display:block}.extras-options{align-items:stretch}.extras-options label{box-sizing:border-box;display:flex!important;margin:0;white-space:normal}
.passenger-fields{display:grid;gap:18px;grid-template-columns:1fr 1fr}.extras-options label{border:0!important;display:grid!important;gap:0;grid-template-columns:30px auto;min-height:0!important;padding:6px 0!important}.extras-options input[type="checkbox"]{margin:0!important;margin-top:0!important}.extras-options label span{grid-column:2}
.booking-form{grid-template-columns:1fr!important}.promo-row{align-items:center!important;border-top:1px solid var(--line)!important;display:flex!important;gap:16px!important;margin-top:22px!important;padding:18px 0 0!important}.promo-row label{font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}.promo-row>div{display:flex!important}.promo-row input{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important;padding:11px 0!important;width:150px!important}.promo-row input:focus{border-color:var(--aqua)!important;outline:0!important}.promo-row button{background:var(--gold)!important;border:0!important;color:var(--ink)!important;cursor:pointer!important;font-size:11px!important;font-weight:700!important;padding:11px 14px!important;text-transform:uppercase!important}.promo-row small{color:var(--aqua)!important;font-size:11px!important}
.booking-form .form-fields{grid-template-columns:1fr!important}.extras-options{display:flex!important;flex-direction:column!important;gap:10px!important}.extras-options label{align-items:center!important;background:transparent!important;border:0!important;display:grid!important;gap:0!important;grid-template-columns:30px auto!important;min-height:0!important;padding:6px 0!important;width:100%!important}.extras-options input[type="checkbox"]{margin:0!important;margin-top:0!important}.extras-options label span{display:block;flex:1;grid-column:2}.form-button{align-items:center!important;background:var(--ink)!important;border:1px solid var(--ink)!important;color:var(--white)!important;cursor:pointer;display:inline-flex!important;font-size:11px;font-weight:700;gap:12px;justify-content:center;letter-spacing:.1em;margin-top:30px;padding:14px 18px;text-transform:uppercase}.form-button:hover{background:var(--aqua)!important;border-color:var(--aqua)!important}.form-button.secondary{background:transparent!important;color:var(--ink)!important}.form-button.secondary:hover{background:var(--ink)!important;color:var(--white)!important}.booking-total{align-items:center;border-top:1px solid var(--ink);display:flex;justify-content:space-between;margin-top:22px;padding-top:22px}.promo-row{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
:root{--ink:#083b43;--deep:#062d34;--aqua:#0aa9bd;--gold:#f4b83f;--cream:#f6f2e9;--white:#fffdfa;--line:rgba(8,59,67,.2);--sans:"DM Sans",sans-serif;--serif:"Playfair Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{background:var(--deep);color:rgba(255,255,255,.76);font-size:11px;letter-spacing:.03em}.topbar-inner{display:flex;gap:24px;justify-content:flex-end;margin:auto;max-width:1400px;padding:9px 5vw}.topbar a{color:#fff}.site-header{color:#fff;min-height:790px;position:relative}.header-gallery,.gallery-slide,.gallery-slide img{height:100%;inset:0;position:absolute;width:100%}.gallery-slide{margin:0;opacity:0;transition:opacity 1s ease}.gallery-slide.is-active{opacity:1}.gallery-slide img{object-fit:cover}.gallery-shade{background:linear-gradient(90deg,rgba(4,37,43,.85),rgba(4,37,43,.14) 68%),linear-gradient(0deg,rgba(4,37,43,.58),transparent 44%);inset:0;position:absolute}.gallery-slide figcaption{bottom:25px;font-size:11px;left:5vw;letter-spacing:.12em;position:absolute;text-transform:uppercase}.main-nav{align-items:center;display:flex;justify-content:space-between;left:5vw;padding-top:30px;position:absolute;right:5vw;top:0;z-index:2}.wordmark{display:flex;flex-direction:column;font-weight:700;letter-spacing:.14em}.wordmark span{font-size:27px;line-height:1}.wordmark small{color:var(--gold);font-size:8px;letter-spacing:.23em;margin-top:6px}.nav-links{align-items:center;display:flex;font-size:11px;font-weight:700;gap:26px;letter-spacing:.12em;text-transform:uppercase}.nav-cta{border:1px solid var(--gold);color:var(--gold);padding:12px 16px}.nav-cta span,.button span{margin-left:12px}.menu-toggle{display:none}.hero-copy{bottom:115px;left:10vw;max-width:650px;position:absolute;z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;margin:0 0 20px;text-transform:uppercase}.hero-copy h1,.section-intro h2,.section-heading h2,.rates-heading h2,.about-copy h2,.contact-section h2{font-family:var(--serif);font-size:clamp(3.5rem,6.5vw,6.8rem);font-weight:600;line-height:.96;margin:0;letter-spacing:0}.hero-copy h1 em,.section-intro h2 em,.section-heading h2 em,.rates-heading h2 em,.about-copy h2 em,.contact-section h2 em{color:var(--gold);font-style:italic}.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;margin:28px 0 32px;max-width:490px}.button{border:0;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;padding:16px 20px;text-transform:uppercase}.button-light{background:var(--gold);color:var(--deep)}.button-dark{background:var(--ink);color:#fff}.gallery-controls{align-items:center;bottom:26px;display:flex;gap:16px;position:absolute;right:5vw;z-index:1}.gallery-button{background:transparent;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;cursor:pointer;height:38px;width:38px}.gallery-progress{font-size:11px;letter-spacing:.1em}.gallery-progress b{color:var(--gold)}section{padding:110px 10vw}.reserve-section{display:grid;gap:10vw;grid-template-columns:1fr 1.1fr}.section-intro>p:last-child,.section-heading>p,.rates-heading>p:last-child,.about-copy>p{color:rgba(8,59,67,.74);line-height:1.7;max-width:440px}.section-intro h2,.section-heading h2,.rates-heading h2,.about-copy h2,.contact-section h2{font-size:clamp(3rem,5vw,5.7rem)}.booking-form{align-self:end;border-top:1px solid var(--line);display:grid;gap:28px 20px;grid-template-columns:1fr 1fr;padding-top:26px}.booking-form label{color:rgba(8,59,67,.7);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.booking-form input,.booking-form select{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);display:block;margin-top:12px;outline:0;padding:8px 0;width:100%}.booking-form .button{align-self:end;cursor:pointer}.form-status{font-size:12px;margin:0}.services-section{background:var(--white)}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:70px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-grid article{border-left:1px solid var(--line);padding:0 5vw 0 28px}.service-grid article:first-child{border-left:0;padding-left:0}.service-number{color:var(--aqua);font-size:12px;font-weight:700}.service-grid h3{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.4rem);font-weight:600;line-height:.98;margin:34px 0 22px}.service-grid p{color:rgba(8,59,67,.72);line-height:1.6;max-width:280px}.service-grid a,.text-link{border-bottom:1px solid var(--gold);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;margin-top:18px;padding-bottom:5px;text-transform:uppercase}.vehicles-section{background:var(--deep);color:#fff}.light-heading>p{color:rgba(255,255,255,.7)}.vehicle-grid{display:grid;gap:18px;grid-template-columns:1.4fr 1fr 1fr}.vehicle-card{background-position:center;background-size:cover;min-height:420px;overflow:hidden;padding:30px;position:relative}.vehicle-card:before{background:linear-gradient(0deg,rgba(3,24,29,.85),transparent 65%);content:"";inset:0;position:absolute}.vehicle-card>div{bottom:28px;left:30px;position:absolute;z-index:1}.vehicle-card span{font-size:10px;letter-spacing:.15em}.vehicle-card h3{font-family:var(--serif);font-size:2.7rem;margin:12px 0 8px}.vehicle-card p{font-size:13px;margin:0}.vehicle-suv{background-image:url('https://legacytransportationloscabos.com/images/suvs_2020_09_03.jpeg')}.vehicle-van{background-image:url('https://legacytransportationloscabos.com/images/IMG-20191104-WA0007_2019_11_13.jpg')}.vehicle-sprinter{background-image:url('https://legacytransportationloscabos.com/images/airport-transportation_2020_02_11.jpeg')}.rates-section{display:grid;gap:10vw;grid-template-columns:.8fr 1.2fr}.rate-list>div{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:85px 1fr 125px;padding:19px 0}.rate-list span{color:var(--aqua);font-size:11px;font-weight:700;letter-spacing:.1em}.rate-list strong{font-size:16px}.rate-list b{font-family:var(--serif);font-size:29px;text-align:right}.rate-list small{font-family:var(--sans);font-size:10px}.about-section{background:#e4efe9;display:grid;grid-template-columns:1.1fr 1fr;padding-left:0;padding-right:0}.about-image{background:url('https://legacytransportationloscabos.com/images/clients_2020_09_28.jpeg') center/cover;min-height:560px}.about-copy{align-self:center;padding:70px 10vw}.contact-section{background:var(--aqua);color:#fff;display:flex;justify-content:space-between}.contact-section>div:first-child{max-width:600px}.contact-section>div>p:last-child{line-height:1.7;max-width:370px}.contact-details{align-items:flex-start;display:flex;flex-direction:column;gap:20px;justify-content:center}.contact-details>a:not(.button){font-family:var(--serif);font-size:20px}.contact-section h2 em{color:#fff}footer{align-items:center;background:var(--deep);color:#fff;display:flex;gap:8vw;justify-content:space-between;padding:42px 10vw}footer p,footer a{color:rgba(255,255,255,.66);font-size:11px;line-height:1.6}.floating-whatsapp{background:#25a968;bottom:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;padding:14px 18px;position:fixed;right:20px;text-transform:uppercase;z-index:4}@media(max-width:800px){.topbar-inner{flex-wrap:wrap;gap:6px 13px;justify-content:center}.site-header{min-height:720px}.main-nav{padding-top:20px}.nav-links{background:var(--deep);display:none;flex-direction:column;gap:22px;left:-5vw;padding:28px 5vw;position:absolute;right:-5vw;top:74px}.nav-links.is-open{display:flex;align-items:flex-start}.menu-toggle{background:none;border:1px solid rgba(255,255,255,.6);color:#fff;display:block;font-size:11px;letter-spacing:.12em;padding:10px 12px;text-transform:uppercase}.menu-toggle span{color:var(--gold);font-size:16px;margin-left:8px}.hero-copy{bottom:100px;left:8vw;right:8vw}.hero-copy h1{font-size:clamp(3rem,15vw,5rem)}section{padding:80px 8vw}.reserve-section,.rates-section{display:block}.booking-form{margin-top:55px}.section-heading{align-items:start;display:block;margin-bottom:45px}.section-heading>p{margin-top:30px}.service-grid,.vehicle-grid{display:block}.service-grid article{border-left:0;border-top:1px solid var(--line);padding:30px 0}.service-grid article:first-child{border-top:0;padding-top:0}.vehicle-card{margin-bottom:16px;min-height:330px}.rate-list{margin-top:55px}.rate-list>div{gap:10px;grid-template-columns:62px 1fr 98px}.rate-list strong{font-size:14px}.rate-list b{font-size:22px}.about-section{display:block;padding:0}.about-image{min-height:380px}.about-copy{padding:70px 8vw}.contact-section{display:block}.contact-details{margin-top:45px}.contact-section{padding-bottom:110px}footer{align-items:flex-start;display:flex;flex-direction:column;gap:24px;padding:36px 8vw}.gallery-controls{right:8vw}}