/*
Theme Name: Liliana Wellings Viajes
Theme URI: https://lwviajes.com/
Author: Liliana Wellings Viajes
Description: Native WordPress theme for Liliana Wellings Viajes. Pages and content remain editable in Gutenberg and the WordPress code editor.
Version: 3.2.14
Text Domain: lw-viajes
*/
:root{--red:#C1040B;--gold:#DC9704;--ink:#3F3F3F;--muted:#655f5a;--cream:#faf7f2;--line:#eadfce}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.site-header{height:96px;display:grid;grid-template-columns:240px 1fr 220px;align-items:center;padding:0 4.5vw;border-bottom:1px solid #eee;background:#fff;position:relative;z-index:10}
.brand img{width:180px;height:78px;object-fit:contain}.site-header nav{display:flex;justify-content:center;gap:34px;text-transform:uppercase;font-size:12px;font-weight:700}.site-header nav a:hover{color:var(--red)}
.header-cta,.btn{background:var(--red);color:#fff;padding:15px 22px;text-transform:uppercase;font-size:12px;font-weight:700;border:0;display:inline-block}
.locked-wrap{width:min(1380px,90vw);margin:auto}.kicker,.eyebrow,.locked-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--gold)}
/* Hero: NO ZOOM. contain keeps the full 3:2 artwork visible. White is part of the supplied artwork. */
.locked-hero{height:620px;position:relative;overflow:hidden;background:#fff}
.locked-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;background:#fff}
.locked-hero-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 20%,rgba(255,255,255,.68) 31%,rgba(255,255,255,.18) 43%,transparent 55%)}
.hero-copy{position:absolute;z-index:2;left:6.5vw;top:68px;width:40%;max-width:570px}.hero-copy h1{font-size:64px;line-height:.98;color:var(--red);margin:22px 0 26px}.hero-copy h4{font-size:16px;margin:0 0 24px}.hero-copy p{font-size:17px;line-height:1.6;max-width:520px}.hero-actions{display:flex;gap:12px;margin-top:28px}
.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);padding:28px 5vw;border-bottom:1px solid var(--line)}.trust-item{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:0 24px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-item svg{width:48px;height:48px;fill:none;stroke:var(--gold);stroke-width:2}.trust-item svg text{fill:var(--gold);stroke:none;font-size:15px;font-weight:bold}.trust-item b{font-size:12px;color:var(--red)}.trust-item p{font-size:12px;line-height:1.55;margin:8px 0;color:var(--muted)}
.destinations{padding:76px 4vw 95px}.section-head{max-width:1220px;margin:0 auto 44px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.section-head h2{font-size:50px;color:var(--red);margin:10px 0 0}.section-head p{line-height:1.7;color:var(--muted)}
.destination-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.7fr 1fr 1fr;grid-template-rows:250px 250px;gap:10px}.destination{position:relative;overflow:hidden;padding:26px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:#777 center/cover no-repeat}.destination:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.04) 70%)}.destination>*{position:relative}.destination span{color:var(--red);font-weight:900}.destination h3{font-size:35px;margin:5px 0}.destination p{font-size:12px;margin:0}.peru{grid-row:1/3;background-image:linear-gradient(135deg,#735c43,#b89b68)}.england{background-image:linear-gradient(135deg,#536474,#9ba9b5)}.spain{background-image:linear-gradient(135deg,#c58b58,#e5c28d)}.italy{background-image:linear-gradient(135deg,#677c66,#b9aa83)}.swiss{background-image:linear-gradient(135deg,#77858f,#d8e0e3)}
.featured{max-width:1220px;min-height:450px;margin:0 auto 110px;background:linear-gradient(105deg,#fff 0%,#fff 45%,#f3e7d5 45%,#d7b07a 100%);display:flex;align-items:center}.featured-copy{width:60%;padding:55px}.featured h2{color:var(--red);font-size:56px;margin:14px 0}.featured h3{font-size:29px}.featured p{line-height:1.65}.route{font-size:11px;line-height:1.7;font-weight:600;margin:20px 0}
.locked-private{padding:70px 0 78px}.locked-private h2,.locked-business h2{color:var(--red)}.locked-private h2{font-size:62px;line-height:1;margin:15px 0 22px}.locked-intro{font-size:17px;line-height:1.55}.locked-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:43px}.locked-two>article>img{display:block;width:100%;height:370px;object-fit:cover;border-radius:8px}
.locked-service{display:grid;grid-template-columns:70px 1fr;gap:18px;margin-top:24px}.locked-service svg,.locked-business-services svg{width:58px;height:58px;fill:none;stroke:var(--gold);stroke-width:2}.locked-service h3,.locked-business-services h3{color:var(--red);font-size:35px;line-height:1;margin:0}.locked-service i,.locked-business-services i{display:block;width:34px;height:2px;background:var(--gold);margin:12px 0 15px}.locked-service p,.locked-business-services p{font-size:14px;line-height:1.6}.locked-service a,.locked-business-services a{color:var(--red);font-size:12px;font-weight:800}
.locked-business{padding:72px 0 0}.locked-business h2{font-size:64px;line-height:.94;margin:16px 0 25px}.locked-business-grid{display:grid;grid-template-columns:61.5% 38.5%;margin-top:35px}.locked-business-photo{width:100%;height:515px;object-fit:cover;border-radius:8px}.locked-business-services{padding-left:43px}.locked-business-services article{display:grid;grid-template-columns:78px 1fr;gap:20px;min-height:257px;padding:14px 0 40px;border-bottom:1px solid var(--gold)}.locked-business-services article+article{padding-top:39px;border-bottom:0}.locked-business-services h3{font-size:39px}.locked-quote{margin-top:38px;background:var(--cream)}.locked-quote>div{width:min(1380px,90vw);margin:auto;padding:29px 0;display:flex;gap:24px;align-items:center}.locked-quote b{color:var(--gold);font-size:56px}.locked-quote em{font-family:Georgia,serif;font-size:28px}
.places{padding:95px 5vw;background:#fffaf4;text-align:center}.places h2{font-size:50px;margin:14px 0 50px}.polaroids{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.polaroid-img{height:290px;background:linear-gradient(135deg,#d8c09a,#8d795e);border:12px solid #fff;border-bottom-width:42px;box-shadow:0 8px 20px #0002}.polaroid h3{color:var(--red);font-size:31px}.polaroid p{font-size:14px;line-height:1.65}.polaroid b{display:inline-block;background:#efe2cf;padding:8px 24px;font-size:11px;letter-spacing:.14em}.all-three{font:38px Georgia,serif;margin-top:60px;padding-top:30px;border-top:1px solid #e7d4b9}.all-three em{color:var(--red)}
.about{max-width:1220px;margin:100px auto;display:grid;grid-template-columns:48% 52%;align-items:center;gap:55px;padding:0 24px}.about h2{font-size:49px;line-height:1.02}.about h2 em{color:var(--red);font-style:normal}.about p{line-height:1.7;color:var(--muted)}.about h3{color:var(--red);font-size:28px}.about img{width:100%;max-height:570px;object-fit:cover}.micro{color:var(--red);font-size:10px;font-weight:800}
.how{text-align:center;padding:95px 5vw 80px;border-top:1px solid #eee}.how h2{font-size:52px}.how h2 em{color:var(--red);font-style:normal}.roadmap{max-width:1180px;margin:55px auto;display:grid;grid-template-columns:repeat(5,1fr)}.roadmap article{padding:0 18px}.roadmap span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--red);border-radius:50%;color:var(--red)}.roadmap h3{color:var(--red);font-size:25px}.roadmap p{font-size:13px;line-height:1.55}.languages{max-width:1180px;margin:60px auto 0;background:#f8f1e7;border-radius:20px;display:grid;grid-template-columns:1.5fr repeat(3,1fr)}.languages>div{padding:28px;border-right:1px solid #e3d4c1}.languages em{display:block;color:var(--red);font:28px Georgia,serif;margin:8px}.language-line{font:italic 22px Georgia,serif}
.ask{background:var(--cream);padding:90px 8vw;display:grid;grid-template-columns:40% 60%;gap:70px}.ask h2{font-size:58px;color:var(--red)}.ask form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ask label{font-size:11px;color:var(--red);font-weight:700}.ask input,.ask select,.ask textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #cfc5ba;background:transparent;padding:13px 2px}.ask .full{grid-column:1/3}
footer{padding:70px 6vw 30px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:35px;border-top:1px solid #eee;font-size:12px}footer img{width:150px}footer b{display:block;color:var(--red);margin-bottom:15px}footer a{display:block;margin:9px 0;color:var(--muted)}.legal{grid-column:1/6;border-top:1px solid #eee;padding-top:22px;margin-top:20px;display:flex;justify-content:space-between}.whatsapp{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:28px;z-index:20}
.entry-content{max-width:1100px;margin:70px auto;padding:0 25px;min-height:50vh}.entry-content h1{color:var(--red);font-size:52px}
@media(max-width:900px){.site-header{grid-template-columns:150px 1fr}.site-header nav{display:none}.locked-hero{height:570px}.hero-copy{width:52%}.trust-strip{grid-template-columns:1fr 1fr}.destination-grid{grid-template-columns:1fr 1fr}.peru{grid-column:1/3;grid-row:auto}.locked-two,.locked-business-grid,.about,.ask{grid-template-columns:1fr}.locked-business-services{padding:35px 0}.polaroids{grid-template-columns:1fr}.roadmap{grid-template-columns:1fr}.languages{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}.legal{grid-column:1/3}}
*/

/* v1.1 requested corrections */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  height:96px;
  min-height:96px;
  max-height:96px;
  grid-template-columns:240px 1fr 220px;
  background:#fff;
}
.site-header .brand,
.site-header nav,
.site-header .header-cta{flex-shrink:0}
.site-header nav{display:flex!important;white-space:nowrap}
.site-header .brand img{width:180px;height:78px}
.site-header .header-cta{width:220px;text-align:center}

/* Full-bleed hero: image always covers the complete browser width.
   Positioning favors the right side so the composition reaches the right edge. */
.locked-hero{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  height:620px;
  background:#fff;
}
.locked-hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Exact requested three headline lines */
.locked-hero .hero-copy h1{
  font-size:64px;
  line-height:.98;
  white-space:nowrap;
}

/* Keep desktop navigation visible and same size on normal laptop widths. */
@media (min-width:901px){
  .site-header{height:96px;min-height:96px;max-height:96px}
  .site-header nav{display:flex!important}
}
@media (max-width:1100px) and (min-width:901px){
  .site-header{grid-template-columns:190px 1fr 190px;padding-left:3vw;padding-right:3vw}
  .site-header nav{gap:22px}
  .site-header .header-cta{width:190px}
  .site-header .brand img{width:155px}
}

/* =========================================================
   v2 — COMPLETE SITE / NATIVE PAGE CONTENT
   Homepage design remains unchanged from v1.1.
   Internal page content is stored in wp_posts.post_content.
   ========================================================= */
.lwv-page{max-width:1220px;margin:0 auto;padding:72px 28px 105px}
.lwv-page .page-kicker{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.lwv-page h1{font-size:64px;line-height:.98;color:var(--red);margin:15px 0 25px}
.lwv-page h2{font-size:43px;line-height:1.05;color:var(--red);margin:55px 0 18px}
.lwv-page h3{font-size:29px;color:var(--red);margin:28px 0 10px}
.lwv-page p{font-size:16px;line-height:1.75;max-width:850px}
.lwv-page .lead{font-size:20px;line-height:1.65;max-width:900px}
.lwv-page .gold-line{width:45px;height:2px;background:var(--gold);margin:24px 0}
.lwv-page .page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin:38px 0}
.lwv-page .page-card{border-top:1px solid var(--gold);padding:25px 0 15px}
.lwv-page .page-card p{font-size:14px}
.lwv-page .country-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:42px 0}
.lwv-page .country-list a{min-height:160px;padding:22px;background:var(--cream);display:flex;flex-direction:column;justify-content:flex-end}
.lwv-page .country-list b{font:28px Georgia,serif;color:var(--red)}
.lwv-page .quote{font:italic 30px Georgia,serif;padding:30px 0 30px 35px;border-left:2px solid var(--gold);margin:45px 0}
.lwv-page .cta-band{margin-top:65px;background:var(--cream);padding:40px}
.lwv-page .cta-band h2{margin-top:0}
.lwv-page ul{line-height:1.9}
@media(max-width:800px){.lwv-page .page-grid,.lwv-page .country-list{grid-template-columns:1fr}.lwv-page h1{font-size:46px}}

/* v2.1 — trust strip icons corrected to match approved reference */
.trust-item svg{width:52px;height:52px;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.trust-item svg text{fill:var(--gold);stroke:none;font-family:Arial,sans-serif;font-size:14px;font-weight:700}


/* =========================================================
   v2.3 RESPONSIVE LAYER
   Desktop >= 1101px remains as approved.
   Tablet/mobile get dedicated layout rules.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img,svg{max-width:100%}
.menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--red);margin:5px 0;transition:.2s}
.primary-navigation{min-width:0}

/* Tablet */
@media (max-width:1100px){
  .locked-wrap{width:min(94vw,1380px)}
  .section-head{gap:35px}
  .hero-copy{left:5vw;max-width:510px}
  .locked-hero .hero-copy h1{font-size:clamp(48px,5.6vw,60px)}
  .trust-strip{padding-left:2vw;padding-right:2vw}
  .trust-item{padding:0 13px;grid-template-columns:50px 1fr}
  .destination-grid{width:94vw}
  .featured{width:94vw}
}

/* Mobile navigation and all homepage sections */
@media (max-width:900px){
  body.menu-open{overflow:hidden}

  .site-header{
    height:76px!important;min-height:76px!important;max-height:76px!important;
    padding:0 18px;
    grid-template-columns:1fr auto auto!important;
    gap:10px;
  }
  .site-header .brand img{width:116px!important;height:62px!important}
  .menu-toggle{display:block;grid-column:2}
  .site-header .header-cta{
    grid-column:3;width:auto!important;
    padding:12px 14px;font-size:10px;
  }
  .site-header nav.primary-navigation{
    display:none!important;
    position:fixed;
    top:76px;left:0;right:0;
    height:calc(100dvh - 76px);
    padding:28px 24px;
    background:#fff;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:0;
    box-shadow:0 10px 25px #0001;
    overflow:auto;
  }
  .site-header nav.primary-navigation.is-open{display:flex!important}
  .site-header nav.primary-navigation a{
    width:100%;padding:18px 2px;border-bottom:1px solid #eee;
    font-size:15px;
  }

  /* Hero: full-width, no horizontal scroll, image remains landscape-led.
     Text gets its own readable white/gradient field instead of forcing desktop dimensions. */
  .locked-hero{
    width:100%!important;
    margin-left:0!important;
    height:690px;
    min-height:0;
  }
  .locked-hero-img{
    width:100%;height:100%;
    object-fit:cover;
    object-position:62% center;
  }
  .locked-hero-fade{
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 38%,rgba(255,255,255,.58) 57%,rgba(255,255,255,.06) 74%,transparent 100%);
  }
  .hero-copy{
    left:24px;right:24px;top:38px;
    width:auto;max-width:none;
  }
  .locked-hero .hero-copy h1{
    font-size:clamp(43px,11vw,58px);
    line-height:.96;
    white-space:normal;
    margin:17px 0 20px;
  }
  .hero-copy h4{font-size:14px;line-height:1.4;margin-bottom:17px}
  .hero-copy p{font-size:15px;line-height:1.5;max-width:540px}
  .hero-actions{flex-wrap:wrap;gap:10px;margin-top:20px}
  .hero-actions .btn{padding:13px 16px;font-size:10px}

  .trust-strip{
    grid-template-columns:1fr 1fr!important;
    padding:12px 18px 24px;
  }
  .trust-item{
    min-width:0;
    grid-template-columns:48px 1fr;
    padding:20px 14px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .trust-item:nth-child(2n){border-right:0}
  .trust-item:nth-child(5){grid-column:1/3;border-right:0;border-bottom:0}
  .trust-item svg{width:43px;height:43px}
  .trust-item p{font-size:11px}

  .destinations{padding:58px 18px 70px}
  .section-head{grid-template-columns:1fr;gap:15px;margin-bottom:30px}
  .section-head h2{font-size:42px}
  .destination-grid{
    width:100%;grid-template-columns:1fr!important;grid-template-rows:none;
    gap:12px;
  }
  .destination,.peru{grid-column:auto!important;grid-row:auto!important;min-height:260px}
  .destination h3{font-size:31px}

  .featured{
    width:calc(100% - 36px);min-height:0;margin:0 18px 70px;
    background:linear-gradient(180deg,#fff 0%,#fff 68%,#f3e7d5 100%);
  }
  .featured-copy{width:100%;padding:38px 24px}
  .featured h2{font-size:44px}
  .featured h3{font-size:25px}

  .locked-private{padding:55px 0 62px}
  .locked-private h2,.locked-business h2{font-size:46px;line-height:.98}
  .locked-intro{font-size:15px}
  .locked-two{grid-template-columns:1fr!important;gap:42px;margin-top:32px}
  .locked-two>article>img{height:auto;aspect-ratio:16/10}
  .locked-service{grid-template-columns:54px 1fr;gap:14px}
  .locked-service svg{width:46px;height:46px}
  .locked-service h3{font-size:30px}

  .locked-business{padding-top:58px}
  .locked-business-grid{grid-template-columns:1fr!important;margin-top:28px}
  .locked-business-photo{height:auto;aspect-ratio:16/10}
  .locked-business-services{padding:28px 0 0!important}
  .locked-business-services article{
    grid-template-columns:56px 1fr;gap:14px;min-height:0;
    padding:25px 0 30px;
  }
  .locked-business-services article+article{padding-top:30px}
  .locked-business-services svg{width:46px;height:46px}
  .locked-business-services h3{font-size:31px}
  .locked-quote{margin-top:24px}
  .locked-quote>div{width:90vw;padding:24px 0;gap:14px}
  .locked-quote b{font-size:42px}
  .locked-quote em{font-size:22px;line-height:1.4}

  .places{padding:65px 18px}
  .places h2{font-size:40px;margin-bottom:38px}
  .polaroids{grid-template-columns:1fr!important;gap:46px}
  .polaroid{max-width:540px;margin:0 auto}
  .polaroid-img{height:auto;aspect-ratio:4/3}
  .polaroid h3{font-size:28px}
  .all-three{font-size:31px;margin-top:45px}

  .about{
    grid-template-columns:1fr!important;
    width:auto;margin:70px auto;padding:0 22px;gap:35px;
  }
  .about h2{font-size:41px}
  .about img{max-height:none}

  .how{padding:65px 20px}
  .how h2{font-size:42px}
  .roadmap{
    grid-template-columns:1fr!important;
    margin:38px auto;max-width:560px;
    text-align:left;
  }
  .roadmap article{
    position:relative;padding:18px 0 24px 58px;border-bottom:1px solid var(--line)
  }
  .roadmap span{position:absolute;left:0;top:18px}
  .roadmap h3{font-size:24px;margin:4px 0 8px}
  .languages{grid-template-columns:1fr!important;margin-top:42px}
  .languages>div{border-right:0;border-bottom:1px solid #e3d4c1}
  .languages>div:last-child{border-bottom:0}

  .ask{
    grid-template-columns:1fr!important;
    padding:65px 22px;gap:28px;
  }
  .ask h2{font-size:45px}
  .ask form{grid-template-columns:1fr}
  .ask .full{grid-column:auto}

  footer{
    grid-template-columns:1fr 1fr!important;
    padding:52px 22px 25px;gap:28px 20px;
  }
  footer>div:first-child{grid-column:1/3}
  .legal{grid-column:1/3!important;flex-direction:column;gap:12px}
  .whatsapp{right:16px;bottom:16px;width:54px;height:54px}

  .lwv-page{padding:55px 22px 80px}
  .lwv-page h1{font-size:44px}
  .lwv-page h2{font-size:34px;margin-top:44px}
  .lwv-page .lead{font-size:18px}
  .lwv-page .page-grid,.lwv-page .country-list{grid-template-columns:1fr!important}
  .lwv-page .cta-band{padding:30px 22px}
}

/* Small phones */
@media (max-width:560px){
  .site-header{padding:0 12px}
  .site-header .brand img{width:92px!important}
  .site-header .header-cta{padding:10px 9px;font-size:9px}
  .menu-toggle{padding:8px 5px}
  .menu-toggle span{width:22px}

  .locked-hero{height:650px}
  .locked-hero-img{object-position:65% center}
  .hero-copy{left:18px;right:18px;top:30px}
  .locked-hero .hero-copy h1{font-size:clamp(39px,12.4vw,50px)}
  .hero-copy p{font-size:14px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .hero-actions .btn{text-align:center;padding:12px 8px}

  .trust-strip{grid-template-columns:1fr!important;padding:8px 16px 20px}
  .trust-item,.trust-item:nth-child(5){
    grid-column:auto!important;border-right:0!important;border-bottom:1px solid var(--line)!important;
    padding:18px 6px;
  }
  .trust-item:last-child{border-bottom:0!important}

  .section-head h2{font-size:37px}
  .destination{min-height:225px}
  .featured{width:calc(100% - 28px);margin-left:14px;margin-right:14px}
  .featured-copy{padding:32px 18px}
  .featured h2{font-size:38px}

  .locked-private h2,.locked-business h2{font-size:40px}
  .locked-service h3,.locked-business-services h3{font-size:28px}
  .places h2,.about h2,.how h2{font-size:36px}
  .ask h2{font-size:40px}
  footer{grid-template-columns:1fr!important}
  footer>div:first-child,.legal{grid-column:1!important}
}


/* =========================================================
   v2.4 MOBILE VISITENKARTE
   Mobile keeps the approved hero artwork. The composition is
   repositioned so Liliana's face and Machu Picchu remain visible.
   The supporting black copy is anchored near the bottom.
   The header CTA and hero CTAs are removed on mobile; the fixed
   WhatsApp pill is the single persistent action, like Liv0nia.
   Desktop remains unchanged.
   ========================================================= */
@media (max-width:900px){
  .site-header{
    grid-template-columns:1fr auto!important;
    padding:0 20px;
  }
  .site-header .brand{grid-column:1;justify-self:start}
  .site-header .menu-toggle{grid-column:2;justify-self:end}
  .site-header .header-cta{display:none!important}

  .locked-hero{
    height:720px;
    min-height:720px;
    position:relative;
  }
  .locked-hero-img{
    object-fit:cover;
    /* move the supplied landscape artwork down/right for the phone crop */
    object-position:66% 64%;
  }
  .locked-hero-fade{
    /* white reading field at top + subtle lower field for supporting copy */
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.93) 28%,
        rgba(255,255,255,.45) 42%,
        rgba(255,255,255,.04) 57%,
        rgba(255,255,255,.04) 68%,
        rgba(255,255,255,.72) 84%,
        rgba(255,255,255,.92) 100%);
  }
  .hero-copy{
    inset:0;
    width:auto;
    max-width:none;
    padding:46px 26px 30px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    pointer-events:none;
  }
  .hero-copy .kicker{pointer-events:auto}
  .locked-hero .hero-copy h1{
    margin:28px 0 0;
    font-size:clamp(45px,11.5vw,58px);
    line-height:.98;
    white-space:normal;
    max-width:100%;
    pointer-events:auto;
  }
  .hero-copy h4{
    margin-top:auto;
    margin-bottom:14px;
    font-size:15px;
    line-height:1.35;
    max-width:620px;
    pointer-events:auto;
  }
  .hero-copy p{
    margin:0;
    font-size:15px;
    line-height:1.48;
    max-width:620px;
    pointer-events:auto;
  }
  .hero-actions{display:none!important}

  /* one persistent contact action, matching the Liv0nia mobile logic */
  .whatsapp{
    width:auto;
    height:58px;
    min-width:138px;
    padding:0 24px;
    border-radius:32px;
    right:18px;
    bottom:18px;
    font-size:0;
    font-weight:700;
    box-shadow:0 10px 28px rgba(0,0,0,.16);
  }
  .whatsapp::after{
    content:'WhatsApp';
    font-size:17px;
    color:#fff;
  }
}

@media (max-width:560px){
  .site-header{padding:0 18px}
  .site-header .brand img{width:112px!important;height:62px!important}
  .menu-toggle span{width:28px;height:3px;margin:5px 0}

  .locked-hero{height:735px;min-height:735px}
  .locked-hero-img{object-position:67% 68%}
  .hero-copy{padding:44px 22px 28px}
  .locked-hero .hero-copy h1{
    font-size:clamp(44px,12vw,53px);
    line-height:.99;
  }
  .hero-copy h4{font-size:14px;margin-bottom:12px}
  .hero-copy p{font-size:14px;line-height:1.48}
  .whatsapp{right:16px;bottom:16px;height:56px;min-width:132px;padding:0 22px}
  .whatsapp::after{font-size:16px}
}

@media (max-width:380px){
  .locked-hero{height:720px;min-height:720px}
  .hero-copy{padding-left:18px;padding-right:18px}
  .locked-hero .hero-copy h1{font-size:42px}
  .hero-copy h4,.hero-copy p{font-size:13px}
}


/* =========================================================
   v2.5 FINAL MOBILE HERO OVERRIDE — AUTHORITATIVE
   Desktop is untouched. These rules intentionally come LAST.
   Mobile brief:
   - header = logo + hamburger only
   - approved hero artwork remains
   - kicker + red 3-line headline at top
   - face / Machu Picchu get a clear visual window in the middle
   - black supporting copy anchored at bottom
   - no hero CTAs
   - WhatsApp is the only persistent action
   ========================================================= */
@media (max-width: 900px) {
  .site-header {
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
  }
  .site-header .brand { grid-column: 1 !important; justify-self: start !important; }
  .site-header .menu-toggle { grid-column: 2 !important; justify-self: end !important; display:block !important; }
  .site-header .header-cta { display: none !important; }

  .locked-hero {
    height: 760px !important;
    min-height: 760px !important;
    width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .locked-hero-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 67% 72% !important;
  }
  .locked-hero-fade {
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.94) 24%,
        rgba(255,255,255,.55) 35%,
        rgba(255,255,255,.08) 48%,
        rgba(255,255,255,.02) 65%,
        rgba(255,255,255,.56) 80%,
        rgba(255,255,255,.92) 100%) !important;
  }
  .hero-copy {
    position: absolute !important;
    inset: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 42px 24px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .hero-copy .kicker {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .17em !important;
  }
  .locked-hero .hero-copy h1 {
    margin: 28px 0 0 !important;
    font-size: clamp(40px, 10.7vw, 48px) !important;
    line-height: .98 !important;
    white-space: nowrap !important;
    max-width: none !important;
  }
  .hero-copy h4 {
    margin: auto 0 12px !important;
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.38 !important;
  }
  .hero-copy p {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .hero-actions { display: none !important; }

  .whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 132px !important;
    height: 56px !important;
    padding: 0 22px !important;
    border-radius: 30px !important;
    right: 16px !important;
    bottom: 16px !important;
    background: var(--red) !important;
    color: #fff !important;
    font-size: 0 !important;
    font-weight: 700 !important;
  }
  .whatsapp::after {
    content: "WhatsApp" !important;
    color: #fff !important;
    font: 700 16px/1 Arial,sans-serif !important;
  }
}

@media (max-width: 390px) {
  .locked-hero { height: 735px !important; min-height: 735px !important; }
  .hero-copy { padding: 38px 18px 26px !important; }
  .locked-hero .hero-copy h1 { font-size: 39px !important; }
  .hero-copy h4, .hero-copy p { font-size: 13px !important; }
  .locked-hero-img { object-position: 68% 74% !important; }
}

/* =========================================================
   v2.6 HEADER ACTION RULE — AUTHORITATIVE
   Talk to Liliana removed from header on ALL screen sizes.
   Persistent WhatsApp remains the sole floating contact action.
   ========================================================= */
.header-cta { display:none !important; }

@media (min-width: 901px) {
  .site-header {
    grid-template-columns: auto 1fr !important;
  }
  .primary-navigation {
    justify-self: center !important;
  }
}

/* =========================================================
   v2.7 MOBILE HERO — LESS ZOOM, AUTHORITATIVE
   Desktop unchanged. Mobile keeps the same approved hero image,
   but uses a shallower hero so object-fit:cover crops much less.
   ========================================================= */
@media (max-width: 900px) {
  .locked-hero {
    height: 650px !important;
    min-height: 650px !important;
  }
  .locked-hero-img {
    object-fit: cover !important;
    object-position: 61% 62% !important;
  }
  .hero-copy {
    padding: 38px 24px 24px !important;
  }
  .hero-copy h4 {
    margin-top: auto !important;
  }
}

@media (max-width: 560px) {
  .locked-hero {
    height: 650px !important;
    min-height: 650px !important;
  }
  .locked-hero-img {
    object-position: 60% 61% !important;
  }
  .hero-copy {
    padding: 36px 20px 22px !important;
  }
}

@media (max-width: 390px) {
  .locked-hero {
    height: 635px !important;
    min-height: 635px !important;
  }
  .locked-hero-img {
    object-position: 59% 60% !important;
  }
}

/* v2.9 — Discover Peru: supplied portrait photo shown without zoom/crop */
.featured{background-repeat:no-repeat!important;background-color:#fff!important;background-size:auto 100%!important;background-position:right center!important}
@media(max-width:900px){.featured{background-size:100% auto!important;background-position:center bottom!important;min-height:0!important}}
@media(max-width:560px){.featured{background-size:100% auto!important;background-position:center bottom!important}}


/* FINAL MOBILE FIX: Discover Peru full image, absolutely no cover/cropping */
@media (max-width:900px){
  .featured{
    background-image:none !important;
    min-height:0 !important;
  }
  .featured::after{
    content:"";
    display:block;
    width:100%;
    aspect-ratio:2 / 3;
    margin-top:24px;
    background:url("assets/discover-peru.jpg") center center / contain no-repeat !important;
  }
}
@media (max-width:560px){
  .featured::after{
    width:100%;
    aspect-ratio:2 / 3;
    margin-top:20px;
    background-size:contain !important;
  }
}

/* v2.11 Discover Peru: full original picture; no zoom and no crop */
.featured.featured-full-picture{position:relative!important;display:block!important;padding:0!important;min-height:0!important;background:none!important;overflow:hidden!important}
.featured-full-picture-img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
.featured.featured-full-picture::after{content:none!important;display:none!important}
.featured.featured-full-picture .featured-copy{position:absolute!important;z-index:2!important;left:clamp(24px,6vw,88px)!important;top:50%!important;transform:translateY(-50%)!important;width:min(520px,42%)!important;margin:0!important}
@media(max-width:900px){.featured.featured-full-picture{min-height:0!important;background:none!important}.featured-full-picture-img{width:100%!important;height:auto!important;object-fit:contain!important}.featured.featured-full-picture .featured-copy{left:22px!important;top:22px!important;transform:none!important;width:calc(100% - 44px)!important}}

/* v2.12 — Featured Peru composition: full image, woman to the right, readable left fade */
.featured.featured-full-picture{position:relative!important;overflow:hidden!important;background:#fff!important}
.featured-full-picture-img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;transform:translateX(5%)!important}
.featured.featured-full-picture:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 24%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.48) 52%,rgba(255,255,255,0) 68%);pointer-events:none}
.featured.featured-full-picture .featured-copy{z-index:2!important;left:clamp(24px,5vw,76px)!important;width:min(500px,39%)!important}
@media(max-width:900px){
 .featured.featured-full-picture{min-height:0!important}
 .featured-full-picture-img{width:112%!important;max-width:none!important;height:auto!important;transform:translateX(3%)!important;object-fit:contain!important}
 .featured.featured-full-picture:before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.70) 52%,rgba(255,255,255,.16) 72%,rgba(255,255,255,0) 86%)}
 .featured.featured-full-picture .featured-copy{left:18px!important;top:18px!important;width:55%!important;max-width:330px!important;transform:none!important}
 .featured.featured-full-picture .featured-copy .route{display:none!important}
 .featured.featured-full-picture .featured-copy p{font-size:14px!important;line-height:1.45!important}
 .featured.featured-full-picture .featured-copy h2{font-size:clamp(28px,7.4vw,42px)!important;line-height:.98!important;margin:.18em 0 .28em!important}
}
@media(max-width:420px){
 .featured-full-picture-img{width:116%!important;transform:translateX(2%)!important}
 .featured.featured-full-picture .featured-copy{width:54%!important;left:14px!important;top:14px!important}
 .featured.featured-full-picture .featured-copy p{font-size:12.5px!important;line-height:1.35!important}
}

/* v2.13 — supplied destination photographs only */
.destination.peru{background-image:url("assets/destination-peru.jpg")!important;background-position:center center!important}
.destination.england{background-image:url("assets/destination-england.jpg")!important;background-position:center center!important}
.destination.spain{background-image:url("assets/destination-spain.jpg")!important;background-position:center center!important}
.destination.italy{background-image:url("assets/destination-italy.jpg")!important;background-position:center center!important}
.destination.swiss{background-image:url("assets/destination-switzerland.jpg")!important;background-position:center center!important}
@media(max-width:560px){
 .destination.peru{background-position:center center!important}
 .destination.england{background-position:center center!important}
 .destination.spain{background-position:center center!important}
 .destination.italy{background-position:center center!important}
 .destination.swiss{background-position:center center!important}
}


/* v2.14 — Five Countries: hide only the 01–05 labels */
.dest-num,
.destination-number,
.country-number,
.destinations .number,
.country-card .number,
.dest-card .number { display:none !important; }


/* v2.15 navigation/link wiring — no homepage redesign */
.destination{color:inherit;text-decoration:none}
.inherit-link{color:inherit;text-decoration:none}
.primary-navigation .nav-group{position:relative;display:flex;align-items:center}
.primary-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#fff;padding:10px 0;box-shadow:0 10px 30px rgba(0,0,0,.10);z-index:1000}
.primary-navigation .nav-group:hover>.sub-menu,.primary-navigation .nav-group:focus-within>.sub-menu{display:block}
.primary-navigation .sub-menu a{display:block;white-space:nowrap;padding:8px 18px}
.primary-navigation .sub-heading{padding:10px 18px 4px;color:var(--red);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
footer span{display:block}
@media(max-width:900px){.primary-navigation .nav-group{display:block}.primary-navigation .sub-menu{display:block;position:static;box-shadow:none;padding:0 0 6px 14px;background:transparent}.primary-navigation .sub-menu a{padding:6px 0}.primary-navigation .sub-heading{padding:8px 0 2px}}


/* v2.17 — FIVE COUNTRIES correction only:
   remove 01–05; country title + short copy white */
.dest-num,
.destination-number,
.country-number,
.destinations .number,
.country-card .number,
.dest-card .number,
.destinations [class*="num"],
.destination-grid [class*="num"] {
  display:none !important;
}

.destinations .dest-title,
.destinations .country-title,
.destinations h3,
.destination-grid .dest-title,
.destination-grid .country-title,
.destination-grid h3,
.dest-card h3,
.country-card h3 {
  color:#fff !important;
}

.destinations .dest-copy,
.destinations .country-copy,
.destinations .dest-desc,
.destinations .country-desc,
.destination-grid .dest-copy,
.destination-grid .country-copy,
.destination-grid .dest-desc,
.destination-grid .country-desc,
.dest-card p,
.country-card p {
  color:#fff !important;
  opacity:1 !important;
}


/* =========================================================
   v2.18 — HOME CI CONSISTENCY
   Official palette only:
   Liliana red  #C1040B
   Liliana gold #DC9704
   White        #FFFFFF
   Text dark    #3F3F3F
   ========================================================= */

:root{
  --liliana-red:#C1040B;
  --liliana-gold:#DC9704;
  --liliana-white:#FFFFFF;
  --liliana-dark:#3F3F3F;
}

/* Consistent typography */
body,
button,
input,
textarea,
select,
.site-header,
.site-footer,
.home{
  font-family:Arial, Helvetica, sans-serif;
  color:var(--liliana-dark);
}

h1,h2,h3,h4,h5,h6,
.serif,
.display,
.hero-title,
.section-title,
.featured h2,
.destinations h3,
.destination-grid h3{
  font-family:Georgia, "Times New Roman", serif;
}

/* Main headings on light backgrounds */
.home h1,
.home h2,
.home .section-title,
.home .hero-title{
  color:var(--liliana-red);
}

/* Small editorial labels / kickers */
.home .kicker,
.home .eyebrow,
.home .section-kicker,
.home [class*="kicker"],
.home [class*="eyebrow"]{
  color:var(--liliana-gold) !important;
}

/* Body copy on light surfaces */
.home p,
.home li{
  color:var(--liliana-dark);
}

/* Actions use Liliana red */
.home a.button,
.home .button,
.home .btn,
.home [class*="cta"],
.whatsapp-float{
  border-color:var(--liliana-red);
}

/* Destination photography: white content, no red numbers */
.dest-num,
.destination-number,
.country-number,
.destinations .number,
.country-card .number,
.dest-card .number,
.destinations [class*="num"],
.destination-grid [class*="num"]{
  display:none !important;
}

.destinations h3,
.destination-grid h3,
.dest-card h3,
.country-card h3,
.destinations .dest-title,
.destinations .country-title,
.destination-grid .dest-title,
.destination-grid .country-title{
  color:var(--liliana-white) !important;
}

.destinations p,
.destination-grid p,
.dest-card p,
.country-card p,
.destinations .dest-copy,
.destinations .country-copy,
.destinations .dest-desc,
.destinations .country-desc{
  color:var(--liliana-white) !important;
  opacity:1 !important;
}

/* Text placed directly over photography should remain readable */
.hero .hero-copy,
.hero .hero-copy p,
.featured-full-picture .featured-copy p{
  color:var(--liliana-dark);
}

/* Brand-red action surfaces */
.whatsapp-float{
  background:var(--liliana-red) !important;
  color:var(--liliana-white) !important;
}

/* Gold line icons and process accents */
.trust-strip svg,
.how-it-works svg,
.languages svg,
.service-icon svg{
  color:var(--liliana-gold);
  stroke:var(--liliana-gold);
}

/* Footer stays neutral + brand accents */
.site-footer,
.site-footer p,
.site-footer li{
  color:var(--liliana-dark);
}
.site-footer a:hover{
  color:var(--liliana-red);
}


/* v2.19 — definitive FIVE COUNTRIES fix */
.destination-grid .destination > h3 {
  color:#FFFFFF !important;
}
.destination-grid .destination > p {
  color:#FFFFFF !important;
  opacity:1 !important;
}

/* =========================================================
   v2.26 — DISCOVER PERU: ONE COMPOSITION, NO CROP / NO COVER
   The supplied portrait remains complete and proportional.
   Its LEFT EDGE is genuinely faded with a CSS mask, so there
   is no visible rectangular image edge and copy overlaps the
   same visual composition.
   ========================================================= */
.featured.featured-full-picture{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  background:#fff!important;
  padding:0!important;
}
.featured.featured-full-picture .featured-full-picture-img{
  position:absolute!important;
  z-index:0!important;
  top:50%!important;
  right:0!important;
  left:auto!important;
  bottom:auto!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:100%!important;
  max-height:100%!important;
  transform:translateY(-50%)!important;
  object-fit:contain!important;
  object-position:right center!important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 7%,rgba(0,0,0,.55) 20%,#000 38%,#000 100%)!important;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 7%,rgba(0,0,0,.55) 20%,#000 38%,#000 100%)!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
}
.featured.featured-full-picture:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,#fff 0%,#fff 31%,rgba(255,255,255,.96) 39%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.22) 60%,rgba(255,255,255,0) 70%)!important;
}
.featured.featured-full-picture::after{content:none!important;display:none!important}
.featured.featured-full-picture .featured-copy{
  position:absolute!important;
  z-index:2!important;
  left:clamp(30px,5.2vw,76px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(540px,48%)!important;
  max-width:540px!important;
  margin:0!important;
}
@media(min-width:901px){
  .featured.featured-full-picture{
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
  }
}
@media(max-width:900px){
  .featured.featured-full-picture{
    height:700px!important;
    min-height:700px!important;
    max-height:700px!important;
  }
  .featured.featured-full-picture .featured-full-picture-img{
    right:-2%!important;
    height:100%!important;
    width:auto!important;
    transform:translateY(-50%)!important;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.70) 23%,#000 40%,#000 100%)!important;
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.70) 23%,#000 40%,#000 100%)!important;
  }
  .featured.featured-full-picture:before{
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 28%,rgba(255,255,255,.86) 43%,rgba(255,255,255,.48) 58%,rgba(255,255,255,.08) 74%,rgba(255,255,255,0) 84%)!important;
  }
  .featured.featured-full-picture .featured-copy{
    left:22px!important;
    top:28px!important;
    transform:none!important;
    width:57%!important;
    max-width:330px!important;
  }
  .featured.featured-full-picture .featured-copy .route{display:none!important}
}
@media(max-width:420px){
  .featured.featured-full-picture{height:660px!important;min-height:660px!important;max-height:660px!important}
  .featured.featured-full-picture .featured-copy{left:16px!important;top:22px!important;width:58%!important}
  .featured.featured-full-picture .featured-copy h2{font-size:clamp(30px,10.5vw,42px)!important;line-height:.98!important}
  .featured.featured-full-picture .featured-copy p{font-size:13px!important;line-height:1.4!important}
}


/* =========================================================
   v2.28 — Discover Peru REAL left extension
   Important: this moves/extends the IMAGE LAYER itself left.
   Right edge stays fixed; no cover, no crop, no scale/transform.
   ========================================================= */

@media (min-width:901px){
  .featured-full-picture > img,
  .featured-full-picture .featured-bg,
  .featured-full-picture .featured-image{
    /* Override old narrow/right-only geometry */
    left:38% !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:62% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:right center !important;
    transform:none !important;

    /* Long fade now has actual image-layer width to work with */
    -webkit-mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.05) 10%,
      rgba(0,0,0,.22) 24%,
      rgba(0,0,0,.52) 39%,
      rgba(0,0,0,.82) 54%,
      #000 68%,
      #000 100%) !important;
    mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.05) 10%,
      rgba(0,0,0,.22) 24%,
      rgba(0,0,0,.52) 39%,
      rgba(0,0,0,.82) 54%,
      #000 68%,
      #000 100%) !important;
  }
}

/* Mobile: extend the real image layer left as well, but protect text width */
@media (max-width:900px){
  .featured-full-picture > img,
  .featured-full-picture .featured-bg,
  .featured-full-picture .featured-image{
    left:24% !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:76% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:right center !important;
    transform:none !important;

    -webkit-mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.08) 10%,
      rgba(0,0,0,.28) 23%,
      rgba(0,0,0,.58) 37%,
      rgba(0,0,0,.86) 51%,
      #000 64%,
      #000 100%) !important;
    mask-image:linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.08) 10%,
      rgba(0,0,0,.28) 23%,
      rgba(0,0,0,.58) 37%,
      rgba(0,0,0,.86) 51%,
      #000 64%,
      #000 100%) !important;
  }
}


/* =========================================================
   v3.0 RESPONSIVE REBUILD
   Principle: same brand language, different natural layouts.
   No desktop composition is merely squeezed into portrait.
   ========================================================= */

:root{
  --page-pad:clamp(18px,5vw,78px);
  --section-y:clamp(54px,7vw,104px);
}

/* Global responsive rhythm */
main section:not(.locked-hero):not(.trust-strip):not(.featured){
  scroll-margin-top:90px;
}
.section-head,
.locked-wrap,
.places,
.about,
.how,
.ask{
  width:min(1320px,calc(100% - (var(--page-pad) * 2)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
h1,h2,h3{overflow-wrap:normal}
img{max-width:100%}

/* HERO — independent desktop/mobile composition, no forced portrait geometry */
.locked-hero{
  min-height:clamp(560px,66vw,760px)!important;
  height:auto!important;
}
.locked-hero-img{
  object-fit:cover!important;
  object-position:center center!important;
}
.hero-copy h1{
  font-size:clamp(44px,5.2vw,78px)!important;
  line-height:.96!important;
}
@media(max-width:900px){
  .locked-hero{
    min-height:650px!important;
    height:650px!important;
  }
  .locked-hero-img{
    object-position:60% center!important;
  }
  .hero-copy{
    width:min(72%,390px)!important;
    left:clamp(18px,6vw,44px)!important;
  }
  .hero-copy h1{font-size:clamp(38px,9vw,58px)!important}
  .hero-actions{display:none!important}
}
@media(max-width:480px){
  .locked-hero{height:610px!important;min-height:610px!important}
  .hero-copy{width:72%!important}
}

/* TRUST — reflow rather than shrink */
@media(max-width:1100px){
  .trust-strip{grid-template-columns:repeat(3,1fr)!important}
  .trust-item{border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .trust-strip{grid-template-columns:1fr!important;padding:12px 20px!important}
  .trust-item{
    grid-template-columns:52px 1fr!important;
    padding:16px 0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .trust-item:last-child{border-bottom:0!important}
  .trust-item p br{display:none}
}

/* FIVE COUNTRIES — desktop mosaic; tablet/mobile becomes natural cards */
.destinations{padding:var(--section-y) var(--page-pad)!important}
.destination-grid .destination{
  min-height:240px;
  background-size:cover!important;
  background-position:center!important;
}
.destination-grid .destination h3,
.destination-grid .destination p{color:#fff!important}
@media(max-width:900px){
  .section-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .destination-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  .destination-grid .destination,
  .destination-grid .peru{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:260px!important;
  }
  .destination-grid .peru{grid-column:1/-1!important}
}
@media(max-width:620px){
  .destination-grid{grid-template-columns:1fr!important}
  .destination-grid .destination,
  .destination-grid .peru{
    grid-column:1!important;
    min-height:230px!important;
  }
}

/* DISCOVER PERU — completely rebuilt.
   Desktop = clean two-column editorial block.
   Mobile = portrait photo as backdrop, matching the successful mobile idea.
   No cover/zoom on the portrait itself. */
.featured.featured-full-picture{
  width:min(1320px,calc(100% - (var(--page-pad) * 2)))!important;
  margin:var(--section-y) auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr)!important;
  align-items:center!important;
  gap:clamp(34px,6vw,96px)!important;
  overflow:visible!important;
  background:#fff!important;
  padding:0!important;
}
.featured.featured-full-picture:before,
.featured.featured-full-picture:after{display:none!important;content:none!important}
.featured.featured-full-picture .featured-copy{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:600px!important;
  margin:0!important;
  z-index:2!important;
  order:1!important;
}
.featured.featured-full-picture .featured-full-picture-img{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  height:auto!important;
  max-width:460px!important;
  max-height:none!important;
  justify-self:end!important;
  object-fit:contain!important;
  object-position:center!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  order:2!important;
}
.featured-copy h2{
  font-size:clamp(46px,5vw,72px)!important;
  line-height:.98!important;
}
.featured-copy p{
  font-size:clamp(16px,1.3vw,19px)!important;
  line-height:1.55!important;
}
@media(max-width:900px){
  .featured.featured-full-picture{
    position:relative!important;
    display:block!important;
    width:calc(100% - 32px)!important;
    height:clamp(610px,145vw,760px)!important;
    min-height:0!important;
    margin:52px auto!important;
    overflow:hidden!important;
  }
  .featured.featured-full-picture .featured-full-picture-img{
    position:absolute!important;
    z-index:0!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    width:auto!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:right top!important;
  }
  .featured.featured-full-picture:before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    inset:0!important;
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 20%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.52) 55%,rgba(255,255,255,.10) 73%,rgba(255,255,255,0) 84%)!important;
    pointer-events:none!important;
  }
  .featured.featured-full-picture .featured-copy{
    position:absolute!important;
    z-index:2!important;
    left:clamp(18px,7vw,48px)!important;
    top:clamp(34px,9vw,66px)!important;
    width:min(67%,390px)!important;
    max-width:none!important;
  }
  .featured-copy h2{
    font-size:clamp(42px,10vw,62px)!important;
    line-height:.94!important;
  }
  .featured-copy p{
    font-size:clamp(15px,4vw,19px)!important;
    line-height:1.48!important;
  }
  .featured-copy .route{display:none!important}
}
@media(max-width:480px){
  .featured.featured-full-picture{
    width:calc(100% - 24px)!important;
    height:clamp(600px,158vw,700px)!important;
  }
  .featured.featured-full-picture .featured-copy{
    left:clamp(16px,6vw,28px)!important;
    width:68%!important;
  }
  .featured-copy h2{font-size:clamp(39px,11vw,52px)!important}
}

/* PRIVATE / GROUPS — desktop pair, mobile stack */
.locked-two img{width:100%;height:auto!important;aspect-ratio:16/10;object-fit:cover}
@media(max-width:760px){
  .locked-two{display:grid!important;grid-template-columns:1fr!important;gap:42px!important}
  .locked-intro br{display:none}
}

/* BUSINESS — separate visual and service content naturally */
@media(max-width:900px){
  .locked-business-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .locked-business-photo{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/10;
    object-fit:cover!important;
  }
}

/* PLACES — no fragile rotated desktop collage on small screens */
@media(max-width:900px){
  .polaroids{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:22px!important;
  }
  .polaroid{transform:none!important;margin:0!important}
}
@media(max-width:620px){
  .polaroids{grid-template-columns:1fr!important}
}

/* ABOUT */
@media(max-width:820px){
  .about{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  .about img{width:100%!important;height:auto!important;max-height:560px;object-fit:cover}
}

/* HOW IT WORKS — horizontal only where it has room */
@media(max-width:1000px){
  .roadmap{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 28px!important;
  }
}
@media(max-width:620px){
  .roadmap{grid-template-columns:1fr!important}
  .roadmap article{padding:20px 0!important}
}

/* LANGUAGES */
@media(max-width:760px){
  .languages{grid-template-columns:1fr 1fr!important}
  .languages > div:first-child{grid-column:1/-1}
}
@media(max-width:460px){
  .languages{grid-template-columns:1fr!important}
  .languages > div:first-child{grid-column:auto}
}

/* CONTACT — avoid compressed form */
@media(max-width:900px){
  .ask{display:grid!important;grid-template-columns:1fr!important;gap:30px!important}
  .ask form{grid-template-columns:1fr!important}
  .ask form .full{grid-column:auto!important}
}

/* FOOTER */
@media(max-width:760px){
  footer{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  footer{grid-template-columns:1fr!important}
  .legal{grid-column:1!important}
}

/* Floating WhatsApp: compact and consistent */
@media(max-width:600px){
  .whatsapp-float{
    right:16px!important;
    bottom:18px!important;
    max-width:calc(100vw - 32px)!important;
  }
}


/* ==========================================================
   v3.1 — VIAJES RESPONSIVE ARCHITECTURE
   FIXED RULE:
   Desktop = independent elements side by side.
   Mobile  = the same elements stacked.
   No text-over-image dependency, no fade rescue, no zoom tricks.
   ========================================================== */

:root{
  --viajes-max:1320px;
  --viajes-gap:clamp(28px,5vw,76px);
  --viajes-pad:clamp(20px,5vw,72px);
  --viajes-y:clamp(58px,7vw,105px);
}

/* ---------- HERO: TEXT | IMAGE -> IMAGE / TEXT ---------- */
.locked-hero{
  width:min(var(--viajes-max),calc(100% - (var(--viajes-pad) * 2)))!important;
  margin:0 auto!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:center!important;
  gap:var(--viajes-gap)!important;
  overflow:visible!important;
  background:#fff!important;
  padding:clamp(42px,6vw,86px) 0!important;
}
.locked-hero-fade{display:none!important}
.locked-hero-img{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:auto!important;
  max-height:620px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  background:#fff!important;
}
.locked-hero .hero-copy{
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  width:auto!important;
  max-width:600px!important;
  transform:none!important;
  z-index:1!important;
}
.locked-hero .hero-copy h1{
  font-size:clamp(46px,5vw,72px)!important;
  line-height:.97!important;
}
@media(max-width:800px){
  .locked-hero{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:0 0 48px!important;
  }
  .locked-hero-img{
    order:1!important;
    width:100%!important;
    max-height:none!important;
  }
  .locked-hero .hero-copy{
    order:2!important;
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin:34px auto 0!important;
  }
  .locked-hero .hero-copy h1{
    font-size:clamp(42px,11vw,58px)!important;
  }
  .hero-actions{display:none!important}
}

/* ---------- TRUST: ROW -> STACK ---------- */
.trust-strip{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
@media(max-width:800px){
  .trust-strip{
    grid-template-columns:1fr!important;
    padding:12px 20px!important;
  }
  .trust-item{
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
    padding:18px 0!important;
  }
}

/* ---------- DESTINATIONS: TWO COLUMNS -> ONE COLUMN ---------- */
.destinations{
  padding:var(--viajes-y) var(--viajes-pad)!important;
}
.destination-grid{
  width:min(var(--viajes-max),100%)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  gap:14px!important;
}
.destination-grid .destination,
.destination-grid .peru{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:330px!important;
}
.destination-grid .peru{
  grid-column:1/-1!important;
  min-height:430px!important;
}
.destination-grid .destination h3,
.destination-grid .destination p{color:#fff!important}
@media(max-width:800px){
  .destination-grid{grid-template-columns:1fr!important}
  .destination-grid .destination,
  .destination-grid .peru{
    grid-column:1!important;
    min-height:250px!important;
  }
}

/* ---------- DISCOVER PERU: TEXT | PHOTO -> PHOTO / TEXT ---------- */
.featured.featured-full-picture{
  width:min(var(--viajes-max),calc(100% - (var(--viajes-pad) * 2)))!important;
  margin:var(--viajes-y) auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;
  align-items:center!important;
  gap:var(--viajes-gap)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
  background:#fff!important;
}
.featured.featured-full-picture:before,
.featured.featured-full-picture:after{display:none!important;content:none!important}
.featured.featured-full-picture .featured-copy{
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  width:auto!important;
  max-width:600px!important;
  transform:none!important;
  margin:0!important;
  order:initial!important;
}
.featured.featured-full-picture .featured-full-picture-img{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:auto!important;
  max-width:470px!important;
  max-height:none!important;
  justify-self:end!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
@media(max-width:800px){
  .featured.featured-full-picture{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    margin:54px auto!important;
  }
  .featured.featured-full-picture .featured-full-picture-img{
    order:1!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    justify-self:auto!important;
  }
  .featured.featured-full-picture .featured-copy{
    order:2!important;
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin:32px auto 0!important;
  }
  .featured-copy .route{display:block!important}
}

/* ---------- PRIVATE SERVICES: TWO -> ONE ---------- */
.locked-two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(22px,4vw,52px)!important;
}
@media(max-width:800px){
  .locked-two{grid-template-columns:1fr!important}
}

/* ---------- BUSINESS: PHOTO | SERVICES -> PHOTO / SERVICES ---------- */
.locked-business-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
  gap:var(--viajes-gap)!important;
  align-items:stretch!important;
}
@media(max-width:800px){
  .locked-business-grid{grid-template-columns:1fr!important}
  .locked-business-photo{order:1!important}
  .locked-business-services{order:2!important}
}

/* ---------- PLACES: cards may wrap, but mobile is strictly stacked ---------- */
@media(max-width:800px){
  .polaroids{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .polaroid{transform:none!important}
}

/* ---------- ABOUT: TEXT | PHOTO -> PHOTO / TEXT ---------- */
.about{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--viajes-gap)!important;
}
@media(max-width:800px){
  .about{
    display:flex!important;
    flex-direction:column!important;
  }
  .about img{order:1!important}
  .about > div{order:2!important}
}

/* ---------- HOW IT WORKS: desktop row -> mobile stack ---------- */
@media(min-width:801px){
  .roadmap{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
@media(max-width:800px){
  .roadmap{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

/* ---------- LANGUAGES: desktop row -> mobile stack ---------- */
@media(max-width:800px){
  .languages{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .languages > div:first-child{grid-column:auto!important}
}

/* ---------- CONTACT: TEXT | FORM -> TEXT / FORM ---------- */
.ask{
  display:grid!important;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;
  gap:var(--viajes-gap)!important;
}
@media(max-width:800px){
  .ask{grid-template-columns:1fr!important}
  .ask form{grid-template-columns:1fr!important}
  .ask form .full{grid-column:auto!important}
}

/* ---------- FOOTER: columns may exist desktop, stack mobile ---------- */
@media(max-width:800px){
  footer{grid-template-columns:1fr!important}
  .legal{grid-column:1!important}
}


/* v3.1.1 — ABOUT LILIANA: ORIGINAL IMAGE, NO ZOOM / NO CROP */
.about{align-items:center!important}
.about img,
.about picture img{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.about picture{
  display:block!important;
  overflow:visible!important;
}
@media(max-width:800px){
  .about img,
  .about picture img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    transform:none!important;
  }
}


/* ==========================================================
   v3.1.2 — FINAL RED CONVERSATION CTA
   Red = action. Simple, responsive, no image dependency.
   ========================================================== */
.final-conversation-cta{
  width:100%;
  padding:clamp(58px,7vw,100px) var(--viajes-pad,5vw);
  background:#fff;
}
.final-conversation-cta-inner{
  width:min(1200px,100%);
  margin:0 auto;
  padding:clamp(52px,6vw,82px) clamp(36px,6vw,72px);
  background:#C1040B;
  color:#fff;
}
.final-conversation-kicker{
  margin:0 0 22px;
  color:#DC9704!important;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.19em;
}
.final-conversation-cta h2{
  margin:0;
  max-width:900px;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(38px,4.3vw,64px);
  line-height:1.04;
  font-weight:700;
  letter-spacing:-.035em;
}
.final-conversation-text{
  max-width:680px;
  margin:24px 0 34px;
  color:#fff!important;
  font-size:18px;
  line-height:1.55;
}
.final-conversation-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 26px;
  background:#fff;
  color:#C1040B!important;
  border:2px solid #fff;
  text-decoration:none!important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
}
.final-conversation-button:hover,
.final-conversation-button:focus{
  background:#DC9704;
  border-color:#DC9704;
  color:#fff!important;
}
@media(max-width:800px){
  .final-conversation-cta{
    padding:42px 20px 54px;
  }
  .final-conversation-cta-inner{
    padding:42px 24px 46px;
  }
  .final-conversation-kicker{
    margin-bottom:18px;
    font-size:12px;
  }
  .final-conversation-cta h2{
    font-size:clamp(36px,10vw,50px);
  }
  .final-conversation-text{
    margin:22px 0 30px;
    font-size:17px;
  }
  .final-conversation-button{
    width:100%;
  }
}


/* ==========================================================
   v3.1.3 — CTA HIERARCHY
   Primary action = Liliana red. Secondary = white/red outline.
   ========================================================== */
.hero-cta-primary{
  order:1!important;
  background:#C1040B!important;
  border:2px solid #C1040B!important;
  color:#fff!important;
}
.hero-cta-secondary{
  order:2!important;
  background:#fff!important;
  border:2px solid #C1040B!important;
  color:#C1040B!important;
}
.hero-cta-primary:hover,
.hero-cta-primary:focus{
  background:#DC9704!important;
  border-color:#DC9704!important;
  color:#fff!important;
}
.hero-cta-secondary:hover,
.hero-cta-secondary:focus{
  background:#C1040B!important;
  border-color:#C1040B!important;
  color:#fff!important;
}


/* ==========================================================
   v3.1.4 — PERMANENT HEADER / MENU
   Header stays visible while scrolling on desktop and mobile.
   ========================================================== */
.site-header,
header.site-header{
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  background:#fff!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}
.site-header.is-hidden,
.site-header.header-hidden,
.site-header.hide,
header.site-header.is-hidden{
  transform:none!important;
  top:0!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:800px){
  .site-header,
  header.site-header{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    background:#fff!important;
    transform:none!important;
  }
}
\n\n/* v3.1.5 — Philosophy photography / restrained Polaroid treatment */
.places .polaroids{align-items:start;gap:48px}
.places .polaroid{position:relative}
.places .polaroid:nth-child(1){transform:rotate(-1.35deg)}
.places .polaroid:nth-child(2){transform:rotate(.9deg);margin-top:8px}
.places .polaroid:nth-child(3){transform:rotate(-.65deg);margin-top:2px}
.places .polaroid-img{
  height:auto!important;aspect-ratio:4/3;background:#fff!important;
  border:12px solid #fff!important;border-bottom-width:38px!important;
  box-shadow:0 12px 26px rgba(0,0,0,.12)!important;overflow:hidden;
}
.places .polaroid-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.places .polaroid h3{margin-top:28px}
@media(max-width:900px){
 .places .polaroids{grid-template-columns:1fr!important;gap:52px!important}
 .places .polaroid,.places .polaroid:nth-child(1),.places .polaroid:nth-child(2),.places .polaroid:nth-child(3){transform:none!important;margin:0 auto!important;width:min(100%,540px)}
 .places .polaroid-img{aspect-ratio:4/3!important;border-width:10px!important;border-bottom-width:32px!important}
}

/* v3.1.6 — Consistent image corners across Home (Polaroids intentionally excluded) */
:root{--viajes-image-radius:8px}

/* Standard homepage photography */
.locked-hero-img,
.destination-grid .destination,
.featured.featured-full-picture .featured-full-picture-img,
.locked-private .locked-two article > img,
.locked-business-photo,
.about > img,
.about > picture,
.about > picture img{
  border-radius:var(--viajes-image-radius)!important;
}

/* Keep image content clipped cleanly at rounded destination/card edges */
.destination-grid .destination,
.about > picture{
  overflow:hidden!important;
}

/* Polaroids deliberately remain square-cornered */
.places .polaroid,
.places .polaroid-img,
.places .polaroid-img img{
  border-radius:0!important;
}

/* =========================================================
   v3.1.7 DESKTOP WHATSAPP ICON — AUTHORITATIVE
   Desktop: proper WhatsApp mark inside the existing Liliana-red circle.
   Mobile: retain the approved text pill and hide the icon.
   ========================================================= */
.whatsapp .whatsapp-icon{
  width:29px;
  height:29px;
  display:block;
  color:#fff;
}
@media (max-width:900px){
  .whatsapp .whatsapp-icon{display:none!important;}
}


/* ==========================================================
   v3.1.8 — HEADER ALWAYS VISIBLE
   Use fixed positioning rather than sticky so the menu cannot
   scroll away because of ancestor overflow/layout behavior.
   ========================================================== */
:root{
  --lwv-header-height:96px;
}
html{
  scroll-padding-top:var(--lwv-header-height);
}
body{
  padding-top:var(--lwv-header-height) !important;
}
.site-header,
header.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--lwv-header-height) !important;
  min-height:var(--lwv-header-height) !important;
  max-height:var(--lwv-header-height) !important;
  z-index:99999 !important;
  background:#fff !important;
  transform:none !important;
  translate:none !important;
  visibility:visible !important;
  opacity:1 !important;
}
.site-header.is-hidden,
.site-header.header-hidden,
.site-header.hide,
header.site-header.is-hidden{
  top:0 !important;
  transform:none !important;
  translate:none !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media(max-width:900px){
  :root{
    --lwv-header-height:76px;
  }
  .site-header,
  header.site-header{
    height:var(--lwv-header-height) !important;
    min-height:var(--lwv-header-height) !important;
    max-height:var(--lwv-header-height) !important;
  }
}


/* ==========================================================
   v3.1.9 — MOBILE HOW IT WORKS
   Separate number and title vertically. No overlap/circle.
   Desktop remains unchanged.
   ========================================================== */
@media (max-width: 700px){
  .steps,
  .how-steps,
  .process-steps{
    display:block !important;
  }

  .step,
  .how-step,
  .process-step{
    position:relative !important;
    display:block !important;
    width:100% !important;
    padding:28px 0 30px !important;
    min-height:0 !important;
  }

  .step-num,
  .step-number,
  .how-step-number,
  .process-number{
    position:static !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    margin:0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#DC9704 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
    transform:none !important;
  }

  .step-title,
  .how-step-title,
  .process-title{
    display:block !important;
    margin:0 0 12px !important;
    padding:0 !important;
    color:#C1040B !important;
    line-height:1.08 !important;
    transform:none !important;
  }

  .step p,
  .how-step p,
  .process-step p{
    margin:0 !important;
  }
}


/* ==========================================================
   v3.2.0 — LANGUAGES + ASK LILIANA: ONE CLOSING ZONE
   Same warm background, compact language presentation,
   responsive desktop row -> mobile stack.
   ========================================================== */
.contact-zone{
  background:var(--cream) !important;
  padding:76px 8vw 0 !important;
}
.contact-zone .languages{
  max-width:1180px !important;
  margin:0 auto !important;
  background:transparent !important;
  border-radius:0 !important;
  display:grid !important;
  grid-template-columns:1.55fr repeat(3,1fr) !important;
  align-items:center !important;
}
.contact-zone .languages>div{
  padding:20px 28px !important;
  border-right:1px solid rgba(220,151,4,.28) !important;
  border-bottom:0 !important;
  background:transparent !important;
  text-align:center !important;
}
.contact-zone .languages>div:first-child{text-align:left !important;padding-left:0 !important;}
.contact-zone .languages>div:last-child{border-right:0 !important;padding-right:0 !important;}
.contact-zone .languages>div:first-child>b{color:#C1040B !important;letter-spacing:.10em !important;}
.contact-zone .languages em{display:block !important;color:#C1040B !important;font:28px Georgia,serif !important;margin:7px 0 !important;}
.contact-zone .language-line{
  max-width:1180px !important;
  margin:34px auto 0 !important;
  padding:0 0 42px !important;
  text-align:center !important;
  font:italic 24px Georgia,serif !important;
  color:#3F3F3F !important;
}
.contact-zone-divider{max-width:1180px;margin:0 auto;border-top:1px solid rgba(220,151,4,.28);}
.contact-zone .ask{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:64px 0 90px !important;
  background:transparent !important;
}
@media(max-width:900px){
  .contact-zone{padding:54px 36px 0 !important;}
  .contact-zone .languages{grid-template-columns:repeat(3,1fr) !important;gap:0 !important;}
  .contact-zone .languages>div:first-child{grid-column:1/-1 !important;text-align:center !important;padding:0 0 28px !important;border-right:0 !important;}
  .contact-zone .languages>div:not(:first-child){padding:18px 10px !important;}
  .contact-zone .ask{padding:52px 0 70px !important;grid-template-columns:1fr !important;gap:34px !important;}
}
@media(max-width:560px){
  .contact-zone{padding:46px 36px 0 !important;}
  .contact-zone .languages{grid-template-columns:1fr !important;}
  .contact-zone .languages>div{border-right:0 !important;border-bottom:1px solid rgba(220,151,4,.22) !important;padding:18px 0 !important;}
  .contact-zone .languages>div:first-child{grid-column:auto !important;padding:0 0 25px !important;}
  .contact-zone .languages>div:last-child{border-bottom:0 !important;}
  .contact-zone .language-line{font-size:22px !important;line-height:1.3 !important;margin-top:28px !important;padding-bottom:38px !important;}
  .contact-zone .ask{padding-top:44px !important;}
}

/* v3.2.0 also locks the intended mobile roadmap layout to actual markup */
@media(max-width:700px){
  .roadmap article{display:block !important;text-align:left !important;padding:26px 0 !important;border-bottom:1px solid rgba(220,151,4,.25) !important;}
  .roadmap article>span{display:block !important;position:static !important;width:auto !important;height:auto !important;border:0 !important;border-radius:0 !important;color:#DC9704 !important;font:700 14px/1.2 Arial,sans-serif !important;letter-spacing:.12em !important;margin:0 0 8px !important;}
  .roadmap article>h3{margin:0 0 10px !important;color:#C1040B !important;line-height:1.08 !important;}
  .roadmap article>p{margin:0 !important;}
}


/* ==========================================================
   v3.2.1 — DESTINATIONS OVERVIEW PAGE
   Images first -> personal story -> red action area.
   Desktop grid -> mobile stack. No polaroids, no image zoom.
   ========================================================== */
.destinations-page{background:#fff;color:#3F3F3F}
.destinations-page-intro,
.destinations-page-grid,
.destinations-story{
  width:min(1320px,calc(100% - 10vw));
  margin-left:auto;margin-right:auto;
}
.destinations-page-intro{padding:clamp(58px,7vw,96px) 0 clamp(34px,4vw,54px)}
.destinations-page-intro .eyebrow,
.destinations-story .eyebrow{color:#DC9704!important}
.destinations-page-intro h1{
  margin:10px 0 0;color:#C1040B!important;
  font:400 clamp(48px,6vw,82px)/.98 Georgia,serif;
  letter-spacing:-.035em;
}
.destinations-page-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
}
.destination-entry{
  position:relative;display:block;overflow:hidden;border-radius:8px;
  min-height:390px;background:#eee;text-decoration:none!important;color:#fff!important;
}
.destination-entry-featured{grid-column:1/-1;min-height:520px}
.destination-entry img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  border-radius:8px;transform:none!important;transition:none!important;
}
.destination-entry-shade{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.66) 100%);
}
.destination-entry-copy{
  position:absolute;left:clamp(24px,3vw,42px);right:clamp(24px,3vw,42px);bottom:clamp(24px,3vw,38px);z-index:2;
}
.destination-entry-copy strong{
  display:block;color:#fff!important;font:400 clamp(34px,4vw,54px)/1 Georgia,serif;
}
.destination-entry-copy span{display:block;max-width:560px;margin-top:10px;color:#fff!important;font-size:16px;line-height:1.45}
.destination-entry-copy em{
  display:inline-block;margin-top:15px;color:#fff!important;font:700 12px/1 Arial,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;font-style:normal;
}
.destinations-story{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(42px,7vw,110px);
  padding:clamp(72px,8vw,120px) 0;
}
.destinations-story-heading h2{
  margin:12px 0 0;color:#C1040B!important;font:400 clamp(42px,4.5vw,66px)/1.02 Georgia,serif;
}
.destinations-story-copy{font-size:17px;line-height:1.72}
.destinations-story-copy p{margin:0 0 22px}.destinations-story-copy strong{color:#3F3F3F}
.destinations-cta{padding:0 5vw clamp(62px,7vw,100px);background:#fff}
.destinations-cta>div{
  width:min(1200px,100%);margin:0 auto;padding:clamp(52px,6vw,82px) clamp(36px,6vw,72px);
  background:#C1040B;color:#fff;
}
.destinations-cta span{color:#DC9704!important;font:800 13px/1.2 Arial,sans-serif;letter-spacing:.18em}
.destinations-cta h2{margin:18px 0 0;color:#fff!important;font:700 clamp(40px,4.5vw,64px)/1.02 Arial,sans-serif;letter-spacing:-.035em}
.destinations-cta p{margin:20px 0 30px;color:#fff!important;font-size:18px}
.destinations-cta a{
  display:inline-flex;min-height:52px;align-items:center;padding:0 26px;background:#fff;color:#C1040B!important;
  border:2px solid #fff;text-decoration:none!important;font:800 13px/1 Arial,sans-serif;letter-spacing:.08em;
}
.destinations-cta a:hover{background:#DC9704;color:#fff!important;border-color:#DC9704}
@media(max-width:800px){
  .destinations-page-intro,.destinations-page-grid,.destinations-story{width:calc(100% - 40px)}
  .destinations-page-intro{padding:48px 0 30px}
  .destinations-page-intro h1{font-size:clamp(46px,13vw,62px)}
  .destinations-page-grid{grid-template-columns:1fr;gap:16px}
  .destination-entry,.destination-entry-featured{grid-column:1;min-height:0;aspect-ratio:4/3}
  .destination-entry img{object-fit:cover;object-position:center}
  .destination-entry-copy strong{font-size:clamp(34px,10vw,48px)}
  .destination-entry-copy span{font-size:15px}
  .destinations-story{grid-template-columns:1fr;gap:30px;padding:68px 0}
  .destinations-story-heading h2{font-size:clamp(40px,11vw,54px)}
  .destinations-story-copy{font-size:16px;line-height:1.68}
  .destinations-cta{padding:0 20px 62px}
  .destinations-cta>div{padding:44px 24px 48px}
  .destinations-cta a{width:100%;justify-content:center}
}


/* ==========================================================
   v3.2.2 — PERU
   Country page = travel/product content, not repeated brand story.
   ========================================================== */
.country-page{background:#fff;color:#3F3F3F}
.country-hero,.peru-feature,.peru-trips{
  width:min(1320px,calc(100% - 10vw));margin-left:auto;margin-right:auto
}
.country-hero{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(42px,6vw,90px);align-items:center;padding:clamp(54px,7vw,96px) 0
}
.country-hero-copy .eyebrow,.section-heading .eyebrow,.peru-feature .eyebrow{color:#DC9704!important}
.country-hero h1,.section-heading h2,.peru-feature h2{
  color:#C1040B!important;font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em
}
.country-hero h1{font-size:clamp(54px,6.5vw,88px);line-height:.98;margin:12px 0 24px}
.country-hero-copy p{font-size:19px;line-height:1.65;max-width:580px}
.country-hero-image img,.peru-feature-image img{
  display:block;width:100%;height:auto;object-fit:contain;border-radius:8px
}
.peru-trips{padding:clamp(38px,5vw,70px) 0 clamp(80px,9vw,130px)}
.section-heading{max-width:780px;margin-bottom:42px}
.section-heading h2{font-size:clamp(42px,5vw,68px);line-height:1.02;margin:12px 0 0}
.trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trip-card{
  min-height:215px;padding:30px;display:flex;flex-direction:column;
  border:1px solid rgba(63,63,63,.16);border-radius:8px;background:#fff
}
.trip-card span{color:#DC9704;font:700 12px/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.trip-card h3{color:#C1040B!important;font:400 31px/1.08 Georgia,serif;margin:13px 0 24px}
.trip-card a{
  margin-top:auto;color:#C1040B!important;text-decoration:none!important;
  font:800 12px/1 Arial,sans-serif;letter-spacing:.07em
}
.peru-feature{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(40px,6vw,88px);align-items:center;padding:0 0 clamp(90px,9vw,130px)
}
.peru-feature-copy h2{font-size:clamp(48px,5vw,72px);line-height:1;margin:12px 0 18px}
.journey-date{font-weight:700;color:#C1040B}
.peru-feature-copy p{font-size:17px;line-height:1.65}
.peru-feature-copy .button-primary{
  display:inline-flex;margin-top:16px;min-height:52px;align-items:center;padding:0 25px;
  background:#C1040B;color:#fff!important;text-decoration:none!important;
  font:800 12px/1 Arial,sans-serif;letter-spacing:.08em
}
.country-cta{padding:0 5vw clamp(62px,7vw,100px)}
.country-cta>div{
  width:min(1200px,100%);margin:auto;background:#C1040B;color:#fff;
  padding:clamp(52px,6vw,82px) clamp(36px,6vw,72px)
}
.country-cta span{color:#DC9704!important;font:800 13px/1.2 Arial,sans-serif;letter-spacing:.18em}
.country-cta h2{color:#fff!important;font:700 clamp(40px,4.5vw,64px)/1.02 Arial,sans-serif;margin:18px 0 0}
.country-cta p{color:#fff!important;font-size:18px;margin:20px 0 30px}
.country-cta a{
  display:inline-flex;min-height:52px;align-items:center;padding:0 26px;background:#fff;color:#C1040B!important;
  text-decoration:none!important;font:800 13px/1 Arial,sans-serif;letter-spacing:.08em
}
@media(max-width:900px){.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
  .country-hero,.peru-feature,.peru-trips{width:calc(100% - 40px)}
  .country-hero{display:flex;flex-direction:column-reverse;gap:30px;padding:32px 0 64px;align-items:stretch}
  .country-hero h1{font-size:clamp(50px,14vw,66px)}
  .country-hero-copy p{font-size:17px}
  .peru-trips{padding:12px 0 70px}
  .section-heading{margin-bottom:28px}
  .section-heading h2{font-size:clamp(40px,11vw,54px)}
  .trip-grid{grid-template-columns:1fr;gap:12px}
  .trip-card{min-height:175px;padding:25px}
  .peru-feature{display:flex;flex-direction:column;gap:30px;align-items:stretch;padding-bottom:72px}
  .peru-feature-copy h2{font-size:clamp(46px,13vw,62px)}
  .country-cta{padding:0 20px 62px}
  .country-cta>div{padding:44px 24px 48px}
  .country-cta a{width:100%;justify-content:center}
}

/* v3.2.3 Peru — actual Discover Peru journeys */
.journey-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.journey-option{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:36px;display:flex;flex-direction:column;min-height:390px}
.journey-option.featured{grid-column:1/-1;min-height:340px}
.journey-option>span{color:#DC9704;font:800 12px Arial,sans-serif;letter-spacing:.13em}
.journey-option h3{color:#C1040B!important;font:400 clamp(32px,3vw,45px)/1.05 Georgia,serif;margin:14px 0}
.journey-option strong{font-size:17px}.journey-option p{line-height:1.65}.journey-option .route{font-weight:600;margin-top:22px}
.journey-option a{margin-top:auto;padding-top:20px;color:#C1040B!important;text-decoration:none;font:800 12px Arial,sans-serif;letter-spacing:.07em}
.journey-itinerary{width:min(1320px,calc(100% - 10vw));margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,7vw,110px);padding:0 0 clamp(90px,9vw,135px)}
.itinerary-heading{position:sticky;top:120px;align-self:start}.itinerary-heading .eyebrow{color:#DC9704!important}
.itinerary-heading h2{color:#C1040B!important;font:400 clamp(42px,4.7vw,66px)/1.02 Georgia,serif;margin:12px 0}
.itinerary-day{display:grid;grid-template-columns:110px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid rgba(63,63,63,.14)}
.itinerary-day time{color:#DC9704;font:800 12px/1.4 Arial,sans-serif}.itinerary-day h3{color:#C1040B!important;font:400 25px Georgia,serif;margin:0 0 7px}.itinerary-day p{margin:0;line-height:1.55}.journey-note{font-size:13px;font-style:italic}
@media(max-width:800px){.journey-options{grid-template-columns:1fr}.journey-option.featured{grid-column:1}.journey-option{min-height:0;padding:25px}.journey-itinerary{width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;padding-bottom:72px}.itinerary-heading{position:static}.itinerary-day{grid-template-columns:1fr;gap:7px}}

/* v3.2.4 England */
.england-trips{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(35px,5vw,70px) 0 clamp(90px,9vw,135px)}
.england-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.england-trip{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;min-height:390px;background:#fff}.england-trip>span{color:#DC9704!important;font:800 12px Arial,sans-serif;letter-spacing:.13em}.england-trip h3{color:#C1040B!important;font:400 clamp(32px,3vw,45px)/1.05 Georgia,serif;margin:14px 0 16px}.england-trip strong{font-size:16px;line-height:1.5}.england-trip p{font-size:16px;line-height:1.65;margin:22px 0}.england-trip a{margin-top:auto;color:#C1040B!important;text-decoration:none!important;font:800 12px Arial,sans-serif;letter-spacing:.08em}
@media(max-width:800px){.england-trips{width:calc(100% - 40px);padding:10px 0 72px}.england-trip-grid{grid-template-columns:1fr}.england-trip{min-height:0;padding:25px}}

/* v3.2.5 — Spain country page */
.spain-trips{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(35px,5vw,70px) 0 clamp(90px,9vw,135px)}
.spain-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spain-trip{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;min-height:390px;background:#fff}
.spain-trip>span{color:#DC9704!important;font:800 12px/1.2 Arial,sans-serif;letter-spacing:.13em}
.spain-trip h3{color:#C1040B!important;font:400 clamp(32px,3vw,45px)/1.05 Georgia,serif;margin:14px 0 16px}
.spain-trip strong{font-size:16px;line-height:1.5;color:#3F3F3F}
.spain-trip p{font-size:16px;line-height:1.65;margin:22px 0}
.spain-trip a{margin-top:auto;padding-top:18px;color:#C1040B!important;text-decoration:none!important;font:800 12px/1 Arial,sans-serif;letter-spacing:.08em}
@media(max-width:800px){.spain-trips{width:calc(100% - 40px);padding:10px 0 72px}.spain-trip-grid{grid-template-columns:1fr;gap:12px}.spain-trip{min-height:0;padding:25px}}

/* v3.2.6 — Italy country page */
.italy-trips{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(35px,5vw,70px) 0 clamp(90px,9vw,135px)}
.italy-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.italy-trip{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;min-height:390px;background:#fff}
.italy-trip>span{color:#DC9704!important;font:800 12px/1.2 Arial,sans-serif;letter-spacing:.13em}
.italy-trip h3{color:#C1040B!important;font:400 clamp(32px,3vw,45px)/1.05 Georgia,serif;margin:14px 0 16px}
.italy-trip strong{font-size:16px;line-height:1.5;color:#3F3F3F}
.italy-trip p{font-size:16px;line-height:1.65;margin:22px 0}
.italy-trip a{margin-top:auto;padding-top:18px;color:#C1040B!important;text-decoration:none!important;font:800 12px/1 Arial,sans-serif;letter-spacing:.08em}
@media(max-width:800px){.italy-trips{width:calc(100% - 40px);padding:10px 0 72px}.italy-trip-grid{grid-template-columns:1fr;gap:12px}.italy-trip{min-height:0;padding:25px}}

/* v3.2.7 — Switzerland country page */
.switzerland-trips{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(35px,5vw,70px) 0 clamp(90px,9vw,135px)}
.switzerland-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.switzerland-trip{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;min-height:390px;background:#fff}
.switzerland-trip>span{color:#DC9704!important;font:800 12px/1.2 Arial,sans-serif;letter-spacing:.13em}
.switzerland-trip h3{color:#C1040B!important;font:400 clamp(32px,3vw,45px)/1.05 Georgia,serif;margin:14px 0 16px}
.switzerland-trip strong{font-size:16px;line-height:1.5;color:#3F3F3F}
.switzerland-trip p{font-size:16px;line-height:1.65;margin:22px 0}
.switzerland-trip a{margin-top:auto;padding-top:18px;color:#C1040B!important;text-decoration:none!important;font:800 12px/1 Arial,sans-serif;letter-spacing:.08em}
@media(max-width:800px){.switzerland-trips{width:calc(100% - 40px);padding:10px 0 72px}.switzerland-trip-grid{grid-template-columns:1fr;gap:12px}.switzerland-trip{min-height:0;padding:25px}}

/* v3.2.8 Services overview */
.services-intro,.services-overview{width:min(1320px,calc(100% - 10vw));margin:auto}.services-intro{padding:clamp(58px,7vw,96px) 0 clamp(42px,5vw,68px)}.services-intro .eyebrow,.service-overview-card>span{color:#DC9704!important}.services-intro h1{color:#C1040B!important;font:400 clamp(50px,6vw,82px)/.98 Georgia,serif;margin:10px 0 24px}.services-intro p{max-width:760px;font-size:19px;line-height:1.65}.services-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:clamp(90px,9vw,135px)}.service-overview-card{min-height:350px;padding:clamp(30px,3.5vw,48px);display:flex;flex-direction:column;border:1px solid rgba(63,63,63,.16);border-radius:8px;text-decoration:none!important;color:#3F3F3F!important}.service-overview-card>span{font:800 12px Arial,sans-serif;letter-spacing:.13em}.service-overview-card h2{color:#C1040B!important;font:400 clamp(34px,3.5vw,50px)/1.04 Georgia,serif;margin:16px 0 18px}.service-overview-card p{font-size:17px;line-height:1.65}.service-overview-card strong{margin-top:auto;color:#C1040B!important;font:800 12px Arial,sans-serif;letter-spacing:.08em}
@media(max-width:800px){.services-intro,.services-overview{width:calc(100% - 40px)}.services-intro{padding:48px 0 36px}.services-overview{grid-template-columns:1fr;padding-bottom:72px}.service-overview-card{min-height:250px;padding:26px}}

/* v3.2.9 — Private Travel */
.private-detail-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,90px);width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(55px,7vw,100px) 0}
.private-detail-copy h1{color:#C1040B!important;font:400 clamp(52px,6vw,84px)/.96 Georgia,serif;margin:10px 0 30px;letter-spacing:-.035em}
.private-detail-copy h2{font-size:21px;line-height:1.45;color:#3F3F3F;margin:0 0 20px}
.private-detail-copy p{font-size:17px;line-height:1.7;max-width:620px}
.private-detail-image img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:8px}
.private-built{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}
.private-built header{max-width:760px;margin-bottom:50px}.private-built header h2,.private-contact-point h2{color:#C1040B!important;font:400 clamp(38px,4.5vw,60px)/1.04 Georgia,serif;margin:12px 0}
.private-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.private-principles article{background:#fff;padding:30px;border-radius:8px;min-height:245px}
.private-principles article>span{color:#DC9704;font-weight:800;font-size:12px;letter-spacing:.12em}
.private-principles h3{color:#C1040B!important;font:400 30px/1.1 Georgia,serif;margin:24px 0 15px}
.private-principles p{font-size:16px;line-height:1.6}
.private-contact-point{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(80px,9vw,130px) 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.private-contact-point p{font-size:18px;line-height:1.7}
@media(max-width:800px){
 .private-detail-hero{display:flex;flex-direction:column;width:calc(100% - 40px);gap:30px;padding:25px 0 65px}
 .private-detail-image{order:-1}.private-detail-copy h1{font-size:clamp(50px,14vw,66px)}
 .private-built{padding:65px 20px}.private-built header{margin-bottom:30px}
 .private-principles{grid-template-columns:1fr;gap:12px}.private-principles article{min-height:0;padding:25px}
 .private-contact-point{width:calc(100% - 40px);padding:70px 0;grid-template-columns:1fr;gap:25px}
}

/* v3.2.10 — Groups & Celebrations */
.groups-detail-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,90px);width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(55px,7vw,100px) 0}
.groups-detail-copy h1{color:#C1040B!important;font:400 clamp(52px,6vw,84px)/.96 Georgia,serif;margin:10px 0 30px;letter-spacing:-.035em}
.groups-detail-copy h2{font-size:21px;line-height:1.45;color:#3F3F3F;margin:0 0 20px}
.groups-detail-copy p{font-size:17px;line-height:1.7;max-width:620px}
.groups-detail-image img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:8px}
.groups-reasons{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}
.groups-reasons header{max-width:820px;margin-bottom:50px}.groups-reasons header h2,.groups-contact-point h2{color:#C1040B!important;font:400 clamp(38px,4.5vw,60px)/1.04 Georgia,serif;margin:12px 0}
.groups-reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.groups-reason-grid article{background:#fff;padding:30px;border-radius:8px;min-height:270px}
.groups-reason-grid article>span{color:#DC9704;font-weight:800;font-size:12px;letter-spacing:.12em}
.groups-reason-grid h3{color:#C1040B!important;font:400 30px/1.1 Georgia,serif;margin:24px 0 15px}
.groups-reason-grid p{font-size:16px;line-height:1.6}
.groups-contact-point{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(80px,9vw,130px) 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}
.groups-contact-point p{font-size:18px;line-height:1.7}
@media(max-width:800px){
 .groups-detail-hero{display:flex;flex-direction:column;width:calc(100% - 40px);gap:30px;padding:25px 0 65px}
 .groups-detail-image{order:-1}.groups-detail-copy h1{font-size:clamp(50px,14vw,66px)}
 .groups-reasons{padding:65px 20px}.groups-reasons header{margin-bottom:30px}
 .groups-reason-grid{grid-template-columns:1fr;gap:12px}.groups-reason-grid article{min-height:0;padding:25px}
 .groups-contact-point{width:calc(100% - 40px);padding:70px 0;grid-template-columns:1fr;gap:25px}
}

/* v3.2.11 Business Travel */
.bt-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,90px);width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(55px,7vw,100px) 0}.bt-hero h1{color:#C1040B!important;font:400 clamp(50px,5.7vw,80px)/.97 Georgia,serif;margin:10px 0 30px}.bt-hero h2{font-size:21px}.bt-hero p{font-size:17px;line-height:1.7;max-width:620px}.bt-img img{width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:8px}.bt-services{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}.bt-services header{max-width:880px;margin-bottom:50px}.bt-services header h2,.bt-contact h2{color:#C1040B!important;font:400 clamp(38px,4.5vw,60px)/1.04 Georgia,serif;margin:12px 0}.bt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.bt-grid article{background:#fff;padding:30px;border-radius:8px;min-height:285px}.bt-grid article>span{color:#DC9704;font-weight:800;font-size:12px}.bt-grid h3{color:#C1040B!important;font:400 29px/1.1 Georgia,serif;margin:24px 0 15px}.bt-grid p{font-size:16px;line-height:1.6}.bt-contact{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(80px,9vw,130px) 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}.bt-contact p{font-size:18px;line-height:1.7}@media(max-width:800px){.bt-hero{display:flex;flex-direction:column;width:calc(100% - 40px);gap:30px;padding:25px 0 65px}.bt-img{order:-1}.bt-hero h1{font-size:clamp(47px,13vw,64px)}.bt-services{padding:65px 20px}.bt-grid{grid-template-columns:1fr;gap:12px}.bt-grid article{min-height:0;padding:25px}.bt-contact{width:calc(100% - 40px);padding:70px 0;grid-template-columns:1fr;gap:25px}}

/* v3.2.12 — Teams & Incentives */
.ti-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,90px);width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(55px,7vw,100px) 0}
.ti-copy h1{color:#C1040B!important;font:400 clamp(50px,5.7vw,80px)/.97 Georgia,serif;margin:10px 0 30px;letter-spacing:-.035em}
.ti-copy h2{font-size:21px;line-height:1.45;color:#3F3F3F;margin:0 0 20px}.ti-copy p{font-size:17px;line-height:1.7;max-width:620px}
.ti-image img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;border-radius:8px}
.ti-purpose{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}
.ti-purpose header{max-width:880px;margin-bottom:50px}.ti-purpose header h2,.ti-contact h2{color:#C1040B!important;font:400 clamp(38px,4.5vw,60px)/1.04 Georgia,serif;margin:12px 0}
.ti-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ti-grid article{background:#fff;padding:30px;border-radius:8px;min-height:275px}
.ti-grid article>span{color:#DC9704;font-weight:800;font-size:12px;letter-spacing:.12em}.ti-grid h3{color:#C1040B!important;font:400 29px/1.1 Georgia,serif;margin:24px 0 15px}.ti-grid p{font-size:16px;line-height:1.6}
.ti-contact{width:min(1320px,calc(100% - 10vw));margin:auto;padding:clamp(80px,9vw,130px) 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center}.ti-contact p{font-size:18px;line-height:1.7}
@media(max-width:800px){.ti-hero{display:flex;flex-direction:column;width:calc(100% - 40px);gap:30px;padding:25px 0 65px}.ti-image{order:-1}.ti-copy h1{font-size:clamp(47px,13vw,64px)}.ti-purpose{padding:65px 20px}.ti-purpose header{margin-bottom:30px}.ti-grid{grid-template-columns:1fr;gap:12px}.ti-grid article{min-height:0;padding:25px}.ti-contact{width:calc(100% - 40px);padding:70px 0;grid-template-columns:1fr;gap:25px}}

/* v3.2.13 — About Liliana & Nicolas */
.about-new-intro,.about-people,.about-five,.about-connected{width:min(1320px,calc(100% - 10vw));margin:auto}
.about-new-intro{padding:clamp(60px,8vw,110px) 0}.about-new-intro h1{color:#C1040B!important;font:400 clamp(52px,6vw,84px)/.96 Georgia,serif;margin:10px 0 30px}.about-new-intro h2{max-width:850px;font-size:22px;line-height:1.45}.about-new-intro p{max-width:820px;font-size:17px;line-height:1.7}
.about-people{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:clamp(75px,8vw,120px)}.about-people article{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(30px,4vw,52px)}.about-people h2,.about-five h2,.about-connected h2,.about-approach h2{color:#C1040B!important;font:400 clamp(36px,4vw,56px)/1.04 Georgia,serif;margin:12px 0 24px}.about-people p,.about-five p,.about-connected p{font-size:18px;line-height:1.7}
.about-five{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);padding:clamp(75px,8vw,115px) 0;border-top:1px solid rgba(63,63,63,.14)}.about-country-line{color:#C1040B}
.about-connected{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);padding:clamp(75px,8vw,120px) 0}
.about-approach{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}.about-approach header{margin-bottom:45px}.about-approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.about-approach-grid article{background:#fff;padding:30px;border-radius:8px;min-height:260px}.about-approach-grid article>span{color:#DC9704;font-weight:800;font-size:12px}.about-approach-grid h3{color:#C1040B!important;font:400 29px/1.1 Georgia,serif;margin:24px 0 15px}.about-approach-grid p{font-size:16px;line-height:1.6}
@media(max-width:800px){.about-new-intro,.about-people,.about-five,.about-connected{width:calc(100% - 40px)}.about-new-intro{padding:48px 0 55px}.about-new-intro h1{font-size:clamp(49px,13vw,64px)}.about-people,.about-five,.about-connected{grid-template-columns:1fr;gap:18px}.about-people{padding-bottom:65px}.about-people article{padding:26px}.about-five,.about-connected{padding:65px 0}.about-approach{padding:65px 20px}.about-approach-grid{grid-template-columns:1fr;gap:12px}.about-approach-grid article{min-height:0;padding:25px}}

/* v3.2.14 — Contact */
.contact-intro,.contact-channels,.contact-language{width:min(1320px,calc(100% - 10vw));margin:auto}
.contact-intro{padding:clamp(60px,8vw,110px) 0}.contact-intro h1{color:#C1040B!important;font:400 clamp(52px,6vw,84px)/.96 Georgia,serif;margin:10px 0 30px}.contact-intro h2{font-size:22px;line-height:1.45}.contact-intro p{max-width:760px;font-size:18px;line-height:1.7}
.contact-channels{padding:0 0 clamp(85px,9vw,130px)}.contact-channels header,.contact-tell header{margin-bottom:40px}.contact-channels header h2,.contact-tell h2,.contact-language h2{color:#C1040B!important;font:400 clamp(38px,4.5vw,60px)/1.04 Georgia,serif;margin:12px 0}
.contact-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-channel-grid article{border:1px solid rgba(63,63,63,.16);border-radius:8px;padding:clamp(30px,4vw,50px);min-height:300px;display:flex;flex-direction:column}.contact-channel-grid article>span{color:#DC9704;font:800 12px Arial,sans-serif;letter-spacing:.12em}.contact-channel-grid h3{color:#C1040B!important;font:400 32px/1.1 Georgia,serif;margin:22px 0 14px}.contact-channel-grid p{font-size:17px;line-height:1.65}.contact-channel-grid a{margin-top:auto;color:#C1040B!important;text-decoration:none!important;font-weight:800;font-size:12px;letter-spacing:.07em}
.contact-tell{padding:clamp(75px,8vw,120px) max(5vw,calc((100vw - 1320px)/2));background:#faf7f1}.contact-tell-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-tell-grid article{background:#fff;border-radius:8px;padding:30px;min-height:230px}.contact-tell-grid article>span{color:#DC9704;font-weight:800;font-size:12px}.contact-tell-grid h3{color:#C1040B!important;font:400 30px/1.1 Georgia,serif;margin:24px 0 15px}.contact-tell-grid p{font-size:16px;line-height:1.6}
.contact-language{text-align:center;padding:clamp(80px,9vw,130px) 0}.contact-language p{max-width:720px;margin:22px auto 0;font-size:18px;line-height:1.7}
@media(max-width:800px){.contact-intro,.contact-channels,.contact-language{width:calc(100% - 40px)}.contact-intro{padding:48px 0 60px}.contact-intro h1{font-size:clamp(49px,13vw,64px)}.contact-channel-grid{grid-template-columns:1fr;gap:12px}.contact-channel-grid article{min-height:240px;padding:26px}.contact-tell{padding:65px 20px}.contact-tell-grid{grid-template-columns:1fr;gap:12px}.contact-tell-grid article{min-height:0;padding:25px}.contact-language{padding:70px 0}}
