/* ==========================================================================
   VIAJES LUBAY — Hoja de estilos consolidada
   Reorganizada y depurada a partir de la versión original (que tenía
   múltiples bloques :root, reglas de destinos y hero-caption repetidas
   con !important en conflicto, imports de fuentes sin uso, y media
   queries duplicadas). Este archivo produce el mismo resultado visual
   final, pero en una sola fuente de verdad por propiedad.
   ========================================================================== */

/* ---- Fuentes ---- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');

/* ---- Variables globales ---- */
:root{
  /* Paleta */
  --color-primary:#243773;
  --color-primary-hover:#0f1830;
  --color-accent:#fed311;
  --color-accent-hover:#e6bd00;
  --color-secondary:#fed311;
  --color-dark:#1f1f1f;
  --color-black:#241f18;
  --color-background:#f5f2eb;
  --color-surface:#fffdf8;
  --color-text:#2c2a26;
  --color-text-light:#fffdf8;
  --color-muted:#5c5c5c;
  --color-border:rgba(36,55,115,.16);

  /* Estados (badges / disponibilidad) */
  --color-status-available:#3d7a4e;
  --color-status-low:#b5502e;
  --color-status-soldout:#8c8577;
  --color-status-soon:#16213e;
  --color-rust:#b5502e;

  /* Tipografía */
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',Arial,sans-serif;
  --mono:'IBM Plex Mono',monospace;
}

/* ---- Reset / base ---- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--sans);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,h4,.font-serif{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:1.03}
h1{font-size:clamp(4rem,8vw,8.6rem);max-width:920px;margin:15px 0 30px}
h2{font-size:clamp(3rem,5.4vw,6.3rem);margin-bottom:25px}
h2 em,h1 em{color:var(--color-secondary);font-style:italic}

.eyebrow,.mono-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:var(--color-accent);margin-bottom:18px}
.eyebrow.light,.light{color:#ead4a2}
.gold{color:#d3b06e}
.mono-label{color:var(--color-muted)}

.section{max-width:1180px;margin:0 auto;padding:145px 40px;position:relative}
.section::before{content:'';position:absolute;left:40px;right:40px;top:0;height:1px;background:linear-gradient(90deg,rgba(36,55,115,.1),rgba(36,55,115,.22),rgba(36,55,115,.1));pointer-events:none}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:68px;position:relative;z-index:1}
.section-head>p{max-width:330px;color:var(--color-muted);font-size:13px;line-height:1.7}
body .section-head h2,body .custom-copy h2,body .about-copy h2,body .faq-block h2{font-weight:400;letter-spacing:-.025em;line-height:.94;max-width:700px}

.skip-link{position:fixed;top:-60px;left:12px;z-index:100;background:var(--color-dark);color:#fff;padding:12px 18px;font:12px var(--mono);transition:top .2s}
.skip-link:focus{top:12px}

.button{border:0;padding:15px 20px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;font:600 11px var(--sans);letter-spacing:.03em;cursor:pointer;transition:transform .25s,background .25s}
.button:hover{transform:translateY(-3px)}
.button span{font-size:17px}
.button-gold,.button-green{background:var(--color-accent);color:var(--color-black)}
.button-gold:hover,.button-green:hover{background:var(--color-accent-hover)}
.button-outline{border:1px solid rgba(255,255,255,.65);color:#fff;background:transparent}
.button-light{background:#fff;color:var(--color-text)}
.button:focus-visible,.image-link:focus-visible,.row-arrow:focus-visible,.package-foot a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px}

/* ---- Flechas vectoriales ---- */
.ui-arrow{display:inline-block;width:1em;height:1em;position:relative;line-height:1;flex:0 0 auto;vertical-align:middle}
.ui-arrow::before{content:'';position:absolute;display:block;top:50%;left:50%;width:.46em;height:.46em;margin:-.23em 0 0 -.23em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transform-origin:center}
.ui-arrow-diagonal::before{transform:rotate(-90deg)}
.ui-arrow-down::before{transform:rotate(45deg)}
.ui-arrow-reverse{transform:scaleX(-1)}
.image-link .ui-arrow,.row-arrow .ui-arrow{font-size:16px}
.image-link .ui-arrow,.row-arrow .ui-arrow{position:absolute;width:16px;height:16px;margin:auto;inset:0}
.image-link .ui-arrow::before,.row-arrow .ui-arrow::before{top:50%;left:50%}
.button .ui-arrow{font-size:17px}
.header-cta .ui-arrow,.text-button .ui-arrow,.whatsapp-link .ui-arrow,.trip-type-cta .ui-arrow,.package-foot a .ui-arrow{font-size:14px;vertical-align:-1px}

/* ---- Header ---- */
.site-header{position:fixed;top:0;left:0;width:100%;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;z-index:10;border-bottom:1px solid transparent;transition:.35s ease}
.site-header.scrolled{background:rgba(255,253,248,.94);color:var(--color-text);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border);border-bottom-color:var(--color-border)}
.site-header{max-width:100%;margin:0 auto}
.logo-link{display:flex;align-items:center;gap:10px;min-width:130px}
.logo-link img{width:48px;height:48px;object-fit:contain;object-position:center}
.logo-fallback{display:none;font-family:var(--serif);font-size:22px;letter-spacing:.1em}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,36px);min-width:0;font-size:13px;white-space:nowrap;flex:1;margin:0 auto}
.main-nav a,.header-cta{transition:color .2s,opacity .2s}
.main-nav a{position:relative;color:rgba(15,22,32,.8);font-weight:500;letter-spacing:.01em}
.site-header:not(.scrolled) .main-nav a{color:rgba(255,255,255,.9)}
.site-header:not(.scrolled) .main-nav a:hover,.site-header:not(.scrolled) .header-cta:hover{color:#fff}
.main-nav a:hover,.header-cta:hover{color:var(--color-primary)}
.main-nav a:hover::after,.main-nav a:focus-visible::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--color-secondary)}
.header-cta{border-bottom:2px solid currentColor;padding-bottom:5px;font-size:12px;letter-spacing:.02em;margin-left:auto}
.header-cta span{color:var(--color-secondary);font-size:16px;margin-left:6px}
.menu-toggle{display:none;position:relative;width:42px;height:42px;padding:10px 7px;border:0;background:none;color:inherit;font-size:25px;cursor:pointer;z-index:2}
.menu-toggle span{display:block;width:28px;height:1px;margin:5px 0;background:currentColor;transform-origin:center;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s ease,width .35s ease}

/* Nota: si prefieres un logo con texto en vez de solo la imagen,
   usa la variante comentada abajo (añade "Viajes Lubay" junto al logo). */
/* .logo-link:after{content:'Viajes Lubay';font:600 14px/1 var(--sans);white-space:nowrap}
   .footer .logo-link:after{color:var(--color-text-light)} */

/* ---- Hero ---- */
.hero{position:relative;min-height:100vh;padding:150px 11vw 105px;display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(16,35,31,.8),rgba(16,35,31,.13)),var(--hero-image) center/cover}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,25,22,.12),transparent 45%,rgba(12,25,22,.3));pointer-events:none}
.hero-inner{position:relative;z-index:1;max-width:760px}
.hero h1{max-width:760px;font-size:clamp(4.2rem,7vw,8rem);line-height:1.02}
.hero-description{max-width:430px;color:rgba(255,255,255,.82);font-size:16px;line-height:1.7}
.hero-actions{display:flex;gap:13px;margin-top:38px}
.hero-actions .button{min-width:178px}
.hero-caption{position:absolute;left:7vw;right:auto;bottom:30px;display:flex;align-items:center;gap:18px;white-space:nowrap;font:10px/1.4 var(--mono);letter-spacing:.1em;color:#fff}
.hero-caption-label{display:block}
.hero-caption-motto{display:block;padding-left:18px;border-left:1px solid rgba(255,255,255,.55);color:rgba(255,255,255,.65)}
.hero-scroll{position:absolute;bottom:0;left:50%;display:flex;gap:14px;align-items:center;transform:rotate(-90deg) translateX(-50%);transform-origin:left center;font:10px var(--mono);letter-spacing:.1em}
.hero-scroll span{width:65px;height:1px;background:var(--color-secondary)}

.compact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:45px;padding-top:18px;border-top:1px solid var(--color-border)}
.compact-stats span{display:flex;flex-direction:column;color:var(--color-muted);font:8px/1.35 var(--mono);letter-spacing:.05em}
.compact-stats strong{margin-bottom:5px;color:var(--color-accent);font:24px var(--serif)}

/* ---- Navegación lateral de rutas (desktop) ---- */
.route-book{position:fixed;right:26px;top:50%;display:flex;flex-direction:column;gap:10px;transform:translateY(-45%);z-index:5;font:9px var(--mono);letter-spacing:.06em}
.route-title{writing-mode:vertical-rl;color:var(--color-muted);margin-left:4px;margin-bottom:7px}
.route-line{position:absolute;right:4px;top:62px;height:235px;width:1px;background:var(--color-border)}
.route-book a{display:flex;gap:9px;align-items:center;color:var(--color-muted);transition:.2s}
.route-book a b{font-weight:400}
.route-book a.active,.route-book a:hover{color:var(--color-primary)}
.route-book a.active:after{content:'';position:absolute;right:0;width:8px;height:8px;background:var(--color-secondary);border-radius:50%}

/* ---- Intro ---- */
.intro-section{display:grid;grid-template-columns:1fr .65fr;gap:100px;align-items:end}
.intro-copy{max-width:370px;color:var(--color-muted);font-size:16px;line-height:1.9}

/* ---- Destinos (editorial grid) ---- */
.destination-editorial{display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:auto auto;grid-auto-rows:auto;gap:48px 24px;align-items:start}
.destination-item{min-width:0;height:auto}
.destination-item a{display:block}
.destination-featured{grid-row:span 2}
.destination-item .image-wrap{position:relative;overflow:hidden}
.destination-featured .image-wrap{height:690px}
.destination-small .image-wrap{height:220px}
.destination-item img{height:100%;transition:transform .7s ease}
.destination-item:hover img,.package:hover img{transform:scale(1.045)}
.destination-item,.package{transition:transform .3s ease}
.destination-item:hover,.package:hover{transform:translateY(-5px)}
.image-link{position:absolute;right:20px;bottom:18px;z-index:1;width:42px;height:42px;display:grid;place-items:center;background:var(--color-accent);color:var(--color-black);border-radius:50%;transition:transform .3s ease,background-color .3s ease}
.destinations .image-link:hover{background:var(--color-secondary);transform:translateY(-3px)}
.destination-item .mono-label{margin:16px 0 3px}
.destination-item h3{font-size:31px;margin-bottom:3px}
.destination-item p:last-child{color:var(--color-muted);font-size:12px;line-height:1.65;margin:0;max-width:410px;overflow-wrap:anywhere}
.destinations .section-head h2{max-width:590px;font-size:clamp(3rem,5.3vw,5.8rem);line-height:.9;overflow-wrap:normal}

/* ---- Experiencias ---- */
.experiences{background:var(--color-dark);color:#fff}
.experience-inner{padding-top:125px;padding-bottom:135px}
.dark h2{color:#fff}
.dark>p{color:rgba(255,255,255,.6)}
.experience-list{border-top:1px solid rgba(255,255,255,.25)}
.experience-row{position:relative;min-height:145px;padding:24px 50px 24px 0;display:grid;grid-template-columns:1fr 230px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25);transition:padding .35s,background .35s;transition-delay:var(--reveal-delay,0ms)}
.experience-row:hover{padding-left:20px;background:rgba(255,255,255,.04)}
.experience-copy h3{font-size:30px;margin:7px 0}
.experience-copy p{color:rgba(255,255,255,.6);font-size:12px;margin:0}
.experience-row .mono-label{color:#d3b06e}
.experience-photo{height:100px;overflow:hidden}
.experience-photo img{height:100%;transition:transform .5s}
.experience-row:hover .experience-photo img{transform:scale(1.08)}
.row-arrow{position:absolute;right:0;z-index:1;width:31px;height:31px;display:grid;place-items:center;color:var(--color-secondary);border:1px solid var(--color-secondary);border-radius:50%;opacity:0;transform:translateX(-10px);transition:.3s}
.experience-row:hover .row-arrow{opacity:1;transform:translateX(0)}

/* ---- Viaje a medida ---- */
.custom-trip{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}
.custom-photo{position:relative}
.custom-photo img{height:590px}
.photo-note{position:absolute;bottom:25px;left:25px;color:#fff;font:10px/1.5 var(--mono);letter-spacing:.1em}
.custom-copy{max-width:390px;min-width:0}
.custom-copy>p:not(.eyebrow){color:var(--color-muted);font-size:14px;line-height:1.85}
.text-button,.whatsapp-link{display:inline-block;margin-top:30px;padding-bottom:7px;border-bottom:1px solid var(--color-secondary);color:var(--color-primary);font-size:12px;font-weight:600}
.text-button span{margin-left:17px;color:var(--color-secondary);font-size:17px}

/* ---- Paquetes (sección oscura tipo editorial) ---- */
.packages{max-width:none;background:var(--color-dark);color:var(--color-text-light);padding-left:40px;padding-right:40px;overflow:hidden}
.packages>.section-head,.packages>.package-grid{width:min(1180px,100%);margin-left:auto;margin-right:auto}
.packages .section-head>p,.packages .package>p:not(.mono-label){color:rgba(255,253,248,.68)}
.packages .eyebrow,.packages .mono-label{color:#d7b778}
.packages .section-head h2{color:var(--color-text-light)}
.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 28px}
.packages .package{position:relative;padding:0 0 24px;border-bottom:1px solid rgba(255,253,248,.22);background:transparent;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s ease}
.packages .package:hover{transform:translateY(-8px);border-color:var(--color-accent)}
.package-image{position:relative;height:390px;overflow:hidden}
.package-image img{height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.packages .package:hover .package-image img{transform:scale(1.06);filter:saturate(1.08)}
.package-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(16,13,10,.38));pointer-events:none;opacity:.7;transition:opacity .35s ease}
.packages .package:hover .package-image:after{opacity:.35}
.package-image>span{position:absolute;right:14px;top:14px;padding:6px 8px;color:#fff;background:rgba(16,13,10,.78);border:1px solid rgba(255,253,248,.4);backdrop-filter:blur(8px);font:9px var(--mono)}
.package-image .featured-badge{right:auto;left:14px;color:var(--color-black);background:var(--color-accent);border-color:var(--color-accent)}
.packages .package h3{color:var(--color-text-light);font-size:clamp(1.8rem,2.7vw,2.7rem);margin:8px 0 8px}
.package>p:not(.mono-label){max-width:430px;color:var(--color-muted);font-size:13px;line-height:1.65}
.package-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding-top:13px;border-top:1px solid rgba(255,253,248,.22);font-size:12px}
.package-foot strong{font-weight:500;color:var(--color-accent)}
.package-foot a{display:inline-flex;align-items:center;gap:10px;color:var(--color-text-light);border-bottom:1px solid transparent;white-space:nowrap;transition:border-color .2s,color .2s}
.package-foot a:hover{border-color:currentColor;color:var(--color-accent)}

/* ---- Cifras ---- */
.numbers{background:var(--color-dark);color:#fff}
.numbers-inner{padding-top:100px;padding-bottom:110px}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.number{padding-top:24px;border-top:1px solid rgba(255,255,255,.3)}
.number strong{display:block;color:#e2c787;font:500 clamp(3.3rem,6vw,6.5rem) var(--serif);line-height:1}
.number span{display:block;margin-top:15px;color:rgba(255,255,255,.65);font:10px var(--mono);letter-spacing:.08em}

/* ---- Nosotros ---- */
.about{display:grid;grid-template-columns:1fr .8fr;gap:115px;align-items:center;max-width:none;background:var(--color-background);color:#16213e;padding-left:max(7vw,calc((100% - 1100px)/2));padding-right:max(7vw,calc((100% - 1100px)/2))}
.about .eyebrow{color:#d7b778}
.about h2 em{color:#d7b778}
.about-copy{max-width:510px;min-width:0}
.about-copy>p:not(.eyebrow){color:var(--color-muted);line-height:1.85}
.about-photo{position:relative}
.about-photo img{height:510px}
.about-photo span{position:absolute;left:-28px;bottom:34px;color:#fff;background:#d7b778;font:italic 20px var(--serif)}
.about-points{margin-top:43px;display:grid;gap:14px;border-top:1px solid var(--color-border);font:10px var(--mono);color:var(--color-secondary)}
.about-points span{color:#d7b778}
.about-points b{margin-left:20px;color:#16213e;font-weight:500}
.about .compact-stats{border-color:var(--color-border)}
.about .compact-stats span{color:var(--color-muted)}
.about .compact-stats strong{color:#d7b778}

/* ---- ¿Qué tipo de viaje buscas? ---- */
.trip-types{background:linear-gradient(180deg,#faf5eb 0%,#f5f2eb 100%);border-radius:36px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.trip-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trip-type-chip{display:block;padding:28px 24px;border:1px solid rgba(36,55,115,.12);background:linear-gradient(180deg,#fffdf8 0%,#f5efe6 100%);border-radius:18px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.trip-type-chip:hover,.trip-type-chip:focus-visible{transform:translateY(-5px);border-color:var(--color-secondary);box-shadow:0 18px 36px rgba(36,55,115,.08)}
.trip-type-name{display:block;font:500 22px var(--serif)}
.trip-type-note{display:block;margin-top:8px;color:var(--color-muted);font-size:13px;line-height:1.7}
.trip-type-cta{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--color-primary);font:600 11px var(--sans);letter-spacing:.03em}
.trip-type-cta .ui-arrow{color:var(--color-secondary)}

/* ---- Cómo trabajamos ---- */
.how-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.how-step{padding-top:22px;border-top:2px solid var(--color-primary)}
.how-step-index{display:block;margin-bottom:14px;color:var(--color-secondary);font:500 34px var(--serif)}
.how-step h3{font-size:20px;margin-bottom:8px}
.how-step p{color:var(--color-muted);font-size:13px;line-height:1.7;margin:0}

/* ---- Confianza ---- */
.trust{background:linear-gradient(150deg,#121821 0%,#1c2a36 48%,#1a1714 100%);color:#fff;max-width:none;width:100%;margin:0;border-radius:0;overflow:hidden;padding:48px 0 40px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.trust .section-head{padding:0 40px 16px;max-width:1180px;margin:0 auto 68px}
.trust .section-head h2{color:#fff}
.trust .section-head>p{color:rgba(255,255,255,.6);max-width:330px}
.trust .eyebrow{color:var(--color-secondary)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 40px;max-width:1180px;margin:0 auto}
.trust-item{padding:34px 30px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.12);border-radius:18px;transition:transform .25s ease,border-color .25s ease}
.trust-item:hover{transform:translateY(-4px);border-color:rgba(254,211,17,.5)}
.trust-index{display:block;margin-bottom:14px;color:var(--color-secondary);font:11px var(--mono)}
.trust-item h3{font-size:19px;margin-bottom:8px;color:#fff}
.trust-item p{color:rgba(255,255,255,.62);font-size:13px;line-height:1.7;margin:0}

/* ---- Beneficios ---- */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-border)}
.benefit-card{padding:34px 30px;background:var(--color-surface)}
.benefit-icon{display:block;margin-bottom:16px;font-size:28px;line-height:1}
.benefit-card h3{font-size:19px;margin-bottom:8px}
.benefit-card p{color:var(--color-muted);font-size:13px;line-height:1.7;margin:0}

/* ---- Newsletter ---- */
.newsletter{background:var(--color-surface)}
.newsletter-inner{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center;padding:70px;border:1px solid var(--color-border)}
.newsletter-inner p:not(.eyebrow){color:var(--color-muted);font-size:13px;line-height:1.7;margin-top:14px}
.newsletter-form{display:flex;gap:12px}
.newsletter-form input{flex:1;min-width:0;padding:14px 18px;border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);font:14px var(--sans)}
.newsletter-form input:focus{outline:0;border-color:var(--color-secondary)}
.newsletter-form .button{white-space:nowrap}

/* ---- Testimonios ---- */
.testimonials{padding-top:0}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.testimonial-card{position:relative}
.testimonial-grid blockquote{margin:0;padding:30px;border-top:1px solid var(--color-border)}
.quote-mark{position:absolute;top:8px;right:22px;color:var(--color-border);font:italic 70px var(--serif);line-height:1}
.stars{color:var(--color-secondary);font-size:12px;letter-spacing:3px}
.testimonial-grid blockquote p{margin:23px 0 25px;font:26px/1.25 var(--serif)}
blockquote footer{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font:10px var(--mono);text-transform:uppercase}
.testimonial-name{color:var(--color-text);font-weight:600}
.testimonial-destination{color:var(--color-muted);margin-left:14px}
.testimonial-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;margin-right:9px;vertical-align:middle}

/* ---- CTA final ---- */
.final-cta{min-height:590px;padding:100px 11vw;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(16,35,31,.78),rgba(16,35,31,.15)),var(--cta-image) center/cover}
.final-cta h2{font-size:clamp(3.6rem,6.8vw,7rem);max-width:820px;margin-bottom:37px}

/* ---- Contacto / formulario ---- */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px;align-items:center;padding-top:78px}
.contact-intro,.lead-form{min-width:0}
.contact-intro>p:not(.eyebrow){color:var(--color-muted);font-size:13px;line-height:2;margin-top:35px}
.whatsapp-link{color:var(--color-primary);margin-top:14px}
.lead-form{padding-top:8px}
.lead-form{padding:30px 34px 34px;border:1px solid rgba(36,55,115,.14);background:linear-gradient(145deg,#fffdf8 0%,#f8f3e9 100%);box-shadow:0 22px 55px rgba(36,55,115,.08)}
.lead-form fieldset{border:0;margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid var(--color-border)}
.lead-form fieldset:last-of-type{margin-bottom:18px}
.lead-form legend{padding:0 0 17px;color:var(--color-primary);font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.configurator-form .services-field legend{font-size:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin-bottom:22px}
.lead-form label{display:block;margin-bottom:22px;color:var(--color-muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.lead-form .check{display:flex;align-items:center;gap:8px;margin-bottom:0;color:var(--color-text);font:13px var(--sans);text-transform:none;letter-spacing:0}
.lead-form .check input{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}
.lead-form input,.lead-form textarea,.lead-form select{display:block;width:100%;margin-top:8px;padding:12px 13px;border:1px solid rgba(36,55,115,.16);border-radius:2px;outline:0;background:rgba(255,255,255,.55);color:var(--color-text);font:14px var(--sans);resize:vertical;transition:border-color .2s,box-shadow .2s,background .2s}
.lead-form textarea{min-height:116px;line-height:1.6}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:rgba(92,92,92,.7)}
.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px rgba(36,55,115,.08)}
.lead-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.lead-form>.button{width:100%;min-height:54px;margin-top:4px;justify-content:space-between}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success,.form-error{font-size:12px;color:var(--color-accent);margin:20px 0 0}

.lead-confirmation{padding:44px;border:1px solid var(--color-border);background:var(--color-surface)}
.lead-confirmation-icon{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:var(--color-secondary);color:var(--color-dark);font-size:20px}
.lead-confirmation h3{font-size:32px;margin-bottom:14px}
.lead-confirmation-steps{margin:20px 0;padding-left:18px;color:var(--color-muted);font-size:13px;line-height:1.9}
.lead-confirmation-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:6px}

/* ---- Mapa ---- */
.map-section{padding:100px max(5vw,calc((100% - 1180px)/2));background:var(--color-surface)}
.map-heading{margin-bottom:35px}
.map-frame{width:100%;border-top:1px solid var(--color-border);padding-top:16px}

/* ---- FAQ + galería ---- */
.faq-gallery{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}
.faq-list{margin-top:38px;border-top:1px solid var(--color-border)}
.faq-list details{border-bottom:1px solid var(--color-border);padding:17px 0}
.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font:600 14px var(--sans);list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--color-accent);font:20px var(--mono);transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{max-width:450px;margin:14px 0 0;color:var(--color-muted);font-size:13px}
.gallery-grid{display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:190px 260px;gap:12px;margin-top:28px}
.gallery-image{height:100%}
.gallery-0{grid-row:span 2}
.gallery-2{grid-column:2}
.gallery-image:nth-child(n+4){display:none}

/* ---- Footer ---- */
.footer{padding:75px 5vw 25px;background:var(--color-dark);color:#fff}
.footer-main{display:grid;grid-template-columns:1.6fr .9fr .9fr .9fr;gap:42px;padding-bottom:70px;align-items:start}
.footer-main p{color:rgba(255,255,255,.6);font:15px/1.6 var(--serif)}
.footer-main>div{display:flex;flex-direction:column;gap:9px;font-size:12px}
.footer-main .mono-label{margin-bottom:12px;color:#d3b06e}
.footer .logo-link{gap:10px;align-items:center}
.footer-nav,.footer-contact,.footer-social{padding-top:4px;border-top:1px solid rgba(255,255,255,.09)}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-contact,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-nav a,.footer-contact a,.footer-social a{display:block;color:rgba(255,255,255,.75);transition:color .2s;line-height:1.8}
.footer-contact span{display:block;line-height:1.8;color:rgba(255,255,255,.75)}
.footer-nav a:hover,.footer-contact a:hover,.footer-social a:hover{color:var(--color-secondary)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;gap:12px;flex-wrap:wrap}
.footer-bottom a{color:inherit;border-bottom:1px solid rgba(255,255,255,.3)}
.footer-bottom a:hover{color:var(--color-secondary);border-color:var(--color-secondary)}

.floating-wa{position:fixed;right:26px;bottom:25px;width:47px;height:47px;padding:0;display:grid;place-items:center;border-radius:50%;background:#47784f;color:#fff;font:10px var(--mono);z-index:8;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.17)}
.floating-wa img{width:100%;height:100%;padding:8px;object-fit:contain}
.back-to-top{position:fixed;right:26px;bottom:90px;width:46px;height:46px;border:0;border-radius:50%;background:var(--color-primary);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;z-index:7;cursor:pointer}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:var(--color-primary-hover)}
.back-to-top span{font-size:20px;line-height:1}

/* ---- Animaciones de aparición ---- */
.reveal{opacity:0;transform:translateY(22px);will-change:transform,opacity;transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
.reveal.visible{animation:fade-in-up 1s cubic-bezier(.2,1,.3,1) forwards}
.hero-inner.reveal.visible{animation-delay:.2s}
.destination-item:nth-child(2).reveal.visible,.experience-row:nth-child(2).reveal.visible,.package:nth-child(2).reveal.visible{animation-delay:.2s}
.destination-item:nth-child(3).reveal.visible,.experience-row:nth-child(3).reveal.visible,.package:nth-child(3).reveal.visible{animation-delay:.4s}
.destination-item:nth-child(n+4).reveal.visible,.experience-row:nth-child(n+4).reveal.visible,.package:nth-child(n+4).reveal.visible{animation-delay:.6s}

/* ---- Menú móvil (animación) ---- */
@media(max-width:720px){
  .main-nav{display:grid;gap:0;visibility:hidden;max-height:0;padding-top:0;padding-bottom:0;opacity:0;transform:translateY(-12px);pointer-events:none;overflow:hidden;position:absolute;top:70px;left:0;right:0;background:var(--color-dark);color:#fff;transition:max-height .5s cubic-bezier(.2,.8,.2,1),padding .5s cubic-bezier(.2,.8,.2,1),opacity .3s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
  .main-nav.open{visibility:visible;max-height:420px;padding:23px 6vw 26px;opacity:1;transform:translateY(0);pointer-events:auto;display:grid;gap:18px}
  .main-nav a{opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
  .main-nav.open a{opacity:1;transform:translateY(0)}
  .main-nav.open a:nth-child(1){transition-delay:.08s}
  .main-nav.open a:nth-child(2){transition-delay:.13s}
  .main-nav.open a:nth-child(3){transition-delay:.18s}
  .main-nav.open a:nth-child(4){transition-delay:.23s}
  .main-nav.open a:nth-child(5){transition-delay:.28s}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* ---- Página de detalle de destino ---- */
.detail-page{background:var(--color-background)}
.detail-page .site-header{color:var(--color-text)}
.detail-main{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:clamp(45px,8vw,120px);align-items:center;padding:120px max(7vw,40px) 70px}
.detail-breadcrumb{grid-column:1/-1;margin:0 0 10px;color:var(--color-muted);font:11px var(--mono);letter-spacing:.03em}
.detail-breadcrumb a{color:var(--color-primary)}
.detail-image{height:min(680px,calc(100vh - 190px));min-height:430px;overflow:hidden}
.detail-image img{height:100%}
.detail-copy{max-width:530px}
.detail-copy h1{font-size:clamp(3.5rem,7vw,7rem);margin:15px 0 28px}
.detail-description{max-width:460px;color:var(--color-muted);font-size:16px;line-height:1.85}
.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 25px;margin:42px 0;padding:18px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.detail-facts div{display:grid;gap:4px}
.detail-facts strong{font:22px var(--serif)}
.detail-actions{display:flex;flex-wrap:wrap;gap:16px;margin:30px 0 6px}
.detail-back{display:inline-block;margin-left:22px;color:var(--color-muted);font:11px var(--mono);border-bottom:1px solid var(--color-border);padding-bottom:5px}
.detail-enter{opacity:0;animation:detail-fade-in-up .9s cubic-bezier(.2,1,.3,1) .1s forwards}
.detail-enter-delay{animation-delay:.28s}
@keyframes detail-fade-in-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ---- Página legal (privacidad / términos) ---- */
.legal-page{background:var(--color-background)}
.legal-main{max-width:760px;margin:0 auto;padding:150px 6vw 110px;color:var(--color-text)}
.legal-main h1{font-size:clamp(2.6rem,5vw,4.2rem);margin-bottom:30px}
.legal-main h2{font-size:22px;margin:40px 0 12px}
.legal-main p,.legal-main li{color:var(--color-muted);font-size:14px;line-height:1.9}
.legal-main a{color:var(--color-primary);border-bottom:1px solid var(--color-border)}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media(max-width:1000px){
  .main-nav{gap:15px}
  .route-book{display:none}
  .section{padding:100px 6vw}
  .custom-trip,.about,.contact{gap:55px}
  .site-header{padding:0 6vw}
  .hero{padding-left:8vw}
  .experience-row{grid-template-columns:1fr 190px}
}

@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}

  h1{font-size:clamp(3.5rem,16vw,6rem)}
  h2{font-size:clamp(2.8rem,13vw,4.7rem)}

  .site-header{height:70px;padding:0 7vw;background:rgba(27,23,18,.28);backdrop-filter:blur(8px)}
  .site-header.scrolled{background:rgba(255,253,248,.96)}
  .menu-toggle{display:block}
  .header-cta{display:none}

  .hero{min-height:100svh;padding:112px 8vw 105px;align-items:center;justify-content:center;background-position:62% center}
  .hero-inner{width:100%;max-width:430px;margin-top:-18px}
  .hero h1{max-width:100%;font-size:clamp(3.25rem,14vw,5.2rem);line-height:.98;margin:12px 0 24px}
  .hero-description{max-width:315px;font-size:13px;line-height:1.6}
  .hero-actions{width:100%;max-width:315px;gap:10px;margin-top:25px}
  .hero-actions .button{width:100%;min-width:0;min-height:52px}
  .hero-caption{left:7vw;right:8vw;bottom:7%;gap:10px;font-size:9px;letter-spacing:.08em}
  .hero-caption-motto{padding-left:10px}
  .hero-scroll{display:none}

  .intro-section,.custom-trip,.about,.contact{display:block}
  .intro-copy{margin-top:35px}

  .section{width:100%;padding:76px 7vw}
  .section-head{display:block;margin-bottom:38px}
  .section-head>p{margin-top:23px;max-width:100%;font-size:13px}
  .section-head h2{letter-spacing:-.02em}
  .destinations .section-head h2{font-size:clamp(2.9rem,13vw,4.6rem);line-height:.92}

  .destination-editorial{display:block}
  .destination-item{width:100%;margin-bottom:45px}
  .destination-featured .image-wrap,.destination-small .image-wrap{width:100%;height:350px}
  .destination-item:hover,.package:hover{transform:none}
  .image-link{opacity:1;right:15px;bottom:15px}

  .experiences .section{padding-top:90px}
  .experience-row{min-height:0;display:block;padding:20px 0 28px}
  .experience-photo{height:185px;margin-top:20px}
  .row-arrow{right:0;top:25px;opacity:1;transform:none}

  .custom-photo img{height:390px}
  .custom-copy{margin-top:55px}

  .packages{padding-left:7vw;padding-right:7vw}
  .packages>.section-head,.packages>.package-grid{width:100%}
  .packages .package{padding-bottom:28px}
  .packages .package h3{font-size:2.2rem}
  .package-grid{grid-template-columns:1fr;gap:46px}
  .package-image{height:330px}
  .package-foot{gap:15px}

  .numbers-grid{grid-template-columns:1fr 1fr;gap:35px 17px}
  .number strong{font-size:4rem}

  .about-photo{margin-top:55px}
  .about-photo img{height:390px}
  .about-photo span{left:15px}

  .benefits-grid{grid-template-columns:1fr}
  .newsletter-inner{display:block;padding:34px 24px}
  .newsletter-form{margin-top:24px;flex-direction:column}

  .testimonial-grid{grid-template-columns:1fr;gap:50px}

  .final-cta{min-height:560px;padding:85px 7vw}
  .final-cta h2{font-size:clamp(3rem,12vw,4.7rem)}

  .contact{padding-top:78px}
  .contact-intro{margin-bottom:55px}
  .contact section,.lead-form{width:100%;max-width:100%}
  .form-row{gap:0;display:block}
  .checkbox-grid{grid-template-columns:1fr}

  .map-section{padding:75px 7vw}
  .map-frame iframe{width:100%;height:320px}

  .faq-gallery{display:block}
  .gallery-block{margin-top:75px}
  .gallery-grid{grid-template-rows:160px 210px}

  .footer{overflow:hidden}
  .footer-main{grid-template-columns:1fr 1fr;gap:40px 20px;padding-bottom:45px}
  .footer-main .logo-link{grid-column:span 2}
  .footer-bottom{display:grid;gap:10px}
  .floating-wa{right:18px;bottom:18px;width:48px;height:48px}

  .detail-main{display:block;padding:105px 8vw 55px}
  .detail-image{height:48vh;min-height:280px;margin-bottom:48px}
  .detail-copy h1{font-size:clamp(3.2rem,15vw,5rem)}
  .detail-facts{margin:30px 0}
  .detail-copy .button{width:100%}
  .detail-back{margin:24px 0 0}

  .trip-type-grid{grid-template-columns:1fr;gap:14px}
  .how-steps{grid-template-columns:1fr 1fr;gap:24px}
  .trust-grid{grid-template-columns:1fr}
  .lead-confirmation{padding:28px}
  .legal-main{padding:120px 7vw 70px}
}

@media(max-width:480px){
  .how-steps{grid-template-columns:1fr}
}

@media(max-width:380px){
  .hero{padding-left:7vw;padding-right:7vw}
  .section{padding-left:7vw;padding-right:7vw}
  .numbers-grid{display:block}
  .number{margin-bottom:25px}
}

/* ---- Accesibilidad: respeta "reducir movimiento" ---- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.visible{opacity:1;transform:none;animation:none;transition:none}
  .destination-item img,.package-image img,.experience-photo img{transition:none}
  .button,.destinations .image-link,.trip-type-chip{transition:none}
  .main-nav,.main-nav a,.menu-toggle span{transition:none}
  .detail-enter{opacity:1;animation:none;transform:none}
}

/* ==========================================================================
   POLISH FINAL - VERSION PRINCIPAL
   ========================================================================== */
:root{
  --color-primary:#183b56;
  --color-primary-hover:#102a3d;
  --color-accent:#f4c928;
  --color-accent-hover:#dfb319;
  --color-secondary:#f4c928;
  --color-dark:#102832;
  --color-black:#172026;
  --color-background:#f3f0e8;
  --color-surface:#fffdf8;
  --color-text:#253039;
  --color-muted:#647078;
  --color-border:rgba(24,59,86,.16);
}

body{background:var(--color-background);color:var(--color-text);font-size:15px}
::selection{background:var(--color-accent);color:var(--color-black)}
h1,h2,h3,h4,.font-serif{letter-spacing:-.045em}
h1{font-size:clamp(3.5rem,6.8vw,7.2rem);line-height:.94}
h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.92}
.section{max-width:1240px;padding:118px 56px}
.section::before{left:56px;right:56px;background:linear-gradient(90deg,transparent,rgba(24,59,86,.2),transparent)}
.section-head{gap:64px;margin-bottom:54px}
.section-head>p{max-width:360px;font-size:14px}
.eyebrow{color:#a98010;letter-spacing:.16em}
.eyebrow.light{color:#f2dfaa}

.site-header{height:78px;padding:0 max(30px,5vw);background:rgba(16,40,50,.05);backdrop-filter:blur(10px)}
.site-header.scrolled{background:rgba(255,253,248,.9);box-shadow:0 10px 30px rgba(16,40,50,.06)}
.logo-link{min-width:150px}
.logo-link img{width:52px;height:52px}
.main-nav{gap:clamp(16px,2.2vw,34px);font-size:12px}
.main-nav a{color:rgba(255,255,255,.9);font-weight:600;letter-spacing:.02em}
.site-header.scrolled .main-nav a{color:rgba(37,48,57,.82)}
.header-cta{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}

.button{min-height:48px;padding:14px 18px;border-radius:2px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px rgba(16,40,50,.08)}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,40,50,.14)}
.button-outline{border-color:rgba(255,255,255,.75);box-shadow:none}
.button-light{box-shadow:0 8px 20px rgba(16,40,50,.12)}

.hero{min-height:clamp(680px,92vh,900px);padding:145px 11vw 100px;background-position:center}
.hero:before{background:linear-gradient(90deg,rgba(8,28,36,.82),rgba(8,28,36,.2) 70%),linear-gradient(180deg,rgba(8,28,36,.05),rgba(8,28,36,.35))}
.hero-inner{max-width:720px}
.hero h1{max-width:720px;margin:15px 0 27px}
.hero-description{max-width:470px;font-size:15px}
.hero-actions{margin-top:32px}
.hero-caption{bottom:28px;font-size:9px}

.trip-types{margin:0 auto;border-radius:0;background:#f8f5ed;box-shadow:none}
.trip-types{width:100%;max-width:none;padding-left:max(7vw,calc((100% - 1128px)/2));padding-right:max(7vw,calc((100% - 1128px)/2));background:linear-gradient(180deg,#fbf8f1 0%,#f3eee4 100%);border-top:1px solid rgba(24,59,86,.08);border-bottom:1px solid rgba(24,59,86,.08)}
.trip-type-grid{gap:14px}
.trip-type-chip{min-height:180px;padding:25px 23px;border-radius:4px;background:var(--color-surface);box-shadow:0 8px 24px rgba(24,59,86,.04)}
.trip-type-chip:hover,.trip-type-chip:focus-visible{transform:translateY(-4px);box-shadow:0 16px 28px rgba(24,59,86,.1)}
.trip-type-name{font-size:24px}
.trip-type-note{max-width:210px}

.destination-editorial{grid-template-columns:1.12fr .88fr;gap:42px 28px}
.destination-featured .image-wrap{height:620px}
.destination-small .image-wrap{height:250px}
.destination-item .image-wrap,.package-image,.custom-photo img,.about-photo img{border-radius:3px}
.destination-item h3{font-size:34px}
.image-link{right:18px;bottom:18px;width:48px;height:48px;box-shadow:0 10px 22px rgba(0,0,0,.18)}

.experiences{background:var(--color-dark)}
.experience-inner{padding-top:112px;padding-bottom:118px}
.experience-list{border-top-color:rgba(255,255,255,.18)}
.experience-row{min-height:130px;padding:23px 50px 23px 0;border-bottom-color:rgba(255,255,255,.18)}
.experience-copy h3{font-size:32px}
.experience-photo{height:90px;border-radius:2px}
.row-arrow{width:34px;height:34px}

.custom-trip{gap:86px}
.custom-photo img{height:560px}
.photo-note{left:22px;bottom:22px}
.custom-copy{max-width:430px}
.custom-copy>p:not(.eyebrow){font-size:15px}

.packages{padding-left:56px;padding-right:56px;background:#142b34}
.packages,.trust{width:100%;max-width:none;margin-left:0;margin-right:0;background-clip:border-box}
.packages{min-height:520px}
.package-grid{gap:52px 30px}
.package-image{height:360px}
.packages .package h3{font-size:clamp(2rem,3vw,3rem)}
.package-foot{padding-top:16px}

.about{width:100%;max-width:none;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);padding-left:max(7vw,calc((100% - 1180px)/2));padding-right:max(7vw,calc((100% - 1180px)/2));gap:clamp(70px,8vw,130px);background:#f3f0e8}
.about-copy{max-width:620px}
.about-photo{width:100%;max-width:560px;justify-self:end}
.about-photo img{height:500px}
.about-photo span{left:-18px;bottom:28px;padding:10px 13px;font-size:18px}
.about-points{margin-top:36px}

.how-steps{gap:24px}
.how-step{padding-top:19px;border-top-width:1px}
.how-step-index{font-size:30px}

.trust{padding:92px 0 100px;background:linear-gradient(135deg,#102832,#183d4b);box-shadow:none}
.trust{width:100%;max-width:none;margin-left:0;margin-right:0;background-clip:border-box;min-height:560px}
.trust .section-head{padding:0 56px 10px;max-width:1240px;margin-bottom:52px}
.trust-grid{gap:12px;padding:0 56px;max-width:1240px}
.trust-item{min-height:190px;padding:27px 25px;border-radius:3px;background:rgba(255,255,255,.045)}
.trust-item h3{font-size:21px;letter-spacing:-.025em}

.faq-gallery{gap:84px}
.gallery-image{border-radius:2px}
.contact{gap:84px;padding-top:112px;padding-bottom:120px}
.contact-intro{max-width:420px}
.contact-intro>p:not(.eyebrow){font-size:14px}
.lead-form{padding:38px 40px 40px;border-radius:3px;box-shadow:0 20px 55px rgba(24,59,86,.11)}
.lead-form fieldset{margin-bottom:28px}
.lead-form input,.lead-form textarea,.lead-form select{border-radius:3px;background:#fffdf9}
.lead-form>.button{min-height:56px}
.map-section{padding-top:92px;padding-bottom:110px}
.map-frame iframe{filter:saturate(.7) contrast(.95)}

.final-cta{min-height:560px;padding:95px 11vw;background-position:center}
.final-cta h2{font-size:clamp(3.4rem,6vw,6.4rem)}

.footer{padding:80px max(30px,5vw) 26px;background:#0d2028}
.footer-main{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:58px}
.footer-main>div{gap:8px}
.footer-nav,.footer-contact,.footer-social{border-top-color:rgba(255,255,255,.16)}
.footer-bottom{border-top-color:rgba(255,255,255,.16)}

@media(max-width:1000px){
  .section{padding:96px 6vw}
  .section::before{left:6vw;right:6vw}
  .main-nav{gap:15px}
  .destination-featured .image-wrap{height:520px}
  .custom-trip,.about,.contact{gap:55px}
  .packages{padding-left:6vw;padding-right:6vw}
  .trust .section-head,.trust-grid{padding-left:6vw;padding-right:6vw}
}

@media(max-width:720px){
  .site-header{height:70px;padding:0 7vw}
  .site-header:not(.scrolled){background:rgba(16,40,50,.2)}
  .section{padding:76px 7vw}
  .section::before{left:7vw;right:7vw}
  .section-head{margin-bottom:38px}
  .hero{min-height:100svh;padding:112px 8vw 105px}
  .hero h1{font-size:clamp(3.2rem,14vw,5.2rem)}
  .hero-actions{display:grid}
  .hero-actions .button{width:100%}
  .destination-featured .image-wrap,.destination-small .image-wrap{height:350px}
  .image-link{right:14px;bottom:14px;width:46px;height:46px}
  .experiences .section{padding-top:82px;padding-bottom:90px}
  .experience-copy h3{font-size:27px}
  .custom-photo img,.about-photo img{height:390px}
  .packages{padding-left:7vw;padding-right:7vw}
  .trust{padding-top:76px;padding-bottom:78px}
  .trust .section-head{padding:0 7vw 10px}
  .trust-grid{padding:0 7vw}
  .trust-item{min-height:0}
  .lead-form{padding:28px 22px 25px}
  .footer{padding:65px 7vw 25px}
  .footer-main{gap:34px 18px}
  .final-cta{padding:80px 7vw}
}

/* ---- Ajustes finales para móvil ---- */
@media(max-width:720px){
  .site-header:not(.scrolled) .main-nav.open{background:#102832;color:#fff;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 18px 30px rgba(7,25,32,.22)}
  .site-header:not(.scrolled) .main-nav.open a{color:#fff}
  .site-header.scrolled .main-nav.open{background:#fffdf8;color:var(--color-text);border-top:1px solid var(--color-border);box-shadow:0 18px 30px rgba(24,59,86,.12)}
  .site-header.scrolled .main-nav.open a{color:var(--color-text)}
  .main-nav.open a{display:block;padding:4px 0}
  .menu-toggle{color:#fff}
  .site-header.scrolled .menu-toggle{color:var(--color-text)}

  .footer-main{display:flex;flex-direction:column;gap:32px;padding-bottom:42px}
  .footer-main>div{width:100%}
  .footer-main .logo-link{width:max-content}
  .footer-brand p{max-width:290px;margin-bottom:0}
  .footer-nav,.footer-contact,.footer-social{width:100%;padding-top:16px;gap:6px}
  .footer-nav .mono-label,.footer-contact .mono-label,.footer-social .mono-label{margin-bottom:6px}
  .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-top:18px}
  .floating-wa{z-index:20}
}