/* Soul of the Sahara v4 · expedición */
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-800.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/barlow-condensed-700.woff2) format("woff2")}
@font-face{font-family:Gloock;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/gloock-400.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-weight:400 800;font-style:normal;font-display:swap;src:url(../fonts/hanken-grotesk.woff2) format("woff2")}

:root{
  --noche:#171B19;--carbon:#202320;--carbon-2:#2A2E2A;--crema:#F5F0E5;--crema-2:#EDE4D3;--blanco:#FFFAF0;
  --arena:#EDCAA0;--arena-clara:#F6DFC2;--arcilla:#8C432E;--arcilla-osc:#713625;
  --tinta:#202320;--tinta-2:#50534B;--linea:#CBC2B0;--linea-osc:rgba(245,240,229,.16);--tinta-clara:#C9C3B6;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--body:"Hanken Grotesk",system-ui,sans-serif;--marca:Gloock,Georgia,serif;
  --ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);
  --wrap:1240px;--gut:clamp(16px,4vw,48px);--sec:clamp(84px,11vw,168px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.01em}
p{margin:0}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--arena);outline-offset:3px}
.claro :focus-visible{outline-color:var(--arcilla)}
.saltar{position:absolute;left:12px;top:-60px;z-index:100;background:var(--arena);color:var(--noche);padding:10px 14px;font-weight:700;text-decoration:none}
.saltar:focus{top:12px}

/* Botones */
.btn{display:inline-flex;align-items:stretch;gap:0;font-family:var(--body);font-weight:700;font-size:15px;letter-spacing:.01em;text-decoration:none;border:1.5px solid currentColor;min-height:52px;cursor:pointer;background:none;color:inherit;transition:background-color .25s var(--ease),color .25s var(--ease),transform .15s var(--ease)}
.btn span{display:flex;align-items:center;padding:0 20px}
.btn .ico{padding:0;width:52px;justify-content:center;border-left:1.5px solid currentColor;transition:background-color .25s var(--ease)}
.btn .ico svg{transition:transform .35s var(--ease)}
.btn:hover .ico svg{transform:translate(3px,-3px)}
.btn.abajo:hover .ico svg{transform:translate(2px,3px)}
.btn:active{transform:scale(.98)}
.btn-arena{background:var(--arena);border-color:var(--arena);color:var(--noche)}
.btn-arena .ico{border-color:rgba(23,27,25,.25)}
.btn-arena:hover{background:var(--blanco);border-color:var(--blanco)}
.btn-arcilla{background:var(--arcilla);border-color:var(--arcilla);color:var(--blanco)}
.btn-arcilla .ico{border-color:rgba(255,250,240,.3)}
.btn-arcilla:hover{background:var(--arcilla-osc);border-color:var(--arcilla-osc)}
.btn-linea{color:var(--blanco)}
.btn-linea:hover{background:var(--blanco);color:var(--noche)}
.btn-oscuro{color:var(--tinta)}
.btn-oscuro:hover{background:var(--tinta);color:var(--crema)}
.enlace{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.enlace svg{transition:transform .35s var(--ease)}
.enlace:hover svg{transform:translate(3px,-3px)}

/* Cabecera */
.top{position:fixed;inset:0 0 auto;z-index:60;color:var(--blanco);transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.top::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,12,11,.55),rgba(10,12,11,0));pointer-events:none;transition:opacity .35s var(--ease)}
.top.solida{background:rgba(23,27,25,.96);border-bottom:1px solid var(--linea-osc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.top.solida::before{opacity:0}
.top-in{position:relative;display:flex;align-items:center;gap:24px;height:76px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--arena);font-family:var(--marca);font-size:22px;line-height:1;white-space:nowrap}
.logo svg{flex:none}
.nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav>a,.nav-sub-btn{font:inherit;font-weight:600;font-size:15px;color:inherit;text-decoration:none;position:relative;padding:6px 0;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav>a::after,.nav-sub-btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav>a:hover::after,.nav>a[aria-current]::after,.nav-sub-btn:hover::after,.nav-item.abierto .nav-sub-btn::after{transform:scaleX(1);transform-origin:left}
.chev{transition:transform .3s var(--ease)}
.nav-item.abierto .chev{transform:rotate(180deg)}
.nav-item{position:relative}
.sub{position:absolute;top:calc(100% + 22px);left:-24px;width:430px;background:var(--noche);border:1px solid var(--linea-osc);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s linear .25s;box-shadow:0 24px 48px -24px rgba(0,0,0,.6)}
.nav-item.abierto .sub{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.sub ul{list-style:none;margin:0;padding:0}
.sub li a{display:grid;gap:2px;padding:11px 14px;text-decoration:none;transition:background-color .2s var(--ease)}
.sub li a:hover,.sub li a:focus-visible{background:var(--carbon-2)}
.sub strong{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1;color:var(--blanco)}
.sub li span{font-size:13px;color:var(--tinta-clara)}
.sub-todas{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:12px 14px;border-top:1px solid var(--linea-osc);font-weight:700;font-size:14px;color:var(--arena);text-decoration:none}
.sub-todas:hover{background:var(--carbon-2)}
.idiomas{display:flex;align-items:center;border:1px solid var(--linea-osc)}
.idiomas a{font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none;padding:6px 8px;color:var(--tinta-clara);transition:color .2s var(--ease),background-color .2s var(--ease)}
.idiomas a+a{border-left:1px solid var(--linea-osc)}
.idiomas a:hover{color:var(--blanco)}
.idiomas a[aria-current]{background:var(--arena);color:var(--noche)}
.top .btn{min-height:44px;font-size:14px}
.top .btn span{padding:0 14px}.top .btn .ico{width:44px}
.menu-btn{display:none;width:48px;height:48px;margin-left:auto;background:none;border:1.5px solid var(--linea-osc);color:inherit;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:13px;right:13px;height:2px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.menu-btn i:nth-child(1){top:18px}.menu-btn i:nth-child(2){top:26px}
.menu-btn[aria-expanded="true"] i:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){top:22px;transform:rotate(-45deg)}
@media (max-width:1180px){
  .top.solida{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--noche)}
  .menu-btn{display:block}
  .top .btn-top{display:none}
  .nav{position:fixed;inset:76px 0 0;margin:0;background:var(--noche);flex-direction:column;align-items:stretch;gap:0;padding:16px var(--gut) 40px;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s linear .35s;overflow-y:auto}
  .nav.abierta{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
  .nav>a,.nav-sub-btn{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(36px,9vw,56px);line-height:1.05;padding:6px 0;justify-content:space-between;width:100%}
  .nav>a::after,.nav-sub-btn::after{display:none}
  .nav>*{opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .nav.abierta>*{opacity:1;transform:none}
  .nav.abierta>:nth-child(2){transition-delay:.04s}.nav.abierta>:nth-child(3){transition-delay:.08s}.nav.abierta>:nth-child(4){transition-delay:.12s}.nav.abierta>:nth-child(5){transition-delay:.16s}.nav.abierta>:nth-child(6){transition-delay:.2s}.nav.abierta>:nth-child(7){transition-delay:.24s}
  .chev{width:26px;height:26px}
  .sub{position:static;width:auto;border:0;border-left:2px solid var(--arena);padding:0 0 0 14px;margin:4px 0 10px;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}
  .nav-item.abierto .sub{display:block}
  .sub li a{padding:9px 0}
  .sub strong{font-size:24px}
  .sub-todas{padding:12px 0}
  .idiomas{margin-top:22px;align-self:flex-start}
  .idiomas a{font-size:14px;padding:10px 14px}
  .nav .nav-cta{margin-top:18px;font-family:var(--body);font-size:16px;text-transform:none;color:var(--noche);background:var(--arena);padding:14px 18px;justify-content:center}
}
@media (min-width:1181px){.nav .nav-cta{display:none}}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--blanco);background:var(--noche);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease-io)}
.hero-slide.activa{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,16,15,.78) 0%,rgba(14,16,15,.45) 45%,rgba(14,16,15,.05) 80%),linear-gradient(0deg,rgba(14,16,15,.75) 0%,rgba(14,16,15,0) 40%)}
.hero-in{padding-top:120px;padding-bottom:clamp(28px,4vw,40px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--arena)}
.rombo{width:9px;height:9px;background:currentColor;transform:rotate(45deg);flex:none}
.hero h1{font-size:clamp(64px,11.6vw,176px);line-height:.86;letter-spacing:-.015em;margin:20px 0 26px;max-width:9.5em}
.hero h1 .l{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .l>span{display:inline-block;transform:translateY(105%);animation:sube 1s var(--ease) forwards}
.hero h1 .l:nth-child(2)>span{animation-delay:.08s}.hero h1 .l:nth-child(3)>span{animation-delay:.16s}
.hero h1 .acento{color:var(--arena)}
@keyframes sube{to{transform:none}}
.hero-sub{font-size:clamp(17px,1.6vw,21px);line-height:1.5;max-width:34em;color:#F2EBDD;opacity:0;animation:aparece .9s var(--ease) .45s forwards}
.hero-sub strong{color:var(--blanco);font-weight:700}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;opacity:0;animation:aparece .9s var(--ease) .6s forwards}
@keyframes aparece{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-pie{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--linea-osc);padding-top:16px;padding-bottom:22px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#E6DDCC}
.coords{display:flex;align-items:center;gap:10px;white-space:nowrap}
.prog{display:flex;align-items:center;gap:12px}
.prog-bar{display:block;width:120px;height:2px;background:var(--linea-osc);position:relative;overflow:hidden}
.prog-bar i{position:absolute;inset:0;background:var(--arena);transform-origin:left;transform:scaleX(0)}
.prog-bar i.corre{animation:barra 6.5s linear forwards}
@keyframes barra{to{transform:scaleX(1)}}
.prog-cap{min-width:13em}
@media (max-width:760px){.prog-cap{display:none}.hero h1{margin:16px 0 20px}.hero-in{padding-top:110px}}
@media (max-width:480px){.coords span:last-child{display:none}}

/* Cinta de rutas */
.cinta{background:var(--arcilla);color:var(--blanco);overflow:hidden;border-block:1px solid var(--arcilla-osc)}
.cinta-track{display:flex;width:max-content;animation:cinta 40s linear infinite}
.cinta:hover .cinta-track{animation-play-state:paused}
.cinta p{display:flex;align-items:center;gap:28px;padding:18px 14px;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(26px,3.4vw,40px);line-height:1;white-space:nowrap}
.cinta .rombo{width:11px;height:11px;background:var(--arena)}
@keyframes cinta{to{transform:translateX(-50%)}}

/* Secciones */
.sec{padding-block:var(--sec)}
.oscura{background:var(--noche);color:var(--crema)}
.carbon{background:var(--carbon);color:var(--crema)}
.crema-2{background:var(--crema-2)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.num{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;grid-column:1/-1}
.num b{display:grid;place-items:center;min-width:36px;height:28px;padding:0 6px;border:1.5px solid currentColor;font-size:12px;letter-spacing:.04em}
.oscura .num,.carbon .num{color:var(--arena)}
.h2{font-size:clamp(48px,7.4vw,112px)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--tinta-2);max-width:32em}
.oscura .lead,.carbon .lead{color:var(--tinta-clara)}
@media (max-width:860px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* Revelados */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.visto{opacity:1;transform:none}
.rv-img{overflow:hidden}
.js .rv-img{clip-path:inset(12% 0 0 0);transition:clip-path 1.2s var(--ease)}
.js .rv-img img{transform:scale(1.12);transition:transform 1.6s var(--ease)}
.js .rv-img.visto{clip-path:inset(0 0 0 0)}
.js .rv-img.visto img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .rv-img,.js .rv-img img{opacity:1;transform:none;clip-path:none;transition:none}
  .hero h1 .l>span,.hero-sub,.ctas{animation:none;transform:none;opacity:1}
  .cinta-track{animation:none}
  .prog-bar i.corre{animation:none;transform:scaleX(1)}
}

/* Para quién */
.perfiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.perfil{display:flex;flex-direction:column;background:var(--blanco);color:var(--tinta);border:1px solid var(--linea)}
.perfil figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--crema-2)}
.perfil figure img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.perfil:hover figure img{transform:scale(1.05)}
.perfil-txt{display:flex;flex-direction:column;gap:14px;padding:26px 26px 28px;flex:1}
.tag{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--arcilla)}
.perfil h3{font-size:clamp(34px,3.2vw,44px)}
.perfil p{color:var(--tinta-2)}
.lista{list-style:none;margin:0;padding:0;display:grid;gap:8px;border-top:1px solid var(--linea);padding-top:16px}
.lista li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.45}
.lista li::before{content:"";width:8px;height:8px;background:var(--arcilla);transform:rotate(45deg);margin-top:7px}
.perfil .enlace{margin-top:auto;align-self:flex-start;color:var(--tinta)}
.perfil .enlace:hover{color:var(--arcilla)}
@media (max-width:980px){.perfiles{grid-template-columns:minmax(0,1fr)}.perfil{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.perfil figure{aspect-ratio:auto;min-height:100%}}
@media (max-width:640px){.perfil{display:flex}.perfil figure{aspect-ratio:16/10;min-height:0}}

/* Rutas */
.rutas{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.ruta{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;color:var(--blanco);text-decoration:none;overflow:hidden;background:var(--carbon);border:1px solid var(--linea-osc);isolation:isolate}
.ruta:nth-child(1){grid-column:span 8;min-height:540px}.ruta:nth-child(2){grid-column:span 4;min-height:540px}
.ruta:nth-child(3){grid-column:span 4}.ruta:nth-child(4){grid-column:span 8}
.ruta:nth-child(5),.ruta:nth-child(6){grid-column:span 6}
.ruta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.ruta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,16,15,.88) 0%,rgba(14,16,15,.35) 50%,rgba(14,16,15,.1) 100%)}
.ruta:hover img{transform:scale(1.06)}
.ruta-n{position:absolute;top:16px;right:16px;font-family:var(--display);font-weight:800;font-size:18px;background:var(--noche);color:var(--arena);border:1px solid var(--linea-osc);padding:3px 9px}
.ruta-txt{padding:28px;display:grid;gap:10px;max-width:36em}
.ruta-meta{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--arena)}
.ruta h3{font-size:clamp(36px,4.2vw,64px)}
.ruta p{color:#EDE6D8;font-size:16px}
.ruta-ver{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-top:6px}
.ruta-ver svg{transition:transform .35s var(--ease)}
.ruta:hover .ruta-ver svg{transform:translate(3px,-3px)}
@media (max-width:980px){.ruta:nth-child(n){grid-column:span 6;min-height:420px}}
@media (max-width:640px){.rutas{grid-template-columns:minmax(0,1fr)}.ruta:nth-child(n){grid-column:auto;min-height:380px}.ruta-txt{padding:22px}}

/* Cómo funciona */
.pestanas{display:flex;flex-wrap:wrap;gap:0;border:1.5px solid var(--tinta);width:max-content;max-width:100%;margin-bottom:clamp(36px,5vw,56px)}
.pestanas button{font:inherit;font-weight:700;font-size:15px;background:none;border:0;border-right:1.5px solid var(--tinta);padding:14px 22px;min-height:48px;cursor:pointer;color:var(--tinta);transition:background-color .25s var(--ease),color .25s var(--ease)}
.pestanas button:last-child{border-right:0}
.pestanas button[aria-selected="true"]{background:var(--tinta);color:var(--crema)}
.pestanas button:hover:not([aria-selected="true"]){background:var(--crema-2)}
@media (max-width:560px){.pestanas{width:100%}.pestanas button{flex:1;padding:12px 8px;font-size:14px}}
.panel[hidden]{display:none}
.panel.entra .paso{animation:aparece .6s var(--ease) both}
.panel.entra .paso:nth-child(2){animation-delay:.06s}.panel.entra .paso:nth-child(3){animation-delay:.12s}.panel.entra .paso:nth-child(4){animation-delay:.18s}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--tinta)}
.paso{padding:26px 24px 8px 0;display:grid;gap:12px;align-content:start}
.paso+.paso{padding-left:24px;border-left:1px solid var(--linea)}
.paso-n{font-family:var(--display);font-weight:800;font-size:64px;line-height:.8;color:var(--arcilla)}
.paso h3{font-size:30px}
.paso p{color:var(--tinta-2);font-size:16px}
@media (max-width:980px){.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}.paso:nth-child(3){padding-left:0;border-left:0}.paso:nth-child(n+3){border-top:1px solid var(--linea)}}
@media (max-width:560px){.pasos{grid-template-columns:minmax(0,1fr)}.paso,.paso+.paso{padding:22px 0 18px;border-left:0}.paso+.paso{border-top:1px solid var(--linea)}.paso{grid-template-columns:64px minmax(0,1fr)}.paso-n{grid-row:span 2;font-size:52px}}
.condiciones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(48px,6vw,80px);background:var(--noche);color:var(--crema)}
.condiciones div{padding:24px 24px 26px;border-left:1px solid var(--linea-osc)}
.condiciones div:first-child{border-left:0}
.condiciones dt{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:28px;line-height:1;color:var(--arena);margin-bottom:8px}
.condiciones dd{margin:0;color:var(--tinta-clara);font-size:15px}
@media (max-width:980px){.condiciones{grid-template-columns:repeat(2,minmax(0,1fr))}.condiciones div:nth-child(3){border-left:0}.condiciones div:nth-child(n+3){border-top:1px solid var(--linea-osc)}}
@media (max-width:480px){.condiciones{grid-template-columns:minmax(0,1fr)}.condiciones div{border-left:0}.condiciones div+div{border-top:1px solid var(--linea-osc)}}

/* Así es el viaje */
.viaje{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.viaje-txt{display:grid;gap:22px}
.modos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--linea-osc);border:1px solid var(--linea-osc)}
.modo{background:var(--noche);padding:20px}
.modo h3{font-size:30px;color:var(--arena);margin-bottom:8px}
.modo p{color:var(--tinta-clara);font-size:15.5px}
.claves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:6px 0 0}
.claves dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--arena)}
.claves dd{margin:4px 0 0;color:var(--crema)}
.viaje figure{margin:0;position:relative}
.viaje figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.viaje figcaption{position:absolute;left:0;bottom:0;background:var(--noche);padding:10px 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--arena)}
@media (max-width:860px){.viaje{grid-template-columns:minmax(0,1fr)}.viaje figure{order:-1}.viaje figure img{aspect-ratio:4/3}}
@media (max-width:420px){.modos,.claves{grid-template-columns:minmax(0,1fr)}}

/* Tira de fotos */
.tira-sec{padding-top:0}
.tira-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.tira-head h3{font-size:clamp(36px,4.6vw,64px)}
.tira-ctrl{display:flex;gap:0;border:1.5px solid var(--linea-osc)}
.tira-ctrl button{width:52px;height:52px;background:none;border:0;color:var(--crema);cursor:pointer;display:grid;place-items:center;transition:background-color .25s var(--ease)}
.tira-ctrl button+button{border-left:1.5px solid var(--linea-osc)}
.tira-ctrl button:hover{background:var(--carbon-2)}
.tira{list-style:none;margin:0;padding:0 var(--gut) 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--arcilla) transparent;cursor:grab}
.tira::-webkit-scrollbar{height:6px}.tira::-webkit-scrollbar-thumb{background:var(--arcilla)}
.tira li{flex:none;scroll-snap-align:start;height:clamp(300px,42vw,520px)}
.tira li:nth-child(3n+1){width:clamp(260px,34vw,460px)}
.tira li:nth-child(3n+2){width:clamp(220px,26vw,360px)}
.tira li:nth-child(3n){width:clamp(280px,40vw,560px)}
.tira button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in;overflow:hidden;position:relative}
.tira img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.tira button:hover img{transform:scale(1.05)}
.tira button:focus-visible{outline:3px solid var(--arena);outline-offset:-3px}
.tira-pie{margin-top:16px;font-size:14px;color:var(--tinta-clara)}
@media (max-width:640px){.tira li:nth-child(n){width:78vw;height:96vw}}

/* Equipo */
.equipo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:center}
.equipo-txt{display:grid;gap:20px}
.equipo-txt p{color:var(--tinta-2)}
.equipo-txt .lead{color:var(--tinta)}
.equipo-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.retratos{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:end}
.retratos figure{margin:0;background:var(--blanco);border:1px solid var(--linea)}
.retratos img{width:100%;aspect-ratio:4/5;object-fit:cover}
.retratos figure:nth-child(2) img{aspect-ratio:3/4}
.retratos figure:nth-child(2){margin-bottom:48px}
.retratos figcaption{padding:12px 14px}
.retratos strong{display:block;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:24px;line-height:1}
.retratos span{font-size:14px;color:var(--tinta-2)}
@media (max-width:860px){.equipo{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.retratos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.retratos figure:nth-child(2){margin-bottom:24px}.retratos strong{font-size:20px}}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq .h2{font-size:clamp(48px,6.4vw,96px)}
.faq-list{border-top:1.5px solid var(--tinta)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:700;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;transition:transform .4s var(--ease)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--tinta-2);max-width:40em}
.pend{background:#FFE7A8;color:#5B4100;padding:0 4px;font-weight:600}
@media (max-width:860px){.faq{grid-template-columns:minmax(0,1fr)}}

/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.contacto-txt{display:grid;gap:22px;position:sticky;top:110px}
.directo{display:grid;gap:0;border-top:1px solid var(--linea-osc);margin:8px 0 0}
.directo div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--linea-osc);flex-wrap:wrap}
.directo dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--arena)}
.directo dd{margin:0;font-weight:600}
.garantias{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--tinta-clara);font-size:15px}
.garantias li{display:flex;gap:10px;align-items:center}
.garantias li::before{content:"";width:7px;height:7px;background:var(--arena);transform:rotate(45deg);flex:none}
@media (max-width:980px){.contacto{grid-template-columns:minmax(0,1fr)}.contacto-txt{position:static}}

.form{background:var(--carbon);border:1px solid var(--linea-osc);padding:clamp(22px,3.4vw,40px)}
.paso-ind{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-clara);margin-bottom:18px}
.paso-ind i{display:block;width:28px;height:2px;background:var(--linea-osc)}
.paso-ind i.on{background:var(--arena)}
.form legend,.form h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,3.6vw,48px);line-height:.95;color:var(--blanco);padding:0;margin-bottom:20px}
.form fieldset{border:0;margin:0;padding:0;min-width:0}
.quien{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quien label{position:relative;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px;border:1.5px solid var(--linea-osc);cursor:pointer;transition:border-color .25s var(--ease),background-color .25s var(--ease),transform .15s var(--ease)}
.quien label:hover{border-color:var(--arena)}
.quien label:active{transform:scale(.98)}
.quien input{position:absolute;opacity:0;pointer-events:none}
.quien .q-n{font-family:var(--display);font-weight:800;font-size:22px;color:var(--arena);line-height:1}
.quien strong{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:26px;line-height:.95;color:var(--blanco)}
.quien small{font-size:14px;color:var(--tinta-clara);line-height:1.4}
.quien label:has(input:checked){background:var(--arena);border-color:var(--arena)}
.quien label:has(input:checked) strong,.quien label:has(input:checked) .q-n{color:var(--noche)}
.quien label:has(input:checked) small{color:#3B3A33}
.quien label:has(input:focus-visible){outline:3px solid var(--arena);outline-offset:3px}
@media (max-width:640px){.quien{grid-template-columns:minmax(0,1fr)}.quien label{min-height:0;display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;row-gap:2px;padding:14px 16px}.quien .q-n{grid-row:span 2;font-size:20px}}
.paso2{margin-top:30px;padding-top:28px;border-top:1px solid var(--linea-osc)}
.paso2[hidden]{display:none}
.paso2.entra{animation:aparece .6s var(--ease) both}
.grupo[hidden]{display:none}
.grupo,.comun{display:grid;gap:18px}
.comun{margin-top:18px}
.fila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:560px){.fila{grid-template-columns:minmax(0,1fr)}}
.campo{display:grid;gap:8px}
.campo label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--arena)}
.campo label .opc{color:var(--tinta-clara);letter-spacing:.06em;text-transform:none;font-weight:600}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;color:var(--blanco);background:var(--carbon-2);border:0;border-bottom:1.5px solid #6A6E66;border-radius:0;padding:14px 14px;min-height:52px;width:100%;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23EDCAA0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}
.campo select option{background:var(--carbon);color:var(--blanco)}
.campo textarea{min-height:110px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:#8E918A}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--arena);background:#30352F}
.nota-form{font-size:14px;color:var(--tinta-clara);margin-top:-6px}
.enviar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:24px}
.enviar small{font-size:14px;color:var(--tinta-clara);max-width:28em}

/* Pie */
.pie{background:var(--noche);color:var(--tinta-clara);font-size:13.5px;line-height:1.55;padding-top:clamp(64px,8vw,110px);overflow:hidden;border-top:1px solid var(--linea-osc)}
.pie-marca{display:block;width:100%;height:auto;margin-bottom:clamp(36px,5vw,64px);overflow:visible}
.pie-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:24px;padding-bottom:32px;border-bottom:1px solid var(--linea-osc)}
.pie-grid h3{font-family:var(--body);text-transform:uppercase;font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--arena);margin-bottom:12px;line-height:1.2}
.pie-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13.5px}
.pie-grid a{text-decoration:none}
.pie-grid a:hover{color:var(--blanco);text-decoration:underline}
.pie-id{display:grid;gap:14px;align-content:start}
.pie-lema{font-family:var(--marca);font-size:13.5px;text-wrap:balance;line-height:1.4;color:var(--tinta-clara);max-width:16em}
.pie-iso{display:inline-block;width:max-content}
.pie-bajo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 0 24px;font-size:12px}
.trevya a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.trevya-logo{font-weight:800;letter-spacing:.02em;color:var(--crema)}
.trevya a:hover .trevya-logo{color:var(--arena)}
.trevya img{height:15px;width:auto;display:block}
.trevya a{opacity:.85;transition:opacity .25s var(--ease)}
.trevya a:hover{opacity:1}
@media (max-width:860px){.pie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pie-grid>div:first-child{grid-column:1/-1}}
@media (max-width:480px){.pie-grid{grid-template-columns:minmax(0,1fr)}}

/* Barra móvil */
.barra{display:none}
@media (max-width:760px){
  .barra{display:grid;grid-template-columns:minmax(0,1fr) auto;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--noche);border-top:1px solid var(--linea-osc);transform:translateY(100%);transition:transform .45s var(--ease)}
  .barra.ver{transform:none}
  .barra a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 16px;font-weight:700;text-decoration:none;color:var(--noche);background:var(--arena)}
  .barra a+a{background:var(--noche);color:var(--arena);border-left:1px solid var(--linea-osc)}
  body{padding-bottom:56px}
}

/* Fotos ampliadas */
.lb{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:rgba(14,16,15,.97);color:var(--blanco)}
.lb::backdrop{background:rgba(14,16,15,.9)}
.lb[open]{display:grid;place-items:center}
.lb-fig{margin:0;display:grid;gap:12px;justify-items:center;padding:64px 80px 24px;max-width:100%;touch-action:pan-y}
.lb-img{max-width:min(1500px,100%);max-height:calc(100dvh - 140px);object-fit:contain;user-select:none}
.lb-cap{display:flex;gap:16px;justify-content:space-between;width:100%;max-width:1000px;font-size:14px;color:var(--tinta-clara)}
.lb-num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:var(--arena)}
.lb-btn{position:absolute;width:52px;height:52px;border:1.5px solid var(--linea-osc);background:var(--noche);color:var(--blanco);display:grid;place-items:center;cursor:pointer;transition:background-color .2s var(--ease)}
.lb-btn:hover{background:var(--carbon-2)}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb-close{right:16px;top:16px}
@media (max-width:700px){.lb-fig{padding:72px 12px 96px}.lb-prev,.lb-next{top:auto;bottom:22px;transform:none}.lb-prev{left:calc(50% - 60px)}.lb-next{right:calc(50% - 60px)}}
@media (prefers-reduced-motion:no-preference){.lb[open] .lb-img{animation:aparece .3s var(--ease)}}

/* Ficha de ruta */
.r-hero{position:relative;min-height:84vh;min-height:84dvh;display:flex;align-items:flex-end;color:var(--blanco);background:var(--noche);isolation:isolate;overflow:hidden}
.r-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.r-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,16,15,.88) 0%,rgba(14,16,15,.35) 55%,rgba(14,16,15,.25) 100%)}
.r-hero-in{padding-top:130px;padding-bottom:clamp(36px,5vw,64px);display:grid;gap:18px}
.migas{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--arena)}
.migas a{text-decoration:none}.migas a:hover{text-decoration:underline}
.r-hero h1{font-size:clamp(60px,10vw,156px);line-height:.86;max-width:10em}
.r-hero .lead{color:#EDE6D8;max-width:36em}
.ficha-sec{background:var(--noche);color:var(--crema)}
.ficha{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto}
.ficha div{padding:22px 22px 24px 0;border-top:1px solid var(--linea-osc)}
.ficha div+div{padding-left:22px}
.ficha div:nth-child(4n+1){padding-left:0}
.ficha div:not(:nth-child(4n+1)){border-left:1px solid var(--linea-osc)}
.ficha dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--arena);margin-bottom:6px}
.ficha dd{margin:0;font-size:16px}
@media (max-width:860px){.ficha{grid-template-columns:repeat(2,minmax(0,1fr))}.ficha div:nth-child(n){padding-left:22px;border-left:1px solid var(--linea-osc)}.ficha div:nth-child(2n+1){padding-left:0;border-left:0}}
@media (max-width:480px){.ficha{grid-template-columns:minmax(0,1fr)}.ficha div:nth-child(n){padding-left:0;border-left:0}}
.r-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,96px);align-items:start}
.r-intro-txt{display:grid;gap:16px}
.r-intro-txt .h2{font-size:clamp(40px,5vw,72px)}
.r-intro-txt p{color:var(--tinta-2)}
.r-intro h3{font-size:30px;margin-bottom:14px}
.r-intro .lista{border-top:1.5px solid var(--tinta)}
.r-intro .r-lado{display:grid;gap:28px}
@media (max-width:860px){.r-intro{grid-template-columns:minmax(0,1fr)}}
.galeria{list-style:none;padding:0;margin:clamp(48px,6vw,80px) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:10px;container-type:inline-size;grid-auto-rows:calc((100cqw - 30px) / 4)}
.galeria li{overflow:hidden;background:var(--crema-2)}
.galeria li:first-child{grid-column:span 2;grid-row:span 2}
.galeria button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.galeria button:hover img{transform:scale(1.05)}
.galeria button:focus-visible{outline:3px solid var(--arcilla);outline-offset:-3px}
@media (max-width:700px){.galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-auto-rows:calc((100cqw - 8px) / 2)}}
.itin{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px);align-items:start}
.itin-head{display:grid;gap:14px;position:sticky;top:110px}
.dias{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--arena)}
.dias li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid var(--linea-osc)}
.dias .dia{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:26px;line-height:1;color:var(--arena)}
.dias h3{font-size:30px;margin-bottom:8px;color:var(--blanco)}
.dias p{color:var(--tinta-clara)}
@media (max-width:860px){.itin{grid-template-columns:minmax(0,1fr)}.itin-head{position:static}}
@media (max-width:480px){.dias li{grid-template-columns:minmax(0,1fr);gap:6px}}
.cierre{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:28px;align-items:end;border-top:1.5px solid var(--tinta);padding-top:clamp(32px,4vw,48px)}
.cierre .h2{font-size:clamp(44px,6vw,96px)}
.cierre p{color:var(--tinta-2);margin-top:14px;max-width:34em}
@media (max-width:860px){.cierre{grid-template-columns:minmax(0,1fr)}}
.otras{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:clamp(48px,6vw,72px)}
.otras a{position:relative;display:flex;align-items:flex-end;aspect-ratio:3/4;color:var(--blanco);text-decoration:none;overflow:hidden;isolation:isolate}
.otras img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.otras a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(14,16,15,.85),rgba(14,16,15,0) 60%)}
.otras a:hover img{transform:scale(1.06)}
.otras span{padding:14px;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:24px;line-height:.95}
@media (max-width:980px){.otras{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.otras{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Legales */
.legal{max-width:46rem;display:grid;gap:16px;padding-top:140px}
.legal h1{font-size:clamp(48px,7vw,96px);margin-bottom:8px}
.legal h2{font-size:32px;margin-top:20px}
.legal ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.legal a{color:var(--arcilla)}
.legal .aviso{background:var(--crema-2);padding:16px 18px}
