/* ============================================================
   BEKNOWN — Landing
   Paleta: bordo #7F0000 · latón #B0894F · hueso/crema · noche bordo
   Tipografías: Geist (UI/titulares) + Geist Mono (etiquetas/datos)
   ============================================================ */
:root{
  /* marca (fijos) */
  --bordo:#7F0000; --bordo-2:#A8231A; --bordo-deep:#4A0000;
  --laton:#B0894F; --laton-2:#E4CC9C;
  --night:#120807; --night-2:#23100D;
  /* tema claro */
  --bg:#F6F1E9; --bg-soft:#EEE5D6; --card:#FFFCF7;
  --ink:#1E1512; --muted:#6A5D55; --line:#E2D6C3;
  --accent-ink:#7F0000;
  --ink-soft:rgba(30,21,18,.72); --ink-fade:rgba(30,21,18,.38); --grid:#E3D8C6; --glow-edge:rgba(127,0,0,.55); --dots:rgba(127,0,0,.05);
  --glow-core:rgba(127,0,0,.17); --glow-mid:rgba(127,0,0,.07);

  --sans:'Geist', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --mono:'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px; --s12:96px; --s16:128px;
  --maxw:1180px; --radius:16px; --ease:cubic-bezier(.22,.61,.36,1);

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#170C0A; --bg-soft:#1F110E; --card:#231310;
    --ink:#F3EADF; --muted:#B7A698; --line:#3A231E; --accent-ink:#E4CC9C;
    --ink-soft:rgba(243,234,223,.74); --ink-fade:rgba(243,234,223,.38); --grid:#3A231E; --glow-edge:rgba(168,35,26,.34); --dots:rgba(176,137,79,.07);
  --glow-core:rgba(176,137,79,.17); --glow-mid:rgba(176,137,79,.07);
  }
}
:root[data-theme="dark"]{
  --bg:#170C0A; --bg-soft:#1F110E; --card:#231310;
  --ink:#F3EADF; --muted:#B7A698; --line:#3A231E; --accent-ink:#E4CC9C;
  --ink-soft:rgba(243,234,223,.74); --ink-fade:rgba(243,234,223,.38); --grid:#3A231E; --glow-edge:rgba(168,35,26,.34); --dots:rgba(176,137,79,.07);
  --glow-core:rgba(176,137,79,.17); --glow-mid:rgba(176,137,79,.07);
}
html{ scroll-behavior:smooth; scroll-padding-top:calc(112px + env(safe-area-inset-top,0px)); -webkit-text-size-adjust:100%; background:var(--night); }
*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }
body{ font-family:var(--sans); color:var(--ink); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button{ font-family:inherit; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--s3); }

/* ---------- tipografía base ---------- */
.eyebrow{ font-family:var(--mono); font-size:.8rem; letter-spacing:.04em; color:var(--accent-ink); display:inline-block; margin-bottom:var(--s2); }
.eyebrow--light{ color:var(--laton-2); }
.section__title{ font-size:clamp(1.9rem,4.2vw,3.1rem); font-weight:800; letter-spacing:-.025em; line-height:1.08; color:var(--ink); max-width:18ch; }
.hl{ color:var(--accent-ink); }
.verdad .hl, .precios .hl, .contacto .hl, .cierre .hl, .dock .hl{ color:var(--laton-2); }
.section__intro{ font-size:1.08rem; color:var(--muted); max-width:56ch; margin-top:var(--s2); }
.section{ padding:var(--s16) 0; }
@media (max-width:700px){ .section{ padding:var(--s12) 0; } }

/* ---------- botones ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:var(--s1); font-weight:600; font-size:1rem;
  padding:15px 28px; border-radius:999px; border:1.5px solid transparent; cursor:pointer; min-height:48px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s; }
.btn--primary{ background:linear-gradient(120deg,var(--bordo) 0%,var(--bordo-2) 100%); color:#FFF6EC;
  box-shadow:0 10px 30px -10px rgba(127,0,0,.7), inset 0 0 0 1px rgba(228,204,156,.25); }
.btn--primary:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -12px rgba(127,0,0,.8), inset 0 0 0 1px rgba(228,204,156,.45); }
.btn--ghost{ background:rgba(255,246,236,.06); color:#FFF6EC; border-color:rgba(255,246,236,.32); backdrop-filter:blur(8px); }
.btn--ghost:hover{ background:rgba(255,246,236,.14); transform:translateY(-3px); }
.btn--light{ background:#FFF6EC; color:var(--bordo); }
.btn--light:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -14px rgba(0,0,0,.5); }
.btn--block{ width:100%; }

/* ---------- halo que sigue al cursor ---------- */
/* z-index 35: por encima del contenido, por debajo del dock (40) y del nav (50).
   Se funde con el fondo en vez de taparlo, asi funciona sobre secciones opacas. */
.glow{ position:fixed; top:0; left:0; z-index:35; pointer-events:none;
  width:560px; height:560px; margin:-280px 0 0 -280px; border-radius:50%;
  opacity:0; transition:opacity .5s var(--ease); will-change:transform;
  mix-blend-mode:multiply;
  background:radial-gradient(closest-side, var(--glow-core) 0%, var(--glow-mid) 42%, transparent 72%); }
.glow.on{ opacity:1; }
/* sobre secciones oscuras: vira a laton y aclara en lugar de oscurecer */
.glow.dark{ mix-blend-mode:screen;
  background:radial-gradient(closest-side, rgba(176,137,79,.20) 0%, rgba(176,137,79,.08) 42%, transparent 72%); }

/* ---------- nav: pill flotante con volumen ---------- */
.nav{ position:fixed; left:0; right:0; z-index:50; pointer-events:none;
  top:calc(18px + env(safe-area-inset-top,0px)); padding:0 var(--s3);
  transition:top .35s var(--ease); }

.nav__inner{ position:relative; pointer-events:auto; width:100%; max-width:1320px; margin:0 auto;
  display:flex; align-items:center; gap:var(--s4); padding:13px 13px 13px 26px; border-radius:999px;
  background:linear-gradient(135deg, rgba(35,16,13,.90) 0%, rgba(24,11,9,.90) 45%, rgba(18,8,7,.92) 100%);
  backdrop-filter:blur(16px) saturate(1.35); -webkit-backdrop-filter:blur(16px) saturate(1.35);
  border:1px solid rgba(176,137,79,.22);
  box-shadow:0 2px 4px rgba(0,0,0,.20), 0 8px 18px -6px rgba(0,0,0,.42), 0 22px 46px -20px rgba(0,0,0,.55),
             inset 0 2px 1px rgba(228,204,156,.16), inset 0 -3px 8px rgba(0,0,0,.42),
             inset 3px 3px 8px rgba(0,0,0,.22), inset -3px 3px 8px rgba(0,0,0,.20);
  transition:box-shadow .35s var(--ease), background .35s, transform .35s var(--ease); }

/* filo superior: la linea de luz que define el borde del pill */
.nav__inner::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; pointer-events:none;
  border-radius:999px 999px 0 0; filter:blur(.3px);
  background:linear-gradient(90deg, rgba(228,204,156,0) 0%, rgba(228,204,156,.45) 6%, rgba(246,231,200,.75) 18%,
             rgba(246,231,200,.75) 82%, rgba(228,204,156,.45) 94%, rgba(228,204,156,0) 100%); }
/* hemisferio superior: recoge la luz y da la curvatura */
.nav__inner::after{ content:""; position:absolute; left:0; right:0; top:0; height:55%; pointer-events:none;
  border-radius:999px; background:linear-gradient(180deg, rgba(255,246,236,.10) 0%, rgba(255,246,236,.05) 35%, rgba(255,246,236,0) 100%); }

.nav.is-stuck .nav__inner{ transform:scale(.985);
  background:linear-gradient(135deg, rgba(35,16,13,.95) 0%, rgba(24,11,9,.95) 45%, rgba(18,8,7,.96) 100%);
  box-shadow:0 2px 4px rgba(0,0,0,.26), 0 10px 22px -6px rgba(0,0,0,.5), 0 26px 54px -20px rgba(0,0,0,.62),
             inset 0 2px 1px rgba(228,204,156,.2), inset 0 -3px 8px rgba(0,0,0,.48),
             inset 3px 3px 8px rgba(0,0,0,.26), inset -3px 3px 8px rgba(0,0,0,.24); }

.brand{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:10px; color:#FFF6EC; flex:0 0 auto; }
.brand__mark{ width:40px; height:41px; flex:0 0 auto; color:#EEE5D6; }
.brand__logo{ display:block; width:96px; aspect-ratio:435/446; color:#EEE5D6; }
.brand__name{ font-weight:800; font-size:1.34rem; letter-spacing:-.03em; }

.nav__links{ position:relative; z-index:1; flex:1; display:flex; align-items:center; justify-content:center; gap:34px; }
.nav__links a{ font-family:var(--mono); font-size:.79rem; text-transform:uppercase; letter-spacing:.13em;
  color:rgba(255,246,236,.58); transition:color .22s; white-space:nowrap; }
.nav__links a:hover{ color:#FFF6EC; }

.nav__right{ position:relative; z-index:1; display:flex; align-items:center; gap:10px; flex:0 0 auto; margin-left:auto; }
.nav__cta{ display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
  font-weight:600; font-size:.97rem; letter-spacing:-.01em; color:#FFF6EC;
  padding:15px 28px; border-radius:999px;
  background:linear-gradient(120deg,var(--bordo) 0%,var(--bordo-2) 100%);
  box-shadow:0 6px 18px -8px rgba(127,0,0,.9), inset 0 1px 0 rgba(228,204,156,.3);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.nav__cta:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(127,0,0,1), inset 0 1px 0 rgba(228,204,156,.45); }
.nav__cta svg{ width:18px; height:18px; flex:0 0 auto; }

.nav__burger{ display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:0; cursor:pointer; width:46px; height:46px; padding:10px; }
.nav__burger span{ width:26px; height:2px; background:#FFF6EC; border-radius:2px; transition:.3s; }

/* ---------- hero ---------- */
.hero{ position:relative; isolation:isolate; min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr); align-content:center; text-align:center; overflow:hidden;
  padding:clamp(120px,17vh,180px) 0 clamp(96px,14vh,150px);
  background:linear-gradient(to bottom, var(--bg) 0%, var(--bg) 50%, var(--bg-soft) 88%); }

/* grilla de fondo, desvanecida hacia abajo */
.hero__grid{ position:absolute; inset:0 0 auto; z-index:0; height:600px; opacity:.8; pointer-events:none;
  background-image:linear-gradient(to right, var(--grid) 1px, transparent 1px),
                   linear-gradient(to bottom, var(--grid) 1px, transparent 1px);
  background-size:6rem 5rem;
  -webkit-mask-image:radial-gradient(ellipse 80% 50% at 50% 0%, #000 70%, transparent 110%);
          mask-image:radial-gradient(ellipse 80% 50% at 50% 0%, #000 70%, transparent 110%); }

/* halo radial: arco bordo al pie del hero */
.hero__glow{ position:absolute; left:50%; top:calc(100% - 90px); z-index:0; pointer-events:none;
  width:700px; height:500px; transform:translateX(-50%); border-radius:100%;
  background:radial-gradient(closest-side, var(--bg) 80%, var(--glow-edge) 100%);
  animation:heroGlow 1.1s var(--ease) both; }
@keyframes heroGlow{ from{ opacity:0; transform:translate(-50%,28px); } to{ opacity:1; transform:translateX(-50%); } }

/* flecha del logo: se dibuja al cargar, sube desde el arco y apunta a la derecha */
.hero__arrow{ --arrow:var(--bordo); --arrow-2:var(--bordo-2);
  position:absolute; z-index:1; pointer-events:none; overflow:visible; aspect-ratio:1;
  right:max(-8px, calc(50% - 700px)); bottom:clamp(56px,9vh,100px); width:clamp(260px,30vw,460px); }
.hero__arrow-s0{ stop-color:var(--arrow); stop-opacity:0; }
.hero__arrow-s1{ stop-color:var(--arrow); stop-opacity:.55; }
.hero__arrow-s2{ stop-color:var(--arrow-2); stop-opacity:1; }
.hero__arrow-line{ fill:none; stroke:url(#heroArrowFade); stroke-width:30;
  stroke-dasharray:1; stroke-dashoffset:1; animation:arrowDraw 1.5s .35s var(--ease) forwards; }
.hero__arrow-head{ fill:var(--arrow-2); stroke:var(--arrow-2); stroke-width:10; stroke-linejoin:round;
  opacity:0; transform-box:fill-box; transform-origin:left center; animation:arrowHead .5s 1.65s var(--ease) forwards; }
@keyframes arrowDraw{ to{ stroke-dashoffset:0; } }
@keyframes arrowHead{ from{ opacity:0; transform:translateX(-14px) scale(.7); } to{ opacity:1; transform:none; } }

.hero__content{ position:relative; z-index:2; padding:0 var(--s3); width:100%; max-width:980px; margin-inline:auto; }

/* etiqueta superior */
.hero__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.78rem;
  text-transform:uppercase; letter-spacing:.04em; color:var(--muted);
  padding:9px 20px; border-radius:999px; border:2px solid var(--line);
  background:linear-gradient(to top right, rgba(176,137,79,.07), rgba(176,137,79,.03), transparent);
  transition:border-color .25s, color .25s; }
.hero__eyebrow:hover{ border-color:rgba(176,137,79,.55); color:var(--accent-ink); }
.hero__eyebrow svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.hero__eyebrow:hover svg{ transform:translateX(4px); }

.hero__title{ font-size:clamp(2.1rem,6.8vw,5.4rem); font-weight:800; letter-spacing:-.04em; line-height:1.02;
  margin:var(--s3) 0 var(--s2); text-wrap:balance;
  background:linear-gradient(to bottom right, var(--ink) 30%, var(--ink-fade));
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero__title span{ display:block; }
.hero__title span:last-child{ background:linear-gradient(100deg, var(--bordo), var(--bordo-2) 70%, var(--laton));
  -webkit-background-clip:text; background-clip:text; color:transparent; }

.hero__sub{ color:var(--muted); font-size:clamp(1.05rem,2vw,1.28rem); max-width:58ch; margin:0 auto var(--s6);
  font-weight:400; letter-spacing:-.01em; text-wrap:balance; }

.hero__cta{ display:flex; flex-direction:column; align-items:center; gap:var(--s2); }
.hero__btn{ min-width:min(100%,300px); font-size:1.05rem; letter-spacing:-.01em; }
.hero__micro{ font-size:.9rem; color:var(--muted); }

.hero__scroll{ position:absolute; bottom:calc(26px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); z-index:2; padding:6px; }
.hero__scroll span{ display:block; width:24px; height:38px; border:2px solid var(--ink-fade); border-radius:14px; position:relative; }
.hero__scroll span::after{ content:""; position:absolute; top:7px; left:50%; transform:translateX(-50%); width:4px; height:7px; border-radius:2px; background:var(--ink); animation:scrolldot 1.6s infinite; }
@keyframes scrolldot{ 0%{opacity:0; transform:translate(-50%,0);} 40%{opacity:1;} 80%{opacity:0; transform:translate(-50%,12px);} 100%{opacity:0;} }

@media (max-width:520px){
  .hero__eyebrow{ font-size:.67rem; letter-spacing:.02em; padding:8px 14px; }
  .hero__eyebrow svg{ width:14px; height:14px; }
}
@media (min-width:768px){ .hero__glow{ width:1100px; height:500px; } }
@media (min-width:1024px){ .hero__glow{ width:140%; height:750px; top:calc(100% - 150px); }
}

/* ---------- problema: la línea baja por los dolores y al final gira como la flecha del logo ---------- */
.problema{ background:var(--bg-soft); }
.problema__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s8); align-items:start; }
.problema__intro{ position:sticky; top:150px; }
.problema .section__title{ font-size:clamp(2.1rem,4.8vw,3.6rem); }
.problema__lead{ font-size:clamp(1.15rem,1.6vw,1.4rem); line-height:1.6; color:var(--ink); margin-top:var(--s3); max-width:40ch; }
/* resaltador que se pinta cuando entra el párrafo */
.problema__lead mark{ color:var(--accent-ink); font-weight:600; background:linear-gradient(rgba(127,0,0,.14),rgba(127,0,0,.14)) no-repeat 0 88% / 0% 42%;
  transition:background-size 1s var(--ease) .5s; }
.problema__lead.in mark{ background-size:100% 42%; }

.pains{ --p:0; position:relative; padding-left:64px; }
.pains__track{ position:absolute; left:18px; top:10px; bottom:120px; width:2px; border-radius:2px; background:var(--line); }
.pains__fill{ position:absolute; inset:0; border-radius:inherit; transform-origin:top; transform:scaleY(var(--p));
  background:linear-gradient(to bottom, var(--laton), var(--bordo)); }
.pain{ position:relative; padding:0 0 var(--s6); opacity:.32; transform:translateX(10px); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.pain.on{ opacity:1; transform:none; }
.pain__dot{ position:absolute; left:-53px; top:6px; width:16px; height:16px; border-radius:50%; background:var(--bg-soft); border:2px solid var(--line);
  transition:background .35s, border-color .35s, box-shadow .35s; }
.pain.on .pain__dot{ background:var(--bordo); border-color:var(--bordo); box-shadow:0 0 0 6px rgba(127,0,0,.12); }
.pain__n{ display:block; font-family:var(--mono); font-size:.8rem; letter-spacing:.1em; color:var(--laton); margin-bottom:4px; }
.pain p{ font-size:clamp(1.15rem,1.7vw,1.42rem); line-height:1.4; font-weight:500; letter-spacing:-.015em; color:var(--ink); max-width:30ch; }

.pains__turn{ position:relative; margin-left:-64px; display:flex; align-items:flex-end; gap:var(--s2); min-height:120px; }
.pains__arrow{ width:160px; height:120px; flex:0 0 auto; overflow:visible; color:var(--bordo); }
.pains__arrow-line{ fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .9s var(--ease); }
.pains__arrow-head{ fill:currentColor; stroke:currentColor; stroke-width:3; stroke-linejoin:round; opacity:0; transform-box:fill-box; transform-origin:center; transform:scale(.4);
  transition:opacity .3s .75s, transform .4s var(--ease) .75s; }
.pains__turn p{ display:flex; flex-direction:column; gap:4px; padding-bottom:58px; opacity:0; transform:translateY(8px); transition:opacity .5s .9s, transform .5s var(--ease) .9s; }
.pains__turn strong{ font-size:clamp(1.15rem,1.7vw,1.42rem); letter-spacing:-.015em; color:var(--accent-ink); }
.pains__turn a{ font-family:var(--mono); font-size:.82rem; color:var(--muted); transition:color .25s; }
.pains__turn a:hover{ color:var(--accent-ink); }
.pains.is-done .pains__arrow-line{ stroke-dashoffset:0; }
.pains.is-done .pains__arrow-head{ opacity:1; transform:none; }
.pains.is-done .pains__turn p{ opacity:1; transform:none; }
@media (max-width:920px){
  .problema__grid{ grid-template-columns:1fr; gap:var(--s6); }
  .problema__intro{ position:static; }
}
@media (max-width:520px){
  .pains__turn{ gap:10px; }
  .pains__turn p{ padding-bottom:44px; }
}

/* ---------- servicios: indice + panel ---------- */
.svc{ display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:var(--s4); margin-top:var(--s6); align-items:start; }

.svc__list{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.svc__item{ position:relative; display:flex; align-items:center; gap:var(--s2); width:100%; text-align:left;
  background:none; border:0; border-bottom:1px solid var(--line); padding:15px 12px; cursor:pointer; color:var(--muted);
  transition:color .28s var(--ease), padding .28s var(--ease), background .28s var(--ease); }
.svc__item::before{ content:""; position:absolute; left:0; top:-1px; bottom:-1px; width:2px; background:var(--bordo);
  transform:scaleY(0); transition:transform .3s var(--ease); }
.svc__item.is-on::before{ transform:scaleY(1); }
.svc__item.is-on{ color:var(--ink); padding-left:22px;
  background:linear-gradient(90deg, rgba(127,0,0,.07), transparent 72%); }
.svc__item:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:-2px; }
.svc__n{ font-family:var(--mono); font-size:.72rem; color:var(--accent-ink); opacity:.65; }
.svc__name{ flex:1; font-weight:600; font-size:1.02rem; letter-spacing:-.012em; }
.svc__arrow{ width:16px; height:16px; flex:0 0 auto; color:var(--accent-ink);
  opacity:0; transform:translateX(-7px); transition:opacity .28s var(--ease), transform .28s var(--ease); }
.svc__item.is-on .svc__arrow{ opacity:1; transform:none; }

/* las fichas se apilan en la misma celda: la altura no salta al cambiar */
.svc__stage{ display:grid; }
.svc__panel{ grid-area:1/1; position:relative; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:var(--s4);
  display:flex; flex-direction:column; gap:var(--s2);
  opacity:0; visibility:hidden; transform:translateY(12px) scale(.985); pointer-events:none;
  transition:opacity .38s var(--ease), transform .38s var(--ease), visibility .38s; }
.svc__panel::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 78% 0%, rgba(176,137,79,.15), transparent 58%),
             radial-gradient(circle at center, var(--dots) 1px, transparent 1px);
  background-size:100% 100%, 5px 5px; }
.svc__panel > *{ position:relative; z-index:1; }
.svc__panel.is-on{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.svc__panel:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:3px; }
.svc__head{ display:flex; align-items:center; justify-content:space-between; }
.svc__panel h3{ font-size:1.32rem; font-weight:700; letter-spacing:-.018em; color:var(--ink); }
.svc__panel p{ color:var(--muted); font-size:1rem; }
.svc__panel .card__tags{ margin-top:auto; padding-top:var(--s1); }

.card__icon{ width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:rgba(127,0,0,.08); color:var(--accent-ink); }
.card__icon svg{ width:20px; height:20px; }
.card__status{ font-family:var(--mono); font-size:.7rem; letter-spacing:.03em; color:var(--accent-ink); background:rgba(176,137,79,.16); padding:4px 10px; border-radius:999px; }
.card h3{ font-size:1.14rem; font-weight:700; letter-spacing:-.01em; }
.card p{ color:var(--muted); font-size:.96rem; }
.card__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
.card__tags span{ font-family:var(--mono); font-size:.7rem; color:var(--muted); background:var(--bg-soft); padding:4px 9px; border-radius:7px; }

/* ---------- verdad central (oscuro) ---------- */
.verdad{ background:linear-gradient(165deg,var(--night-2),var(--night)); color:#FFF6EC; }
.verdad .section__title{ color:#FFF6EC; max-width:16ch; }
.verdad .section__intro{ color:rgba(255,246,236,.72); }
.verdad__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s8); align-items:center; }
.truths{ display:grid; gap:var(--s2); margin-top:var(--s4); }
.truth{ display:grid; grid-template-columns:120px 1fr; gap:var(--s2); align-items:baseline; padding-bottom:var(--s2); border-bottom:1px solid rgba(228,204,156,.16); }
.truth strong{ font-family:var(--mono); color:var(--laton-2); font-size:.92rem; font-weight:500; }
.truth span{ color:rgba(255,246,236,.72); font-size:.98rem; }
.panel{ background:linear-gradient(160deg,#2C110D,#140807); border:1px solid rgba(176,137,79,.25); border-radius:22px; padding:var(--s4); box-shadow:0 40px 80px -40px rgba(0,0,0,.8); }
.panel__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--s3); }
.panel__title{ font-family:var(--mono); font-size:.85rem; color:rgba(255,246,236,.6); }
.panel__live{ font-family:var(--mono); font-size:.72rem; color:var(--laton-2); display:inline-flex; align-items:center; gap:6px; }
.panel__live i{ width:7px; height:7px; border-radius:50%; background:var(--laton); animation:pulse 2s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(176,137,79,.55);} 70%{box-shadow:0 0 0 9px rgba(176,137,79,0);} 100%{box-shadow:0 0 0 0 rgba(176,137,79,0);} }
.states{ display:grid; grid-template-columns:1fr auto 1fr; gap:var(--s2); align-items:stretch; }
.state{ background:rgba(255,246,236,.04); border:1px solid rgba(255,246,236,.08); border-radius:12px; padding:var(--s2); }
.state--b{ background:rgba(176,137,79,.1); border-color:rgba(176,137,79,.35); }
.state__label{ font-family:var(--mono); font-size:.72rem; color:rgba(255,246,236,.55); display:block; margin-bottom:10px; }
.state--b .state__label{ color:var(--laton-2); }
.state li{ font-size:.88rem; line-height:1.4; color:rgba(255,246,236,.62); padding:6px 0; border-top:1px solid rgba(255,246,236,.06); }
.state li:first-child{ border-top:0; }
.state--a li{ text-decoration:line-through; text-decoration-color:rgba(168,35,26,.8); }
.state--b li{ color:#FFF6EC; }
.states__arrow{ display:grid; place-items:center; color:var(--laton); }
.states__arrow svg{ width:22px; height:22px; }
.panel__foot{ margin-top:var(--s3); font-size:.9rem; color:rgba(255,246,236,.6); }

/* ---------- para quién ---------- */
.fit{ background:var(--bg-soft); }
.fit__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); margin-top:var(--s6); }
.fitcard{ padding:var(--s4); border-radius:var(--radius); border:1px solid var(--line); background:var(--card); transition:transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.fitcard:hover{ transform:translateY(-5px); border-color:rgba(176,137,79,.5); box-shadow:0 24px 50px -28px rgba(127,0,0,.4); }
.fitcard__icon{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--bordo),var(--bordo-2)); color:#FFF6EC; margin-bottom:var(--s3); }
.fitcard__icon svg{ width:24px; height:24px; }
.fitcard h3{ font-size:1.25rem; font-weight:700; margin-bottom:8px; }
.fitcard p{ color:var(--muted); }
.notfor{ margin-top:var(--s6); border:1px dashed rgba(127,0,0,.35); border-radius:var(--radius); padding:var(--s4); display:grid; grid-template-columns:auto 1fr; gap:var(--s4); align-items:start; }
.notfor h3{ font-size:1.1rem; font-weight:700; color:var(--accent-ink); max-width:14ch; }
.notfor ul{ display:grid; grid-template-columns:1fr 1fr; gap:10px var(--s4); }
.notfor li{ color:var(--muted); padding-left:24px; position:relative; }
.notfor li::before{ content:"×"; position:absolute; left:0; color:var(--bordo); font-weight:700; }

/* ---------- modalidades (vidrio + anillo) ---------- */
.precios{ position:relative; background:var(--night); color:#FFF6EC; overflow:hidden; }
.precios__canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.9; }
.precios__veil{ position:absolute; inset:0; z-index:1;
  background:radial-gradient(70% 60% at 50% 45%, transparent 30%, rgba(18,8,7,.72) 100%),
             linear-gradient(180deg,var(--night),transparent 18%,transparent 82%,var(--night)); }
.precios__inner{ position:relative; z-index:2; text-align:center; }
.precios .section__title{ color:#FFF6EC; margin:0 auto; }
.precios .section__intro{ color:rgba(255,246,236,.75); margin-left:auto; margin-right:auto; }
.pricing{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:var(--s4); margin-top:var(--s8); }
.price-card{ flex:1 1 300px; max-width:400px; text-align:left; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  background:linear-gradient(160deg,rgba(255,246,236,.1),rgba(255,246,236,.03)); border:1px solid rgba(255,246,236,.14); border-radius:22px;
  padding:var(--s4); display:flex; flex-direction:column; position:relative; box-shadow:0 30px 60px -36px rgba(0,0,0,.8);
  transition:transform .3s var(--ease), border-color .3s; }
.price-card:hover{ transform:translateY(-6px); border-color:rgba(176,137,79,.5); }
.price-card--popular{ border-color:rgba(176,137,79,.6); background:linear-gradient(160deg,rgba(127,0,0,.38),rgba(255,246,236,.05)); box-shadow:0 40px 80px -36px rgba(127,0,0,.8); }
.price-card__badge{ position:absolute; top:-13px; right:22px; font-family:var(--mono); font-size:.7rem; letter-spacing:.03em;
  background:linear-gradient(120deg,var(--laton),var(--laton-2)); color:#2A1208; padding:5px 12px; border-radius:999px; }
.price-card__tag{ font-family:var(--mono); font-size:.78rem; color:var(--laton-2); }
.price-card__name{ font-size:1.9rem; font-weight:300; letter-spacing:-.03em; margin-top:4px; }
.price-card__desc{ color:rgba(255,246,236,.7); font-size:.96rem; margin-top:6px; min-height:3em; }
.price-card__fit{ margin:var(--s3) 0; font-size:1.02rem; line-height:1.45; color:#FFF6EC; }
.price-card__fit span{ display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--laton-2); margin-bottom:6px; }
.price-card__divider{ height:1px; margin-bottom:var(--s3); background:linear-gradient(90deg,transparent,rgba(176,137,79,.55) 20%,rgba(255,246,236,.3) 50%,rgba(176,137,79,.55) 80%,transparent); }
.price-card__features{ display:grid; gap:10px; margin-bottom:var(--s4); }
.price-card__features li{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:rgba(255,246,236,.9); }
.price-card__features svg{ flex:0 0 auto; width:16px; height:16px; color:var(--laton-2); margin-top:4px; }
.price-card .btn{ margin-top:auto; }
.precios__note{ position:relative; z-index:2; margin-top:var(--s6); color:rgba(255,246,236,.7); font-size:.95rem; }

/* ---------- casos ---------- */
.casos__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s3); margin-top:var(--s6); }
.caso{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); overflow:hidden; display:flex; flex-direction:column; }
.caso__media{ aspect-ratio:4/3; background:repeating-linear-gradient(135deg,var(--bg-soft) 0 12px,transparent 12px 24px), var(--bg); display:grid; place-items:center;
  font-family:var(--mono); font-size:.8rem; color:var(--muted); border-bottom:1px solid var(--line); }
.caso__body{ padding:var(--s3); display:grid; gap:10px; }
.caso__who{ font-weight:700; }
.caso__row{ display:grid; grid-template-columns:22px 1fr; gap:8px; font-size:.94rem; color:var(--muted); }
.caso__row b{ font-family:var(--mono); font-weight:500; color:var(--accent-ink); }
.guarantees{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s2) var(--s4); max-width:860px; margin:var(--s8) auto 0; }
.guarantees li{ display:flex; gap:var(--s2); align-items:flex-start; font-size:1rem; }
.g__check{ color:var(--bordo); font-weight:800; }

/* ---------- equipo ---------- */
.equipo{ position:relative; overflow:hidden; background:var(--bg-soft); }
.equipo__grid{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background-image:linear-gradient(to right, var(--grid) 1px, transparent 1px), linear-gradient(to bottom, var(--grid) 1px, transparent 1px);
  background-size:20px 20px;
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 40%, #000 20%, transparent 100%);
          mask-image:radial-gradient(ellipse 75% 65% at 50% 40%, #000 20%, transparent 100%); }
.equipo .wrap{ position:relative; z-index:1; }
.equipo__head{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s6); }
.equipo__kicker{ display:block; font-family:var(--mono); font-size:.86rem; text-transform:uppercase; letter-spacing:.55em; color:var(--accent-ink); margin-bottom:var(--s2); }
.equipo__side{ display:flex; flex-direction:column; align-items:flex-end; gap:var(--s3); flex:0 0 auto; }
.equipo__logo{ display:block; width:96px; aspect-ratio:435/446; color:var(--bordo); }
.equipo__social{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:var(--s6); color:var(--muted); font-size:.92rem; }
.equipo__social a{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); color:var(--muted); transition:color .25s, border-color .25s; }
.equipo__social a:hover{ color:var(--accent-ink); border-color:var(--accent-ink); }
.equipo__social svg{ width:20px; height:20px; }

.team{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s3); max-width:1100px; margin:var(--s4) auto 0; }
.member{ --tint:rgba(127,0,0,.07); position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  text-align:center; padding:var(--s4) var(--s3) var(--s2); border-radius:18px; border:1px solid var(--line);
  background:linear-gradient(var(--tint),var(--tint)), var(--card); box-shadow:0 18px 40px -30px rgba(30,21,18,.45);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.member:nth-child(2){ --tint:rgba(30,21,18,.035); }
.member:nth-child(3){ --tint:rgba(176,137,79,.14); }
.member:nth-child(4){ --tint:rgba(168,35,26,.05); }
.team .member:hover, .team .member:focus-within{ transform:scale(1.02); box-shadow:0 30px 60px -30px rgba(127,0,0,.45); }
/* ola que sube desde el pie al pasar el mouse */
.member__wave{ position:absolute; left:0; right:0; bottom:0; height:50%; border-radius:999px 999px 0 0; pointer-events:none;
  background:linear-gradient(to top, rgba(127,0,0,.2), transparent); transform:scaleY(0); transform-origin:bottom;
  transition:transform .5s var(--ease) calc(var(--i) * 50ms); }
.member:hover .member__wave, .member:focus-within .member__wave{ transform:scaleY(1); }
.member__photo{ position:relative; z-index:1; width:144px; height:144px; border-radius:50%; overflow:hidden;
  border:4px solid transparent; background:rgba(255,255,255,.2); box-shadow:0 0 0 1px rgba(176,137,79,.45);
  transition:border-color .5s var(--ease), transform .5s var(--ease); transition-delay:calc(var(--i) * 100ms); }
.member:hover .member__photo, .member:focus-within .member__photo{ border-color:var(--bordo); transform:scale(1.05); }
.member__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.member:hover .member__photo img{ transform:scale(1.1); }
.member__initials{ width:100%; height:100%; display:grid; place-items:center; font-family:var(--mono); font-size:2rem; font-weight:600; color:#FFF6EC;
  background:linear-gradient(135deg,var(--bordo),var(--bordo-2)); }
.member__name{ position:relative; z-index:1; margin-top:var(--s2); font-size:1.18rem; font-weight:700; letter-spacing:-.01em; }
.member__role{ position:relative; z-index:1; font-size:.9rem; color:var(--muted); }
.member__social{ position:relative; z-index:1; display:flex; gap:12px; margin-top:10px; opacity:0; transition:opacity .3s var(--ease); }
.member:hover .member__social, .member:focus-within .member__social{ opacity:1; }
.member__social a{ display:grid; place-items:center; width:36px; height:36px; color:var(--muted); transition:color .25s; }
.member__social a:hover{ color:var(--accent-ink); }
.member__social svg{ width:20px; height:20px; }
@media (hover:none){ .member__social{ opacity:1; } }
@media (max-width:1024px){ .team{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px){
  .equipo__head{ flex-direction:column; gap:var(--s3); }
  .equipo__side{ flex-direction:row; align-items:center; justify-content:space-between; width:100%; }
  .equipo__logo{ width:66px; }
  .equipo__kicker{ letter-spacing:.35em; }
}
@media (max-width:520px){ .team{ grid-template-columns:1fr; max-width:360px; } }

/* ---------- manifiesto: cada idea se "enciende" palabra por palabra al scrollear ---------- */
.manifiesto{ position:relative; overflow:hidden; background:var(--night); color:#FFF6EC; padding-bottom:var(--s8); }
.manifiesto .section__title{ color:#FFF6EC; }
.manifiesto .section__intro{ color:rgba(255,246,236,.6); }
.mani-list{ margin-top:var(--s6); }
.mani{ display:grid; grid-template-columns:180px 1fr; gap:var(--s4); padding:var(--s4) 0; border-top:1px solid rgba(255,246,236,.1); }
.mani__meta{ display:flex; flex-direction:column; gap:6px; }
.mani__n{ font-family:var(--mono); font-size:1.8rem; line-height:1; color:var(--laton); }
.mani__label{ font-family:var(--mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,246,236,.55); }
.mani__arrow{ width:36px; height:36px; margin-top:var(--s2); overflow:visible; color:var(--bordo-2); }
.mani__arrow-line{ fill:none; stroke:currentColor; stroke-width:44; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .8s var(--ease); }
.mani__arrow-head{ fill:currentColor; stroke:currentColor; stroke-width:14; stroke-linejoin:round; opacity:0; transition:opacity .3s .6s; }
.mani.is-done .mani__arrow-line{ stroke-dashoffset:0; }
.mani.is-done .mani__arrow-head{ opacity:1; }
.mani__text{ font-size:clamp(1.3rem,2.7vw,2.15rem); font-weight:700; line-height:1.18; letter-spacing:-.025em; max-width:30ch; text-wrap:balance; }
.mani__text em{ font-style:normal; color:var(--laton-2); }
.mani__text .w{ opacity:.14; transition:opacity .35s var(--ease); }
.mani__text .w.on{ opacity:1; }

/* banda de palabras clave en movimiento */
.marquee{ margin-top:var(--s6); overflow:hidden; border-block:1px solid rgba(176,137,79,.25); padding:var(--s3) 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee__track{ display:flex; align-items:center; gap:var(--s4); width:max-content; animation:marquee 38s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__track span{ font-size:clamp(1.3rem,2.6vw,2rem); font-weight:800; letter-spacing:-.03em; white-space:nowrap; color:transparent; -webkit-text-stroke:1px rgba(228,204,156,.7); }
.marquee__track span:nth-of-type(odd){ color:#FFF6EC; -webkit-text-stroke:0; }
.marquee__sep{ width:24px; height:24px; flex:0 0 auto; color:var(--bordo-2); }
@keyframes marquee{ to{ transform:translateX(calc(-50% - var(--s4) / 2)); } }
@media (max-width:760px){
  .mani{ grid-template-columns:1fr; gap:var(--s2); padding:var(--s4) 0; }
  .mani__meta{ flex-direction:row; align-items:center; gap:12px; }
  .mani__n{ font-size:1.4rem; }
  .mani__arrow{ width:26px; height:26px; margin:0 0 0 auto; }
}

/* ---------- FAQ ---------- */
.faq{ background:var(--bg-soft); }
.faq__list{ margin-top:var(--s6); max-width:860px; display:grid; gap:var(--s1); }
.faq details{ border:1px solid var(--line); border-radius:14px; background:var(--card); transition:border-color .3s; }
.faq details[open]{ border-color:rgba(176,137,79,.55); }
.faq summary{ cursor:pointer; list-style:none; padding:20px var(--s3); font-weight:600; font-size:1.05rem; display:flex; justify-content:space-between; align-items:center; gap:var(--s2); min-height:56px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--mono); font-size:1.4rem; color:var(--bordo); transition:transform .3s var(--ease); flex:0 0 auto; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ padding:0 var(--s3) 20px; color:var(--muted); max-width:70ch; }

/* ---------- contacto ---------- */
.contacto{ background:linear-gradient(165deg,var(--night-2),var(--night)); color:#FFF6EC; }
.contacto .section__title{ color:#FFF6EC; }
.contacto .section__intro{ color:rgba(255,246,236,.72); }
.contacto__grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:var(--s8); align-items:start; }
.contacto__steps{ margin-top:var(--s4); display:grid; gap:var(--s2); }
.contacto__steps li{ display:grid; grid-template-columns:40px 1fr; gap:var(--s2); align-items:baseline; color:rgba(255,246,236,.78); }
.contacto__steps b{ font-family:var(--mono); color:var(--laton-2); font-weight:500; }
.form{ background:rgba(255,246,236,.05); border:1px solid rgba(255,246,236,.1); border-radius:22px; padding:var(--s4); display:grid; gap:var(--s2); backdrop-filter:blur(8px); }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s2); }
.field{ display:grid; gap:6px; }
.field label{ font-size:.85rem; color:rgba(255,246,236,.78); font-weight:500; }
.field input, .field select, .field textarea{ font-family:var(--sans); font-size:1rem; color:#FFF6EC; background:rgba(255,246,236,.06); border:1px solid rgba(255,246,236,.18);
  border-radius:11px; padding:12px 14px; min-height:48px; transition:border-color .2s, background .2s; resize:vertical; width:100%; }
.field input::placeholder, .field textarea::placeholder{ color:rgba(255,246,236,.4); }
.field select{ appearance:none; cursor:pointer; background-image:linear-gradient(45deg,transparent 50%,var(--laton-2) 50%),linear-gradient(135deg,var(--laton-2) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:40px; }
.field select option{ color:#1E1512; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--laton); background:rgba(255,246,236,.1); }
.form__status{ font-size:.92rem; min-height:1.2em; color:var(--laton-2); }
.form__status.err{ color:#FF9C8F; }
.agenda{ margin-top:var(--s4); border:1.5px dashed rgba(176,137,79,.5); border-radius:22px; min-height:420px; display:grid; place-items:center; text-align:center; padding:var(--s4); color:rgba(255,246,236,.6); }
.agenda__lock{ display:grid; justify-items:center; gap:6px; max-width:32ch; }
.agenda__lock svg{ width:34px; height:34px; color:var(--laton); margin-bottom:6px; }
.agenda strong{ display:block; color:#FFF6EC; font-size:1.1rem; }
/* abierta: el calendario de Calendly ocupa la caja */
.agenda.is-open{ display:block; padding:0; min-height:0; border:1px solid rgba(176,137,79,.35); overflow:hidden; background:#FFFCF7; }
.agenda iframe{ display:block; width:100%; height:700px; border:0; }
@media (max-width:760px){ .agenda iframe{ height:760px; } }

/* ---------- cierre ---------- */
.cierre{ background:var(--bordo); color:#FFF6EC; text-align:center; position:relative; overflow:hidden; }
.cierre::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 80% at 50% 0%, rgba(228,204,156,.18), transparent 70%); }
.cierre .wrap{ position:relative; }
.cierre__title{ font-size:clamp(2rem,5.5vw,4.2rem); font-weight:900; letter-spacing:-.035em; line-height:1.05; max-width:20ch; margin:0 auto var(--s6); }

/* ---------- footer ---------- */
.footer{ background:var(--night); color:rgba(255,246,236,.7); padding:var(--s12) 0 var(--s4); }
.footer__grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--s6); }
.footer__tag{ font-size:.95rem; line-height:1.7; margin-top:var(--s2); max-width:40ch; }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__h{ font-family:var(--mono); font-size:.78rem; color:var(--laton-2); margin-bottom:6px; }
.footer__col a:hover{ color:#FFF6EC; }
.footer__bottom{ display:flex; justify-content:space-between; gap:var(--s2); flex-wrap:wrap; margin-top:var(--s8); padding-top:var(--s3); border-top:1px solid rgba(255,246,236,.1);
  font-family:var(--mono); font-size:.78rem; color:rgba(255,246,236,.45); }

/* ---------- barra flotante inferior ---------- */
.dock{ position:fixed; left:0; right:0; z-index:40; display:flex; justify-content:center;
  bottom:calc(16px + env(safe-area-inset-bottom,0px)); padding:0 var(--s2); pointer-events:none;
  opacity:0; visibility:hidden; transform:translateY(26px);
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s; }
.dock.show{ opacity:1; visibility:visible; transform:none; }
.dock__inner{ pointer-events:auto; display:flex; align-items:center; gap:var(--s3);
  width:100%; max-width:880px; padding:13px 13px 13px 20px; border-radius:18px;
  background:rgba(18,8,7,.92); backdrop-filter:blur(16px) saturate(1.25); -webkit-backdrop-filter:blur(16px) saturate(1.25);
  border:1px solid rgba(176,137,79,.28); box-shadow:0 26px 60px -26px rgba(0,0,0,.8); }
.dock__mark{ width:40px; height:41px; flex:0 0 auto; color:#EEE5D6; }
.dock__claim{ flex:1; min-width:0; color:#FFF6EC; font-weight:600; font-size:1.05rem;
  line-height:1.25; letter-spacing:-.018em; text-wrap:balance; }
.dock__short{ display:none; }
.dock__cta{ flex:0 0 auto; gap:9px; padding:12px 22px; font-size:.95rem; min-height:46px; }
.dock__cta svg{ width:17px; height:17px; }

@media (max-width:1280px){
  /* achicar links y separaciones para estirar el nav completo hasta ~1080px */
  .nav__inner{ gap:var(--s3); }
  .nav__links{ gap:22px; }
  .nav__links a{ font-size:.72rem; letter-spacing:.1em; }
}
@media (max-width:1080px){
  /* los 5 links ya no entran junto a la marca y el CTA: pasan a desplegable */
  .nav__burger{ display:flex; }
  .nav__links{ position:fixed; top:calc(96px + env(safe-area-inset-top,0px)); left:var(--s3); right:var(--s3);
    flex:0 0 auto; flex-direction:column; align-items:stretch; justify-content:flex-start; height:auto; gap:2px;
    padding:var(--s2) var(--s3); border-radius:18px; border:1px solid rgba(176,137,79,.22);
    background:linear-gradient(135deg, #23100D 0%, #180B09 45%, #120807 100%);
    box-shadow:0 26px 60px -26px rgba(0,0,0,.85);
    opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px) scale(.97);
    transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s; }
  .nav__links.open{ opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .nav__links a{ font-family:var(--sans); text-transform:none; letter-spacing:-.01em;
    color:#FFF6EC; font-size:1.08rem; padding:12px 4px; border-bottom:1px solid rgba(176,137,79,.12); }
  .nav__links a:last-child{ border-bottom:0; }
  /* la hamburguesa se vuelve X con el menu abierto */
  .nav__links.open ~ .nav__right .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav__links.open ~ .nav__right .nav__burger span:nth-child(2){ opacity:0; }
  .nav__links.open ~ .nav__right .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  /* el backdrop-filter crearia bloque contenedor y romperia el panel fixed */
  .nav__inner, .nav.is-stuck .nav__inner{ backdrop-filter:none; -webkit-backdrop-filter:none;
    background:linear-gradient(135deg, #23100D 0%, #180B09 45%, #120807 100%); }
  .nav.is-stuck .nav__inner{ transform:none; }
}
@media (max-width:760px){
  .dock{ bottom:calc(10px + env(safe-area-inset-bottom,0px)); padding:0 10px; }
  .dock__inner{ gap:12px; padding:10px 10px 10px 14px; border-radius:16px; }
  .dock__mark{ width:32px; height:32px; }
  .dock__claim{ font-size:.92rem; line-height:1.3; }
  .dock__long{ display:none; }
  .dock__short{ display:inline; }
  .dock__cta{ width:50px; height:50px; min-height:50px; padding:0; border-radius:50%; }
  .dock__cta span{ display:none; }
  .dock__cta svg{ width:20px; height:20px; }
}

/* ---------- animaciones de entrada ---------- */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.hero [data-anim]{ opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.hero [data-anim].in{ opacity:1; transform:none; }

/* ---------- responsive ---------- */
@media (max-width:920px){
  .verdad__grid, .contacto__grid{ grid-template-columns:1fr; gap:var(--s6); }
  .fit__grid, .casos__grid{ grid-template-columns:repeat(2,1fr); }
  .svc{ grid-template-columns:1fr; gap:var(--s3); }
  .notfor{ grid-template-columns:1fr; gap:var(--s2); }
}
@media (max-width:760px){
  /* pill compacto y CTA solo icono */
  .nav{ top:calc(10px + env(safe-area-inset-top,0px)); padding:0 10px; }
  .nav__inner{ gap:10px; padding:10px 10px 10px 16px; }
  .brand__mark{ width:32px; height:32px; }
  .brand__name{ font-size:1.14rem; }
  .nav__cta{ padding:0; width:48px; height:48px; justify-content:center; border-radius:50%; }
  .nav__cta span{ display:none; }
  .nav__cta svg{ width:18px; height:18px; }
  .nav__links{ top:calc(90px + env(safe-area-inset-top,0px)); left:10px; right:10px; }
  .fit__grid, .casos__grid, .guarantees, .form__row, .notfor ul{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; gap:var(--s4); }
  .truth{ grid-template-columns:96px 1fr; }
  .states{ grid-template-columns:1fr; }
  .states__arrow{ transform:rotate(90deg); }
  .hero{ padding-top:120px; padding-bottom:170px; }
  /* flecha chica, saliendo del arco en la esquina: no pisa el texto */
  .hero__arrow{ width:128px; right:16px; bottom:14px; }
}

/* ---------- accesibilidad ---------- */
:focus-visible{ outline:3px solid var(--laton); outline-offset:3px; border-radius:6px; }
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
  .marquee__track{ animation:none !important; }
  .reveal, .hero [data-anim]{ opacity:1 !important; transform:none !important; }
  .glow{ display:none; }
}
@media (hover:none){ .fitcard:hover, .btn:hover{ transform:none; } }
