/* ==========================================================================
   Los Caminos — "Trail Editorial"
   Rediseño visual. Stack vanilla (HTML + CSS). Bilingüe + Netlify intactos.
   ========================================================================== */

:root{
  /* Paleta calibrada — papel cálido, bosque profundo, latón desaturado */
  --paper:#F4EEE1;
  --paper-2:#ECE4D2;
  --card:#FBF7EC;
  --ink:#15281C;
  --forest:#1E3A28;
  --forest-deep:#0C1B12;
  --moss:#3B6B47;
  --brass:#B8863B;
  --brass-soft:#D9B877;
  --brass-hi:#E7CF9A;
  --stone:#63705F;
  --stone-soft:#7C877A;
  --line:rgba(21,40,28,.14);
  --line-soft:rgba(21,40,28,.08);

  --serif:'Newsreader',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  --display:'Bricolage Grotesque',sans-serif;

  --ease:cubic-bezier(.16,1,.3,1);
  --maxw:1280px;

  --pad:clamp(20px,5vw,64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--brass);color:#20180A}

.page{position:relative}

/* --- Textura de papel (grano) --------------------------------------------- */
.grain{
  position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* --- Barra de progreso de scroll (scroll-driven CSS) ---------------------- */
.progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:80;transform-origin:0 50%;
  background:linear-gradient(90deg,var(--brass),var(--moss));transform:scaleX(0);
}
@supports (animation-timeline:scroll()){
  .progress{animation:progress-grow linear;animation-timeline:scroll(root block)}
}
@keyframes progress-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* --- Foco accesible -------------------------------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--brass);outline-offset:3px;border-radius:4px;
}
.on-dark a:focus-visible,.on-dark button:focus-visible,.input:focus-visible{outline-color:var(--brass-hi)}

/* --- Utilidades tipográficas ---------------------------------------------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--brass);
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7}
.eyebrow--plain::before{display:none}

.display{
  font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.02;
  color:var(--ink);margin:0;
  font-size:clamp(38px,6vw,84px);
}
.display em{font-style:italic;font-weight:500;color:var(--brass)}
.display--sm{font-size:clamp(30px,4.4vw,54px);line-height:1.06}
.on-dark .display,.on-dark .lead,.on-dark h3{color:var(--paper)}

.lead{
  font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:var(--stone);
  max-width:56ch;margin:0;font-weight:400;
}
.on-dark .lead{color:rgba(244,238,225,.72)}

/* --- Botones --------------------------------------------------------------- */
.btn{
  --bg:var(--forest);--fg:var(--paper);
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.01em;
  text-decoration:none;cursor:pointer;border:none;
  padding:15px 26px;border-radius:100px;
  background:var(--bg);color:var(--fg);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .3s ease;
  will-change:transform;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(12,27,18,.55)}
.btn:active{transform:translateY(0) scale(.985)}
.btn .arrow{transition:transform .5s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn--brass{--bg:var(--brass);--fg:#20180A}
.btn--brass:hover{box-shadow:0 16px 34px -14px rgba(184,134,59,.75)}
.btn--moss{--bg:var(--moss);--fg:var(--paper)}
.btn--ghost{
  --bg:transparent;--fg:var(--paper);
  border:1px solid rgba(244,238,225,.4);backdrop-filter:blur(8px);
  background:rgba(244,238,225,.06);
}
.btn--ghost:hover{background:rgba(244,238,225,.12)}
.btn--outline{--bg:transparent;--fg:var(--ink);border:1px solid var(--line)}
.btn--sm{padding:12px 20px;font-size:14px}

/* Enlace con subrayado que se dibuja */
.ulink{position:relative;text-decoration:none;color:inherit}
.ulink::after{
  content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:0 50%;
  transition:transform .5s var(--ease);
}
.ulink:hover::after{transform:scaleX(1)}

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{
  position:sticky;top:0;z-index:70;
  background:rgba(244,238,225,.72);backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--line-soft);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;height:72px;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.nav-brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.nav-logo{height:40px;width:auto;border-radius:8px}
.nav-title{
  font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em;
  text-transform:uppercase;color:var(--forest);line-height:1;white-space:nowrap;
}
.desk-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav-link{font-weight:600;font-size:14.5px;color:var(--stone);text-decoration:none}
.nav-link:hover{color:var(--ink)}

.lang-toggle{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:100px;padding:3px}
.lang-btn{
  border:none;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:12px;
  padding:5px 11px;border-radius:100px;background:transparent;color:var(--stone);
  transition:background .3s ease,color .3s ease;
}
.lang-btn.is-active{background:var(--forest);color:var(--paper)}

.burger{
  display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;
  width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;cursor:pointer;
}
.burger span{display:block;width:18px;height:2px;background:var(--forest);border-radius:2px;transition:transform .4s var(--ease),opacity .3s ease}

.mnav{display:none;flex-direction:column;padding:8px var(--pad) 20px;border-top:1px solid var(--line-soft);background:rgba(244,238,225,.98)}
.mnav.is-open{display:flex}
.mlink{text-decoration:none;color:var(--ink);font-weight:600;font-size:17px;padding:13px 0}
.mlink+.mlink{border-top:1px solid var(--line-soft)}
.mnav-cta-row{display:flex;gap:12px;align-items:center;padding:16px 0 4px;border-top:1px solid var(--line-soft)}
.mnav-cta-row .lang-toggle{margin-left:auto}

/* ==========================================================================
   HERO — full-bleed, contenido anclado abajo-izquierda (asimétrico)
   ========================================================================== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:flex-end;
  padding:120px var(--pad) clamp(48px,7vh,80px);overflow:hidden;isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:url("images/hero-bg.jpg");background-size:cover;background-position:center;
  transform:scale(1.06);animation:hero-drift 24s ease-in-out infinite alternate;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,22,14,.35) 0%,rgba(10,22,14,.28) 30%,rgba(10,22,14,.72) 78%,rgba(12,27,18,.95) 100%);
}
@keyframes hero-drift{from{transform:scale(1.06) translateY(0)}to{transform:scale(1.12) translateY(-2%)}}
.hero-inner{width:100%;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.55fr .8fr;gap:40px;align-items:end}
.hero-logo{width:132px;border-radius:14px;height:auto;margin-bottom:26px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.5))}
.hero-eyebrow{color:var(--brass-hi);margin-bottom:22px}
.hero h1{
  font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:.98;
  color:#FBF7EC;margin:0 0 26px;font-size:clamp(46px,8.2vw,112px);
  text-shadow:0 4px 40px rgba(0,0,0,.35);
}
.hero h1 em{font-style:italic;color:var(--brass-hi)}
.hero-sub{font-size:clamp(16px,1.5vw,20px);line-height:1.6;color:rgba(251,247,236,.86);max-width:52ch;margin:0 0 34px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
/* Panel de meta tipo "credencial" — vidrio con refracción */
.hero-meta{
  align-self:end;justify-self:end;width:100%;max-width:300px;
  background:rgba(12,27,18,.42);backdrop-filter:blur(14px);
  border:1px solid rgba(244,238,225,.16);border-radius:20px;padding:22px 22px 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 50px -24px rgba(0,0,0,.6);
}
.hero-meta-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(244,238,225,.12)}
.hero-meta-row:last-child{border-bottom:none;padding-bottom:0}
.hero-meta-row:first-child{padding-top:0}
.hero-meta-k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-hi);font-weight:700;min-width:70px}
.hero-meta-v{font-size:14px;color:rgba(251,247,236,.9);font-weight:500;line-height:1.35}
.hero-dot{width:7px;height:7px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 0 0 rgba(217,184,119,.6);animation:pulse 2.6s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,184,119,.5)}70%{box-shadow:0 0 0 9px rgba(217,184,119,0)}100%{box-shadow:0 0 0 0 rgba(217,184,119,0)}}
.hero-scroll{position:absolute;left:var(--pad);bottom:22px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,247,236,.6);z-index:1}
.hero-scroll span{width:34px;height:1px;background:rgba(251,247,236,.5);overflow:hidden;position:relative}
.hero-scroll span::after{content:"";position:absolute;inset:0;background:var(--brass-hi);transform:translateX(-100%);animation:scroll-line 2.4s var(--ease) infinite}
@keyframes scroll-line{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

/* ==========================================================================
   RIBBON — marquee cinético
   ========================================================================== */
.ribbon{background:var(--forest-deep);color:var(--paper);padding:20px 0;overflow:hidden;border-block:1px solid rgba(244,238,225,.08)}
.marquee{display:flex;width:max-content;animation:marquee 34s linear infinite}
.ribbon:hover .marquee{animation-play-state:paused}
.marquee span{
  font-family:var(--serif);font-style:italic;font-size:clamp(22px,3vw,34px);
  padding:0 28px;color:rgba(244,238,225,.86);display:inline-flex;align-items:center;gap:28px;white-space:nowrap;
}
.marquee span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--brass)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ==========================================================================
   SECCIONES
   ========================================================================== */
.sec{padding:clamp(72px,11vh,140px) var(--pad);scroll-margin-top:80px;position:relative}
.sec--paper2{background:var(--paper-2)}
.sec--forest{background:var(--forest)}
.sec--deep{background:var(--forest-deep)}
.wrap{max-width:var(--maxw);margin:0 auto}
.wrap--narrow{max-width:1040px}
.head{max-width:760px;margin-bottom:clamp(40px,6vh,72px)}
.head .eyebrow{margin-bottom:20px}
.head .display{margin-bottom:20px}

/* --- Reveal on scroll ------------------------------------------------------ */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal--animate{opacity:1;transform:none}
[data-reveal] .stagger>*{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal--animate .stagger>*{opacity:1;transform:none}
.reveal--animate .stagger>*:nth-child(2){transition-delay:.09s}
.reveal--animate .stagger>*:nth-child(3){transition-delay:.18s}
.reveal--animate .stagger>*:nth-child(4){transition-delay:.27s}

/* ==========================================================================
   BANNER SMS — aviso editorial (no slab)
   ========================================================================== */
.notice{background:var(--paper-2);padding:clamp(40px,6vh,64px) var(--pad);border-bottom:1px solid var(--line-soft)}
.notice-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:28px;justify-content:space-between}
.notice-l{display:flex;align-items:flex-start;gap:18px;flex:1 1 460px;min-width:280px}
.notice-badge{flex:0 0 auto;width:52px;height:52px;border-radius:16px;background:var(--brass);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -12px rgba(184,134,59,.7)}
.notice h2{font-family:var(--display);font-weight:800;font-size:clamp(21px,3vw,28px);letter-spacing:-.01em;color:var(--forest);margin:0 0 6px}
.notice p{font-size:16px;line-height:1.5;color:var(--stone);margin:0;max-width:52ch}

/* ==========================================================================
   INSCRIPCIÓN — tracks asimétricos + pasos editoriales
   ========================================================================== */
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:clamp(56px,8vh,88px)}
.track{
  position:relative;border-radius:24px;padding:clamp(28px,3vw,40px);overflow:hidden;isolation:isolate;
  border:1px solid var(--line);background:var(--card);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.track:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(12,27,18,.4)}
.track--sc{background:var(--forest);border-color:transparent}
.track--sc .track-name{color:var(--paper)}
.track--sc .track-desc{color:rgba(244,238,225,.74)}
.track-tag{position:absolute;top:24px;right:26px;font-family:var(--display);font-weight:800;font-size:clamp(56px,7vw,92px);line-height:1;color:var(--ink);opacity:.06;letter-spacing:-.04em}
.track--sc .track-tag{color:var(--paper);opacity:.1}
.track-kicker{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.track--sc .track-kicker{color:var(--brass-soft)}
.track-name{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,34px);letter-spacing:-.01em;color:var(--ink);margin:0 0 12px;max-width:16ch}
.track-desc{font-size:16px;line-height:1.6;color:var(--stone);margin:0 0 26px;max-width:38ch}
.track--sc .track-cta{--bg:var(--brass);--fg:#20180A}

/* Pasos como lista editorial numerada (no 3 cards iguales) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-bottom:clamp(56px,8vh,88px)}
.step{padding:30px clamp(20px,2.4vw,34px) 30px 0;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:none}
.step-num{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass);display:block;margin-bottom:14px}
.step-title{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.2vw,25px);color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}
.step-desc{font-size:15px;line-height:1.55;color:var(--stone);margin:0;max-width:34ch}

/* Formulario */
.form-shell{
  background:var(--forest-deep);border-radius:28px;padding:clamp(28px,3.4vw,52px);max-width:860px;
  border:1px solid rgba(244,238,225,.08);box-shadow:0 40px 80px -50px rgba(12,27,18,.7);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-intro{grid-column:1/-1;margin:0 0 6px}
.form-title{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.6vw,32px);color:var(--paper);margin:0 0 6px;letter-spacing:-.01em}
.form-note{font-size:14px;color:rgba(244,238,225,.6);margin:0}
.form-group{grid-column:1/-1;border:1px solid rgba(244,238,225,.14);border-radius:20px;padding:clamp(20px,2.4vw,30px);margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group legend{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-soft);padding:0 8px;margin-left:-2px}
.field{display:flex;flex-direction:column;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:rgba(244,238,225,.82)}
.field--full{grid-column:1/-1}
.input{
  font-family:var(--sans);font-size:15px;padding:14px 15px;color:var(--paper);
  border:1px solid rgba(244,238,225,.22);border-radius:12px;background:rgba(244,238,225,.05);
  transition:border-color .3s ease,background .3s ease;
}
.input:hover{border-color:rgba(244,238,225,.4)}
.input:focus{background:rgba(244,238,225,.09);border-color:var(--brass-soft)}
.input::placeholder{color:rgba(244,238,225,.45)}
textarea.input{resize:vertical;min-height:88px}
.input option{color:var(--forest-deep)}
.btn-submit{grid-column:1/-1;justify-self:start}

.form-thanks{display:none;text-align:center;padding:36px 10px}
.thanks-icon{width:62px;height:62px;border-radius:50%;background:rgba(184,134,59,.18);border:1px solid rgba(217,184,119,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-thanks h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,28px);color:var(--paper);margin:0 0 8px}
.form-thanks p{font-size:16px;color:rgba(244,238,225,.72);margin:0}
.form-error{display:none;margin-top:18px;background:rgba(178,58,58,.15);border:1px solid rgba(214,106,106,.45);border-radius:14px;padding:16px 20px}
.form-error p{font-size:15px;line-height:1.5;color:var(--paper);margin:0}

/* Newsletter box (bloque opcional, restaurable) */
.newsletter-box{margin-top:40px;max-width:820px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.newsletter-box>div{max-width:480px}
.newsletter-box h3{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink);margin:0 0 6px}
.newsletter-box p{font-size:15px;line-height:1.55;color:var(--stone);margin:0}

/* ==========================================================================
   CINE — banda con cita, zoom-parallax
   ========================================================================== */
.cine{position:relative;min-height:clamp(340px,60vh,560px);display:flex;align-items:center;overflow:hidden;isolation:isolate;padding:var(--pad)}
.cine::before{content:"";position:absolute;inset:0;z-index:-2;background:url("images/cine-bg.jpg") center/cover;transform:scale(1.05)}
.cine::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,27,18,.86),rgba(12,27,18,.4) 60%,rgba(12,27,18,.2))}
.cine-quote{max-width:820px;margin:0 auto;width:100%}
.cine-quote blockquote{
  font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.01em;
  font-size:clamp(26px,4vw,46px);line-height:1.18;color:#FBF7EC;margin:0;text-shadow:0 4px 30px rgba(0,0,0,.4);
}
.cine-quote cite{display:block;margin-top:22px;font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-hi)}

/* ==========================================================================
   NOSOTROS — zig-zag editorial + pilares con divisores (no cards iguales)
   ========================================================================== */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:center;margin-bottom:clamp(56px,9vh,110px)}
.about-body .lead{margin-top:22px;font-size:clamp(17px,1.7vw,20px);color:var(--stone)}
.about-body .lead+.lead{margin-top:18px}
.about-figure{position:relative}
.about-img-wrap{border-radius:24px;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.about-img-wrap img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.about-figure:hover img{transform:scale(1.04)}
.about-figure figcaption{position:absolute;left:20px;bottom:18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);background:var(--card);border:1px solid var(--line);padding:7px 13px;border-radius:100px}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.pillar{padding:34px clamp(22px,2.5vw,36px) 8px 0;border-right:1px solid var(--line)}
.pillar:last-child{border-right:none}
.pillar-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:rgba(184,134,59,.12);color:var(--brass)}
.pillar-ic--moss{background:rgba(59,107,71,.14);color:var(--moss)}
.pillar-ic--forest{background:rgba(21,40,28,.1);color:var(--forest)}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.2vw,26px);color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.pillar p{font-size:16px;line-height:1.6;color:var(--stone);margin:0;max-width:34ch}

/* ==========================================================================
   BIENESTAR — bento asimétrico
   ========================================================================== */
.well-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}
.well-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,2.6vw,36px);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.well-card:hover{transform:translateY(-3px);box-shadow:0 26px 50px -34px rgba(12,27,18,.35)}
.well-ic{width:50px;height:50px;border-radius:14px;background:rgba(184,134,59,.14);color:var(--brass-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.well-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.1vw,24px);color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.well-card p{font-size:15.5px;line-height:1.6;color:var(--stone);margin:0}
.well-photos{display:grid;grid-template-columns:1.9fr 1fr;gap:18px;margin-top:22px}
.photo{position:relative;border-radius:22px;overflow:hidden;background:var(--paper-2)}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.photo:hover img{transform:scale(1.05)}
.photo--tall img{aspect-ratio:3/4}
.photo--wide img{aspect-ratio:16/10}

/* ==========================================================================
   GALERÍA — masonry + hover reveal
   ========================================================================== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px;grid-auto-flow:row dense}
.gcell{position:relative;border-radius:20px;overflow:hidden;background:rgba(244,238,225,.06)}
.gcell img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s ease}
.gcell:hover img{transform:scale(1.06)}
.gcell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(12,27,18,.5));opacity:0;transition:opacity .5s ease}
.gcell:hover::after{opacity:1}
.g-a{grid-column:span 1;grid-row:span 2}
.g-b{grid-column:span 2;grid-row:span 1}
.g-c{grid-column:span 1}
.g-d{grid-column:span 1}
.g-e{grid-column:span 2;grid-row:span 1}
.g-f{grid-column:span 1;grid-row:span 2}
.g-g{grid-column:span 2;grid-row:span 2}
.g-h{grid-column:span 1}
.g-i{grid-column:span 1}
.g-j{grid-column:span 2}

/* ==========================================================================
   TESTIMONIOS — cita destacada + secundarias asimétricas
   ========================================================================== */
.testi-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.testi-feature{background:var(--forest);border-radius:26px;padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.testi-feature blockquote{font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(24px,2.8vw,38px);line-height:1.22;color:var(--paper);margin:0;letter-spacing:-.01em}
.testi-col{display:grid;grid-template-rows:1fr 1fr;gap:22px}
.testi-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.testi-card blockquote{font-family:var(--serif);font-size:clamp(18px,1.9vw,21px);line-height:1.45;color:var(--ink);margin:0;font-weight:400}
.testi-mark{font-family:var(--serif);font-size:56px;line-height:.4;color:var(--brass)}
.testi-author{font-size:13px;letter-spacing:.06em;color:var(--stone-soft);font-weight:600}
.testi-feature .testi-author{color:var(--brass-soft)}
.testi-video-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:40px}
.testi-video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:18px;background:#0e1d14;border:1px solid var(--line);display:block}

/* ==========================================================================
   EQUIPO
   ========================================================================== */
.team-figure{position:relative;border-radius:28px;overflow:hidden;background:var(--forest)}
.team-figure img{width:100%;aspect-ratio:21/9;object-fit:cover;transition:transform 1.2s var(--ease)}
.team-figure:hover img{transform:scale(1.04)}
.team-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,27,18,.5))}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--forest-deep);padding:clamp(64px,9vh,110px) var(--pad) 40px;position:relative;overflow:hidden}
.footer-word{font-family:var(--display);font-weight:800;font-size:clamp(60px,16vw,220px);line-height:.8;letter-spacing:-.04em;text-transform:uppercase;color:rgba(244,238,225,.05);margin:0 0 clamp(40px,6vh,70px);pointer-events:none;white-space:nowrap}
.foot-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(32px,5vw,60px);align-items:start;position:relative}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.foot-dot{width:30px;height:30px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center}
.foot-dot span{width:10px;height:10px;border-radius:50%;background:var(--forest-deep)}
.foot-name{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em;text-transform:uppercase;color:var(--paper);line-height:1}
.foot-tagline{font-size:15px;line-height:1.6;color:rgba(244,238,225,.55);max-width:320px;margin:0}
.foot-head{font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 18px}
.foot-links{display:flex;flex-direction:column;gap:12px}
.foot-link{text-decoration:none;color:rgba(244,238,225,.74);font-size:15px;width:fit-content}
.foot-contact{display:flex;flex-direction:column;gap:12px;font-size:15px;color:rgba(244,238,225,.74)}
.foot-contact a{text-decoration:none;color:rgba(244,238,225,.74)}
.foot-ig{display:inline-flex;align-items:center;gap:8px;width:fit-content}
.foot-bottom{max-width:var(--maxw);margin:clamp(48px,7vh,72px) auto 0;padding-top:24px;border-top:1px solid rgba(244,238,225,.1);font-size:13px;color:rgba(244,238,225,.4);position:relative;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:960px){
  .desk-nav{display:none}
  .burger{display:inline-flex}
  .hero-inner{grid-template-columns:1fr}
  .hero-meta{justify-self:start;max-width:340px;margin-top:6px}
  .about{grid-template-columns:1fr;gap:34px}
  .tracks{grid-template-columns:1fr}
  .steps,.pillars{grid-template-columns:1fr;border-top:none}
  .step,.pillar{border-right:none;border-top:1px solid var(--line);padding:26px 0 24px}
  .well-bento{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .testi-video-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .g-a,.g-f{grid-row:span 2}
  .g-b,.g-e,.g-g,.g-j{grid-column:span 2}
  .g-g{grid-row:span 1}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:600px){
  body{font-size:16px}
  .form-grid,.form-group{grid-template-columns:1fr}
  .btn-submit{width:100%;justify-content:center}
  .well-photos{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr;grid-auto-rows:220px}
  .gcell{grid-column:span 1!important;grid-row:span 1!important}
  .notice-inner{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr}
}

/* --- Reduce-motion --------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero::before,.marquee,.hero-dot,.