@font-face{font-family:'Cal Sans';src:url('/assets/cal-sans.ttf') format('truetype');font-weight:400;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:#12241b;font-family:'Cal Sans',Arial,sans-serif;font-weight:400;font-size:18px;line-height:1.5;text-align:center}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}p{max-width:650px;margin-inline:auto;text-wrap:pretty}h1{font-size:clamp(64px,8.7vw,126px)}h2{font-size:clamp(36px,4.5vw,64px)}h3{font-size:27px}a{color:inherit;text-underline-offset:5px}a,button,summary,input,select{touch-action:manipulation}button,input,select{font:inherit}img{display:block;width:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f5bd28;outline-offset:5px}.skip{position:absolute;top:-100px;left:10px;background:#fff;color:#12241b;padding:12px;z-index:9}.skip:focus{top:10px}header{padding:22px 4%;background:#ce303c;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{font-size:23px;text-decoration:none;line-height:1.05;letter-spacing:-.025em}nav{display:flex;gap:34px;align-items:center}nav a{text-decoration:none;font-size:17px}.nav-call{padding:12px 20px;background:#fff;color:#ba2334;border-radius:3px}a:hover{text-decoration-thickness:2px}nav a:hover{transform:translateY(-2px)}.hero{background:#ce303c;color:#fff;padding:38px 4% 0;overflow:hidden}.hero h1{max-width:1050px;margin:auto}.spanish{font-size:22px;letter-spacing:0;margin:22px auto 18px;line-height:1.3}.hero p{font-size:20px;max-width:600px}.actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:26px auto 0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:53px;padding:14px 24px;border:0;border-radius:3px;text-decoration:none;cursor:pointer;transition:transform .2s,background-color .2s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px)}.light{background:#fff;color:#14271d}.whatsapp{background:#074b32;color:#fff}.text-link{display:inline-block;padding:14px 18px}.hero-picture{margin:42px auto 0;max-width:1340px}.hero-picture img{height:clamp(300px,47vw,620px);object-position:center 60%}.hero-picture figcaption{color:#fff;padding:10px;font-size:14px;background:#173e32}section{padding:90px 5%}section.hero{padding-bottom:0}.green{background:#087044;color:#fff}.intro{padding-block:90px 100px}.intro p{margin-top:28px;max-width:700px}.intro p[lang]{font-size:17px;max-width:640px}.routes{background:#fff;padding-block:95px}.routes>p{margin:24px auto 40px}.route-list{max-width:1050px;margin:auto}.route-row{display:flex;justify-content:space-between;align-items:center;gap:30px;text-decoration:none;background:#e8f2ec;padding:30px 34px;margin-top:16px;font-size:clamp(23px,2.8vw,36px);line-height:1.18;letter-spacing:-.025em;transition:background .2s,transform .2s}.route-row:hover{background:#d6eadd;transform:translateY(-2px)}.route-row>span:first-child{max-width:860px}.route-row>span:last-child{font-size:34px;color:#087044}.routes .note{font-size:16px;margin:30px auto 0;max-width:700px}.local-photo{padding:0;background:#087044;color:#fff}.local-photo>img{height:330px;object-position:center}.local-title{padding:48px 24px}.local-title p{margin-top:22px}.blue{background:#164ec7;color:#fff}.booking{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:none}.booking h2{font-size:clamp(36px,4.5vw,58px)}.booking-intro p{margin-top:28px;max-width:500px}form{background:#fff;color:#12241b;padding:34px;text-align:left;max-width:550px;width:100%;margin-inline:auto}label{display:block;margin:18px 0 9px;font-size:16px}form>label:first-child{margin-top:0}select,input{display:block;width:100%;background:#edf2ef;border:0;border-radius:2px;color:#12241b;min-height:52px;padding:12px;font-size:16px;max-width:100%}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{background:#087044;color:#fff;width:100%;margin-top:26px}.form-note{font-size:14px;line-height:1.45;margin-top:17px;text-align:center}.place-story{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center;background:#f0f5f1}.place-story img{height:600px}.place-story h2{font-size:clamp(36px,4vw,56px)}.story-copy p{margin:28px auto;max-width:470px}.blue-button{background:#164ec7;color:#fff}figcaption{font-size:14px;padding:12px}.faq{display:grid;grid-template-columns:1fr .8fr;gap:75px;align-items:center}.faq-text{max-width:680px;margin:auto}.faq h2{margin-bottom:30px}.faq details{background:#e8f2ec;margin-top:12px;text-align:center;padding:23px}.faq summary{font-size:20px;cursor:pointer}.faq details p{font-size:17px;margin-top:20px}.faq figure img{height:530px}.red{background:#ce303c;color:#fff}.final-cta p{margin-top:28px}footer{background:#063b29;color:#fff;padding:75px 5% 110px}footer h2{font-size:clamp(32px,4vw,60px)}footer p{margin-top:18px}.footer-phone{display:inline-block;font-size:32px;margin:22px 0;text-decoration:none}.footer-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.credits{max-width:800px;margin:32px auto 0;font-size:14px}.credits summary{cursor:pointer}.copyright{font-size:14px}.floating{position:fixed;z-index:4;right:18px;bottom:18px;display:flex;flex-direction:column;gap:7px}.floating a{border:2px solid #fff;color:#fff;border-radius:3px;background:#164ec7;text-decoration:none;padding:11px 16px;font-size:16px;box-shadow:0 4px 18px #0002}.floating a:last-child{background:#075536}.route-hero{background:#ce303c;color:#fff;padding-top:24px;padding-bottom:65px}.breadcrumb{font-size:15px;margin-bottom:40px}.route-hero h1{font-size:clamp(32px,5.5vw,76px);max-width:1050px;margin:auto}.route-hero .spanish{font-size:21px;max-width:800px}.route-image{background:#087044;color:white}.route-image img{height:480px}.route-content{max-width:1050px;margin:auto}.route-content p{margin:28px auto;max-width:760px}.trip-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:45px 0}.trip-facts>div{padding:30px;background:#e8f2ec}.trip-facts p{margin-bottom:0}.route-book>p{margin-top:25px}.reverse{max-width:1150px;margin:auto}.reverse h2{margin-bottom:30px}.reverse .text-link{margin-top:22px}.reveal{opacity:1}body.ready .reveal{animation:rise .65s both;animation-timeline:view();animation-range:entry 0% entry 20%}@keyframes rise{from{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.hero-picture img{animation:slow-picture 18s ease-out both}@keyframes slow-picture{from{object-position:50% 50%}to{object-position:50% 65%}}}.route-hero,.hero h1,.hero .spanish,.hero p,.hero .actions{animation:entrance .7s both}.hero .spanish{animation-delay:.1s}.hero p{animation-delay:.15s}.hero .actions{animation-delay:.2s}@keyframes entrance{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){header{padding:20px 5%;gap:16px}nav{gap:18px}.nav-call{display:none}.brand{font-size:21px}section{padding:65px 6%}.hero{padding:32px 5% 0}.hero h1{font-size:clamp(54px,11vw,82px)}.hero .spanish{font-size:19px}.hero p{font-size:18px}.hero-picture{margin-top:30px}.hero-picture img{height:380px;object-position:62% center}.hero-picture figcaption{font-size:13px}.intro{padding:68px 6%}.route-row{padding:25px 20px;gap:14px;font-size:25px}.route-row>span:first-child{max-width:90%}.booking,.place-story,.faq{grid-template-columns:1fr;gap:38px}.booking{padding-inline:6%}.booking-intro p{max-width:580px}.booking-intro p+p{font-size:17px}.booking form{padding:25px}.place-story img{height:420px}.faq figure img{height:350px}.local-photo>img{height:230px}.local-title{padding:40px 24px}.place-story .story-copy{grid-row:1}.place-story .story-copy h2{font-size:36px}.route-hero{padding:20px 5% 50px}.route-hero h1{font-size:clamp(29px,5.6vw,45px);max-width:650px}.route-hero .spanish{font-size:18px;max-width:650px}.route-image img{height:350px;object-position:62% center}.trip-facts{grid-template-columns:1fr;gap:15px}.route-content h2{font-size:34px}.floating{right:12px;bottom:12px}.floating a{padding:9px 12px;font-size:14px}footer{padding-bottom:140px}}@media(max-width:420px){nav{gap:13px}nav a{font-size:14px}.brand{font-size:19px}body{font-size:17px}.hero h1{font-size:57px}.hero .actions{display:grid;grid-template-columns:1fr;max-width:320px;gap:9px}.actions .text-link{padding:6px}.hero-picture img{height:300px}.hero-picture figcaption{font-size:12px}.hero .spanish{font-size:18px}h2{font-size:35px}.route-row{font-size:23px;padding:23px 17px}.local-title h2{font-size:40px}.form-pair{grid-template-columns:1fr;gap:0}.form-pair label{margin-top:18px}.booking form{padding:23px}.route-hero h1{font-size:29px;line-height:1.15}.route-hero .actions{display:grid;grid-template-columns:1fr;max-width:320px}.faq details{padding:20px 17px}.final-cta .actions{flex-direction:column}.place-story .story-copy h2{font-size:32px}.floating{gap:5px}.floating a{padding:8px 10px;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
header{background:#087044}.nav-call{color:#075536}.hero h1{font-size:clamp(60px,7.2vw,100px)}.hero{padding-top:30px}.hero-picture img{height:clamp(300px,42vw,560px)}@media(max-width:420px){.hero h1{font-size:57px}.hero-picture img{height:300px}}
@media(max-width:420px){.hero h1{font-size:46px}.hero .spanish{margin-top:18px}.hero-picture figcaption{font-size:13px}}
.regional-routes{background:#e8f2ec}.regional-routes>p{margin:24px auto 44px}.regional-directory{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:44px 60px}.destination-routes h3{margin-bottom:18px;font-size:28px}.destination-routes a{display:block;font-size:19px;line-height:1.45;padding:9px 0}.destination-routes a:hover{color:#075536}.destination-routes:last-child{grid-column:1/-1}@media(max-width:800px){.regional-directory{grid-template-columns:1fr;gap:36px}.destination-routes a{font-size:18px}}
.lodging-link{background:#e8f2ec;padding:0 6% 70px}.lodging-link h3{font-size:30px}.lodging-link p{margin:20px auto}.lodging-kind{font-size:15px;margin:12px auto 0}.lodging-directory{margin-top:45px}.lodging-hero h1{font-size:clamp(30px,4.9vw,68px)}.lodging-hero .spanish{font-size:20px}@media(max-width:420px){.lodging-hero h1{font-size:25px;line-height:1.16}.lodging-hero .spanish{font-size:18px}}
