:root{--navy:#0c0057;--dark:#07003a;--indigo:#2a1fb0;--red:#f90000;--lilac:#a9a3ff;--green:#1ac86f;--muted:#5f5b78;--pale:#f3f2fc;--line:#e4e2f3;--glass:#ffffffd9;--shadow:0 14px 40px #0c005714,0 2px 6px #0c00570a;--grad:linear-gradient(180deg,#3427c4 0%,#0c0057 100%)}
*{box-sizing:border-box}html{scroll-padding-top:110px;scroll-behavior:smooth}body{margin:0;color:var(--navy);font:16px/1.6 'DM Sans',sans-serif;background:#f6f6fd radial-gradient(1200px 700px at 85% -5%,#dedbff 0%,transparent 60%) no-repeat}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}img{max-width:100%;object-fit:cover;display:block}svg{width:22px;height:22px;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0}
.wrap{width:calc(100% - 96px);max-width:1240px;margin:auto}@media(min-width:1500px){.wrap{width:calc(100% - 160px);max-width:1640px}}.section{padding-top:80px;padding-bottom:40px}.section-tight{padding-top:50px;padding-bottom:40px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Outfit,sans-serif;font-weight:600;line-height:1.1}p{color:var(--muted)}
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:var(--shadow)}
.title{display:flex;align-items:center;justify-content:center;gap:24px;font-size:34px;letter-spacing:-.6px;text-align:center;margin-bottom:34px}.title:before,.title:after{content:'';height:2px;width:min(110px,12vw);border-radius:2px;background:linear-gradient(90deg,transparent,var(--indigo))}.title:after{transform:scaleX(-1)}
.button{min-height:50px;padding:13px 28px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;border:0;font-size:15px;font-weight:700;line-height:1.3;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button svg{width:19px;height:19px}.primary{color:#fff;background:var(--grad);box-shadow:inset 0 1px 0 #ffffff40,0 10px 22px #2a1fb042}.primary:hover{box-shadow:inset 0 1px 0 #ffffff40,0 14px 28px #2a1fb055}.outline{color:var(--navy);background:#fff;border:1.5px solid #c9c5f2;box-shadow:0 6px 16px #0c00570d}.white{color:var(--navy);background:#fff;box-shadow:0 10px 24px #07003a33}.green{background:var(--green);color:var(--dark);box-shadow:0 10px 22px #1ac86f40}.small{min-height:42px;padding:10px 20px;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--indigo)}
.skip{position:fixed;top:-100px;z-index:100;background:#fff;padding:15px}.skip:focus{top:0}:focus-visible{outline:3px solid var(--lilac);outline-offset:4px}
/* Header */
.site-header{position:sticky;top:14px;z-index:20;padding-top:14px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:72px;padding:0 12px 0 26px;border-radius:999px;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #fff;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:16px}.brand>img{width:140px;height:auto}.brand>span{display:flex;flex-direction:column;align-items:center;font-size:9px;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}.brand span img{width:66px;height:auto}.site-header nav{display:flex;gap:30px;font-size:14px;font-weight:600}.site-header nav a{position:relative;padding:6px 0}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--red);transform:scaleX(0);transition:transform .2s}.site-header nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}
/* Hero */
.hero{position:relative;margin-top:-86px;padding-top:86px;min-height:640px;overflow:hidden;isolation:isolate}.hero-photo{position:absolute;inset:0 0 0 40%;z-index:-1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 4%,rgba(0,0,0,.4) 9%,rgba(0,0,0,.75) 14%,#000 20%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) 4%,rgba(0,0,0,.45) 9%,rgba(0,0,0,.8) 14%,#000 19%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 4%,rgba(0,0,0,.4) 9%,rgba(0,0,0,.75) 14%,#000 20%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) 4%,rgba(0,0,0,.45) 9%,rgba(0,0,0,.8) 14%,#000 19%);mask-composite:intersect}.hero-photo img{width:100%;height:100%;object-position:30% 60%}.hero-content{padding:78px 0 120px}.hero-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--indigo);background:#ffffffb3;border:1px solid #fff;padding:7px 14px;border-radius:99px;box-shadow:0 6px 16px #0c00570d}.hero h1{font-size:64px;letter-spacing:-2px;line-height:1.03;margin-top:20px;max-width:620px}.hero h1 span{color:var(--red)}.hero p{max-width:440px;font-size:17px;margin-top:20px;color:#3d3866}.hero-actions{display:flex;gap:14px;margin-top:30px}.hero-stat{display:flex;align-items:center;gap:16px;margin-top:34px}.stack{display:flex}.stack img{width:42px;height:42px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px #0c00571f}.stack img+img{margin-left:-12px}.hero-stat b{font:600 24px/1.1 Outfit;display:block}.hero-stat span{font-size:13px;color:var(--muted)}
/* Buscador (widget Onlinetravel en iframe; su contenido no admite CSS externo) */
.booking{position:relative;z-index:3;margin-top:-84px}.booking-head{display:inline-flex;align-items:center;gap:10px;padding:9px 20px 9px 14px;border-radius:99px;font-size:13px;color:var(--muted)}.booking-head svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--grad);color:#fff}.booking-head b{font:600 16px Outfit;color:var(--navy)}.booking-frame{display:block;width:100%;height:var(--frame-h);border:0;background:transparent;margin-top:-4px}:root{--card-h:375px;--frame-h:525px}.booking+.wrap{position:relative;z-index:1;margin-top:calc(var(--card-h) - var(--frame-h))}
@media(max-width:1063px){:root{--card-h:490px;--frame-h:590px}}@media(max-width:823px){:root{--card-h:540px;--frame-h:630px}}@media(max-width:560px){.booking-head span{display:none}}
.perks{list-style:none;margin:26px 0 0;padding:20px 12px;border-radius:26px;display:grid;grid-template-columns:repeat(4,1fr)}.perks li{display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid var(--line)}.perks li:last-child{border:0}.perks svg{width:42px;height:42px;color:var(--indigo);stroke-width:1.2}.perks b{font:600 18px/1.2 Outfit;display:block}.perks span{font-size:13px;color:var(--muted)}
/* Paquetes */
.catalog-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-8px 0 30px}.catalog-tabs button{background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 20px;color:var(--navy);font-size:13px;font-weight:600;box-shadow:0 3px 10px #0c005708}.catalog-tabs .active{background:var(--grad);color:#fff;border-color:transparent}#result-status{text-align:center;font-size:13px;margin:-14px 0 20px}#result-status:empty{display:none}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.package{border-radius:24px;padding:10px;background:var(--glass);border:1px solid #fff;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.package:hover{transform:translateY(-4px);box-shadow:0 22px 50px #0c00571f}.package-image{height:220px;position:relative;overflow:hidden;border-radius:18px}.package-image img{width:100%;height:100%;object-position:center 40%;transition:transform .5s}.package:hover .package-image img{transform:scale(1.05)}.package-image .pill{position:absolute;top:12px;left:12px;background:#ffffffe6;color:var(--navy);font-size:11px;font-weight:700;padding:5px 12px;border-radius:99px}.price-badge{position:absolute;left:12px;bottom:12px;background:var(--grad);color:#fff;border-radius:99px;padding:6px 16px;font:600 20px/1.2 Outfit;box-shadow:0 8px 18px #07003a55}.price-badge small{font:700 11px 'DM Sans';margin-left:4px;opacity:.85}.package-body{padding:16px 10px 6px;display:flex;flex-direction:column;flex:1}.package h3{font-size:20px;line-height:1.2}.package .cities{font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.specs{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 4px;font-size:12px;font-weight:600;color:#3d3866}.specs span{display:inline-flex;align-items:center;gap:5px}.specs svg{width:15px;height:15px;color:var(--indigo)}.package .tax{font-size:12px;margin:6px 0 14px}.package .itinerary{margin-top:auto;width:100%;min-height:44px;font-size:14px}
.catalog-bottom{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:30px;text-align:center}.catalog-bottom p{font-size:11px;max-width:620px;color:#8a86a3}
/* Destinos */
.destination-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.destination{position:relative;height:190px;border-radius:20px;overflow:hidden;border:5px solid #fff;box-shadow:var(--shadow);color:#fff;isolation:isolate}.destination img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .5s}.destination:hover img{transform:scale(1.07)}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07003acc,transparent 55%);z-index:-1}.destination span{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:600 18px Outfit}
/* Promo bloqueos */
.promo{position:relative;margin-top:50px;height:230px;border-radius:26px;overflow:hidden;border:5px solid #fff;box-shadow:var(--shadow);isolation:isolate;display:flex;align-items:center}.promo>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 62%;z-index:-2}.promo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6f6fd 0%,#f6f6fdf0 30%,#f6f6fd60 55%,transparent 75%);z-index:-1}.promo-copy{padding:0 56px}.promo h2{font-size:34px;letter-spacing:-.6px}.promo h2 span{color:var(--indigo)}.promo-actions{display:flex;gap:12px;margin-top:20px}
/* Pasos */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.steps:before{content:'';position:absolute;top:44px;left:12.5%;right:12.5%;border-top:2px dashed #b9b4f0;z-index:-1}.steps li{text-align:center;display:flex;flex-direction:column;align-items:center}.bubble{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#eceaff);border:4px solid #fff;box-shadow:0 12px 28px #2a1fb026;margin-bottom:16px}.bubble svg{width:38px;height:38px;color:var(--indigo)}.steps b{font:600 17px Outfit}.steps small{font-size:13px;color:var(--muted);margin-top:3px}
/* Franquicia */
.franchise{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.franchise-card{display:grid;grid-template-columns:.85fr 1fr;gap:24px;align-items:center;border-radius:26px;padding:12px}.franchise-card>img{width:100%;height:100%;min-height:280px;border-radius:20px}.franchise-card>div{padding:10px 14px 10px 0}.fraveo-logo{width:130px;height:auto}.franchise-card h3{font-size:24px;margin:14px 0 10px}.franchise-card p{font-size:14px;margin-bottom:20px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.plan{display:flex;align-items:center;gap:16px;border-radius:22px;padding:18px}.plan-badge{width:58px;height:58px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font:600 24px Outfit;border:3px solid #fff;box-shadow:0 8px 18px #2a1fb033}.plan:nth-child(4) .plan-badge{background:linear-gradient(180deg,#ff3b3b,#c40000)}.plan h3{font-size:15px;color:var(--muted);font-weight:500}.plan b{font:600 24px/1.2 Outfit;display:block}.plan small{font-size:11px;color:var(--muted)}.plans-note{grid-column:1/-1;font-size:11px;text-align:right}
/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card a{display:flex;gap:16px;align-items:center;height:100%;padding:14px;border-radius:22px;background:var(--glass);border:1px solid #fff;box-shadow:var(--shadow);transition:transform .25s}.blog-card a:hover{transform:translateY(-3px)}.blog-card img{width:96px;height:96px;flex-shrink:0;border-radius:50%;border:4px solid #fff;box-shadow:0 6px 16px #0c00571f}.blog-card .topic{display:block;font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--red);margin-bottom:5px}.blog-card h3{font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card .read{display:block;font-size:12px;font-weight:700;color:var(--indigo);margin-top:8px}.center-link{text-align:center;margin-top:26px}
/* Contacto */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.faq-card,.quote-form{border-radius:26px;padding:30px 34px}details{border-bottom:1px solid var(--line);padding:16px 0}details:first-child{padding-top:0}summary{cursor:pointer;font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:20px;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--indigo);font-size:18px;font-weight:400;line-height:1}details[open] summary:after{content:'−';background:var(--grad);color:#fff}details p{font-size:14px;padding:10px 30px 0 0}details p a{color:var(--indigo);font-weight:600;text-decoration:underline}.faq-card{display:flex;flex-direction:column}.contact-lines{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:auto;padding-top:22px;font-size:14px;font-weight:600}.contact-lines a{display:inline-flex;align-items:center;gap:8px}.contact-lines svg{width:18px;height:18px;color:var(--indigo)}.quote-form h3{font-size:26px;margin-bottom:20px}.quote-form label:not(.consent){display:block;font-size:12px;font-weight:600;color:var(--muted)}.quote-form input:not([type=checkbox]){width:100%;display:block;border:1px solid var(--line);border-radius:14px;background:#fff;margin:6px 0 14px;padding:12px 14px;font-size:14px;color:var(--navy);min-height:46px;min-width:0}.quote-form input:focus{outline:2px solid var(--lilac);outline-offset:1px}.form-row{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.consent{display:flex;gap:9px;font-size:11px;color:var(--muted);align-items:flex-start;margin:4px 0 18px}.consent input{margin-top:3px;accent-color:var(--navy)}.inline-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}.quote-form>.button{width:100%}.form-note{font-size:11px;text-align:center;margin-top:10px}
/* CTA */
.cta{position:relative;margin-top:70px;padding:70px 0 80px;text-align:center;color:#fff;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#2a1fb0 0%,#0c0057 100%);border-radius:48px 48px 0 0}.cta>img{position:absolute;left:0;right:0;bottom:0;width:100%;height:65%;object-position:center 45%;opacity:.35;mix-blend-mode:luminosity;z-index:-1;-webkit-mask-image:linear-gradient(0deg,#000 30%,transparent);mask-image:linear-gradient(0deg,#000 30%,transparent)}.cta h2{font-size:46px;letter-spacing:-1px;margin-bottom:26px;text-shadow:0 4px 20px #07003a80}.cta .button{min-height:56px;padding:0 34px;font-size:16px}
/* Footer */
footer{background:var(--dark);color:#fff;padding:56px 0 22px}.footer-main{display:grid;grid-template-columns:1.3fr .8fr .9fr .8fr 1.3fr;gap:36px}.footer-brand>img:first-child{background:#fff;border-radius:12px;padding:8px 10px;width:170px;height:auto}.footer-brand p{color:#c6c1df;font-size:13px;margin:16px 0}.social{display:flex;gap:10px}.footer-main .social a{width:38px;height:38px;margin:0;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff40;color:#fff}.social svg{width:18px;height:18px}.footer-main h3{font:600 16px Outfit;margin-bottom:16px}.footer-main a,.footer-main .inline-link{display:block;font-size:13px;color:#c6c1df;margin-bottom:9px;text-decoration:none;text-align:left}.footer-contact p{font-size:13px;color:#c6c1df;margin-bottom:14px}.footer-contact .button{display:inline-flex;color:var(--dark);margin-bottom:14px}.footer-bottom{border-top:1px solid #ffffff1f;display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:20px;font-size:12px;color:#b8b2d4}.footer-fraveo{background:#fff;padding:5px 8px;border-radius:6px;height:auto;width:100px}
.whatsapp-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:30;display:grid;place-items:center;background:var(--green);width:56px;height:56px;border-radius:50%;border:3px solid #fff;color:#fff;box-shadow:0 8px 25px #0003}.whatsapp-float svg{width:28px;height:28px}
dialog{max-width:560px;width:calc(100% - 36px);border:0;border-radius:25px;padding:35px;color:var(--navy)}dialog::backdrop{background:#07003ab8}dialog h2{font-size:28px;margin-bottom:25px}dialog p{font-size:14px;margin-bottom:15px}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px;color:var(--navy)}.noscript{background:#fff;padding:20px;color:var(--navy)}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:20px;font-size:13px}.header-inner{gap:18px}.brand>img{width:120px}.hero h1{font-size:54px}.package-grid{gap:18px}.destination-grid{gap:12px}.destination{height:170px}.franchise{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr 1fr;gap:30px}.footer-brand,.footer-contact{grid-column:span 1}}
@media(max-width:900px){.header-cta{display:none}.site-header nav{gap:14px}.brand>span{display:none}.hero-photo{inset:0 0 0 20%}.hero h1{font-size:48px}.perks{grid-template-columns:1fr 1fr;gap:18px 0}.perks li:nth-child(2){border:0}.package-grid{grid-template-columns:1fr 1fr}.destination-grid{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 14px;margin:-4px -4px 0;scrollbar-width:none}.destination-grid::-webkit-scrollbar{display:none}.destination{scroll-snap-align:start}.blog-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.franchise-card{grid-template-columns:1fr 1.2fr}}
@media(max-width:720px){body{font-size:15px}.wrap{width:calc(100% - 32px)}.title{font-size:26px;gap:12px;margin-bottom:26px}.title:before,.title:after{width:28px;flex-shrink:0}.section{padding-top:56px}.section-tight{padding-top:36px}.site-header{top:8px;padding-top:8px}.header-inner{min-height:62px;padding:0 8px 0 18px}.brand>img{width:118px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--pale);border:0;border-radius:50%;width:44px;height:44px}.menu-toggle span{height:2px;width:18px;border-radius:2px;background:var(--navy)}.site-header nav{display:none;position:absolute;top:calc(100% + 8px);left:16px;right:16px;flex-direction:column;gap:0;background:#fff;padding:12px;border-radius:22px;box-shadow:var(--shadow);font-size:16px}.site-header nav.open{display:flex}.site-header nav a{padding:12px 14px}.site-header nav a:after{display:none}.hero{margin-top:-70px;padding-top:70px;min-height:0}.hero-photo{inset:0;-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 30%);mask-image:linear-gradient(0deg,transparent 0%,#000 30%);mask-composite:add;-webkit-mask-composite:source-over}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f6f6fdcc 0%,#f6f6fdee 55%,#f6f6fd 100%)}.hero-content{padding:44px 0 100px}.hero h1{font-size:40px;letter-spacing:-1.2px}.hero p{font-size:15px}.hero p br{display:none}.hero-actions{flex-direction:column;align-items:stretch}.perks{padding:16px 6px}.perks li{flex-direction:column;text-align:center;gap:6px}.perks svg{width:34px;height:34px}.perks b{font-size:15px}.perks span{font-size:12px}.package-grid{grid-template-columns:1fr}.promo{height:auto;padding:36px 0}.promo:after{background:linear-gradient(90deg,#f6f6fdf2,#f6f6fdcc)}.promo-copy{padding:0 22px}.promo h2{font-size:24px}.promo-actions{flex-wrap:wrap}.steps{grid-template-columns:1fr 1fr;gap:28px 10px}.steps:before{display:none}.bubble{width:74px;height:74px}.bubble svg{width:30px;height:30px}.steps b{font-size:15px}.steps small{font-size:12px}.franchise-card{grid-template-columns:1fr}.franchise-card>img{min-height:0;height:200px}.franchise-card>div{padding:4px 10px 12px}.plans{grid-template-columns:1fr 1fr;gap:12px}.plan{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.plan-badge{width:44px;height:44px;font-size:19px}.plan b{font-size:21px}.plans-note{text-align:left}.faq-card,.quote-form{padding:24px 20px}.form-row{grid-template-columns:1.3fr .7fr;gap:10px}.cta{padding:56px 0 64px;border-radius:32px 32px 0 0}.cta h2{font-size:32px}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:14px}.whatsapp-float{right:10px;width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Páginas interiores */
.page-hero{position:relative;margin-top:-86px;padding-top:86px;overflow:hidden;isolation:isolate}.page-hero .hero-photo{inset:0 0 0 40%}.page-hero-content{padding:56px 0 64px}.page-hero-content>*{max-width:640px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0;font-size:13px;color:var(--muted)}.breadcrumb li+li:before{content:'/';margin-right:8px;color:#b9b4f0}.breadcrumb a{color:var(--indigo);font-weight:600}.page-hero h1{font-size:54px;letter-spacing:-1.6px;line-height:1.05;margin-top:16px}.page-hero h1 span{color:var(--red)}.page-hero .lead{font-size:17px;color:#3d3866;margin-top:18px;max-width:540px}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}.prose h2{font-size:32px;letter-spacing:-.6px;margin-bottom:16px}.prose h3{font-size:21px;margin:26px 0 10px}.prose p{font-size:16px;margin-bottom:14px}.prose ul{margin:0 0 14px;padding-left:20px;color:var(--muted)}.prose li{margin-bottom:6px}.prose strong{color:var(--navy)}.aside-card{border-radius:26px;padding:12px}.aside-card>img{width:100%;height:260px;border-radius:20px}.aside-card .aside-body{padding:18px 14px 10px}.aside-card h3{font-size:20px;margin-bottom:12px}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#3d3866;padding:8px 0;border-bottom:1px solid var(--line)}.checklist li:last-child{border:0}.checklist svg{width:20px;height:20px;color:var(--green);margin-top:1px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.info-card{border-radius:24px;padding:24px}.info-card .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#eceaff);box-shadow:0 8px 18px #2a1fb01f;margin-bottom:16px}.info-card .ic svg{width:26px;height:26px;color:var(--indigo)}.info-card h3{font-size:19px;margin-bottom:8px}.info-card p{font-size:14px}.info-card .places{font-size:13px;color:var(--indigo);font-weight:600;margin-top:12px}.info-card .big{font:600 30px/1.1 Outfit;color:var(--navy);margin:2px 0 6px}
.center-lead{text-align:center;max-width:640px;margin:-14px auto 28px;font-size:16px}
.widget-card{border-radius:26px;padding:10px;overflow:hidden}.widget-card iframe{display:block;width:100%;height:min(85vh,1100px);min-height:620px;border:0;border-radius:18px;background:#faf6f2}.widget-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:12px;margin:14px 6px 0;color:#8a86a3}.widget-note a{color:var(--indigo);font-weight:700}
.compare-wrap{border-radius:26px;padding:8px;overflow-x:auto}.compare{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.compare th,.compare td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--line)}.compare th:first-child,.compare td:first-child{text-align:left;color:#3d3866}.compare thead th{font:600 16px Outfit;color:var(--navy);vertical-align:bottom}.compare thead small{display:block;font:600 20px Outfit;color:var(--indigo);margin-top:2px}.compare tbody tr:last-child td{border:0}.compare .yes{color:var(--green);font-weight:700}.compare .no{color:#c4c0d8}.compare-note{font-size:12px;margin:12px 6px 0;color:#8a86a3}
.plan-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.plan-cards .plan{flex-direction:column;align-items:flex-start;gap:12px}.plan-cards .plan p{font-size:13px}
.page-cta{border-radius:28px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--grad);color:#fff;box-shadow:0 20px 40px #2a1fb033}.page-cta h2{font-size:30px}.page-cta p{color:#dcd9ff;margin-top:8px}.page-cta .actions{display:flex;gap:12px;flex-wrap:wrap}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related a{position:relative;height:170px;border-radius:22px;overflow:hidden;border:5px solid #fff;box-shadow:var(--shadow);color:#fff;isolation:isolate;display:flex;align-items:flex-end;padding:18px}.related img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .5s}.related a:hover img{transform:scale(1.06)}.related a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07003ad9,transparent 65%);z-index:-1}.related b{font:600 19px Outfit;display:block}.related span{font-size:12px;opacity:.85}
.site-header nav a[aria-current=page]{color:var(--red)}
@media(max-width:1000px){.split{grid-template-columns:1fr}.card-grid,.card-grid.four{grid-template-columns:1fr 1fr}.plan-cards{grid-template-columns:1fr 1fr}.page-cta{flex-direction:column;align-items:flex-start}.page-hero h1{font-size:46px}}
@media(max-width:720px){.page-hero{margin-top:-70px;padding-top:70px}.page-hero .hero-photo{inset:0}.page-hero-content{padding:36px 0 44px}.page-hero h1{font-size:36px;letter-spacing:-1px}.page-hero .lead{font-size:15px}.prose h2{font-size:26px}.card-grid,.card-grid.four{grid-template-columns:1fr}.info-card{padding:20px}.widget-card{padding:6px;border-radius:20px}.widget-card iframe{height:80vh;min-height:520px;border-radius:14px}.page-cta{padding:28px 22px}.page-cta h2{font-size:24px}.related{grid-template-columns:1fr}.related a{height:140px}.aside-card>img{height:200px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.compare tbody th{font-weight:400;text-align:left;color:#3d3866}
.compare tbody tr:last-child th{border:0}.prose a{color:var(--indigo);font-weight:600;text-decoration:underline}
/* Hero de portada: foto a todo el ancho con degradado navy bajo el texto */
.hero .hero-photo{inset:0;-webkit-mask-image:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.5) 6%,#000 14%);mask-image:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.5) 6%,#000 14%);-webkit-mask-composite:source-over;mask-composite:add}.hero .hero-photo img{object-position:center 58%}.hero .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07003ad9 0%,#0c0057a6 30%,#0c005740 55%,transparent 75%)}
.hero h1,.hero-stat b{color:#fff}.hero h1 span{color:#ff4d4d}.hero p{color:#ebe9ff}.hero-stat span{color:#d4d0f5}.hero .hero-kicker{color:#fff;background:#ffffff1f;border-color:#ffffff40;box-shadow:none;backdrop-filter:blur(8px)}.hero .outline{color:#fff;background:#ffffff1a;border-color:#ffffff80;box-shadow:none;backdrop-filter:blur(8px)}.hero .primary{background:linear-gradient(180deg,#ff2a2a,#d10000);box-shadow:0 10px 22px #f9000040}
@media(max-width:720px){.hero .hero-photo:after{background:linear-gradient(180deg,#07003acc 0%,#0c0057b3 60%,#0c005766 100%)}}
/* Itinerario en ventana emergente */
.itinerary-dialog{width:min(1100px,calc(100% - 32px));max-width:none;height:min(92vh,1000px);padding:0;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px #07003a66}.itinerary-dialog[open]{display:flex;flex-direction:column}.itinerary-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 16px 26px;background:var(--grad);color:#fff}.itinerary-code{font-size:12px;font-weight:700;letter-spacing:1px;color:#c8c4ff}.itinerary-head h2{font-size:22px;margin:2px 0 0;line-height:1.2}.itinerary-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.itinerary-close{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff60;background:#ffffff1a;color:#fff;font-size:24px;line-height:1}.itinerary-dialog iframe{flex:1;width:100%;border:0;background:#f5f5f7}
@media(max-width:720px){.itinerary-dialog{width:100%;height:100%;max-height:none;border-radius:0;margin:0}.itinerary-head{padding:12px 12px 12px 16px}.itinerary-head h2{font-size:16px}.itinerary-actions .button span{display:none}.itinerary-actions .button{padding:10px 12px}}
/* Playas de México */
.beach-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.beach-card{border-radius:24px;padding:10px;transition:transform .25s,box-shadow .25s}.beach-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #0c00571f}.beach-card a{display:flex;flex-direction:column;height:100%}.beach-photo{position:relative;height:190px;border-radius:18px;overflow:hidden}.beach-photo img{width:100%;height:100%;transition:transform .5s}.beach-card:hover .beach-photo img{transform:scale(1.06)}.beach-photo .pill{position:absolute;top:10px;left:10px;background:#ffffffe6;color:var(--navy);font-size:10px;font-weight:700;padding:5px 10px;border-radius:99px;backdrop-filter:none}.beach-body{padding:14px 8px 6px;display:flex;flex-direction:column;flex:1}.beach-body h3{font-size:19px}.beach-body p{font-size:13px;margin:6px 0 14px}.beach-body .button{margin-top:auto;width:100%;font-size:12px;padding:10px 12px}
@media(max-width:1150px){.beach-grid{grid-template-columns:repeat(5,minmax(210px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 16px;margin:-6px -6px 0;scrollbar-width:none}.beach-grid::-webkit-scrollbar{display:none}.beach-card{scroll-snap-align:start}}
@media(max-width:720px){.beach-grid{grid-template-columns:repeat(5,74%)}}
.header-cta{white-space:nowrap}@media(max-width:1150px){.site-header nav{gap:16px}.header-inner{padding-left:20px}}
@media(max-width:1060px){.brand>span{display:none}}@media(max-width:720px){.brand>span{display:flex}}
/* Testimonios y extras de franquicia */
.faq-a{font-size:14px;color:var(--muted);padding:10px 30px 0 0}.faq-a p{padding:0;margin:0 0 10px}.faq-a ul,.faq-a ol{margin:0 0 10px;padding-left:20px}.faq-a li{margin-bottom:4px}.faq-a a{color:var(--indigo);font-weight:600;text-decoration:underline}.faq-a strong{color:var(--navy)}
.compare-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.compare-foot .compare-note{margin:0 6px}
.yt-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:26px}.yt{border-radius:22px;padding:8px 8px 14px;text-align:left;color:var(--navy);font:inherit;display:flex;flex-direction:column;gap:2px}.yt-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;margin-bottom:10px;background:#000}.yt-thumb img{width:100%;height:100%}.yt-thumb iframe{width:100%;height:100%;border:0}.yt-play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:var(--red);box-shadow:0 8px 20px #0006}.yt-play:after{content:'';position:absolute;left:21px;top:16px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}.yt b{font:600 15px Outfit;padding:0 6px}.yt small{font-size:12px;color:var(--muted);padding:0 6px}.yt.playing{cursor:default}
.t-grid{columns:3 320px;column-gap:20px}.testimonial{break-inside:avoid;border-radius:24px;padding:22px;margin-bottom:20px}.t-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.t-avatar{width:46px;height:46px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font:600 20px Outfit}.t-head b{display:block;font:600 16px Outfit}.t-head a{font-size:12px;color:var(--indigo);font-weight:600}.t-quote{font-size:14px;color:#3d3866}.t-more{border:0;padding:10px 0 0}.t-more summary{font-size:13px;color:var(--indigo);justify-content:flex-start;gap:8px}.t-more summary:after{width:auto;height:auto;background:none;font-size:15px}.t-more[open] summary:after{background:none;color:var(--indigo)}.t-more p{font-size:13px;padding:8px 0 0}
.form-sub{font-size:14px;margin:-12px 0 18px}.prose h3 small{font:400 13px 'DM Sans';color:var(--muted)}
@media(max-width:1000px){.yt-grid{grid-template-columns:repeat(5,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 14px;scrollbar-width:none}.yt-grid::-webkit-scrollbar{display:none}.yt{scroll-snap-align:start}}
@media(max-width:720px){.yt-grid{grid-template-columns:repeat(5,78%)}.faq-a{padding-right:0}}
/* Hero: animación de avión y ruta */
.hero-content{position:relative;z-index:1}.hero-anim{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-anim svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .7s}.hero-anim svg.fading{opacity:0}.route-line{opacity:.9}
.pin .pin-dot{fill:#fff;stroke:var(--red);stroke-width:3}.pin .pin-halo{fill:#ffffff40;opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s,transform .4s}.pin-label{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.pin-label rect{fill:#0c0057e6}.pin-label text{fill:#fff;font:600 15px Outfit,sans-serif}
.pin.on .pin-halo{opacity:1;transform:scale(1);animation:pin-pulse 1.8s ease-out infinite}.pin.on .pin-label{opacity:1;transform:translateY(0)}
@keyframes pin-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@media(max-width:720px){.hero-anim svg{opacity:.55}.pin-label{display:none}}
/* Hero: nubes que cruzan hacia el texto y se desvanecen antes de llegar a él */
.clouds{position:absolute;inset:0 0 25% 0;-webkit-mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.5) 42%,#000 58%);mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.5) 42%,#000 58%)}
.cloud{position:absolute;left:100%;width:210px;height:54px;border-radius:54px;background:#fff;opacity:.78;filter:blur(3px);animation:cloud-drift linear infinite}.cloud:before,.cloud:after{content:'';position:absolute;border-radius:50%;background:#fff}.cloud:before{width:92px;height:92px;left:36px;top:-46px;box-shadow:64px 18px 0 -14px #fff}.cloud:after{width:60px;height:60px;left:14px;top:-22px}
.cloud.c1{top:200px;animation-duration:48s;animation-delay:-14s}.cloud.c2{top:330px;transform:scale(.6);opacity:.6;animation-duration:66s;animation-delay:-40s}.cloud.c3{top:155px;transform:scale(.8);opacity:.65;animation-duration:80s;animation-delay:-64s}
@keyframes cloud-drift{from{translate:0 0}to{translate:calc(-100vw - 320px) 0}}
@media(max-width:720px){.clouds{display:none}}
@media(prefers-reduced-motion:reduce){.clouds{display:none}}
/* Noticias de socios */
.news-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:-6px 0 26px}.news-search{display:flex;align-items:center;gap:10px;flex:1;max-width:520px;padding:12px 20px;border-radius:999px}.news-search svg{width:20px;height:20px;color:var(--indigo)}.news-search input{border:0;background:none;width:100%;font:600 15px 'DM Sans';color:var(--navy);outline:none}#news-status{font-size:14px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{border-radius:24px;padding:10px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.news-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #0c00571f}
.news-photo{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--pale)}.news-photo img{width:100%;height:100%;object-position:center top;transition:transform .5s}.news-card:hover .news-photo img{transform:scale(1.04)}.news-photo .pill{position:absolute;left:12px;bottom:12px;background:#ffffffeb;color:var(--navy);font-size:11px;font-weight:700;padding:5px 12px;border-radius:99px;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:none}
.news-body{padding:16px 10px 8px;display:flex;flex-direction:column;gap:8px;flex:1}.news-date{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red)}.news-body h3{font-size:18px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-body p{font-size:14px;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.news-read{align-self:flex-start;margin-top:4px}
.news-dialog{max-width:760px;width:calc(100% - 32px);padding:0;border-radius:26px}.news-dialog-body{padding:34px}.news-dialog-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}.news-dialog-head .pill{background:var(--pale);color:var(--navy);font-size:12px;font-weight:700;padding:5px 12px}.news-dialog h2{font-size:26px;margin-bottom:18px}.news-dialog-img{margin:0 0 20px;border-radius:18px;overflow:hidden;background:var(--pale)}.news-dialog-img img{width:100%;max-height:62vh;object-fit:contain}.news-dialog p{font-size:15px;margin-bottom:12px;color:#3d3866}.news-dialog .button{margin-top:6px}.news-dialog .dialog-close{z-index:2;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 4px 14px #0c005722;top:14px;right:14px}
@media(max-width:1000px){.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.news-grid{grid-template-columns:1fr}.news-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;border-radius:0}.news-dialog-body{padding:26px 18px}.news-dialog h2{font-size:22px;padding-right:36px}}
/* Destinos, Paquetes, Quiénes somos, RNT y Términos */
.tips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;counter-reset:tip}.tips li{position:relative;border-radius:22px;padding:20px 22px 20px 72px;counter-increment:tip}.tips li:before{content:counter(tip);position:absolute;left:20px;top:20px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font:600 16px Outfit}.tips b{font:600 17px/1.3 Outfit;color:var(--navy);display:block;margin-bottom:4px}.tips p{font-size:14px}
.related-4{grid-template-columns:repeat(4,1fr)}
.rnt-cert{margin:0;border-radius:26px;padding:12px}.rnt-cert img{width:100%;height:auto;border-radius:18px;object-fit:contain;background:#fff}
.page-hero-plain{margin-top:-86px;padding-top:86px}.page-hero-plain .page-hero-content{padding-bottom:20px}
.legal{max-width:900px;margin:0 auto;padding:36px 40px}.legal h2{font-size:20px;margin:28px 0 10px}.legal h2:first-child{margin-top:0}.legal p{font-size:14.5px;line-height:1.75}
.widget-card iframe.civitatis{height:760px;min-height:0;background:#fff}
@media(max-width:1000px){.related-4{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.tips{grid-template-columns:1fr}.tips li{padding:18px 18px 18px 64px}.tips li:before{left:16px;top:18px;width:32px;height:32px}.related-4{grid-template-columns:1fr}.legal{padding:24px 18px}.page-hero-plain{margin-top:-70px;padding-top:70px}.widget-card iframe.civitatis{height:1300px}}
.widget-bar{position:sticky;top:110px;z-index:15;display:flex;justify-content:center;padding:0 0 12px;pointer-events:none}.widget-bar .button{pointer-events:auto;box-shadow:0 10px 26px #0c005740}.widget-bar[hidden]{display:none}
@media(max-width:720px){.widget-bar{top:84px}}
.page-hero:not(.page-hero-plain) .hero-photo{inset:0;-webkit-mask-image:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.5) 6%,#000 14%);mask-image:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.5) 6%,#000 14%);-webkit-mask-composite:source-over;mask-composite:add}.page-hero .hero-photo img{object-position:center 55%}.page-hero:not(.page-hero-plain) .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07003ae6 0%,#0c0057b3 35%,#0c005752 62%,transparent 85%)}
.page-hero:not(.page-hero-plain) .page-hero-content{padding:64px 0 96px}.page-hero:not(.page-hero-plain) h1{color:#fff}.page-hero:not(.page-hero-plain) h1 span{color:#ff4d4d}.page-hero:not(.page-hero-plain) .lead{color:#ebe9ff}.page-hero:not(.page-hero-plain) .breadcrumb,.page-hero:not(.page-hero-plain) .breadcrumb a,.page-hero:not(.page-hero-plain) .breadcrumb li{color:#ffffffd9}.page-hero:not(.page-hero-plain) .breadcrumb li:before{color:#ffffff80}.page-hero:not(.page-hero-plain) .hero-kicker{color:#fff;background:#ffffff1f;border-color:#ffffff40;box-shadow:none;backdrop-filter:blur(8px)}.page-hero:not(.page-hero-plain) .outline{color:#fff;background:#ffffff1a;border-color:#ffffff80;box-shadow:none;backdrop-filter:blur(8px)}.page-hero:not(.page-hero-plain) .primary{background:linear-gradient(180deg,#ff2a2a,#d10000);box-shadow:0 10px 22px #f9000040}
@media(max-width:720px){.page-hero:not(.page-hero-plain) .hero-photo:after{background:linear-gradient(180deg,#07003acc 0%,#0c0057b3 60%,#0c005780 100%)}.page-hero:not(.page-hero-plain) .page-hero-content{padding:36px 0 64px}}
