:root{--navy:#123d7a;--blue:#1e559e;--orange:#f47d20;--orange-dark:#c95612;--ink:#17253a;--muted:#637084;--cream:#faf8f4;--paper:#fff;--line:#dfe4eb;--shadow:0 18px 50px rgba(18,61,122,.1);--heading:'Montserrat',sans-serif;--body:'Nunito Sans',sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--body);font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.skip-link{position:absolute;left:12px;top:-100px;background:var(--orange);color:#111;padding:10px 14px;font-weight:800;z-index:100}.skip-link:focus{top:12px}.site-header{height:84px;background:rgba(250,248,244,.96);backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(18,61,122,.08)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:132px;height:auto}.main-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:800;color:var(--navy)}.main-nav>a:not(.instagram-link){position:relative;padding:12px 0}.main-nav>a:not(.instagram-link)::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;background:var(--orange);transition:right .25s var(--ease)}.main-nav>a:not(.instagram-link):hover::after{right:0}.instagram-link{display:flex;align-items:center;gap:6px;color:var(--blue)}.instagram-link svg,.footer-social svg{width:18px;height:18px}.nav-cta,.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.nav-cta{color:#fff;background:var(--navy);padding:12px 17px;border-radius:5px;font-size:12px}.nav-cta svg{width:17px;height:17px}.nav-cta:hover,.button-dark:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 9px 18px rgba(18,61,122,.2)}.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px}.menu-toggle span{width:23px;height:2px;background:var(--navy);display:block;margin:5px auto;transition:.2s}.hero{min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(8,28,55,.87) 0%,rgba(11,48,91,.62) 50%,rgba(8,28,55,.08) 100%),url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2200&q=85') center/cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,27,53,.5),transparent 30%);pointer-events:none}.hero-content{position:relative;z-index:1;padding-top:84px;color:#fff}.eyebrow{font-family:var(--heading);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--orange-dark);margin:0 0 20px;display:flex;align-items:center;gap:12px}.eyebrow span{display:block;width:30px;height:2px;background:currentColor}.eyebrow-light{color:#ff9c50}.hero h1,.about-copy h2,.section-heading h2,.trust-copy h2,.location-copy h2,.social-inner h2{font-family:var(--heading);font-size:clamp(40px,5vw,72px);line-height:1.05;letter-spacing:-.06em;margin:0;font-weight:700}.hero h1 em,.about-copy h2 em,.section-heading h2 em,.trust-copy h2 em,.location-copy h2 em,.social-inner h2 em{font-style:normal;color:var(--orange)}.hero-copy{max-width:510px;font-size:19px;line-height:1.55;color:rgba(255,255,255,.84);margin:25px 0 32px}.hero-actions{display:flex;align-items:center;gap:25px}.button{border-radius:4px;padding:15px 21px;font-family:var(--heading);font-size:12px;letter-spacing:.01em}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#ff9345;transform:translateY(-3px);box-shadow:0 12px 25px rgba(244,125,32,.3)}.button span{font-size:17px;line-height:1}.text-link{font-family:var(--heading);font-weight:800;font-size:12px;color:var(--navy);border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:11px;align-items:center}.light-link{color:#fff;border-color:rgba(255,255,255,.6)}.hero-trust{display:flex;gap:30px;margin-top:105px;font-size:12px;color:rgba(255,255,255,.75)}.hero-trust span{padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}.hero-trust b{display:block;color:#fff;font-family:var(--heading);font-size:14px;letter-spacing:.08em}.hero-scroll{position:absolute;bottom:30px;right:42px;color:rgba(255,255,255,.72);font-size:11px;letter-spacing:.15em;text-transform:uppercase;z-index:1;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px}.hero-scroll span{height:45px;width:1px;background:var(--orange)}.section{padding:120px 0}.services-section{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}.section-heading h2{font-size:clamp(36px,4vw,57px);color:var(--navy)}.section-intro{max-width:305px;color:var(--muted);font-size:16px;margin:0 0 3px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;padding:34px 29px 31px;min-height:325px;position:relative;box-shadow:0 8px 25px rgba(17,41,75,.04);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.service-card-dark{background:var(--navy);color:#fff}.icon-box{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:33px}.icon-box svg{width:24px;height:24px}.icon-plane{background:#e5edf8;color:var(--navy)}.icon-sun{background:#fff0e5;color:var(--orange-dark)}.icon-bed{background:#e8f0ef;color:#287e85}.icon-heart{background:rgba(255,255,255,.13);color:#ff9c50}.service-number{position:absolute;top:36px;right:28px;color:#b8c6d8;font-size:11px;font-weight:800}.service-card-dark .service-number{color:rgba(255,255,255,.35)}.service-card h3{font-family:var(--heading);font-size:18px;line-height:1.2;margin:0 0 12px;color:var(--navy)}.service-card-dark h3{color:#fff}.service-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.service-card-dark p{color:rgba(255,255,255,.68)}.card-link,.inline-button,.text-button{border:0;background:transparent;padding:0;color:var(--orange-dark);font-family:var(--heading);font-weight:800;font-size:11px;margin-top:25px}.service-card-dark .card-link{color:#ff9c50}.card-link span,.text-button span{font-size:16px;margin-left:7px}.about-section{background:var(--navy);display:grid;grid-template-columns:1fr 1fr;min-height:680px}.about-image{min-height:560px;background:linear-gradient(0deg,rgba(10,42,83,.7),transparent 60%),url('https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?auto=format&fit=crop&w=1400&q=85') center/cover;position:relative}.image-caption{position:absolute;left:12%;bottom:12%;display:flex;flex-direction:column;color:#fff}.image-caption span{font-family:var(--heading);font-size:40px;font-weight:800;letter-spacing:.1em}.image-caption small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#ffab68}.about-copy{padding:105px max(48px,8vw) 105px 85px;color:#fff;display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:clamp(35px,4vw,54px)}.about-copy>p:not(.eyebrow){color:rgba(255,255,255,.73);max-width:490px;font-size:15px;margin:22px 0 0}.about-points{display:flex;gap:28px;margin:34px 0 35px}.about-points span{border-left:1px solid rgba(255,255,255,.2);padding-left:14px}.about-points b{display:block;color:#ff9c50;font-family:var(--heading);font-size:24px}.about-points small{display:block;color:rgba(255,255,255,.64);font-size:11px}.button-outline-light{color:#fff;border:1px solid rgba(255,255,255,.4);align-self:flex-start;background:transparent}.button-outline-light:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}.plans-section{background:var(--paper)}.plans-section .section-heading{align-items:flex-end}.plans-grid{display:grid;grid-template-columns:1.22fr 1fr 1fr;gap:17px}.plan-card{background:var(--cream);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.plan-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.plan-image{height:265px;position:relative;background-position:center;background-size:cover}.cartagena{background-image:linear-gradient(0deg,rgba(10,34,62,.55),transparent 60%),url('https://images.unsplash.com/photo-1530789253388-582c481c54b0?auto=format&fit=crop&w=900&q=80')}.san-andres{background-image:linear-gradient(0deg,rgba(10,34,62,.5),transparent 60%),url('https://images.unsplash.com/photo-1548013146-72479768bada?auto=format&fit=crop&w=900&q=80')}.madrid{background-image:linear-gradient(0deg,rgba(10,34,62,.5),transparent 60%),url('https://images.unsplash.com/photo-1543783207-ec64e4d95325?auto=format&fit=crop&w=900&q=80')}.plan-tag{position:absolute;top:18px;left:18px;background:var(--orange);color:#fff;font-size:10px;font-weight:800;padding:7px 10px;border-radius:2px;text-transform:uppercase;letter-spacing:.08em}.plan-location{position:absolute;bottom:17px;left:19px;color:#fff;font-family:var(--heading);font-size:11px;letter-spacing:.06em}.plan-content{padding:23px 22px 22px}.plan-content h3{font-family:var(--heading);color:var(--navy);font-size:22px;margin:0 0 5px}.plan-content p{font-size:13px;color:var(--muted);margin:0;line-height:1.45;min-height:40px}.plan-content strong{display:block;font-size:11px;color:var(--muted);margin-top:17px}.plan-content strong b{display:block;font-family:var(--heading);font-size:19px;color:var(--navy);margin-top:2px}.button-small{font-size:10px;padding:11px 12px;background:var(--navy);color:#fff;width:100%;margin-top:18px}.button-small:hover{background:var(--orange)}.plans-note{font-size:12px;color:var(--muted);margin:26px 0 0}.inline-button{margin:0;font-size:12px}.testimonials-section{background:var(--blue);padding:113px 0 120px;color:#fff;overflow:hidden}.testimonials-section .section-heading{margin-bottom:48px}.testimonials-section .section-heading h2{color:#fff}.slider-controls{display:flex;gap:9px}.slider-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);height:40px;width:40px;border-radius:50%;transition:.2s}.slider-btn:hover{background:#fff;color:var(--navy)}.testimonial-track{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.testimonial-card{background:#fff;color:var(--ink);padding:29px 30px 28px;min-height:304px;position:relative}.quote-mark{font-family:Georgia,serif;color:var(--orange);font-size:58px;line-height:.6;position:absolute;right:24px;top:31px}.stars{color:var(--orange);letter-spacing:2px;font-size:13px}.testimonial-card blockquote{font-size:15px;line-height:1.55;min-height:103px;margin:24px 0 23px}.traveler{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:17px}.avatar{height:38px;width:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--heading);font-size:11px;font-weight:800}.avatar-coral{background:#ffe1ca;color:#b95115}.avatar-blue{background:#dce8f8;color:var(--navy)}.avatar-sand{background:#f6e8c5;color:#84600d}.traveler strong,.traveler small{display:block}.traveler strong{font-family:var(--heading);font-size:12px}.traveler small{font-size:11px;color:var(--muted)}.trust-section{background:var(--cream)}.trust-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.trust-copy h2{font-size:clamp(34px,4vw,55px);color:var(--navy)}.trust-copy>p:not(.eyebrow){color:var(--muted);max-width:440px;margin:24px 0}.text-button{margin-top:2px}.trust-badges{display:flex;flex-direction:column;gap:14px}.trust-badge{background:#fff;border:1px solid var(--line);padding:28px 30px;display:flex;align-items:center;gap:25px}.badge-logo{height:70px;width:92px;border:2px solid var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--heading);font-size:19px;font-weight:800;letter-spacing:-.05em;color:var(--navy);position:relative}.badge-logo::after{content:"";position:absolute;inset:5px;border:1px solid var(--orange)}.iata-logo{border-radius:50%;height:76px;width:76px;color:var(--orange-dark);border-color:var(--orange-dark)}.trust-badge strong{font-family:var(--heading);font-size:15px;color:var(--navy)}.trust-badge p{margin:6px 0 0;font-size:13px;color:var(--muted)}.location-section{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;min-height:650px}.map-panel{position:relative;overflow:hidden;background:#e8f0ec;background-image:linear-gradient(30deg,transparent 47%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.82) 52%,transparent 53%),linear-gradient(120deg,transparent 47%,rgba(255,255,255,.9) 48%,rgba(255,255,255,.9) 52%,transparent 53%);background-size:180px 180px}.map-grid{position:absolute;inset:0;opacity:.6;background-image:linear-gradient(rgba(255,255,255,.65) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.65) 1px,transparent 1px);background-size:65px 65px}.map-route{position:absolute;border-top:6px solid rgba(238,193,115,.65);transform:rotate(-33deg);width:120%;left:-8%}.route-one{top:38%;}.route-two{top:66%;transform:rotate(23deg);border-color:rgba(255,255,255,.95);border-width:12px}.map-label{position:absolute;color:rgba(18,61,122,.23);font-family:var(--heading);font-size:27px;font-weight:800;letter-spacing:.18em;top:16%;left:14%}.map-marker{position:absolute;top:50%;left:56%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;color:#fff;font-family:var(--heading)}.map-marker span{display:block;height:40px;width:40px;background:var(--orange);border:7px solid rgba(255,255,255,.8);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 7px 18px rgba(18,61,122,.2);position:relative}.map-marker span::after{content:"";position:absolute;background:#fff;width:10px;height:10px;border-radius:50%;left:8px;top:8px}.map-marker b{margin-top:10px;color:var(--navy);font-size:12px;letter-spacing:.1em}.map-road{position:absolute;color:rgba(18,61,122,.5);font-size:11px;font-weight:800}.road-one{top:30%;right:14%;transform:rotate(-33deg)}.road-two{bottom:23%;left:18%;transform:rotate(23deg)}.location-copy{padding:100px 8vw 90px 85px;display:flex;flex-direction:column;justify-content:center}.location-copy h2{font-size:clamp(34px,4vw,53px);color:var(--navy)}.location-copy>p:not(.eyebrow){color:var(--muted);max-width:420px;margin:24px 0}.location-copy address{font-style:normal;border-left:2px solid var(--orange);padding-left:17px;display:flex;flex-direction:column;gap:5px;margin:5px 0 24px;font-size:14px}.location-copy address strong{font-family:var(--heading);color:var(--navy);font-size:14px}.location-copy address span{color:var(--muted)}.opening-hours{display:flex;gap:25px;margin-bottom:29px;font-size:12px}.opening-hours span{color:var(--muted)}.opening-hours strong{color:var(--navy)}.button-dark{background:var(--navy);color:#fff;align-self:flex-start}.social-section{padding:110px 0;background:var(--cream)}.social-inner{text-align:center;display:flex;align-items:center;flex-direction:column}.social-icon{height:50px;width:50px;background:var(--orange);color:#fff;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:26px;transform:rotate(-6deg)}.social-icon svg{width:28px;height:28px;transform:rotate(6deg)}.social-inner .eyebrow{margin-bottom:16px}.social-inner h2{font-size:clamp(32px,4vw,51px);color:var(--navy)}.social-inner>p:not(.eyebrow){color:var(--muted);margin:21px 0 22px}.instagram-handle{font-family:var(--heading);font-weight:800;color:var(--blue);border-bottom:2px solid var(--orange);padding-bottom:5px}.site-footer{background:#0d2f5f;color:#fff;padding:72px 0 23px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr .9fr;gap:45px;padding-bottom:60px}.footer-brand img{width:140px;background:#fff;padding:4px 5px}.footer-brand p{color:rgba(255,255,255,.65);font-size:13px;max-width:230px;margin-top:18px}.footer-social{display:flex;gap:10px;margin-top:22px}.footer-social a,.footer-whatsapp{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);color:#fff;width:34px;height:34px;background:transparent;border-radius:50%}.footer-whatsapp{border:0;background:var(--orange)}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h3{font-family:var(--heading);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#ff9c50;margin:0 0 10px}.footer-column>a,.footer-column p{font-size:13px;color:rgba(255,255,255,.7);margin:0;line-height:1.7}.footer-column>a:hover{color:#fff}.footer-seals>div{display:flex;gap:9px}.footer-seals>div span{font-family:var(--heading);font-size:16px;font-weight:800;letter-spacing:.02em;border:1px solid rgba(255,255,255,.4);padding:8px 9px;color:#fff}.footer-seals p{margin-top:15px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.48)}.footer-bottom i{color:var(--orange);font-style:normal}.floating-whatsapp{position:fixed;z-index:15;right:25px;bottom:25px;border:0;background:#20a96b;color:#fff;border-radius:50px;box-shadow:0 10px 25px rgba(11,56,38,.27);padding:13px 17px 13px 13px;display:flex;align-items:center;gap:8px;font-family:var(--heading);font-size:11px;font-weight:800;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.floating-whatsapp svg{height:22px;width:22px}.floating-whatsapp:hover{transform:translateY(-4px);box-shadow:0 15px 29px rgba(11,56,38,.35)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.container{width:min(100% - 36px,700px)}.site-header{height:72px}.brand img{width:116px}.menu-toggle{display:block;z-index:2}.main-nav{position:fixed;inset:72px 0 0;background:var(--cream);padding:34px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:19px;transform:translateX(100%);transition:transform .35s var(--ease);font-size:18px;overflow:auto}.main-nav.is-open{transform:none}.main-nav>a:not(.instagram-link){padding:5px 0}.main-nav .instagram-link{font-size:15px}.nav-cta{font-size:13px;width:100%;justify-content:center;margin-top:5px}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:700px;background-position:58% center}.hero-content{padding-top:100px}.hero-trust{margin-top:70px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-section{grid-template-columns:1fr}.about-image{min-height:430px}.about-copy{padding:80px 30px}.plans-grid{grid-template-columns:repeat(2,1fr)}.plan-card-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.plan-card-featured .plan-image{height:100%}.testimonial-track{grid-template-columns:1fr}.testimonial-card{min-height:0}.testimonial-card blockquote{min-height:0}.trust-layout{grid-template-columns:1fr;gap:45px}.location-section{grid-template-columns:1fr}.map-panel{min-height:430px}.location-copy{padding:75px 30px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.hero{min-height:760px;background-position:64% center}.hero-content{padding-top:92px}.hero h1{font-size:45px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-trust{gap:13px;flex-wrap:wrap;margin-top:65px}.hero-trust span{font-size:10px}.hero-scroll{display:none}.section{padding:80px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:36px}.section-heading h2{font-size:38px}.service-grid{grid-template-columns:1fr}.service-card{min-height:275px}.about-image{min-height:330px}.image-caption{left:9%;bottom:10%}.image-caption span{font-size:29px}.about-copy{padding:70px 22px}.about-copy h2{font-size:37px}.about-points{gap:14px}.about-points b{font-size:20px}.about-points small{font-size:10px}.plans-grid{grid-template-columns:1fr}.plan-card-featured{display:block}.plan-card-featured .plan-image{height:225px}.plan-image{height:225px}.testimonials-section{padding:80px 0}.testimonials-section .section-heading{align-items:flex-end;flex-direction:row}.testimonial-card{padding:25px 23px}.trust-badge{padding:21px 18px;gap:16px;align-items:flex-start}.trust-badge p{font-size:12px}.badge-logo{flex:0 0 73px;width:73px;height:60px;font-size:15px}.iata-logo{height:65px;width:65px;flex-basis:65px}.location-copy{padding:70px 22px}.map-panel{min-height:330px}.opening-hours{flex-direction:column;gap:5px}.social-section{padding:80px 0}.social-inner h2{font-size:35px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.floating-whatsapp{right:15px;bottom:15px;padding:13px;border-radius:50%}.floating-whatsapp span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.map-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.75) contrast(.96)}.map-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,61,122,.08),transparent 35%,transparent 72%,rgba(244,125,32,.06))}
.promo-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin-bottom:24px}.promo-tab{border:0;background:transparent;color:var(--muted);padding:14px 18px 17px;text-align:left;font-family:var(--heading);font-size:12px;font-weight:800;position:relative;transition:color .25s var(--ease)}.promo-tab span{color:#aab5c4;margin-right:10px;font-size:10px}.promo-tab::after{content:"";position:absolute;height:3px;left:0;right:100%;bottom:-1px;background:var(--orange);transition:right .3s var(--ease)}.promo-tab:hover,.promo-tab.is-active{color:var(--navy)}.promo-tab.is-active::after{right:0}.promo-panel{display:grid;grid-template-columns:1.15fr .85fr;background:var(--cream);min-height:420px;animation:promoIn .45s var(--ease)}.promo-panel[hidden]{display:none}@keyframes promoIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.promo-visual{min-height:420px;overflow:hidden;background:var(--navy)}.promo-image{height:100%;width:100%;display:block;object-fit:cover;transition:transform .6s var(--ease)}.promo-panel:hover .promo-image{transform:scale(1.025)}.promo-copy{padding:55px 52px;display:flex;flex-direction:column;justify-content:center}.promo-copy h3{font-family:var(--heading);font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.05em;color:var(--navy);margin:0}.promo-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.6;margin:20px 0}.promo-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding:13px 0;margin:3px 0 25px;color:var(--muted);font-size:11px}.promo-meta strong{font-family:var(--heading);color:var(--navy)}.promo-copy .button{align-self:flex-start}.plans-note code{font-family:var(--heading);color:var(--navy);font-size:11px;background:#edf1f6;padding:3px 5px}.association-logo-wrap{width:100px;height:74px;flex:0 0 100px;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:7px}.association-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}.association-anato{width:84px}.association-iata{width:78px}.association-corporacion{width:64px}.trust-badge{min-height:104px}.footer-seals>div{align-items:center;gap:10px;flex-wrap:wrap}.footer-seals>div img{display:block;max-height:42px;max-width:78px;width:auto;object-fit:contain;background:#fff;padding:3px}.footer-seals>div img:last-child{max-width:40px;max-height:44px}.footer-seals>div img:nth-child(2){max-width:55px}
@media(max-width:980px){.promo-panel{grid-template-columns:1fr}.promo-visual{min-height:330px}.promo-copy{padding:38px 33px}.association-logo-wrap{width:86px;flex-basis:86px}}
@media(max-width:600px){.promo-tabs{grid-template-columns:repeat(2,1fr);border-bottom:0;gap:4px;margin-bottom:16px}.promo-tab{background:#f0f3f7;padding:12px 12px;font-size:10px}.promo-tab::after{bottom:0}.promo-panel{min-height:0}.promo-visual{min-height:235px}.promo-copy{padding:30px 23px}.promo-copy h3{font-size:29px}.promo-copy>p:not(.eyebrow){font-size:14px;margin:15px 0}.promo-meta{flex-direction:column;gap:5px}.association-logo-wrap{width:72px;flex-basis:72px;height:64px;padding:5px}.association-corporacion{width:53px}}
.promo-carousel{position:relative}.promo-viewport{position:relative;aspect-ratio:8 / 5;min-height:360px;background:var(--navy);overflow:hidden}.promo-slide{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;visibility:hidden;background:var(--navy);transition:opacity .45s var(--ease),visibility .45s var(--ease);cursor:pointer}.promo-slide.is-active{opacity:1;visibility:visible;z-index:1}.promo-slide:focus-visible{outline:4px solid var(--orange);outline-offset:-4px}.promo-slide .promo-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s var(--ease)}.promo-slide:hover .promo-image{transform:scale(1.02)}.promo-controls{height:64px;display:flex;align-items:center;justify-content:center;gap:24px}.promo-arrow{border:1px solid var(--line);background:var(--paper);color:var(--navy);height:36px;width:36px;border-radius:50%;font-size:18px;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.promo-arrow:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}.promo-dots{display:flex;align-items:center;gap:8px}.promo-dot{width:7px;height:7px;border:0;padding:0;border-radius:50%;background:#b9c3d0;transition:width .25s var(--ease),background .25s var(--ease)}.promo-dot.is-active{width:25px;border-radius:5px;background:var(--orange)}
@media(max-width:600px){.promo-viewport{aspect-ratio:8 / 5;min-height:0}.promo-controls{height:58px;gap:17px}.promo-slide .promo-image{object-position:center}.plans-note{font-size:11px}}
.promo-viewport{height:clamp(260px,34vw,390px);min-height:0;aspect-ratio:auto;border-radius:16px;background:#0d2f5f;overflow:hidden;box-shadow:0 20px 45px rgba(18,61,122,.14)}.promo-track{height:100%;display:flex;align-items:center;gap:18px;width:max-content;transition:transform .72s var(--ease);will-change:transform}.promo-slide{position:relative;inset:auto;flex:0 0 min(78vw,900px);width:min(78vw,900px);height:calc(100% - 22px);padding:0;border:0;border-radius:14px;overflow:hidden;opacity:.42;visibility:visible;transform:scale(.88);filter:saturate(.68);background:var(--navy);box-shadow:0 8px 20px rgba(8,28,55,.2);transition:opacity .55s var(--ease),transform .72s var(--ease),filter .55s var(--ease),box-shadow .55s var(--ease)}.promo-slide.is-active{opacity:1;visibility:visible;z-index:2;transform:scale(1);filter:saturate(1);box-shadow:0 16px 35px rgba(8,28,55,.3)}.promo-slide .promo-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}.promo-slide:hover .promo-image{transform:scale(1.025)}.promo-controls{height:58px}.promo-arrow{height:34px;width:34px}.promo-dot{height:6px;width:6px}.promo-dot.is-active{width:23px}
@media(max-width:600px){.promo-viewport{height:220px;border-radius:12px}.promo-track{gap:10px}.promo-slide{flex-basis:calc(100vw - 72px);width:calc(100vw - 72px);height:calc(100% - 14px);border-radius:11px;transform:scale(.9)}.promo-slide.is-active{transform:scale(1)}.promo-controls{height:54px}}
.association-logo-wrap{cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.association-logo-wrap:hover,.association-logo-wrap:focus-visible{transform:translateY(-3px);box-shadow:0 8px 18px rgba(18,61,122,.15);outline:2px solid var(--orange);outline-offset:3px}.footer-seals>div>a{display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease)}.footer-seals>div>a:hover,.footer-seals>div>a:focus-visible{transform:translateY(-2px);outline:2px solid var(--orange);outline-offset:3px}
.trust-badges .association-logo-wrap{width:100px;height:78px;flex-basis:100px;padding:0;border:0;background:transparent;box-shadow:none}.trust-badges .association-logo-wrap:hover{box-shadow:none;filter:drop-shadow(0 7px 8px rgba(18,61,122,.14))}.trust-badges .association-logo-wrap:focus-visible{outline:2px solid var(--orange);outline-offset:5px}.trust-badges .association-logo{max-width:100%;max-height:100%;background:transparent}.trust-badges .association-corporacion{max-width:76px;max-height:76px}
@media(max-width:980px){.trust-badges .association-logo-wrap{width:86px;flex-basis:86px;height:70px}}
@media(max-width:600px){.trust-badges .association-logo-wrap{width:72px;flex-basis:72px;height:64px}.trust-badges .association-corporacion{max-width:60px;max-height:60px}}
.hero-trust{align-items:center;gap:22px;margin-top:84px;padding-top:21px;border-top:1px solid rgba(255,255,255,.24);max-width:490px}.hero-proof-main{display:flex;align-items:center;gap:12px}.hero-proof-main>strong{font-family:var(--heading);font-size:46px;line-height:1;color:#ff9c50;letter-spacing:-.06em}.hero-proof-main>strong sup{font-size:20px;vertical-align:top;letter-spacing:0}.hero-proof-main span,.hero-proof-partners{display:flex;flex-direction:column}.hero-proof-main b,.hero-proof-partners b{font-family:var(--heading);font-size:12px;letter-spacing:.08em;color:#fff}.hero-proof-main small,.hero-proof-partners small{font-size:11px;color:rgba(255,255,255,.62);line-height:1.3}.hero-proof-divider{height:38px;width:1px;background:rgba(255,255,255,.25);padding:0!important;border:0!important}.hero-proof-partners{gap:3px}.hero-proof-partners b{font-size:14px;letter-spacing:.12em}.hero-proof-partners i{font-style:normal;color:#ff9c50;padding:0 3px}
.hero-proof-main>span{padding-left:0!important;border-left:0!important}
@media(max-width:600px){.hero-trust{align-items:flex-start;gap:15px;margin-top:60px;padding-top:17px;max-width:100%}.hero-proof-main>strong{font-size:39px}.hero-proof-main b{font-size:10px}.hero-proof-main small,.hero-proof-partners small{font-size:9px}.hero-proof-divider{height:34px}.hero-proof-partners b{font-size:12px}}
.privacy-dialog{border:0;border-radius:14px;padding:0;width:min(560px,calc(100% - 32px));color:var(--ink);box-shadow:0 25px 90px rgba(8,28,55,.3)}.privacy-dialog::backdrop{background:rgba(8,28,55,.68);backdrop-filter:blur(4px)}.privacy-dialog-content{position:relative;padding:36px 38px 32px;background:#fff}.privacy-dialog .eyebrow{margin-bottom:13px}.privacy-dialog h2{font-family:var(--heading);font-size:clamp(25px,4vw,35px);letter-spacing:-.05em;color:var(--navy);line-height:1.1;margin:0 0 16px}.privacy-dialog p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 13px}.privacy-dialog-note{font-size:12px!important}.privacy-dialog-note a{color:var(--blue);font-weight:800;text-decoration:underline}.privacy-dialog-close{position:absolute;right:17px;top:13px;border:0;background:transparent;color:var(--muted);font-size:27px;line-height:1;padding:3px 7px}.privacy-dialog-close:hover{color:var(--navy)}.privacy-consent{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:13px;font-weight:700;line-height:1.4;margin:20px 0}.privacy-consent input{accent-color:var(--orange);height:16px;width:16px;flex:0 0 16px;margin:1px 0 0}.privacy-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.privacy-dialog-actions .button{font-size:11px;padding:12px 15px}.privacy-cancel{color:var(--navy);background:#edf1f6}.privacy-cancel:hover{background:#dfe7f1}.privacy-continue:disabled{cursor:not-allowed;background:#bac4d1;box-shadow:none;transform:none}@media(max-width:600px){.privacy-dialog-content{padding:31px 23px 24px}.privacy-dialog-actions{flex-direction:column-reverse}.privacy-dialog-actions .button{width:100%}}
.rnt-note{display:inline-flex;align-items:center;gap:8px!important;margin:20px 0 4px!important;color:var(--navy)!important;font-family:var(--heading);font-size:11px!important;letter-spacing:.03em}.rnt-note span{display:inline-flex!important;align-items:center;justify-content:center;padding:5px 7px!important;border:1px solid var(--orange)!important;color:var(--orange)!important;font-size:10px!important;font-weight:800}.rnt-note strong{color:var(--navy)}.footer-rnt{font-family:var(--heading);font-size:11px!important;font-weight:800;color:#ff9c50!important;letter-spacing:.08em;margin-top:3px!important}
.site-header{transition:height .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}.site-header.is-scrolled{background:rgba(250,248,244,.98);box-shadow:0 9px 28px rgba(18,61,122,.1)}.hero{background-position:center calc(50% + var(--hero-shift, 0px))}.reveal{opacity:0;transform:translate3d(0,32px,0) scale(.985);filter:blur(4px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}.reveal.is-visible{opacity:1;transform:none;filter:none}.about-image.reveal{transform:translate3d(-38px,0,0) scale(1.015)}.about-copy.reveal{transform:translate3d(38px,0,0)}.about-image.reveal.is-visible,.about-copy.reveal.is-visible{transform:none}.service-card.reveal,.testimonial-card.reveal,.trust-badge.reveal{transform:translate3d(0,28px,0) scale(.98)}.service-card.reveal.is-visible,.testimonial-card.reveal.is-visible,.trust-badge.reveal.is-visible{transform:none}
@media(prefers-reduced-motion:reduce){.reveal,.about-image.reveal,.about-copy.reveal,.service-card.reveal,.testimonial-card.reveal,.trust-badge.reveal{transition:none;transform:none;filter:none}.promo-track,.promo-slide,.promo-slide .promo-image{transition:none}.hero{background-position:center}.site-header{transition:none}}
@media(max-width:600px){.hero{background-position:64% calc(50% + var(--hero-shift, 0px))}}
.testimonials-section{background:var(--navy)}
.process-section{background:var(--paper);padding-top:105px;padding-bottom:110px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-step{position:relative;min-height:215px;padding:31px 30px 28px;background:var(--cream);border-top:3px solid var(--navy);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.process-step:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.process-number{display:block;color:var(--orange-dark);font-family:var(--heading);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:42px}.process-step h3{font-family:var(--heading);font-size:19px;line-height:1.2;color:var(--navy);margin:0 0 11px}.process-step p{color:var(--muted);font-size:14px;line-height:1.6;margin:0;max-width:300px}.process-step-highlight{background:var(--navy);border-color:var(--orange)}.process-step-highlight .process-number{color:#ff9c50}.process-step-highlight h3{color:#fff}.process-step-highlight p{color:rgba(255,255,255,.7)}
.review-source{font-family:var(--heading);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-top:4px}.testimonial-card blockquote{margin-top:20px}
.testimonials-actions{display:flex;align-items:center;gap:18px}.google-rating{display:flex;align-items:center;gap:10px;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 12px;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.google-rating:hover,.google-rating:focus-visible{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);transform:translateY(-2px);outline:0}.google-rating>strong{font-family:var(--heading);font-size:23px;line-height:1;color:#ff9c50}.google-rating>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.google-rating .stars{font-size:10px;letter-spacing:1px;line-height:1;color:#ff9c50}.google-rating small{font-size:10px;line-height:1.2;color:rgba(255,255,255,.72);white-space:nowrap}.google-rating-arrow{font-size:17px;color:#ff9c50;line-height:1}@media(max-width:980px){.testimonials-actions{align-items:flex-end;flex-direction:column;gap:12px}}@media(max-width:600px){.testimonials-section .section-heading{align-items:flex-start;flex-direction:column;gap:20px}.testimonials-actions{width:100%;align-items:flex-start;flex-direction:row;justify-content:space-between}.google-rating{padding:7px 10px}.google-rating small{font-size:9px}}
.faq-section{background:var(--paper);padding-top:105px;padding-bottom:110px}.faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:start}.faq-intro h2{font-family:var(--heading);font-size:clamp(36px,4vw,55px);line-height:1.05;letter-spacing:-.06em;color:var(--navy);margin:0}.faq-intro h2 em{font-style:normal;color:var(--orange)}.faq-intro>p:not(.eyebrow){max-width:350px;color:var(--muted);font-size:15px;margin:24px 0 28px}.faq-intro .button{margin-top:2px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;font-family:var(--heading);font-size:14px;font-weight:800;color:var(--navy)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-family:var(--body);font-size:23px;font-weight:400;color:var(--orange);transition:transform .25s var(--ease)}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item p{max-width:620px;color:var(--muted);font-size:14px;line-height:1.65;margin:-4px 38px 20px 0}.footer-legal{color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:3px}.footer-legal:hover{color:#fff}
@media(max-width:980px){.faq-layout{grid-template-columns:1fr;gap:42px}.faq-intro>p:not(.eyebrow){max-width:530px}}
@media(max-width:980px){.process-grid{grid-template-columns:1fr 1fr}.process-step-highlight{grid-column:1/-1;min-height:180px}}
@media(max-width:600px){.faq-section{padding-top:80px;padding-bottom:80px}.faq-layout{gap:32px}.faq-item summary{font-size:13px;padding:17px 0}.faq-item p{font-size:13px;margin-right:0}}
@media(max-width:600px){.process-section{padding-top:80px;padding-bottom:80px}.process-grid{grid-template-columns:1fr}.process-step-highlight{grid-column:auto}.process-step{min-height:0;padding:26px 23px}.process-number{margin-bottom:30px}}
.main-nav::before{display:none}
@media(max-width:980px){body.menu-open::before{content:"";position:fixed;inset:0;background:rgba(8,28,55,.58);backdrop-filter:blur(3px);z-index:19}.main-nav{z-index:21;left:auto;right:0;width:min(91vw,420px);inset-block:72px 0;padding:32px 26px 28px;background:rgba(250,248,244,.98);border-left:1px solid rgba(18,61,122,.12);box-shadow:-22px 0 55px rgba(8,28,55,.2);gap:0;align-items:stretch;transform:translateX(105%);transition:transform .42s var(--ease)}.main-nav.is-open{transform:translateX(0)}.main-nav::before{display:block;content:"NAVEGACIÓN";font-family:var(--heading);font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--orange-dark);padding-bottom:19px;margin-bottom:4px;border-bottom:1px solid var(--line)}.main-nav>a:not(.instagram-link):not(.nav-cta){width:100%;display:flex;align-items:center;gap:14px;padding:16px 10px;border-bottom:1px solid var(--line);font-size:15px;color:var(--navy);transition:background .22s var(--ease),padding .22s var(--ease),color .22s var(--ease)}.main-nav>a:not(.instagram-link):not(.nav-cta)::before{counter-increment:mobile-nav;content:"0" counter(mobile-nav);font-family:var(--heading);font-size:10px;letter-spacing:.08em;color:#a7b4c6;width:22px}.main-nav>a:not(.instagram-link):not(.nav-cta)::after{display:none}.main-nav>a:not(.instagram-link):not(.nav-cta):hover,.main-nav>a:not(.instagram-link):not(.nav-cta):focus-visible{background:#eef2f7;color:var(--navy);padding-left:15px;outline:0}.main-nav{counter-reset:mobile-nav}.main-nav .instagram-link{width:100%;padding:17px 10px;color:var(--blue);font-size:14px;border-bottom:1px solid var(--line)}.main-nav .instagram-link svg{width:19px;height:19px}.main-nav .nav-cta{width:100%;margin-top:auto;padding:14px 17px;min-height:47px;border-radius:5px;box-shadow:0 10px 24px rgba(18,61,122,.18)}.menu-toggle{position:relative;z-index:22}}
@media(max-width:600px){.main-nav{width:calc(100% - 24px);padding:27px 19px 22px}.main-nav::before{padding-bottom:15px}.main-nav>a:not(.instagram-link):not(.nav-cta){padding:15px 8px;font-size:14px}.main-nav .instagram-link{padding:15px 8px}.main-nav .nav-cta{margin-top:24px}}
.main-nav::before{display:none}
@media(max-width:980px){body.menu-open::before{display:none}.main-nav{inset:72px 0 auto;bottom:auto;left:0;right:0;width:100%;max-height:calc(100vh - 72px);overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0 18px;padding:14px 26px 24px;background:rgba(250,248,244,.99);border-left:0;border-top:1px solid rgba(18,61,122,.1);box-shadow:0 20px 35px rgba(18,61,122,.14);transform:translateY(-16px);opacity:0;visibility:hidden;transition:transform .32s var(--ease),opacity .25s var(--ease),visibility .32s var(--ease)}.main-nav.is-open{transform:translateY(0);opacity:1;visibility:visible}.main-nav>a:not(.instagram-link):not(.nav-cta){width:auto;display:flex;padding:15px 7px;border-bottom:1px solid var(--line);font-size:14px;gap:0}.main-nav>a:not(.instagram-link):not(.nav-cta)::before{display:none}.main-nav>a:not(.instagram-link):not(.nav-cta)::after{display:none}.main-nav>a:not(.instagram-link):not(.nav-cta):hover,.main-nav>a:not(.instagram-link):not(.nav-cta):focus-visible{background:transparent;color:var(--orange-dark);padding-left:7px}.main-nav .instagram-link{grid-column:1/-1;width:auto;padding:15px 7px;border-bottom:1px solid var(--line);font-size:14px}.main-nav .nav-cta{grid-column:1/-1;width:100%;margin-top:20px;min-height:46px}}
@media(max-width:600px){.main-nav{width:100%;padding:10px 17px 19px;gap:0 12px}.main-nav>a:not(.instagram-link):not(.nav-cta){padding:14px 6px;font-size:13px}.main-nav .instagram-link{padding:14px 6px}.main-nav .nav-cta{margin-top:17px}}
.privacy-page{padding:130px 0 90px;background:var(--cream);min-height:100vh}.privacy-page article{background:#fff;padding:clamp(28px,5vw,70px);max-width:860px;margin:0 auto;box-shadow:var(--shadow)}.privacy-page h1{font-family:var(--heading);color:var(--navy);font-size:clamp(32px,5vw,54px);line-height:1.05;letter-spacing:-.05em;margin:0 0 20px}.privacy-page h2{font-family:var(--heading);color:var(--navy);font-size:20px;margin:34px 0 8px}.privacy-page p,.privacy-page li{color:var(--muted);font-size:15px;line-height:1.7}.privacy-page ul{padding-left:20px}.privacy-page .back-home{display:inline-flex;margin-top:30px}.privacy-page strong{color:var(--ink)}
.legal-nav{display:flex;flex-wrap:wrap;gap:9px 17px;border-top:1px solid var(--line);padding-top:22px;margin-top:36px}.legal-nav a,.inline-legal-link{color:var(--blue);font-family:var(--heading);font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.legal-nav a:hover,.inline-legal-link:hover{color:var(--orange-dark)}.footer-bottom{align-items:flex-start;gap:14px;flex-wrap:wrap}.footer-legal-links{display:flex;align-items:center;justify-content:flex-end;gap:6px 13px;flex-wrap:wrap}.footer-legal-links>span{margin-left:5px}@media(max-width:600px){.footer-legal-links{justify-content:flex-start}.footer-legal-links>span{margin-left:0}}
html,body{overflow-x:hidden}
.icon-medical{background:#e8f0ef;color:#287e85}.service-card-medical{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:24px;min-height:178px;padding:27px 30px;background:#fff8f1;border-left:3px solid var(--orange)}.service-card-medical .icon-box{margin:0}.service-card-medical .service-number{top:22px;right:30px;color:#c2a58e}.service-card-medical h3{font-size:22px;margin:0 0 8px}.service-card-medical p{max-width:560px;margin:0}.service-card-medical .card-link{margin:0;white-space:nowrap}@media(max-width:980px){.service-card-medical{grid-template-columns:48px minmax(0,1fr);gap:20px}.service-card-medical .card-link{grid-column:2;justify-self:start;margin-top:3px}}@media(max-width:600px){.service-card-medical{display:block;min-height:0;padding:26px 23px;border-left:0;border-top:3px solid var(--orange)}.service-card-medical .icon-box{margin-bottom:25px}.service-card-medical .service-number{top:23px;right:23px}.service-card-medical h3{font-size:19px}.service-card-medical .card-link{display:inline-flex;margin-top:23px;white-space:normal}}
.noscript-banner{position:relative;z-index:30;background:#fff0e5;color:#7d3510;border-bottom:1px solid #f4c19d;padding:12px 20px;text-align:center;font-size:13px;font-weight:700}.main-nav>a.is-current:not(.instagram-link):not(.nav-cta)::after{right:0}section[id]{scroll-margin-top:100px}.back-to-top{position:fixed;z-index:14;right:25px;bottom:92px;width:42px;height:42px;border:1px solid rgba(18,61,122,.2);border-radius:50%;background:rgba(250,248,244,.96);color:var(--navy);font-size:20px;line-height:1;box-shadow:0 8px 22px rgba(18,61,122,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .25s var(--ease),visibility .25s var(--ease),transform .25s var(--ease),background .25s var(--ease)}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-to-top:hover,.back-to-top:focus-visible{background:var(--navy);color:#fff;outline:0;transform:translateY(-3px)}@media(max-width:600px){.back-to-top{right:15px;bottom:82px;width:38px;height:38px;font-size:18px}}
.instagram-link{position:relative;isolation:isolate;transition:color .3s var(--ease),transform .3s var(--ease)}
.instagram-link::after{content:"";position:absolute;inset:-7px -9px;border-radius:999px;background:linear-gradient(120deg,rgba(245,133,41,.12),rgba(221,42,123,.14),rgba(129,52,175,.12));opacity:0;transform:scale(.72);z-index:-1;transition:opacity .3s var(--ease),transform .45s var(--ease)}
.instagram-link .instagram-icon{overflow:visible;transform-origin:50% 50%;transition:filter .3s var(--ease)}
.instagram-link .instagram-icon-frame,.instagram-link .instagram-icon-lens{transition:stroke .3s var(--ease)}
.instagram-link .instagram-icon-dot{transition:fill .3s var(--ease)}
.instagram-link:hover,.instagram-link:focus-visible{color:#dd2a7b;outline:0}
.instagram-link:hover::after,.instagram-link:focus-visible::after{opacity:1;transform:scale(1)}
.instagram-link:hover .instagram-icon,.instagram-link:focus-visible .instagram-icon{animation:instagram-nav-bounce .72s var(--ease) both;filter:drop-shadow(0 3px 5px rgba(221,42,123,.28))}
.instagram-link:hover .instagram-icon-frame,.instagram-link:hover .instagram-icon-lens,.instagram-link:focus-visible .instagram-icon-frame,.instagram-link:focus-visible .instagram-icon-lens{stroke:url(#instagram-nav-gradient)}
.instagram-link:hover .instagram-icon-lens,.instagram-link:focus-visible .instagram-icon-lens{animation:instagram-lens-pulse .72s var(--ease) both;transform-box:fill-box;transform-origin:center}
.instagram-link:hover .instagram-icon-dot,.instagram-link:focus-visible .instagram-icon-dot{fill:#f58529;animation:instagram-dot-twinkle .72s var(--ease) both}
@keyframes instagram-nav-bounce{0%{transform:rotate(0) scale(1)}28%{transform:rotate(-12deg) scale(1.14)}55%{transform:rotate(7deg) scale(1.06)}78%{transform:rotate(-3deg) scale(1.02)}100%{transform:rotate(0) scale(1)}}
@keyframes instagram-lens-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.18)}}
@keyframes instagram-dot-twinkle{0%,100%{opacity:1}45%{opacity:.45;transform:scale(.72)}70%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.instagram-link,.instagram-link::after,.instagram-link .instagram-icon,.instagram-link .instagram-icon-frame,.instagram-link .instagram-icon-lens,.instagram-link .instagram-icon-dot{animation:none!important;transition:none!important}.instagram-link:hover::after,.instagram-link:focus-visible::after{transform:none}.instagram-link:hover .instagram-icon-frame,.instagram-link:hover .instagram-icon-lens,.instagram-link:focus-visible .instagram-icon-frame,.instagram-link:focus-visible .instagram-icon-lens{stroke:url(#instagram-nav-gradient)}}
.social-icon{animation:social-instagram-float 4.8s ease-in-out infinite;transform-origin:50% 50%;will-change:transform}
.social-icon svg{animation:social-instagram-spin 8s ease-in-out infinite;transform-origin:50% 50%;will-change:transform}
@keyframes social-instagram-float{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(4deg) translateY(-6px)}}
@keyframes social-instagram-spin{0%,18%{transform:rotate(6deg)}50%{transform:rotate(186deg)}82%,100%{transform:rotate(366deg)}}
@media(prefers-reduced-motion:reduce){.social-icon,.social-icon svg{animation:none!important;will-change:auto}.social-icon{transform:rotate(-6deg)}.social-icon svg{transform:rotate(6deg)}}
/* Microinteracciones de marca: sutiles, útiles y coherentes con el ritmo de la página. */
.hero-content>.eyebrow,.hero-content>#hero-title,.hero-content>.hero-copy,.hero-content>.hero-actions,.hero-content>.hero-trust{opacity:0;transform:translateY(18px)}
.hero-content.is-visible>.eyebrow{animation:hero-item-in .7s var(--ease) .08s both}
.hero-content.is-visible>#hero-title{animation:hero-item-in .7s var(--ease) .18s both}
.hero-content.is-visible>.hero-copy{animation:hero-item-in .7s var(--ease) .28s both}
.hero-content.is-visible>.hero-actions{animation:hero-item-in .7s var(--ease) .38s both}
.hero-content.is-visible>.hero-trust{animation:hero-item-in .7s var(--ease) .48s both}
@keyframes hero-item-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal.is-visible>.eyebrow span{animation:eyebrow-line-in .65s var(--ease) .15s both;transform-origin:left center}
@keyframes eyebrow-line-in{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
.service-card .icon-box{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.service-card:hover .icon-box,.service-card:focus-within .icon-box{transform:translateY(-4px);box-shadow:0 9px 17px rgba(18,61,122,.13)}
.service-card-dark:hover .icon-box,.service-card-dark:focus-within .icon-box{box-shadow:0 9px 17px rgba(0,0,0,.2)}
.service-card:hover .icon-plane svg,.service-card:focus-within .icon-plane svg{animation:service-plane .65s var(--ease) both}
.service-card:hover .icon-sun svg,.service-card:focus-within .icon-sun svg{animation:service-sun .65s var(--ease) both}
.service-card:hover .icon-bed svg,.service-card:focus-within .icon-bed svg{animation:service-bed .65s var(--ease) both}
.service-card:hover .icon-heart svg,.service-card:focus-within .icon-heart svg{animation:service-heart .65s var(--ease) both}
.service-card:hover .icon-medical svg,.service-card:focus-within .icon-medical svg{animation:service-medical .65s var(--ease) both}
@keyframes service-plane{0%{transform:translate(0,0) rotate(0)}45%{transform:translate(3px,-3px) rotate(-12deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes service-sun{0%{transform:rotate(0) scale(1)}55%{transform:rotate(24deg) scale(1.08)}100%{transform:rotate(0) scale(1)}}
@keyframes service-bed{0%,100%{transform:translateY(0)}45%{transform:translateY(-3px)}70%{transform:translateY(1px)}}
@keyframes service-heart{0%,100%{transform:scale(1)}45%{transform:scale(1.16)}70%{transform:scale(.97)}}
@keyframes service-medical{0%,100%{transform:rotate(0)}45%{transform:rotate(-5deg) scale(1.06)}70%{transform:rotate(3deg) scale(1.02)}}
.card-link>span,.text-button>span,.button>span,.text-link>span,.instagram-handle>span,.google-rating-arrow{display:inline-block;transition:transform .25s var(--ease)}
.card-link:hover>span,.card-link:focus-visible>span,.text-button:hover>span,.text-button:focus-visible>span,.button:hover>span,.button:focus-visible>span,.text-link:hover>span,.text-link:focus-visible>span,.instagram-handle:hover>span,.instagram-handle:focus-visible>span,.google-rating:hover .google-rating-arrow,.google-rating:focus-visible .google-rating-arrow{transform:translateX(5px)}
.plan-card .plan-tag{transition:transform .35s var(--ease),background .35s var(--ease)}
.plan-card:hover .plan-tag{transform:translateY(-3px);background:#ff9345}
.process-step{overflow:hidden}
.process-step::after{content:"";position:absolute;left:0;bottom:0;width:34%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.process-step:hover::after,.process-step:focus-within::after{transform:scaleX(1)}
.process-step .process-number{transition:transform .35s var(--ease),letter-spacing .35s var(--ease)}
.process-step:hover .process-number,.process-step:focus-within .process-number{transform:translateX(4px);letter-spacing:.2em}
.trust-badge{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.trust-badge:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(18,61,122,.1);border-color:rgba(18,61,122,.18)}
.map-overlay{overflow:hidden}
.map-overlay::before{content:"";position:absolute;left:54%;top:51%;width:120px;height:120px;border:1px solid rgba(244,125,32,.38);border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:location-signal 4.8s ease-out infinite}
.map-overlay::after{content:"";position:absolute;left:54%;top:51%;width:12px;height:12px;border-radius:50%;background:var(--orange);border:3px solid rgba(255,255,255,.9);box-shadow:0 4px 12px rgba(18,61,122,.2);transform:translate(-50%,-50%);animation:location-dot 4.8s ease-in-out infinite}
@keyframes location-signal{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:.72}72%,100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
@keyframes location-dot{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.13)}}
.floating-whatsapp{isolation:isolate}
.floating-whatsapp::before{content:"";position:absolute;inset:-3px;border:1px solid rgba(32,169,107,.5);border-radius:inherit;z-index:-1;pointer-events:none;animation:whatsapp-ring 5.5s ease-out infinite}
.floating-whatsapp:hover svg{animation:whatsapp-icon-nudge .55s var(--ease) both}
@keyframes whatsapp-ring{0%,63%,100%{opacity:0;transform:scale(.92)}70%{opacity:.7}84%{opacity:0;transform:scale(1.16)}}
@keyframes whatsapp-icon-nudge{0%,100%{transform:rotate(0)}35%{transform:rotate(-10deg)}70%{transform:rotate(7deg)}}
.faq-item summary{transition:color .25s var(--ease),padding-left .25s var(--ease)}
.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--orange-dark);padding-left:6px;outline:0}
.faq-item[open] summary{color:var(--orange-dark)}
.faq-item p{max-height:0;overflow:hidden;opacity:0;margin-top:0;margin-bottom:0;transition:max-height .42s var(--ease),opacity .3s var(--ease),margin .42s var(--ease)}
.faq-item[open] p{max-height:260px;opacity:1;margin:-4px 38px 20px 0}
.footer-social a,.footer-social .footer-whatsapp{transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.footer-social a:hover,.footer-social a:focus-visible,.footer-social .footer-whatsapp:hover,.footer-social .footer-whatsapp:focus-visible{transform:translateY(-2px) scale(1.04);color:#fff;outline:0;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.footer-social a:first-child:hover,.footer-social a:first-child:focus-visible{background:linear-gradient(135deg,#f58529 0%,#dd2a7b 52%,#8134af 100%);border-color:transparent}
.footer-social .footer-whatsapp:hover,.footer-social .footer-whatsapp:focus-visible{background:#25d366;border-color:transparent}
.footer-social .footer-tiktok:hover,.footer-social .footer-tiktok:focus-visible{background:#000;border-color:transparent}
@media(prefers-reduced-motion:reduce){.footer-social a,.footer-social .footer-whatsapp{transition:none}.footer-social a:hover,.footer-social a:focus-visible,.footer-social .footer-whatsapp:hover,.footer-social .footer-whatsapp:focus-visible{transform:none}}
.testimonial-track{display:flex;gap:16px;overflow:hidden;transition:transform .65s var(--ease);will-change:transform}
.testimonial-track .testimonial-card{flex:0 0 calc((100% - 32px) / 3);min-width:0}
@media(max-width:980px){
  .testimonial-track{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important;transition:none;will-change:auto}
  .testimonial-track::-webkit-scrollbar{display:none}
  .testimonial-track .testimonial-card{flex:0 0 100%;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.testimonial-track{transition:none}.testimonial-track .testimonial-card{scroll-snap-align:none}}
@media(max-width:600px){.faq-item[open] p{margin-right:0}.map-overlay::before{left:50%;top:50%}.map-overlay::after{left:50%;top:50%}}
@media(prefers-reduced-motion:reduce){
  .hero-content>.eyebrow,.hero-content>#hero-title,.hero-content>.hero-copy,.hero-content>.hero-actions,.hero-content>.hero-trust{opacity:1;transform:none;animation:none!important}
  .reveal.is-visible>.eyebrow span,.service-card:hover .icon-plane svg,.service-card:hover .icon-sun svg,.service-card:hover .icon-bed svg,.service-card:hover .icon-heart svg,.service-card:hover .icon-medical svg,.service-card:focus-within .icon-plane svg,.service-card:focus-within .icon-sun svg,.service-card:focus-within .icon-bed svg,.service-card:focus-within .icon-heart svg,.service-card:focus-within .icon-medical svg,.map-overlay::before,.map-overlay::after,.floating-whatsapp::before,.floating-whatsapp:hover svg{animation:none!important}
  .service-card .icon-box,.trust-badge:hover,.process-step:hover .process-number,.process-step:focus-within .process-number{transform:none}
  .faq-item summary,.faq-item p,.card-link>span,.text-button>span,.button>span,.text-link>span,.instagram-handle>span,.google-rating-arrow{transition:none}
  .faq-item p{max-height:none;opacity:1}.faq-item:not([open]) p{display:none}.faq-item[open] p{margin:-4px 38px 20px 0}
  .floating-whatsapp::before{display:none}
}
.testimonials-section .testimonial-card.reveal{position:relative;overflow:hidden;border-top:2px solid transparent;box-shadow:0 10px 25px rgba(8,28,55,.08);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.testimonials-section .testimonial-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--orange),#ffb46f,var(--orange));transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease)}
.testimonials-section .quote-mark{transform-origin:center;transition:color .3s var(--ease),transform .4s var(--ease)}
.testimonials-section .review-source{transition:color .3s var(--ease),letter-spacing .3s var(--ease)}
.testimonials-section .traveler .avatar{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
@media(hover:hover){
  .testimonials-section .testimonial-card:hover{transform:translateY(-8px);box-shadow:0 20px 38px rgba(8,28,55,.18);border-top-color:var(--orange)}
  .testimonials-section .testimonial-card:hover::before{transform:scaleX(1)}
  .testimonials-section .testimonial-card:hover .quote-mark{color:var(--orange);transform:translateY(-4px) rotate(-8deg)}
  .testimonials-section .testimonial-card:hover .review-source{color:var(--orange-dark);letter-spacing:.12em}
  .testimonials-section .testimonial-card:hover .traveler .avatar{transform:scale(1.1) rotate(-5deg);box-shadow:0 5px 12px rgba(18,61,122,.15)}
}
@media(prefers-reduced-motion:reduce){
  .testimonials-section .testimonial-card.reveal{transition:none;box-shadow:0 10px 25px rgba(8,28,55,.08)}
  .testimonials-section .testimonial-card::before,.testimonials-section .quote-mark,.testimonials-section .review-source,.testimonials-section .traveler .avatar{transition:none}
  .testimonials-section .testimonial-card:hover{transform:none}
}
.testimonials-section .testimonial-track .testimonial-card.reveal{opacity:1;filter:none}
.testimonials-section .testimonial-track .testimonial-card.reveal:not(:hover){transform:none}
.testimonial-track .testimonial-card.is-visible{display:block}
@media(min-width:981px){.testimonial-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;transform:none!important;transition:none;will-change:auto}.testimonial-track .testimonial-card{display:none;flex:initial}.testimonial-track .testimonial-card.is-visible{display:block;animation:testimonial-switch-in .45s var(--ease) both}}
@keyframes testimonial-switch-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.testimonial-track .testimonial-card.is-visible{animation:none}}
.footer-address-link{display:block;color:rgba(255,255,255,.7);font-size:13px;line-height:1.7;transition:color .25s var(--ease),transform .25s var(--ease)}.footer-address-link span{display:inline-block;color:#ff9c50;transition:transform .25s var(--ease)}.footer-address-link:hover,.footer-address-link:focus-visible{color:#fff;transform:translateX(3px);outline:0}.footer-address-link:hover span,.footer-address-link:focus-visible span{transform:translate(3px,-2px)}
@media(prefers-reduced-motion:reduce){.footer-address-link,.footer-address-link span{transition:none}.footer-address-link:hover,.footer-address-link:focus-visible{transform:none}.footer-address-link:hover span,.footer-address-link:focus-visible span{transform:none}}
/* Imagen de portada */
.hero{background:#0d2f5f}
.hero-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,28,55,.87) 0%,rgba(11,48,91,.62) 50%,rgba(8,28,55,.08) 100%);pointer-events:none}
.hero::after{z-index:1}
.hero-content,.hero-scroll{z-index:2}

/* Compromiso legal en el cierre del sitio */
.footer-sustainability{background:transparent;color:rgba(255,255,255,.68);padding:0 0 24px}
.footer-sustainability-inner{display:flex;align-items:center;gap:14px}
.footer-sustainability img{display:block;width:42px;height:42px;flex:0 0 42px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.footer-sustainability p{max-width:980px;margin:0;font-size:11px;line-height:1.55}
.footer-sustainability strong{color:#fff;font-weight:800}
@media(max-width:600px){.footer-sustainability{padding:0 0 18px}.footer-sustainability-inner{align-items:flex-start;gap:11px}.footer-sustainability img{width:36px;height:36px;flex-basis:36px}.footer-sustainability p{font-size:10px;line-height:1.5}}

/* Cierre centrado del footer */
.site-footer .footer-grid{padding-bottom:34px}
.footer-sustainability{padding:17px 20px 21px;background:transparent;border:0}
.footer-sustainability-inner{flex-direction:column;justify-content:center;align-items:center;gap:11px;text-align:center;max-width:1060px}
.footer-sustainability img{width:52px;height:52px;flex-basis:52px;padding:4px}
.footer-sustainability p{max-width:980px;color:rgba(255,255,255,.78);font-size:12.5px;line-height:1.6;text-wrap:balance}
.footer-sustainability strong{letter-spacing:.01em}
@media(max-width:600px){.site-footer .footer-grid{padding-bottom:28px}.footer-sustainability{padding:15px 14px 19px}.footer-sustainability img{width:44px;height:44px;flex-basis:44px}.footer-sustainability p{font-size:10.5px;line-height:1.55}}

/* Galería editorial de la agencia */
.location-gallery{position:relative;min-height:650px;padding:34px 22px 34px 34px;background:var(--navy);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(142px,.72fr);gap:14px;overflow:hidden}
.location-gallery::before{content:"";position:absolute;right:-145px;top:-150px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.location-gallery::after{content:"";position:absolute;left:-105px;bottom:-150px;width:290px;height:290px;border:1px solid rgba(244,125,32,.18);border-radius:50%;pointer-events:none}
.location-gallery-main,.location-gallery-card{position:relative;min-width:0;overflow:hidden;margin:0;border-radius:3px;background:#0d2f5f;box-shadow:0 16px 32px rgba(5,23,49,.22)}
.location-gallery-main{min-height:582px}
.location-gallery-main img,.location-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .7s var(--ease)}
.location-gallery-trigger{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.location-gallery-trigger:focus-visible{outline:3px solid #ffad6e;outline-offset:-3px}
.location-gallery-main figcaption,.location-gallery-card figcaption{pointer-events:none}
.location-gallery-main img{object-position:center center}
.location-gallery-card img{filter:saturate(.92)}
.location-gallery-card:first-child img{object-position:center 42%}
.location-gallery-card:last-child img{object-position:center 34%}
.location-gallery-main::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,25,50,.82) 0%,rgba(7,25,50,.1) 48%,rgba(7,25,50,.05) 100%);pointer-events:none}
.location-gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,25,50,.78),transparent 62%);pointer-events:none}
.location-gallery-main:hover img,.location-gallery-card:hover img{transform:scale(1.045);filter:saturate(1.04)}
.location-gallery-main figcaption,.location-gallery-card figcaption{position:absolute;z-index:1;left:22px;right:18px;bottom:21px;color:#fff}
.location-gallery-main figcaption{display:flex;flex-direction:column;gap:4px}
.location-gallery-main figcaption strong{font-family:var(--heading);font-size:clamp(30px,3.5vw,48px);line-height:.95;letter-spacing:.12em}
.location-gallery-main figcaption span{color:#ffad6e;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.location-gallery-card figcaption{font-family:var(--heading);font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.04em}
.location-gallery-side{min-width:0;display:grid;grid-template-rows:1fr 1fr;gap:14px}
.location-badge{position:absolute;z-index:2;right:28px;bottom:30px;display:flex;align-items:center;gap:9px;background:#fff;color:var(--navy);padding:10px 13px 10px 10px;border-radius:3px;box-shadow:0 10px 22px rgba(5,23,49,.25);font-family:var(--heading);font-size:10px;font-weight:800;line-height:1.2}
.location-badge svg{width:22px;height:22px;flex:0 0 22px;color:var(--orange)}
.location-badge span{display:flex;flex-direction:column;gap:2px}
.location-badge small{font-family:var(--body);font-size:10px;font-weight:600;color:var(--muted)}
@media(max-width:980px){.location-gallery{min-height:560px;padding:24px 18px;grid-template-columns:minmax(0,1.5fr) minmax(130px,.72fr)}.location-gallery-main{min-height:512px}.location-copy{padding:75px 30px}}
@media(max-width:600px){.location-gallery{min-height:510px;padding:16px;gap:10px;grid-template-columns:minmax(0,1.28fr) minmax(94px,.72fr)}.location-gallery-main{min-height:478px}.location-gallery-side{gap:10px}.location-gallery-main figcaption{left:15px;bottom:18px}.location-gallery-main figcaption strong{font-size:29px}.location-gallery-main figcaption span{font-size:8px;letter-spacing:.1em}.location-gallery-card figcaption{left:11px;right:8px;bottom:13px;font-size:9px}.location-badge{left:22px;right:22px;bottom:22px;justify-content:center;padding:8px 11px}.location-badge svg{width:19px;height:19px;flex-basis:19px}.location-badge small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.location-gallery-main img,.location-gallery-card img{transition:none}.location-gallery-main:hover img,.location-gallery-card:hover img{transform:none}}

/* Galería más compacta: la sección debe leerse completa sin dominar la página */
.location-section{min-height:0;align-items:stretch}
.location-gallery{min-height:520px;padding:24px 18px 24px 24px;gap:12px}
.location-gallery-main{min-height:472px}
.location-gallery-main figcaption,.location-gallery-card figcaption{bottom:17px}
.location-gallery-main figcaption{left:19px}
.location-gallery-main figcaption strong{font-size:clamp(26px,3vw,40px)}
.location-gallery-main figcaption span{font-size:10px}
.location-gallery-card figcaption{left:15px;right:13px;font-size:10px}
.location-badge{right:22px;bottom:22px;padding:8px 11px 8px 9px}
.location-copy{padding:68px 6vw 62px 70px}
.location-copy>p:not(.eyebrow){margin:18px 0}
.location-copy address{margin:3px 0 19px}
.opening-hours{margin-bottom:23px}

@media(max-width:980px){
  .location-gallery{min-height:500px;padding:21px 16px;gap:11px}
  .location-gallery-main{min-height:458px}
  .location-copy{padding:58px 30px 64px}
}

@media(max-width:600px){
  .location-gallery{min-height:430px;padding:13px;gap:9px}
  .location-gallery-main{min-height:404px}
  .location-gallery-main figcaption{left:13px;bottom:15px}
  .location-gallery-main figcaption strong{font-size:25px}
  .location-gallery-main figcaption span{font-size:7px}
  .location-gallery-card figcaption{left:10px;right:7px;bottom:11px;font-size:8px}
  .location-badge{left:18px;right:18px;bottom:18px}
  .location-copy{padding:58px 22px 64px}
}

/* Reducción visual definitiva de la sección de ubicación */
.location-section{min-height:0}
.location-gallery{height:440px;min-height:0;padding:20px 15px 20px 20px;gap:10px}
.location-gallery-main{height:400px;min-height:0}
.location-gallery-side{height:100%;min-height:0;gap:10px}
.location-gallery-card{height:100%;min-height:0}
.location-gallery-main figcaption{left:17px;bottom:16px}
.location-gallery-main figcaption strong{font-size:clamp(24px,2.7vw,36px)}
.location-gallery-main figcaption span{font-size:9px}
.location-gallery-card figcaption{left:13px;right:11px;bottom:14px;font-size:9px}
.location-gallery-card:last-child figcaption{bottom:48px;right:145px;white-space:nowrap}
.location-badge{right:18px;bottom:18px;padding:7px 10px 7px 8px}
.location-copy{padding:42px 5vw 42px 60px}
.location-copy .eyebrow{margin-bottom:14px}
.location-copy h2{font-size:clamp(32px,3.2vw,46px);line-height:1}
.location-copy>p:not(.eyebrow){font-size:14px;line-height:1.45;margin:14px 0;max-width:390px}
.location-copy address{font-size:13px;gap:3px;margin:0 0 15px;padding-left:14px}
.location-copy address strong{font-size:13px}
.opening-hours{gap:18px;margin-bottom:18px;font-size:11px}

@media(max-width:980px){
  .location-gallery{height:420px;min-height:0;padding:18px 14px;gap:10px}
  .location-gallery-main{height:384px;min-height:0}
  .location-copy{padding:42px 30px 48px}
}

@media(max-width:600px){
  .location-gallery{height:360px;min-height:0;padding:11px;gap:8px}
  .location-gallery-main{height:338px;min-height:0}
  .location-gallery-main figcaption{left:11px;bottom:12px}
  .location-gallery-main figcaption strong{font-size:23px}
  .location-gallery-main figcaption span{font-size:7px}
  .location-gallery-card figcaption{left:8px;right:6px;bottom:9px;font-size:8px}
  .location-gallery-card:last-child figcaption{bottom:43px;right:104px}
  .location-badge{left:15px;right:15px;bottom:15px}
  .location-copy{padding:48px 22px 56px}
}

/* Ampliación de fotografías de la agencia */
.location-lightbox{width:min(1120px,calc(100% - 28px));max-width:none;max-height:calc(100vh - 28px);border:0;padding:0;background:transparent;overflow:visible}
.location-lightbox::backdrop{background:rgba(4,18,38,.88);backdrop-filter:blur(5px)}
.location-lightbox-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px}
.location-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 90px);width:auto;height:auto;object-fit:contain;border-radius:5px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.location-lightbox-caption{margin:0;color:#fff;font-family:var(--heading);font-size:12px;font-weight:800;letter-spacing:.03em;text-align:center}
.location-lightbox-close{position:absolute;z-index:2;top:-2px;right:-2px;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:var(--orange);color:#fff;font-size:28px;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.location-lightbox-close:hover{background:#ff9345;transform:scale(1.05)}
@media(max-width:600px){.location-lightbox{width:calc(100% - 18px)}.location-lightbox-content{padding:9px}.location-lightbox-image{max-height:calc(100vh - 70px)}.location-lightbox-close{top:-5px;right:-5px;width:34px;height:34px;font-size:24px}.location-lightbox-caption{font-size:10px}}

/* Etiqueta del equipo: separada de la tarjeta de ubicación */
.location-gallery-card:last-child figcaption{top:14px;right:auto;bottom:auto;left:14px;max-width:calc(100% - 28px);padding:7px 10px 7px 9px;background:rgba(7,25,50,.76);border-left:2px solid #ffad6e;border-radius:2px;box-shadow:0 6px 14px rgba(5,23,49,.18);white-space:normal;line-height:1.2}
@media(max-width:600px){.location-gallery-card:last-child figcaption{top:10px;left:10px;max-width:calc(100% - 20px);padding:6px 8px 6px 7px}}

/* Ajuste editorial final: jerarquía consistente en las tarjetas laterales */
.location-gallery-card figcaption,
.location-gallery-card:last-child figcaption{top:14px;right:auto;bottom:auto;left:14px;max-width:calc(100% - 28px);padding:7px 10px 7px 9px;background:rgba(7,25,50,.76);border-left:2px solid #ffad6e;border-radius:2px;box-shadow:0 6px 14px rgba(5,23,49,.18);white-space:normal;line-height:1.2}
.location-gallery-card figcaption{font-size:9px}
.location-badge{right:18px;bottom:18px;padding:7px 10px 7px 8px;box-shadow:0 9px 20px rgba(5,23,49,.28)}
.location-copy{padding-left:clamp(42px,5vw,70px);padding-right:clamp(42px,6vw,90px)}
.location-copy h2{letter-spacing:-.055em}

@media(max-width:600px){
  .location-gallery-card figcaption,
  .location-gallery-card:last-child figcaption{top:10px;right:auto;bottom:auto;left:10px;max-width:calc(100% - 20px);padding:6px 8px 6px 7px}
  .location-badge{right:15px;bottom:15px}
  .location-copy{padding-left:22px;padding-right:22px}
}

/* Canales de contacto en la sección de ubicación */
.location-contact{border-top:1px solid var(--line);padding-top:14px;margin:0 0 21px;display:flex;align-items:flex-start;gap:16px}
.location-contact-label{flex:0 0 auto;font-family:var(--heading);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);padding-top:2px}
.location-contact-links{display:flex;flex-wrap:wrap;gap:5px 12px;min-width:0}
.location-contact-links a{color:var(--blue);font-size:12px;line-height:1.35;text-decoration:none;transition:color .2s var(--ease)}
.location-contact-links a:not(.location-contact-email)::before{content:"";display:inline-block;width:5px;height:5px;margin:0 7px 2px 0;border-radius:50%;background:var(--orange)}
.location-contact-links a:hover,.location-contact-links a:focus-visible{color:var(--orange-dark);text-decoration:underline;text-underline-offset:3px;outline:0}
.location-contact-email{flex-basis:100%;font-size:11px!important;overflow-wrap:anywhere}
@media(max-width:600px){.location-contact{display:block;padding-top:13px;margin-bottom:20px}.location-contact-label{display:block;margin-bottom:8px}.location-contact-links{gap:6px 10px}.location-contact-links a{font-size:11px}.location-contact-email{font-size:10.5px!important}}

/* Reordenación editorial de los canales de contacto */
.location-contact{display:block;padding-top:15px;margin:0 0 21px}
.location-contact-label{display:block;padding:0;margin:0 0 10px;color:var(--navy);font-size:10px;letter-spacing:.12em}
.location-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px 12px}
.location-contact-links a{display:flex;align-items:center;min-width:0;color:var(--blue);font-size:11.5px;line-height:1.35;white-space:nowrap}
.location-contact-links a:not(.location-contact-email)::before{flex:0 0 auto;width:5px;height:5px;margin:0 7px 1px 0}
.location-contact-email{grid-column:1/-1;min-width:0;padding-top:8px;border-top:1px solid var(--line);font-size:11px!important;overflow-wrap:anywhere;white-space:normal}
@media(max-width:980px){.location-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}.location-contact-links a:last-of-type{grid-column:1/-1}}
@media(max-width:600px){.location-contact{padding-top:13px;margin-bottom:20px}.location-contact-label{margin-bottom:9px}.location-contact-links{grid-template-columns:1fr;gap:7px}.location-contact-links a:last-of-type{grid-column:auto}.location-contact-links a{font-size:11px}.location-contact-email{font-size:10.5px!important}}

/* Ajuste final: bloque compacto y alineado con la columna de ubicación */
.location-contact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:14px;row-gap:4px;padding-top:13px;margin:0 0 20px}
.location-contact-label{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;gap:8px;margin:0;padding-top:2px;white-space:nowrap;font-size:10px;letter-spacing:.1em}
.location-contact-label::before{content:"";display:block;width:18px;height:2px;background:var(--orange);flex:0 0 auto}
.location-contact-links{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;flex-wrap:wrap;gap:5px 13px;min-width:0}
.location-contact-links a{display:inline-flex;align-items:center;color:var(--blue);font-size:11.5px;line-height:1.35;white-space:nowrap}
.location-contact-links a:not(.location-contact-email)::before{width:4px;height:4px;margin:0 6px 1px 0}
.location-contact-links a:nth-child(2),.location-contact-links a:nth-child(3){padding-left:13px;border-left:1px solid var(--line)}
.location-contact-email{flex-basis:100%;padding-top:1px;border-top:0;font-size:10.5px!important;color:var(--muted)!important;overflow-wrap:anywhere;white-space:normal}
@media(max-width:600px){.location-contact{display:block;padding-top:12px}.location-contact-label{margin:0 0 8px}.location-contact-links{display:flex;gap:6px 10px}.location-contact-links a:nth-child(2),.location-contact-links a:nth-child(3){padding-left:0;border-left:0}.location-contact-links a{font-size:11px}.location-contact-email{font-size:10.5px!important}}

/* El correo acompaña al último teléfono en la misma línea cuando hay espacio */
.location-contact-email{flex:0 1 auto;flex-basis:auto;max-width:100%;padding:0 0 0 11px;margin:0;border-left:1px solid var(--line);font-size:10px!important;color:var(--blue)!important;white-space:nowrap}
@media(max-width:600px){.location-contact-email{flex-basis:100%;padding:2px 0 0;border-left:0;font-size:10.5px!important;white-space:normal}}

/* Escala de lectura: contactos visibles sin perder el carácter compacto */
.location-contact-label{font-size:10.5px}
.location-contact-links a{font-size:12.5px}
.location-contact-email{font-size:11.5px!important}
@media(max-width:600px){.location-contact-links a{font-size:11.5px}.location-contact-email{font-size:11px!important}}

/* El correo comparte el mismo tratamiento visual que los teléfonos */
.location-contact-email::before{content:"";display:block;flex:0 0 auto;width:4px;height:4px;margin:0 6px 1px 0;border-radius:50%;background:var(--orange)}
.location-contact-email:hover,.location-contact-email:focus-visible{color:var(--orange-dark)!important;text-decoration:underline;text-underline-offset:3px;outline:0}

/* El correo conserva exactamente la escala tipográfica de los teléfonos */
.location-contact-email{font-size:12.5px!important}
@media(max-width:600px){.location-contact-email{font-size:11.5px!important}}

/* 404 creativa: el avión recorre la órbita del logo de Atlantis */
.error-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:440px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,#1d568e 0%,#123d7a 43%,#09284f 100%);border-radius:4px;box-shadow:0 20px 45px rgba(15,45,83,.16)}
.error-visual::before{inset:18px;border:1px solid rgba(255,255,255,.22);border-radius:2px}
.error-visual::after{top:50%;right:auto;left:50%;width:360px;height:360px;transform:translate(-50%,-54%);border:1px solid rgba(255,173,110,.16);box-shadow:0 0 0 24px rgba(255,173,110,.04),0 0 0 48px rgba(255,173,110,.025)}
.error-orbit-stage{position:relative;z-index:1;width:min(330px,72%);aspect-ratio:1;display:grid;place-items:center}
.error-orbit{position:absolute;inset:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;transform:rotate(-18deg) scaleY(.66)}
.error-orbit-two{inset:12%;border-color:rgba(255,173,110,.5);transform:rotate(38deg) scaleY(.66)}
.error-orbit-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(255,173,110,.12)}
.error-orbit-dot-one{top:13%;right:22%}
.error-orbit-dot-two{bottom:24%;left:9%;width:5px;height:5px;background:#fff}
.error-plane-orbit{position:absolute;inset:0;animation:error-plane-orbit 9s linear infinite}
.error-plane{position:absolute;top:0;left:50%;width:34px;height:34px;color:#ffad6e;transform:translate(-50%,-50%) rotate(28deg);filter:drop-shadow(0 5px 7px rgba(3,18,38,.35))}
.error-logo-disc{position:relative;z-index:2;width:152px;height:152px;display:grid;place-items:center;border:7px solid rgba(255,255,255,.8);border-radius:50%;background:#fff;box-shadow:0 14px 35px rgba(2,18,40,.3),0 0 0 12px rgba(255,255,255,.08)}
.error-logo-disc::before{content:"";position:absolute;inset:-18px;border:1px solid rgba(255,255,255,.17);border-radius:50%}
.error-logo-disc img{display:block;width:128px;height:auto}
@keyframes error-plane-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.error-visual-copy{position:relative;z-index:1;padding:0;color:#fff;display:flex;align-items:center;gap:13px}
.error-code{font-size:clamp(48px,6vw,70px);line-height:.8;letter-spacing:-.1em;text-shadow:0 8px 20px rgba(4,20,40,.28)}
.error-route{margin-top:4px;color:#ffad6e;font-size:10px;letter-spacing:.17em}
@media(prefers-reduced-motion:reduce){.error-plane-orbit{animation:none;transform:rotate(42deg)}}
@media(max-width:900px){.error-orbit-stage{width:min(285px,72%)}.error-logo-disc{width:136px;height:136px}.error-logo-disc img{width:114px}.error-visual-copy{gap:11px}.error-code{font-size:58px}}
@media(max-width:600px){.error-visual{min-height:320px;gap:13px}.error-orbit-stage{width:min(235px,72%)}.error-logo-disc{width:112px;height:112px;border-width:5px}.error-logo-disc img{width:94px}.error-plane{width:28px;height:28px}.error-visual-copy{gap:9px}.error-code{font-size:49px}.error-route{font-size:8px;letter-spacing:.12em}}

/* Página 404 personalizada */
.error-page{min-height:100vh;background:var(--cream);display:flex;flex-direction:column}
.error-main{flex:1;display:flex;align-items:center;padding:130px 0 72px}
.error-section{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(42px,7vw,105px)}
.error-visual{min-height:440px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#1d568e 0%,#123d7a 43%,#09284f 100%);border-radius:4px;box-shadow:0 20px 45px rgba(15,45,83,.16)}
.error-visual::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.35);pointer-events:none}
.error-visual::after{content:"";position:absolute;top:-80px;right:-70px;width:240px;height:240px;border:1px solid rgba(255,173,110,.6);border-radius:50%;box-shadow:0 0 0 18px rgba(255,173,110,.08),0 0 0 36px rgba(255,173,110,.05);pointer-events:none}
.error-visual-copy{position:relative;z-index:1;padding:0;color:#fff;display:flex;align-items:center;gap:13px}
.error-code{font-family:var(--heading);font-size:clamp(48px,6vw,70px);font-weight:800;line-height:.8;letter-spacing:-.1em;text-shadow:0 8px 20px rgba(4,20,40,.28)}
.error-route{margin-top:4px;color:#ffad6e;font-family:var(--heading);font-size:10px;font-weight:800;letter-spacing:.17em}
.error-copy{max-width:500px}
.error-copy h1{font-family:var(--heading);color:var(--navy);font-size:clamp(40px,5vw,68px);font-weight:700;line-height:1.02;letter-spacing:-.06em;margin:0}
.error-copy h1 em{font-style:normal;color:var(--orange)}
.error-copy>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:16px;line-height:1.6;margin:25px 0 30px}
.error-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.error-actions .button{white-space:nowrap}
.error-help{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:42px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.error-help strong{color:var(--navy);font-family:var(--heading);font-size:11px;letter-spacing:.02em}
.error-help a{color:var(--blue);font-weight:800;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.error-footer{background:var(--navy);color:#fff;padding:25px 0}
.error-footer-inner{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:14px 28px}
.error-footer-brand img{display:block;width:118px;background:#fff;padding:4px 5px}
.error-footer-inner>p{margin:0;color:rgba(255,255,255,.68);font-size:12px;max-width:250px}
.error-footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 16px;font-size:11px}
.error-footer-links a{color:rgba(255,255,255,.72)}
.error-footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.error-footer-copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:14px;color:rgba(255,255,255,.48);font-size:10px}
@media(max-width:900px){.error-main{padding-top:120px}.error-section{grid-template-columns:1fr 1fr;gap:34px}.error-visual{min-height:390px}.error-visual-copy{padding:25px}.error-copy h1{font-size:clamp(36px,5vw,54px)}.error-footer-inner{grid-template-columns:auto 1fr}.error-footer-links{grid-column:1/-1;justify-content:flex-start}.error-footer-copy{grid-column:1/-1}}
@media(max-width:600px){.error-main{padding:112px 0 56px}.error-section{width:min(100% - 32px,480px);display:flex;flex-direction:column;align-items:stretch;gap:34px}.error-visual{min-height:280px}.error-visual::before{inset:12px}.error-visual-copy{padding:22px}.error-code{font-size:92px}.error-route{margin-top:14px;font-size:9px}.error-copy h1{font-size:clamp(38px,11vw,52px)}.error-copy>p:not(.eyebrow){font-size:14px;margin:20px 0 25px}.error-actions{align-items:flex-start;flex-direction:column;gap:18px}.error-help{margin-top:30px}.error-footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.error-footer-links{justify-content:flex-start;gap:8px 15px}.error-footer-copy{width:100%}}

/* El escenario 404 no utiliza fotografía: solo identidad, órbita y movimiento */
.error-visual-copy{padding:0;align-items:center;gap:13px}
.error-code{font-size:clamp(48px,6vw,70px)}
.error-route{margin-top:4px;font-size:10px}
@media(max-width:900px){.error-visual-copy{padding:0;gap:11px}.error-code{font-size:58px}}
@media(max-width:600px){.error-visual-copy{padding:0;gap:9px}.error-code{font-size:49px}.error-route{margin-top:4px;font-size:8px}}

/* Nueva composición 404: portal circular sin tarjeta rectangular */
.error-visual{min-height:470px;background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.error-visual::before{content:"";position:absolute;inset:auto;top:45%;left:50%;width:min(430px,100%);aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:50%;background:radial-gradient(circle at 48% 38%,#2b6aa1 0%,#174a85 42%,#0a2e5d 78%,#07244a 100%);box-shadow:0 24px 55px rgba(13,48,89,.2),inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -28px 50px rgba(2,19,42,.24);pointer-events:none}
.error-visual::after{content:"";position:absolute;top:45%;left:50%;right:auto;width:min(466px,108%);height:min(466px,108%);transform:translate(-50%,-50%);border:1px solid rgba(255,173,110,.48);border-radius:50%;box-shadow:0 0 0 18px rgba(255,173,110,.06),0 0 0 38px rgba(18,61,122,.08);pointer-events:none}
.error-orbit-stage{z-index:1}
.error-visual-copy{z-index:1}
@media(max-width:600px){.error-visual{min-height:340px}.error-visual::before{top:43%;width:min(300px,100%)}.error-visual::after{top:43%;width:min(328px,108%);height:min(328px,108%)} }

/* Señal de error: clara, amable y con un toque de humor viajero */
.error-warning-badge{position:absolute;z-index:3;top:3%;right:7%;display:flex;align-items:center;gap:7px;padding:7px 11px 7px 7px;border-radius:999px;background:var(--orange);color:#fff;font-family:var(--heading);font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:0 8px 18px rgba(6,29,58,.25);transform:rotate(7deg);animation:error-badge-float 3.6s ease-in-out infinite}
.error-warning-badge span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;line-height:1}
@keyframes error-badge-float{0%,100%{transform:rotate(7deg) translateY(0)}50%{transform:rotate(4deg) translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.error-warning-badge{animation:none}}
@media(max-width:600px){.error-warning-badge{top:1%;right:1%;padding:6px 9px 6px 6px;font-size:8px}.error-warning-badge span{width:17px;height:17px;font-size:12px}}

/* Señal de navegación perdida: un pulso sutil reemplaza al avión */
.error-plane-orbit{display:none}
.error-logo-disc::after{content:"";position:absolute;inset:-28px;border:1px solid rgba(255,173,110,.42);border-radius:50%;animation:error-signal-pulse 2.8s ease-out infinite;pointer-events:none}
@keyframes error-signal-pulse{0%{transform:scale(.62);opacity:.75}70%{transform:scale(1.08);opacity:.18}100%{transform:scale(1.22);opacity:0}}
@media(prefers-reduced-motion:reduce){.error-logo-disc::after{animation:none;opacity:.24;transform:scale(1)}}

/* El código queda dentro de la esfera y ya no se corta en el borde */
.error-visual-copy{position:absolute;z-index:2;left:50%;bottom:54px;transform:translateX(-50%);white-space:nowrap}
.error-code{font-size:clamp(54px,6.5vw,78px);text-shadow:0 5px 14px rgba(2,18,40,.38)}
.error-route{font-size:10px;text-shadow:0 3px 8px rgba(2,18,40,.5)}
@media(max-width:900px){.error-visual-copy{bottom:45px}.error-code{font-size:64px}}
@media(max-width:600px){.error-visual-copy{bottom:30px}.error-code{font-size:52px}.error-route{font-size:8px}}

/* Reubicación definitiva: el código queda fuera de la esfera, con contraste pleno */
.error-visual{min-height:530px}
.error-visual::before{top:42%}
.error-visual::after{top:42%}
.error-visual-copy{bottom:0;transform:translateX(-50%);color:var(--navy)}
.error-code{color:var(--navy);text-shadow:none}
.error-route{color:var(--orange-dark);text-shadow:none}
@media(max-width:600px){.error-visual{min-height:400px}.error-visual::before{top:40%}.error-visual::after{top:40%}.error-visual-copy{bottom:0}.error-code{font-size:52px}}

/* Rediseño total 404: mapa de ruta perdida, sin esfera ni tarjeta */
.error-map-visual{min-height:470px;display:block;position:relative;overflow:visible;background:transparent;box-shadow:none;border-radius:0}
.error-map-visual::before,.error-map-visual::after{display:none}
.error-map-brand{position:absolute;z-index:2;top:8px;left:20px;display:flex;align-items:center}
.error-map-brand img{display:block;width:136px;height:auto}
.error-map-number{position:absolute;z-index:0;left:0;bottom:20px;color:rgba(18,61,122,.08);font-family:var(--heading);font-size:clamp(180px,23vw,290px);font-weight:800;line-height:.72;letter-spacing:-.12em;user-select:none}
.error-route-map{position:absolute;z-index:1;inset:64px 0 45px;width:100%;height:calc(100% - 109px);overflow:visible}
.error-route-shadow{fill:none;stroke:rgba(18,61,122,.08);stroke-width:17;stroke-linecap:round}
.error-route-line{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:2 13;animation:error-route-trace 3.8s linear infinite}
.error-route-start{fill:var(--navy);stroke:#fff;stroke-width:4}
.error-route-stop{fill:var(--orange);stroke:#fff;stroke-width:4}
.error-route-pin path{fill:var(--navy);stroke:var(--navy);stroke-width:2}
.error-route-pin circle:first-of-type{fill:#fff;stroke:none}
.error-route-pin path:last-of-type{fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round}
.error-route-pin circle:last-of-type{fill:var(--orange);stroke:none}
.error-route-cross{fill:none;stroke:#d95132;stroke-width:5;stroke-linecap:round}
.error-map-label{position:absolute;z-index:2;left:20px;bottom:8px;display:flex;align-items:center;gap:8px;color:var(--navy);font-family:var(--heading);font-size:10px;font-weight:800;letter-spacing:.12em}
.error-map-label span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px;letter-spacing:0}
@keyframes error-route-trace{to{stroke-dashoffset:-60}}
@media(prefers-reduced-motion:reduce){.error-route-line{animation:none}}
@media(max-width:900px){.error-map-visual{min-height:390px}.error-map-number{font-size:clamp(150px,21vw,220px)}.error-route-map{inset:55px 0 38px;height:calc(100% - 93px)}}
@media(max-width:600px){.error-map-visual{min-height:320px}.error-map-brand{top:0;left:12px}.error-map-brand img{width:116px}.error-map-number{bottom:18px;left:0;font-size:150px}.error-route-map{inset:48px 0 38px;height:calc(100% - 86px)}.error-map-label{left:12px;bottom:2px;font-size:8px;letter-spacing:.08em}.error-map-label span{width:18px;height:18px;font-size:12px}}

/* Experiencia interactiva 404: central de navegación Atlantis */
.error-page{background:var(--navy);color:#fff}
.error-page .site-header{background:rgba(7,31,61,.94);border-bottom-color:rgba(255,255,255,.1)}
.error-page .main-nav{color:#fff}
.error-page .main-nav>a:not(.instagram-link)::after{background:var(--orange)}
.error-page .nav-cta{background:var(--orange)}
.error-main{min-height:calc(100vh - 84px);padding:126px 0 80px;background:var(--navy);align-items:center}
.error-experience{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(44px,7vw,110px)}
.error-control{--pointer-x:0px;--pointer-y:0px;position:relative;min-height:500px;overflow:hidden;padding:28px 32px 24px;color:#fff;background:radial-gradient(circle at 58% 48%,rgba(24,91,151,.5),transparent 43%),linear-gradient(145deg,#0e3970 0%,#092955 64%,#061d3b 100%);border-radius:18px;box-shadow:0 24px 65px rgba(0,0,0,.25);isolation:isolate;transform:translate3d(calc(var(--pointer-x) * .12),calc(var(--pointer-y) * .12),0);transition:transform .3s ease}
.error-control::before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.16);border-radius:11px;pointer-events:none;z-index:2}
.error-control::after{content:"";position:absolute;z-index:1;top:50%;left:50%;width:390px;height:390px;transform:translate(-50%,-50%) translate3d(calc(var(--pointer-x) * .18),calc(var(--pointer-y) * .18),0);border:1px solid rgba(255,173,110,.16);border-radius:50%;box-shadow:0 0 0 26px rgba(255,173,110,.025),0 0 0 52px rgba(255,255,255,.025);pointer-events:none;transition:transform .35s ease}
.error-control-glow{position:absolute;z-index:0;top:50%;left:50%;width:290px;height:290px;transform:translate(-50%,-50%) translate3d(calc(var(--pointer-x) * .28),calc(var(--pointer-y) * .28),0);border-radius:50%;background:rgba(42,119,181,.18);filter:blur(12px);transition:transform .35s ease}
.error-control-grid{position:absolute;z-index:0;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(135deg,transparent 5%,#000 42%,transparent 92%);transform:translate3d(calc(var(--pointer-x) * -.06),calc(var(--pointer-y) * -.06),0);transition:transform .35s ease}
.error-control-topline,.error-control-brand,.error-glitch-number,.error-control-status,.error-control-route,.error-control-footer{position:relative;z-index:3}
.error-control-topline{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.62);font-family:var(--heading);font-size:9px;font-weight:800;letter-spacing:.14em}
.error-live-dot{width:7px;height:7px;border-radius:50%;background:#51d598;box-shadow:0 0 0 5px rgba(81,213,152,.14);animation:error-live-pulse 1.8s ease-in-out infinite}
.error-control-id{margin-left:auto;color:#ffad6e}
.error-control-brand{display:flex;align-items:center;gap:11px;margin-top:29px}
.error-control-brand img{display:block;width:116px;background:#fff;padding:4px 6px}
.error-control-brand span{color:rgba(255,255,255,.55);font-family:var(--heading);font-size:9px;font-weight:800;letter-spacing:.15em}
.error-glitch-number{position:relative;margin:44px 0 24px;color:#fff;font-family:var(--heading);font-size:clamp(150px,20vw,250px);font-weight:800;line-height:.72;letter-spacing:-.14em;text-shadow:0 16px 35px rgba(0,0,0,.23);transform:translate3d(calc(var(--pointer-x) * .08),calc(var(--pointer-y) * .08),0);transition:transform .35s ease}
.error-glitch-number::before,.error-glitch-number::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none}
.error-glitch-number::before{color:#ff7d2b;transform:translate(5px,1px);clip-path:inset(9% 0 61% 0);animation:error-glitch-one 4.2s steps(1,end) infinite}
.error-glitch-number::after{color:#4fd4d8;transform:translate(-4px,-1px);clip-path:inset(65% 0 12% 0);animation:error-glitch-two 3.7s steps(1,end) infinite}
.error-control-status{display:flex;align-items:center;gap:10px;margin-left:6px;color:#ffad6e;font-family:var(--heading);font-size:11px;font-weight:800;letter-spacing:.12em}
.error-status-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid #ffad6e;border-radius:50%;color:#fff;font-size:13px;animation:error-status-blink 1.7s ease-in-out infinite}
.error-control-route{display:flex;align-items:center;gap:10px;margin:34px 5px 0;color:rgba(255,255,255,.55);font-family:var(--heading);font-size:8px;font-weight:800;letter-spacing:.12em}
.error-route-progress{position:relative;display:block;flex:1;height:2px;background:rgba(255,255,255,.2);overflow:visible}
.error-route-progress::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:repeating-linear-gradient(90deg,#ffad6e 0 7px,transparent 7px 16px);transform:translateY(-50%);opacity:.8}
.error-route-progress i{position:absolute;z-index:1;top:50%;left:48%;width:8px;height:8px;border-radius:50%;background:#ffad6e;box-shadow:0 0 0 5px rgba(255,173,110,.12),0 0 17px #ffad6e;transform:translate(-50%,-50%);animation:error-route-search 2.5s ease-in-out infinite alternate}
.error-route-node-end{color:#ffad6e}
.error-control-footer{display:flex;justify-content:space-between;margin-top:54px;padding-top:13px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.42);font-family:var(--heading);font-size:8px;font-weight:800;letter-spacing:.12em}
.error-signal{color:#ffad6e;letter-spacing:3px;animation:error-signal-flicker 2.1s steps(2,end) infinite}
.error-copy{max-width:510px}
.error-page .error-copy h1{color:#fff}
.error-page .error-copy>p:not(.eyebrow){color:rgba(255,255,255,.68);max-width:470px}
.error-page .error-copy .text-link{color:#fff;border-color:rgba(255,255,255,.55)}
.error-page .error-copy .text-link:hover{color:#ffad6e;border-color:#ffad6e}
.error-page .error-help{border-color:rgba(255,255,255,.17);color:rgba(255,255,255,.58)}
.error-page .error-help strong{color:#fff}
.error-page .error-help a{color:#ffad6e}
.error-actions .js-error-route.is-routing{pointer-events:none;background:#d9651d}
@keyframes error-live-pulse{0%,100%{opacity:1;box-shadow:0 0 0 5px rgba(81,213,152,.14)}50%{opacity:.45;box-shadow:0 0 0 9px rgba(81,213,152,.04)}}
@keyframes error-status-blink{0%,100%{box-shadow:0 0 0 rgba(255,173,110,0)}50%{box-shadow:0 0 0 7px rgba(255,173,110,.1)}}
@keyframes error-route-search{from{left:13%}to{left:87%}}
@keyframes error-signal-flicker{0%,24%,100%{opacity:.35}25%,44%{opacity:1}}
@keyframes error-glitch-one{0%,88%,100%{opacity:0}89%{opacity:.7;transform:translate(9px,2px)}91%{opacity:0}94%{opacity:.45;transform:translate(-3px,0)}}
@keyframes error-glitch-two{0%,78%,100%{opacity:0}79%{opacity:.6;transform:translate(-8px,-1px)}81%{opacity:0}86%{opacity:.4;transform:translate(4px,1px)}}
@media(prefers-reduced-motion:reduce){.error-live-dot,.error-status-icon,.error-route-progress i,.error-signal,.error-glitch-number::before,.error-glitch-number::after{animation:none}.error-control{transform:none!important}}
@media(max-width:900px){.error-main{padding-top:120px}.error-experience{grid-template-columns:1fr;gap:48px}.error-control{min-height:450px}.error-copy{max-width:620px}.error-glitch-number{font-size:clamp(150px,25vw,230px)}}
@media(max-width:600px){.error-main{padding:105px 0 56px}.error-experience{width:min(100% - 32px,520px);gap:38px}.error-control{min-height:390px;padding:22px 20px 18px;border-radius:14px}.error-control::before{inset:12px;border-radius:9px}.error-control::after{width:280px;height:280px}.error-control-brand{margin-top:24px}.error-control-brand img{width:100px}.error-control-brand span{font-size:8px}.error-glitch-number{margin:38px 0 22px;font-size:clamp(124px,35vw,176px)}.error-control-status{font-size:9px}.error-control-route{margin-top:27px;font-size:7px}.error-control-footer{margin-top:42px;font-size:7px}.error-copy h1{font-size:clamp(42px,12vw,58px)}.error-copy>p:not(.eyebrow){font-size:14px}.error-actions{gap:16px}}

/* La central flota sobre el fondo; no es una tarjeta independiente */
.error-control{background:transparent;box-shadow:none;border-radius:0}
.error-control::before{inset:0;border:0;border-radius:0}
@media(max-width:600px){.error-control{border-radius:0}.error-control::before{inset:0;border:0;border-radius:0}}

/* Los correos dentro del contenido legal conservan el mismo tamaño del párrafo */
.privacy-page p .inline-legal-link{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:700}
.pqr-request-panel{margin:46px 0 54px;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(18,61,122,.06)}
.pqr-request-panel h2{margin-top:0}
.pqr-form-intro{max-width:720px;color:var(--muted)}
.pqr-required-note{margin:0;color:var(--muted);font-size:12px}.pqr-required-note span{color:var(--orange-dark);font-weight:800}
.pqr-form{margin-top:26px}
.pqr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.pqr-field{display:flex;flex-direction:column;gap:7px}
.pqr-field-full{margin-top:20px}
.pqr-field>span{font-family:var(--heading);font-size:11px;font-weight:800;color:var(--navy)}
.pqr-field>span b{color:var(--orange-dark)}
.pqr-field input,.pqr-field select,.pqr-field textarea{width:100%;border:1px solid #cfd8e4;border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:14px;padding:12px 13px;outline:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.pqr-field textarea{resize:vertical;min-height:150px;line-height:1.55}
.pqr-field input:focus,.pqr-field select:focus,.pqr-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,85,158,.12)}
.pqr-field small{color:var(--muted);font-size:12px}
.pqr-check{display:flex;align-items:flex-start;gap:10px;margin-top:16px;color:var(--muted);font-size:13px;line-height:1.45}
.pqr-check input{width:17px;height:17px;flex:0 0 auto;margin-top:2px;accent-color:var(--blue)}
.pqr-check a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.pqr-form-actions{display:flex;align-items:center;gap:18px;margin-top:24px}
.pqr-form-actions .button{cursor:pointer}
.pqr-form-actions .button:disabled{opacity:.6;cursor:wait}
.pqr-form-status{margin:0;color:var(--muted);font-size:13px}
.pqr-form-status.is-success{color:#23734c}
.pqr-form-status.is-error{color:#a63b25}
.pqr-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.pqr-request-panel{padding:22px 18px;margin-top:34px}.pqr-form-grid{grid-template-columns:1fr}.pqr-form-actions{align-items:flex-start;flex-direction:column;gap:12px}.pqr-form-actions .button{width:100%}}
.pqr-open-form{margin-top:18px}

/* La imagen solicitada pertenece únicamente al apartado Nosotros. */
.about-image{background-image:linear-gradient(0deg,rgba(10,42,83,.7),transparent 60%),url('assets/hero-river.png')}
.hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Etiqueta editorial del destino en la imagen de Nosotros. */
.image-caption{left:clamp(24px,8%,90px);bottom:clamp(24px,9%,78px);gap:9px}
.image-caption strong{color:#fff;font-family:var(--heading);font-size:clamp(27px,3.5vw,46px);font-weight:800;letter-spacing:.04em;line-height:1;text-shadow:0 3px 18px rgba(0,0,0,.28);text-transform:uppercase}
.image-caption small{color:#ffab68;font-size:11px;letter-spacing:.14em;line-height:1.25;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.28)}

/* Redes sociales del footer: WhatsApp comparte el estilo base de los demás iconos. */
.footer-social .footer-whatsapp{border:1px solid rgba(255,255,255,.3);background:transparent}

/* TikTok en la navegación principal. */
.tiktok-link{display:flex;align-items:center;gap:6px;color:var(--blue)}
.tiktok-link svg{width:18px;height:18px}
.tiktok-link:hover,.tiktok-link:focus-visible{color:var(--navy);outline:0}
@media(max-width:980px){
  .main-nav .tiktok-link{width:100%;padding:15px 7px;color:var(--blue);font-size:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px}
  .main-nav .tiktok-link::before,.main-nav .tiktok-link::after{display:none}
}
@media(max-width:600px){.main-nav .tiktok-link{padding:14px 6px}}

/* Efecto TikTok: rebote breve con destello cromático cian/rojo. */
.tiktok-link{position:relative;isolation:isolate;transition:color .3s var(--ease),transform .3s var(--ease)}
.main-nav .tiktok-link::after{content:"";position:absolute;inset:-7px -9px;border-radius:999px;background:linear-gradient(120deg,rgba(37,244,238,.14),rgba(254,44,85,.14));opacity:0;transform:scale(.72);z-index:-1;transition:opacity .3s var(--ease),transform .45s var(--ease)}
.tiktok-link svg{overflow:visible;transform-origin:50% 50%;transition:filter .3s var(--ease)}
.tiktok-link:hover,.tiktok-link:focus-visible{color:var(--navy);outline:0;transform:translateY(-1px)}
.main-nav .tiktok-link:hover::after,.main-nav .tiktok-link:focus-visible::after{opacity:1;transform:scale(1)}
.tiktok-link:hover svg,.tiktok-link:focus-visible svg{animation:tiktok-nav-bounce .72s var(--ease) both;filter:drop-shadow(3px 0 0 rgba(37,244,238,.62)) drop-shadow(-3px 0 0 rgba(254,44,85,.58))}
@keyframes tiktok-nav-bounce{0%,100%{transform:rotate(0) scale(1)}28%{transform:rotate(-10deg) scale(1.14)}55%{transform:rotate(8deg) scale(1.05)}78%{transform:rotate(-3deg) scale(1.02)}}
@media(prefers-reduced-motion:reduce){.tiktok-link,.main-nav .tiktok-link::after,.tiktok-link svg{animation:none!important;transition:none!important}.main-nav .tiktok-link:hover::after,.main-nav .tiktok-link:focus-visible::after{transform:none}.tiktok-link:hover,.tiktok-link:focus-visible{transform:none}}

/* El enlace de TikTok usa ::before para el halo y deja libre ::after, que la navegación reserva para la barra naranja. */
.main-nav .tiktok-link::after{content:none!important;display:none!important}
.main-nav .tiktok-link::before{content:"";position:absolute;inset:-7px -9px;border-radius:999px;background:linear-gradient(120deg,rgba(37,244,238,.14),rgba(254,44,85,.14));opacity:0;transform:scale(.72);z-index:-1;transition:opacity .3s var(--ease),transform .45s var(--ease)}
.main-nav .tiktok-link:hover::before,.main-nav .tiktok-link:focus-visible::before{opacity:1;transform:scale(1)}
@media(max-width:980px){.main-nav>a.tiktok-link::before{display:none!important}}
@media(prefers-reduced-motion:reduce){.main-nav .tiktok-link::before{transition:none!important}.main-nav .tiktok-link:hover::before,.main-nav .tiktok-link:focus-visible::before{transform:none}}

/* En escritorio TikTok comparte la misma altura de enlace y halo que Instagram. */
@media(min-width:981px){.main-nav .tiktok-link{padding:0}}

@media(min-width:981px){.main-nav .tiktok-link{height:20px;min-height:20px;padding:0!important;line-height:20px;align-self:center}}

/* En teléfonos la promoción ocupa todo el ancho disponible y deja de mostrar tarjetas laterales. */
@media(max-width:600px){
  .promo-viewport{height:auto;min-height:0;aspect-ratio:8 / 5}
  .promo-track{gap:0}
  .promo-slide{flex:0 0 100%;width:100%;height:100%;border-radius:11px;transform:none;box-shadow:none}
  .promo-slide.is-active{transform:none}
  .promo-slide .promo-image{object-fit:contain;background:#0d2f5f;transform:none}
}

/* Compacta el inicio y el final de las páginas informativas en teléfonos. */
@media(max-width:600px){
  .privacy-page{padding:24px 0 20px;min-height:0}
  .privacy-page article{margin:0 12px;padding:24px 20px}
}

/* Iconos de flecha vectoriales para que todos los navegadores muestren la misma forma. */
.nav-cta>span>svg,.button>span>svg,.card-link>span>svg,.text-button>span>svg,.text-link>span>svg,.instagram-handle>span>svg,.google-rating-arrow>svg,.footer-address-link>span>svg,.back-to-top>span>svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.promo-arrow,.slider-btn{display:inline-flex;align-items:center;justify-content:center}
.promo-arrow>svg,.slider-btn>svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Boton discreto y claro para volver arriba. */
.back-to-top{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);color:#fff;box-shadow:0 5px 15px rgba(8,28,55,.2)}
.back-to-top>span{display:flex;align-items:center;justify-content:center}
.back-to-top>span>svg{width:19px;height:19px;stroke-width:1.8}
.back-to-top:hover,.back-to-top:focus-visible{background:var(--blue);color:#fff;box-shadow:0 7px 18px rgba(8,28,55,.24);outline:0}
@media(max-width:600px){.back-to-top{width:42px;height:42px}}
