*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cream:#F5EDD8;--cream-light:#FAF5EA;--sub-alt:#ECE2C6;--terra:#8B3A3A;--terra-light:#A84848;
  --slate:#6B8FA8;--dark:#1C1A17;--mid:#332E29;--stone:#5C564B;--border:rgba(139,58,58,0.15);
}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--dark);font-weight:300;overflow-x:hidden;}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 3rem;background:rgba(245,237,216,0.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.nav-logo{display:flex;align-items:center;gap:0.8rem;text-decoration:none;}
.logo-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--terra);}
.logo-sub{font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--stone);display:block;margin-top:0.1rem;}
nav ul{list-style:none;display:flex;gap:2rem;align-items:center;}
nav ul a{color:var(--mid);text-decoration:none;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.65;transition:opacity 0.2s,color 0.2s;}
nav ul a:hover{opacity:1;color:var(--terra);}
.nav-cta{padding:0.5rem 1.3rem;background:var(--terra)!important;color:var(--cream)!important;opacity:1!important;transition:background 0.2s!important;}
.nav-cta:hover{background:var(--terra-light)!important;}

.hero{min-height:100vh;display:flex;align-items:flex-end;padding:0 3rem 5rem;position:relative;overflow:hidden;}
.hero-photo{position:absolute;inset:0;background:url('../img/hero-sunrise-ridge-zermatt.webp') center 62%/cover no-repeat;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,26,23,0.95) 0%,rgba(28,26,23,0.35) 55%,rgba(20,38,55,0.45) 100%);}
.hero-content{position:relative;z-index:3;max-width:680px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.75rem;font-size:0.66rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--slate);margin-bottom:1.8rem;}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--slate);}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,5.8rem);font-weight:300;line-height:1.02;color:var(--cream-light);margin-bottom:1.4rem;}
.hero h1 em{font-style:italic;color:var(--slate);}
.hero-desc{font-size:1.125rem;line-height:1.8;color:rgba(245,237,216,0.92);max-width:480px;margin-bottom:2.8rem;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-fill{line-height:1.35;text-align:center;display:inline-flex;align-items:center;padding:1rem 2rem;background:var(--terra);color:var(--cream);text-decoration:none;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;transition:background 0.2s;}
.btn-fill:hover{background:var(--terra-light);}
.btn-outline{line-height:1.35;text-align:center;display:inline-flex;align-items:center;padding:1rem 2rem;border:1px solid rgba(245,237,216,0.3);color:rgba(245,237,216,0.85);text-decoration:none;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;transition:border-color 0.2s,color 0.2s;}
.btn-outline:hover{border-color:var(--slate);color:var(--slate);}

.band{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);background:var(--cream-light);}
.band-item{padding:1.8rem 2.5rem;border-right:1px solid var(--border);}
.band-item:last-child{border-right:none;}
.band-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--terra);line-height:1;margin-bottom:0.25rem;}
.band-label{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);}

.section{padding:5.5rem 3rem;}
.sec-tag{font-size:0.66rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--terra);margin-bottom:0.7rem;display:flex;align-items:center;gap:0.6rem;}
.sec-tag::before{content:'';width:22px;height:1px;background:var(--terra);}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:300;line-height:1.1;color:var(--dark);}
.alt-ft{display:block;font-family:'Jost',sans-serif;font-style:normal;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--stone);opacity:0.72;margin-top:0.45rem;}
.sec-title em{font-style:italic;color:var(--terra);}

.peaks-intro{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start;margin-bottom:3.5rem;}
.peaks-lead{font-size:1.105rem;line-height:1.85;color:var(--stone);margin-top:1.4rem;}
.peaks-feature{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);}
.peak-card{background:var(--dark);color:var(--cream);position:relative;overflow:hidden;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;}
.peak-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.42;transition:opacity 0.4s;}
.peak-card:hover .peak-photo{opacity:0.58;}
.peak-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,26,23,0.97) 0%,rgba(28,26,23,0.3) 55%,transparent 100%);}
.peak-content{position:relative;z-index:2;padding:2.5rem;}
.peak-region{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--slate);margin-bottom:0.5rem;}
.peak-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--cream-light);line-height:1.1;margin-bottom:0.2rem;}
.peak-alt{font-size:0.905rem;color:rgba(245,237,216,0.72);margin-bottom:1rem;}
.peak-desc{font-size:1.025rem;line-height:1.7;color:rgba(245,237,216,0.8);margin-bottom:1.4rem;max-width:400px;}
.peak-steps{margin-bottom:1.4rem;}
.pstep{display:flex;gap:0.8rem;align-items:flex-start;margin-bottom:0.7rem;}
.pstep-n{width:20px;height:20px;border-radius:50%;background:rgba(107,143,168,0.18);border:1px solid var(--slate);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:var(--slate);flex-shrink:0;margin-top:1px;}
.pstep-t{font-size:0.985rem;line-height:1.55;color:rgba(245,237,216,0.8);}
.pstep-t strong{color:var(--cream-light);font-weight:400;}
.peak-meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.3rem;}
.peak-m{font-size:0.825rem;color:rgba(245,237,216,0.85);}
.peak-m strong{display:block;color:var(--cream-light);font-weight:400;font-size:0.925rem;margin-bottom:0.1rem;}
.peak-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--terra-light);}
.peak-price-label{font-size:0.64rem;letter-spacing:0.08em;color:rgba(245,237,216,0.8);margin-left:0.4rem;}
.peak-note{font-size:0.885rem;color:rgba(245,237,216,0.78);border-top:1px solid rgba(255,255,255,0.06);padding-top:0.7rem;line-height:1.6;margin-top:0.8rem;}

/* PHOTO STRIP */
.photo-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;height:480px;}
.ps-photo{background-size:cover;background-position:center;position:relative;overflow:hidden;}
.route-photos{margin-top:2rem;display:grid;gap:0.9rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.route-photos.stack{grid-template-columns:1fr;}
.route-photo{aspect-ratio:3/2;background-size:cover;background-position:center;border:1px solid var(--border);}
.route-photo-cap{font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone);margin-top:0.7rem;display:block;}

.ps-photo:hover .ps-overlay{opacity:1;}
.ps-overlay{position:absolute;inset:0;background:rgba(28,26,23,0.35);opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:1.5rem;}
.ps-caption{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,237,216,0.8);}

/* TOURS */
.tours-intro{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start;margin-bottom:3.5rem;}
.tours-lead{font-size:1.105rem;line-height:1.85;color:var(--stone);margin-top:1.4rem;}
.tour-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:2.5rem;}
.tab-btn{padding:0.7rem 1.4rem;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;border:none;background:transparent;color:var(--stone);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.2s;font-family:'Jost',sans-serif;}
.tab-btn.active{color:var(--terra);border-bottom-color:var(--terra);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1px;background:var(--border);align-items:stretch;}
.tab-panel.active .tours-grid{border:1px solid var(--border);}
.tour-card{background:var(--cream-light);padding:2rem;position:relative;overflow:hidden;transition:background 0.25s;display:flex;flex-direction:column;}
a.tour-card{text-decoration:none;color:inherit;}
.tc-more{margin-top:auto;padding-top:1.4rem;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--terra);display:inline-flex;align-items:center;gap:0.5rem;}
.tc-more::after{content:'→';font-size:0.85rem;letter-spacing:0;transition:transform 0.25s;}
.tour-card:hover .tc-more::after{transform:translateX(4px);}
a.tour-card:focus-visible{outline:2px solid var(--terra);outline-offset:-2px;}
.tour-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
.tour-card:hover{background:var(--cream);}
.tour-card:hover::after{transform:scaleX(1);}
.tc-region{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--slate);margin-bottom:0.5rem;}
.tc-badge{display:inline-block;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.25rem 0.65rem;border:1px solid;margin-bottom:0.8rem;}
.badge-beg{border-color:#5A8C6B;color:#5A8C6B;}
.badge-int{border-color:#A07830;color:#A07830;}
.badge-adv{border-color:#8B3A3A;color:#8B3A3A;}
.tc-name{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;color:var(--dark);margin-bottom:0.2rem;line-height:1.2;}
.tc-alt{font-size:0.875rem;color:var(--stone);margin-bottom:0.9rem;}
.tc-desc{font-size:1.015rem;line-height:1.78;color:var(--stone);margin-bottom:1.2rem;}
.tc-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem;}
.tc-m{font-size:0.825rem;color:var(--stone);}
.tc-m strong{display:block;color:var(--dark);font-weight:400;font-size:0.925rem;margin-bottom:0.1rem;}
.tc-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;color:var(--terra);}
.tc-price-label{font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-left:0.35rem;}

/* SPAGHETTI */
.spaghetti{position:relative;color:var(--cream);padding:0;overflow:hidden;}
.spaghetti-bg{position:absolute;inset:0;background:url('../img/spaghetti-tour-monte-rosa.webp') center/cover no-repeat;}
.spaghetti-bg-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,18,14,0.92) 0%,rgba(22,18,14,0.86) 45%,rgba(22,18,14,0.74) 100%);}
.spaghetti-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:5.5rem 3rem;}
.sp-tag{font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--slate);margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem;}
.sp-tag::before{content:'';width:18px;height:1px;background:var(--slate);}
.sp-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--cream-light);line-height:1.1;margin-bottom:1rem;}
.sp-title em{font-style:italic;color:var(--slate);}
.sp-desc{font-size:1.055rem;line-height:1.8;color:rgba(245,237,216,0.78);margin-bottom:2rem;}
.sp-highlights{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-bottom:2rem;}
.sp-hl{background:rgba(255,255,255,0.05);padding:0.9rem 1.1rem;border-left:2px solid var(--slate);}
.sp-hl-num{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--slate);font-weight:300;}
.sp-hl-label{font-size:0.68rem;color:rgba(245,237,216,0.66);letter-spacing:0.06em;}
.sp-price-row{display:flex;align-items:baseline;gap:1rem;border-top:1px solid rgba(255,255,255,0.08);padding-top:1.4rem;}
.sp-price{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--terra-light);font-weight:300;}
.sp-price-note{font-size:0.895rem;color:rgba(245,237,216,0.62);line-height:1.5;}
.sp-days{display:flex;flex-direction:column;}
.sp-day{display:grid;grid-template-columns:50px 1fr;border-bottom:1px solid rgba(245,237,216,0.07);padding:1.1rem 0;}
.sp-day:last-child{border-bottom:none;}
.sp-day-num{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--slate);opacity:0.7;}
.sp-day-title{font-size:0.905rem;font-weight:400;color:var(--cream-light);margin-bottom:0.18rem;}
.sp-day-sub{font-size:0.915rem;color:rgba(245,237,216,0.66);line-height:1.5;}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.about-photo-wrap{position:relative;min-height:580px;overflow:hidden;}
.about-photo{position:absolute;inset:0;background:url('../img/carlos-molina-rock-climbing.webp') center 38%/cover no-repeat;}
.about-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 2rem;background:linear-gradient(to top,rgba(28,26,23,0.85),transparent);text-align:right;}
.about-photo-caption p{font-size:0.68rem;letter-spacing:0.12em;color:rgba(245,237,216,0.92);}
.about-content{padding:4rem 3.5rem;background:var(--cream-light);display:flex;flex-direction:column;justify-content:center;}
.about-bio{font-size:1.105rem;line-height:1.88;color:var(--stone);margin-top:1.4rem;margin-bottom:2rem;}
.credentials{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:2rem;}
.cred{display:flex;align-items:center;gap:0.8rem;font-size:0.995rem;color:var(--stone);}
.cred-dot{width:4px;height:4px;border-radius:50%;background:var(--terra);flex-shrink:0;}
.uiagm-note{padding:1.1rem 1.4rem;border:1px solid var(--border);border-left:3px solid var(--terra);font-size:0.985rem;color:var(--stone);line-height:1.7;}

/* CONTACT */
.contact-section{background:var(--terra);color:var(--cream);padding:5.5rem 3rem;text-align:center;}
.contact-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:300;color:var(--cream-light);margin-bottom:1rem;line-height:1.1;}
.contact-title em{font-style:italic;}
.contact-sub{font-size:1.075rem;color:rgba(245,237,216,0.85);max-width:420px;margin:0 auto 2.8rem;line-height:1.7;}
.contact-grid{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;}
.c-link{line-height:1.35;text-align:center;display:inline-flex;align-items:center;gap:0.6rem;padding:0.9rem 1.8rem;border:1px solid rgba(245,237,216,0.3);color:var(--cream);text-decoration:none;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s;}
.c-link:hover{background:rgba(245,237,216,0.12);border-color:rgba(245,237,216,0.78);}
.c-link svg{width:14px;height:14px;flex-shrink:0;}

footer{padding:1.8rem 3rem;background:var(--dark);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
footer p{font-size:0.825rem;color:rgba(245,237,216,0.78);letter-spacing:0.05em;}

.reveal{opacity:0;transform:translateY(16px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.up{opacity:1;transform:none;}

@media(max-width:900px){
  nav{padding:1rem 1.5rem;}
  nav ul{display:none;}
  .hero{padding:0 1.5rem 4rem;}
  .band{grid-template-columns:1fr 1fr;}
  .band-item:nth-child(2){border-right:none;}
  .band-item:nth-child(3){border-top:1px solid var(--border);}
  .section{padding:4rem 1.5rem;}
  .peaks-intro,.tours-intro{grid-template-columns:1fr;}
  .peaks-feature{grid-template-columns:1fr;}
  .photo-strip{grid-template-columns:1fr;height:auto;}
  .ps-photo{height:260px;}
  .spaghetti-inner{grid-template-columns:1fr;gap:3rem;padding:4rem 1.5rem;}
  .about{grid-template-columns:1fr;}
  .about-photo-wrap{min-height:380px;}
  .about-content{padding:3rem 1.5rem;}
  .contact-section{padding:4rem 1.5rem;}
  footer{padding:1.8rem 1.5rem;flex-direction:column;text-align:center;}
}
/* ===== PAGINAS DE TOUR (vallee blanche, etc.) ===== */
.page-hero{min-height:72vh;display:flex;align-items:flex-end;padding:calc(64px + 2rem) 3rem 4rem;position:relative;overflow:hidden;}
.page-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,26,23,0.95) 0%,rgba(28,26,23,0.48) 58%,rgba(20,38,55,0.66) 100%);}
/* portada con amanecer: deja ver el color del cielo a la derecha del texto */
.page-hero-overlay.hero-sunrise{background:linear-gradient(90deg,rgba(28,26,23,0.80) 0%,rgba(28,26,23,0.74) 26%,rgba(28,26,23,0.52) 40%,rgba(28,26,23,0.16) 52%,rgba(28,26,23,0) 64%),linear-gradient(to top,rgba(28,26,23,0.95) 0%,rgba(28,26,23,0.58) 40%,rgba(28,26,23,0.04) 100%);}
.page-hero-content{position:relative;z-index:3;max-width:720px;}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,6vw,4.8rem);font-weight:300;line-height:1.04;color:var(--cream-light);margin-bottom:1.2rem;}
.page-hero h1 em{font-style:italic;color:var(--slate);}
.page-hero-desc{font-size:1.125rem;line-height:1.8;color:rgba(245,237,216,0.92);max-width:520px;margin-bottom:2.4rem;}

.crumbs{font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(245,237,216,0.72);margin-bottom:1.5rem;}
.crumbs a{color:rgba(245,237,216,0.92);text-decoration:none;}
.crumbs a:hover{color:var(--slate);}

.prog{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.prog-steps{display:flex;flex-direction:column;}
.prog-step{display:grid;grid-template-columns:46px 1fr;border-bottom:1px solid var(--border);padding:1.2rem 0;}
.prog-step:last-child{border-bottom:none;}
.prog-n{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--terra);opacity:0.55;line-height:1;}
.prog-t{font-size:0.985rem;font-weight:400;color:var(--dark);margin-bottom:0.22rem;}
.prog-s{font-size:0.995rem;color:var(--stone);line-height:1.65;}
.prog-t a,.prog-s a,.uiagm-note a{color:var(--terra);text-decoration:none;border-bottom:1px solid rgba(139,58,58,0.35);transition:border-color 0.2s;}
.prog-t a:hover,.prog-s a:hover,.uiagm-note a:hover{border-bottom-color:var(--terra);}

.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:2rem;}
.fact{background:var(--cream-light);padding:1.1rem 1.3rem;}
.fact strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;color:var(--terra);line-height:1.1;margin-bottom:0.2rem;}
.fact span{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);}

.incl{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.incl h3{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--stone);margin-bottom:1rem;}
.incl ul{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.incl li{display:flex;gap:0.7rem;align-items:flex-start;font-size:1.035rem;line-height:1.6;color:var(--stone);}
.incl li::before{content:'';width:14px;height:14px;flex-shrink:0;margin-top:3px;border-radius:50%;}
.yes li::before{background:rgba(90,140,107,0.18);border:1px solid #5A8C6B;}
.no li::before{background:rgba(139,58,58,0.1);border:1px solid rgba(139,58,58,0.45);}

.price-box{border:1px solid var(--border);border-left:3px solid var(--terra);padding:1.6rem 1.8rem;background:var(--cream-light);}
.price-box .amount{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:300;color:var(--terra);line-height:1;}
.price-box .amount-label{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-left:0.5rem;}
.price-box p{font-size:0.995rem;color:var(--stone);line-height:1.7;margin-top:0.9rem;}

.faq-item{border-bottom:1px solid var(--border);padding:1.4rem 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-family:'Cormorant Garamond',serif;font-size:1.275rem;font-weight:400;color:var(--dark);margin-bottom:0.5rem;}
.faq-a{font-size:1.045rem;line-height:1.75;color:var(--stone);}

@media(max-width:900px){
  .page-hero-overlay.hero-sunrise{background:linear-gradient(to bottom,rgba(28,26,23,0.80) 0%,rgba(28,26,23,0.66) 16%,rgba(28,26,23,0.30) 30%,rgba(28,26,23,0.70) 56%,rgba(28,26,23,0.94) 100%);}
  .page-hero{padding:calc(64px + 1.25rem) 1.5rem 3rem;min-height:68vh;}
  .prog,.incl{grid-template-columns:1fr;gap:2.5rem;}
  .facts{grid-template-columns:1fr;}
}

/* ===== WHATSAPP FLOTANTE ===== */
.wa-float{position:fixed;right:1.6rem;bottom:1.6rem;z-index:300;display:flex;align-items:center;gap:0;height:58px;padding:0 1.05rem;border-radius:999px;background:var(--terra);color:var(--cream-light);text-decoration:none;box-shadow:0 0 0 3px var(--cream-light),0 0 0 5px var(--slate),0 6px 24px rgba(28,26,23,0.32);transition:background 0.22s,box-shadow 0.22s,gap 0.22s,padding 0.22s;}
.wa-float:hover,.wa-float:focus-visible{background:var(--terra-light);box-shadow:0 0 0 3px var(--cream-light),0 0 0 6px var(--slate),0 10px 32px rgba(28,26,23,0.4);gap:0.65rem;padding:0 1.5rem 0 1.15rem;}
.wa-float:focus-visible{outline:2px solid var(--dark);outline-offset:8px;}
.wa-float svg{width:26px;height:26px;flex-shrink:0;}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;font-size:0.72rem;letter-spacing:0.13em;text-transform:uppercase;transition:max-width 0.28s ease;}
.wa-float:hover span,.wa-float:focus-visible span{max-width:220px;}
@media(max-width:900px){
  .wa-float{right:1.1rem;bottom:1.1rem;height:54px;padding:0 0.95rem;}
  .wa-float span{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .wa-float,.wa-float span{transition:none;}
}

/* ===== TRAVESÍAS ===== */
.trav{border-top:1px solid var(--border);padding:4rem 0;}
.trav:first-of-type{border-top:none;padding-top:2.5rem;}
.trav-head{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;margin-bottom:2.5rem;}
.trav-region{font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--slate);margin-bottom:0.6rem;}
.trav-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:300;line-height:1.1;color:var(--dark);margin-bottom:0.4rem;}
.trav-name em{font-style:italic;color:var(--terra);}
.trav-alt{font-size:0.925rem;color:var(--stone);margin-bottom:1.2rem;}
.trav-desc{font-size:1.075rem;line-height:1.85;color:var(--stone);}
.trav-body{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;}
.trav-photo{min-height:420px;background-size:cover;background-position:center;position:relative;}
.trav-photo-cap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.5rem;background:linear-gradient(to top,rgba(28,26,23,0.85),transparent);font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,237,216,0.85);}
.day{display:grid;grid-template-columns:52px 1fr;border-bottom:1px solid var(--border);padding:0.95rem 0;}
.day:last-child{border-bottom:none;}
.day-n{font-size:0.64rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--terra);opacity:0.75;padding-top:2px;}
.day-t{font-size:0.945rem;color:var(--dark);margin-bottom:0.15rem;}
.day-s{font-size:0.975rem;color:var(--stone);line-height:1.6;}
.trav-cta{line-height:1.35;text-align:center;display:inline-flex;align-items:center;margin-top:1.6rem;padding:0.85rem 1.7rem;background:var(--terra);color:var(--cream);text-decoration:none;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;transition:background 0.2s;}
.trav-cta:hover{background:var(--terra-light);}
@media(max-width:900px){
  .trav-head,.trav-body{grid-template-columns:1fr;gap:2rem;}
  .trav-photo{min-height:260px;}
}

/* ===== MENÚ DESPLEGABLE DEL NAV ===== */
nav ul li.has-sub{position:relative;}
.subnav{gap:0;align-items:stretch;position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);min-width:260px;list-style:none;display:flex;flex-direction:column;background:var(--cream-light);border:1px solid var(--border);box-shadow:0 12px 32px rgba(28,26,23,0.16);padding:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.18s ease,transform 0.18s ease;}
li.has-sub:hover > .subnav,li.has-sub:focus-within > .subnav{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.subnav li{width:100%;}
.subnav a{display:block;padding:0.7rem 1.2rem;font-size:0.7rem;letter-spacing:0.08em;text-transform:none;color:var(--mid);opacity:0.85;line-height:1.45;}
.subnav li:nth-child(even) a{background:var(--sub-alt);}
.subnav a:hover,.subnav a:focus-visible,.subnav li:nth-child(even) a:hover,.subnav li:nth-child(even) a:focus-visible{background:var(--terra);color:var(--cream-light);opacity:1;}
.subnav a:hover .sub-days,.subnav a:focus-visible .sub-days{color:rgba(250,245,234,0.78);}
.subnav .sub-days{display:block;font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone);margin-top:0.15rem;}
.subnav .sub-all{border-top:1px solid var(--border);}
.subnav .sub-all a{color:var(--terra);letter-spacing:0.13em;text-transform:uppercase;font-size:0.63rem;}
.trav[id],.tour-card[id],.seasons,section[id],#summer,#winter{scroll-margin-top:92px;}
@media(prefers-reduced-motion:reduce){.subnav{transition:none;}}

/* ===== SELECTOR DE TEMPORADA (home) ===== */
.seasons{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.season{position:relative;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--dark);text-decoration:none;}
.season-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.5;transition:opacity 0.45s ease,transform 0.6s ease;}
.season:hover .season-photo,.season:focus-within .season-photo{opacity:0.72;transform:scale(1.03);}
.season-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,26,23,0.96) 12%,rgba(28,26,23,0.42) 62%,rgba(28,26,23,0.2) 100%);}
.season-in{position:relative;z-index:2;padding:2.6rem 2.6rem 2.4rem;}
.season-tag{font-size:0.64rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--slate);margin-bottom:0.7rem;display:flex;align-items:center;gap:0.6rem;}
.season-tag::before{content:'';width:22px;height:1px;background:var(--slate);}
.season-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:300;color:var(--cream-light);line-height:1.08;margin-bottom:0.5rem;}
.season-title em{font-style:italic;color:var(--slate);}
.season-sub{font-size:1.035rem;line-height:1.7;color:rgba(245,237,216,0.8);max-width:360px;margin-bottom:1.5rem;}
.season-list{list-style:none;display:flex;flex-direction:column;gap:0.1rem;margin-bottom:1.6rem;}
.season-list a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:0.52rem 0;border-bottom:1px solid rgba(245,237,216,0.1);color:rgba(245,237,216,0.92);text-decoration:none;font-size:1.015rem;transition:color 0.18s,padding-left 0.18s;}
.season-list a:hover,.season-list a:focus-visible{color:var(--cream-light);padding-left:0.4rem;}
.season-list .meta{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,237,216,0.4);white-space:nowrap;}
.season-all{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--terra-light);text-decoration:none;}
.season-all:hover{color:var(--cream-light);}
@media(max-width:900px){
  .seasons{grid-template-columns:1fr;}
  .season{min-height:auto;}
  .season-in{padding:2.2rem 1.5rem;}
}

/* ===== SELECTOR DE IDIOMA ===== */
.nav-right{display:flex;align-items:center;gap:1.6rem;}
.lang{display:flex;align-items:center;gap:0.45rem;}
.lang a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:21px;border-radius:2px;overflow:hidden;border:1px solid rgba(139,58,58,0.22);opacity:0.45;transition:opacity 0.18s,border-color 0.18s,transform 0.18s;}
.lang a:hover,.lang a:focus-visible{opacity:1;border-color:var(--terra);transform:translateY(-1px);}
.lang a[aria-current="true"]{opacity:1;border-color:var(--terra);}
.lang svg{display:block;width:100%;height:100%;}
@media(max-width:900px){
  nav{padding:0.9rem 1.2rem;}
  .nav-right{gap:0;}
  .lang{gap:0.35rem;}
  .lang a{width:27px;height:19px;}
}

/* ===== MENÚ MÓVIL ===== */
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;margin-left:0.2rem;padding:0;background:transparent;border:1px solid var(--border);border-radius:3px;cursor:pointer;color:var(--terra);flex-shrink:0;}
.nav-toggle span{position:relative;display:block;width:18px;height:1.5px;background:currentColor;transition:background 0.2s;}
.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform 0.24s ease,top 0.2s ease;}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
nav.open .nav-toggle span{background:transparent;}
nav.open .nav-toggle span::before{top:0;transform:rotate(45deg);}
nav.open .nav-toggle span::after{top:0;transform:rotate(-45deg);}
body.nav-locked{overflow:hidden;}

@media(max-width:900px){
  .nav-toggle{display:flex;}
  nav{padding:0.85rem 1.1rem;}
  .nav-logo .logo-name{font-size:0.95rem;letter-spacing:0.16em;}
  .nav-logo .logo-sub{font-size:0.55rem;letter-spacing:0.12em;}
  .nav-right{gap:0.6rem;}
  .lang{gap:0.3rem;}
  .lang a{width:26px;height:18px;}

  /* el menú pasa a ser un panel desplegable */
  #nav-menu{display:flex;flex-direction:column;gap:0;align-items:stretch;text-align:left;
    position:absolute;top:100%;left:0;right:0;
    background:var(--cream-light);border-top:1px solid var(--border);
    box-shadow:0 14px 30px rgba(28,26,23,0.18);
    max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height 0.3s ease,visibility 0s linear 0.3s;}
  nav.open #nav-menu{max-height:calc(100dvh - 64px);overflow-y:auto;visibility:visible;
    transition:max-height 0.34s ease,visibility 0s;}
  #nav-menu > li{border-bottom:1px solid var(--border);}
  #nav-menu > li:last-child{border-bottom:none;}
  #nav-menu > li > a{display:flex;align-items:center;min-height:48px;padding:0 1.2rem;
    font-size:0.74rem;letter-spacing:0.14em;opacity:1;color:var(--mid);}
  #nav-menu .nav-cta{justify-content:center;margin:0;}

  /* submenús siempre abiertos dentro del panel */
  .subnav{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    min-width:0;max-height:none;border:none;box-shadow:none;background:var(--cream);
    padding:0.1rem 0 0.4rem;transition:none;text-align:left;}
  li.has-sub:hover > .subnav,li.has-sub:focus-within > .subnav{transform:none;}
  .subnav li{border:none;}
  .subnav a{min-height:44px;display:flex;flex-direction:column;align-items:flex-start;
    justify-content:center;gap:0.1rem;text-align:left;
    padding:0.42rem 1.2rem 0.42rem 1.9rem;font-size:0.78rem;line-height:1.3;}
  .subnav .sub-days{margin-top:0;font-size:0.58rem;}
  .subnav .sub-all{border-top:1px solid var(--border);margin:0.25rem 1.2rem 0;padding-top:0.1rem;}
  .subnav .sub-all a{padding-left:0.7rem;min-height:40px;}

  /* objetivos táctiles cómodos en las listas de temporada */
  .season-list a{padding:0.78rem 0;}
  .trav-cta,.btn-fill,.btn-outline,.c-link{min-height:46px;}
}
@media(max-width:420px){
  nav{padding:0.8rem 0.9rem;}
  .nav-logo svg{width:24px;height:24px;}
  .nav-logo{gap:0.55rem;}
  .lang a{width:23px;height:16px;}
  .nav-right{gap:0.45rem;}
}
@media(prefers-reduced-motion:reduce){
  nav ul,.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{transition:none;}
}

/* ===== OBJETIVOS TÁCTILES EN MÓVIL ===== */
@media(max-width:900px){
  .nav-logo{min-height:44px;}
  .tab-btn{min-height:46px;padding:0.7rem 1.1rem;}
  .tour-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tour-tabs::-webkit-scrollbar{display:none;}
  .tab-btn{flex:0 0 auto;white-space:nowrap;}
  .season-all{min-height:44px;padding:0.6rem 0;}
  .crumbs{margin-bottom:1.2rem;}
  .crumbs a{display:inline-block;padding:0.45rem 0;}
  footer p a{display:inline-block;padding:0.35rem 0;}
  .peak-note + p a{display:inline-block;padding:0.5rem 0;}
}

/* ===== AJUSTES FINOS MÓVIL ===== */
nav.open ~ .wa-float,body.nav-locked .wa-float{opacity:0;pointer-events:none;}
.wa-float{transition:background 0.22s,box-shadow 0.22s,gap 0.22s,padding 0.22s,opacity 0.2s;}
@media(max-width:900px){
  .peak-content a{display:inline-block;padding:0.5rem 0;}
  .trav:first-of-type{padding-top:1.6rem;}
  .trav{padding:2.6rem 0;}
  .trav-head{margin-bottom:1.6rem;}
}
@media(max-width:420px){
  .wa-float{height:50px;padding:0 0.85rem;}
  .wa-float svg{width:23px;height:23px;}
}

@media(max-width:900px){
  .crumbs a,footer p a,.peak-content a{display:inline-flex;align-items:center;min-height:44px;padding:0;}
  .crumbs{margin-bottom:0.8rem;}
}
