
  :root{
    --azul:#22307A;
    --dorado:#FFBA00;
    --azul-oscuro:#0B1742;
    --azul-claro:#2C3E8C;
    --ivory:#FFFFFF;
    --char:#0F172A;
    --gray:#4B5567;
    --light:#F8FAFC;
    --dark-bg:#0F172A;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ font-family:'Inter', sans-serif; font-weight:400; color:var(--char); background:var(--ivory); line-height:1.6; }
  h1, h2, h3{ font-family:'Cormorant Garamond', serif; font-weight:600; }
  ::selection{ background:var(--dorado); color:var(--char); }

  /* NAV */
  nav{ position:fixed; top:0; left:0; width:100%; z-index:50;
       display:flex; align-items:center; justify-content:space-between;
       padding:16px 5vw; transition:all .3s ease;
       background:linear-gradient(180deg, rgba(26,40,88,.72) 0%, rgba(26,40,88,.34) 60%, rgba(26,40,88,0) 100%); backdrop-filter:blur(9px); box-shadow:none; }
  .logo{ display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; }
  .logo img{ height:42px; width:auto; }
  .navlinks{ display:flex; align-items:center; gap:40px; flex-wrap:nowrap; white-space:nowrap; }
  .navlinks a{ font-family:'Inter', sans-serif; color:rgba(255,255,255,.92); text-decoration:none; font-size:13px; font-weight:500; letter-spacing:.02em; transition:color .3s; text-shadow:0 1px 4px rgba(0,0,0,.25); }
  .navlinks a:hover{ color:var(--dorado); }
  #langToggle{ border:1px solid rgba(255,255,255,.55); padding:4px 11px; font-weight:800; letter-spacing:.08em; }
  #langToggle:hover{ border-color:var(--dorado); }

  /* HERO */
  .hero{ position:relative; height:94vh; min-height:640px; width:100%; overflow:hidden; display:flex; background:var(--azul-oscuro); }
  .hero-slides{ position:absolute; inset:0; z-index:0; }
  .hero-slide, .hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center; opacity:0; transition:opacity 3s ease-in-out; will-change:opacity; transform:scale(1.05); }
  .hero-slide.active, .hero-video.active{ opacity:1; }
  .hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, rgba(0,0,35,.5) 0%, rgba(0,0,45,.4) 45%, rgba(0,0,55,.65) 100%); }
  .hero-center{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 5vw; }
  .hero-kicker{ font-family:'Inter', sans-serif; letter-spacing:.32em; font-size:12px; text-transform:uppercase; color:var(--dorado); margin-bottom:26px; font-weight:500; }
  .hero-title{ font-family:'Cormorant Garamond', serif; font-weight:500; font-size:clamp(36px,4.7vw,58px); line-height:1.14; color:#fff; letter-spacing:.005em; max-width:860px; }
  .hero-title em{ font-style:italic; color:var(--dorado); }
  .hero-subtitle{ font-size:18px; color:rgba(255,255,255,.85); margin-top:24px; max-width:620px; font-weight:400; }
  .hero-features{ position:absolute; bottom:38px; left:0; right:0; z-index:2; display:flex; justify-content:center; gap:clamp(20px,4.5vw,68px); flex-wrap:wrap; padding:0 5vw; }
  .hero-feature{ display:flex; flex-direction:column; align-items:center; gap:9px; }
  .hero-feature svg{ width:26px; height:26px; stroke:var(--dorado); fill:none; stroke-width:1.6; }
  .hero-feature span{ font-size:10px; letter-spacing:.13em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.92); white-space:nowrap; }
  @media(max-width:820px){ .hero-features{ gap:16px 24px; bottom:26px; } .hero-feature svg{ width:22px; height:22px; } .hero-feature span{ font-size:8.5px; letter-spacing:.08em; } }

  /* SECTION STYLES */
  .section{ padding:84px 6vw; text-align:center; }
  .section.alt{ background:var(--light); }
  .section h2{ font-family:'Cormorant Garamond', serif; font-weight:600; font-size:clamp(32px,4.5vw,52px); color:var(--char); letter-spacing:-.01em; margin-bottom:18px; }
  .section h2 em{ font-style:italic; color:var(--dorado); }
  .eyebrow{ font-family:'Inter', sans-serif; letter-spacing:.2em; font-size:11px; color:var(--azul); text-transform:uppercase; margin-bottom:28px; font-weight:600; }
  .section p{ font-size:clamp(15px,1.2vw,18px); line-height:1.8; color:var(--gray); max-width:720px; margin:0 auto 24px; font-weight:400; }

  /* TESTIMONIALS HERO BANNER */
  .testimonials-hero{ position:relative; margin:-84px -6vw 46px; padding:100px 6vw 96px; background-image:url('img/i-b71a3cf01e.jpg'); background-size:cover; background-position:center 38%; overflow:hidden; }
  .testimonials-hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,10,25,.80) 0%, rgba(8,10,25,.6) 100%); }
  .testimonials-hero .th-content{ position:relative; z-index:2; max-width:760px; margin:0 auto; }
  .testimonials-hero .eyebrow{ color:var(--dorado); }
  .testimonials-hero h2{ color:#fff; margin-bottom:16px; }
  .testimonials-hero h2 em{ color:var(--dorado); }
  .testimonials-hero p{ color:rgba(255,255,255,.9); margin-bottom:0; }
  @media(max-width:600px){ .testimonials-hero{ margin:-64px -6vw 36px; padding:64px 6vw 60px; } }

  /* TESTIMONIALS - CAROUSEL (COMPACT) */
  .testimonials-container{ max-width:1280px; margin:28px auto 0; position:relative; overflow:hidden; padding:8px 4px; }
  .testimonials{ display:flex; gap:20px; transition:transform .6s cubic-bezier(0.4, 0.0, 0.2, 1); }
  .testimonial{ background:#fff; border-radius:14px; box-shadow:0 2px 12px rgba(15,23,42,.06); transition:all .35s ease; border:1px solid #E8ECF2; flex:0 0 calc(33.333% - 14px); padding:26px 24px; display:flex; flex-direction:column; text-align:left; }
  .testimonial:hover{ transform:translateY(-6px); box-shadow:0 14px 28px rgba(34,48,122,.12); }
  .testimonial-stars{ color:#00B67A; font-size:13px; letter-spacing:2px; margin-bottom:10px; }
  .testimonial-story{ color:var(--char); font-size:12.5px; line-height:1.62; font-style:italic; font-weight:400; margin-bottom:14px; flex-grow:1; }
  .testimonial-foot{ display:flex; align-items:center; gap:12px; border-top:1px solid #EEF1F5; padding-top:16px; }
  .testimonial-avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; background:linear-gradient(135deg,#E0E7FF,#DBEAFE); flex-shrink:0; }
  .testimonial-avatar.ta-init{ display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond', serif; font-weight:700; font-size:20px; color:#fff; background:linear-gradient(135deg,#0B1742,#22307A); }
  .testimonial-name{ font-family:'Inter', sans-serif; font-weight:700; font-size:14px; color:var(--char); margin-bottom:2px; }
  .testimonial-trip{ font-family:'Inter', sans-serif; font-size:10.5px; color:var(--azul); text-transform:uppercase; font-weight:700; letter-spacing:.04em; }
  @media(max-width:900px){ .testimonial{ flex:0 0 calc(50% - 10px); } }
  @media(max-width:600px){ .testimonial{ flex:0 0 100%; } }

  /* CAROUSEL CONTROLS */
  .carousel-nav{ display:flex; justify-content:center; gap:10px; margin-top:36px; }
  .carousel-dot{ width:8px; height:8px; border-radius:50%; background:rgba(34,48,122,.2); cursor:pointer; transition:all .3s; border:none; padding:0; }
  .carousel-dot.active{ background:var(--azul); transform:scale(1.3); }

  /* CTA / EQUIPO */
  .cta{ padding:110px 6vw; background:linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul) 50%, var(--azul-claro) 100%); color:#fff; position:relative; overflow:hidden; text-align:center; }
  .cta .eyebrow{ color:var(--dorado); }
  .cta h2{ color:#fff; margin-bottom:14px; position:relative; z-index:1; }
  .cta h2 em{ color:var(--dorado); }
  .cta-lead{ color:rgba(255,255,255,.8); font-size:15px; font-weight:400; max-width:560px; margin:0 auto 52px; position:relative; z-index:1; }
  .team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1080px; margin:0 auto; position:relative; z-index:1; }
  @media(max-width:820px){ .team-grid{ grid-template-columns:1fr; max-width:420px; } }
  .team-card{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:16px; padding:34px 28px; backdrop-filter:blur(6px); transition:all .35s ease; }
  .team-card:hover{ background:rgba(255,255,255,.13); transform:translateY(-5px); }
  .team-avatar{ width:84px; height:84px; border-radius:50%; margin:0 auto 18px; background-size:cover; background-position:center; border:2px solid var(--dorado); }
  .team-avatar-ph{ display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond', serif; font-size:34px; color:var(--azul); background:var(--dorado); }
  .team-name{ font-family:'Cormorant Garamond', serif; font-size:21px; font-weight:600; color:#fff; margin-bottom:5px; }
  .team-role{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--dorado); font-weight:700; margin-bottom:22px; }
  .team-links{ display:flex; flex-direction:column; gap:10px; }
  .team-links a{ font-size:13px; color:rgba(255,255,255,.85); text-decoration:none; transition:color .3s; word-break:break-word; }
  .team-links a:hover{ color:var(--dorado); }
  .team-links a.team-wa{ margin-top:6px; background:var(--dorado); color:var(--azul); font-weight:700; font-size:12px; padding:11px 16px; border-radius:100px; transition:all .3s; }
  .team-links a.team-wa:hover{ background:#fff; color:var(--azul); }

  /* LEGAL / EMPRESA REGISTRADA */
  .legal-section{ padding:100px 6vw; background:var(--light); }
  .legal-wrap{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:center; }
  .legal-cert{ background:#fff; padding:14px; border-radius:8px; box-shadow:0 20px 50px rgba(15,23,42,.16); }
  .legal-cert img{ width:100%; display:block; border-radius:4px; border:1px solid #E8ECF2; background:#fff; }
  .legal-cert a{ display:block; text-align:center; margin-top:12px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--azul); text-decoration:none; }
  .legal-cert a:hover{ color:var(--dorado); }
  .legal-text .eyebrow{ text-align:left; color:var(--azul); margin-bottom:16px; }
  .legal-text h2{ text-align:left; font-family:'Cormorant Garamond', serif; font-size:clamp(28px,3.2vw,40px); font-weight:600; color:var(--char); margin-bottom:20px; line-height:1.2; }
  .legal-text h2 em{ color:var(--dorado); font-style:italic; }
  .legal-text p{ font-size:15px; line-height:1.75; color:var(--gray); font-weight:400; margin-bottom:16px; }
  .legal-text p strong{ color:var(--char); font-weight:600; }
  .legal-badges{ display:flex; margin-top:32px; gap:40px; }
  .legal-badge{ flex:1; padding:0; margin:0; }
  .legal-badge:last-child{ }
  .legal-badge .lb-num{ font-family:'Inter', sans-serif; font-weight:700; color:var(--char); font-size:17px; line-height:1.25; letter-spacing:-.01em; }
  .legal-badge .lb-lbl{ font-size:9.5px; color:var(--gray); text-transform:uppercase; letter-spacing:.14em; margin-top:6px; font-weight:500; }
  @media(max-width:600px){ .legal-badges{ flex-direction:column; gap:16px; } .legal-badge{ padding:0; margin:0; } }
  @media(max-width:820px){ .legal-wrap{ grid-template-columns:1fr; gap:36px; } .legal-text{ order:1; } .legal-cert{ order:2; max-width:340px; margin:0 auto; } .legal-section{ padding:64px 6vw; } .legal-text h2, .legal-text .eyebrow{ text-align:center; } .legal-cert a{ text-align:center; } }

  /* OTRAS EMPRESAS / BRANDS */
  .brands-section{ padding:100px 6vw; background:#fff; }
  .brands-header{ text-align:center; margin-bottom:50px; }
  .brands-header .eyebrow{ color:var(--azul); margin-bottom:14px; }
  .brands-header h2{ font-family:'Cormorant Garamond', serif; font-size:clamp(30px,4vw,46px); font-weight:600; color:var(--char); }
  .brands-header h2 em{ color:var(--dorado); font-style:italic; }
  .brands-header p{ color:var(--gray); font-size:15px; font-weight:400; max-width:600px; margin:12px auto 0; }
  .brands-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1080px; margin:0 auto; }
  @media(max-width:820px){ .brands-grid{ grid-template-columns:1fr 1fr; gap:14px; } .brands-section{ padding:64px 5vw; } }
  .brand-card{ position:relative; border-radius:18px; overflow:hidden; min-height:400px; display:flex; flex-direction:column; justify-content:stretch; padding:40px 36px; cursor:pointer; box-shadow:0 8px 26px rgba(15,23,42,.16); }
  .brand-card-img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .8s cubic-bezier(0.2,0.8,0.2,1); }
  .brand-card:hover .brand-card-img{ transform:scale(1.06); }
  .brand-card-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,20,.94) 0%, rgba(0,0,30,.62) 50%, rgba(0,0,40,.42) 100%); }
  .brand-card-content{ position:relative; z-index:2; display:flex; flex-direction:column; flex:1; }
  .brand-tag{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--dorado); font-weight:700; margin-bottom:10px; }
  .brand-logo-text{ display:flex; flex-direction:column; justify-content:flex-end; min-height:128px; margin-bottom:20px; }
  
.brand-logo{ height:88px; width:auto; margin-bottom:18px; display:block; }
.brand-logo-at{ height:32px; margin-bottom:12px; opacity:.95; filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.7)); }
  .brand-name{ font-family:'Cormorant Garamond', serif; font-size:clamp(28px,3vw,36px); color:#fff; font-weight:600; margin-bottom:12px; line-height:1.1; }
  .brand-desc{ color:rgba(255,255,255,.85); font-size:14px; line-height:1.6; margin-bottom:24px; max-width:400px; font-weight:400; min-height:70px; }
  .brand-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--dorado); color:var(--azul); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:13px 24px; border-radius:100px; transition:all .3s; margin-top:auto; align-self:flex-start; }
  .brand-card:hover .brand-btn{ gap:12px; background:#fff; }
  .medida-form select{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:14px 16px; color:#fff; font-family:'Inter', sans-serif; font-size:14px; font-weight:400; transition:all .3s; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23FFBA00' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
  .medida-form select:focus{ outline:none; border-color:var(--dorado); background-color:rgba(255,255,255,.1); }
  .medida-form select option{ color:#0F172A; }

  /* FOOTER */
  footer{ background:#F8FAFC; border-top:4px solid var(--dorado); color:var(--char); padding:100px 6vw 60px; font-weight:400; text-align:left; font-size:14px; }
  .footer-content{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1.2fr; gap:80px; max-width:1280px; margin:0 auto 60px; }
  .footer-brand h3{ font-family:'Cormorant Garamond', serif; font-size:26px; font-weight:600; margin-bottom:8px; color:var(--azul); }
  .footer-brand .tagline{ color:var(--dorado); font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; display:block; }
  .footer-brand p{ color:var(--gray); font-size:13px; line-height:1.8; margin-bottom:0; font-weight:400; }
  .footer-col h4{ font-weight:800; font-size:11px; color:var(--azul); text-transform:uppercase; letter-spacing:.08em; margin-bottom:20px; }
  .footer-col a{ display:block; color:var(--gray); text-decoration:none; font-size:13px; margin-bottom:12px; transition:color .3s; font-weight:400; }
  .footer-col a:hover{ color:var(--azul); }
  .footer-logo{ height:48px; margin-bottom:12px; }
  .footer-divider{ border-top:1px solid #E5E9F0; padding-top:30px; margin-top:30px; display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--gray); }

  /* ABOUT SECTION */
  .about-band{ background:#fff; }
  .about-banner{ position:relative; width:100%; margin:0; padding:0; line-height:0; }
  .about-banner img{ width:100%; aspect-ratio:2/1; max-height:520px; object-fit:cover; object-position:center 50%; display:block; filter:grayscale(1); }
  
  .about-story{ max-width:688px; margin:0 auto; padding:56px 24px 28px; text-align:center; }
  .about-story .eyebrow{ text-align:center; margin-bottom:18px; color:var(--azul); }
  .about-story h2{ text-align:center; margin-bottom:34px; font-family:'Cormorant Garamond', serif; font-weight:500; font-size:clamp(30px,2.9vw,42px); letter-spacing:-.01em; line-height:1.12; color:var(--char); }
  .about-story h2 em{ font-style:italic; font-weight:500; color:var(--azul); }
  .about-story p{ text-align:center; margin-bottom:18px; font-family:'Cormorant Garamond', serif; font-size:clamp(19px,1.55vw,22px); line-height:1.62; color:#3a3a3a; font-weight:500; }
  .about-story p strong{ color:var(--char); font-weight:700; }
  .about-story p em{ color:var(--dorado); font-style:italic; }
  .about-story .signature{ font-family:'Allura', cursive; font-size:32px; color:var(--dorado); margin:38px 0 2px; font-weight:400; line-height:1; letter-spacing:-1px; display:block; transform:scaleX(1.1); }
  .about-story .signature-role{  font-size:12px; letter-spacing:.04em; color:var(--gray); font-weight:500; margin-bottom:0; }
  .about-wrap .signature-role strong{ color:var(--char); font-weight:700; }
  .about-body p:first-child{ margin-top:0; }
  .about-body p{ text-align:justify; text-align-last:center; }
  .about-story .about-btn{ margin-top:26px; }
  @media(max-width:820px){  }
  .about-btn{ display:inline-flex; align-items:center; gap:8px; font-family:'Inter', sans-serif; color:var(--azul); text-decoration:none; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; transition:all .3s; }
  .about-btn:hover{ gap:12px; color:var(--dorado); }
  .about-btn::after{ content:'→'; }

  /* WHY SECTION */
  .why-section{ display:grid; grid-template-columns:0.78fr 1.22fr; gap:56px; padding:64px 6vw; max-width:1180px; margin:0 auto; }
  .why-col h3{ font-family:'Cormorant Garamond', serif; font-size:clamp(26px,2.4vw,36px); font-weight:600; margin-bottom:18px; color:var(--char); line-height:1.2; }
  .why-col h3 em{ color:var(--dorado); font-style:italic; }
  .why-col-left p{ font-size:15px; line-height:1.9; color:var(--gray); margin-bottom:24px; font-weight:400; }
  .why-col-right{ display:grid; grid-template-columns:1fr 1fr; gap:24px 30px; }
  .why-col-right .eyebrow, .why-col-right > h3{ grid-column:1 / -1; }
  @media(max-width:600px){ .why-col-right{ grid-template-columns:1fr; } }
  .why-feature{ display:flex; gap:16px; align-items:flex-start; }
  .why-check{ width:24px; height:24px; border-radius:50%; background:var(--dorado); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; margin-top:2px; }
  .why-feature-text h4{ font-family:'Inter', sans-serif; font-size:14px; font-weight:700; color:var(--char); margin-bottom:4px; line-height:1.3; }
.why-col-right .why-feature-text h4{ min-height:2.6em; }
  .why-feature-text p{ font-size:13px; line-height:1.6; color:var(--gray); font-weight:400; }

  @media(max-width:1024px){ .why-section{ grid-template-columns:1fr; gap:60px; } }

  /* TRIPS SECTION - VISUAL CARDS (fila delgada corrediza) */
  .trips-section{ padding:72px 0 76px; background:var(--light); position:relative; }
  .trips-header{ text-align:center; margin-bottom:30px; padding:0 6vw; }
  .trips-header .eyebrow{ color:var(--azul); margin-bottom:14px; }
  .trips-header h2{ font-family:'Cormorant Garamond', serif; font-weight:600; color:var(--char); font-size:clamp(34px,4.5vw,54px); margin-bottom:8px; }
  .trips-header h2 em{ color:var(--dorado); font-style:italic; }
  .trips-header .trips-sub{ color:var(--gray); font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; }

  .trips-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; max-width:1200px; margin:0 auto; padding:6px 6vw; }
  @media(max-width:900px){ .trips-grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }
  @media(max-width:520px){ .trips-grid{ max-width:480px; } }
  .trip-card{ position:relative; aspect-ratio:3/4.4; border-radius:16px; overflow:hidden; cursor:pointer; box-shadow:0 10px 30px rgba(15,23,42,.18); text-decoration:none; display:block; transition:transform .4s cubic-bezier(0.2,0.8,0.2,1), box-shadow .4s ease; }
  .trip-card::after{ content:''; position:absolute; inset:0; border-radius:16px; border:1px solid rgba(255,255,255,.12); z-index:4; pointer-events:none; transition:border-color .4s; }
  .trip-card:hover{ transform:translateY(-8px); box-shadow:0 22px 48px rgba(15,23,42,.32); }
  .trip-card:hover::after{ border-color:rgba(255,186,0,.55); }
  .trip-card-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center; transition:transform 1s cubic-bezier(0.2,0.8,0.2,1); pointer-events:none; filter:saturate(0.9) sepia(0.1) contrast(1.02) brightness(0.98); }
  .trip-card:hover .trip-card-img{ transform:scale(1.07); }
  .trip-card-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(8,10,25,.9) 0%, rgba(8,10,25,.55) 32%, rgba(8,10,25,.12) 62%, rgba(8,10,25,0) 100%); transition:background .4s; }
  .trip-card-tag{ display:none !important;  position:absolute; top:14px; left:14px; right:14px; background:rgba(255,186,0,.92); color:var(--azul); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:6px 10px; border-radius:100px; z-index:3; text-align:center; line-height:1.3; backdrop-filter:blur(4px); }
  .trip-card-content{ position:absolute; bottom:0; left:0; right:0; padding:20px 18px; z-index:3; }
  .trip-card-title{ font-family:'Cormorant Garamond', serif; color:#fff; font-size:24px; font-weight:600; line-height:1.05; margin-bottom:5px; letter-spacing:.005em; }
  .trip-card-title .days{ color:var(--dorado); }
  .trip-card-cities{ color:rgba(255,255,255,.78); font-size:10.5px; font-weight:400; margin-bottom:14px; line-height:1.45; letter-spacing:.01em; }
  .trip-card-meta{ display:flex; flex-direction:column; gap:2px; }
  .trip-card-dates{ display:none; }
  .trip-card-btn{ display:inline-flex; align-items:center; gap:6px; background:transparent; border:none; color:#fff; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:0; text-shadow:0 1px 6px rgba(0,0,0,.5); transition:all .35s; }
  .trip-card:hover .trip-card-btn{ color:var(--dorado); gap:10px; }
  .trip-card[role="button"]{ cursor:pointer; }

  /* VERSIONS OVERLAY */
  .versions-overlay{ position:fixed; inset:0; z-index:200; background:rgba(4,6,20,.75); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s ease; display:flex; justify-content:center; align-items:flex-start; padding:40px 20px; overflow-y:auto; }
  .versions-overlay.open{ opacity:1; visibility:visible; }
  .versions-panel{ background:#fff; border-radius:22px; max-width:1180px; width:100%; margin:auto; padding:56px 48px 56px; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); transform:translateY(20px); transition:transform .4s cubic-bezier(0.2,0.8,0.2,1); }
  .versions-overlay.open .versions-panel{ transform:translateY(0); }
  .versions-close{ position:absolute; top:22px; right:24px; width:42px; height:42px; border-radius:50%; border:none; background:#EEF1F5; color:var(--char); font-size:18px; cursor:pointer; transition:all .3s; display:flex; align-items:center; justify-content:center; z-index:5; }
  .versions-close:hover{ background:var(--dorado); color:var(--azul); transform:rotate(90deg); }
  .versions-head{ text-align:center; margin-bottom:44px; max-width:720px; margin-left:auto; margin-right:auto; }
  .versions-head .eyebrow{ color:var(--azul); margin-bottom:12px; }
  .versions-head h2{ color:var(--char); font-family:'Cormorant Garamond', serif; font-size:clamp(30px,4vw,46px); font-weight:600; margin-bottom:16px; }
  .versions-head h2 em{ color:var(--dorado); font-style:italic; }
  .versions-head p{ color:var(--gray); font-size:15px; line-height:1.75; font-weight:400; margin:0; }
  .versions-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
  @media(max-width:820px){ .versions-grid{ grid-template-columns:1fr; } }

  .version-card{ background:#fff; border:1px solid #E8ECF2; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:all .35s ease; box-shadow:0 3px 14px rgba(15,23,42,.05); }
  .version-card:hover{ border-color:var(--dorado); transform:translateY(-4px); box-shadow:0 14px 30px rgba(34,48,122,.1); }
  .version-img{ height:180px; background-size:cover; background-position:center; position:relative; background-color:#E0E7FF; }
  .version-badge{ position:absolute; top:14px; left:14px; z-index:2; background:var(--dorado); color:var(--azul); font-size:9.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:6px 12px; border-radius:100px; }
  .version-body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex-grow:1; }
  .version-name{ font-family:'Cormorant Garamond', serif; color:var(--char); font-size:23px; font-weight:600; margin-bottom:10px; }
  .version-desc{ color:var(--gray); font-size:13.5px; line-height:1.7; font-weight:400; margin-bottom:20px; flex-grow:1; }
  .version-desc strong{ color:var(--azul); font-weight:600; }
  .version-months{ display:flex; flex-direction:column; gap:10px; }
  .version-month{ display:flex; justify-content:space-between; align-items:center; gap:12px; background:var(--light); border:1px solid #E8ECF2; border-radius:10px; padding:13px 16px; text-decoration:none; transition:all .3s; }
  .version-month:hover{ background:var(--dorado); border-color:var(--dorado); }
  .version-month .vm-label{ color:var(--char); font-size:13px; font-weight:700; }
  .version-month .vm-note{ color:var(--gray); font-size:11px; font-weight:400; }
  .version-month:hover .vm-label,
  .version-month:hover .vm-note{ color:var(--azul); }
  .version-month .vm-arrow{ color:var(--azul); font-weight:700; font-size:15px; }
  .version-month:hover .vm-arrow{ color:var(--azul); }
  .version-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--azul); color:#fff; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:14px 22px; border-radius:100px; transition:all .3s; }
  .version-btn:hover{ background:var(--dorado); color:var(--azul); gap:12px; }
  .version-btn.soon{ background:var(--azul); color:#fff; }
  .version-btn.soon:hover{ background:var(--dorado); color:var(--azul); gap:12px; }
  body.no-scroll{ overflow:hidden; }

  /* FORM MODAL */
  .form-panel{ background:var(--dark-bg); border-radius:22px; max-width:520px; width:100%; margin:auto; padding:52px 44px 44px; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.5); transform:translateY(20px); transition:transform .4s cubic-bezier(0.2,0.8,0.2,1); }
  .versions-overlay.open .form-panel{ transform:translateY(0); }
  .form-head{ text-align:center; margin-bottom:32px; }
  .form-head .eyebrow{ color:var(--dorado); margin-bottom:12px; }
  .form-head h2{ color:#fff; font-family:'Cormorant Garamond', serif; font-size:clamp(26px,3.5vw,38px); font-weight:600; margin-bottom:14px; }
  .form-head h2 em{ color:var(--dorado); font-style:italic; }
  .form-head p{ color:rgba(255,255,255,.6); font-size:14px; line-height:1.65; font-weight:400; margin:0; }
  .medida-form{ display:flex; flex-direction:column; gap:18px; }
  .medida-form label{ display:flex; flex-direction:column; gap:8px; color:rgba(255,255,255,.8); font-size:12px; font-weight:600; letter-spacing:.02em; }
  .medida-form label .opt{ color:rgba(255,255,255,.4); font-weight:400; }
  .medida-form input, .medida-form textarea{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:14px 16px; color:#fff; font-family:'Inter', sans-serif; font-size:14px; font-weight:400; transition:all .3s; resize:vertical; }
  .medida-form input::placeholder, .medida-form textarea::placeholder{ color:rgba(255,255,255,.35); }
  .medida-form input:focus, .medida-form textarea:focus{ outline:none; border-color:var(--dorado); background:rgba(255,255,255,.1); }
  .form-submit{ margin-top:8px; background:var(--dorado); color:var(--azul); border:none; border-radius:100px; padding:16px 28px; font-family:'Inter', sans-serif; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:all .3s; }
  .form-submit:hover{ background:#fff; transform:translateY(-2px); }
  .form-note{ text-align:center; color:rgba(255,255,255,.4); font-size:11px; margin:2px 0 0; font-weight:400; }
  @media(max-width:600px){
    .form-panel{ padding:44px 26px 34px; }
    .versions-overlay{ padding:16px 8px; }
    .versions-panel{ padding:40px 18px 36px; border-radius:14px; }
    .versions-grid{ grid-template-columns:1fr; gap:16px; }
    .versions-head{ margin-bottom:28px; }
  }

  /* WHAT'S INCLUDED SECTION */
  .included-section{ padding:140px 6vw; background:var(--light); position:relative; }
  .included-wrapper{ max-width:1280px; margin:0 auto; }
  .included-header{ margin-bottom:80px; }
  .included-header .eyebrow{ text-align:left; color:var(--azul); margin-bottom:20px; }
  .included-header h2{ text-align:left; font-size:clamp(36px,4vw,52px); margin-bottom:0; }
  .included-header h2 em{ color:var(--azul); }

  .included-content{ display:grid; grid-template-columns:1fr 1fr; gap:80px; }
  .included-col{ display:flex; flex-direction:column; gap:40px; }
  .included-category{ border-left:4px solid var(--azul); padding-left:24px; }
  .included-category.optional{ border-left-color:#CBD5E1; opacity:.8; }
  .included-category.not-included{ border-left-color:#CBD5E1; opacity:.6; }

  .included-category h3{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--char); font-weight:700; margin-bottom:20px; }
  .included-category.optional h3{ color:#94A3B8; }
  .included-category.not-included h3{ color:#CBD5E1; }

  .included-item{ display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
  .included-check{ width:20px; height:20px; border-radius:50%; background:var(--azul); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; flex-shrink:0; margin-top:3px; }
  .included-item.optional .included-check,
  .included-item.not-included .included-check{ background:#CBD5E1; }

  .included-text{ font-size:14px; line-height:1.7; color:var(--gray); font-weight:400; }
  .included-item.optional .included-text,
  .included-item.not-included .included-text{ color:#94A3B8; }

  @media(max-width:1024px){ .included-content{ grid-template-columns:1fr; gap:60px; } }

  /* ===== "TE SUENA FAMILIAR" (PROFILE) ===== */
  .profile-section{ padding:130px 6vw; background:var(--light); }
  .profile-wrapper{ max-width:1280px; margin:0 auto; }
  .profile-header{ margin-bottom:56px; }
  .profile-header .eyebrow{ text-align:left; color:var(--azul); margin-bottom:16px; }
  .profile-header h2{ text-align:left; font-size:clamp(34px,4vw,50px); margin-bottom:0; }
  .profile-header h2 em{ color:var(--azul); }
  .profile-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(15,23,42,.05); }
  .profile-card{ padding:44px 36px; border-right:1px solid #EEF1F5; }
  .profile-card:last-child{ border-right:none; }
  .profile-card h4{ font-family:'Inter', sans-serif; font-size:17px; font-weight:700; color:var(--char); margin-bottom:14px; }
  .profile-card p{ font-size:14px; line-height:1.75; color:var(--gray); font-weight:400; text-align:left; margin:0; }
  @media(max-width:900px){ .profile-grid{ grid-template-columns:1fr; } .profile-card{ border-right:none; border-bottom:1px solid #EEF1F5; } .profile-card:last-child{ border-bottom:none; } }

  /* ===== BANNER SEPARADOR ===== */
  .banner{ position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; text-align:center; padding:80px 6vw; background-color:var(--azul-oscuro); background-image:url('img/i-eb37e564cd.jpg'); background-size:cover; background-position:center; background-attachment:fixed; }
  .banner::before{ content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,0,150,.74), rgba(0,0,90,.62)); }
  .banner-inner{ position:relative; z-index:2; max-width:840px; }
  .banner-kicker{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--dorado); font-weight:700; margin-bottom:22px; }
  .banner-quote{ font-family:'Cormorant Garamond', serif; font-size:clamp(26px,4vw,44px); font-weight:600; color:#fff; line-height:1.25; letter-spacing:-.01em; }
  .banner-quote em{ color:var(--dorado); font-style:italic; }
  .banner-sign{ margin-top:24px; font-family:'Cormorant Garamond', serif; font-style:italic; font-size:17px; color:rgba(255,255,255,.8); }
  @media(max-width:820px){ .banner{ background-attachment:scroll; min-height:380px; } }

  /* ===== GALERÍA DE VIAJEROS ===== */
  .gallery-section{ padding:64px 0 64px; background:var(--light); overflow:hidden; }
  .gallery-header{ text-align:center; margin-bottom:32px; padding:0 6vw; }
  .gallery-header .eyebrow{ color:var(--azul); margin-bottom:14px; }
  .gallery-header h2{ font-size:clamp(32px,4.5vw,50px); margin-bottom:10px; }
  .gallery-header h2 em{ color:var(--dorado); font-style:italic; }
  .gallery-header .gallery-sub{ color:var(--gray); font-size:15px; font-weight:400; max-width:620px; margin:0 auto; }
  .gallery-stage{ position:relative; max-width:1500px; margin:0 auto; overflow:hidden; }
  .gallery-track{ display:flex; align-items:center; transition:transform .7s cubic-bezier(0.4,0,0.2,1); }
  .gallery-item{ position:relative; flex:0 0 64%; padding:0 5px; box-sizing:border-box; opacity:1; transform:scale(0.8); transition:transform .55s ease; cursor:pointer; }
  .gallery-item.active{ opacity:1; transform:scale(1); cursor:pointer; z-index:2; }
  .gallery-photo{ width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 42%; border-radius:0; background:#DBEAFE; display:block; box-shadow:0 16px 40px rgba(15,23,42,.22); }
  .gallery-cap{ position:absolute; left:12px; right:12px; bottom:0; margin:0; padding:52px 26px 22px; text-align:left; background:linear-gradient(to top, rgba(10,14,30,.82) 0%, rgba(10,14,30,.35) 55%, rgba(10,14,30,0) 100%); border-radius:0; opacity:0; transition:opacity .6s; pointer-events:none; }
  .gallery-item.active .gallery-cap{ opacity:1; }
  .gallery-cap .g-loc{ display:inline-block; font-family:'Inter', sans-serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#fff; font-weight:700; padding-bottom:8px; border-bottom:2px solid var(--dorado); }
  .gallery-cap .g-date{ font-size:13px; color:var(--gray); font-weight:400; margin-top:4px; }
  .gallery-arrow{ display:none !important; position:absolute; top:calc(50% - 40px); transform:translateY(-50%); z-index:5; width:52px; height:52px; border-radius:50%; border:none; background:#fff; color:var(--azul); font-size:26px; line-height:1; cursor:pointer; box-shadow:0 6px 20px rgba(15,23,42,.18); transition:all .3s; display:flex; align-items:center; justify-content:center; }
  .gallery-arrow:hover{ background:var(--dorado); color:var(--azul); }
  .gallery-arrow.prev{ left:calc(16% - 26px); }
  .gallery-arrow.next{ right:calc(16% - 26px); }
  .gallery-dots{ display:flex; justify-content:center; gap:9px; margin-top:34px; flex-wrap:wrap; padding:0 6vw; }
  .gallery-dot{ width:8px; height:8px; border-radius:50%; background:rgba(34,48,122,.2); border:none; padding:0; cursor:pointer; transition:all .3s; }
  .gallery-dot.active{ background:var(--azul); transform:scale(1.3); }
  @media(max-width:820px){
    .gallery-item{ flex:0 0 84%; }
    .gallery-arrow{ width:42px; height:42px; font-size:22px; }
    .gallery-arrow.prev{ left:6px; }
    .gallery-arrow.next{ right:6px; }
  }

  /* ===== FAQ ===== */
  .faq-section{ padding:80px 6vw; background:#fff; }
  .faq-wrapper{ max-width:900px; margin:0 auto; }
  .faq-wrapper{ max-width:820px; margin:0 auto; }
.faq-header{ margin-bottom:36px; text-align:center; }
  .faq-header .eyebrow{ text-align:center; color:var(--azul); margin-bottom:16px; }
  .faq-header h2{ text-align:center; font-size:clamp(32px,4vw,46px); margin-bottom:0; }
  .faq-header h2 em{ color:var(--azul); }
  .faq-item{ background:#F6F8FC; border:1px solid #E9EEF5; border-radius:14px; margin-bottom:12px; overflow:hidden; transition:background .3s, border-color .3s, box-shadow .3s; }
.faq-item[open]{ background:#fff; border-color:var(--dorado); box-shadow:0 12px 34px rgba(15,23,42,.08); }
  .faq-item:last-child{ margin-bottom:0; }
  .faq-q{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 24px; cursor:pointer; list-style:none; }
  .faq-q::-webkit-details-marker{ display:none; }
  .faq-q h4{ font-family:'Inter', sans-serif; font-size:clamp(15px,1.5vw,17px); font-weight:600; letter-spacing:-.01em; color:var(--char); margin:0; }
  .faq-icon{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:rgba(37,64,143,.08); font-size:19px; color:var(--azul); font-weight:400; flex-shrink:0; transition:transform .3s, background .3s, color .3s; line-height:1; }
  .faq-item[open] .faq-icon{ transform:rotate(45deg); background:var(--dorado); color:#fff; }
  .faq-a{ padding:0 24px 22px; color:var(--gray); font-family:'Inter', sans-serif; font-size:14.5px; line-height:1.75; font-weight:400; max-width:760px; }
  .faq-a strong{ color:var(--char); font-weight:600; }

  /* ===== TABLET ===== */
  @media(max-width:820px){
    nav{ padding:12px 5vw; }
    .navlinks{ gap:20px; }
    .footer-content{ grid-template-columns:1fr 1fr; gap:40px; }
    .section{ padding:90px 6vw; }
  }

  /* ===== MOBILE ===== */
  @media(max-width:600px){
    /* BRANDS 2 por fila compactas */
    .brands-grid{ grid-template-columns:1fr 1fr; gap:8px; }
    .brand-card{ min-height:270px; padding:18px 13px; }
    .brand-amare{ font-size:28px; }
    .brand-amare-sub{ font-size:6.5px; letter-spacing:.12em; margin-top:5px; }
    .brand-logo-text{ min-height:auto; margin-bottom:10px; }
    .brand-name{ font-size:19px; margin-bottom:7px; }
    .brand-logo-at{ height:20px; margin-bottom:8px; }
    .brand-desc{ font-size:9px; line-height:1.45; min-height:auto; margin-bottom:12px; }
    .brand-btn{ font-size:7.5px; padding:9px 11px; letter-spacing:.02em; }
    /* TIPS 2 por fila compactas */
    .tips-grid{ grid-template-columns:1fr 1fr; gap:8px; }
    .tip-card{ padding:18px 13px; }
    .tip-icon{ font-size:24px; margin-bottom:9px; }
    .tip-title{ font-size:12.5px; margin-bottom:8px; line-height:1.25; }
    .tip-text{ font-size:9px; line-height:1.5; margin-bottom:12px; }
    .tip-btn{ font-size:7.5px; padding:9px 10px; letter-spacing:.02em; }
    /* NAV */
    nav{ padding:10px 3vw; }
    .logo img{ height:26px; }
    .navlinks{ gap:8px; }
    .navlinks a{ font-size:8.5px; letter-spacing:0; }
    #langToggle{ padding:3px 6px; }

    /* HERO */
    .hero{ height:auto; min-height:92vh; padding:104px 0 130px; }
    .hero-center{ position:relative; padding:0 6vw; }
    .hero-kicker{ font-size:10px; margin-bottom:18px; letter-spacing:.06em; }
    .hero-title{ font-size:clamp(30px,9vw,42px); }
    .hero-subtitle{ font-size:15px; margin-top:18px; }
    .hero-features{ position:absolute; bottom:22px; left:0; right:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px 4px; max-width:360px; margin:0 auto; padding:0 4vw; }
    .hero-feature{ gap:6px; }
    .hero-feature svg{ width:19px; height:19px; }
    .hero-feature span{ font-size:8px; letter-spacing:.03em; line-height:1.2; }

    /* SECTIONS GENERAL */
    .section{ padding:64px 6vw; }
    .section h2{ font-size:clamp(26px,7vw,34px); }
    .section p{ font-size:15px; }

    /* ABOUT */
    .about-story{ padding:48px 24px 32px; }
    .about-banner img{ aspect-ratio:2/1; max-height:none; }
    .about-story h2{ font-size:clamp(30px,8vw,38px); margin-bottom:24px; }

    /* WHY */
    .why-section{ padding:64px 6vw; gap:48px; }
    .why-col h3{ font-size:clamp(26px,7.5vw,34px); }

    /* TRIPS */
    .trips-section{ padding:70px 10px; }
    .trips-header{ margin-bottom:32px; }
    .trips-grid{ grid-template-columns:repeat(3,1fr); gap:8px; padding:6px 2px; }
    .trip-card{ aspect-ratio:3/4.3; border-radius:9px; }
    .trip-card::after{ border-radius:9px; }
    .trip-card-content{ padding:8px 7px; }
    .trip-card-title{ font-size:12.5px; line-height:1.1; margin-bottom:2px; }
    .trip-card-cities{ font-size:6.8px; line-height:1.25; margin-bottom:5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .trip-card-btn{ font-size:6.8px; gap:2px; letter-spacing:.03em; }

    /* INCLUDED */
    .included-section{ padding:64px 6vw; }
    .included-header{ margin-bottom:44px; }
    .included-header h2{ font-size:clamp(28px,8vw,36px); }
    .included-content{ gap:44px; }

    /* PROFILE */
    .profile-section{ padding:64px 6vw; }
    .profile-header{ margin-bottom:36px; }
    .profile-header h2{ font-size:clamp(28px,8vw,36px); }
    .profile-card{ padding:32px 26px; }

    /* FAQ */
    .faq-section{ padding:64px 6vw; }
    .faq-header{ margin-bottom:32px; }
    .faq-header h2{ font-size:clamp(28px,8vw,36px); }
    .faq-q{ padding:18px 18px; }
    .faq-q h4{ font-size:17px; }

    /* TESTIMONIALS */
    .testimonials-container{ margin-top:40px; }
    .testimonial{ min-height:auto; }
    .carousel-nav{ margin-top:28px; }

    /* CTA */
    .cta{ padding:70px 6vw; }
    .cta h2{ font-size:clamp(26px,7vw,34px); }
    .cta-btn{ padding:15px 32px; font-size:11px; }

    /* FOOTER */
    footer{ padding:64px 6vw 40px; }
    .footer-content{ grid-template-columns:1fr; gap:36px; margin-bottom:40px; }
    .footer-divider{ flex-direction:column; gap:10px; align-items:flex-start; text-align:left; }
  }

/* ===== HOGWARTS THEME (modal magia) ===== */
.versions-overlay.hogwarts{ background:rgba(3,4,14,.9); }
.versions-overlay.hogwarts .versions-panel{
  background:
    radial-gradient(1200px 500px at 50% -8%, rgba(201,164,92,.20) 0%, rgba(201,164,92,0) 60%),
    linear-gradient(160deg, rgba(20,18,43,.90) 0%, rgba(13,11,31,.88) 45%, rgba(28,20,6,.90) 100%),
    url('img/i-98a6836102.jpg') center/cover no-repeat;
  border:1px solid rgba(201,164,92,.5);
  box-shadow:0 30px 90px rgba(0,0,0,.6), inset 0 0 120px rgba(0,0,0,.5);
  overflow:hidden;
}
.versions-overlay.hogwarts .eyebrow{ color:#C9A45C; letter-spacing:.28em; }
.versions-overlay.hogwarts #versionsTitle{
  font-family:'Cormorant Garamond', serif; font-style:italic; color:#EBD9A6;
  text-shadow:0 0 22px rgba(201,164,92,.55), 0 2px 4px rgba(0,0,0,.6); font-size:clamp(40px,5vw,64px);
}
.versions-overlay.hogwarts #versionsIntro{ color:#D8CFE8; }
.versions-overlay.hogwarts .versions-close{ background:rgba(201,164,92,.15); color:#EBD9A6; border:1px solid rgba(201,164,92,.4); }
.versions-overlay.hogwarts .version-card{ background:rgba(20,17,40,.72); border:1px solid rgba(201,164,92,.35); backdrop-filter:blur(2px); }
.versions-overlay.hogwarts .version-name{ color:#EBD9A6; font-style:italic; }
.versions-overlay.hogwarts .version-desc{ color:#CFC7E0; }
.versions-overlay.hogwarts .version-desc strong{ color:#EBD9A6; }
.versions-overlay.hogwarts .version-badge{ background:#C9A45C; color:#1a1206; }
.versions-overlay.hogwarts .version-btn, .versions-overlay.hogwarts .version-btn.soon{ background:rgba(201,164,92,.16); color:#EBD9A6; border:1px solid rgba(201,164,92,.5); }
.hogwarts-deco{ display:none; }
.versions-overlay.hogwarts .hogwarts-deco{ display:block; position:absolute; inset:0; pointer-events:none; z-index:1; }
.versions-overlay.hogwarts .hogwarts-deco span{ position:absolute; opacity:.5; filter:drop-shadow(0 0 10px rgba(201,164,92,.6)); animation:hogfloat 6s ease-in-out infinite; }
.versions-overlay.hogwarts .versions-head, .versions-overlay.hogwarts .versions-grid{ position:relative; z-index:2; }
.hogwarts-deco span:nth-child(1){ top:16px; left:26px; font-size:34px; animation-delay:0s; }
.hogwarts-deco span:nth-child(2){ top:70px; right:80px; font-size:30px; animation-delay:.6s; }
.hogwarts-deco span:nth-child(3){ top:24px; left:47%; font-size:26px; animation-delay:1.1s; }
.hogwarts-deco span:nth-child(4){ top:120px; left:60px; font-size:22px; animation-delay:1.6s; }
.hogwarts-deco span:nth-child(5){ bottom:40px; left:34px; font-size:30px; animation-delay:.9s; }
.hogwarts-deco span:nth-child(6){ bottom:60px; right:48px; font-size:34px; animation-delay:.3s; }
.hogwarts-deco span:nth-child(7){ top:150px; right:40px; font-size:20px; animation-delay:2s; }
.hogwarts-deco span:nth-child(8){ bottom:120px; left:52%; font-size:26px; animation-delay:1.3s; }
.hogwarts-deco span:nth-child(9){ top:200px; left:30px; font-size:18px; animation-delay:2.4s; }
@keyframes hogfloat{ 0%,100%{ transform:translateY(0) rotate(-4deg); } 50%{ transform:translateY(-14px) rotate(4deg); } }

.brand-logo-text{ margin-bottom:18px; }
.brand-amare{ display:block; font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:500; font-size:54px; line-height:1; color:var(--dorado); letter-spacing:.01em; }
.brand-amare-sub{ display:block; margin-top:9px; font-family:'Inter', sans-serif; font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--dorado); font-weight:600; }

.highlights-card{ display:flex; flex-direction:column; justify-content:center; }
.partner-card{ grid-column:1 / -1; display:flex; gap:0; overflow:hidden; border:1px solid #E8ECF2; background:#fff; }
.bernina-band{ position:relative; width:100%; min-height:420px; margin:0 0 76px; background-size:cover; background-position:center; display:flex; align-items:center; }
.bernina-band .bb-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(30,8,8,.82) 0%, rgba(30,8,8,.5) 55%, rgba(30,8,8,.2) 100%); }
.bernina-band .bb-content{ position:relative; z-index:2; max-width:620px; padding:60px 6vw; }
.bernina-band .bb-eyebrow{ font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#FFBA00; font-weight:800; margin-bottom:16px; }
.bernina-band .bb-title{ font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3.6vw,44px); font-weight:600; color:#fff; margin-bottom:16px; line-height:1.12; }
.bernina-band .bb-title em{ color:#ff5a5a; font-style:italic; }
.bernina-band .bb-text{ font-size:15px; line-height:1.7; color:rgba(255,255,255,.9); margin-bottom:28px; max-width:500px; font-weight:400; }
.bernina-band .bb-btn{ display:inline-flex; align-items:center; gap:8px; background:#B31B1B; color:#fff; text-decoration:none; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:16px 30px; transition:all .3s; }
.bernina-band .bb-btn:hover{ background:#fff; color:#B31B1B; gap:12px; }
.bb-btns{ display:flex; flex-wrap:wrap; gap:12px; }
.tips-section{ padding:80px 6vw; background:var(--light); }
.tips-header{ text-align:center; max-width:640px; margin:0 auto 44px; }
.tips-header .eyebrow{ color:var(--azul); margin-bottom:14px; }
.tips-header h2{ font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4vw,46px); font-weight:600; color:var(--char); margin-bottom:14px; }
.tips-header h2 em{ color:var(--dorado); font-style:italic; }
.tips-header p{ color:var(--gray); font-size:15px; line-height:1.7; font-weight:400; }
.tips-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:960px; margin:0 auto; }
@media(max-width:760px){ .tips-section{ padding:64px 5vw; } }
.tip-card{ background:#fff; border:1px solid #E8ECF2; padding:36px 32px; display:flex; flex-direction:column; box-shadow:0 4px 18px rgba(15,23,42,.05); }
.tip-icon{ font-size:34px; margin-bottom:16px; line-height:1; }
.tip-title{ font-family:'Inter',sans-serif; font-size:18px; font-weight:700; color:var(--char); margin-bottom:12px; line-height:1.25; }
.tip-text{ font-size:14px; line-height:1.7; color:var(--gray); font-weight:400; margin-bottom:24px; flex:1; }
.tip-text strong{ color:var(--char); font-weight:700; }
.tip-btn{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; background:var(--azul); color:#fff; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:14px 26px; transition:all .3s; }
.tip-btn:hover{ background:var(--dorado); color:var(--azul); gap:12px; }
.tip-btn-alt{ background:var(--char); }
.tip-btn-alt:hover{ background:var(--dorado); color:var(--char); }
.bernina-band .bb-btn-alt{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); }
.bernina-band .bb-btn-alt:hover{ background:#fff; color:#B31B1B; border-color:#fff; }
.partner-card .pc-btns{ display:flex; flex-wrap:wrap; gap:10px; }
.partner-card .pc-btn-alt{ background:transparent; color:#B31B1B; border:1.5px solid #B31B1B; }
.partner-card .pc-btn-alt:hover{ background:#B31B1B; color:#fff; }
@media(max-width:820px){ .bernina-band{ min-height:360px; margin-bottom:56px; } .bernina-band .bb-content{ padding:48px 7vw; } .bernina-band .bb-overlay{ background:linear-gradient(180deg, rgba(30,8,8,.55) 0%, rgba(30,8,8,.82) 100%); } }
.partner-card .pc-img{ flex:0 0 40%; background-size:cover; background-position:center; min-height:200px; }
.partner-card .pc-body{ flex:1; padding:30px 32px; display:flex; flex-direction:column; justify-content:center; }
.partner-card .pc-eyebrow{ font-family:'Inter',sans-serif; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#B31B1B; font-weight:800; margin-bottom:12px; }
.partner-card .pc-text{ font-size:14px; line-height:1.65; color:var(--gray); margin-bottom:20px; }
.partner-card .pc-btn{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; background:#B31B1B; color:#fff; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:14px 24px; transition:all .3s; }
.partner-card .pc-btn:hover{ background:#8f1414; gap:12px; }
@media(max-width:600px){ .partner-card{ flex-direction:column; } .partner-card .pc-img{ flex:none; min-height:150px; } .partner-card .pc-body{ padding:24px 22px; } }
.highlights-card .version-name{ margin-bottom:16px; }
.hl-list{ list-style:none; margin:0; padding:0; }
.hl-list li{ position:relative; padding:9px 0 9px 26px; font-family:'Inter', sans-serif; font-size:13.5px; line-height:1.5; color:var(--gray); border-bottom:1px solid #EEF1F5; }
.hl-list li:last-child{ border-bottom:none; }
.hl-list li::before{ content:'✦'; position:absolute; left:0; top:9px; color:var(--dorado); font-size:13px; }
.versions-overlay.hogwarts .hl-list li{ color:#CFC7E0; border-bottom-color:rgba(201,164,92,.22); }
.versions-overlay.hogwarts .hl-list li::before{ color:#EBD9A6; }

/* ==== TODO CUADRADO ==== */
*{ border-radius:0 !important; }
.testimonial-avatar,.carousel-dot,.team-avatar,.why-check,.versions-close,.included-check,.gallery-arrow,.gallery-dot,.faq-icon,.hogwarts-deco span,.form-close,#formClose{ border-radius:50% !important; }

/* ==== BERNINA THEME ==== */
.bernina-deco{ display:none; }
.versions-overlay.bernina .versions-panel{ background: linear-gradient(rgba(255,255,255,.93), rgba(255,255,255,.95)), url('img/i-b455024ee8.jpg') center/cover no-repeat; border:1px solid rgba(179,27,27,.25); box-shadow:0 30px 90px rgba(0,0,0,.35); overflow:hidden; }
.versions-overlay.bernina .eyebrow{ color:#B31B1B; letter-spacing:.28em; }
.versions-overlay.bernina #versionsTitle{ color:#1a1a1a; font-style:italic; text-shadow:none; }
.versions-overlay.bernina #versionsIntro{ color:#4a4a4a; }
.versions-overlay.bernina .versions-close{ background:#B31B1B; color:#fff; border:none; }
.versions-overlay.bernina .version-card{ background:rgba(255,255,255,.92); border:1px solid rgba(179,27,27,.2); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.versions-overlay.bernina .version-name{ color:#B31B1B; font-style:italic; }
.versions-overlay.bernina .version-desc{ color:#4a4a4a; }
.versions-overlay.bernina .version-desc strong{ color:#B31B1B; }
.versions-overlay.bernina .version-badge{ background:#B31B1B; color:#fff; }
.versions-overlay.bernina .version-month{ background:#fff; border:1px solid rgba(179,27,27,.3); }
.versions-overlay.bernina .version-month:hover{ background:#B31B1B; border-color:#B31B1B; }
.versions-overlay.bernina .version-month .vm-label{ color:#1a1a1a; }
.versions-overlay.bernina .version-month .vm-note{ color:#777; }
.versions-overlay.bernina .version-month .vm-arrow{ color:#B31B1B; }
.versions-overlay.bernina .version-month:hover .vm-label,.versions-overlay.bernina .version-month:hover .vm-note,.versions-overlay.bernina .version-month:hover .vm-arrow{ color:#fff; }
.versions-overlay.bernina .hl-list li{ color:#4a4a4a; border-bottom-color:rgba(179,27,27,.15); }
.versions-overlay.bernina .hl-list li::before{ color:#B31B1B; }
.versions-overlay.bernina .versions-head, .versions-overlay.bernina .versions-grid{ position:relative; z-index:2; }
.versions-overlay.bernina .bernina-deco{ display:block; position:absolute; inset:0; pointer-events:none; z-index:1; }
.versions-overlay.bernina .bernina-deco span{ position:absolute; opacity:.4; animation:hogfloat 6s ease-in-out infinite; }
.bernina-deco span:nth-child(1){ top:16px; left:26px; font-size:26px; }
.bernina-deco span:nth-child(2){ top:70px; right:80px; font-size:26px; animation-delay:.6s; }
.bernina-deco span:nth-child(3){ top:24px; left:47%; font-size:22px; animation-delay:1.1s; }
.bernina-deco span:nth-child(4){ top:120px; left:60px; font-size:18px; animation-delay:1.6s; }
.bernina-deco span:nth-child(5){ bottom:40px; left:34px; font-size:24px; animation-delay:.9s; }
.bernina-deco span:nth-child(6){ bottom:60px; right:48px; font-size:26px; animation-delay:.3s; }
.bernina-deco span:nth-child(7){ top:150px; right:40px; font-size:20px; animation-delay:2s; }
.bernina-deco span:nth-child(8){ bottom:120px; left:52%; font-size:18px; animation-delay:1.3s; }
.bernina-deco span:nth-child(9){ top:200px; left:30px; font-size:16px; animation-delay:2.4s; }

.flights-band{ background:var(--azul); color:#fff; padding:46px 6vw; text-align:center; }
.flights-inner{ max-width:920px; margin:0 auto; }
.flights-title{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(24px,3vw,36px); color:#fff; margin-bottom:14px; }
.flights-text{ font-size:15px; line-height:1.75; color:rgba(255,255,255,.9); margin-bottom:16px; font-weight:400; }
.flights-text strong{ color:var(--dorado); font-weight:700; }
.flights-cities{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dorado); font-weight:700; }

/* ==== FORM AMARE / ARMA TU VIAJE — crema/arena lujo ==== */
#formOverlay .form-panel{ background:#FBF7F0; border:1px solid #EADFCB; box-shadow:0 30px 80px rgba(60,45,25,.28); }
#formOverlay .form-head .eyebrow{ color:#A98B5D; }
#formOverlay .form-head h2{ color:#2A2420; }
#formOverlay .form-head h2 em{ color:#B79768; }
#formOverlay .form-head p{ color:#6b5f52; }
#formOverlay .medida-form label{ color:#3a3229; }
#formOverlay .medida-form label .opt{ color:#b3a894; }
#formOverlay .medida-form input, #formOverlay .medida-form textarea, #formOverlay .medida-form select{ background:#fff; border:1px solid #E6DBC9; color:#2A2420; }
#formOverlay .medida-form input::placeholder, #formOverlay .medida-form textarea::placeholder{ color:#b3a894; }
#formOverlay .medida-form input:focus, #formOverlay .medida-form textarea:focus, #formOverlay .medida-form select:focus{ border-color:#B79768; background:#fff; }
#formOverlay .medida-form select option{ color:#2A2420; }
#formOverlay .form-submit{ background:#2A2420; color:#FBF7F0; }
#formOverlay .form-submit:hover{ background:#B79768; color:#fff; transform:translateY(-2px); }
#formOverlay .form-note{ color:#a99a86; }
#formOverlay .versions-close{ background:#2A2420; color:#fff; border:none; }
/* ==== FORM AMARE MARCAS — mismo estilo crema/arena ==== */
#brandOverlay.amare-cream .form-panel{ background:#FBF7F0; border:1px solid #EADFCB; box-shadow:0 30px 80px rgba(60,45,25,.28); }
#brandOverlay.amare-cream .form-head .eyebrow{ color:#A98B5D; }
#brandOverlay.amare-cream .form-head h2{ color:#2A2420; }
#brandOverlay.amare-cream .form-head h2 em{ color:#B79768; }
#brandOverlay.amare-cream .form-head p{ color:#6b5f52; }
#brandOverlay.amare-cream .medida-form label{ color:#3a3229; }
#brandOverlay.amare-cream .medida-form label .opt{ color:#b3a894; }
#brandOverlay.amare-cream .medida-form input, #brandOverlay.amare-cream .medida-form textarea, #brandOverlay.amare-cream .medida-form select{ background:#fff; border:1px solid #E6DBC9; color:#2A2420; }
#brandOverlay.amare-cream .medida-form input::placeholder, #brandOverlay.amare-cream .medida-form textarea::placeholder{ color:#b3a894; }
#brandOverlay.amare-cream .medida-form input:focus, #brandOverlay.amare-cream .medida-form textarea:focus, #brandOverlay.amare-cream .medida-form select:focus{ border-color:#B79768; background:#fff; }
#brandOverlay.amare-cream .medida-form select option{ color:#2A2420; }
#brandOverlay.amare-cream .medida-form select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23B79768' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
#brandOverlay.amare-cream .form-submit{ background:#2A2420; color:#FBF7F0; }
#brandOverlay.amare-cream .form-submit:hover{ background:#B79768; color:#fff; transform:translateY(-2px); }
#brandOverlay.amare-cream .form-note{ color:#a99a86; }
#brandOverlay.amare-cream .versions-close{ background:#2A2420; color:#fff; border:none; }
/* ==== FORM ASIA TRIP — azul de marca ==== */
#brandOverlay.asiatrip-blue .form-panel{ background:linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul) 55%, var(--azul-claro) 100%); border:none; box-shadow:0 30px 80px rgba(0,0,60,.4); }
#contactOverlay .form-panel{ background:linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul) 55%, var(--azul-claro) 100%); border:none; box-shadow:0 30px 80px rgba(0,0,60,.4); }

.brand-amare{ color:#D4B77E !important; }
.brand-amare-sub{ color:#C9A45C !important; }

.trips-flights{ max-width:640px; margin:16px auto 0; font-size:14px; line-height:1.6; color:var(--gray); font-weight:400; }
.trips-flights strong{ color:var(--dorado); font-weight:700; }

/* ===== TIPS v2 — eSIM & Global66 (apariencia + SEO) ===== */
.tips-grid.tips-v2{ max-width:1020px; gap:28px; align-items:stretch; }
.tip-card.tip-v2{ position:relative; overflow:hidden; border:1px solid #E6EBF3; border-radius:18px;
  padding:34px 30px 30px; box-shadow:0 10px 30px rgba(15,23,42,.07); transition:transform .3s, box-shadow .3s; }
.tip-card.tip-v2:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(15,23,42,.12); }
.tip-card.tip-v2::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--azul); }
.tip-card.tip-v2.tip-v2-alt::before{ background:var(--dorado); }
.tip-v2-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.tip-v2-ico{ width:50px; height:50px; flex:0 0 auto; border-radius:13px; display:flex; align-items:center;
  justify-content:center; font-size:26px; background:rgba(11,23,66,.07); }
.tip-v2-alt .tip-v2-ico{ background:rgba(255,186,0,.14); }
.tip-v2-brand{ font-family:'Inter',sans-serif; font-size:11px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--azul); }
.tip-v2-alt .tip-v2-brand{ color:#B07A00; }
.tip-v2-brand small{ display:block; font-weight:500; letter-spacing:.04em; font-size:10px; color:var(--gray);
  text-transform:none; margin-top:3px; }
.tip-card.tip-v2 .tip-title{ font-size:20px; margin-bottom:12px; }
.tip-card.tip-v2 .tip-text{ margin-bottom:18px; }
.tip-benefits{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:9px; flex:1; }
.tip-benefits li{ position:relative; padding-left:26px; font-family:'Inter',sans-serif; font-size:13.5px;
  line-height:1.5; color:var(--char); font-weight:500; }
.tip-benefits li::before{ content:"✓"; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%;
  background:var(--azul); color:#fff; font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.tip-v2-alt .tip-benefits li::before{ background:var(--dorado); color:var(--azul); }
.tip-code{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px;
  padding:12px 16px; border-radius:12px; border:1.5px dashed var(--azul); background:rgba(11,23,66,.04); }
.tip-v2-alt .tip-code{ border-color:var(--dorado); background:rgba(255,186,0,.08); }
.tip-code-label{ font-family:'Inter',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--gray); }
.tip-code-value{ font-family:'Inter',sans-serif; font-size:17px; font-weight:800; letter-spacing:.08em; color:var(--azul); }
.tip-v2-alt .tip-code-value{ color:#B07A00; }
.tip-card.tip-v2 .tip-btn{ align-self:stretch; justify-content:center; border-radius:12px; padding:15px; }
.tip-v2-trust{ margin-top:14px; font-family:'Inter',sans-serif; font-size:11.5px; color:var(--gray);
  text-align:center; display:flex; align-items:center; justify-content:center; gap:6px; }
@media(max-width:760px){
  .tips-grid.tips-v2{ grid-template-columns:1fr; gap:18px; }
  .tip-card.tip-v2{ padding:26px 20px 24px; }
  .tip-code-value{ font-size:15px; }
}

/* ===== Menú desplegable VIAJES ===== */
.nav-dd{ position:relative; display:inline-flex; align-items:center; }
.nav-dd-top{ display:inline-flex; align-items:center; }
.nav-dd-top::after{ content:"\25BE"; margin-left:5px; font-size:10px; opacity:.85; transition:transform .25s ease; }
.nav-dd:hover .nav-dd-top::after{ transform:rotate(180deg); }
.nav-dd::after{ content:""; position:absolute; top:100%; left:-10px; right:-10px; height:16px; } /* puente hover */
.nav-dd-menu{ position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(14px);
  min-width:216px; background:#fff; border-radius:13px; box-shadow:0 18px 48px rgba(11,23,66,.20);
  padding:9px; opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease; z-index:1200; }
.nav-dd:hover .nav-dd-menu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(8px); }
.nav-dd-menu a{ display:block; padding:10px 14px; border-radius:8px; color:#0b1742 !important;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:500; letter-spacing:.01em;
  white-space:nowrap; text-shadow:none !important; text-transform:none; }
.nav-dd-menu a:hover{ background:rgba(11,23,66,.07); color:var(--azul) !important; }
.nav-dd-menu .nav-dd-sep{ margin-top:7px; border-top:1px solid #EEF1F6; padding-top:12px; font-weight:700; color:var(--azul) !important; }
@media(max-width:860px){ .nav-dd-menu{ display:none; } .nav-dd-top::after{ display:none; } }

/* globo para dejar claro que cambia el idioma */
#langToggle::before{ content:"\1F310"; margin-right:5px; font-size:12px; line-height:1; }

/* menú en pantallas de teléfono (6 enlaces + idioma) */
@media(max-width:480px){
  nav{ padding-left:10px !important; padding-right:10px !important; }
  .navlinks{ gap:7px !important; }
  .navlinks a{ font-size:8px !important; letter-spacing:0 !important; }
  .nav-dd-top::after{ display:none; }
  #langToggle{ padding:2px 5px !important; }
  #langToggle::before{ margin-right:2px; font-size:9px; }
}
@media(max-width:360px){ #langToggle::before{ display:none; } }

/* === Tarjetas de viaje: botón dorado sólido (Opción A) === */
.trip-card .trip-card-btn{display:inline-flex !important;align-items:center;gap:8px !important;background:#FFBA00 !important;color:#0b1742 !important;border:none;border-radius:0;padding:12px 18px !important;font-family:'Inter',sans-serif;font-size:11px !important;font-weight:800;letter-spacing:.1em !important;text-transform:uppercase;text-shadow:none !important;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:background .3s,color .3s,transform .3s,gap .3s;margin-top:10px;}
.trip-card:hover .trip-card-btn{background:#fff !important;color:#0b1742 !important;gap:12px !important;transform:translateY(-2px);}
@media (max-width:768px){.trip-card .trip-card-btn{font-size:9.5px !important;padding:9px 12px !important;letter-spacing:.06em !important;gap:5px !important;margin-top:6px;}}
@media (max-width:480px){.trip-card .trip-card-btn{font-size:8.5px !important;padding:7px 9px !important;letter-spacing:.04em !important;}}

/* === Portada: botones de acción === */
.hero-ctas{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:34px; }
.hero-btn{ display:inline-flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; padding:16px 26px; transition:background .3s,color .3s,transform .3s,border-color .3s; }
.hero-btn img{ width:18px; height:18px; display:block; }
.hero-btn-main{ background:#FFBA00; color:#0b1742; box-shadow:0 8px 24px rgba(0,0,0,.3); }
.hero-btn-main:hover{ background:#fff; color:#0b1742; transform:translateY(-2px); }
.hero-btn-wa{ background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.85); backdrop-filter:blur(4px); }
.hero-btn-wa:hover{ background:#fff; color:#0b1742; transform:translateY(-2px); }
.hero-btn:focus-visible{ outline:2px solid #FFBA00; outline-offset:3px; }
@media (max-width:600px){
  .hero-ctas{ flex-direction:column; align-items:stretch; gap:10px; margin-top:24px; width:100%; max-width:320px; }
  .hero-btn{ justify-content:center; font-size:11.5px; padding:14px 18px; }
}

/* === Sello Top 5 más vendidos === */
.top5-seal{ position:absolute; top:14px; right:14px; z-index:4; width:78px; height:78px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; text-align:center;
  background:radial-gradient(circle at 35% 30%, #FFE08A 0%, #FFBA00 55%, #E09A00 100%); color:#0b1742; box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 0 0 3px rgba(255,255,255,.55), inset 0 0 0 5px #FFBA00, inset 0 0 0 6px rgba(11,23,66,.55); font-family:'Inter',sans-serif; pointer-events:none; transform:rotate(-8deg); }
.top5-seal .t5-star{ font-size:11px; line-height:1; }
.top5-seal .t5-top{ font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; font-weight:700; line-height:.95; letter-spacing:.02em; }
.top5-seal .t5-txt{ font-size:7.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; line-height:1.1; max-width:60px; }
@media (max-width:768px){ .top5-seal{ width:56px; height:56px; top:8px; right:8px; } .top5-seal .t5-top{ font-size:16px; } .top5-seal .t5-txt{ font-size:5.6px; letter-spacing:.05em; } .top5-seal .t5-star{ font-size:8px; } }
@media (max-width:480px){ .top5-seal{ width:44px; height:44px; top:6px; right:6px; } .top5-seal .t5-top{ font-size:13px; } .top5-seal .t5-txt{ font-size:4.6px; } .top5-seal .t5-star{ font-size:6px; } }

/* === Tu equipo === */
.team-section{ background:#fff; }
.team-section .team-lead{ margin-bottom:44px; }
.team-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; max-width:980px; margin:0 auto; }
.team-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
.team-card img{ width:168px; height:168px; border-radius:50%; object-fit:cover; border:3px solid #FFBA00; box-shadow:0 10px 26px rgba(11,23,66,.16); margin-bottom:14px; }
.team-card h3{ font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; font-weight:600; color:#0b1742; margin:0; }
.team-role{ font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--azul); }
.section .team-bio{ font-size:15px; line-height:1.65; margin:8px auto 0; max-width:280px; text-align:center !important; text-align-last:center; }
.team-wa{ margin-top:12px; font-family:'Inter',sans-serif; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#0b1742; text-decoration:none; border-bottom:2px solid #FFBA00; padding-bottom:3px; }
.team-wa:hover{ color:var(--azul); }
@media (max-width:760px){ .team-grid{ grid-template-columns:1fr; gap:40px; } .team-card img{ width:150px; height:150px; } }
.trip-card .top5-seal{ border-radius:50% !important; }
.team-section .team-card .team-bio{ margin:6px auto 0 !important; }
.team-card .team-role{ margin-bottom:0; }

/* === Ajustes de tipografía y legibilidad === */
.why-check svg{ display:block; }
.trip-card-title{ font-weight:700; }
@media (max-width:600px){
  .trips-grid{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; padding:6px 4px !important; }
  .trip-card-content{ padding:12px 11px !important; }
  .trip-card-title{ font-size:19px !important; line-height:1.05 !important; }
  .trip-card-cities{ font-size:10.5px !important; line-height:1.35 !important; margin-bottom:9px !important; }
  .trip-card .trip-card-btn{ font-size:10px !important; padding:9px 11px !important; letter-spacing:.06em !important; }
  .top5-seal{ width:54px !important; height:54px !important; top:8px !important; right:8px !important; }
  .top5-seal .t5-top{ font-size:16px !important; } .top5-seal .t5-txt{ font-size:5.6px !important; } .top5-seal .t5-star{ font-size:8px !important; }
  .hero-feature span{ font-size:10px !important; }
  .why-feature-text p{ font-size:14px; }
}
@media (max-width:480px){ .navlinks a{ font-size:9px !important; } .navlinks{ gap:6px !important; } }
@media (max-width:370px){ .navlinks a{ font-size:8.5px !important; } .navlinks{ gap:5px !important; } }

/* === Cómo funciona === */
.how-section{ background:var(--light); }
.how-steps{ list-style:none; padding:0; margin:46px auto 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; max-width:1100px; counter-reset:none; }
.how-step{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; position:relative; }
.how-n{ font-family:'Cormorant Garamond',Georgia,serif; font-size:56px; font-weight:700; line-height:1; color:var(--dorado); }
.how-step h3{ font-family:'Inter',sans-serif; font-size:15px; font-weight:700; color:#0b1742; margin:0; letter-spacing:.01em; }
.section .how-t{ font-size:14.5px !important; line-height:1.6; margin:0 auto !important; max-width:240px; text-align:center !important; text-align-last:center; }
.how-cta{ display:inline-block; margin-top:44px; background:#0b1742; color:#fff; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; padding:16px 26px; transition:background .3s,color .3s; }
.how-cta:hover{ background:#FFBA00; color:#0b1742; }
@media (max-width:860px){ .how-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 18px; } }
@media (max-width:420px){ .how-steps{ grid-template-columns:1fr; } }

/* === Aviso nuevas fechas === */
.notify-band{ background:#0b1742; padding:74px 6vw; text-align:center; }
.notify-band .eyebrow{ color:#FFBA00; margin-bottom:18px; }
.notify-band h2{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:clamp(30px,4.2vw,46px); color:#fff; margin:0 0 14px; }
.notify-band h2 em{ color:#FFBA00; font-style:italic; }
.notify-band .notify-p{ color:rgba(255,255,255,.85); font-size:16px; max-width:560px; margin:0 auto 30px; text-align:center !important; text-align-last:center; }

/* === Tu guía (páginas de destino) === */
.guide-box{ display:flex; align-items:center; gap:28px; max-width:760px; margin:10px auto 64px; padding:28px 30px; background:#fff; border:1px solid #E3E7F2; border-left:4px solid #FFBA00; box-shadow:0 10px 30px rgba(11,23,66,.08); box-sizing:border-box; }
.guide-box img{ width:128px; height:128px; object-fit:cover; flex-shrink:0; border:3px solid #FFBA00; }
.guide-txt{ min-width:0; }
.guide-txt .eyebrow{ margin-bottom:6px; text-align:left; }
.guide-txt h3{ font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; font-weight:600; color:#0b1742; margin:0 0 6px; }
.guide-txt p{ font-size:15px; line-height:1.6; color:var(--gray); margin:0 0 12px; }
.guide-wa{ font-family:'Inter',sans-serif; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#0b1742; text-decoration:none; border-bottom:2px solid #FFBA00; padding-bottom:3px; }
@media (max-width:600px){ .guide-box{ flex-direction:column; text-align:center; margin:10px 16px 48px; padding:24px 20px; } .guide-txt .eyebrow{ text-align:center; } }

/* === Redes sociales en el pie === */
.footer-social{ display:flex; gap:10px; margin-top:18px; }
.footer-brand .fb-btn, .fb-btn{ display:inline-flex !important; align-items:center; gap:9px; background:#1877F2; color:#fff !important; font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; padding:10px 16px; transition:background .3s; margin:0 !important; }
.fb-btn:hover{ background:#0b1742; }
.fb-btn svg{ display:block; }
.guide-box{ margin-top:64px; }

/* === Sello Top 5 · versión elegante === */
.trip-card .top5-seal{ width:80px !important; height:80px !important; top:14px !important; right:14px !important; transform:none !important;
  background:radial-gradient(circle at 50% 35%, rgba(26,38,92,.92) 0%, rgba(11,23,66,.94) 70%) !important;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 8px 22px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,186,0,.95), inset 0 0 0 4px rgba(11,23,66,.94), inset 0 0 0 5px rgba(255,186,0,.55) !important;
  color:#fff !important; gap:2px !important; }
.trip-card .top5-seal .t5-star{ font-size:8px !important; color:#FFBA00; line-height:1; letter-spacing:0; }
.trip-card .top5-seal .t5-top{ font-family:'Cormorant Garamond',Georgia,serif !important; font-style:italic; font-weight:600 !important; font-size:25px !important; line-height:.9 !important; color:#FFBA00; letter-spacing:.01em !important; }
.trip-card .top5-seal .t5-txt{ font-family:'Inter',sans-serif; font-size:6px !important; font-weight:600 !important; letter-spacing:.22em !important; color:rgba(255,255,255,.92); max-width:none !important; padding-left:.22em; }
@media (max-width:600px){
  .trip-card .top5-seal{ width:54px !important; height:54px !important; top:8px !important; right:8px !important; }
  .trip-card .top5-seal .t5-top{ font-size:17px !important; }
  .trip-card .top5-seal .t5-txt{ font-size:4.4px !important; letter-spacing:.16em !important; }
  .trip-card .top5-seal .t5-star{ font-size:6px !important; }
}

/* === Cómo funciona · rediseño (línea de tiempo) === */
.how-section{ background:#fff !important; }
.section .how-lead{ margin:0 auto !important; max-width:520px; text-align:center !important; text-align-last:center; }
.how-steps{ position:relative; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:0 !important; margin:56px auto 0 !important; max-width:1080px; }
.how-steps::before{ content:""; position:absolute; top:27px; left:12.5%; right:12.5%; height:1px; background:linear-gradient(90deg, rgba(255,186,0,0), #FFBA00 12%, #FFBA00 88%, rgba(255,186,0,0)); }
.how-step{ gap:0 !important; padding:0 18px; }
.how-n{ position:relative; z-index:1; width:54px; height:54px; border-radius:50% !important; display:flex; align-items:center; justify-content:center;
  background:#0b1742; color:#FFBA00 !important; font-family:'Inter',sans-serif !important; font-size:14px !important; font-weight:700 !important; letter-spacing:.08em; font-variant-numeric:lining-nums tabular-nums;
  box-shadow:0 0 0 6px #fff, 0 0 0 7px rgba(255,186,0,.6); margin-bottom:26px; }
.how-body{ display:flex; flex-direction:column; gap:10px; align-items:center; }
.how-step h3{ font-family:'Cormorant Garamond',Georgia,serif !important; font-size:25px !important; font-weight:600 !important; color:#0b1742; line-height:1.1; letter-spacing:0 !important; }
.section .how-t{ font-size:14.5px !important; color:var(--gray); max-width:230px; }
.how-cta{ margin-top:54px !important; background:transparent !important; color:#0b1742 !important; border:1.5px solid #0b1742; padding:15px 28px !important; }
.how-cta:hover{ background:#0b1742 !important; color:#FFBA00 !important; }
@media (max-width:860px){
  .how-steps{ grid-template-columns:1fr !important; max-width:440px; margin-top:40px !important; text-align:left; }
  .how-steps::before{ top:27px; bottom:60px; left:27px; right:auto; width:1px; height:auto; background:linear-gradient(180deg, #FFBA00, #FFBA00 85%, rgba(255,186,0,0)); }
  .how-step{ flex-direction:row !important; align-items:flex-start !important; text-align:left !important; gap:22px !important; padding:0 0 30px; }
  .how-n{ flex-shrink:0; margin-bottom:0; }
  .how-body{ align-items:flex-start; gap:6px; padding-top:8px; }
  .how-step h3{ font-size:23px !important; }
  .section .how-t{ max-width:none; margin:0 !important; text-align:left !important; text-align-last:left !important; }
}

/* === Cómo funciona · avión interactivo === */
.how-step, .how-step h3{ text-align:center !important; text-align-last:center !important; }
.how-step{ cursor:pointer; outline:none; }
.how-fill{ position:absolute; z-index:0; background:#0b1742; height:1px; width:0; transition:width 1.1s cubic-bezier(.6,.05,.3,1), height 1.1s cubic-bezier(.6,.05,.3,1); pointer-events:none; }
.how-plane{ position:absolute; top:0; left:0; z-index:3; width:30px; height:30px; transition:transform 1.1s cubic-bezier(.6,.05,.3,1); pointer-events:none; filter:drop-shadow(0 4px 6px rgba(11,23,66,.25)); opacity:0; }
.plane-ready .how-plane{ opacity:1; }
.how-plane svg{ display:block; }
.how-n{ transition:background .45s, color .45s, transform .45s, box-shadow .45s; }
.how-step.is-done .how-n{ box-shadow:0 0 0 6px #fff, 0 0 0 7px #0b1742; }
.how-step.is-active .how-n{ background:#FFBA00 !important; color:#0b1742 !important; transform:scale(1.1); box-shadow:0 0 0 6px #fff, 0 0 0 7px #FFBA00, 0 10px 24px rgba(255,186,0,.35); }
.how-step .how-body{ transition:opacity .45s; }
.how-steps.plane-ready .how-step:not(.is-active):not(.is-done) .how-body{ opacity:.6; }
.how-step:focus-visible .how-n{ outline:2px solid #0b1742; outline-offset:8px; }
@media (max-width:860px){ .how-step, .how-step h3{ text-align:left !important; text-align-last:left !important; } }
@media (prefers-reduced-motion: reduce){ .how-plane,.how-fill,.how-n{ transition:none; } }

/* === Tu equipo: fotos en círculo === */
.team-section .team-card img{ border-radius:50% !important; width:176px; height:176px; border:3px solid #fff; box-shadow:0 0 0 2px #FFBA00, 0 14px 30px rgba(11,23,66,.16); background:#fff; }
@media (max-width:760px){ .team-section .team-card img{ width:156px; height:156px; } }

/* === Nuestra historia · estilo fundadora === */
.about-band.founder-v2{ display:grid !important; grid-template-columns:minmax(0,340px) minmax(0,640px); justify-content:center; align-items:center; gap:64px; background:#0b1742 !important; padding:96px 6vw !important; }
.founder-v2 .founder-photo{ display:flex; justify-content:center; }
.founder-v2 .founder-photo img{ width:300px; height:300px; object-fit:cover; border-radius:50% !important; border:6px solid #fff; box-shadow:0 0 0 2px #FFBA00, 0 24px 50px rgba(0,0,0,.35); background:#fff; }
.founder-v2 .about-story{ max-width:none !important; padding:0 !important; margin:0 !important; text-align:left; }
.founder-v2 .about-story .eyebrow{ color:#FFBA00 !important; text-align:left; margin-bottom:14px; }
.founder-v2 .about-story h2{ color:#fff !important; text-align:left; margin-bottom:22px; }
.founder-v2 .about-story h2 em{ color:#FFBA00 !important; }
.founder-v2 .about-body p{ color:rgba(255,255,255,.86) !important; font-size:16px; line-height:1.75; }
.founder-v2 .about-body p strong, .founder-v2 .about-body p em{ color:#fff; }
.founder-v2 .signature{ color:#FFBA00 !important; text-align:left; margin-top:26px !important; }
.founder-v2 .signature-role{ color:rgba(255,255,255,.7) !important; text-align:left; }
.founder-v2 .signature-role strong{ color:#fff; }
.founder-v2 .about-btn{ display:inline-block; margin-top:26px; background:#fff !important; color:#0b1742 !important; border:none !important; padding:14px 24px !important; font-size:12px; font-weight:800; letter-spacing:.12em; text-decoration:none; transition:background .3s; }
.founder-v2 .about-btn:hover{ background:#FFBA00 !important; }
@media (max-width:860px){
  .about-band.founder-v2{ grid-template-columns:1fr; gap:36px; padding:70px 22px !important; }
  .founder-v2 .founder-photo img{ width:210px; height:210px; }
  .founder-v2 .about-story .eyebrow, .founder-v2 .about-story h2, .founder-v2 .signature, .founder-v2 .signature-role{ text-align:center; }
  .founder-v2 .about-story{ text-align:center; }
}
.about-band.founder-v2{ align-items:start !important; }
.founder-v2 .founder-photo{ position:sticky; top:120px; padding-top:20px; }
.founder-v2 .about-body p{ text-align:justify !important; text-align-last:left !important; }
@media (max-width:860px){ .founder-v2 .founder-photo{ position:static; padding-top:0; } .founder-v2 .about-body p{ text-align-last:center !important; } }
/* Facebook: solo el logo redondo */
.footer-brand .fb-btn, .fb-btn{ background:none !important; padding:0 !important; gap:0 !important; border-radius:50% !important; transition:transform .25s, filter .25s; }
.fb-btn:hover{ background:none !important; transform:translateY(-2px); filter:brightness(1.08); }
.fb-btn svg{ width:40px; height:40px; border-radius:50% !important; }
.founder-v2 .founder-photo img{ background:#DCE4FF; }

/* === Cinta "Top Travel" === */
.top-ribbon{ position:absolute; top:0; right:0; width:128px; height:128px; overflow:hidden; z-index:4; pointer-events:none; }
.top-ribbon span{ position:absolute; top:30px; right:-46px; width:190px; transform:rotate(45deg); text-align:center; padding:7px 0 6px;
  background:linear-gradient(180deg,#14235e,#0b1742); color:#FFBA00; font-family:'Inter',sans-serif; font-size:10px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; line-height:1;
  border-top:1px solid rgba(255,186,0,.85); border-bottom:1px solid rgba(255,186,0,.85); box-shadow:0 6px 14px rgba(0,0,0,.3); padding-left:.28em; }
@media (max-width:600px){ .top-ribbon{ width:92px; height:92px; } .top-ribbon span{ top:20px; right:-38px; width:140px; font-size:7.5px; letter-spacing:.2em; padding:5px 0 4px; } }

/* === Cómo funciona · ruta de avión de papel === */
.how-steps::before{ display:none !important; }
.how-steps{ margin-top:96px !important; }
.how-route{ position:absolute; top:0; left:0; z-index:0; overflow:visible; pointer-events:none; }
.how-route-base{ fill:none; stroke:#0b1742; stroke-opacity:.32; stroke-width:1.6; stroke-dasharray:2 7; stroke-linecap:round; }
.how-route-prog{ fill:none; stroke:#FFBA00; stroke-width:2.2; stroke-linecap:round; }
.how-step{ position:relative; z-index:1; }
.how-plane{ transition:none !important; z-index:2; }
@media (max-width:860px){ .how-steps{ margin-top:70px !important; } }

/* === Post venta === */
.aftersale{ background:#F4F6FC; padding:64px 6vw; }
.aftersale-inner{ max-width:900px; margin:0 auto; display:flex; align-items:center; gap:30px; background:#fff; border:1px solid #E3E7F2; border-left:4px solid #FFBA00; padding:32px 34px; box-shadow:0 10px 30px rgba(11,23,66,.07); box-sizing:border-box; }
.aftersale-inner img{ width:96px; height:96px; object-fit:cover; flex-shrink:0; border-radius:50% !important; border:3px solid #fff; box-shadow:0 0 0 2px #FFBA00; }
.aftersale-txt{ min-width:0; }
.aftersale .eyebrow{ margin-bottom:8px; text-align:left; }
.aftersale h2{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:clamp(26px,3vw,34px); color:#0b1742; margin:0 0 10px; line-height:1.15; }
.aftersale h2 em{ color:#FFBA00; font-style:italic; }
.aftersale-p{ font-size:15px; line-height:1.65; color:var(--gray); margin:0 0 18px; }
.aftersale-links{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.aftersale-btn{ display:inline-block; background:#0b1742; color:#fff; font-family:'Inter',sans-serif; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; padding:14px 20px; transition:background .3s,color .3s; }
.aftersale-btn:hover{ background:#FFBA00; color:#0b1742; }
.aftersale-num{ font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:#0b1742; user-select:all; }
@media (max-width:640px){ .aftersale-inner{ flex-direction:column; text-align:center; padding:28px 20px; } .aftersale .eyebrow{ text-align:center; } .aftersale-links{ justify-content:center; } .aftersale-p{ text-align:center !important; text-align-last:center !important; } }
.team-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; max-width:700px !important; }
@media (max-width:760px){ .team-grid{ grid-template-columns:1fr !important; } }

/* === Mapas de destinos (inicio y calendario) === */
.maps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1240px;margin:0 auto}
.map-card{margin:0;position:relative}
.map-card figcaption{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;font-size:30px;color:#0b1742;text-align:center;margin-bottom:6px}
.map-stage{position:relative}
.map-stage img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.mpin{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;padding:0;border:0;background:none;cursor:pointer;z-index:2;transition:opacity .3s,transform .25s}
.mpin:hover{transform:scale(1.15)}
.mpin-dot{position:absolute;inset:7px;border-radius:50% !important;background:#FFBA00;box-shadow:0 0 0 2.5px #fff,0 4px 10px rgba(11,23,66,.45);transition:background .25s,box-shadow .25s}
.mpin-halo{position:absolute;inset:0;border-radius:50% !important;background:#FFBA00;opacity:0;animation:mpinPulse 2.6s ease-out infinite}
@keyframes mpinPulse{0%{transform:scale(.4);opacity:.55}75%{transform:scale(1.5);opacity:0}100%{opacity:0}}
.mpin.on .mpin-dot{background:#0b1742;box-shadow:0 0 0 3px #FFBA00,0 6px 14px rgba(11,23,66,.5)}
.mpin.dim{opacity:.35}
.mpin:focus-visible{outline:2px solid #FFBA00;outline-offset:2px;border-radius:50% !important}
.where-section{background:#fff;padding:90px 5vw 70px}
.where-head{text-align:center;max-width:720px;margin:0 auto 34px}
.where-head .eyebrow{margin-bottom:16px}
.where-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(32px,4.5vw,52px);color:#0b1742;margin:0 0 12px}
.where-head h2 em{font-style:italic;color:#FFBA00}
.where-head .where-p{font-family:'Inter',sans-serif;font-size:16px;color:var(--gray);margin:0;text-align:center !important;text-align-last:center !important}
.where-more{text-align:center;margin:34px 0 0}
.where-more a{font-family:'Inter',sans-serif;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0b1742;text-decoration:none;border-bottom:2px solid #FFBA00;padding-bottom:4px}
.map-pop{position:absolute;z-index:5;width:290px;transform:translate(18px,-24px);background:#fff;box-shadow:0 18px 44px rgba(11,23,66,.28);border-top:3px solid #FFBA00;padding:18px 18px 10px}
.map-pop.flip-x{transform:translate(calc(-100% - 18px),-24px)}
.map-pop.flip-y{transform:translate(18px,calc(-100% + 24px))}
.map-pop.flip-x.flip-y{transform:translate(calc(-100% - 18px),calc(-100% + 24px))}
.map-pop-x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:22px;line-height:1;color:#8A93AE;cursor:pointer}
.map-pop-eyebrow{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#0B1742}
.map-pop-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600;color:#0b1742;margin:2px 0 8px;padding-right:18px}
.map-pop-trip{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid #EEF1F8;text-decoration:none;color:#0b1742}
.mpt-name{font-family:'Inter',sans-serif;font-size:14px;font-weight:700}
.mpt-top{display:inline-block;margin-left:6px;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;background:#0b1742;color:#FFBA00;padding:2px 5px;vertical-align:2px}
.mpt-when{font-family:'Inter',sans-serif;font-size:12px;color:#5B647D}
.mpt-go{font-family:'Inter',sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0B1742}
.map-pop-trip:hover .mpt-go{color:#B07C00}
@media (max-width:760px){
  .maps-grid{grid-template-columns:1fr;gap:34px}
  .mpin{width:22px;height:22px;margin:-11px 0 0 -11px}.mpin-dot{inset:5px}
  .map-pop{position:absolute;width:auto;left:4% !important;right:4%;top:auto !important;bottom:2%;transform:none !important}
}
@media (prefers-reduced-motion:reduce){.mpin-halo{animation:none}}
/* mapas: bordes difuminados para que no se vean cortados */
.maps-grid{ align-items:center; }
.map-stage img{ -webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%, #000 58%, rgba(0,0,0,.55) 78%, transparent 100%); mask-image:radial-gradient(ellipse 72% 70% at 50% 50%, #000 58%, rgba(0,0,0,.55) 78%, transparent 100%); }
.maps-grid{ align-items:start; }
.map-stage img{
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);
  mask-composite:intersect; }
.map-stage img{
  -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.15) 0,#000 6%,#000 94%,rgba(0,0,0,.15) 100%),linear-gradient(to bottom,rgba(0,0,0,.15) 0,#000 6%,#000 94%,rgba(0,0,0,.15) 100%);
  mask-image:linear-gradient(to right,rgba(0,0,0,.15) 0,#000 6%,#000 94%,rgba(0,0,0,.15) 100%),linear-gradient(to bottom,rgba(0,0,0,.15) 0,#000 6%,#000 94%,rgba(0,0,0,.15) 100%); }
/* mapas con siluetas completas: sin difuminado */
.map-stage img{ -webkit-mask-image:none !important; mask-image:none !important; }
.maps-grid{ align-items:center; }
.maps-grid{ align-items:start !important; }
.footer-social{ gap:12px !important; }

/* === Ventana del mapa: círculos con foto y fecha === */
.map-pop{width:340px !important;padding:20px 20px 14px !important;border-top:3px solid #FFBA00}
.mpt-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.mpt{display:flex;align-items:center;gap:16px;padding:12px 6px;border-top:1px solid #EEF1F8;text-decoration:none;color:#0b1742;transition:background .2s}
.mpt:hover{background:#F6F8FD}
.mpt-photo{position:relative;flex-shrink:0;width:74px;height:74px;border-radius:50% !important;background:#0b1742 center/cover no-repeat;box-shadow:0 0 0 3px #fff,0 0 0 4px #FFBA00,0 6px 14px rgba(11,23,66,.2)}
.mpt-date{position:absolute;right:-8px;bottom:-6px;width:38px;height:38px;border-radius:50% !important;background:#0b1742;border:2px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.mpt-date b{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;font-weight:700;color:#fff}
.mpt-date i{font-style:normal;font-family:'Inter',sans-serif;font-size:7.5px;font-weight:800;letter-spacing:.12em;color:#FFBA00;margin-top:1px}
.mpt-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.mpt-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;line-height:1.1}
.mpt-top{align-self:flex-start;font-family:'Inter',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:#0b1742;color:#FFBA00;padding:2px 6px}
.mpt-when{font-family:'Inter',sans-serif;font-size:12px;color:#5B647D}
.mpt-go{font-family:'Inter',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0B1742}
.mpt:hover .mpt-go{color:#B07C00}
@media (max-width:760px){.map-pop{width:auto !important}.mpt-photo{width:62px;height:62px}}

/* =====================================================================
   TIPOGRAFÍA GLOBAL · Poppins 300 (igual que Blue Zone)
   Todo el sitio hereda Poppins; solo la firma manuscrita conserva Allura.
   ===================================================================== */
html, body{ font-family:'Poppins', Arial, sans-serif !important; font-weight:300; }
body *:not(.signature):not(.signature *){ font-family:'Poppins', Arial, sans-serif !important; }
button, input, select, textarea{ font-family:'Poppins', Arial, sans-serif !important; font-weight:300; }
p, li, .faq-a, .testimonial-story, .tc-when, .mpt-when, .where-p, .hero-subtitle{ font-weight:300; }
h1, h2, h3, .hero-title, .tm-head h2, .mt-name, .tc-name, .mpt-name, .map-pop-title, .team-card h3, .trip-card-title, .page-hero h1, .post-title{ font-weight:400 !important; letter-spacing:-.01em; }
h4, strong, b, .cal-name, .mt-name b{ font-weight:500; }
h1 em, h2 em, h3 em{ font-weight:300 !important; }
.eyebrow, .tc-reg, .tm-count, .cf-row button, .tc-go, .mpt-go, .trip-card-btn, .hero-btn, .how-cta, .team-role, .where-more a{ font-weight:500 !important; }
.trip-card .trip-card-btn, .tc-price, .cal-cta-btns b{ font-weight:600 !important; }
/* tamaños ajustados: Poppins es más ancha que Cormorant */
.hero-title{ letter-spacing:-.02em; }
.tm-head h2{ font-size:clamp(34px,4.2vw,50px) !important; }
.mt-name{ font-size:24px !important; }
.tc-name{ font-size:24px !important; line-height:1.15 !important; }
.trip-card-title{ font-size:21px !important; }
.mpt-name{ font-size:16px !important; }
.map-pop-title{ font-size:22px !important; }
.team-card h3{ font-size:22px !important; }
.top5-seal .t5-top, .tc-date b, .mpt-date b{ font-weight:500 !important; }
.tc-date b{ font-size:28px !important; }
@media (max-width:600px){ .trip-card-title{ font-size:16px !important; } }
.map-card figcaption{ font-weight:400 !important; }
.lg-toc li, .lg-toc a, .cform label, .cform .cf-check{ text-align:left !important; text-align-last:left !important; }
.mpt-date{display:none !important}

/* Paso 02 → WhatsApp de Tiare */
.how-link{ color:inherit !important; text-decoration:none !important; border-bottom:1px solid rgba(255,186,0,.0); transition:border-color .25s, color .25s; }
.how-link:hover{ color:#0B1742 !important; border-bottom-color:#FFBA00; }
.how-wa{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:6px 13px; border-radius:999px; background:#25D366; color:#fff !important; font-size:12.5px; font-weight:500; text-decoration:none !important; letter-spacing:.02em; box-shadow:0 4px 12px rgba(37,211,102,.28); transition:transform .2s, box-shadow .2s; }
.how-wa:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(37,211,102,.38); }
.how-plane{ transition:opacity .4s ease !important; will-change:transform; }

/* Formulario "¿otra fecha?" en la banda azul */
.nf-form{ max-width:760px; margin:0 auto; text-align:left; }
.nf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.nf-grid label{ display:flex; flex-direction:column; gap:6px; }
.nf-wide{ grid-column:1 / -1; }
.nf-l{ color:#FFBA00; font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.nf-form input:not([type=checkbox]), .nf-form select, .nf-form textarea{ width:100%; box-sizing:border-box; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.28); border-radius:3px; color:#fff; font-size:15px; padding:12px 14px; outline:none; transition:border-color .2s, background .2s; font-weight:300; }
.nf-form input::placeholder, .nf-form textarea::placeholder{ color:rgba(255,255,255,.45); }
.nf-form input:focus, .nf-form select:focus, .nf-form textarea:focus{ border-color:#FFBA00; background:rgba(255,255,255,.1); }
.nf-form select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,#FFBA00 50%),linear-gradient(135deg,#FFBA00 50%,transparent 50%); background-position:calc(100% - 18px) 52%, calc(100% - 13px) 52%; background-size:5px 5px; background-repeat:no-repeat; }
.nf-form select option{ color:#0b1742; background:#fff; }
.nf-form textarea{ resize:vertical; min-height:58px; }
.nf-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.nf-check{ display:flex; gap:10px; align-items:flex-start; margin:18px 0 22px; color:rgba(255,255,255,.8); font-size:13.5px; line-height:1.5; }
.nf-check input{ margin-top:3px; accent-color:#FFBA00; width:16px; height:16px; flex:none; }
.nf-check a{ color:#FFBA00 !important; }
.nf-btn{ display:block; margin:0 auto; border:0; cursor:pointer; }
.nf-btn[disabled]{ opacity:.7; cursor:wait; }
.nf-msg{ text-align:center !important; text-align-last:center !important; margin:16px 0 0; font-size:14.5px; min-height:1px; }
.nf-msg.ok{ color:#9FE3B4; } .nf-msg.err{ color:#FFB4A8; }
@media (max-width:640px){ .nf-grid{ grid-template-columns:1fr; } .nf-btn{ width:100%; } }

/* Testimonios en video (miniaturas verticales) */
.tv-wrap{ max-width:760px; margin:46px auto 0; padding:0 16px; }
.tv-head{ display:flex; align-items:center; gap:16px; justify-content:center; margin-bottom:24px; }
.tv-line{ flex:1; max-width:120px; height:1px; background:rgba(11,23,66,.18); }
.tv-eyebrow{ font-size:11.5px; letter-spacing:.24em; color:#0B1742; font-weight:500; }
.tv-grid{ display:flex; justify-content:center; gap:22px; flex-wrap:wrap; }
.tv-card{ position:relative; width:210px; aspect-ratio:9/16; border:0; padding:0; border-radius:16px; overflow:hidden; cursor:pointer; background:#0b1742; box-shadow:0 14px 34px rgba(11,23,66,.18); transition:transform .3s, box-shadow .3s; }
.tv-card:hover{ transform:translateY(-4px); box-shadow:0 20px 44px rgba(11,23,66,.26); }
.tv-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.tv-card:hover img{ transform:scale(1.04); }
.tv-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,23,66,0) 55%,rgba(11,23,66,.78)); pointer-events:none; }
.tv-play{ position:absolute; left:50%; top:50%; width:56px; height:56px; margin:-28px 0 0 -28px; border-radius:50%; background:rgba(255,255,255,.92); color:#0b1742; display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:0 0 0 7px rgba(255,255,255,.25); transition:transform .25s, background .25s; }
.tv-play svg{ margin-left:3px; }
.tv-card:hover .tv-play{ transform:scale(1.08); background:#FFBA00; }
.tv-cap{ position:absolute; left:14px; right:14px; bottom:12px; z-index:2; color:#fff; font-size:13px; text-align:left; display:flex; align-items:center; gap:4px; }
.tv-cap b{ color:#FFBA00; font-weight:500; }
.tv-cap i{ margin-left:auto; font-style:normal; font-size:11.5px; opacity:.85; background:rgba(0,0,0,.35); padding:2px 7px; border-radius:999px; }
.tv-modal{ position:fixed; inset:0; z-index:10000; background:rgba(6,12,36,.88); display:flex; align-items:center; justify-content:center; padding:20px; }
.tv-modal[hidden]{ display:none !important; }
.tv-box{ position:relative; height:min(86vh,760px); aspect-ratio:9/16; max-width:92vw; }
.tv-box video{ width:100%; height:100%; border-radius:14px; background:#000; object-fit:contain; display:block; }
.tv-close{ position:absolute; top:-14px; right:-14px; width:38px; height:38px; border-radius:50%; border:0; background:#FFBA00; color:#0b1742; font-size:24px; line-height:1; cursor:pointer; z-index:2; }
@media (max-width:520px){ .tv-grid{ gap:12px; flex-wrap:nowrap; } .tv-card{ width:calc(50% - 6px); max-width:200px; } .tv-play{ width:46px; height:46px; margin:-23px 0 0 -23px; } }
.nf-btn{ background:#FFBA00 !important; color:#0b1742 !important; }
.tv-card{ border-radius:16px !important; } .tv-play{ border-radius:50% !important; } .tv-close{ border-radius:50% !important; padding:0 !important; }
/* Paso 02: el círculo abre WhatsApp de Tiare */
a.how-n-link{ text-decoration:none !important; cursor:pointer; position:relative; }
a.how-n-link::after{ content:""; position:absolute; right:-3px; bottom:-3px; width:17px; height:17px; border-radius:50%; background:#25D366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 3.5a8.5 8.5 0 0 0-7.3 12.8L3.6 20.5l4.3-1.1A8.5 8.5 0 1 0 12 3.5zm4.2 11.6c-.2.5-1 .9-1.4 1-.4 0-.8.2-2.6-.5-2.2-.9-3.6-3.1-3.7-3.3-.1-.1-.9-1.2-.9-2.2s.6-1.6.8-1.8c.2-.2.4-.3.6-.3h.4c.1 0 .3 0 .5.4l.7 1.6c.1.1.1.3 0 .4l-.3.5-.3.3c-.1.1-.2.2-.1.5.2.3.7 1.1 1.4 1.8.9.8 1.7 1.1 2 1.2.2.1.4.1.5-.1l.7-.8c.2-.2.3-.2.5-.1l1.6.8c.2.1.4.2.4.3.1.1.1.6-.1 1.1z'/%3E%3C/svg%3E") center/12px no-repeat; box-shadow:0 0 0 2px #fff; }
a.how-n-link:hover{ transform:scale(1.12); }
.tv-wrap{ max-width:1000px !important; }
.tv-grid{ gap:18px !important; }
.tv-card{ width:200px; }
@media (max-width:520px){ .tv-grid{ flex-wrap:wrap !important; } }
@media (max-width:520px){ .tv-grid{ gap:12px !important; } .tv-card{ width:calc(50% - 6px) !important; max-width:none; } .tv-cap{ font-size:11.5px; left:10px; right:10px; } }
.tv-cap{ white-space:nowrap; } @media (max-width:520px){ .tv-cap{ font-size:11px; gap:3px; } .tv-cap i{ padding:1px 5px; font-size:10.5px; } }
.tv-wrap{ max-width:1080px !important; }
@media (min-width:521px){ .tv-grid{ gap:14px !important; flex-wrap:wrap; } .tv-card{ width:158px !important; } .tv-cap{ font-size:11.5px; left:10px; right:10px; } .tv-play{ width:46px; height:46px; margin:-23px 0 0 -23px; } }
@media (min-width:521px) and (max-width:1060px){ .tv-card{ width:200px !important; } }
/* Enlace de verificación oficial (Companies House) */
.legal-verify{ display:flex; align-items:center; gap:14px; margin-top:26px; padding:16px 18px; border:1px solid rgba(11,23,66,.14); border-left:3px solid #FFBA00; background:#fff; color:#0b1742 !important; text-decoration:none !important; border-radius:4px; box-shadow:0 6px 18px rgba(11,23,66,.06); transition:transform .2s, box-shadow .2s, border-color .2s; text-align:left !important; }
.legal-verify:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(11,23,66,.12); border-color:rgba(11,23,66,.35); }
.lv-ico{ flex:none; width:40px; height:40px; border-radius:50% !important; background:#0b1742; color:#FFBA00; display:flex; align-items:center; justify-content:center; }
.lv-txt{ display:flex; flex-direction:column; gap:3px; line-height:1.35; }
.lv-txt b{ font-weight:500; font-size:14.5px; }
.lv-txt small{ font-size:12px; color:#5b6585; letter-spacing:.02em; }
.lv-arr{ margin-left:auto; color:#0B1742; font-size:18px; transition:transform .2s; }
.legal-verify:hover .lv-arr{ transform:translateX(3px); }
/* Flecha de botones → avión de papel animado */
.pp{ display:inline-block; vertical-align:-0.18em; margin-left:.4em; line-height:0; }
.pp i{ display:block; font-style:normal; animation:ppFloat 2.8s ease-in-out infinite; }
.pp svg{ display:block; transform:rotate(45deg); overflow:visible; }
@keyframes ppFloat{ 0%,100%{ transform:translate(0,0) rotate(0deg); } 25%{ transform:translate(2px,-2.5px) rotate(-7deg); } 50%{ transform:translate(4px,-.5px) rotate(3deg); } 75%{ transform:translate(1.5px,1.5px) rotate(6deg); } }
a:hover .pp i, button:hover .pp i, a:focus-visible .pp i{ animation:ppFly 1.1s cubic-bezier(.45,0,.3,1) infinite; }
@keyframes ppFly{ 0%{ transform:translate(0,0) rotate(0); opacity:1; } 50%{ transform:translate(18px,-10px) rotate(-14deg); opacity:0; } 51%{ transform:translate(-12px,6px) rotate(8deg); opacity:0; } 100%{ transform:translate(0,0) rotate(0); opacity:1; } }
@media (prefers-reduced-motion: reduce){ .pp i{ animation:none !important; } }
/* Itinerarios WeTravel en páginas de destino */
.it-section{ max-width:1180px; margin:0 auto; padding:70px 6vw 30px; text-align:center; }
.it-section .eyebrow{ color:#0B1742; letter-spacing:.24em; font-size:12px; font-weight:500; margin-bottom:12px; }
.it-section h2{ font-size:clamp(28px,3.4vw,40px); font-weight:400; color:#0b1742; margin:0 0 12px; }
.it-section h2 em{ color:#FFBA00; font-style:italic; }
.it-sub{ max-width:620px; margin:0 auto 36px !important; color:#4a5372; text-align:center !important; text-align-last:center !important; }
.it-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:22px; text-align:left; }
.it-grid.it-n1{ max-width:520px; margin:0 auto; grid-template-columns:1fr; }
.it-grid.it-n2{ max-width:860px; margin:0 auto; }
.it-card{ background:#fff; border:1px solid rgba(11,23,66,.1); box-shadow:0 10px 30px rgba(11,23,66,.08); display:flex; flex-direction:column; overflow:hidden; transition:transform .3s, box-shadow .3s; }
.it-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(11,23,66,.14); }
.it-img{ position:relative; height:190px; background-size:cover; background-position:center; }
.it-badge{ position:absolute; left:14px; bottom:14px; background:#0b1742; color:#FFBA00; font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:6px 10px; font-weight:500; }
.it-body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.it-body h3{ font-size:20px; font-weight:500; color:#0b1742; margin:0 0 10px; text-align:left !important; }
.it-body p{ font-size:14.5px; line-height:1.65; color:#4a5372; margin:0 0 20px !important; flex:1; }
.it-btn{ align-self:flex-start; background:#FFBA00; color:#0b1742 !important; text-decoration:none !important; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; padding:13px 22px; transition:background .2s; }
.it-btn:hover{ background:#0b1742; color:#FFBA00 !important; }
.it-months{ display:flex; flex-direction:column; gap:10px; }
.it-month{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; border:1px solid rgba(11,23,66,.14); border-left:3px solid #FFBA00; color:#0b1742 !important; text-decoration:none !important; transition:background .2s; }
.it-month:hover{ background:#f6f7fb; }
.it-month b{ display:block; font-weight:500; font-size:15px; } .it-month small{ display:block; font-size:12.5px; color:#5b6585; }
.it-go{ font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:#0B1742; white-space:nowrap; font-weight:500; }
.trip-card-btn .pp svg, .version-btn .pp svg{ width:1.35em; height:1.35em; }
.it-grid.it-n4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1100px){ .it-grid.it-n4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .it-grid.it-n4, .it-grid.it-n2{ grid-template-columns:1fr; } .it-section{ padding:54px 16px 20px; } }
/* Avión de papel v2: más lento y con estela */
.pp{ margin-left:.45em; vertical-align:-0.2em; }
.pp svg{ transform:none !important; }
.pp i{ animation:ppFloat2 4.6s ease-in-out infinite !important; }
.pp .pp-plane{ transform-box:fill-box; transform-origin:center; animation:ppBank 4.6s ease-in-out infinite; }
.pp .pp-trail{ opacity:.55; animation:ppTrail 2.4s linear infinite; }
@keyframes ppFloat2{ 0%,100%{ transform:translate(0,0); } 30%{ transform:translate(2px,-2px); } 60%{ transform:translate(3.5px,.5px); } 80%{ transform:translate(1px,1.5px); } }
@keyframes ppBank{ 0%,100%{ transform:rotate(0deg); } 30%{ transform:rotate(-8deg); } 60%{ transform:rotate(4deg); } 80%{ transform:rotate(7deg); } }
@keyframes ppTrail{ to{ stroke-dashoffset:-10.8; } }
a:hover .pp i, button:hover .pp i, a:focus-visible .pp i{ animation:ppFly2 2.2s cubic-bezier(.45,0,.3,1) infinite !important; }
a:hover .pp .pp-trail, button:hover .pp .pp-trail{ animation-duration:1.1s; opacity:.8; }
@keyframes ppFly2{ 0%{ transform:translate(0,0); opacity:1; } 55%{ transform:translate(20px,-9px); opacity:0; } 56%{ transform:translate(-14px,5px); opacity:0; } 100%{ transform:translate(0,0); opacity:1; } }
@media (prefers-reduced-motion: reduce){ .pp i, .pp .pp-plane, .pp .pp-trail{ animation:none !important; } }
.it-btn, .it-go, .trip-card-btn, .version-btn{ white-space:nowrap; } .it-btn{ display:inline-flex; align-items:center; }
.tv-wrap{ max-width:1180px !important; }
@media (min-width:1061px){ .tv-card{ width:148px !important; } .tv-grid{ flex-wrap:nowrap !important; } }
#versionsGrid > .version-card:only-child{ grid-column:1 / -1; justify-self:center; width:100%; max-width:540px; }
.hero-it-btn{ display:inline-flex; align-items:center; margin-top:28px; background:#FFBA00; color:#0b1742 !important; text-decoration:none !important; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; padding:15px 28px; transition:background .2s, color .2s; position:relative; z-index:2; }
.hero-it-btn:hover{ background:#fff; }
html{ scroll-behavior:smooth; }
#itinerarios{ scroll-margin-top:80px; }
/* Bloque Mercados Navideños: una sola acción principal */
.xmas-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:22px; }
.xmas-main{ display:inline-flex; align-items:center; background:#FFBA00; color:#0b1742 !important; text-decoration:none !important; font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; padding:16px 28px; white-space:nowrap; transition:background .2s, color .2s; }
.xmas-main:hover{ background:#0b1742; color:#FFBA00 !important; }
.xmas-links{ font-size:14.5px; color:#5b6585; }
.xmas-links a{ color:#0B1742 !important; text-decoration:underline; text-underline-offset:3px; }
.lv-url{ font-style:normal; font-size:11.5px; color:#0B1742; letter-spacing:.01em; text-decoration:underline; text-underline-offset:2px; word-break:break-all; }
.lv-cta{ margin-left:auto; flex:none; background:#0b1742; color:#FFBA00; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; padding:11px 16px; white-space:nowrap; transition:background .2s,color .2s; }
.legal-verify:hover .lv-cta{ background:#FFBA00; color:#0b1742; }
@media (max-width:640px){ .legal-verify{ flex-wrap:wrap; } .lv-cta{ margin-left:54px; } }
.lv-url{ word-break:normal !important; white-space:nowrap; }
/* ===== Menú hamburguesa (móvil) ===== */
.nav-burger{ display:none; }
@media (max-width:980px){
  nav{ position:fixed; }
  nav .navlinks{ display:none !important; }
  .nav-burger{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; margin-left:auto; padding:0 9px; background:transparent; border:1px solid rgba(255,255,255,.45); border-radius:0; cursor:pointer; position:relative; z-index:1002; }
  .nav-burger span{ display:block; height:2px; background:#fff; transition:transform .25s, opacity .25s; }
  nav.nav-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  nav.nav-open .nav-burger span:nth-child(2){ opacity:0; }
  nav.nav-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  nav.nav-open .navlinks{ display:flex !important; flex-direction:column; align-items:stretch; position:absolute; top:100%; left:0; right:0; background:#0b1742; padding:8px 22px 22px; gap:0; max-height:calc(100vh - 70px); overflow-y:auto; box-shadow:0 18px 40px rgba(0,0,0,.35); }
  nav.nav-open .navlinks a.nl, nav.nav-open .navlinks #langToggle{ font-size:15px !important; letter-spacing:.12em; padding:14px 2px !important; border-bottom:1px solid rgba(255,255,255,.1); color:#fff !important; text-align:left !important; margin:0 !important; }
  nav.nav-open .navlinks #langToggle{ border:1px solid rgba(255,255,255,.4); align-self:flex-start; margin-top:14px !important; padding:9px 16px !important; }
  nav.nav-open .nav-dd{ display:block; }
  nav.nav-open .nav-dd-menu{ position:static !important; display:flex !important; flex-direction:column; opacity:1 !important; visibility:visible !important; transform:none !important; background:transparent !important; box-shadow:none !important; padding:4px 0 10px 14px !important; min-width:0 !important; border:0 !important; }
  nav.nav-open .nav-dd-menu a{ color:rgba(255,255,255,.78) !important; font-size:14px !important; padding:8px 0 !important; border:0 !important; background:transparent !important; }
}
/* ===== Aviso de pago seguro WeTravel ===== */
.wt-note{ display:flex; align-items:flex-start; justify-content:center; gap:8px; margin:22px auto 0 !important; max-width:620px; font-size:13px !important; line-height:1.5; color:#5b6585 !important; text-align:left !important; text-align-last:left !important; }
.wt-note svg{ flex:none; margin-top:2px; color:#0B1742; }
.wt-note b{ font-weight:500; color:#0b1742; }
.xmas-actions + .wt-note{ justify-content:flex-start; margin-left:0 !important; }
.notify-band .wt-note{ color:rgba(255,255,255,.75) !important; }
/* Acceso al portal Mi viaje */
.nav-mv{ border:1px solid rgba(255,186,0,.7) !important; color:#FFBA00 !important; padding:6px 12px !important; }
.nav-mv:hover{ background:#FFBA00 !important; color:#0b1742 !important; }
@media (max-width:980px){ nav.nav-open .navlinks a.nav-mv{ border:0 !important; border-bottom:1px solid rgba(255,255,255,.1) !important; color:#FFBA00 !important; } }

/* VT-TV9: 8 testimonios en video → 4 + 4 en escritorio */
@media (min-width:1061px){ .tv-grid{ flex-wrap:wrap !important; gap:18px !important; } .tv-card{ width:220px !important; } .tv-cap{ font-size:12.5px; left:12px; right:12px; } }

/* ===== VT-SYSTEM · auditoría premium 29 oct 2026 ===== */
/* Hero del inicio: pantalla completa, velo marino y botón discreto */
.hero{ height:100vh; height:100svh; min-height:600px; }
.hero-overlay{ background:linear-gradient(180deg, rgba(11,23,66,.6) 0%, rgba(11,23,66,.42) 38%, rgba(11,23,66,.48) 70%, rgba(11,23,66,.78) 100%) !important; }
.hero-cta{ display:inline-flex; align-items:center; gap:10px; margin-top:30px; padding:0 0 6px; border:0; border-bottom:1px solid var(--dorado); color:#fff !important; text-decoration:none !important; font-family:Poppins,Arial,sans-serif; font-size:13px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; background:none; transition:color .25s; }
.hero-cta:hover{ color:var(--dorado) !important; }
@media(max-width:600px){ .hero-cta{ margin-top:24px; font-size:12px; letter-spacing:.16em; } }
/* Encabezado: logo más presente; idioma como texto */
.logo img{ height:48px; }
@media(max-width:820px){ .logo img{ height:34px !important; } }
#langToggle{ border-color:transparent !important; background:transparent !important; }
#langToggle:hover{ border-color:transparent !important; color:var(--dorado) !important; }
/* Letra mínima legible: 12 px en etiquetas y notas */
.eyebrow, .soon-eyebrow, .tv-eyebrow, .trip-card-cities, .trip-card-btn, .testimonial-trip, .team-role, .banner-kicker, .lb-lbl, .lv-url, .nf-l, .form-note, .tagline, .tag, .it-badge, .it-go, .mt-sub, .mt-dest, .cf-label, .tm-count, .tc-pill, .tc-reg, .tc-countries, .tc-go, .tip-v2-brand, .tip-code-label, .tip-btn, .tip-v2-trust, .tv-cap i, .map-pop-eyebrow, .mpt-go, .hero-feature span{ font-size:max(12px, 1em) !important; }
.eyebrow, .soon-eyebrow, .tv-eyebrow, .trip-card-btn, .tagline, .tag, .it-badge, .it-go, .tc-pill, .tc-reg, .tc-go, .tip-btn, .mpt-go, .map-pop-eyebrow, .lv-cta{ font-size:12px !important; }
.trip-card-cities, .testimonial-trip, .team-role, .mt-sub, .mt-dest, .tc-countries, .form-note, .lv-url, .tip-code-label, .tip-v2-brand, .tip-v2-trust, .cf-label, .tm-count, .nf-l, .lb-lbl, .tv-cap i{ font-size:12.5px !important; }
.mt-sub{ white-space:normal !important; overflow:visible !important; text-overflow:clip !important; display:block; line-height:1.45; }
/* Esquinas rectas en toda la marca (fotos de perfil e íconos circulares siguen redondos) */
.tv-card, .tv-box video, .vg-card, .sn-card, .card-post, .it-card, .tcard, .mtile, .ci-card, input, select, textarea{ border-radius:0 !important; }
/* Tarjetas de Japón: nada se sale de la tarjeta */
.it-section:has(.it-n4){ max-width:1320px; }
.it-btn{ white-space:normal !important; max-width:100%; text-align:left; line-height:1.35; }
.it-grid.it-n4 .it-month{ flex-direction:column; align-items:flex-start; gap:6px; }
.it-grid.it-n4 .it-go{ white-space:nowrap; }
/* Viajes grupales: la última tarjeta no queda sola en su fila */
@media(min-width:901px){ .vg-grid > .vg-card:last-child:nth-child(3n+1){ grid-column:1 / -1; min-height:260px; } }
/* Blog: títulos en tipo oración */
.card-post .ct{ text-transform:none !important; letter-spacing:0 !important; font-family:Poppins,Arial,sans-serif !important; font-weight:500 !important; }
/* Pie: un solo logo */
.footer-brand h3{ display:none !important; }
/* Contacto: tres tarjetas en vez de líneas sueltas */
.contact-intro{ max-width:1080px; margin:0 auto; padding:64px 24px 24px; text-align:center; }
.ci-lead{ max-width:600px; margin:0 auto 30px !important; }
.ci-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 auto 44px; text-align:left; }
.ci-card{ display:flex; flex-direction:column; gap:4px; padding:22px 22px 20px; background:#fff; border:1px solid rgba(11,23,66,.12); border-top:3px solid var(--dorado); color:#0b1742 !important; text-decoration:none !important; transition:transform .25s, box-shadow .25s; }
.ci-card:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(11,23,66,.12); }
.ci-ico{ width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; background:#25D366; color:#fff; border-radius:50%; margin-bottom:10px; }
.ci-ico.ci-mail{ background:#0b1742; }
.ci-who{ font-size:17px; font-weight:500; }
.ci-where{ font-size:13px; color:#5b6585; }
.ci-val{ margin-top:8px; font-size:15px; font-weight:500; letter-spacing:.01em; }
@media(max-width:760px){ .ci-grid{ grid-template-columns:1fr; } }
/* Foco visible para teclado */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{ outline:2px solid var(--dorado) !important; outline-offset:3px; }
.trip-card .trip-card-btn, .trip-card-meta .trip-card-btn{ font-size:12px !important; }
.footer-col h4{ font-size:12px !important; }
.tc-date i{ font-size:11px !important; }
@media(max-width:600px){ .hero-kicker{ font-size:12px !important; letter-spacing:.22em !important; } .tv-cap, .tv-cap b{ font-size:12px !important; } }
.top-ribbon span{ font-size:9px !important; }
.legal-wrap > *{ min-width:0; } .legal-text *{ overflow-wrap:anywhere; }
@media(max-width:600px){ .lv-cta{ white-space:normal !important; text-align:center; letter-spacing:.1em !important; } }
/* Historia de la fundadora: más margen a los costados */
.about-story .about-body, .founder-v2 .about-body{ max-width:600px; margin-left:auto !important; margin-right:auto !important; }
.about-story .about-body p, .founder-v2 .about-body p{ max-width:600px; }
@media(max-width:760px){ .about-story{ padding-left:16px !important; padding-right:16px !important; } .about-band, .about-story{ overflow-x:clip; } .founder-v2 .about-body{ padding-left:12px !important; padding-right:12px !important; } }
/* ===== /VT-SYSTEM ===== */

/* VT-CONTACT4 (número de Inglaterra al mismo nivel) */
.ci-grid.ci4{ grid-template-columns:repeat(4,1fr); }
@media(max-width:1100px){ .ci-grid.ci4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:760px){ .ci-grid.ci4{ grid-template-columns:1fr; } }
.ft-presence{ font-size:12px; letter-spacing:.04em; color:#94A3B8; margin:10px 0 0; }
/* VT-TEAM3: equipo (Catalina · Tiare) */
.team-grid{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; max-width:1020px !important; }
@media (max-width:900px){ .team-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; max-width:700px !important; } }
@media (max-width:600px){ .team-grid{ grid-template-columns:1fr !important; } }

/* VT-BW: fotos del equipo y de la fundadora en blanco y negro con círculo amarillo */
.team-card img, .founder-v2 .founder-photo img, .aftersale-inner img{ border-radius:50% !important; }
.team-card img{ border:4px solid #FFBA00 !important; background:#fff; }
.founder-v2 .founder-photo img{ border:6px solid #FFBA00 !important; box-shadow:0 24px 50px rgba(0,0,0,.30) !important; background:#fff !important; }
.aftersale-inner img{ border:3px solid #FFBA00 !important; box-shadow:none !important; background:#fff; }

/* VT-TEAMPHOTO: fotos del equipo sin círculo (fondo blanco, blanco y negro) */
.team-section .team-card img{ width:220px !important; height:272px !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:#fff !important; object-fit:cover; margin-bottom:10px !important; }
@media (max-width:760px){ .team-section .team-card img{ width:200px !important; height:248px !important; } }

/* VT-ABOUTCLIP: la firma no desborda en tablet */
.about-band{overflow-x:clip}

/* VT-TEAM2: dos personas en "Tu equipo" */
#equipo .tq-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:800px; margin:0 auto; gap:22px; }
@media(max-width:640px){ #equipo .tq-grid{ display:flex; max-width:none; } }

/* VT-FOUNDERDUO: foto Catalina + Tiare en "Nuestra historia" */
#about.founder-v2 .founder-photo.duo{ position:sticky; top:120px; margin:0; display:block; width:340px; max-width:100%; justify-self:center; }
#about.founder-v2 .founder-photo.duo img{ border-radius:16px !important; background:none !important; display:block; }
#about.founder-v2 .founder-photo.duo .duo-main{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border:5px solid #FFBA00 !important; box-shadow:0 24px 50px rgba(0,0,0,.35) !important; }
#about.founder-v2 .founder-photo.duo .duo-small{ position:absolute; width:40%; height:auto; aspect-ratio:4/5; object-fit:cover; right:-38px; bottom:58px; border:5px solid #fff !important; border-radius:10px !important; transform:rotate(4deg); box-shadow:0 16px 34px rgba(0,0,0,.4) !important; }
#about.founder-v2 .founder-photo.duo figcaption{ margin-top:16px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.65); text-align:center; }
@media (max-width:860px){ #about.founder-v2 .founder-photo.duo{ width:260px; position:relative; top:auto; } #about.founder-v2 .founder-photo.duo .duo-small{ right:-24px; bottom:52px; } }
#about.founder-v2 .founder-photo.duo .duo-main.solo{ aspect-ratio:3/4; border:none !important; border-radius:4px !important; box-shadow:0 30px 60px rgba(0,0,0,.45) !important; }
/* VT-FOUNDERBIG: foto de la historia más grande */
.about-band.founder-v2#about{ grid-template-columns:minmax(0,430px) minmax(0,600px) !important; gap:56px !important; }
#about.founder-v2 .founder-photo.duo{ width:430px; }
@media (max-width:1100px){ .about-band.founder-v2#about{ grid-template-columns:minmax(0,380px) minmax(0,560px) !important; gap:44px !important; } #about.founder-v2 .founder-photo.duo{ width:380px; } }
@media (max-width:860px){ .about-band.founder-v2#about{ grid-template-columns:1fr !important; } #about.founder-v2 .founder-photo.duo{ width:min(340px,100%); } }

/* VT-NAVPILL: MI VIAJE y PANEL como píldoras */
nav .navlinks a.nav-mv, nav .navlinks a.nav-adm{ border:0 !important; border-radius:999px !important; padding:9px 18px !important; background:rgba(255,255,255,.14) !important; transition:background .25s,color .25s; }
nav .navlinks a.nav-mv{ color:#FFBA00 !important; }
nav .navlinks a.nav-adm{ color:#fff !important; margin-left:-14px; }
nav .navlinks a.nav-mv:hover, nav .navlinks a.nav-adm:hover{ background:#FFBA00 !important; color:#0b1742 !important; }
@media (max-width:980px){ nav.nav-open .navlinks a.nav-mv, nav.nav-open .navlinks a.nav-adm{ background:transparent !important; border-radius:0 !important; padding:14px 0 !important; margin-left:0; border-bottom:1px solid rgba(255,255,255,.1) !important; } }
/* VT-HEROMOB: en celular el texto va abajo para que se vean las caras del video */
@media (max-width:760px) and (orientation:portrait){
  .hero{ align-items:flex-end !important; padding:0 !important; }
  .hero-center{ margin-top:auto !important; padding:0 20px 96px !important; }
  .hero-title{ font-size:clamp(28px,8vw,36px) !important; }
  .hero-overlay{ background:linear-gradient(180deg, rgba(11,23,66,.38) 0%, rgba(11,23,66,0) 22%, rgba(11,23,66,0) 42%, rgba(11,23,66,.62) 66%, rgba(11,23,66,.9) 100%) !important; }
}

/* VT-HEROMOB2 (6 nov 2026): en celular el video va ARRIBA, limpio, y el texto DEBAJO sobre azul marino (nada tapa las caras) */
@media (max-width:760px) and (orientation:portrait){
  .hero{ display:flex !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; height:auto !important; min-height:0 !important; padding:0 !important; background:#0B1742 !important; }
  .hero-slides{ position:relative !important; inset:auto !important; height:64svh !important; min-height:400px; flex:none !important; }
  .hero-video, .hero-slide{ object-position:center 62% !important; transform:none !important; }
  .hero-overlay{ bottom:auto !important; height:64svh !important; min-height:400px; background:linear-gradient(180deg, rgba(11,23,66,.55) 0%, rgba(11,23,66,0) 18%, rgba(11,23,66,0) 82%, #0B1742 100%) !important; }
  .hero-center{ position:relative !important; inset:auto !important; margin:-34px 0 0 !important; padding:0 22px 44px !important; background:transparent; z-index:2; }
  .hero-kicker{ font-size:11px !important; letter-spacing:.22em !important; }
  .hero-title{ font-size:clamp(28px,8.4vw,36px) !important; margin:10px 0 12px !important; }
  .hero-subtitle{ font-size:15px !important; line-height:1.55 !important; opacity:.9; }
}
