/* ═══════ VARIABLES & RESET ═══════ */
:root {
  --blue:     #001f5b;
  --mid:      #003087;
  --lt:       rgba(0,48,135,.10);
  --bg:       #ffffff;
  --bg2:      #f4f6fb;
  --border:   rgba(0,30,90,.10);
  --text:     #0f1a2e;
  --dim:      #4a5a7a;
  --faint:    #8a98b8;
  --px:       clamp(18px, 5vw, 52px);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--text); overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { text-decoration: none; }

/* ═══════ LOADER ═══════ */
#loader { position: fixed; inset: 0; z-index: 9999; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity .6s, visibility .6s; }
#loader.hide { opacity: 0; visibility: hidden; }
#loader img { height: 64px; }
.lbar-wrap { width: 160px; height: 2px; background: var(--border); margin-top: 20px; border-radius: 2px; overflow: hidden; }
.lbar { height: 100%; background: var(--mid); width: 0; animation: lfill 1.8s ease forwards; }
@keyframes lfill { to { width: 100%; } }

/* ═══════ NAVBAR ═══════ */
#nav { position: fixed; top: 0; left: 0; right: 0; z-index: 500; display: flex; align-items: center; justify-content: space-between; padding: 18px var(--px); transition: all .3s; }
#nav.sc { background: rgba(255,255,255,.97); backdrop-filter: blur(20px); padding: 12px var(--px); border-bottom: 1px solid var(--border); box-shadow: 0 2px 20px rgba(0,30,90,.08); }
.nav-logo img { height: 44px; }
.nav-links { display: flex; align-items: center; gap: 30px; }
.nav-links a { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 500; color: var(--dim); transition: color .2s; }
.nav-links a:hover, .nav-links a.on { color: var(--mid); }
.btn-nav { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; background: var(--mid); color: #fff; padding: 10px 22px; border: none; cursor: pointer; border-radius: 6px; display: inline-flex; align-items: center; gap: 7px; transition: all .2s; }
.btn-nav:hover { background: var(--blue); }
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.hamburger span { width: 22px; height: 2px; background: var(--blue); border-radius: 2px; display: block; }

/* Mobile menu */
.mob-menu { display: none; position: fixed; inset: 0; z-index: 490; background: #fff; flex-direction: column; align-items: center; justify-content: center; gap: 24px; }
.mob-menu.open { display: flex; }
.mob-menu a { font-family: 'Outfit', sans-serif; font-size: 26px; font-weight: 700; color: var(--blue); }
.mob-menu a:hover { color: var(--mid); }
.mob-wa-link { font-size: 20px !important; color: var(--mid) !important; display: flex; align-items: center; gap: 8px; }
.mob-close { position: absolute; top: 20px; right: 20px; background: none; border: none; font-size: 26px; color: var(--blue); cursor: pointer; }

/* ═══════ HERO ═══════ */
.hero { height: 100svh; min-height: 600px; position: relative; overflow: hidden; display: flex; align-items: center; }
.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.6s ease-in-out; }
.hero-slide.on { opacity: 1; animation: kb 20s ease-in-out infinite alternate; }
@keyframes kb { from { transform: scale(1); } to { transform: scale(1.06); } }
.hero-ov { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,8,24,.52) 0%, rgba(0,8,24,.22) 45%, rgba(0,8,24,.82) 100%), linear-gradient(90deg, rgba(0,8,24,.70) 0%, transparent 65%); }
.hero-content { position: relative; z-index: 5; padding: 0 var(--px); width: 100%; margin-top: 70px; }
.hero-pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); border-radius: 100px; padding: 5px 14px; font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #fff; margin-bottom: 18px; opacity: 0; animation: fadeup .7s 2s ease forwards; }
.hero-pill::before { content: ''; width: 6px; height: 6px; background: #fff; border-radius: 50%; flex-shrink: 0; animation: blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:.3} 50%{opacity:1} }
.hero-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(56px, 11vw, 118px); line-height: .88; letter-spacing: 2px; color: #fff; opacity: 0; animation: fadeup .85s 2.1s ease forwards; }
.hero-title .hl { color: #7aadff; }
.hero-sub { font-size: clamp(14px, 2.2vw, 17px); font-weight: 300; line-height: 1.75; color: rgba(255,255,255,.65); max-width: 500px; margin-top: 18px; opacity: 0; animation: fadeup .7s 2.4s ease forwards; }
.hero-ctas { margin-top: 30px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; opacity: 0; animation: fadeup .6s 2.7s ease forwards; }
@keyframes fadeup { to { opacity: 1; transform: translateY(0); } }

/* Hero stats */
.hero-stats { position: absolute; bottom: 0; left: 0; right: 0; z-index: 10; display: grid; grid-template-columns: repeat(4,1fr); opacity: 0; animation: fadeup .6s 3s ease forwards; }
.hstat { background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-top: 3px solid var(--mid); border-right: 1px solid rgba(0,30,90,.08); padding: 14px 20px; text-align: center; }
.hstat:last-child { border-right: none; }
.hstat-num { font-family: 'Bebas Neue', sans-serif; font-size: 30px; color: var(--mid); line-height: 1; }
.hstat-lbl { font-size: 11px; color: var(--dim); margin-top: 2px; }
.hero-dots { position: absolute; bottom: 82px; right: var(--px); z-index: 10; display: flex; gap: 6px; }
.hdot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.3); cursor: pointer; border: none; transition: all .3s; }
.hdot.on { background: #fff; width: 22px; border-radius: 3px; }

/* ═══════ SECTION COMMONS ═══════ */
.sec { padding: 80px var(--px); }
.tag { font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(--mid); display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.tag::before { content: ''; width: 20px; height: 2px; background: var(--mid); flex-shrink: 0; }
.ttl { font-family: 'Bebas Neue', sans-serif; font-size: clamp(42px, 7vw, 78px); line-height: .92; letter-spacing: 2px; color: var(--blue); }
.ttl .acc { color: var(--mid); }
.ttl .ol { -webkit-text-stroke: 1.5px rgba(0,30,90,.2); color: transparent; }
.sub { font-size: 15px; font-weight: 300; color: var(--dim); margin-top: 12px; max-width: 520px; line-height: 1.75; }
.rv { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.rv.vi { opacity: 1; transform: translateY(0); }

/* ═══════ BUTTONS ═══════ */
.btn-a { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 700; background: var(--mid); color: #fff; padding: 14px 28px; border: none; cursor: pointer; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; transition: all .2s; }
.btn-a:hover { background: var(--blue); transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,48,135,.28); }
.btn-b { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; background: transparent; color: var(--blue); padding: 13px 24px; border: 1.5px solid rgba(0,30,90,.2); border-radius: 8px; cursor: pointer; display: inline-block; transition: all .2s; }
.btn-b:hover { border-color: var(--mid); color: var(--mid); }
.btn-hero-b { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; background: transparent; color: #fff; padding: 13px 24px; border: 1.5px solid rgba(255,255,255,.35); border-radius: 8px; cursor: pointer; display: inline-block; transition: all .2s; }
.btn-hero-b:hover { border-color: #fff; background: rgba(255,255,255,.1); }

/* ═══════ 1. TOURS FIN DE SEMANA ═══════ */
.weekend-sec { background: var(--bg2); padding-bottom: 0; }
.feat-card { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 4px 28px rgba(0,30,90,.07); max-height: 320px; }
.feat-img { position: relative; min-height: 220px; max-height: 320px; overflow: hidden; }
.feat-img img, .feat-img video { width: 100%; height: 100%; object-fit: cover; max-height: 320px; }
.feat-badge { position: absolute; top: 18px; left: 18px; background: var(--mid); color: #fff; font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; }
.feat-body { background: #fff; padding: 44px 40px; display: flex; flex-direction: column; justify-content: center; }
.feat-title { font-family: 'Bebas Neue', sans-serif; font-size: 46px; letter-spacing: 2px; color: var(--blue); line-height: 1; margin-top: 8px; }
.feat-desc { font-size: 15px; color: var(--dim); line-height: 1.8; margin-top: 14px; font-weight: 300; }
.feat-price { font-family: 'Bebas Neue', sans-serif; font-size: 50px; color: var(--mid); margin-top: 20px; line-height: 1; }
.feat-price small { font-size: 13px; color: var(--faint); font-family: 'DM Sans', sans-serif; font-weight: 300; margin-left: 4px; }
.feat-ctas { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }

.wgrid { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; margin-top: 3px; }
.wcard { position: relative; overflow: hidden; height: 290px; cursor: pointer; }
.wcard img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s, filter .4s; filter: brightness(.6); }
.wcard:hover img { transform: scale(1.05); filter: brightness(.82); }
.wcard-ov { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,8,24,.96) 0%, transparent 65%); }
.wcard-accent { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--mid); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.wcard:hover .wcard-accent { transform: scaleX(1); }
.wcard-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 0 18px 20px; }
.wcard-name { font-family: 'Bebas Neue', sans-serif; font-size: 23px; letter-spacing: 1.5px; color: #fff; }
.wcard-price { font-family: 'Bebas Neue', sans-serif; font-size: 19px; color: #7aadff; margin-top: 3px; }
.wcard-price small { font-size: 11px; color: rgba(255,255,255,.4); font-family: 'DM Sans', sans-serif; }
.wcard-btn { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; background: var(--mid); color: #fff; padding: 7px 13px; border-radius: 4px; opacity: 0; transform: translateY(5px); transition: opacity .3s, transform .3s; }
.wcard:hover .wcard-btn { opacity: 1; transform: translateY(0); }

/* ═══════ 2. INTERNACIONALES ═══════ */
.intl-sec { background: var(--bg); }
.intl-top { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 44px; }
.intl-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; }
.icard { position: relative; overflow: hidden; height: 255px; cursor: pointer; }
.icard img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s, filter .4s; filter: brightness(.55); }
.icard:hover img { transform: scale(1.05); filter: brightness(.82); }
.icard-ov { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,8,24,.95) 0%, transparent 65%); }
.icard-line { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--mid); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.icard:hover .icard-line { transform: scaleX(1); }
.icard-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 0 16px 18px; }
.icard-flag { font-size: 20px; margin-bottom: 4px; }
.icard-name { font-family: 'Bebas Neue', sans-serif; font-size: 25px; letter-spacing: 2px; color: #fff; }
.icard-sub { font-size: 11px; color: rgba(255,255,255,.5); font-weight: 300; margin-top: 2px; }
.icard-btn { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-family: 'Outfit', sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; border: 1px solid rgba(255,255,255,.3); color: #fff; padding: 6px 12px; border-radius: 4px; opacity: 0; transform: translateY(4px); transition: opacity .3s, transform .3s; }
.icard:hover .icard-btn { opacity: 1; transform: translateY(0); color: #7aadff; border-color: #7aadff; }
.icard.wide { grid-column: span 2; }

/* ═══════ 3. TRANSPORTE ═══════ */
.transport-sec { background: var(--bg2); border-top: 1px solid var(--border); }
.tgrid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 44px; }
.tcard3 { background: #fff; border-radius: 12px; border: 1px solid var(--border); padding: 34px 28px; transition: all .25s; box-shadow: 0 2px 12px rgba(0,30,90,.04); }
.tcard3:hover { border-color: rgba(0,48,135,.22); box-shadow: 0 8px 28px rgba(0,30,90,.1); transform: translateY(-2px); }
.tcard3-icon { width: 52px; height: 52px; background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--mid); margin-bottom: 18px; }
.tcard3-name { font-family: 'Outfit', sans-serif; font-size: 17px; font-weight: 700; color: var(--blue); margin-bottom: 8px; }
.tcard3-desc { font-size: 14px; color: var(--dim); line-height: 1.7; font-weight: 300; }
.tcard3-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 18px; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 600; color: var(--mid); transition: gap .2s; }
.tcard3-link:hover { gap: 9px; }

/* ═══════ 4. EMPRESARIAL ═══════ */
.corp-sec { background: var(--bg); }
.corp-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.corp-img { position: relative; border-radius: 12px; overflow: hidden; height: 450px; }
.corp-img img { width: 100%; height: 100%; object-fit: cover; }
.corp-badge { position: absolute; bottom: 20px; left: 20px; background: rgba(255,255,255,.96); border-left: 3px solid var(--mid); border-radius: 8px; padding: 14px 18px; box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.corp-badge strong { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; color: var(--blue); display: block; }
.corp-badge span { font-size: 12px; color: var(--dim); }
.corp-items { display: flex; flex-direction: column; gap: 10px; margin-top: 26px; }
.citem { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: var(--bg2); border-radius: 10px; border: 1px solid var(--border); transition: all .2s; }
.citem:hover { background: #eef1f8; border-color: rgba(0,48,135,.18); }
.citem-icon { width: 42px; height: 42px; flex-shrink: 0; background: #fff; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--mid); border: 1px solid var(--border); }
.citem-name { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; color: var(--blue); }
.citem-desc { font-size: 12px; color: var(--dim); font-weight: 300; margin-top: 2px; }

/* ═══════ CTA BANNER ═══════ */
.cta-banner { background: linear-gradient(135deg, #001f5b 0%, #003087 55%, #0047b8 100%); padding: 72px var(--px); display: flex; align-items: center; justify-content: space-between; gap: 36px; flex-wrap: wrap; position: relative; overflow: hidden; }
.cta-banner::after { content: ''; position: absolute; right: -60px; top: -60px; width: 280px; height: 280px; border-radius: 50%; border: 60px solid rgba(255,255,255,.04); pointer-events: none; }
.cta-txt h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(36px,5vw,62px); letter-spacing: 2px; line-height: .95; color: #fff; }
.cta-txt p { font-size: 15px; color: rgba(255,255,255,.65); font-weight: 300; margin-top: 10px; max-width: 380px; line-height: 1.7; }
.cta-acts { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-wa-w { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 700; background: #fff; color: var(--mid); padding: 15px 32px; border: none; cursor: pointer; border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; transition: all .2s; }
.btn-wa-w:hover { background: rgba(255,255,255,.9); transform: translateY(-1px); }
.btn-out-w { font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; background: rgba(255,255,255,.1); color: #fff; padding: 14px 28px; border: 1.5px solid rgba(255,255,255,.3); border-radius: 8px; cursor: pointer; display: inline-block; transition: all .2s; }
.btn-out-w:hover { background: rgba(255,255,255,.18); }

/* ═══════ TESTIMONIOS ═══════ */
.testi-sec { background: var(--bg2); }
.tgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 44px; }
.tcard { background: #fff; border-radius: 12px; border: 1px solid var(--border); padding: 30px 26px; transition: border-color .25s; box-shadow: 0 2px 12px rgba(0,30,90,.04); }
.tcard:hover { border-color: rgba(0,48,135,.2); }
.t-stars { color: #f59e0b; font-size: 13px; letter-spacing: 3px; margin-bottom: 14px; }
.t-text { font-size: 14px; color: var(--dim); line-height: 1.85; font-weight: 300; font-style: italic; }
.t-auth { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.t-av { width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0; background: var(--bg2); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; color: var(--mid); }
.t-name { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 600; color: var(--blue); }
.t-loc { font-size: 11px; color: var(--faint); margin-top: 1px; }

/* ═══════ FOOTER ═══════ */
footer { background: var(--blue); padding: 52px var(--px) 30px; }
.foot-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; flex-wrap: wrap; margin-bottom: 36px; }
.foot-logo img { height: 40px; filter: brightness(0) invert(1); opacity: .85; }
.foot-logo p { font-size: 13px; color: rgba(255,255,255,.4); margin-top: 10px; max-width: 210px; line-height: 1.6; }
.foot-nav { display: flex; flex-direction: column; gap: 10px; }
.foot-nav a { font-family: 'Outfit', sans-serif; font-size: 13px; color: rgba(255,255,255,.5); transition: color .2s; }
.foot-nav a:hover { color: #fff; }
.foot-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.foot-social-lbl { font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.3); }
.fso { display: flex; gap: 8px; }
.fso a { width: 38px; height: 38px; border-radius: 8px; border: 1px solid rgba(255,255,255,.15); display: flex; align-items: center; justify-content: center; font-size: 14px; color: rgba(255,255,255,.5); transition: all .2s; }
.fso a:hover { background: rgba(255,255,255,.12); color: #fff; }
.foot-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: 22px; padding-bottom: 10px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.foot-bottom p { font-size: 12px; color: rgba(255,255,255,.3); }
.foot-bottom a { color: rgba(255,255,255,.4); font-weight: 600; transition: color .2s; }
.foot-bottom a:hover { color: #fff; }

/* ═══════ WA FLOAT ═══════ */
.wa-float { position: fixed; bottom: 24px; right: 24px; z-index: 9000; background: var(--mid); color: #fff; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; box-shadow: 0 6px 22px rgba(0,48,135,.4); transition: all .3s; animation: wafloat 3s ease-in-out infinite; }
.wa-float:hover { transform: scale(1.1); }
@keyframes wafloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }

/* ════════════════════════════════
   RESPONSIVE — TABLET ≤1024px
════════════════════════════════ */
@media (max-width: 1024px) {
  .nav-links, .btn-nav { display: none; }
  .hamburger { display: flex; }
  .hero-stats { grid-template-columns: repeat(2,1fr); }
  .hero-dots { bottom: 100px; }
  .feat-card { grid-template-columns: 1fr; max-height: none; }
  .feat-img { min-height: 280px; max-height: 300px; }
  .feat-body { padding: 34px 26px; }
  .wgrid { grid-template-columns: repeat(2,1fr); }
  .intl-top { grid-template-columns: 1fr; gap: 28px; }
  .intl-grid { grid-template-columns: repeat(2,1fr); }
  .icard.wide { grid-column: span 2; }
  .tgrid3 { grid-template-columns: 1fr; gap: 12px; }
  .corp-layout { grid-template-columns: 1fr; gap: 36px; }
  .corp-img { height: 280px; order: -1; }
  .tgrid { grid-template-columns: 1fr; }
  .cta-banner { flex-direction: column; }
  .foot-right { align-items: flex-start; }
}

/* ════════════════════════════════
   RESPONSIVE — MOBILE ≤640px
════════════════════════════════ */
@media (max-width: 640px) {
  :root { --px: 20px; }

  /* Hero */
  .hero-title { font-size: 52px; }
  .hero-sub { font-size: 14px; max-width: 100%; }
  .hero-ctas { flex-direction: column; }
  .hero-ctas .btn-a,
  .hero-ctas .btn-hero-b { text-align: center; justify-content: center; width: 100%; padding: 16px; }
  .hero-stats { grid-template-columns: repeat(2,1fr); }
  .hstat { padding: 12px 14px; }
  .hstat-num { font-size: 26px; }
  .hero-dots { display: none; }

  /* Sections */
  .sec { padding: 60px var(--px); }
  .ttl { font-size: clamp(36px, 10vw, 52px); }
  .sub { font-size: 14px; }

  /* Featured */
  .feat-img { min-height: 240px; }
  .feat-body { padding: 26px 22px; }
  .feat-title { font-size: 36px; }
  .feat-price { font-size: 40px; }
  .feat-ctas { flex-direction: column; }
  .feat-ctas .btn-a,
  .feat-ctas .btn-b { text-align: center; justify-content: center; width: 100%; }

  /* Wgrid */
  .wgrid { grid-template-columns: 1fr; }
  .wcard { height: 230px; }
  .wcard-btn { opacity: 1; transform: translateY(0); }

  /* Internacionales */
  .intl-grid { grid-template-columns: 1fr; }
  .icard { height: 210px; }
  .icard.wide { grid-column: span 1; }
  .icard-btn { opacity: 1; transform: translateY(0); }
  .intl-top .sub { font-size: 14px; }
  .intl-top > div:last-child .btn-a,
  .intl-top > div:last-child .btn-b { width: 100%; text-align: center; justify-content: center; }

  /* Transport */
  .tcard3 { padding: 26px 20px; }

  /* Corp */
  .corp-img { height: 230px; }
  .corp-items { gap: 8px; }
  .citem { padding: 14px 14px; }
  .corp-layout > div:first-child .btn-a,
  .corp-layout > div:first-child .btn-b { width: 100%; text-align: center; justify-content: center; }
  .corp-layout > div:first-child > div[style] { flex-direction: column; }

  /* CTA Banner */
  .cta-banner { padding: 52px var(--px); }
  .cta-acts { flex-direction: column; width: 100%; }
  .btn-wa-w, .btn-out-w { text-align: center; justify-content: center; width: 100%; }

  /* Testimonials */
  .tcard { padding: 22px 18px; }

  /* Footer */
  .foot-top { flex-direction: column; gap: 28px; }
  .foot-right { align-items: flex-start; }
  .foot-bottom { flex-direction: column; gap: 6px; }
}

/* ═══════ SCAPE PARK MODAL ═══════ */
.sp-modal { display:none; position:fixed; inset:0; z-index:8000; align-items:center; justify-content:center; padding:16px; }
.sp-modal.open { display:flex; }
.sp-backdrop { position:absolute; inset:0; background:rgba(0,8,24,.78); backdrop-filter:blur(6px); cursor:pointer; }
.sp-box { position:relative; z-index:1; background:#fff; border-radius:16px; max-width:620px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:0 24px 60px rgba(0,0,0,.35); }
.sp-hero { position:relative; height:200px; overflow:hidden; border-radius:16px 16px 0 0; }
.sp-hero img { width:100%; height:100%; object-fit:cover; filter:brightness(.7); }
.sp-hero-txt { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px; }
.sp-hero-txt h2 { font-family:'Bebas Neue',sans-serif; font-size:38px; letter-spacing:3px; color:#fff; line-height:1; }
.sp-hero-txt p { font-size:13px; color:rgba(255,255,255,.8); margin-top:6px; font-weight:300; }
.sp-body { padding:28px 28px 24px; }
.sp-tagline { font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; color:var(--blue); margin-bottom:6px; }
.sp-desc { font-size:14px; color:var(--dim); line-height:1.75; font-weight:300; margin-bottom:20px; }
.sp-cols { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.sp-block { background:var(--bg2); border-radius:10px; border:1px solid var(--border); padding:16px; }
.sp-block-title { font-family:'Outfit',sans-serif; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--mid); margin-bottom:10px; }
.sp-block ul { list-style:none; display:flex; flex-direction:column; gap:5px; }
.sp-block ul li { font-size:13px; color:var(--dim); font-weight:300; }
.sp-dates { background:var(--bg2); border-radius:10px; border:1px solid var(--border); padding:14px 16px; margin-bottom:20px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sp-dates span { font-family:'Outfit',sans-serif; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--mid); }
.sp-dates p { font-size:13px; color:var(--dim); font-weight:300; }
.sp-price-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; background:linear-gradient(135deg,#001f5b,#003087); border-radius:10px; padding:16px 20px; margin-bottom:20px; }
.sp-price-row .price { font-family:'Bebas Neue',sans-serif; font-size:42px; color:#fff; line-height:1; }
.sp-price-row .price small { font-size:13px; color:rgba(255,255,255,.5); font-family:'DM Sans',sans-serif; font-weight:300; margin-left:4px; }
.sp-price-row .cupo { font-size:12px; color:rgba(255,255,255,.65); font-weight:300; }
.sp-salidas { font-size:13px; color:var(--dim); line-height:1.8; margin-bottom:20px; }
.sp-salidas strong { color:var(--blue); font-weight:600; }
.sp-actions { display:flex; gap:10px; flex-wrap:wrap; }
.sp-close { position:absolute; top:14px; right:14px; z-index:2; background:rgba(0,0,0,.45); border:none; color:#fff; width:34px; height:34px; border-radius:50%; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.sp-close:hover { background:rgba(0,0,0,.7); }
@media(max-width:580px){ .sp-cols{grid-template-columns:1fr;} .sp-body{padding:20px 16px 18px;} }


@media (max-width: 380px) {
  .hero-title { font-size: 44px; }
  .ttl { font-size: 36px; }
}

/* === from tours-nacionales.html === */
:root{--blue:#001f5b;--mid:#003087;--lt:rgba(0,48,135,.10);--bg:#ffffff;--bg2:#f4f6fb;--border:rgba(0,30,90,.10);--text:#0f1a2e;--dim:#4a5a7a;--faint:#8a98b8;--px:clamp(18px,5vw,52px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none}
#loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hide{opacity:0;visibility:hidden}
#loader img{height:64px}
.lbar-wrap{width:160px;height:2px;background:var(--border);margin-top:20px;border-radius:2px;overflow:hidden}
.lbar{height:100%;background:var(--mid);width:0;animation:lfill 1.8s ease forwards}
@keyframes lfill{to{width:100%}}
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px var(--px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s}
#nav.sc{padding:12px var(--px);box-shadow:0 2px 20px rgba(0,30,90,.08)}
.nav-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;color:var(--dim);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--mid)}
.btn-nav{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;background:var(--mid);color:#fff;padding:10px 22px;border:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.btn-nav:hover{background:var(--blue)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:22px;height:2px;background:var(--blue);border-radius:2px;display:block}
.mob-menu{display:none;position:fixed;inset:0;z-index:490;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--blue)}
.mob-menu a:hover{color:var(--mid)}
.mob-wa-link{font-size:20px!important;color:var(--mid)!important;display:flex!important;align-items:center;gap:8px}
.mob-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;color:var(--blue);cursor:pointer}
.page-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url('images/hero-tours-nacionales.jpeg');background-size:cover;background-position:center;filter:brightness(.38) saturate(.85)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,8,24,.92) 0%,rgba(0,8,24,.35) 65%,transparent 100%),linear-gradient(0deg,rgba(0,8,24,.88) 0%,transparent 45%)}
.hero-inner{position:relative;z-index:2;padding:0 var(--px) 64px;width:100%}
.tag{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.tag::before{content:'';width:20px;height:2px;flex-shrink:0}
.tag-light{color:#7aadff}.tag-light::before{background:#7aadff}
.tag-dark{color:var(--mid)}.tag-dark::before{background:var(--mid)}
.page-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,9vw,110px);line-height:.88;letter-spacing:3px;color:#fff}
.page-ttl .acc{color:#7aadff}
.hero-desc{font-size:16px;font-weight:300;color:rgba(255,255,255,.58);max-width:540px;margin-top:18px;line-height:1.8}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.hpill{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;color:rgba(255,255,255,.75);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 16px;border-radius:100px;display:flex;align-items:center;gap:6px}
.filter-bar{padding:28px var(--px);display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:68px;z-index:100}
.filter-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-right:6px}
.fbtn{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1.5px solid var(--border);color:var(--dim);padding:8px 18px;cursor:pointer;border-radius:100px;transition:all .2s;display:flex;align-items:center;gap:5px}
.fbtn:hover,.fbtn.on{background:var(--mid);border-color:var(--mid);color:#fff}
.tours-wrap{padding:52px var(--px) 80px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tcard{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;transition:all .3s;box-shadow:0 2px 12px rgba(0,30,90,.04)}
.tcard:hover{box-shadow:0 12px 40px rgba(0,30,90,.12);transform:translateY(-3px);border-color:rgba(0,48,135,.2)}
.tcard-img{position:relative;height:220px;overflow:hidden}
.tcard-img img,.tcard-img video{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s;filter:brightness(.85)}
.tcard:hover .tcard-img img,.tcard:hover .tcard-img video{transform:scale(1.05);filter:brightness(1)}
.tcard-badge{position:absolute;top:14px;left:14px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:100px}
.badge-pop{background:var(--mid);color:#fff}
.badge-new{background:#0ea5e9;color:#fff}
.badge-2d{background:#f59e0b;color:#fff}
.badge-3d{background:#7c3aed;color:#fff}
.tcard-cat{position:absolute;bottom:14px;left:14px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(0,8,24,.55);backdrop-filter:blur(6px);padding:4px 10px;border-radius:100px}
.tcard-body{padding:22px 22px 20px}
.tcard-name{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:1.5px;color:var(--blue);line-height:1.05;margin-bottom:8px}
.tcard-desc{font-size:13px;color:var(--dim);line-height:1.7;font-weight:300}
.tcard-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tcard-detail{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;color:var(--dim);background:var(--bg2);padding:5px 10px;border-radius:6px;display:flex;align-items:center;gap:4px}
.tcard-detail i{color:var(--mid);font-size:10px}
.tcard-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);gap:10px;flex-wrap:wrap}
.tcard-price-block{display:flex;flex-direction:column;gap:6px}
.tcard-price{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--mid);line-height:1}
.tcard-price small{font-size:11px;color:var(--faint);font-family:'DM Sans',sans-serif;font-weight:300;display:block;line-height:1.3}
.btn-ninos{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;background:transparent;color:var(--mid);border:1.5px solid rgba(0,48,135,.2);padding:5px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;transition:all .2s;cursor:pointer;white-space:nowrap;width:fit-content}
.btn-ninos:hover{background:var(--lt);border-color:var(--mid)}
.tcard-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.btn-reservar{font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--mid);color:#fff;padding:10px 18px;border:none;cursor:pointer;border-radius:7px;display:inline-flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}
.btn-reservar:hover{background:var(--blue);transform:translateY(-1px)}
.tcard.feat{grid-column:span 2}
.tcard.feat .tcard-img{height:300px}
.tcard.feat .tcard-name{font-size:32px}
.region-hdr{padding:60px var(--px) 0}
.region-hdr .ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,64px);line-height:.92;letter-spacing:2px;color:var(--blue)}
.region-hdr .ttl .acc{color:var(--mid)}
.region-hdr .sub{font-size:15px;font-weight:300;color:var(--dim);margin-top:10px;line-height:1.75}
.region-divider{height:3px;background:linear-gradient(90deg,var(--mid) 0%,rgba(0,48,135,.1) 100%);margin:0 var(--px);border-radius:2px}
.cta-banner{background:linear-gradient(135deg,#001f5b 0%,#003087 55%,#0047b8 100%);padding:72px var(--px);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,60px);letter-spacing:2px;line-height:.95;color:#fff}
.cta-txt p{font-size:15px;color:rgba(255,255,255,.65);font-weight:300;margin-top:10px;max-width:380px;line-height:1.7}
.cta-acts{display:flex;gap:10px;flex-wrap:wrap}
.btn-wa-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:#fff;color:var(--mid);padding:15px 32px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-wa-w:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.btn-out-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;background:rgba(255,255,255,.1);color:#fff;padding:14px 28px;border:1.5px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;display:inline-block;transition:all .2s}
.btn-out-w:hover{background:rgba(255,255,255,.18)}
footer{background:var(--blue);padding:52px var(--px) 30px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px}
.foot-logo img{height:40px;filter:brightness(0) invert(1);opacity:.85}
.foot-logo p{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;max-width:210px;line-height:1.6}
.foot-nav{display:flex;flex-direction:column;gap:10px}
.foot-nav a{font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot-social-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fso{display:flex;gap:8px}
.fso a{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.5);transition:all .2s}
.fso a:hover{background:rgba(255,255,255,.12);color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.foot-bottom a{color:rgba(255,255,255,.4);font-weight:600;transition:color .2s}
.foot-bottom a:hover{color:#fff}
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9000;background:var(--mid);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 22px rgba(0,48,135,.4);transition:all .3s;animation:wafloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.vi{opacity:1;transform:translateY(0)}
@media(max-width:1024px){
  .nav-links,.btn-nav{display:none}
  .hamburger{display:flex}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .tcard.feat{grid-column:span 2}
  .filter-bar{top:62px}
@media(max-width:640px){
  :root{--px:20px}
  .page-ttl{font-size:clamp(44px,12vw,64px)}
  .hero-inner{padding:0 var(--px) 48px}
  .hero-pills{display:none}
  .tgrid{grid-template-columns:1fr;gap:16px}
  .tcard.feat{grid-column:span 1}
  .tcard.feat .tcard-img{height:220px}
  .tcard.feat .tcard-name{font-size:26px}
  .filter-bar{top:60px;padding:16px var(--px);gap:6px}
  .fbtn{padding:7px 14px;font-size:11px}
  .cta-banner{flex-direction:column;padding:52px var(--px)}
  .cta-acts{flex-direction:column;width:100%}
  .btn-wa-w,.btn-out-w{text-align:center;justify-content:center;width:100%}
  .foot-top{flex-direction:column;gap:28px}
  .foot-right{align-items:flex-start}
  .foot-bottom{flex-direction:column}
  .region-hdr{padding:44px var(--px) 0}

/* === from tours-internacionales.html === */
:root{--blue:#001f5b;--mid:#003087;--lt:rgba(0,48,135,.10);--bg:#ffffff;--bg2:#f4f6fb;--border:rgba(0,30,90,.10);--text:#0f1a2e;--dim:#4a5a7a;--faint:#8a98b8;--px:clamp(18px,5vw,52px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none}
/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hide{opacity:0;visibility:hidden}
#loader img{height:64px}
.lbar-wrap{width:160px;height:2px;background:var(--border);margin-top:20px;border-radius:2px;overflow:hidden}
.lbar{height:100%;background:var(--mid);width:0;animation:lfill 1.8s ease forwards}
@keyframes lfill{to{width:100%}}
/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px var(--px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s}
#nav.sc{padding:12px var(--px);box-shadow:0 2px 20px rgba(0,30,90,.08)}
.nav-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;color:var(--dim);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--mid)}
.btn-nav{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;background:var(--mid);color:#fff;padding:10px 22px;border:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.btn-nav:hover{background:var(--blue)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:22px;height:2px;background:var(--blue);border-radius:2px;display:block}
.mob-menu{display:none;position:fixed;inset:0;z-index:490;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--blue)}
.mob-menu a:hover{color:var(--mid)}
.mob-wa-link{font-size:20px!important;color:var(--mid)!important;display:flex!important;align-items:center;gap:8px}
.mob-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;color:var(--blue);cursor:pointer}
/* PAGE HERO */
.page-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url('images/hero-tours-internacionales.jpeg');background-size:cover;background-position:center;filter:brightness(.35) saturate(.8)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,8,24,.92) 0%,rgba(0,8,24,.35) 65%,transparent 100%),linear-gradient(0deg,rgba(0,8,24,.88) 0%,transparent 45%)}
.hero-inner{position:relative;z-index:2;padding:0 var(--px) 64px;width:100%}
.tag{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.tag::before{content:'';width:20px;height:2px;flex-shrink:0}
.tag-light{color:#7aadff}.tag-light::before{background:#7aadff}
.tag-dark{color:var(--mid)}.tag-dark::before{background:var(--mid)}
.page-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,9vw,110px);line-height:.88;letter-spacing:3px;color:#fff}
.page-ttl .acc{color:#7aadff}
.hero-desc{font-size:16px;font-weight:300;color:rgba(255,255,255,.58);max-width:540px;margin-top:18px;line-height:1.8}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.hpill{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;color:rgba(255,255,255,.75);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 16px;border-radius:100px;display:flex;align-items:center;gap:6px}
/* DESTINOS STRIP */
.dest-strip{background:var(--mid);padding:0 var(--px);display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.dest-strip::-webkit-scrollbar{display:none}
.dest-tab{font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);padding:18px 24px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}
.dest-tab:hover,.dest-tab.on{color:#fff;border-bottom-color:rgba(255,255,255,.8)}
/* FILTER BAR */
.filter-bar{padding:24px var(--px);display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:68px;z-index:100}
.filter-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-right:6px}
.fbtn{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1.5px solid var(--border);color:var(--dim);padding:8px 18px;cursor:pointer;border-radius:100px;transition:all .2s;display:flex;align-items:center;gap:5px}
.fbtn:hover,.fbtn.on{background:var(--mid);border-color:var(--mid);color:#fff}
/* INTRO SECTION */
.intl-intro{padding:56px var(--px) 40px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intl-intro-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,70px);line-height:.92;letter-spacing:2px;color:var(--blue)}
.intl-intro-txt h2 .acc{color:var(--mid)}
.intl-intro-txt p{font-size:15px;font-weight:300;color:var(--dim);margin-top:14px;line-height:1.8}
.intl-features{display:flex;flex-direction:column;gap:12px}
.intl-feat{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg2);border-radius:10px;border:1px solid var(--border)}
.intl-feat-icon{width:42px;height:42px;flex-shrink:0;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--mid);border:1px solid var(--border)}
.intl-feat-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--blue)}
.intl-feat-desc{font-size:12px;color:var(--dim);font-weight:300;margin-top:2px}
/* TOURS GRID */
.tours-wrap{padding:0 var(--px) 80px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* DESTINATION CARD */
.dcard{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;transition:all .3s;box-shadow:0 2px 12px rgba(0,30,90,.04)}
.dcard:hover{box-shadow:0 12px 40px rgba(0,30,90,.12);transform:translateY(-3px);border-color:rgba(0,48,135,.2)}
.dcard-img{position:relative;height:240px;overflow:hidden}
.dcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s;filter:brightness(.82)}
.dcard:hover .dcard-img img{transform:scale(1.05);filter:brightness(1)}
.dcard-flag{position:absolute;top:16px;left:16px;font-size:32px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.dcard-badge{position:absolute;top:14px;right:14px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:100px}
.badge-hot{background:#ef4444;color:#fff}
.badge-new{background:#0ea5e9;color:#fff}
.badge-pop{background:var(--mid);color:#fff}
.badge-sold{background:#f59e0b;color:#fff}
.dcard-country{position:absolute;bottom:14px;left:14px;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.9);background:rgba(0,8,24,.55);backdrop-filter:blur(6px);padding:4px 10px;border-radius:100px}
.dcard-body{padding:22px}
.dcard-name{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:1.5px;color:var(--blue);line-height:1;margin-bottom:6px}
.dcard-sub{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:8px}
.dcard-desc{font-size:13px;color:var(--dim);line-height:1.7;font-weight:300}
.dcard-includes{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.dinc{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;color:var(--dim);background:var(--bg2);padding:4px 10px;border-radius:6px;display:flex;align-items:center;gap:4px}
.dinc i{color:var(--mid);font-size:10px}
.dcard-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.dcard-price-lbl{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.dcard-price{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--mid);line-height:1}
.dcard-price small{font-size:11px;color:var(--faint);font-family:'DM Sans',sans-serif;font-weight:300;display:block}
.btn-cotizar{font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--mid);color:#fff;padding:10px 18px;border:none;cursor:pointer;border-radius:7px;display:inline-flex;align-items:center;gap:6px;transition:all .2s}
.btn-cotizar:hover{background:var(--blue);transform:translateY(-1px)}
/* WIDE CARD */
.dcard.wide{grid-column:span 2}
.dcard.wide .dcard-img{height:320px}
.dcard.wide .dcard-name{font-size:36px}
/* REGION HEADERS */
.region-hdr{padding:60px var(--px) 32px}
.region-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,64px);line-height:.92;letter-spacing:2px;color:var(--blue)}
.region-ttl .acc{color:var(--mid)}
.region-sub{font-size:15px;font-weight:300;color:var(--dim);margin-top:10px;line-height:1.75}
.region-divider{height:3px;background:linear-gradient(90deg,var(--mid) 0%,rgba(0,48,135,.1) 100%);margin:0 var(--px);border-radius:2px}
/* CUSTOM PACKAGE */
.custom-sec{background:var(--bg2);border-top:1px solid var(--border);padding:60px var(--px)}
.custom-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.custom-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,5.5vw,68px);line-height:.9;letter-spacing:2px;color:var(--blue);margin-bottom:16px}
.custom-txt h2 .acc{color:var(--mid)}
.custom-txt p{font-size:15px;color:var(--dim);font-weight:300;line-height:1.8;margin-bottom:12px}
.custom-steps{display:flex;flex-direction:column;gap:16px}
.cstep{display:flex;gap:16px;align-items:flex-start}
.cstep-num{width:36px;height:36px;flex-shrink:0;background:var(--mid);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:1px}
.cstep-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--blue)}
.cstep-desc{font-size:13px;color:var(--dim);font-weight:300;margin-top:3px;line-height:1.6}
.btn-a{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:var(--mid);color:#fff;padding:14px 28px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-a:hover{background:var(--blue);transform:translateY(-1px)}
/* CTA BANNER */
.cta-banner{background:linear-gradient(135deg,#001f5b 0%,#003087 55%,#0047b8 100%);padding:72px var(--px);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,60px);letter-spacing:2px;line-height:.95;color:#fff}
.cta-txt p{font-size:15px;color:rgba(255,255,255,.65);font-weight:300;margin-top:10px;max-width:380px;line-height:1.7}
.cta-acts{display:flex;gap:10px;flex-wrap:wrap}
.btn-wa-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:#fff;color:var(--mid);padding:15px 32px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-wa-w:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.btn-out-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;background:rgba(255,255,255,.1);color:#fff;padding:14px 28px;border:1.5px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;display:inline-block;transition:all .2s}
.btn-out-w:hover{background:rgba(255,255,255,.18)}
/* FOOTER */
footer{background:var(--blue);padding:52px var(--px) 30px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px}
.foot-logo img{height:40px;filter:brightness(0) invert(1);opacity:.85}
.foot-logo p{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;max-width:210px;line-height:1.6}
.foot-nav{display:flex;flex-direction:column;gap:10px}
.foot-nav a{font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot-social-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fso{display:flex;gap:8px}
.fso a{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.5);transition:all .2s}
.fso a:hover{background:rgba(255,255,255,.12);color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.foot-bottom a{color:rgba(255,255,255,.4);font-weight:600;transition:color .2s}
.foot-bottom a:hover{color:#fff}
/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9000;background:var(--mid);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 22px rgba(0,48,135,.4);transition:all .3s;animation:wafloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.vi{opacity:1;transform:translateY(0)}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-links,.btn-nav{display:none}
  .hamburger{display:flex}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .dcard.wide{grid-column:span 2}
  .intl-intro{grid-template-columns:1fr;gap:36px}
  .custom-inner{grid-template-columns:1fr;gap:40px}
  .filter-bar{top:62px}
@media(max-width:640px){
  :root{--px:20px}
  .page-ttl{font-size:clamp(44px,12vw,64px)}
  .hero-inner{padding:0 var(--px) 48px}
  .hero-pills{display:none}
  .tgrid{grid-template-columns:1fr;gap:16px}
  .dcard.wide{grid-column:span 1}
  .dcard.wide .dcard-img{height:220px}
  .dcard.wide .dcard-name{font-size:28px}
  .filter-bar{top:60px;padding:14px var(--px);gap:6px}
  .fbtn{padding:7px 14px;font-size:11px}
  .intl-intro{padding:36px var(--px) 24px}
  .region-hdr{padding:44px var(--px) 24px}
  .cta-banner{flex-direction:column;padding:52px var(--px)}
  .cta-acts{flex-direction:column;width:100%}
  .btn-wa-w,.btn-out-w{text-align:center;justify-content:center;width:100%}
  .foot-top{flex-direction:column;gap:28px}
  .foot-right{align-items:flex-start}
  .foot-bottom{flex-direction:column}
  .custom-sec{padding:44px var(--px)}

/* === from galeria.html === */
:root{--blue:#001f5b;--mid:#003087;--lt:rgba(0,48,135,.10);--bg:#ffffff;--bg2:#f4f6fb;--border:rgba(0,30,90,.10);--text:#0f1a2e;--dim:#4a5a7a;--faint:#8a98b8;--px:clamp(18px,5vw,52px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none}
/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hide{opacity:0;visibility:hidden}
#loader img{height:64px}
.lbar-wrap{width:160px;height:2px;background:var(--border);margin-top:20px;border-radius:2px;overflow:hidden}
.lbar{height:100%;background:var(--mid);width:0;animation:lfill 1.8s ease forwards}
@keyframes lfill{to{width:100%}}
/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px var(--px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s}
#nav.sc{padding:12px var(--px);box-shadow:0 2px 20px rgba(0,30,90,.08)}
.nav-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;color:var(--dim);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--mid)}
.btn-nav{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;background:var(--mid);color:#fff;padding:10px 22px;border:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.btn-nav:hover{background:var(--blue)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:22px;height:2px;background:var(--blue);border-radius:2px;display:block}
.mob-menu{display:none;position:fixed;inset:0;z-index:490;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--blue)}
.mob-menu a:hover{color:var(--mid)}
.mob-wa-link{font-size:20px!important;color:var(--mid)!important;display:flex!important;align-items:center;gap:8px}
.mob-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;color:var(--blue);cursor:pointer}
/* PAGE HEADER */
.page-hdr{padding:110px var(--px) 56px;background:var(--bg2);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.page-hdr::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--lt) 0%,transparent 60%);pointer-events:none}
.page-hdr-inner{position:relative;z-index:1}
.tag{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--mid);display:flex;align-items:center;gap:8px;margin-bottom:10px}
.tag::before{content:'';width:20px;height:2px;background:var(--mid);flex-shrink:0}
.page-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,9vw,110px);line-height:.88;letter-spacing:3px;color:var(--blue)}
.page-ttl .acc{color:var(--mid)}
.page-ttl .ol{-webkit-text-stroke:2px rgba(0,30,90,.18);color:transparent}
.page-hdr p{font-size:16px;font-weight:300;color:var(--dim);max-width:520px;margin-top:18px;line-height:1.8}
/* FILTER BAR */
.filter-bar{padding:28px var(--px);display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);background:#fff}
.filter-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-right:8px}
.fbtn{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1.5px solid var(--border);color:var(--dim);padding:8px 18px;cursor:pointer;border-radius:100px;transition:all .2s}
.fbtn:hover,.fbtn.on{background:var(--mid);border-color:var(--mid);color:#fff}
/* GALLERY */
.gal-sec{background:#fff;padding:0 0 80px}
.gstrip{display:grid;grid-template-columns:1.3fr .8fr 1fr .7fr 1.2fr;gap:3px;height:340px}
.gstrip2{display:grid;grid-template-columns:.7fr 1.2fr 1fr 1.3fr;gap:3px;height:250px;margin-top:3px}
.gstrip3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;height:290px;margin-top:3px}
.gi{overflow:hidden;position:relative;cursor:pointer}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s;filter:brightness(.72) saturate(.78)}
.gi:hover img{transform:scale(1.09);filter:brightness(1) saturate(1.1)}
.gi-ov{position:absolute;inset:0;background:rgba(0,48,135,0);display:flex;align-items:center;justify-content:center;transition:background .3s;flex-direction:column;gap:8px}
.gi:hover .gi-ov{background:rgba(0,30,90,.18)}
.gi-ov i{font-size:24px;color:#fff;opacity:0;transform:scale(.6);transition:all .3s}
.gi:hover .gi-ov i{opacity:1;transform:scale(1)}
.gi-lbl{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0);transition:all .3s}
.gi:hover .gi-lbl{color:rgba(255,255,255,.8)}
/* LIGHTBOX */
.lb{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.96);align-items:center;justify-content:center}
.lb.open{display:flex}
.lb-inner{max-width:900px;width:92%;position:relative}
.lb-img{width:100%;max-height:78vh;object-fit:contain;display:block;border-radius:4px}
.lb-cap{padding:14px 0 0;display:flex;justify-content:space-between;align-items:center}
.lb-title{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.lb-close{position:absolute;top:-44px;right:0;background:var(--mid);border:none;color:#fff;width:36px;height:36px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-close:hover{background:#fff;color:var(--blue)}
.lb-nav{background:rgba(0,48,135,.4);border:none;color:#fff;width:46px;height:46px;font-size:18px;cursor:pointer;border-radius:6px;transition:background .2s}
.lb-nav:hover{background:var(--mid)}
/* GAL CTA */
.gal-cta{text-align:center;padding:64px var(--px);background:var(--bg2);border-top:1px solid var(--border)}
.gal-cta .tag{justify-content:center;margin-bottom:12px}
.gal-cta h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6vw,78px);letter-spacing:3px;line-height:.9;margin-bottom:20px;color:var(--blue)}
.gal-cta h2 .acc{color:var(--mid)}
.gal-cta p{font-size:15px;color:var(--dim);font-weight:300;max-width:420px;margin:0 auto 32px;line-height:1.7}
.gal-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* CTA BANNER */
.cta-banner{background:linear-gradient(135deg,#001f5b 0%,#003087 55%,#0047b8 100%);padding:72px var(--px);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,60px);letter-spacing:2px;line-height:.95;color:#fff}
.cta-txt p{font-size:15px;color:rgba(255,255,255,.65);font-weight:300;margin-top:10px;max-width:380px;line-height:1.7}
.cta-acts{display:flex;gap:10px;flex-wrap:wrap}
.btn-a{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:var(--mid);color:#fff;padding:14px 28px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-a:hover{background:var(--blue);transform:translateY(-1px)}
.btn-b{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;background:transparent;color:var(--blue);padding:13px 24px;border:1.5px solid rgba(0,30,90,.2);border-radius:8px;cursor:pointer;display:inline-block;transition:all .2s}
.btn-b:hover{border-color:var(--mid);color:var(--mid)}
.btn-wa-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:#fff;color:var(--mid);padding:15px 32px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-wa-w:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.btn-out-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;background:rgba(255,255,255,.1);color:#fff;padding:14px 28px;border:1.5px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;display:inline-block;transition:all .2s}
.btn-out-w:hover{background:rgba(255,255,255,.18)}
/* FOOTER */
footer{background:var(--blue);padding:52px var(--px) 30px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px}
.foot-logo img{height:40px;filter:brightness(0) invert(1);opacity:.85}
.foot-logo p{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;max-width:210px;line-height:1.6}
.foot-nav{display:flex;flex-direction:column;gap:10px}
.foot-nav a{font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot-social-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fso{display:flex;gap:8px}
.fso a{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.5);transition:all .2s}
.fso a:hover{background:rgba(255,255,255,.12);color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.foot-bottom a{color:rgba(255,255,255,.4);font-weight:600;transition:color .2s}
.foot-bottom a:hover{color:#fff}
/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9000;background:var(--mid);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 22px rgba(0,48,135,.4);transition:all .3s;animation:wafloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.vi{opacity:1;transform:translateY(0)}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-links,.btn-nav{display:none}
  .hamburger{display:flex}
  .gstrip{grid-template-columns:1fr 1fr 1fr;height:220px}
  .gstrip2{grid-template-columns:1fr 1fr;height:200px}
  .gstrip3{grid-template-columns:1fr 1fr;height:200px}
@media(max-width:640px){
  :root{--px:20px}
  .page-ttl{font-size:clamp(44px,12vw,64px)}
  .gstrip{grid-template-columns:1fr 1fr;height:180px}
  .gstrip2{grid-template-columns:1fr 1fr;height:160px}
  .gstrip3{grid-template-columns:1fr;height:auto}
  .gstrip3 .gi{height:200px}
  /* Always show hover state on mobile */
  .gi-ov i{opacity:1;transform:scale(1)}
  .gi-lbl{color:rgba(255,255,255,.75)}
  .filter-bar{padding:18px var(--px)}
  .fbtn{padding:7px 14px;font-size:11px}
  .gal-cta-btns{flex-direction:column;align-items:center}
  .gal-cta-btns .btn-a,.gal-cta-btns .btn-b{width:100%;justify-content:center;text-align:center}
  .cta-banner{flex-direction:column;padding:52px var(--px)}
  .cta-acts{flex-direction:column;width:100%}
  .btn-wa-w,.btn-out-w{text-align:center;justify-content:center;width:100%}
  .foot-top{flex-direction:column;gap:28px}
  .foot-right{align-items:flex-start}
  .foot-bottom{flex-direction:column}

/* === from nosotros.html === */
:root{--blue:#001f5b;--mid:#003087;--lt:rgba(0,48,135,.10);--bg:#ffffff;--bg2:#f4f6fb;--border:rgba(0,30,90,.10);--text:#0f1a2e;--dim:#4a5a7a;--faint:#8a98b8;--px:clamp(18px,5vw,52px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none}
/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hide{opacity:0;visibility:hidden}
#loader img{height:64px}
.lbar-wrap{width:160px;height:2px;background:var(--border);margin-top:20px;border-radius:2px;overflow:hidden}
.lbar{height:100%;background:var(--mid);width:0;animation:lfill 1.8s ease forwards}
@keyframes lfill{to{width:100%}}
/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px var(--px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s}
#nav.sc{padding:12px var(--px);box-shadow:0 2px 20px rgba(0,30,90,.08)}
.nav-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;color:var(--dim);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--mid)}
.btn-nav{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;background:var(--mid);color:#fff;padding:10px 22px;border:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.btn-nav:hover{background:var(--blue)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:22px;height:2px;background:var(--blue);border-radius:2px;display:block}
.mob-menu{display:none;position:fixed;inset:0;z-index:490;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--blue)}
.mob-menu a:hover{color:var(--mid)}
.mob-wa-link{font-size:20px!important;color:var(--mid)!important;display:flex!important;align-items:center;gap:8px}
.mob-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;color:var(--blue);cursor:pointer}
/* PAGE HERO (con imagen de fondo actualizada) */
.page-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg-img{position:absolute;inset:0;background-image:url('images/tour-constanza-jarabacoa-2dias.jpeg');background-size:cover;background-position:center;filter:brightness(.38) saturate(.8)}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,8,24,.92) 0%,rgba(0,8,24,.4) 60%,transparent 100%),linear-gradient(0deg,rgba(0,8,24,.9) 0%,transparent 40%)}
.hero-inner{position:relative;z-index:2;padding:0 var(--px) 64px;width:100%}
.tag{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:#7aadff;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.tag::before{content:'';width:20px;height:2px;background:#7aadff;flex-shrink:0}
.tag.dark{color:var(--mid)}
.tag.dark::before{background:var(--mid)}
.page-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,9vw,110px);line-height:.88;letter-spacing:3px;color:#fff}
.page-ttl .acc{color:#7aadff}
.page-ttl .ol{-webkit-text-stroke:2px rgba(255,255,255,.2);color:transparent}
.page-hero p{font-size:16px;font-weight:300;color:rgba(255,255,255,.55);max-width:520px;margin-top:18px;line-height:1.8}
/* STATS BAR */
.stats-bar{background:var(--mid);display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:28px 20px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:14px}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:48px;color:#fff;line-height:1;letter-spacing:1px;flex-shrink:0}
.stat-txt h4{font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.9)}
.stat-txt p{font-size:12px;color:rgba(255,255,255,.6);font-weight:300;margin-top:2px}
/* SHARED SECTION */
.sec{padding:80px var(--px)}
.sec-bg2{background:var(--bg2)}
.ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6.5vw,74px);line-height:.92;letter-spacing:2px;color:var(--blue)}
.ttl .acc{color:var(--mid)}
.ttl .ol{-webkit-text-stroke:1.5px rgba(0,30,90,.2);color:transparent}
.sub{font-size:15px;font-weight:300;color:var(--dim);margin-top:12px;max-width:520px;line-height:1.75}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.vi{opacity:1;transform:translateY(0)}
/* STORY SECTION */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.story-img{position:relative;border-radius:12px;overflow:hidden;height:520px}
.story-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.85);transition:filter .4s}
.story-img:hover img{filter:brightness(1)}
.story-img-lbl{position:absolute;bottom:20px;right:20px;background:var(--mid);color:#fff;padding:12px 20px;font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;border-radius:6px}
.story-txt h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6vw,72px);line-height:.9;letter-spacing:3px;margin:10px 0 24px;color:var(--blue)}
.story-txt h2 .acc{color:var(--mid)}
.story-txt p{font-size:15px;color:var(--dim);line-height:1.85;font-weight:300;margin-bottom:14px}
.story-txt p strong{color:var(--text);font-weight:600}
/* VALUES */
.values-sec{position:relative;overflow:hidden}
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.val-card{background:#fff;padding:36px 28px;border-radius:12px;border:1px solid var(--border);transition:all .3s;border-bottom:3px solid transparent}
.val-card:hover{border-bottom-color:var(--mid);box-shadow:0 8px 28px rgba(0,30,90,.1);transform:translateY(-2px)}
.val-icon{width:52px;height:52px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--mid);margin-bottom:20px;transition:all .3s}
.val-card:hover .val-icon{background:var(--mid);color:#fff}
.val-card h3{font-family:'Outfit',sans-serif;font-size:16px;font-weight:700;color:var(--blue);margin-bottom:8px}
.val-card p{font-size:14px;color:var(--dim);line-height:1.75;font-weight:300}
/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:48px}
.tm-card{position:relative;overflow:hidden;height:420px;cursor:default;border-radius:0}
.tm-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.58);transition:filter .4s,transform .5s}
.tm-card:hover img{filter:brightness(.78);transform:scale(1.04)}
.tm-ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,8,24,.96) 0%,rgba(0,8,24,.15) 60%,transparent 100%)}
.tm-acc{position:absolute;top:0;left:0;right:0;height:3px;background:var(--mid);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.tm-card:hover .tm-acc{transform:scaleX(1)}
.tm-info{position:absolute;bottom:0;left:0;right:0;padding:0 24px 26px}
.tm-role{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:#7aadff;margin-bottom:4px}
.tm-name{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;color:#fff;line-height:1}
.tm-bio{font-size:13px;color:rgba(255,255,255,.45);font-weight:300;line-height:1.6;margin-top:8px;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .4s}
.tm-card:hover .tm-bio{max-height:80px;opacity:1}
/* FINAL CTA */
.fcta{background:linear-gradient(135deg,#001f5b 0%,#003087 55%,#0047b8 100%);padding:100px var(--px);text-align:center;position:relative;overflow:hidden}
.fcta::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;border:80px solid rgba(255,255,255,.04);pointer-events:none}
.fcta-eyebrow{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:12px}
.fcta-eyebrow::before,.fcta-eyebrow::after{content:'—';opacity:.4}
.fcta h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(60px,9vw,112px);letter-spacing:4px;line-height:.9;color:#fff;position:relative;z-index:1}
.fcta h2 .ol{display:block;-webkit-text-stroke:2px rgba(255,255,255,.2);color:transparent}
.fcta p{font-size:16px;color:rgba(255,255,255,.55);max-width:460px;margin:22px auto 0;line-height:1.8;font-weight:300;position:relative;z-index:1}
.fcta-btns{display:flex;gap:14px;justify-content:center;margin-top:44px;flex-wrap:wrap;position:relative;z-index:1}
.btn-wa-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;background:#fff;color:var(--mid);padding:15px 32px;border:none;cursor:pointer;border-radius:8px;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-wa-w:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.btn-out-w{font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;background:rgba(255,255,255,.1);color:#fff;padding:14px 28px;border:1.5px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;display:inline-block;transition:all .2s}
.btn-out-w:hover{background:rgba(255,255,255,.18)}
/* FOOTER */
footer{background:var(--blue);padding:52px var(--px) 30px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px}
.foot-logo img{height:40px;filter:brightness(0) invert(1);opacity:.85}
.foot-logo p{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;max-width:210px;line-height:1.6}
.foot-nav{display:flex;flex-direction:column;gap:10px}
.foot-nav a{font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot-social-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fso{display:flex;gap:8px}
.fso a{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.5);transition:all .2s}
.fso a:hover{background:rgba(255,255,255,.12);color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.foot-bottom a{color:rgba(255,255,255,.4);font-weight:600;transition:color .2s}
.foot-bottom a:hover{color:#fff}
/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:800;background:var(--mid);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 22px rgba(0,48,135,.4);transition:all .3s;animation:wafloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-links,.btn-nav{display:none}
  .hamburger{display:flex}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat-item{border-bottom:1px solid rgba(255,255,255,.08)}
  .story-grid{grid-template-columns:1fr;gap:36px}
  .story-img{height:300px;order:-1}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}
  .tm-card{height:300px}
@media(max-width:640px){
  :root{--px:20px}
  .page-ttl{font-size:clamp(44px,12vw,64px)}
  .hero-inner{padding:0 var(--px) 48px}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat-num{font-size:38px}
  .sec{padding:60px var(--px)}
  .story-img{height:240px}
  .val-grid{grid-template-columns:1fr;gap:12px}
  .val-card{padding:28px 22px}
  .tm-bio{max-height:60px;opacity:1}
  .fcta{padding:72px var(--px)}
  .fcta-btns{flex-direction:column;align-items:center}
  .btn-wa-w,.btn-out-w{width:100%;text-align:center;justify-content:center}
  .foot-top{flex-direction:column;gap:28px}
  .foot-right{align-items:flex-start}
  .foot-bottom{flex-direction:column}

/* === from contacto.html === */
:root{--blue:#001f5b;--mid:#003087;--lt:rgba(0,48,135,.10);--bg:#ffffff;--bg2:#f4f6fb;--border:rgba(0,30,90,.10);--text:#0f1a2e;--dim:#4a5a7a;--faint:#8a98b8;--px:clamp(18px,5vw,52px)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none}
/* LOADER */
#loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
#loader.hide{opacity:0;visibility:hidden}
#loader img{height:64px}
.lbar-wrap{width:160px;height:2px;background:var(--border);margin-top:20px;border-radius:2px;overflow:hidden}
.lbar{height:100%;background:var(--mid);width:0;animation:lfill 1.8s ease forwards}
@keyframes lfill{to{width:100%}}
/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px var(--px);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s}
#nav.sc{padding:12px var(--px);box-shadow:0 2px 20px rgba(0,30,90,.08)}
.nav-logo img{height:44px}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;color:var(--dim);transition:color .2s}
.nav-links a:hover,.nav-links a.on{color:var(--mid)}
.btn-nav{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;background:var(--mid);color:#fff;padding:10px 22px;border:none;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;gap:7px;transition:all .2s}
.btn-nav:hover{background:var(--blue)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{width:22px;height:2px;background:var(--blue);border-radius:2px;display:block}
.mob-menu{display:none;position:fixed;inset:0;z-index:490;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.mob-menu.open{display:flex}
.mob-menu a{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--blue)}
.mob-menu a:hover{color:var(--mid)}
.mob-wa-link{font-size:20px!important;color:var(--mid)!important;display:flex!important;align-items:center;gap:8px}
.mob-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:26px;color:var(--blue);cursor:pointer}
/* PAGE HEADER */
.page-hdr{padding:110px var(--px) 56px;background:var(--bg2);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.page-hdr::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--lt) 0%,transparent 60%);pointer-events:none}
.page-hdr-inner{position:relative;z-index:1}
.tag{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--mid);display:flex;align-items:center;gap:8px;margin-bottom:10px}
.tag::before{content:'';width:20px;height:2px;background:var(--mid);flex-shrink:0}
.page-ttl{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,9vw,110px);line-height:.88;letter-spacing:3px;color:var(--blue)}
.page-ttl .acc{color:var(--mid)}
.page-hdr p{font-size:16px;font-weight:300;color:var(--dim);max-width:520px;margin-top:18px;line-height:1.8}
/* INFO STRIP */
.info-strip{background:var(--mid);display:grid;grid-template-columns:repeat(3,1fr)}
.strip-item{padding:24px 20px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:14px}
.strip-item:last-child{border-right:none}
.strip-item i{font-size:20px;color:rgba(255,255,255,.7);flex-shrink:0}
.strip-item h4{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:2px}
.strip-item p{font-size:13px;color:rgba(255,255,255,.7);font-weight:300}
/* CONTACT SECTION */
.contact-sec{padding:80px var(--px);display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
/* INFO COL */
.info-col h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5.5vw,68px);letter-spacing:3px;line-height:.9;margin:10px 0 26px;color:var(--blue)}
.info-col h2 .acc{color:var(--mid)}
.contact-cards{display:flex;flex-direction:column;gap:3px}
.cc{background:var(--bg2);padding:20px 22px;display:flex;align-items:flex-start;gap:14px;border-left:3px solid transparent;transition:all .25s;border-radius:0 8px 8px 0}
.cc:hover{border-left-color:var(--mid);background:#eef1f8}
.cc-icon{width:42px;height:42px;background:#fff;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--mid);flex-shrink:0;transition:all .25s}
.cc:hover .cc-icon{background:var(--mid);color:#fff}
.cc-lbl{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.cc-val{font-size:14px;color:var(--text);font-weight:400;line-height:1.5}
.cc-val a{color:var(--text);transition:color .2s}
.cc-val a:hover{color:var(--mid)}
.social-row{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.soc-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--dim);border-radius:8px;transition:all .25s}
.soc-btn:hover{transform:translateY(-1px)}
.soc-ig:hover{background:#e1306c;border-color:#e1306c;color:#fff}
.soc-fb:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.soc-wa{background:var(--mid);border-color:var(--mid);color:#fff}
.soc-wa:hover{background:var(--blue)}
/* FORM COL */
.form-col{background:#fff;border:1px solid var(--border);border-radius:14px;padding:44px;border-top:3px solid var(--mid);box-shadow:0 4px 28px rgba(0,30,90,.07)}
.form-col h3{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:2px;margin-bottom:4px;color:var(--blue)}
.form-col>p{font-size:14px;color:var(--faint);font-weight:300;margin-bottom:28px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:18px}
.fg label{display:block;font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.fg input,.fg select,.fg textarea{width:100%;background:var(--bg2);border:1.5px solid var(--border);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;padding:13px 16px;outline:none;transition:border-color .25s;border-radius:8px}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--mid);background:#fff}
.fg input::placeholder,.fg textarea::placeholder{color:var(--faint)}
.fg select{appearance:none;cursor:pointer;color:var(--dim)}
.fg textarea{resize:vertical;min-height:110px}
.chips-lbl{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--faint);margin-bottom:10px;display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.chip{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1.5px solid var(--border);color:var(--dim);padding:8px 16px;cursor:pointer;border-radius:100px;transition:all .2s}
.chip:hover,.chip.on{background:var(--mid);border-color:var(--mid);color:#fff}
.btn-submit{width:100%;padding:17px;background:var(--mid);color:#fff;border:none;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:8px;transition:all .25s;position:relative;overflow:hidden}
.btn-submit:hover{background:var(--blue);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,48,135,.3)}
.form-note{font-size:11px;color:var(--faint);text-align:center;margin-top:12px}
#success-view{display:none;text-align:center;padding:48px 20px}
.check-icon{width:68px;height:68px;background:var(--mid);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:26px;color:#fff}
#success-view h3{font-family:'Bebas Neue',sans-serif;font-size:42px;letter-spacing:3px;margin-bottom:10px;color:var(--blue)}
#success-view p{font-size:15px;color:var(--dim);font-weight:300;line-height:1.8}
/* LOCATION BAND */
.location-band{background:var(--bg2);border-top:1px solid var(--border);padding:64px var(--px);display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.location-band h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,58px);letter-spacing:3px;line-height:.9;color:var(--blue);margin:10px 0 10px}
.location-band h2 .acc{color:var(--mid)}
.location-band p{font-size:14px;color:var(--dim);font-weight:300;line-height:1.7}
.btn-maps{display:inline-flex;align-items:center;gap:10px;font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--mid);color:#fff;padding:16px 32px;border-radius:8px;white-space:nowrap;transition:all .25s}
.btn-maps:hover{background:var(--blue);transform:translateY(-1px)}
/* FOOTER */
footer{background:var(--blue);padding:52px var(--px) 30px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:36px}
.foot-logo img{height:40px;filter:brightness(0) invert(1);opacity:.85}
.foot-logo p{font-size:13px;color:rgba(255,255,255,.4);margin-top:10px;max-width:210px;line-height:1.6}
.foot-nav{display:flex;flex-direction:column;gap:10px}
.foot-nav a{font-family:'Outfit',sans-serif;font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.foot-social-lbl{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.fso{display:flex;gap:8px}
.fso a{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.5);transition:all .2s}
.fso a:hover{background:rgba(255,255,255,.12);color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.foot-bottom p{font-size:12px;color:rgba(255,255,255,.3)}
.foot-bottom a{color:rgba(255,255,255,.4);font-weight:600;transition:color .2s}
.foot-bottom a:hover{color:#fff}
/* WA FLOAT */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9000;background:var(--mid);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 6px 22px rgba(0,48,135,.4);transition:all .3s;animation:wafloat 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.vi{opacity:1;transform:translateY(0)}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-links,.btn-nav{display:none}
  .hamburger{display:flex}
  .info-strip{grid-template-columns:1fr}
  .strip-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .strip-item:last-child{border-bottom:none}
  .contact-sec{grid-template-columns:1fr;gap:48px}
@media(max-width:640px){
  :root{--px:20px}
  .page-ttl{font-size:clamp(44px,12vw,64px)}
  .form-col{padding:28px 20px}
  .frow{grid-template-columns:1fr}
  .social-row{flex-direction:column}
  .soc-btn{justify-content:center}
  .location-band{flex-direction:column;gap:24px}
  .btn-maps{width:100%;justify-content:center}
  .foot-top{flex-direction:column;gap:28px}
  .foot-right{align-items:flex-start}
  .foot-bottom{flex-direction:column}
