:root {
  --color-green-deep:#071A15; --color-green-emerald:#0D382E;
  --color-gold:#D4AF37; --color-gold-soft:#F3D88A; --color-cream:#F6F1E7;
  --color-bg-dark:var(--color-green-deep); --color-bg-section:var(--color-green-emerald);
  --color-text-light:rgba(246,241,231,0.90); --color-text-dark:#0B1F1A;
  --color-border-gold:rgba(212,175,55,0.35);
  --font-title:'Cormorant Garamond',Georgia,serif; --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'Montserrat',system-ui,sans-serif;
  --space-sm:16px; --space-md:24px; --space-lg:40px; --space-xl:64px;
  --maxw:1200px; --radius:14px;
  --shadow-gold:0 0 24px rgba(212,175,55,0.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--color-bg-dark);color:var(--color-text-light);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-title);font-weight:500;line-height:1.15;color:var(--color-cream);letter-spacing:.02em}
/* Títulos de display en MAYÚSCULAS (Cormorant no las fuerza como Blair) */
.hero-title,.section-head h2,.block-title,.pilar-name,.abc-name,.product-name,.valor h3{text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.hero-title .headline-italic{text-transform:none;letter-spacing:.01em;font-weight:500}
.headline-italic{font-family:var(--font-head);font-style:italic;color:var(--color-gold)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(100% - 2*var(--space-md),var(--maxw));margin-inline:auto}
.section{padding-block:var(--space-xl)}
:where(section[id]){scroll-margin-top:84px}
.eyebrow{font-family:var(--font-body);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--font-body);font-weight:600;font-size:.82rem;letter-spacing:.04em;padding:.85em 1.6em;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}
.btn-gold{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-soft));color:var(--color-green-deep);box-shadow:var(--shadow-gold)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(212,175,55,.34)}
.btn-ghost{background:transparent;color:var(--color-cream);border-color:var(--color-border-gold)}
.btn-ghost:hover{border-color:var(--color-gold);color:var(--color-gold)}

/* ===== Header ===== */
.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:100;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;border-block-end:1px solid transparent}
.site-header.scrolled{background:rgba(7,26,21,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-end-color:var(--color-border-gold)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:18px}
.brand-logo{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav>a{font-size:.84rem;font-weight:500;letter-spacing:.03em;color:var(--color-text-light);transition:color .2s ease}
.nav>a:hover{color:var(--color-gold)}

/* Botón "Agenda una llamada" del header (estado scrolled, a la derecha) */
.header-cta{display:none;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;padding:.72em 1.4em;border-radius:9px;
  background:rgba(7,26,21,.55);border:1px solid var(--color-gold);color:var(--color-gold-soft);
  box-shadow:0 0 16px rgba(212,175,55,.18);transition:background .25s ease,color .25s ease,transform .25s ease}
.header-cta:hover{background:rgba(212,175,55,.14);color:var(--color-cream);transform:translateY(-1px)}

/* Desktop: nav centrado; logo del header oculto hasta hacer scroll */
@media (min-width:961px){
  .header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:86px;padding-block:0}
  .nav{grid-column:2;justify-self:center}
  .brand{grid-column:1;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
  .site-header.scrolled .brand{opacity:1;visibility:visible;transform:none}
  /* "Agenda una llamada": en el hero arriba; al hacer scroll, como botón a la derecha */
  .nav .nav-cta{display:none}
  .header-cta{grid-column:3;justify-self:end}
  .site-header.scrolled .header-cta{display:inline-flex}
}

/* hamburger */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;z-index:120}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--color-gold);transition:transform .3s ease,opacity .3s ease;margin-inline:auto}

/* ===== Mobile menu — full-screen premium overlay ===== */
@media (max-width:960px){
  .nav-toggle{display:flex;margin-top:10px;margin-right:2px}
  .hero-cta{display:none}
  /* sin logo duplicado: el del header aparece (dorado) solo al hacer scroll */
  .brand{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
  .site-header.scrolled .brand{opacity:1;visibility:visible}
  .nav{position:fixed;inset:0;height:100vh;height:100dvh;flex-direction:column;justify-content:center;gap:0;
    background:radial-gradient(120% 80% at 85% 12%,rgba(212,175,55,.16),transparent 55%),radial-gradient(120% 90% at 12% 92%,rgba(123,142,196,.12),transparent 55%),var(--color-green-deep);
    transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.2,1);padding:var(--space-xl) var(--space-lg)}
  body.nav-open{overflow:hidden}
  body.nav-open .nav{transform:translateX(0)}
  .nav>a{font-family:var(--font-head);font-size:1.85rem;font-style:italic;color:var(--color-cream);width:100%;max-width:420px;margin-inline:auto;padding-block:18px;border-block-end:1px solid var(--color-border-gold);opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
  .nav>a::after{content:"→";float:right;color:var(--color-gold)}
  body.nav-open .nav>a{opacity:1;transform:none}
  body.nav-open .nav>a:nth-child(1){transition-delay:.08s}
  body.nav-open .nav>a:nth-child(2){transition-delay:.13s}
  body.nav-open .nav>a:nth-child(3){transition-delay:.18s}
  body.nav-open .nav>a:nth-child(4){transition-delay:.23s}
  body.nav-open .nav>a:nth-child(5){transition-delay:.28s}
  .nav-cta{font-family:var(--font-body)!important;font-style:normal!important;font-size:.9rem!important;font-weight:600;background:linear-gradient(135deg,var(--color-gold),var(--color-gold-soft));color:var(--color-green-deep)!important;border-block-end:none!important;max-width:420px;margin-top:var(--space-md);padding:.85em 1.6em;border-radius:999px;box-shadow:var(--shadow-gold);text-align:center}
  .nav-cta::after{display:none}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;
  background-color:var(--color-green-deep);
  background-image:linear-gradient(rgba(7,26,21,.35),rgba(7,26,21,.55)),url(assets/images/fondos/hero.jpg);
  background-size:cover;background-position:center}

/* Marco HUD: borde superior e inferior completos; lados solo cerca de las esquinas
   (hueco en la mitad de los costados, como el mockup). Esquinas a 45°. */
.hud-frame{position:absolute;inset:18px;pointer-events:none;z-index:2;
  --c:clamp(52px,6vw,88px); --bw:1.7px;
  background:linear-gradient(135deg,var(--color-gold-soft),var(--color-gold) 45%,var(--color-gold-soft));
  filter:drop-shadow(0 0 6px rgba(212,175,55,.5));
  clip-path:polygon(evenodd,
    0 var(--c), var(--c) 0, calc(100% - var(--c)) 0, 100% var(--c), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--c) 100%, 0 calc(100% - var(--c)),
    var(--bw) var(--c), var(--c) var(--bw), calc(100% - var(--c)) var(--bw), calc(100% - var(--bw)) var(--c), calc(100% - var(--bw)) calc(100% - var(--c)), calc(100% - var(--c)) calc(100% - var(--bw)), var(--c) calc(100% - var(--bw)), var(--bw) calc(100% - var(--c)));
  -webkit-mask:linear-gradient(to bottom,#000 0 14%,transparent 40%,transparent 60%,#000 86% 100%);
          mask:linear-gradient(to bottom,#000 0 14%,transparent 40%,transparent 60%,#000 86% 100%)}
/* Hero: el marco arranca debajo del nav (desktop) */
.hero .hud-frame{top:86px;left:24px;right:24px;bottom:24px}
/* Móvil: el marco llega hasta arriba y la hamburguesa queda dentro */
@media (max-width:960px){ .hero .hud-frame{top:14px} }


/* Botón "Agenda una llamada" en la esquina del marco (como el mockup) */
.hero-cta{position:absolute;z-index:4;top:clamp(98px,11vh,112px);right:clamp(30px,4vw,54px);
  text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;padding:.95em 1.9em;border-radius:10px;
  background:rgba(7,26,21,.55);border:1px solid var(--color-gold);color:var(--color-gold-soft);
  box-shadow:0 0 22px rgba(212,175,55,.22),inset 0 0 12px rgba(212,175,55,.06)}
.hero-cta:hover{background:rgba(212,175,55,.14);color:var(--color-cream);transform:translateY(-2px);box-shadow:0 0 28px rgba(212,175,55,.38),inset 0 0 12px rgba(212,175,55,.08)}

.hero-inner{position:relative;z-index:3;text-align:center;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:clamp(96px,12vh,120px);padding-bottom:clamp(32px,5vh,56px)}
/* Desktop: ocupa exactamente la región del marco y centra ahí (equilibrio arriba/abajo) */
@media (min-width:961px){
  .hero-inner{position:absolute;top:86px;bottom:24px;left:50%;transform:translateX(-50%);
    width:min(100% - 2*var(--space-md),var(--maxw));min-height:0;justify-content:flex-start;
    padding-top:clamp(30px,5vh,56px);padding-bottom:clamp(88px,12vh,116px)}
  /* La zona media crece y ocupa TODO el espacio entre el logo y el recuadro,
     centrando ahí el bloque ADVANCE/BUILD/CLOSE → gaps equidistantes por construcción. */
  .hero-mid{flex:1 1 auto}
  .hero-logo{margin-bottom:0}
  .hero-title{margin-bottom:0}
}
.hero-logo{width:min(420px,68%);height:auto;margin-bottom:clamp(10px,3vh,30px);filter:drop-shadow(0 4px 30px rgba(212,175,55,.25))}
.hero-title{font-size:clamp(1.4rem,min(3.8vw,4.2vh),2.6rem);font-weight:500;letter-spacing:.01em;display:flex;flex-direction:column;gap:.62em;margin-bottom:clamp(12px,2.4vh,26px)}
.hero-title>span{color:var(--color-cream)}
.hero-title .headline-italic{display:block;font-size:.6em;font-weight:500;line-height:1.2;margin-top:.06em}
.hero-lead{max-width:600px;color:var(--color-text-light);font-size:clamp(.88rem,1.2vw,1rem);margin-bottom:clamp(14px,3vh,38px)}
.hero-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}

/* ===== Hero · ruta ABC (secuencia animada) ===== */
.hero-abc{--mark:clamp(34px,4.2vw,46px);--vgap:clamp(16px,2.8vh,30px);
  display:flex;flex-direction:column;gap:var(--vgap);width:max-content;max-width:100%;margin:0 auto;text-align:left}
.abc-step{position:relative;display:grid;grid-template-columns:var(--mark) 1fr;column-gap:clamp(14px,1.6vw,22px);align-items:start;
  opacity:0;transform:translateY(16px);animation:abcIn .7s cubic-bezier(.2,.7,.2,1) both}
.abc-step:nth-child(1){animation-delay:.35s}
.abc-step:nth-child(2){animation-delay:.8s}
.abc-step:nth-child(3){animation-delay:1.25s}
/* línea que conecta y se dibuja entre marcadores */
.abc-step:not(:last-child)::before{content:"";position:absolute;left:calc(var(--mark)/2);top:var(--mark);bottom:calc(-1*var(--vgap));
  width:2px;border-radius:2px;transform:translateX(-50%) scaleY(0);transform-origin:top;
  background:linear-gradient(var(--color-gold),rgba(212,175,55,.3));
  animation:abcLine .55s ease both}
.abc-step:nth-child(1)::before{animation-delay:.75s}
.abc-step:nth-child(2)::before{animation-delay:1.2s}
.abc-mark{align-self:start;display:grid;place-items:center;width:var(--mark);height:var(--mark);border-radius:50%;
  border:1px solid var(--color-gold);background:radial-gradient(circle at 50% 35%,rgba(212,175,55,.22),rgba(7,26,21,.55));
  font-family:var(--font-title);font-weight:600;color:var(--color-gold-soft);font-size:calc(var(--mark)*.46);line-height:1;
  box-shadow:0 0 18px rgba(212,175,55,.18),inset 0 0 10px rgba(212,175,55,.12);animation:abcPulse 1s ease both}
.abc-step:nth-child(1) .abc-mark{animation-delay:.4s}
.abc-step:nth-child(2) .abc-mark{animation-delay:.85s}
.abc-step:nth-child(3) .abc-mark{animation-delay:1.3s}
/* C = meta: marcador relleno en dorado con la letra en verde oscuro */
.abc-step:last-child .abc-mark{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-soft));
  border-color:var(--color-gold-soft);color:var(--color-green-deep)}
.abc-text{display:flex;flex-direction:column;min-width:0}
.abc-verb{font-family:var(--font-title);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--color-cream);
  font-size:clamp(1.5rem,min(4.6vw,5vh),2.7rem);line-height:1.02}
.abc-sub{font-family:var(--font-head);font-style:italic;color:var(--color-gold);
  font-size:clamp(1.18rem,2.15vw,1.55rem);line-height:1.3;margin-top:.12em}
@keyframes abcIn{to{opacity:1;transform:none}}
@keyframes abcLine{to{transform:translateX(-50%) scaleY(1)}}
@keyframes abcPulse{0%{box-shadow:0 0 0 0 rgba(212,175,55,0)}
  45%{box-shadow:0 0 28px 5px rgba(212,175,55,.5),inset 0 0 12px rgba(212,175,55,.2)}
  100%{box-shadow:0 0 18px rgba(212,175,55,.18),inset 0 0 10px rgba(212,175,55,.12)}}
@media (prefers-reduced-motion:reduce){
  .abc-step,.abc-mark{animation:none;opacity:1;transform:none}
  .abc-step:not(:last-child)::before{animation:none;transform:translateX(-50%) scaleY(1)}
}
@keyframes abcLineX{to{transform:scaleX(1)}}
/* PC: la ruta ABC se muestra horizontal (A → B → C) */
@media (min-width:768px){
  .hero-abc{--hgap:clamp(26px,4vw,60px);flex-direction:row;align-items:flex-start;justify-content:center;gap:var(--hgap);width:100%}
  .abc-step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
  .abc-mark{align-self:center;margin-bottom:.55em}
  .abc-verb{font-size:clamp(1.45rem,2.6vw,2.2rem)}
  .abc-sub{font-size:clamp(1.05rem,1.5vw,1.32rem);margin-top:.25em;max-width:24ch}
  .abc-step:not(:last-child)::before{top:calc(var(--mark)/2);left:calc(50% + var(--mark)/2);bottom:auto;
    width:calc(100% + var(--hgap) - var(--mark));height:2px;transform:scaleX(0);transform-origin:left;animation-name:abcLineX}
}
@media (prefers-reduced-motion:reduce) and (min-width:768px){
  .abc-step:not(:last-child)::before{transform:scaleX(1)}
}

.hero-quote{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:600px;padding:clamp(16px,2.4vh,26px) clamp(26px,3vw,40px);border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.5);box-shadow:var(--shadow-gold)}
.hero-quote .headline-italic{font-size:1.3rem;text-align:center;line-height:1.45}

.scroll-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(8px,2vh,20px);display:inline-flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-body);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-light);opacity:.8;transition:opacity .2s ease}
.scroll-hint:hover{opacity:1;color:var(--color-gold)}
.scroll-mouse{width:20px;height:32px;border:1.5px solid var(--color-gold);border-radius:11px;position:relative}
.scroll-mouse::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:6px;border-radius:2px;background:var(--color-gold);animation:scrollDot 1.6s ease-in-out infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,9px)}100%{opacity:0}}

/* Móvil/tablet vertical: separa el contenido de los costados del marco HUD */
@media (max-width:860px){
  .hero-inner{padding-inline:clamp(16px,5vw,30px)}
}
@media (max-width:600px){
  /* Hero móvil: ocupa el alto y reparte el espacio uniformemente (aire parejo) */
  .hero-inner{justify-content:space-between;min-height:100dvh;gap:0;
    padding-top:clamp(54px,8vh,78px);padding-bottom:clamp(40px,6vh,60px)}
  .hero-logo{width:min(268px,56%);margin:0}
  /* H1: cada frase en dos líneas limpias (verbo arriba / frase dorada debajo) */
  .hero-title{font-size:clamp(1.28rem,min(6.3vw,3.6vh),1.95rem);gap:clamp(.34em,1.2vh,.62em);margin:0;line-height:1.1;letter-spacing:.02em}
  .hero-title>span{display:block}
  .hero-title .headline-italic{display:block;font-size:.9em;line-height:1.18;margin-top:.04em}
  .hero-lead{font-size:clamp(.8rem,1.95vh,.92rem);margin:0}
  /* caja-frase más chica y separada de los marcos */
  .hero-quote{flex-direction:column;text-align:center;gap:.5em;align-self:center;width:min(100%,340px);
    padding:clamp(9px,1.4vh,13px) var(--space-md);margin:0}
  .hero-quote .headline-italic{text-align:center;font-size:clamp(1.02rem,2.6vh,1.22rem)}
  /* "Descubre más" queda separado del borde inferior (padding-bottom del contenedor) */
  .scroll-hint{position:static;transform:none;margin:0}
  .hud-frame{--c:24px}
}
@media (prefers-reduced-motion:reduce){.scroll-mouse::after{animation:none}}

/* ===== Fondos de sección ===== */
.dolores{background:linear-gradient(rgba(7,26,21,.90),rgba(7,26,21,.94)),url(assets/images/fondos/fondo-1.jpg) center/cover}
.programas{background:linear-gradient(rgba(7,26,21,.90),rgba(7,26,21,.94)),url(assets/images/fondos/fondo-4.jpg) center/cover}
.valores{background:linear-gradient(rgba(7,26,21,.90),rgba(7,26,21,.94)),url(assets/images/fondos/fondo-5.jpg) center/cover}

/* ===== Componentes compartidos (Dolores / Metodología) ===== */
.pill{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold);padding:.5em 1.1em;border:1px solid var(--color-border-gold);border-radius:999px}

.section-head{text-align:center;max-width:760px;margin-inline:auto;margin-bottom:var(--space-xl)}
.section-head h2{font-size:clamp(1.7rem,3.6vw,2.7rem)}
.section-head h2 .headline-italic{font-family:inherit;font-style:normal;color:var(--color-gold)}
.section-head h2::after{content:"";display:block;width:min(240px,55%);height:2px;margin:20px auto 0;
  background:radial-gradient(closest-side,rgba(212,175,55,.95),rgba(212,175,55,0));
  box-shadow:0 0 18px 2px rgba(212,175,55,.4)}
.section-head .lead{color:var(--color-text-light);margin-top:var(--space-md)}

.dolor-card{position:relative;border:1px solid rgba(212,175,55,.5);border-radius:18px;background:linear-gradient(180deg,rgba(13,56,46,.55),rgba(7,26,21,.55));padding:var(--space-lg);box-shadow:0 0 24px rgba(212,175,55,.08),0 1px 0 rgba(212,175,55,.08) inset}
/* Fondos con silueta + red (overlay oscuro del lado del texto) */
.dolor-card.d-1{--dimg:url(assets/images/secciones/dolor-1.jpg)}
.dolor-card.d-2{--dimg:url(assets/images/secciones/dolor-2.jpg)}
.dolor-card.d-3{--dimg:url(assets/images/secciones/dolor-3.jpg)}
.dolor-card.d-1,.dolor-card.d-2,.dolor-card.d-3{background:linear-gradient(90deg,rgba(7,26,21,.95) 30%,rgba(7,26,21,.5) 80%,rgba(7,26,21,.35)),var(--dimg) right center/cover}
.dolor-card + .dolor-card{margin-top:var(--space-lg)}
.dolor-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-xl);align-items:start}
.dolor-card.reverse .dolor-grid{grid-template-columns:.85fr 1.15fr}
/* enlace del home a la subpágina (por dolor) */
.dolor-link{display:inline-flex;align-items:center;gap:.5em;margin-top:var(--space-lg);font-family:var(--font-body);font-weight:600;font-size:.86rem;letter-spacing:.03em;color:var(--color-gold-soft);border:1px solid var(--color-gold);border-radius:999px;padding:.72em 1.5em;background:rgba(7,26,21,.4);transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.dolor-link:hover{background:rgba(212,175,55,.14);color:var(--color-cream);transform:translateY(-1px);box-shadow:0 0 18px rgba(212,175,55,.22)}
.dolor-link span{transition:transform .2s ease}
.dolor-link:hover span{transform:translateX(3px)}
/* anclas de cada dolor en la subpágina, despejadas del header sticky */
.dolor-card[id]{scroll-margin-top:90px}
.dolor-card.reverse .dolor-media{order:-1}

.dolor-title{font-family:var(--font-head);font-weight:500;letter-spacing:0;font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.06;margin:var(--space-md) 0 .5em}
.dolor-title .headline-italic{display:block}
.dolor-problem{color:var(--color-cream);font-size:1.02rem;line-height:1.55;margin-bottom:var(--space-md)}
.dolor-problem .headline-italic{display:block;margin-top:.25em;font-family:var(--font-body);font-style:italic;color:var(--color-text-light)}
/* Etiquetas discretas: el dorado fuerte se reserva para el dolor y la solución */
.dolor-card .eyebrow{color:var(--color-gold);font-size:.74rem;font-weight:700;letter-spacing:.16em}
.pilar-label{margin-top:var(--space-md)}
.pilar-name{font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--color-gold);letter-spacing:.06em;margin:.25em 0}
.pilar-sub{color:var(--color-text-light);font-size:.95rem;margin-bottom:var(--space-md)}

/* Etiqueta "Dolor #N" más grande (solo en las tarjetas de dolor) */
.dolor-card .pill{font-size:.92rem}

/* Narrativa de dolor: diagnóstico · principio · solución · transformación */
.dolor-diag{color:var(--color-text-light);font-size:.97rem;line-height:1.62;margin-bottom:.7em;max-width:56ch}
.dolor-diag.is-key{font-family:var(--font-head);font-style:italic;color:var(--color-cream);font-size:1.18rem;line-height:1.35;margin:.1em 0 .6em}
.principio-statement{font-family:var(--font-head);font-style:italic;color:var(--color-cream);font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.22;margin:.1em 0 .55em;max-width:30ch}
.solucion-card{border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--space-lg);box-shadow:var(--shadow-gold)}
.solucion-card p{font-size:.95rem;color:var(--color-text-light);line-height:1.58;margin-bottom:.7em}
.solucion-card>p:last-of-type{margin-bottom:0}
.solucion-card strong{color:var(--color-gold);font-weight:600}
.transformacion{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-gold)}
.transf-from{font-family:var(--font-head);font-style:italic;color:var(--color-cream);font-size:1.1rem;margin-bottom:.35em!important}
.transf-to{color:var(--color-cream);font-weight:500;margin-bottom:0!important}

.obtienes-grid{display:grid;gap:var(--space-md) var(--space-sm);margin-top:var(--space-sm)}
.obtienes-grid.cols-4{grid-template-columns:repeat(2,1fr)}
.obtienes-grid.cols-5{grid-template-columns:repeat(2,1fr)}
.obtienes-grid.cols-7{grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){
  .obtienes-grid.cols-4{grid-template-columns:repeat(4,1fr)}
  .obtienes-grid.cols-5{grid-template-columns:repeat(5,1fr)}
  .obtienes-grid.cols-7{grid-template-columns:repeat(4,1fr)}
}
.obtiene{display:flex;flex-direction:column;gap:.5em;font-size:.82rem;color:var(--color-text-light)}
/* Variante vertical (lista): ícono + texto en fila, apilados */
.obtienes-grid.obtienes-list{grid-template-columns:1fr;gap:var(--space-md)}
.obtienes-list .obtiene{flex-direction:row;align-items:center;gap:.9em;text-align:left;font-size:.95rem}
.obtienes-list .obtiene .line-icon{width:46px;height:46px;flex:none}
/* "Lo que obtienes": iconos distribuidos en rejilla horizontal (home, dolores simples) */
.dolor-card .dolor-content{max-width:680px}
.obtienes-label{display:block;margin-top:var(--space-md)}
.obtienes-row{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-md) var(--space-lg);margin-top:.9em;max-width:680px}
.obtienes-row li{display:flex;align-items:center;gap:.7em;font-size:.9rem;color:var(--color-cream);line-height:1.25}
.obtienes-row .line-icon{width:40px;height:40px;flex:none}
.line-icon{width:30px;height:30px;color:var(--color-gold);display:grid;place-items:center;border:1px solid var(--color-border-gold);border-radius:50%;padding:5px}
.line-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.6;fill:none}

/* Barra de producto */
.product-bar{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.55)}
.product-bar .line-icon{flex:none;width:42px;height:42px}
.product-body{flex:1}
.product-body .eyebrow{display:block;margin-bottom:2px}
.product-name{display:block;font-family:var(--font-body);font-weight:700;color:var(--color-cream);font-size:1rem;line-height:1.25}
.product-desc{display:block;margin-top:4px;color:var(--color-text-light);font-size:.85rem;line-height:1.4}
.btn-arrow{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--color-gold);color:var(--color-gold);font-size:1.1rem;transition:background .25s ease,color .25s ease,transform .25s ease}
.btn-arrow:hover{background:var(--color-gold);color:var(--color-green-deep);transform:translateX(2px)}

/* Flujo con conector (Aislado→…, Advance→Build→Close, Ruta) */
.flow{display:flex;flex-direction:column;gap:0}
.flow-step{display:flex;align-items:center;gap:var(--space-md);position:relative;padding-block:14px}
.flow-step .flow-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--color-border-gold);color:var(--color-gold)}
.flow-step .flow-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none}
.flow-step:not(:last-child) .flow-icon::after{content:"";position:absolute;inset-block-start:52px;height:18px;width:1px;background:linear-gradient(var(--color-gold),transparent);left:25px}
.flow-label{font-family:var(--font-title);letter-spacing:.06em;color:var(--color-cream);font-size:.95rem}
.flow-desc{color:var(--color-text-light);font-size:.82rem}

/* Espacio "IMAGEN" conceptual (placeholder hasta tener asset) */
.dolor-media{position:relative;min-height:240px;border:1px dashed var(--color-border-gold);border-radius:var(--radius);display:grid;place-items:center;
  background:radial-gradient(80% 80% at 50% 30%,rgba(212,175,55,.10),transparent 60%),rgba(13,56,46,.4);overflow:hidden}
.dolor-media .media-tag{font-family:var(--font-head);font-style:italic;color:rgba(212,175,55,.7);letter-spacing:.1em}
.dolor-media img{width:100%;height:100%;object-fit:cover}

/* Card de ejemplo (Mindset) */
.ejemplo-card{border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.6);padding:var(--space-lg);box-shadow:var(--shadow-gold)}
.ejemplo-title{font-family:var(--font-title);color:var(--color-gold);font-size:1.25rem;margin:.3em 0 var(--space-sm)}
.ejemplo-card p{font-size:.88rem;color:var(--color-text-light);margin-bottom:.6em}
.ejemplo-card strong{color:var(--color-cream);font-weight:600}

/* Checks del producto */
.product-checks{display:flex;flex-wrap:wrap;gap:.3em 1.2em;margin-top:.4em;font-size:.8rem;color:var(--color-gold)}
.product-free{display:inline-block;margin-top:.6em;padding:.35em .9em;border:1px solid var(--color-border-gold);border-radius:999px;background:rgba(212,175,55,.12);color:var(--color-gold-soft);font-size:.74rem;font-weight:600;letter-spacing:.02em}
.product-free::before{content:"★ ";color:var(--color-gold)}

/* Ideal para */
.ideal-para{margin-top:var(--space-lg)}
.ideal-para ul{list-style:none;display:grid;grid-template-columns:1fr;gap:var(--space-sm);margin-top:var(--space-sm)}
@media (min-width:760px){.ideal-para ul{grid-template-columns:repeat(3,1fr)}}
.ideal-para li{display:flex;align-items:center;gap:.7em;font-size:.88rem;color:var(--color-text-light)}
.ideal-para .line-icon{flex:none}

/* Banda de cierre de pilares */
.pilares-band{display:flex;align-items:center;gap:var(--space-lg);margin-top:var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-border-gold);border-radius:var(--radius);background:radial-gradient(60% 120% at 0% 50%,rgba(212,175,55,.12),transparent 60%),rgba(7,26,21,.6);box-shadow:var(--shadow-gold)}
.pilares-x{flex:none;width:64px;height:64px;color:var(--color-gold);filter:drop-shadow(0 0 12px rgba(212,175,55,.4))}
.pilares-x svg,.pilares-x img{width:100%;height:100%;object-fit:contain}
.pilares-band p{font-family:var(--font-head);font-size:clamp(1.05rem,1.8vw,1.4rem);color:var(--color-cream);line-height:1.45}
.pilares-band strong{font-family:var(--font-title);color:var(--color-gold);font-weight:600}
@media (max-width:600px){.pilares-band{flex-direction:column;text-align:center;gap:var(--space-md)}}

/* ===== Metodología ===== */
.metodologia{background:linear-gradient(rgba(7,26,21,.9),rgba(7,26,21,.93)),url(assets/images/secciones/sistema-abc.jpg) right bottom/cover}
.tm{font-size:.5em;vertical-align:super;color:var(--color-gold)}
.block-title{text-align:center;font-size:clamp(1.3rem,2.6vw,1.9rem);color:var(--color-gold);letter-spacing:.04em;margin:var(--space-xl) 0 var(--space-lg)}

/* Sistema ABC */
.abc-grid{display:flex;align-items:stretch;justify-content:center;gap:var(--space-md);flex-wrap:wrap}
.abc-card{flex:1 1 240px;max-width:320px;text-align:center;border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.5);padding:var(--space-lg);transition:transform .25s ease,box-shadow .25s ease}
.abc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold)}
.abc-letter{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid var(--color-gold);font-family:var(--font-title);font-size:1.8rem;color:var(--color-gold);margin-bottom:var(--space-sm)}
.abc-name{font-family:var(--font-title);color:var(--color-cream);font-size:1.2rem;margin-bottom:.3em}
.abc-desc{color:var(--color-text-light);font-size:.9rem}
.abc-sep{display:flex;align-items:center;color:var(--color-gold);font-size:1.6rem}

/* Ruta Persona Clave */
.ruta{list-style:none;display:flex;justify-content:space-between;gap:var(--space-sm);counter-reset:r;position:relative;max-width:960px;margin-inline:auto;padding:0}
.ruta::before{content:"";position:absolute;top:11px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}
.ruta-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.7em;text-align:center;position:relative}
.ruta-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--color-gold);background:var(--color-green-deep);position:relative;z-index:1}
.ruta-step.is-goal .ruta-dot{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-soft));box-shadow:var(--shadow-gold)}
.ruta-label{font-family:var(--font-title);font-size:.82rem;letter-spacing:.03em;color:var(--color-cream)}
.ruta-step.is-goal .ruta-label{color:var(--color-gold)}
.ruta-quote{text-align:center;font-size:clamp(1.05rem,1.8vw,1.35rem);margin-top:var(--space-lg);max-width:680px;margin-inline:auto}

/* Evolución */
.evolucion{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:var(--space-md)}
.evo-item{flex:1 1 200px;max-width:260px;text-align:center;border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.5);padding:var(--space-lg) var(--space-md)}
.evo-num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(212,175,55,.14);color:var(--color-gold);font-family:var(--font-title);margin-bottom:.5em}
.evo-name{font-family:var(--font-title);color:var(--color-cream);font-size:1.02rem;margin-bottom:.2em}
.evo-desc{color:var(--color-text-light);font-size:.84rem}
.evo-result{border-color:var(--color-gold);background:radial-gradient(80% 100% at 50% 0%,rgba(212,175,55,.16),transparent),rgba(7,26,21,.6);box-shadow:var(--shadow-gold)}
.evo-result .evo-name{color:var(--color-gold)}
.evo-op{display:flex;align-items:center;font-family:var(--font-title);font-size:1.6rem;color:var(--color-gold)}

@media (max-width:760px){
  .abc-grid{flex-direction:column;align-items:center}
  .abc-card{flex:0 0 auto;width:100%;max-width:400px}
  .abc-sep{transform:rotate(90deg)}
  .evolucion{flex-direction:column;align-items:center}
  .evo-item{flex:0 0 auto;width:100%;max-width:400px;padding:var(--space-md)}
  .ruta{flex-direction:column;align-items:flex-start;gap:var(--space-md);max-width:360px}
  .ruta::before{top:6%;bottom:6%;left:10px;right:auto;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--color-gold),transparent)}
  .ruta-step{flex-direction:row;text-align:left}
  .evo-op{width:100%;justify-content:center}
}

/* ===== Programas ===== */
.programas-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}
@media (min-width:820px){.programas-grid{grid-template-columns:repeat(3,1fr)}}
.programa-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:.5em;border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(13,56,46,.45) center/cover no-repeat;padding:var(--space-lg);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.programa-card::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,26,21,.45),rgba(7,26,21,.88))}
.programa-card>*{position:relative;z-index:1}
.programa-card.p-taller{background-image:url(assets/images/secciones/prog-taller.jpg)}
.programa-card.p-mindset{background-image:url(assets/images/secciones/prog-mindset.jpg)}
.programa-card.p-abc{background-image:url(assets/images/secciones/sistema-abc.jpg)}
.programa-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--color-gold)}
.programa-card .line-icon{width:44px;height:44px;margin-bottom:.3em}
.programa-name{font-family:var(--font-title);color:var(--color-cream);font-size:1.25rem}
.programa-meta{color:var(--color-gold);font-size:.78rem;letter-spacing:.03em}
.programa-desc{color:var(--color-text-light);font-size:.92rem;flex:1;margin-bottom:var(--space-sm)}

/* ===== Filosofía ===== */
.filosofia{background:linear-gradient(rgba(7,26,21,.78),rgba(7,26,21,.82)),url(assets/images/secciones/razon-de-ser.jpg) center/cover}
.filosofia-statement{max-width:860px;margin:0 auto var(--space-xl);text-align:center;font-family:var(--font-head);font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.45;color:var(--color-cream)}
.filosofia-defs{display:grid;grid-template-columns:1fr;gap:var(--space-lg);max-width:880px;margin-inline:auto}
@media (min-width:760px){.filosofia-defs{grid-template-columns:1fr 1fr}}
.def-card{border-inline-start:2px solid var(--color-gold);background:rgba(7,26,21,.4);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-md) var(--space-lg)}
.def-card p{color:var(--color-text-light);margin-top:.4em}
.filosofia-quote{text-align:center;font-size:clamp(1.3rem,3vw,2.1rem);color:var(--color-gold);max-width:720px;margin:var(--space-xl) auto 0;border:none}

/* ===== Valores (acróstico SERVICIO) ===== */
.valores .headline-italic{letter-spacing:.18em}
/* Slogan SERVICIO: mismo estilo de encabezado de sección (como RAZÓN DE SER),
   con divisor dorado, y la letra del valor activo iluminada (animación) */
.valores-slogan{letter-spacing:.12em}
.valores-slogan .vs-letter{color:rgba(246,241,231,.72);transition:color .45s ease,text-shadow .45s ease}
.valores-slogan .vs-letter.is-active{color:#E7B53C;
  text-shadow:0 0 10px rgba(243,216,138,1),0 0 24px rgba(212,175,55,.95),0 0 46px rgba(212,175,55,.65)}

/* Carrusel coverflow */
.valores-swiper{--swiper-theme-color:var(--color-gold);--swiper-navigation-color:var(--color-gold);--swiper-pagination-color:var(--color-gold);
  width:100%;padding:30px 0 60px;margin-top:var(--space-lg)}
.valores-swiper .swiper-slide{width:clamp(258px,82vw,338px);height:clamp(430px,60vh,470px)}
.valor-slide{display:flex}
.valor-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;border:1px solid var(--color-border-gold);border-radius:18px;
  background:linear-gradient(180deg,rgba(13,56,46,.6),rgba(7,26,21,.66));overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,.34)}
.valor-card-img{position:relative;flex:1;min-height:160px;padding:18px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 30%,rgba(212,175,55,.16),transparent 65%)}
.valor-card-img img{display:block;width:100%;height:100%;object-fit:contain}
.valor-card-body{position:relative;padding:var(--space-md) var(--space-lg);flex:1;min-height:0}
.valor-card-body h3{font-family:var(--font-title);text-transform:uppercase;letter-spacing:.04em;font-weight:600;
  color:var(--color-gold);font-size:1.02rem;line-height:1.2;border-bottom:1px solid var(--color-border-gold);padding-bottom:.55em;margin-bottom:.55em}
.valor-card-body p{color:var(--color-text-light);font-size:.88rem;line-height:1.5}
/* paginación y flechas en dorado */
.valores-swiper .swiper-pagination-bullet{background:var(--color-gold)}
.valores-swiper .swiper-button-prev,.valores-swiper .swiper-button-next{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--color-border-gold);background:rgba(7,26,21,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease}
.valores-swiper .swiper-button-prev:hover,.valores-swiper .swiper-button-next:hover{background:rgba(212,175,55,.16);border-color:var(--color-gold)}
.valores-swiper .swiper-button-prev::after,.valores-swiper .swiper-button-next::after{font-size:17px;font-weight:700}
@media (max-width:600px){
  .valores-swiper .swiper-button-prev,.valores-swiper .swiper-button-next{width:40px;height:40px}
  .valores-swiper .swiper-button-prev{left:6px}
  .valores-swiper .swiper-button-next{right:6px}
  .valores-swiper .swiper-button-prev::after,.valores-swiper .swiper-button-next::after{font-size:15px}
}

/* ===== Testimonios (placeholder) ===== */
.testimonios{background:var(--color-green-emerald)}
.testimonios-soon{max-width:560px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl) var(--space-lg);border:1px dashed var(--color-border-gold);border-radius:var(--radius)}
.testimonios-soon .line-icon{width:48px;height:48px}
.testimonios-soon p{color:var(--color-text-light)}
.soon-tag{font-family:var(--font-body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-green-deep);background:linear-gradient(135deg,var(--color-gold),var(--color-gold-soft));padding:.5em 1.2em;border-radius:999px}

/* ===== CTA final ===== */
.cta-band{position:relative;text-align:center;padding:clamp(40px,7vw,80px) var(--space-lg);
  background:radial-gradient(90% 140% at 50% 0%,rgba(212,175,55,.16),transparent 60%),var(--color-green-deep)}
.cta-band .hud-frame{inset:10px}
.cta-band h2{font-size:clamp(1.6rem,3.6vw,2.6rem);max-width:760px;margin-inline:auto;margin-bottom:var(--space-lg)}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}

/* ===== Contacto ===== */
.contacto{background:linear-gradient(100deg,rgba(7,26,21,.58) 0%,rgba(7,26,21,.80) 48%,rgba(7,26,21,.93) 100%),url(assets/images/fondos/fondo-contacto.jpg) center/cover}
.contacto-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:start}
.contacto-info{text-shadow:0 1px 12px rgba(7,26,21,.85)}
@media (min-width:880px){.contacto-grid{grid-template-columns:1fr 1fr}}
.contacto-info h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.2em 0 var(--space-md)}
.contacto-info p{color:var(--color-text-light);margin-bottom:var(--space-md);max-width:44ch}
.contacto-mail{display:flex;align-items:center;gap:.7em}
.contacto-mail a{color:var(--color-gold)}
.contacto-tagline{color:var(--color-gold);font-size:1.2rem}

.form-card{display:flex;flex-direction:column;gap:var(--space-sm);border:1px solid var(--color-border-gold);border-radius:var(--radius);background:rgba(7,26,21,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-lg);box-shadow:var(--shadow-gold)}
.form-card label{display:flex;flex-direction:column;gap:.4em;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold)}
.form-card .opt{text-transform:none;letter-spacing:0;color:var(--color-text-light);opacity:.7}
.form-card input,.form-card select,.form-card textarea{font-family:var(--font-body);font-size:.95rem;color:var(--color-cream);background:rgba(13,56,46,.5);border:1px solid var(--color-border-gold);border-radius:8px;padding:.7em .9em;transition:border-color .2s ease,box-shadow .2s ease}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.form-card option{color:#000}
.consent{flex-direction:row!important;align-items:flex-start;gap:.6em;text-transform:none!important;letter-spacing:0!important;color:var(--color-text-light)!important;font-size:.85rem!important;margin-top:.3em}
.consent input{accent-color:var(--color-gold);width:18px;height:18px;flex:none;margin-top:2px}
.consent a{color:var(--color-gold);text-decoration:underline}
.form-card #submitBtn{margin-top:var(--space-sm)}
.form-card #submitBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}
@media (max-width:600px){.form-card{padding:var(--space-lg) var(--space-md)}}

/* ===== Reveal al hacer scroll (suavidad) ===== */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
  .reveal.is-visible{opacity:1;transform:none}
}

/* ===== Footer ===== */
.site-footer{background:var(--color-green-deep);border-block-start:1px solid var(--color-border-gold);padding-block:var(--space-xl) var(--space-lg)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);padding-bottom:var(--space-lg)}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-logo{height:42px;width:auto;margin-bottom:var(--space-sm)}
.footer-brand p{color:var(--color-gold);font-size:1.05rem;max-width:30ch}
.footer-col{display:flex;flex-direction:column;gap:.6em}
.footer-col h3{font-family:var(--font-body);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.3em}
.footer-col a{color:var(--color-text-light);font-size:.9rem;transition:color .2s ease}
.footer-col a:hover{color:var(--color-gold)}
.footer-cta{margin-top:.4em;align-self:flex-start}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-sm);padding-top:var(--space-lg);border-block-start:1px solid var(--color-border-gold);font-size:.8rem;color:var(--color-text-light)}
.footer-legal{display:flex;gap:var(--space-md)}
.footer-legal a{color:var(--color-text-light)}
.footer-legal a:hover{color:var(--color-gold)}

/* ===== Modal (aviso simplificado) ===== */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--space-md)}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(3,12,10,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal-card{position:relative;max-width:560px;width:100%;max-height:85vh;overflow:auto;background:var(--color-green-emerald);border:1px solid var(--color-border-gold);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-gold)}
.modal-card h2{font-size:1.4rem;color:var(--color-gold);margin-bottom:var(--space-md)}
.modal-card p{color:var(--color-text-light);font-size:.9rem;margin-bottom:var(--space-sm)}
.modal-card a{color:var(--color-gold);text-decoration:underline}
.modal-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border-gold);background:transparent;color:var(--color-gold);cursor:pointer;font-size:1rem}
.modal-close:hover{background:var(--color-gold);color:var(--color-green-deep)}

/* ===== Subpáginas (legal / estado / detalle) ===== */
.subpage-header{position:sticky;top:0;z-index:50;background:rgba(7,26,21,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-end:1px solid var(--color-border-gold)}
/* en subpáginas el logo siempre visible (la regla de desktop lo oculta hasta hacer scroll) */
.subpage-header .brand{opacity:1;visibility:visible;transform:none}
/* header de subpágina con navegación: menú en desktop, "← Inicio" en móvil */
.subpage-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:14px}
.subpage-nav{display:none;align-items:center;gap:clamp(14px,2vw,30px)}
.subpage-nav a{font-size:.84rem;font-weight:500;letter-spacing:.03em;color:var(--color-text-light);transition:color .2s ease}
.subpage-nav a:hover{color:var(--color-gold)}
.subpage-cta{display:none;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;padding:.7em 1.4em}
.subpage-back{font-size:.78rem;padding:.6em 1.2em}
@media (min-width:880px){
  .subpage-nav{display:flex}
  .subpage-cta{display:inline-flex}
  .subpage-back{display:none}
}

/* Banner de cabecera de subpágina */
.page-banner{position:relative;text-align:center;padding:clamp(56px,11vh,110px) 0 clamp(36px,6vh,64px);
  background:linear-gradient(rgba(7,26,21,.8),rgba(7,26,21,.93)),url(assets/images/fondos/hero.jpg) center/cover;
  border-block-end:1px solid var(--color-border-gold)}
.page-banner .eyebrow{display:block;margin-bottom:var(--space-md)}
.page-banner h1{font-size:clamp(2rem,5.2vw,3.4rem);text-transform:uppercase;letter-spacing:.04em;line-height:1.05}
.page-banner h1 .headline-italic{text-transform:none;font-style:italic;color:var(--color-gold);letter-spacing:.01em}
.page-banner .lead{max-width:62ch;margin:var(--space-md) auto 0;color:var(--color-text-light);font-size:clamp(.95rem,1.4vw,1.1rem)}

/* ===== Subpágina detalle: bloques a la izquierda con enfoque por scroll ===== */
.dolor-detail{position:relative;padding-block:clamp(40px,8vh,96px);
  background:linear-gradient(90deg,rgba(7,26,21,.94) 34%,rgba(7,26,21,.6) 72%,rgba(7,26,21,.38)),var(--dimg) right center/cover;
  border-block-end:1px solid var(--color-border-gold)}
.dolor-detail.d-1{--dimg:url(assets/images/secciones/dolor-1.jpg)}
.dolor-detail.d-2{--dimg:url(assets/images/secciones/dolor-2.jpg)}
.dolor-detail.d-3{--dimg:url(assets/images/secciones/dolor-3.jpg)}
@media (min-width:861px){.dolor-detail{background-attachment:fixed}}

/* layout: contenido a la izquierda + producto a la derecha; silueta de fondo respira */
.dolor-detail-grid{width:min(100% - 2*var(--space-md),var(--maxw));margin-inline:auto;display:grid;grid-template-columns:1fr;gap:var(--space-lg)}
@media (min-width:861px){.dolor-detail-grid{grid-template-columns:minmax(0,1fr) clamp(280px,30%,360px);gap:clamp(36px,4vw,72px)}}
.dolor-detail-text{text-shadow:0 1px 16px rgba(7,26,21,.9)}
.dolor-detail-text>*{max-width:620px}
.dolor-detail-text .dolor-title{margin-top:var(--space-sm)}
/* producto a la derecha: translúcido para no tapar la silueta */
.dolor-detail-side{position:relative}
.dolor-detail-side .product-bar{flex-direction:column;align-items:flex-start;gap:12px;margin-top:0;
  background:rgba(7,26,21,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* el JS lo fija (position:fixed) mientras el texto se mueve y lo desvanece en los bordes */
@media (min-width:861px){.dolor-detail-side .product-bar{will-change:top,opacity}}

/* cada bloque: enfocado=opaco, los demás se desvanecen (lo controla el JS por scroll) */
.dolor-detail-text .stage{margin-top:clamp(26px,4.5vh,46px);border-left:2px solid transparent;
  transition:border-color .3s ease,padding-left .3s ease}
.dolor-detail-text .stage.is-active{border-left-color:var(--color-gold);padding-left:var(--space-md)}
.dolor-detail-text .stage .eyebrow{display:block;margin-bottom:.5em;font-weight:700;letter-spacing:.16em;font-size:.78rem;color:var(--color-gold)}
.dolor-detail-text .stage.is-active .eyebrow{color:var(--color-gold-soft);text-shadow:0 0 16px rgba(212,175,55,.4)}
.dolor-detail-text .dolor-diag{max-width:none}
.flow-p{color:var(--color-text-light);line-height:1.62;margin-bottom:.7em;max-width:none}
.flow-p:last-child{margin-bottom:0}
.flow-p strong{color:var(--color-gold);font-weight:600}
.dolor-detail .product-bar{max-width:none}
/* respaldo: si el JS no corre, todo se ve completo */
.no-js .dolor-detail-text .stage{opacity:1!important}
/* botones de la sección dolores (home → detalle, y CTA en la subpágina) */
.dolores-more,.dolores-cta{text-align:center;margin-top:var(--space-xl)}
.dolores-close{padding-block:clamp(48px,9vh,100px)}
.legal{max-width:820px;margin-inline:auto;padding-block:var(--space-xl)}
.legal h1{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:var(--space-md)}
.legal h2{font-size:1.1rem;color:var(--color-gold);margin:var(--space-lg) 0 .4em}
.legal p,.legal li{color:var(--color-text-light);margin-bottom:.6em;font-size:.95rem}
.legal ul{padding-left:1.2em;margin-bottom:var(--space-sm)}
.legal a{color:var(--color-gold);text-decoration:underline}

/* Páginas de estado (gracias / error / 404) */
.estado{min-height:100vh;min-height:100dvh;display:grid;place-items:center;text-align:center;padding:var(--space-xl) var(--space-md);
  background:radial-gradient(80% 80% at 50% 30%,rgba(212,175,55,.12),transparent 60%),var(--color-green-deep)}
.estado-inner{max-width:520px}
.estado-icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto var(--space-lg);border-radius:50%;border:1px solid var(--color-gold);color:var(--color-gold);font-size:2.2rem;box-shadow:var(--shadow-gold)}
.estado h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:var(--space-md)}
.estado p{color:var(--color-text-light);margin-bottom:var(--space-lg)}
.estado-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}

@media (max-width:860px){
  .dolor-grid,.dolor-card.reverse .dolor-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  .dolor-card.reverse .dolor-media{order:0}
  /* Dolor #2 (reverse): en móvil el contenido (diagnóstico/principio) va primero
     y la solución después, igual que en #1 y #3 */
  .dolor-card.reverse .dolor-content{order:-1}
  .dolor-card{padding:var(--space-lg) var(--space-md)}
  /* móvil: silueta hacia su lado y abajo; degradado oscuro arriba (texto) -> claro abajo */
  .dolor-card.d-1,.dolor-card.d-2,.dolor-card.d-3{background:linear-gradient(rgba(7,26,21,.96) 30%,rgba(7,26,21,.72) 65%,rgba(7,26,21,.55)),var(--dimg) right bottom/auto 62%,var(--color-green-deep);background-repeat:no-repeat}
  /* barra de producto: ícono arriba, texto, flecha al final (legible en móvil) */
  .product-bar{flex-direction:column;align-items:flex-start;gap:12px;padding:var(--space-md)}
  .product-bar .line-icon{width:38px;height:38px}
  .product-name{font-size:.98rem}
  .product-bar .btn-arrow{align-self:flex-end;margin-top:-4px}
}
