@font-face{font-family:Cal Sans;src:url('/assets/cal-sans.woff2') format('woff2');font-display:swap;font-weight:400 700}
:root{--navy:#063d4b;--deep:#032f3a;--sea:#b8efea;--coral:#ff8a71;--white:#fff;--paper:#f3f8f7;--ink:#123e48;--body:18px;--space:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Cal Sans',Arial,sans-serif;font-size:var(--body);line-height:1.5;text-align:center}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:5px}.skip{position:absolute;top:-100px;left:12px;background:var(--white);color:var(--navy);padding:12px;z-index:20}.skip:focus{top:12px}
header{background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:23px var(--space);gap:24px}.brand{display:flex;gap:8px;align-items:center;text-decoration:none;font-size:19px;line-height:1.03;text-align:center}.brand svg{width:38px;height:38px;color:var(--coral)}nav{display:flex;gap:32px}nav a,.header-call{text-decoration:none;font-size:16px}nav a:hover,.header-call:hover{color:var(--sea)}.header-call{font-size:19px}
.hero{background:var(--navy);color:var(--white)}.hero-copy{padding:40px 24px 35px}h1{font-size:clamp(64px,10.8vw,160px);line-height:.94}.hero-lead{font-size:22px;line-height:1.35;margin:26px auto 8px}.spanish{font-size:16px;color:var(--sea);margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;padding:17px 27px;min-height:56px;border:0;cursor:pointer;border-radius:0;transition:transform .2s,background-color .2s;font-size:18px}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px)}.coral{background:var(--coral);color:var(--deep)}.coral:hover{background:#ffa38d}.navy{background:var(--navy);color:var(--white)}.white{background:var(--white);color:var(--navy)}.hero-phone{display:block;margin-top:16px;font-size:17px}.hero-photo{width:100%;height:clamp(350px,42vw,660px);overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:coast-drift 18s ease-in-out infinite alternate}.section{padding:100px var(--space)}h2{font-size:clamp(42px,5.2vw,76px)}.intro{background:var(--sea)}.intro-copy{font-size:clamp(23px,2.4vw,32px);line-height:1.3;margin:28px auto 24px;max-width:880px}.intro>p:not(.intro-copy){max-width:760px;margin-left:auto;margin-right:auto}.journey{display:flex;align-items:center;justify-content:center;gap:24px;margin:48px auto 25px;font-size:23px}.journey-line{font-size:32px}.fine-print{font-size:16px}.text-link{display:inline-block;margin-top:18px;font-size:16px}.routes{background:var(--paper)}.section-heading>p{margin:24px auto 45px}.route-list{max-width:1050px;margin:auto;display:grid;gap:8px}.route-row{display:flex;align-items:center;justify-content:space-between;padding:25px 30px;background:var(--white);gap:20px}.route-row:nth-child(even){background:#e3f0ef}.route-row h3{font-size:30px}.route-row p{font-size:16px;margin-top:7px}.route-actions{display:flex;gap:24px}.route-actions a{font-size:16px;text-decoration:none;padding:12px 0}.route-actions a:hover{text-decoration:underline}.route-actions span{margin-left:8px}.pickup{background:var(--coral)}.pickup-heading p{margin:22px auto 35px}.pickup form{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:760px;margin:auto;background:var(--white);padding:40px;text-align:left}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field label{font-size:16px}.field input,.field select,.field textarea{width:100%;min-height:54px;padding:14px;background:var(--paper);border:2px solid #d6e6e6;color:var(--ink);border-radius:0;min-width:0;font-size:17px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#526c70;opacity:1}.full{grid-column:1/-1}.trip-summary{text-align:center;background:var(--sea);padding:15px;font-size:17px}.form-note{text-align:center;font-size:15px;line-height:1.6}.travel-notes{background:var(--sea)}.faq{max-width:900px;margin:40px auto 0;display:grid;gap:10px}details{background:var(--paper);padding:25px 30px}summary{cursor:pointer;font-size:21px;list-style-position:inside;line-height:1.3}details p{margin:20px auto 0;max-width:700px;font-size:18px;line-height:1.65}footer{background:var(--deep);color:var(--white);padding:70px var(--space) 40px}.footer-phone{font-size:clamp(34px,5vw,70px);letter-spacing:-.025em;display:inline-block;margin:15px auto 35px;text-decoration:none}.footer-name{font-size:clamp(38px,8.2vw,118px);line-height:1.05;letter-spacing:-.04em}.footer-small{display:flex;justify-content:center;gap:40px;margin:35px auto 0;font-size:16px}.art-credit{font-size:13px;margin:30px auto 0;color:#b1d2d3}.floating{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:7px;z-index:10}.floating a{min-height:44px;padding:11px 18px;text-decoration:none;font-size:15px;transition:transform .2s}.floating a:hover{transform:translateX(-4px)}.float-call{background:var(--navy);color:var(--white)}.float-wa{background:#caefb7;color:var(--deep)}.route-hero{background:var(--navy);color:var(--white);padding-top:45px}.breadcrumb{font-size:16px;margin-bottom:30px}.route-hero h1{font-size:clamp(38px,5.3vw,78px);line-height:1.05;max-width:1080px;margin:auto}.route-es{font-size:20px;color:var(--sea);margin:25px auto}.route-hero>p:not(.breadcrumb){max-width:770px;margin:25px auto}.route-hero .button{margin:8px}.route-photo{height:420px;overflow:hidden}.route-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.route-detail{max-width:1000px;margin:auto}.route-detail h2{font-size:clamp(34px,4vw,52px);margin-bottom:25px}.route-detail h2:not(:first-child){margin-top:60px}.route-detail p{margin:20px auto;line-height:1.7}.route-detail>.text-link{display:block;margin-top:24px}.route-detail .button{margin-top:25px}
@keyframes coast-drift{to{transform:scale(1.035)}}@keyframes rise{from{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal.show{animation:rise .7s both}.reveal.show:nth-child(2){animation-delay:.08s}.reveal.show:nth-child(3){animation-delay:.12s}
@media(min-width:1700px){.hero-copy{padding-top:65px}}
@media(max-width:850px){header{padding:20px 24px}nav{gap:18px}.header-call{display:none}.hero-copy{padding-top:28px}.hero-lead{font-size:21px}.section{padding:76px 24px}.journey{gap:15px;font-size:20px}.route-row{padding:22px;gap:15px}.route-row h3{font-size:27px}.route-actions{gap:15px}.route-actions a{font-size:15px}.footer-small{gap:22px}.pickup form{padding:30px}.route-hero h1{max-width:690px}}
@media(max-width:580px){header{padding:18px 18px;gap:12px;align-items:center}.brand{font-size:16px}.brand svg{width:32px;height:32px}nav{gap:14px}nav a{font-size:14px}nav a:nth-child(2){display:none}.hero-copy{padding:26px 18px 30px}h1{font-size:clamp(60px,16vw,90px)}.hero-lead{font-size:20px;margin-top:22px}.spanish{font-size:14px;max-width:330px;line-height:1.5}.hero-photo{height:320px}.hero-photo img{object-position:56% 58%}.section{padding:64px 20px}h2{font-size:44px}.intro-copy{font-size:23px}.intro p{font-size:17px}.intro .intro-copy{font-size:23px}.journey{gap:8px;font-size:16px;line-height:1.2;margin:35px auto 25px}.journey-line{font-size:20px}.journey>span:not(.journey-line){max-width:90px}.intro .fine-print{font-size:14px}.text-link{font-size:15px}.section-heading>p{font-size:17px;margin-bottom:30px}.route-row{display:block;padding:23px 15px}.route-row h3{font-size:28px}.route-row p{font-size:15px}.route-actions{justify-content:center;gap:24px;margin-top:10px}.route-actions a{font-size:15px}.pickup form{padding:22px 17px;gap:18px 12px}.field label{font-size:14px}.field input,.field select,.field textarea{font-size:16px;padding:10px}.trip-summary{font-size:15px}.form-note{font-size:14px}.pickup-heading p{font-size:17px}.pickup button{font-size:17px;padding:17px 12px;gap:13px}details{padding:23px 18px}summary{font-size:19px}details p{font-size:17px}.footer-small{flex-direction:column;gap:12px}footer{padding-bottom:140px}.floating{bottom:12px;right:12px}.floating a{font-size:14px;padding:10px 14px}.route-hero h1{font-size:36px;max-width:390px}.route-hero .button{width:100%;margin:8px 0}.route-hero .route-es{font-size:18px}.route-photo{height:300px}.route-detail h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
