:root{--text:#0b1220;--primary:#2563eb;--primary-600:#1d4ed8;--surface:#ffffff;--accent:#f97316}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;line-height:1.5;color:var(--text);background:#0b1220}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo img{height:64px;width:auto;display:block}
.logo-img{filter: drop-shadow(0 1px 1px rgba(0,0,0,.18));}
.logo-text{display:none;color:#fff;font-weight:700}
.nav-right{display:flex;align-items:center;gap:22px}
.nav-links a{color:#fff;margin-left:16px;text-decoration:none}
.nav-links a:hover{opacity:.9}
.social-links{display:inline-flex;gap:14px}
.social-links a{color:var(--accent);opacity:1}
.social-links a:hover{filter:brightness(1.1)}
.social-links svg{width:28px;height:28px;display:block}
.hero{position:relative;min-height:90vh;display:flex;align-items:center}
.video-bg{position:absolute;inset:0;overflow:hidden;background:#000}
.video-iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120vw;height:120vh;pointer-events:none}
.video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55))}
.hero-content{position:relative;width:100%;color:#fff}
.hero-text{max-width:760px;margin:14vh 0}
.hero-text h1{font-size:48px;line-height:1.1;margin:0 0 12px}
.hero-text p{opacity:.95;margin:0 0 16px}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;border:1px solid transparent;text-decoration:none}
.btn.primary{background:var(--primary)}
.btn.ghost{background:transparent;border-color:#fff;color:#fff}
.btn:hover{background:var(--primary-600)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.cta .btn{margin-right:10px}
main{background:#f8fafc;color:#0b1220}
.section{padding:60px 0}
.section.alt{background:#fff}
.section h2{margin:0 0 12px}
.section p{margin:0 0 12px;color:#334155;max-width:900px}
.section h3{margin:22px 0 8px}
.bullet-list{margin:10px 0 0 0;padding-left:20px;color:#334155}
.bullet-list li{margin:10px 0}

/* Marca de agua Big Ben a la derecha, ocupando ~50% */
.wm-bigben{position:relative}
.wm-bigben .container{position:relative;z-index:1}

/* Postal flotante entre franjas */
.postal-float{position:relative}
.postal-float::after{
  content:"";position:absolute;right:20px;top:60px;width:42vw;max-width:560px;height:560px;
  background:
    url('../../img/londres.jpg') center/cover no-repeat,
    url('https://images.unsplash.com/photo-1473953035125-c5f2a4b14433?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
  border:10px solid rgba(255,255,255,.9);
  border-radius:12px;box-shadow:0 25px 50px rgba(0,0,0,.2);
  transform:rotate(2deg);
  opacity:.22;pointer-events:none;z-index:2
}
@media (max-width:900px){
  .postal-float::after{width:60vw;height:60vw;top:30px;opacity:.18}
}

/* Postal flotante izquierda entre Servicios y Misión */
.postal-float-left{position:relative}
.postal-float-left::before{
  content:"";position:absolute;left:20px;bottom:-60px;width:42vw;max-width:520px;height:520px;
  background:
    url('../../img/timbre.jpg') center/cover no-repeat;
  border:10px solid rgba(255,255,255,.9);
  border-radius:12px;box-shadow:0 25px 50px rgba(0,0,0,.2);
  transform:rotate(-3deg);
  opacity:.22;pointer-events:none;z-index:2
}
@media (max-width:900px){
  .postal-float-left::before{width:60vw;height:60vw;bottom:-30px;opacity:.18}
}

/* Postal flotante derecha entre Principios y Blog */
.postal-float-right{position:relative}
.postal-float-right::after{
  content:"";position:absolute;right:20px;bottom:-60px;width:42vw;max-width:520px;height:520px;
  background:
    url('../../img/turquia.jpg') center/cover no-repeat;
  border:10px solid rgba(255,255,255,.9);
  border-radius:12px;box-shadow:0 25px 50px rgba(0,0,0,.2);
  transform:rotate(2deg);
  opacity:.22;pointer-events:none;z-index:2
}
@media (max-width:900px){
  .postal-float-right::after{width:60vw;height:60vw;bottom:-30px;opacity:.18}
}

/* Grid de destinos */
.destinos-title{display:flex;gap:10px;letter-spacing:2px;margin-bottom:24px}
.destinos-title span{display:inline-block;font-size:72px;font-weight:900;line-height:1;border-radius:10px;padding:12px 16px;color:transparent;-webkit-text-stroke:2px #111827;text-stroke:2px #111827;background-clip:text;-webkit-background-clip:text}
.destinos-title span:nth-child(1){background-image:url('https://flagcdn.com/w320/us.png')}
.destinos-title span:nth-child(2){background-image:url('https://flagcdn.com/w320/it.png')}
.destinos-title span:nth-child(3){background-image:url('https://flagcdn.com/w320/de.png')}
.destinos-title span:nth-child(4){background-image:url('https://flagcdn.com/w320/in.png')}
.destinos-title span:nth-child(5){background-image:url('https://flagcdn.com/w320/mx.png')}
.destinos-title span:nth-child(6){background-image:url('https://flagcdn.com/w320/ca.png')}
.destinos-title span:nth-child(7){background-image:url('https://flagcdn.com/w320/fr.png')}
.destinos-title span:nth-child(8){background-image:url('https://flagcdn.com/w320/es.png')}
.destinos-title span:nth-child(2){background-size:160% 140%;background-position:20% center}
.destinos-title span:nth-child(7){background-size:160% 140%;background-position:80% center}
.destinos-title span{background-size:cover;background-position:center;filter:drop-shadow(0 8px 16px rgba(2,6,23,.25))}
.destinos-title span:hover{transform:translateY(-2px);}

@media (max-width:900px){
  .destinos-title span{font-size:48px;padding:10px 14px;-webkit-text-stroke:1.5px #111827}
}
@media (max-width:560px){
  .destinos-title{gap:6px}
  .destinos-title span{font-size:38px;padding:8px 10px;-webkit-text-stroke:1.2px #111827}
}
.destinos-grid{display:grid;grid-template-columns:repeat(5, minmax(0,1fr));gap:14px}
@media (max-width:1100px){.destinos-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.destinos-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.destinos-grid{grid-template-columns:1fr}}

.tile{position:relative;padding-top:135%;display:block;border-radius:16px;overflow:hidden;box-shadow:0 14px 28px rgba(2,6,23,.18);background:#fff;color:#fff;text-decoration:none;border:10px solid #ffffff}
.tile::before{content:"";position:absolute;inset:0;opacity:.68;background-size:cover;background-position:center;border-radius:8px}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.0),rgba(0,0,0,.35));border-radius:8px}
.tile span{position:absolute;left:12px;bottom:10px;z-index:2;font-weight:700;letter-spacing:.3px}

/* Efecto ligera inclinación tipo postal */
.destinos-grid .tile:nth-child(odd){transform:rotate(-0.6deg)}
.destinos-grid .tile:nth-child(even){transform:rotate(0.6deg)}
.destinos-grid .tile:hover{transform:rotate(0deg) scale(1.01)}

/* Tours grid */
.tours-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:16px}
@media (max-width:1100px){.tours-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.tours-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.tours-grid{grid-template-columns:1fr}}
.tour.tile{padding-top:56%}
.t-vino::before{background-image:url('../../img/vino.png'), url('https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?q=80&w=1600&auto=format&fit=crop')}
.t-hidalgo::before{background-image:url('../../img/hidalgo.jpg'), url('https://images.unsplash.com/photo-1505731132164-cca9034ac838?q=80&w=1600&auto=format&fit=crop')}
.t-uganda::before{background-image:url('../../img/uganda.jpg'), url('https://images.unsplash.com/photo-1544989164-31dc3f420038?q=80&w=1600&auto=format&fit=crop')}
.t-tailandia::before{background-image:url('../../img/tailandia.jpg'), url('https://images.unsplash.com/photo-1506973035872-a4ec16b8e8d8?q=80&w=1600&auto=format&fit=crop')}
.t-dubai::before{background-image:url('../../img/dubai.jpg'), url('https://images.unsplash.com/photo-1501527459-8d9998b2a1ec?q=80&w=1600&auto=format&fit=crop')}

.t-asia::before{background-image:url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?q=80&w=1600&auto=format&fit=crop')}
.t-america::before{background-image:url('https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?q=80&w=1600&auto=format&fit=crop')}
.t-cruceros::before{background-image:url('../../img/crucero.jpg'), url('https://images.unsplash.com/photo-1526662092594-e98c1e356d6a?q=80&w=1600&auto=format&fit=crop')}
.t-europa::before{background-image:url('https://images.unsplash.com/photo-1502602898657-3e91760cbb34?q=80&w=1600&auto=format&fit=crop')}
.t-mediooriente::before{background-image:url('https://images.unsplash.com/photo-1526772662000-3f88f10405ff?q=80&w=1600&auto=format&fit=crop')}
.whatsapp-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(0,0,0,.25);text-decoration:none}
.whatsapp-float svg{width:28px;height:28px;fill:#fff;display:block}
.whatsapp-float:hover{transform:translateY(-2px)}

/* Modal iframe */
.modal{position:fixed;inset:0;background:rgba(2,6,23,.75);backdrop-filter:saturate(180%) blur(6px);display:none;align-items:center;justify-content:center;z-index:50}
.modal.open{display:flex}
.modal .modal-inner{position:relative;width:92vw;height:88vh;max-width:1200px;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);background:#000;transform:translateY(20px);opacity:0;transition:transform .25s ease, opacity .25s ease}
.modal.open .modal-inner{transform:translateY(0);opacity:1}
.modal iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal .close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(0,0,0,.5);color:#fff;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;z-index:3}
.modal .close:hover{background:rgba(0,0,0,.65)}
.modal .loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(2,6,23,.25)}
.modal .loader.hidden{display:none}
.modal .loader .spinner{width:48px;height:48px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin 1s linear infinite}
.modal .loader span{margin-top:10px;color:#fff;font-weight:600}
@keyframes spin{to{transform:rotate(360deg)}}

/* Post-it banner */
.postit-banner{position:relative;display:block;margin-bottom:18px;padding:18px 28px;border-radius:10px;background:
  radial-gradient(12px 12px at 20% 30%, rgba(0,0,0,.04), transparent 60%),
  linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0)),
  #fff3a3; /* amarillo post-it */
border:1px solid #f1d98b;box-shadow:0 18px 30px rgba(0,0,0,.12), inset 0 -6px 0 rgba(0,0,0,.06);transform:rotate(-1.2deg);color:#1f2937;font-weight:800;font-size:28px}
.postit-banner strong{position:relative;z-index:2;letter-spacing:.5px}
.postit-banner::after{content:"";position:absolute;right:16px;bottom:-1px;width:0;height:0;border-left:14px solid transparent;border-top:14px solid rgba(0,0,0,.06)}
.postit-banner .tape{position:absolute;top:-16px;width:80px;height:30px;opacity:.9;background:
  repeating-linear-gradient(90deg, rgba(255,255,255,.75) 0 8px, rgba(255,255,255,.55) 8px 16px);
box-shadow:0 6px 10px rgba(0,0,0,.12);border-radius:4px;z-index:1}
.postit-banner .tape.left{left:18px;transform:rotate(7deg)}
.postit-banner .tape.right{right:18px;transform:rotate(-7deg)}

/* Más Destinos - banner playa limpio */
.beach-hero{height:220px;border-radius:16px;box-shadow:0 10px 25px rgba(2,6,23,.08);margin-bottom:16px;background:
  url('../../img/playa.jpg') center/cover no-repeat,
  url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
}

/* Visa banner */
.visa-banner{display:block;width:100%;height:140px;border-radius:16px;box-shadow:0 10px 25px rgba(2,6,23,.08);text-decoration:none;color:#fff;font-weight:800;font-size:28px;padding:24px 22px;position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.45)),url('../../img/usa.jpg'), linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.55)), url('https://images.unsplash.com/photo-1536305030432-7fa5ff3f0c1c?q=80&w=1600&auto=format&fit=crop');background-size:cover, cover, cover, cover;background-position:center, 60% 30%, center, center}
.visa-banner::after{content:"🇺🇸";position:absolute;right:18px;bottom:10px;font-size:36px}

/* Footer */
.site-footer{background:#f97316;color:#fff;padding:24px 0;margin-top:40px}
.site-footer a{color:#fff;text-decoration:none}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.footer-inner .brand{font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.footer-inner .copy,.footer-inner .powered{opacity:.95}
.footer-nav{display:flex;gap:14px;margin-bottom:8px}
.footer-social{display:flex;gap:10px}
.footer-social svg{width:22px;height:22px;fill:#fff}

/* Magazine blog */
.magazine .mag-title{font-size:34px;margin-bottom:16px}
.mag-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.mag-card{position:relative;display:block;background:#fff;border-radius:16px;box-shadow:0 10px 25px rgba(2,6,23,.08);padding:16px;min-height:140px;color:#0b1220;text-decoration:none;overflow:hidden}
.mag-card.image{color:#fff;
  background-image: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55)), var(--bg);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
.mag-card.big{min-height:260px}
.mag-card .chip{position:absolute;right:12px;bottom:12px;background:#f97316;color:#fff;font-weight:700;padding:6px 10px;border-radius:999px;font-size:12px}
.mag-card h3{margin:0 0 6px;font-size:20px;line-height:1.2}
.mag-card.big h3{font-size:28px}
.mag-card .meta{margin:0;color:#64748b}
@media(max-width:900px){.mag-grid{grid-template-columns:1fr 1fr}.mag-card.big{grid-column:span 2}}
@media(max-width:560px){.mag-grid{grid-template-columns:1fr}}
@media(max-width:560px){.mag-card.big{grid-column:span 1}}

/* Blog post */
.post{max-width:900px;margin:0 auto}
.post-header{margin-bottom:12px}
.post-header h1{margin:0 0 6px;font-size:34px}
.post-meta{color:#64748b;margin:0 0 12px}
.post-hero{width:100%;height:auto;border-radius:16px;box-shadow:0 10px 25px rgba(2,6,23,.08)}
.post-body{margin-top:16px;color:#0b1220;font-size:18px}
.post-body p{margin:12px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:12px}
.blockquote{padding:12px 16px;border-left:4px solid var(--accent);background:#fff;border-radius:8px;margin:12px 0;color:#334155}
/* Reviews - carrusel */
.reviews-carousel{position:relative;overflow:hidden}
.reviews-track{display:flex;gap:16px}
.reviews-track.animate{animation:marquee var(--marquee-duration, 40s) linear infinite}
.reviews-track:hover{animation-play-state:paused}
.review-card{flex:0 0 320px;background:#fff;border-radius:16px;box-shadow:0 10px 25px rgba(2,6,23,.08);padding:16px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--scroll-distance, 1000px)))}}
.review-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.review-header .avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 12px rgba(2,6,23,.15)}
.stars{display:flex;gap:4px;color:#f59e0b}
.stars svg{width:18px!important;height:18px!important;fill:#f59e0b;display:inline-block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}
.review-text{margin:6px 0 0;color:#334155}


/* Podcast */
.podcast-embed{background:#fff;border-radius:16px;padding:16px;box-shadow:0 10px 25px rgba(2,6,23,.08)}
.podcast-embed .podcast-meta{margin:10px 0 0;color:#64748b}

/* ——— Nav móvil: menú debajo del logo, sin scroll lateral ——— */
@media (max-width:900px){
  .topbar{flex-direction:column; align-items:center; gap:10px}
  .nav-right{width:100%; display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap}
  .nav-links{display:flex; gap:12px; flex-wrap:wrap; justify-content:center}
  .nav-links a{margin-left:0}
}

