/* ============================================================
   Auve Nico · estilos.css · v2 (2026-09-08) · ajustes PageSpeed 2026-09-25
   Tokens de marca (Biblia v2.1): #101820 + #9DFCF4 · Inter + Fraunces itálica.
   Sistema editorial: cabeceras con índice, palabra acento en serif,
   fichas laterales, tarjetas oscuras con resplandor, bento de casos.
   ============================================================ */

/* ---------- Fuentes autoalojadas (RGPD + rendimiento) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/inter-normal-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/inter-normal-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400 500;font-display:swap;
  src:url(fonts/fraunces-italic-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400 500;font-display:swap;
  src:url(fonts/fraunces-italic-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Respaldo con las medidas de Inter mientras carga la fuente: evita el salto de diseño (CLS) al cambiar de Arial a Inter. 2026-09-25 */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans");size-adjust:107.48%;ascent-override:90.14%;descent-override:22.44%;line-gap-override:0%}

/* ---------- Tokens ---------- */
*,*::before,*::after{box-sizing:border-box}
:root{
  --dark:#101820; --dark-2:#0b1117; --panel:#141f29; --panel-2:#192632; --panel-3:#1f2e3b;
  --accent:#9DFCF4; --accent-ink:#101820; --accent-big:#101820; --acc-text:#101820; --em-ink:#101820; --em-mark:#9DFCF4; --strong-ink:#101820; --accent-soft:#e9fdfb; --accent-dim:rgba(157,252,244,.12); --accent-line:rgba(157,252,244,.28);
  --ink:#101820; --muted:#5b6671; --muted-2:#66727c; --line:#e3e8eb; --line-2:#cfd7dc; --bg:#ffffff; --bg-soft:#f4f7f8;
  --on-dark:#ffffff; --on-dark-muted:#ffffff; --line-dark:rgba(255,255,255,.1); --line-dark-2:rgba(255,255,255,.18);
  --maxw:1440px; --radius:20px; --radius-s:12px; --gap:clamp(1.25rem,3vw,2rem);
  --pad:clamp(4rem,9vw,7rem); --pad-s:clamp(2.5rem,6vw,4.5rem);
  --side:clamp(1.25rem,5vw,4.5rem);
  --font:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow-dark:0 30px 70px -36px rgba(0,0,0,.75);
  --shadow-light:0 26px 54px -30px rgba(16,24,32,.28);
}
/* Solo dos colores de marca: sobre claro, texto azul oscuro + marcador cian; sobre oscuro, texto cian/blanco sin marcador */
.section-dark,.hero-ed,.hero-home,.booking,.diag-card,.cta-band,.mega-feat,.filo-section,.pilar,.site-footer,.card-dark,.cookie-bar,body.home .reveal-flow,.illo-frame,.quote-card,.post-cta,.tarifa.featured,.case-card,.blog-featured,.blog-card,.mpanel{--acc-text:var(--accent);--em-ink:var(--accent);--em-mark:transparent;--strong-ink:#fff}
.mega,.section-dark .related-card,.section-dark .post-card,.section-dark .tarifa:not(.featured),.section-dark .tcard.light{--acc-text:var(--ink);--em-ink:var(--ink);--em-mark:var(--accent);--strong-ink:var(--ink)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:1rem;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--side)}
.container-narrow{max-width:900px}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3,h4{line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em;font-weight:700;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.0;letter-spacing:-.03em}
h2{font-size:clamp(1.75rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.05rem,1.6vw,1.25rem);letter-spacing:-.012em;line-height:1.25}
h4{font-size:1rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.05rem,1.55vw,1.22rem);color:var(--muted);font-weight:400;line-height:1.6;text-wrap:pretty}
.muted{color:var(--muted)}
.small{font-size:.9rem}
strong{font-weight:600}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* Palabra acento: Fraunces itálica */
.serif,.accent-word,h1 em,h2 em,.filo-statement em,.hero-ed h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.005em}
h1 em,h2 em{color:var(--em-ink);background-image:linear-gradient(transparent 58%,var(--em-mark) 58%);background-repeat:no-repeat;padding:0 .05em;margin:0 -.05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.section-dark h1 em,.section-dark h2 em,.hero-ed h1 em,.section-dark .accent-word,.hero-home .accent-word{color:var(--accent);background-image:none}
h2 em{font-size:1.02em}

/* Eyebrow: guion + versalitas */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--acc-text);margin-bottom:1rem;background:none;padding:0;border-radius:0}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;opacity:.7;border-radius:2px}
.section-dark .eyebrow{color:var(--accent);background:none;border:0;padding:0}
.eyebrow.pill{background:var(--accent-soft);color:var(--accent-ink);padding:.3rem .7rem;border-radius:999px}
.eyebrow.pill::before{display:none}
.section-dark .eyebrow.pill{background:var(--accent-dim);border:1px solid var(--accent-line);color:var(--accent)}

/* Índice editorial: "01 / 12" */
.idx{display:inline-flex;align-items:baseline;gap:.35rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--acc-text);font-variant-numeric:tabular-nums;margin-bottom:1.1rem}
.idx b{font-size:1.25em;font-weight:700;letter-spacing:0;color:var(--acc-text)}
.idx i{font-style:normal;opacity:.45;font-weight:400}
.section-dark .idx,.hero-ed .idx{color:var(--on-dark-muted)}
.section-dark .idx b,.hero-ed .idx b{color:var(--accent)}

/* Skip link */
.skip{position:absolute;left:-999px;top:0;background:var(--dark);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0;z-index:100}
.skip:focus{left:0}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.78rem 1.55rem;border-radius:999px;
  font-weight:600;font-size:.95rem;line-height:1.2;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),filter .18s,border-color .18s,background .18s,color .18s,box-shadow .18s}
.btn .ico{transition:transform .18s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 10px 30px -14px rgba(157,252,244,.7)}
.btn-accent:hover{filter:brightness(.96);transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(157,252,244,.85)}
.btn-dark{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn-dark:hover{transform:translateY(-2px);filter:brightness(1.15)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--dark);transform:translateY(-2px)}
.section-dark .btn-ghost,.hero-ed .btn-ghost,.hero-home .btn-ghost{color:#fff;border-color:rgba(255,255,255,.32)}
.section-dark .btn-ghost:hover,.hero-ed .btn-ghost:hover,.hero-home .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sm{padding:.55rem 1.1rem;font-size:.86rem}
.btn-lg{padding:.95rem 1.9rem;font-size:1.02rem}
.actions{margin-top:1.8rem;display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--acc-text)}
.link-arrow span,.link-arrow .ico{transition:transform .2s var(--ease)}
.link-arrow:hover span,.link-arrow:hover .ico{transform:translateX(4px)}
.section-dark .link-arrow{color:var(--accent)}
.more{color:var(--acc-text);font-weight:600;font-size:.93rem;display:inline-flex;align-items:center;gap:.35rem}
.more:hover{text-decoration:underline;text-underline-offset:3px}
.section-dark .more{color:var(--accent)}

/* ---------- Secciones ---------- */
.section{padding:var(--pad) 0;position:relative}
.section-s{padding:var(--pad-s) 0}
.section-soft{background:var(--bg-soft)}
.section-accent{background:var(--accent-soft)}
.section-dark{background:var(--dark);color:var(--on-dark)}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}
.section-dark .lead,.section-dark .muted,.section-dark p{color:var(--on-dark-muted)}
.section-dark strong{color:#fff}
.section-head{max-width:760px;margin-bottom:clamp(2rem,4.5vw,3.4rem)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head.center .lead{margin-left:auto;margin-right:auto}
.section-head h2{margin-bottom:.45em}
.section-head .lead{max-width:60ch;margin-bottom:0}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4.5vw,3.2rem)}
.section-head-row .section-head{margin-bottom:0}
.prose-narrow{max-width:760px}
.prose-narrow h2{margin-bottom:.7em}
.center{text-align:center}
.mt-2{margin-top:2rem}

/* Fondos decorativos (sin imágenes) */
.bg-deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bg-deco+*{position:relative;z-index:1}
.glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;background:radial-gradient(circle,rgba(157,252,244,.28),rgba(157,252,244,0) 70%)}
.glow.g1{width:52vw;height:52vw;max-width:760px;max-height:760px;right:-14vw;top:-22vw}
.glow.g2{width:38vw;height:38vw;max-width:560px;max-height:560px;left:-12vw;bottom:-18vw;opacity:.35}
.glow.g3{width:30vw;height:30vw;left:35%;top:30%;opacity:.22}
.grid-lines{position:absolute;inset:0;
  background-image:linear-gradient(rgba(157,252,244,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(157,252,244,.07) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(110% 90% at 60% 20%,#000 30%,transparent 78%);mask-image:radial-gradient(110% 90% at 60% 20%,#000 30%,transparent 78%)}
.dots{position:absolute;inset:-2px;background-image:radial-gradient(rgba(157,252,244,.16) 1.2px,transparent 1.4px);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(125% 95% at 50% 42%,#000 42%,transparent 84%);mask-image:radial-gradient(125% 95% at 50% 42%,#000 42%,transparent 84%)}
.section-soft .grid-lines,.section-soft .dots,.bg-light .grid-lines{opacity:.9;
  background-image:linear-gradient(rgba(16,24,32,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,32,.06) 1px,transparent 1px)}
.watermark{position:absolute;right:var(--side);bottom:-.12em;font-weight:800;font-size:clamp(9rem,26vw,22rem);line-height:1;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1px rgba(157,252,244,.16);user-select:none;font-variant-numeric:tabular-nums}
.watermark.serif{font-family:var(--font-serif);font-weight:400;-webkit-text-stroke:1px rgba(157,252,244,.2)}
.rule{display:block;height:1px;margin:1.4rem 0 0;background:linear-gradient(90deg,var(--accent),transparent);transform:scaleX(1);transform-origin:left}

/* Breadcrumb */
.breadcrumb{padding:1.1rem 0 0;position:relative;z-index:2}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.82rem;color:var(--on-dark-muted)}
.breadcrumb li{display:flex;align-items:center;gap:.4rem}
.breadcrumb li::after{content:"/";opacity:.4}
.breadcrumb li:last-child{color:#fff;font-weight:500}
.breadcrumb li:last-child::after{content:""}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb.on-light ol{color:var(--muted)}
.breadcrumb.on-light li:last-child{color:var(--ink)}

/* ---------- Listas ---------- */
.list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.75rem;max-width:780px}
.list li{position:relative;padding-left:1.7rem;line-height:1.55}
.list li::before{content:"";position:absolute;left:0;top:.52em;width:9px;height:9px;border-radius:3px;background:var(--dark);box-shadow:0 0 0 3px var(--accent)}
.section-dark .list li::before{background:var(--accent);box-shadow:0 0 0 3px rgba(157,252,244,.14)}
.list.cols-2{columns:2;column-gap:2.5rem;display:block}
.list.cols-2 li{break-inside:avoid;margin-bottom:.7rem}
.list-check{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.list-check li{display:flex;align-items:flex-start;gap:.6rem;line-height:1.5}
.list-check li svg{width:20px;height:20px;flex:0 0 auto;margin-top:.15em;color:var(--acc-text)}
/* Lista numerada editorial (problemas / situaciones) */
.num-list{list-style:none;padding:0;margin:0;counter-reset:n;display:grid;gap:0;max-width:820px}
.num-list li{counter-increment:n;display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;align-items:start;padding:1.05rem 0;border-top:1px solid var(--line);line-height:1.5;font-size:1.05rem}
.num-list li:last-child{border-bottom:1px solid var(--line)}
.num-list li::before{content:counter(n,decimal-leading-zero);font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:var(--acc-text);line-height:1;padding-top:.1em}
.section-dark .num-list li{border-color:var(--line-dark)}
.section-dark .num-list li::before{color:var(--accent)}

/* ---------- Grids y tarjetas ---------- */
.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.6rem 1.6rem;display:flex;flex-direction:column;
  transition:transform .22s var(--ease),box-shadow .22s,border-color .22s;overflow:hidden}
.card::after{content:"";position:absolute;inset:auto -30% -50% auto;width:60%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(157,252,244,.35),rgba(157,252,244,0) 70%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-light);border-color:var(--line-2)}
.card:hover::after{opacity:1}
.card>*{position:relative;z-index:1}
.card h3{margin-bottom:.45em}
.card h2{font-size:clamp(1.05rem,1.6vw,1.25rem);letter-spacing:-.012em;margin-bottom:.45em;line-height:1.25}
.card p{margin-bottom:.9rem;color:var(--muted);font-size:.97rem;line-height:1.55}
.card p:last-child{margin-bottom:0}
.card .ico{width:50px;height:50px;border-radius:14px;background:var(--accent);border:1px solid transparent;
  margin-bottom:1.1rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--dark)}
.card .ico svg{width:30px;height:30px;display:block;margin:0}
.card .more{margin-top:auto;padding-top:.6rem}
.card .num{position:absolute;top:1.1rem;right:1.2rem;font-family:var(--font-serif);font-style:italic;font-size:1.35rem;color:var(--line-2);z-index:1}
/* Tarjeta oscura con resplandor (fondo azul oscuro opaco) */
.section-dark .card,.card-dark{background:linear-gradient(160deg,var(--panel-2),var(--panel));border-color:var(--line-dark);color:var(--on-dark);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.section-dark .card:hover,.card-dark:hover{border-color:var(--accent-line);box-shadow:var(--shadow-dark),inset 0 1px 0 rgba(255,255,255,.08)}
.section-dark .card h3,.section-dark .card h2,.card-dark h3{color:#fff}
.section-dark .card p,.card-dark p{color:var(--on-dark-muted)}
.section-dark .card .ico,.card-dark .ico{background:var(--accent-dim);border-color:var(--accent-line);color:var(--accent)}
.section-dark .card .more,.card-dark .more{color:var(--accent)}
.section-dark .card .num{color:rgba(255,255,255,.18)}
/* Feature grid: icono + título + texto, denso, sin huecos */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.features .card{padding:1.5rem 1.4rem}
.features.cols-2{grid-template-columns:repeat(2,1fr)}
.features .card h2,.features .card h3{font-size:1.08rem}

/* Steps (Método Raíz en interiores): stepper horizontal con línea */
.steps{display:grid;gap:1rem;position:relative}
.steps-5{grid-template-columns:repeat(5,1fr)}
.steps-3{grid-template-columns:repeat(3,1fr)}
.step{position:relative;padding:1.4rem 1.2rem 1.3rem;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;
  transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-light)}
.step h3{font-size:1.02rem;margin:.55rem 0 .35em}
.step p{color:var(--muted);font-size:.93rem;margin:0;line-height:1.5}
.step .num{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;
  color:var(--dark);background:var(--accent);border-radius:999px;font-variant-numeric:tabular-nums}
.section-dark .step{background:linear-gradient(160deg,var(--panel-2),var(--panel));border-color:var(--line-dark)}
.section-dark .step:hover{border-color:var(--accent-line)}
.section-dark .step .num{background:var(--accent);color:var(--accent-ink)}
.section-dark .step p{color:var(--on-dark-muted)}
.section-dark .step p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(157,252,244,.4)}
@media(min-width:1025px){
  .steps-5 .step::after{content:"";position:absolute;top:2.1rem;right:-1rem;width:1rem;height:1px;background:var(--accent-line)}
  .steps-5 .step:last-child::after{display:none}
}

/* Quote card (tesis) */
.quote-card{position:relative;background:linear-gradient(160deg,var(--panel-3),var(--dark));color:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:clamp(1.8rem,3.5vw,2.8rem);overflow:hidden;box-shadow:var(--shadow-dark)}
.quote-card::before{content:"\201C";position:absolute;left:1.2rem;top:-.15em;font-family:var(--font-serif);font-style:italic;font-size:7rem;line-height:1;color:var(--accent);opacity:.9}
.quote-card::after{content:"";position:absolute;right:-30%;bottom:-40%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.22),transparent 70%);filter:blur(30px)}
.quote-card>*{position:relative;z-index:1}
.quote-card blockquote{margin:2.6rem 0 1rem;font-size:clamp(1.25rem,2.1vw,1.7rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:#fff}
.quote-card blockquote em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent)}
.quote-card .qc-foot{display:flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.quote-card .qc-foot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split .prose{max-width:56ch}

/* Media placeholder (wireframe heredado, sólo en fallback) */
.wf-media{border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--bg-soft);min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:.9rem;padding:1rem}
.wf-media.has-img{border:0;background:none;padding:0;overflow:hidden}
.wf-media.has-img img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block;border-radius:var(--radius)}

/* FAQ */
.faq{display:grid;gap:.7rem;max-width:860px}
.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:var(--acc-text)}
.faq summary{cursor:pointer;padding:1.05rem 1.25rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--acc-text);font-weight:500;font-size:1.5rem;line-height:1;flex:0 0 auto;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .answer{padding:0 1.25rem 1.15rem;color:var(--muted);line-height:1.6}
.section-dark .faq details{background:rgba(255,255,255,.035);border-color:var(--line-dark)}
.section-dark .faq details[open]{border-color:var(--accent-line)}
.section-dark .faq summary{color:#fff}
.section-dark .faq summary::after{color:var(--accent)}
.section-dark .faq .answer{color:var(--on-dark-muted)}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.faq-grid .section-head{margin-bottom:0;position:sticky;top:110px}

/* Newsletter */
.nl{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap);align-items:center}
.nl h2{margin-bottom:.3em}
.nl-form{display:flex;gap:.6rem;flex-wrap:wrap}
.nl-form input{flex:1;min-width:200px;padding:.85rem 1.1rem;border:1.5px solid var(--line-2);border-radius:999px;font-family:inherit;font-size:.97rem;background:#fff;color:var(--ink)}
.nl-form input:focus{outline:none;border-color:var(--accent-ink)}
.section-dark .nl-form input{background:rgba(255,255,255,.06);border-color:var(--line-dark-2);color:#fff}
.section-dark .nl-form input::placeholder{color:var(--on-dark-muted)}
.nl-note{font-size:.78rem;color:var(--muted-2);margin:.7rem 0 0;line-height:1.45}
.nl-note a{text-decoration:underline;text-underline-offset:2px}

/* CTA band final */
.cta-band{position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark)}
.cta-band .cta-inner{position:relative;z-index:1;max-width:820px;margin:0 auto;text-align:center}
.cta-band h2{color:#fff;margin-bottom:.45em;font-size:clamp(1.9rem,4vw,3rem)}
.cta-band .lead{color:var(--on-dark-muted);max-width:58ch;margin:0 auto 1.7rem}
.cta-band .actions{justify-content:center;margin-top:0}
.cta-band .cta-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem;font-size:.85rem;color:var(--on-dark-muted)}
.cta-band .cta-meta span{display:inline-flex;align-items:center;gap:.4rem}
.cta-band .cta-meta svg{width:16px;height:16px;color:var(--accent)}
.cta-inner{max-width:720px}
.cta-inner h2{margin-bottom:.4em}
.cta-inner .lead{margin-bottom:1.6rem}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:1.4rem 1.1rem;text-align:left}
.stat-num,.stat .num{display:inline-block;font-family:var(--font-serif);font-style:italic;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1;letter-spacing:-.01em;color:var(--acc-text);background-image:linear-gradient(transparent 62%,var(--em-mark) 62%);padding:0 .12em;margin-left:-.12em}
.stat-label,.stat .lbl{display:block;font-size:.88rem;color:var(--muted);margin-top:.55rem;line-height:1.4}
.section-dark .stat{background:rgba(255,255,255,.045);border-color:var(--line-dark);backdrop-filter:blur(6px)}
.section-dark .stat-num,.section-dark .stat .num{color:var(--accent)}
.section-dark .stat-label,.section-dark .stat .lbl{color:var(--on-dark-muted)}
.stat-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.03)}
.stat-strip .stat{flex:1 1 180px;border:0;border-right:1px solid var(--line-dark);border-radius:0;background:transparent}
.stat-strip .stat:last-child{border-right:0}

/* Chips / filtros */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{border:1.5px solid var(--line-2);background:#fff;border-radius:999px;padding:.5rem 1.05rem;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--dark);color:var(--ink)}
.chip.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.section-dark .chip{background:transparent;border-color:var(--line-dark-2);color:var(--on-dark-muted)}
.section-dark .chip:hover{border-color:#fff;color:#fff}
.section-dark .chip.is-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}
.tags li,.tag{font-size:.78rem;font-weight:500;color:var(--ink);background:var(--accent-soft);border:1px solid rgba(16,24,32,.08);padding:.3rem .7rem;border-radius:999px;white-space:nowrap}
.section-dark .tags li,.section-dark .tag,.hero-ed .tags li{color:#fff;background:var(--accent-dim);border-color:var(--accent-line)}

/* Testimonios */
.tcard{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;display:flex;flex-direction:column;position:relative}
.tcard::before{content:"\201C";position:absolute;right:1.3rem;top:.4rem;font-family:var(--font-serif);font-style:italic;font-size:4.5rem;line-height:1;color:var(--accent);opacity:.7}
.tcard .tphoto{min-height:0;width:56px;height:56px;border-radius:50%;margin-bottom:1rem;object-fit:cover}
.tcard blockquote{margin:0 0 1.2rem;font-size:1.02rem;color:var(--ink);line-height:1.6}
.tcard figcaption{margin-top:auto}
.tcard figcaption strong{display:block}
.tcard figcaption span{font-size:.88rem;color:var(--muted)}
.section-dark .tcard{background:rgba(255,255,255,.045);border-color:var(--line-dark);backdrop-filter:blur(6px);transition:transform .25s var(--ease),border-color .25s}
.section-dark .tcard:hover{transform:translateY(-4px);border-color:var(--accent-line)}
.section-dark .tcard blockquote{color:var(--on-dark)}
.section-dark .tcard figcaption strong{color:#fff}
.section-dark .tcard figcaption span{color:var(--on-dark-muted)}
.section-dark .tphoto{background:var(--accent-dim);border:1px solid rgba(255,255,255,.14)}

/* Prose (casos, blog, legales) */
.prose{max-width:66ch}
.prose p{margin:0 0 1.15rem;color:var(--muted);line-height:1.75;font-size:1.04rem}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--strong-ink)}
.prose a{color:var(--acc-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.prose a:hover{text-decoration-thickness:3px}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2.2rem 0 .8rem}
.prose h3{font-size:1.2rem;margin:1.8rem 0 .6rem}
.prose ul,.prose ol{color:var(--muted);line-height:1.7;padding-left:1.3rem;margin:0 0 1.2rem}
.prose li{margin-bottom:.4rem}
.prose img{border-radius:var(--radius-s);margin:1.6rem 0;height:auto;max-width:100%}  /* height:auto: el atributo height deformaba las fotos de las entradas antiguas en móvil */
.prose blockquote{margin:1.8rem 0;padding:1.2rem 1.5rem;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 1.4rem}
.prose th,.prose td{padding:.7rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{color:var(--ink);font-weight:600}
.section-dark .prose p,.section-dark .prose li{color:var(--on-dark-muted)}
.section-dark .prose strong{color:#fff}
.section-dark .prose a{color:var(--accent);text-decoration-color:rgba(157,252,244,.4)}
.section-dark .prose blockquote{background:rgba(157,252,244,.06);color:#fff}

/* Entregable */
.entregable{background:var(--accent-soft);border:1px solid rgba(16,24,32,.08);border-left:4px solid var(--dark);border-radius:var(--radius);padding:1.6rem;max-width:780px}
.entregable p{margin:0;font-size:1.1rem;font-weight:500;color:var(--ink)}

/* ---- Énfasis tipográfico en texto corrido ---- */
p em,li em,.lead em,blockquote em{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.06em;color:var(--em-ink);background-image:linear-gradient(transparent 64%,var(--em-mark) 64%);background-repeat:no-repeat;padding:0 .08em;margin:0 -.03em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.section-dark p em,.section-dark li em,.hero-ed em,.hero-home em,body.home .reveal-flow p em,body.home .reveal-flow li em{color:var(--em-ink);background-image:none}
p strong,li strong,.lead strong{font-weight:700;color:var(--strong-ink)}
.section-dark p strong,.section-dark li strong,.section-dark .lead strong,.hero-ed strong,.hero-home strong,body.home .reveal-flow strong{color:var(--strong-ink)}
.hl{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:.16em}
/* ============================================================
   CROMO: barra de aviso, cabecera, megamenú, footer, cookies
   ============================================================ */

/* Topbar / barra de aviso — marquesina en desktop, estática en móvil */
.topbar{background:var(--dark-2);color:var(--on-dark);font-size:.8rem;letter-spacing:.01em;position:relative;z-index:60;border-bottom:1px solid var(--line-dark)}
.topbar-marquee{overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.topbar-track{display:flex;align-items:center;width:max-content;will-change:transform;animation:tbslide 80s linear infinite}
.topbar-marquee:hover .topbar-track{animation-play-state:paused}
.topbar-set{display:flex;align-items:center;flex:0 0 auto}
.topbar-group{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem 0;white-space:nowrap}
.topbar-msg{color:var(--on-dark)}
.topbar-msg b{font-weight:600;color:#fff}
.topbar-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-weight:600;transition:transform .16s}
.topbar-link .lbl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.05em}
.topbar-link:hover{transform:translateY(-1px)}
.topbar-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto;margin:0 2.4rem;animation:dotblink 1.4s ease-in-out infinite}
.topbar-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:dotpulse 1.8s ease-out infinite}
.topbar-static{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes tbslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes dotblink{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes dotpulse{0%{transform:scale(1);opacity:.5}80%,100%{transform:scale(2.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.topbar-track{animation:none}.topbar-dot,.topbar-dot::after{animation:none}}

/* Header / nav — cristal, ancho completo */
.site-header{position:sticky;top:0;z-index:50;width:100%;background:rgba(255,255,255,.72);border-bottom:1px solid rgba(16,24,32,.08);
  box-shadow:0 2px 12px rgba(16,24,32,.04)}
.site-header::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 65%)}
.nav-wrap{position:relative;z-index:1;display:flex;align-items:center;gap:1rem;min-height:66px;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--side)}
.brand{position:relative;display:inline-flex;align-items:center;margin-right:auto;line-height:0}
.brand-logo{display:block;height:clamp(20px,2.1vw,23px);width:auto}
.brand:hover .brand-logo{animation:logo-glitch .7s linear infinite}
@keyframes logo-glitch{
  0%{transform:translate(0,0);filter:none}
  12%{transform:translate(-2px,1px);filter:drop-shadow(2px 0 0 var(--accent)) drop-shadow(-2px 0 0 rgba(16,24,32,.55))}
  24%{transform:translate(2px,-1px);filter:drop-shadow(-2px 0 0 var(--accent)) drop-shadow(2px 0 0 rgba(16,24,32,.5))}
  36%{transform:translate(-1px,0);filter:drop-shadow(2px 0 0 var(--accent))}
  48%{transform:translate(1px,1px);filter:none}
  62%{transform:translate(-2px,0);filter:drop-shadow(-2px 0 0 var(--accent)) drop-shadow(2px 0 0 rgba(16,24,32,.5))}
  74%{transform:translate(1px,-1px);filter:none}
  100%{transform:translate(0,0);filter:none}}
@media(prefers-reduced-motion:reduce){.brand:hover .brand-logo{animation:none}}
.site-nav>ul{list-style:none;display:flex;align-items:center;gap:clamp(.7rem,1.5vw,1.5rem);margin:0;padding:0}
.site-nav>ul>li{position:relative}
.site-nav>ul>li.has-mega{position:static}
.site-nav>ul>li>a{position:relative}
.site-nav a{display:inline-flex;align-items:center;gap:.3rem;font-size:.92rem;font-weight:450;color:var(--ink);padding:.6rem .15rem;transition:color .16s}
.site-nav>ul>li>a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:7px}
.site-nav li.active>a,.site-nav a[aria-current=page]{font-weight:600}
.site-nav>ul>li.active>a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--accent);border-radius:2px}
.site-nav{position:static}
.site-nav .nav-cta{margin-left:clamp(.3rem,.8vw,.9rem)}
.site-nav .nav-cta>a{color:#fff;background:var(--dark);border:1.5px solid var(--dark);padding:.42rem 1.1rem;border-radius:999px;font-weight:600;transition:transform .16s,filter .16s}
.site-nav .nav-cta>a:hover{transform:translateY(-2px);filter:brightness(1.15)}
.site-nav>ul>li.nav-cta.active>a::after{display:none}
.has-mega>a .chev{width:12px;height:12px;opacity:.6;transition:transform .2s}
.has-mega.is-open>a .chev,.has-mega:hover>a .chev{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--ink);background:transparent;border:0;transition:color .16s,transform .16s;cursor:pointer}
.icon-btn:hover{transform:translateY(-2px)}
.icon-btn svg{width:22px;height:22px;display:block}
.nav-burger{display:none}
.nav-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center;opacity:.85;pointer-events:none;z-index:2}

/* ---- Megamenú (escritorio) ---- */
.mega{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%) translateY(6px);width:min(980px,calc(100vw - 2*var(--side)));
  background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 70px -30px rgba(16,24,32,.45);
  padding:1.1rem;display:grid;grid-template-columns:1.05fr 1.35fr .95fr;gap:1rem;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s var(--ease),transform .22s var(--ease),visibility .2s;z-index:80}
.mega::before{content:"";position:absolute;left:0;right:0;top:-30px;height:30px}
.has-mega:hover>.mega,.has-mega:focus-within>.mega,.has-mega.is-open>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-intro{padding:1rem 1rem .9rem;border-radius:12px;background:var(--bg-soft);display:flex;flex-direction:column}
.mega-intro .idx{margin-bottom:.6rem;font-size:.7rem}
.mega-intro h3{font-size:1.15rem;margin:0 0 .35em;letter-spacing:-.02em}
.mega-intro p{font-size:.88rem;color:var(--muted);margin:0 0 1rem;line-height:1.5}
.mega-intro .link-arrow{margin-top:auto;font-size:.9rem}
.mega-list{list-style:none;margin:0;padding:.2rem 0;display:flex;flex-direction:column;gap:.15rem}
.mega-list a{display:grid;grid-template-columns:38px 1fr;gap:.8rem;align-items:start;padding:.7rem .8rem;border-radius:12px;color:var(--ink);transition:background .15s}
.mega-list a:hover{background:var(--accent-soft)}
.mega-list .mi{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);border:1px solid rgba(16,24,32,.08);display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}
.mega-list a:hover .mi{background:#fff}
.mega-list .mi svg{width:24px;height:24px}
.mega-list strong{display:block;font-size:.93rem;font-weight:600;line-height:1.25;margin-bottom:.15rem}
.mega-list span{display:block;font-size:.8rem;color:var(--muted);line-height:1.4}
.mega-feat{position:relative;overflow:hidden;border-radius:14px;background:radial-gradient(120% 120% at 80% 0%,#1d3038 0%,var(--dark) 60%);color:#fff;padding:1.2rem 1.1rem 1.1rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px}
.mega-feat::after{content:"";position:absolute;right:-30%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.35),transparent 70%);filter:blur(20px)}
.mega-feat>*{position:relative;z-index:1}
.mega-feat .eyebrow{color:var(--accent);margin-bottom:.5rem;font-size:.66rem}
.mega-feat strong{display:block;font-size:1.05rem;line-height:1.25;margin-bottom:.4rem;letter-spacing:-.01em;color:#fff}
.mega-feat p{font-size:.82rem;color:var(--on-dark-muted);margin:0 0 .9rem;line-height:1.45}
.mega-feat .btn{align-self:flex-start}
.site-nav .mega .btn{padding:.55rem 1.1rem;font-size:.86rem;font-weight:600;color:var(--dark)}
.site-nav .mega .btn:hover{text-decoration:none}
/* Sub-enlaces del móvil (ocultos en escritorio) */
.nav-sub{display:none}

/* Selector de idioma */
.lang-select{position:relative;display:inline-flex}
.lang-toggle{width:auto;gap:.34rem;padding:0 .62rem}
.lang-toggle .lang-code{font-size:.82rem;font-weight:600;letter-spacing:.03em;line-height:1}
.lang-toggle svg{width:20px;height:20px}
.lang-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:170px;list-style:none;margin:0;padding:.35rem;background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 18px 42px -18px rgba(16,24,32,.32);z-index:70;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.lang-select.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-opt{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem .72rem;border-radius:8px;font-size:.9rem;color:var(--ink);white-space:nowrap}
.lang-opt:hover{background:var(--bg-soft)}
.lang-opt.is-current{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}
.lang-opt small{font-size:.7rem;color:var(--muted-2);font-weight:500;letter-spacing:.06em;text-transform:uppercase;align-self:center}

/* ---- Footer: 1 fila de columnas + footer-bottom, trazo gris arriba ---- */
.site-footer{background:var(--dark-2);color:var(--on-dark);padding:clamp(2.6rem,5vw,3.8rem) 0 1.4rem;border-top:1px solid #4a5661;position:relative}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:1.6rem 2rem;align-items:start}
.footer-brand .brand-logo{height:22px;margin-bottom:1rem}
.footer-brand p{color:var(--on-dark-muted);max-width:34ch;margin:0 0 1.1rem;font-size:.93rem;line-height:1.55}
.footer-brand .footer-contact{display:grid;gap:.45rem;font-size:.9rem;margin-bottom:1.1rem}
.footer-brand .footer-contact a{color:#fff;display:inline-flex;align-items:center;gap:.6rem}
.footer-brand .footer-contact svg{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}
.footer-brand .footer-contact a:hover{color:var(--accent)}
.site-footer h2{font-family:var(--font);line-height:1.3;color:#fff;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .9rem}
.site-footer h2 a{color:#fff}
.site-footer h2 a:hover{color:var(--accent)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-footer ul a{color:var(--on-dark-muted);font-size:.9rem;transition:color .15s}
.site-footer ul a:hover{color:var(--accent)}
.footer-social{display:flex;flex-wrap:wrap;gap:.45rem}
.footer-social a{border:1px solid var(--line-dark-2);border-radius:999px;padding:.3rem .75rem;font-size:.78rem;color:var(--on-dark);transition:border-color .15s,color .15s}
.footer-social a:hover{border-color:var(--accent);color:var(--accent)}
.footer-bottom{margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem 1.5rem;color:var(--on-dark-muted);font-size:.82rem}
.footer-nav{display:flex;flex-wrap:wrap;gap:.3rem 1.05rem}
.footer-nav a{color:var(--on-dark-muted)}
.footer-nav a:hover{color:var(--accent)}
.light-social a{border:1px solid var(--line-2);color:var(--muted)}
.light-social a:hover{border-color:var(--dark);color:var(--ink)}

/* ---- Aviso de cookies (Consent Mode) ---- */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;max-width:none;margin:0;background:var(--dark);color:var(--on-dark);border:0;border-top:1px solid var(--line-dark-2);border-radius:0;padding:.85rem max(var(--side),calc((100% - var(--maxw))/2 + var(--side))) calc(.85rem + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;font-size:.88rem;box-shadow:0 -12px 40px -20px rgba(16,24,32,.45)}  /* 2026-09-09: barra a ancho completo (petición de Nico) */
.cookie-bar.is-visible{display:flex}
.cookie-bar p{margin:0;flex:1 1 320px;max-width:70ch;color:var(--on-dark-muted);line-height:1.45}
.cookie-bar p a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie-bar .cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-bar .btn{padding:.55rem 1rem;font-size:.85rem}
.cookie-bar .btn-ghost{color:#fff;border-color:var(--line-dark-2)}

/* WhatsApp flotante (solo interiores en móvil; en escritorio va en el header) */
.wa-float{position:fixed;right:1rem;bottom:1rem;z-index:90;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.wa-float svg{width:26px;height:26px}
/* ============================================================
   HOME
   ============================================================ */
body.home{background:var(--dark);overflow-x:hidden}
body.home main>section,body.home .reveal-flow>section{background:transparent}
body.home .section-dark{color:var(--on-dark)}

/* Vídeo de fondo permanente (capa fija; las secciones pasan por encima) */
.bg-stage{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--dark)}
body:not(.home) .bg-stage{display:none}
.bg-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--bgScale,1));filter:blur(var(--bgBlur,0px));transform-origin:center center;will-change:filter,transform}
.bg-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bg-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,13,18,.42),rgba(8,13,18,.18) 40%,rgba(8,13,18,.5))}
body.home main,body.home .site-footer{position:relative;z-index:1}

/* Hero home: pantalla completa, texto claro */
.hero-home{display:flex;align-items:center;padding:0;overflow:visible;min-height:100svh;position:relative;background:transparent}
.hero-home>.container{width:100%;max-width:var(--maxw);padding-top:clamp(7rem,14vh,10rem);padding-bottom:clamp(6rem,13vh,8.5rem);position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-home .hero-grid{grid-template-columns:1fr}
.hero-home .hero-text{max-width:820px}
.hero-home .hero-eyebrow{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.hero-home h1{color:#fff;font-size:clamp(2.4rem,6vw,4.6rem);line-height:.98;margin-bottom:.45em}
.hero-home h1 em{color:var(--accent)}
.hero-home .lead{color:#fff;max-width:56ch;font-size:clamp(1.08rem,1.6vw,1.28rem)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--ink);background:rgba(16,24,32,.05);
  border:1px solid rgba(16,24,32,.08);padding:.42rem .9rem;border-radius:999px;margin-bottom:1.4rem;backdrop-filter:blur(6px)}
.hero-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(157,252,244,.3);animation:dotblink 1.6s ease-in-out infinite}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;padding:0;margin:2rem 0 0}
.hero-points li{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:#fff;font-weight:500}
.hero-points svg{width:20px;height:20px;flex:0 0 auto;color:var(--accent)}
.hero-scroll{position:absolute;left:50%;bottom:calc(clamp(.6rem,1.6vh,1.1rem) + 20px);transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.45);border-radius:999px;display:none;align-items:flex-start;justify-content:center;z-index:2}
.hero-scroll span{width:4px;height:8px;border-radius:2px;background:var(--accent);margin-top:7px;animation:scrolldot 1.8s ease-in-out infinite}
.hero-scroll{display:none!important}
@keyframes scrolldot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}80%,100%{opacity:0;transform:translateY(12px)}}
/* Franja de credenciales bajo el hero (dentro del hero, abajo) */
.hero-cred{position:absolute;left:0;right:0;bottom:clamp(1.6rem,5vh,3rem);z-index:2}
.hero-cred .container{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;align-items:center;justify-content:flex-start;font-size:.8rem;color:#fff;letter-spacing:.02em}
.hero-cred strong{color:#fff;font-weight:600}

/* Cromo transparente sobre el hero; inversión de color por sección */
body.home .site-chrome{position:fixed;top:0;left:0;right:0;z-index:60;transition:top .42s var(--ease)}
/* se oculta moviendo top, no con transform: un ancestro transformado convierte el menú móvil (position:fixed) en absoluto y lo recorta a la cabecera */
body.home.topbar-hidden .site-chrome{top:calc(-1 * var(--topbar-h,38px))}
body.home .site-header{position:relative}
body .site-header{background:transparent;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.14);transition:border-color .35s ease}
body .site-header::before{backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);
  background:linear-gradient(180deg,rgba(8,13,18,.45),rgba(8,13,18,0) 96%);transition:background .35s ease,opacity .35s ease}
body.home .hero-home{position:sticky;top:0;z-index:0}
body.home .reveal-flow{position:relative;z-index:1}
body .site-nav a,body .site-nav .nav-cta>a,body .icon-btn{transition:color .35s ease,border-color .35s ease,background .35s ease,transform .16s}
.brand-logo--light{display:none}
.site-header .brand-logo--light{display:block;position:absolute;left:0;top:0;bottom:0;margin:auto 0}  /* centrado sin transform: la animación glitch del hover usa transform y lo desplazaba */
.site-header .brand-logo{transition:opacity .45s ease}
body .site-header .brand-logo--dark{display:block;opacity:0}
body .site-header .brand-logo--light{opacity:1}
body .icon-btn{color:#fff}
@media(min-width:1025px){
  body .site-nav>ul>li>a{color:#fff}
  body .site-nav>ul>li>a:hover{color:var(--accent)}
  body .site-nav .nav-cta>a{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}
}
@media(max-width:1024px){
  body .nav-burger span,body .nav-burger::before,body .nav-burger::after{background:#fff}
}
body.chrome-light .site-header{border-bottom-color:rgba(16,24,32,.12)}
body .site-header::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 96%);opacity:0;transition:opacity .45s ease}
body.chrome-light .site-header::after{opacity:1}
body.chrome-light .site-header .brand-logo--dark{opacity:1}
body.chrome-light .site-header .brand-logo--light{opacity:0}
body.chrome-light .icon-btn{color:var(--ink)}
@media(min-width:1025px){
  body.chrome-light .site-nav>ul>li>a{color:var(--ink)}
  body.chrome-light .site-nav .nav-cta>a{color:#fff;background:var(--dark);border-color:var(--dark)}
}
@media(max-width:1024px){
  body.chrome-light .nav-burger span,body.chrome-light .nav-burger::before,body.chrome-light .nav-burger::after{background:var(--ink)}
  body.nav-open .site-header::after{background:#fff;opacity:1;transition:none}
  body.nav-open .site-header .brand-logo--dark{opacity:1;transition:none}
  body.nav-open .site-header .brand-logo--light{opacity:0;transition:none}
  body.nav-open .icon-btn{color:var(--ink)}
  body.nav-open .nav-burger span,body.nav-open .nav-burger::before,body.nav-open .nav-burger::after{background:var(--ink)}
}
body:not(.home) .nav-progress{display:none}
body.home .hero-text,body.home .hero-cred{will-change:opacity,transform}

/* ---- Propuesta de valor: el fondo oscuro aparece desde las esquinas (JS: --reveal, --lift, --rise-op) ---- */
.pilares-section{padding:0;overflow:hidden}
body.home #propuesta{position:relative;background:transparent}
body.home #propuesta>.prop-rise{position:relative;padding:var(--pad) 0 clamp(3rem,6vw,5rem);
  transform:translateY(var(--lift,50px));opacity:var(--rise-op,0);will-change:transform,opacity}
body.home #propuesta>.prop-rise>*{position:relative;z-index:1}
body.home #propuesta>.prop-rise::before{content:"";position:absolute;inset:0;z-index:0;background:var(--dark);--reveal:0%;
  -webkit-mask:radial-gradient(circle at top left,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at top right,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at bottom left,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at bottom right,#000 var(--reveal),transparent calc(var(--reveal) + .5%));
  mask:radial-gradient(circle at top left,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at top right,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at bottom left,#000 var(--reveal),transparent calc(var(--reveal) + .5%)),radial-gradient(circle at bottom right,#000 var(--reveal),transparent calc(var(--reveal) + .5%));
  -webkit-mask-composite:source-over;mask-composite:add}
.pilares-head{text-align:center;max-width:760px;margin:0 auto clamp(2rem,4vw,3rem);color:var(--on-dark)}
.pilares-head .eyebrow{color:var(--accent)}
.pilares-head h2{color:#fff}
.pilares-head h2 em{color:var(--accent)}
.pilares-head .lead{color:var(--on-dark-muted)}
.pilares-head .eyebrow{justify-content:center}
.pilares-head .lead{margin-left:auto;margin-right:auto;max-width:56ch}
.pilares{display:flex;gap:1rem;width:100%;max-width:var(--maxw);margin:0 auto;min-height:clamp(400px,58vh,560px);padding:0 var(--side)}
.pilar{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:#fff;border-radius:var(--radius);border:1px solid var(--line-dark);
  background:linear-gradient(165deg,#1a2833 0%,#121c25 55%,#0f171f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 50px -30px rgba(0,0,0,.8);
  transition:flex-grow .55s var(--ease),border-color .35s,box-shadow .35s;will-change:flex-grow}
.pilar::before{content:"";position:absolute;left:-30%;top:-40%;width:90%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(157,252,244,.16),rgba(157,252,244,0) 68%);filter:blur(24px);opacity:.75;transition:opacity .45s,transform .6s var(--ease)}
.pilar::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(157,252,244,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(157,252,244,.05) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(90% 70% at 100% 100%,#000 10%,transparent 70%);mask-image:radial-gradient(90% 70% at 100% 100%,#000 10%,transparent 70%);opacity:.6}
.pilar:hover{border-color:var(--accent-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.9),0 0 0 1px rgba(157,252,244,.18),0 0 80px -8px rgba(157,252,244,.42)}
.pilar:hover::before{opacity:1;transform:scale(1.25)}
.pilar-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,2.5vw,2.3rem);gap:1rem}
.pilar-top{display:flex;flex-direction:column;gap:.5rem}
.pilar-num{font-size:.78rem;font-weight:700;letter-spacing:.18em;color:var(--accent);font-variant-numeric:tabular-nums}
.pilar-title{font-size:clamp(1.3rem,2vw,1.9rem);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:#fff;white-space:nowrap}
.pilar-title em{display:block;font-family:var(--font-serif);font-style:italic;font-size:.62em;font-weight:400;color:var(--accent);margin-top:.3em;letter-spacing:0}
.pilar-ico{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-top:1rem;border-radius:14px;background:var(--accent-dim);border:1px solid var(--accent-line);color:var(--accent)}
.pilar-ico svg{width:32px;height:32px}
/* Mismo icono en marca de agua gigante (esquina inferior derecha); se atenúa al desplegar */
.pilar-wm{position:absolute;right:-5%;bottom:-7%;z-index:-1;width:clamp(150px,15vw,230px);aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:.1;pointer-events:none;transition:opacity .5s,transform .7s var(--ease)}
.pilar-wm svg{width:100%;height:100%}
.pilar:hover .pilar-wm{opacity:.06;transform:translate(5%,5%) scale(1.08)}
/* El bloque desplegable ocupa siempre su sitio (sin reflow): solo aparece con fundido y un leve ascenso */
.pilar-reveal{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .4s ease,transform .45s var(--ease),visibility 0s linear .4s}
.pilar:hover .pilar-reveal,.pilar:focus-within .pilar-reveal{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .45s var(--ease),visibility 0s}
.pilar-desc{display:block;color:var(--on-dark);font-size:.98rem;line-height:1.55;margin-bottom:1.1rem;max-width:40ch}
.pilar-tags{list-style:none;padding:0;margin:0 0 1.3rem;display:flex;flex-wrap:wrap;gap:.45rem}
.pilar-tags li{font-size:.78rem;font-weight:500;color:#fff;background:var(--accent-dim);border:1px solid var(--accent-line);padding:.3rem .7rem;border-radius:999px;white-space:nowrap}
.pilar-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:var(--accent)}
.pilar-link .lbl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.05em}
.pilar-link .ico{transition:transform .2s var(--ease)}
.pilar:hover .pilar-link .ico{transform:translateX(4px)}
.pilar-from{display:block;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line-dark);font-size:.82rem;color:var(--on-dark-muted)}
.pilar-from b{color:#fff;font-weight:600}
/* Sin cambio de anchura al pasar el ratón: así el texto no se recoloca */
/* Controles del carrusel (móvil) */
.pilares-controls{display:none;justify-content:center;align-items:center;gap:1rem;padding:1.6rem 1rem 0}
.pctrl{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,border-color .16s ease}
.pctrl:hover{transform:translateY(-2px);border-color:var(--accent)}
.pctrl svg{width:18px;height:18px;display:block}
.pctrl-play{width:54px;height:54px;border-color:rgba(255,255,255,.55)}
.pctrl-play .ic-play{display:none}
.pctrl-play.paused .ic-pause{display:none}
.pctrl-play.paused .ic-play{display:block}

/* ---- Filosofía webcentrista: pantalla propia (sin pin), contenido con entrada escalonada ---- */
.filo-section{position:relative;color:#fff;background:var(--dark)}
body.home .reveal-flow>.filo-section{background:var(--dark)}
.filo-stage{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.filo-panel{position:relative;width:100%;min-height:100svh;display:flex;align-items:center;background:radial-gradient(120% 120% at 70% 10%,#16242e 0%,#101820 60%)}
.filo-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.filo-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:.85}
.filo-body{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(6rem,12vh,8rem) var(--side) clamp(3rem,6vh,4rem);display:block}
.filo-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(.8rem,1.6vh,1.2rem)}
.filo-eyebrow::before{content:"";width:22px;height:2px;background:currentColor;opacity:.7}
.filo-statement{margin:0;font-weight:700;letter-spacing:-.025em;line-height:1.02;font-size:clamp(2.1rem,5.4vw,4.6rem);color:#fff;text-wrap:balance;max-width:none}
.filo-statement em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);letter-spacing:0}
.filo-foot{margin-top:clamp(1.4rem,3vh,2.2rem);max-width:none;display:block}
.filo-lead{color:#fff;font-size:clamp(1.08rem,1.6vw,1.42rem);line-height:1.55;margin:0;max-width:none}
.filo-tesis{list-style:none;padding:0;margin:clamp(1.1rem,2.4vh,1.6rem) 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.filo-tesis li{font-size:.8rem;font-weight:500;color:#fff;background:var(--accent-dim);border:1px solid var(--accent-line);padding:.32rem .75rem;border-radius:999px}
.filo-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:clamp(1.4rem,3vh,2rem);color:var(--accent);font-weight:600;font-size:clamp(.92rem,1.05vw,1rem)}
.filo-link span{transition:transform .2s ease}
.filo-link:hover span{transform:translateX(4px)}
/* Retrato real de Nico */
.filo-portrait{position:relative;justify-self:end;width:min(100%,380px)}
.filo-portrait-frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line-dark-2);background:var(--panel);aspect-ratio:4/5;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.filo-portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9) contrast(1.02)}
.filo-portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,13,18,.85))}
.filo-portrait-cap{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;z-index:2;color:#fff}
.filo-portrait-cap strong{display:block;font-size:1.05rem;letter-spacing:-.01em}
.filo-portrait-cap span{display:block;font-size:.82rem;color:var(--on-dark-muted)}
.filo-portrait-badge{position:absolute;top:1rem;left:1rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:rgba(8,13,18,.6);border:1px solid var(--accent-line);padding:.32rem .65rem;border-radius:999px;backdrop-filter:blur(6px)}
.filo-portrait-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotblink 1.6s ease-in-out infinite}
/* Entrada escalonada (JS añade .is-covered al entrar en pantalla) */
.filo-panel [data-fl]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .7s var(--ease);transition-delay:calc(var(--fl,0) * .08s)}
.filo-panel.is-covered [data-fl]{opacity:1;transform:none}
@media(max-width:1024px){
  .filo-stage,.filo-panel{min-height:0}
  .filo-panel{padding:clamp(4rem,10vh,6rem) 0}
  .filo-body{padding:0 var(--side)}
  .filo-foot{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.filo-panel [data-fl]{opacity:1 !important;transform:none !important}}

/* ---- Proyectos: pantalla propia ---- */
.proy-section{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden;padding:var(--pad) 0 0}
body.home .reveal-flow>.proy-section{background:var(--dark)}
.proy-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.proy-head h2{margin:0;max-width:22ch}
.proy-head .lead{margin:.6rem 0 0;max-width:52ch}
.proy-rail{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(240px,26vw,320px);gap:clamp(.8rem,1.4vw,1.3rem)}
.proy-card{position:relative;display:block;border-radius:18px;overflow:hidden;height:100%;border:1px solid rgba(157,252,244,.14);background:linear-gradient(160deg,#26323b,#1a242c);color:#fff;
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.proy-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.proy-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,18,0) 40%,rgba(8,13,18,.9) 100%)}
.proy-card:hover{transform:translateY(-6px);border-color:var(--accent-line);box-shadow:0 30px 50px -30px rgba(0,0,0,.9)}
.proy-card:hover img{transform:scale(1.05)}
.proy-cat{position:absolute;top:.9rem;left:.9rem;z-index:2;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:rgba(8,13,18,.6);border:1px solid var(--accent-line);padding:.28rem .6rem;border-radius:999px;backdrop-filter:blur(6px)}
.proy-label{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2}
.proy-label strong{display:block;font-size:1.05rem;line-height:1.2;letter-spacing:-.01em;margin-bottom:.25rem}
.proy-card.is-big{grid-column:span 2}
.proy-card.is-big .proy-label{left:1.4rem;right:1.4rem;bottom:1.3rem;max-width:34ch}
.proy-card.is-big .proy-label strong{font-size:clamp(1.3rem,2vw,1.8rem);margin-bottom:.4rem}
.proy-card.is-big .proy-label span{font-size:1rem}
.proy-label small{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:.3rem}
.proy-label span{display:block;font-size:.82rem;color:var(--accent);font-family:var(--font-serif);font-style:italic}
.proy-count{display:inline-flex;align-items:baseline;gap:.35rem;color:var(--accent);font-size:.95rem;margin-top:1.2rem;font-weight:500}
.proy-count b{font-family:var(--font-serif);font-style:italic;font-size:1.6rem;color:var(--accent);font-weight:400}
/* Marquesina de servicios (chips clicables), remate de la pantalla */
.svc-marquee{position:relative;overflow:hidden;width:100%;margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1rem,2vh,1.3rem) 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.svc-marquee-track{display:flex;gap:.7rem;width:max-content;animation:filo-marq 55s linear infinite}
.svc-marquee:hover .svc-marquee-track,.svc-marquee:focus-within .svc-marquee-track{animation-play-state:paused}
.svc-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.25rem;border:1px solid rgba(157,252,244,.3);border-radius:999px;color:#fff;font-size:clamp(.85rem,1vw,.95rem);font-weight:500;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.svc-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.8}
.svc-chip:hover,.svc-chip:focus-visible{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);outline:none}
.svc-chip:hover::before{background:var(--accent-ink)}
@keyframes filo-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.svc-marquee-track{animation:none;flex-wrap:wrap;width:auto}}

/* ---- Método Raíz: compacto (≤ 2 pantallas). Tabs + panel. ---- */
.metodo-section{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}
body.home .reveal-flow>.metodo-section{background:var(--dark)}
.metodo-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.metodo-head h2{margin-bottom:0;max-width:16ch}
.metodo-head .lead{margin:0;max-width:52ch}
.mtabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;position:relative;margin-bottom:1rem}
.mtab{position:relative;text-align:left;border:1px solid var(--line-dark);background:rgba(255,255,255,.03);color:var(--on-dark);border-radius:14px;padding:1rem 1rem .9rem;cursor:pointer;
  display:flex;flex-direction:column;gap:.35rem;transition:background .2s,border-color .2s,transform .2s var(--ease)}
.mtab:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}
.mtab .mt-num{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;line-height:1;color:var(--accent);font-weight:400}
.mtab .mt-name{font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:#fff}
.mtab .mt-short{font-size:.8rem;color:var(--on-dark-muted);line-height:1.35}
.mtab .mt-bar{position:absolute;left:1rem;right:1rem;bottom:0;height:2px;background:rgba(157,252,244,.18);border-radius:2px;overflow:hidden}
.mtab .mt-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent)}
.mtab[aria-selected="true"]{background:linear-gradient(160deg,var(--panel-3),var(--panel));border-color:var(--accent-line);box-shadow:var(--shadow-dark)}
.mtab[aria-selected="true"] .mt-bar i{width:100%;transition:width var(--mt-dur,6s) linear}
.mtab.is-static[aria-selected="true"] .mt-bar i{transition:none}
.mpanel{position:relative;border:1px solid var(--line-dark);border-radius:var(--radius);background:linear-gradient(160deg,var(--panel-2),var(--dark));overflow:hidden;box-shadow:var(--shadow-dark);
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.6rem,3.2vw,2.8rem);min-height:360px}
.mpanel[hidden]{display:none}
.mpanel::after{content:"";position:absolute;right:-20%;bottom:-40%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.16),transparent 70%);filter:blur(30px);pointer-events:none}
.mpanel>*{position:relative;z-index:1}
.mpanel .mc-step{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
.mpanel .mc-step::before{content:"";width:22px;height:2px;background:currentColor;opacity:.7}
.mpanel h3{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.025em;margin-bottom:.4em;line-height:1.05}
.mpanel h3 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent)}
.mpanel .mc-desc{color:var(--on-dark-muted);font-size:1.03rem;max-width:48ch;margin-bottom:1.2rem}
.mpanel .mc-list{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.6rem}
.mpanel .mc-list li{display:flex;align-items:flex-start;gap:.6rem;color:#fff;font-size:.97rem;line-height:1.5}
.mpanel .mc-list li svg{width:20px;height:20px;flex:0 0 auto;margin-top:.12em;color:var(--accent)}
.mpanel .mc-deliver{display:inline-flex;align-items:center;gap:.5rem;font-size:.84rem;font-weight:600;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:.5rem 1rem}
.mpanel .mc-deliver small{font-weight:500;opacity:.75}
.mc-illo{position:relative;display:flex;align-items:center;justify-content:center;padding:0}
.mc-illo svg{width:82%;height:auto;max-height:90%}
/* Entregable en miniatura (HTML/CSS) */
.deliv{width:100%;max-width:440px;border-radius:14px;background:linear-gradient(160deg,#1c2a36,#121c26);border:1px solid var(--line-dark-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08);padding:1.1rem 1.15rem;color:#fff;font-size:.78rem;position:relative}
.deliv-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-dark)}
.deliv-head strong{font-size:.86rem;letter-spacing:-.01em}
.deliv-head span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-line);padding:.2rem .5rem;border-radius:999px;white-space:nowrap}
.deliv-row{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:.6rem;padding:.32rem 0;color:var(--on-dark-muted)}
.deliv-row b{color:#fff;font-weight:500}
.deliv-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.deliv-bar i{display:block;height:100%;width:var(--w,50%);background:linear-gradient(90deg,var(--accent),rgba(157,252,244,.35));border-radius:99px}
.deliv-tag{font-size:.62rem;color:var(--accent)}
.deliv-foot{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--line-dark);font-size:.8rem;color:#fff}
.deliv-foot em{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1.1em}
.deliv-tl{list-style:none;padding:0;margin:.2rem 0 0;position:relative}
.deliv-tl::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--line-dark-2)}
.deliv-tl li{display:grid;grid-template-columns:16px 1fr;gap:.6rem;align-items:start;padding:.3rem 0;color:var(--on-dark-muted)}
.deliv-tl li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);margin:.25rem 0 0 3px;box-shadow:0 0 0 3px rgba(157,252,244,.15)}
.deliv-tl li b{display:block;color:#fff;font-weight:600}
.deliv-tl li.done::before{background:rgba(255,255,255,.35);box-shadow:none}
.deliv-browser{border-radius:10px;border:1px solid var(--line-dark-2);overflow:hidden;background:#0f171f}
.deliv-browser .bar{height:20px;border-bottom:1px solid var(--line-dark);background:rgba(255,255,255,.04);position:relative}
.deliv-browser .bar::before{content:"";position:absolute;left:8px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:10px 0 0 rgba(255,255,255,.3),20px 0 0 rgba(255,255,255,.3)}
.deliv-browser .hero{height:44px;margin:8px;border-radius:6px;background:linear-gradient(90deg,rgba(157,252,244,.28),rgba(157,252,244,.06));position:relative}
.deliv-browser .hero::after{content:"";position:absolute;left:8px;top:12px;width:46%;height:6px;border-radius:3px;background:rgba(255,255,255,.7);box-shadow:0 12px 0 -1px rgba(255,255,255,.3)}
.deliv-browser .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 8px 8px}
.deliv-browser .cols i{display:block;height:34px;border-radius:5px;background:rgba(255,255,255,.07);border:1px solid var(--line-dark)}
.deliv-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.8rem}
.deliv-badges span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line-dark-2);padding:.25rem .5rem;border-radius:999px}
.deliv-badges span.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}
.deliv-net{position:relative;height:150px}
.deliv-net .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:52px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;box-shadow:0 0 0 8px rgba(157,252,244,.12),0 0 40px rgba(157,252,244,.35)}
.deliv-net .ch{position:absolute;font-size:.7rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line-dark-2);padding:.3rem .55rem;border-radius:999px}
.deliv-net .ch.a{left:2%;top:6%}.deliv-net .ch.b{right:2%;top:6%}.deliv-net .ch.c{left:2%;bottom:6%}.deliv-net .ch.d{right:2%;bottom:6%}
.deliv-net svg{position:absolute;inset:0;width:100%;height:100%}
.deliv-chart svg{width:100%;height:auto;display:block}
.deliv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.7rem}
.deliv-kpis div{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:8px;padding:.45rem .5rem;font-size:.66rem;color:var(--on-dark-muted);letter-spacing:.06em;text-transform:uppercase}
.deliv-kpis div b{display:block;font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--accent);letter-spacing:0;text-transform:none;margin-top:.15rem}
.mc-illo .mc-num{display:none}
.mpanel.is-in{animation:panel-in .45s var(--ease)}
@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.metodo-foot{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:space-between;margin-top:1.6rem;color:var(--on-dark-muted);font-size:.9rem}
.metodo-foot .link-arrow{color:var(--accent)}

/* ---- Blog (3 tarjetas) ---- */
.blog-section{position:relative;z-index:1;background:var(--dark);overflow:hidden}
body.home .reveal-flow>.blog-section{background:var(--dark)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.blog-card{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;color:#fff;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-dark);transition:border-color .25s,transform .25s var(--ease);position:relative}
.blog-card:hover{border-color:var(--accent-line);transform:translateY(-4px)}
.blog-media{display:block;aspect-ratio:16/9;background:#0e1822;border-bottom:1px solid var(--line-dark);overflow:hidden;position:relative}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-media img{transform:scale(1.04)}
.blog-media .blog-num{position:absolute;right:1rem;bottom:.5rem;font-family:var(--font-serif);font-style:italic;font-size:4rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(157,252,244,.35)}
.blog-cat{display:inline-block;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:1.1rem 1.3rem .45rem;line-height:1}
.blog-card-title{margin:0 0 .5rem;font-size:clamp(1.05rem,1.35vw,1.25rem);font-weight:700;line-height:1.25;color:#fff;padding:0 1.3rem;letter-spacing:-.015em}
.blog-card-excerpt{margin:0 0 1rem;color:#fff;font-size:.92rem;line-height:1.5;padding:0 1.3rem}
.blog-more{margin-top:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:.4rem;color:var(--accent);font-weight:600;font-size:.86rem;padding:.6rem 1.3rem 1.2rem}
.blog-more small{font-weight:500;color:var(--on-dark-muted)}

/* ---- Testimonios + marcas ---- */
.sec-testimonios{position:relative;background:radial-gradient(56rem 44rem at 50% 20%,#123a41 0%,#0c2329 44%,var(--dark) 78%);overflow:hidden}
body.home .reveal-flow>.sec-testimonios{background:radial-gradient(56rem 44rem at 50% 20%,#123a41 0%,#0c2329 44%,var(--dark) 78%)}
.sec-testimonios .section-head{margin-bottom:clamp(2rem,4vw,3rem)}
.tslider{position:relative}
.tslider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tslider-viewport::-webkit-scrollbar{display:none}
.tslider-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius)}
.tslider-track{display:flex;gap:var(--gap);align-items:stretch}
.tslide{flex:0 0 100%;scroll-snap-align:start}
@media(min-width:768px){.tslide{flex:0 0 calc(50% - (var(--gap)/2))}}
.tslider-nav{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:1.75rem}
.tslider-arrow{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s,color .2s}
.tslider-arrow:hover{border-color:var(--accent);color:var(--accent);background:rgba(157,252,244,.08)}
.tslider-dots{display:flex;gap:.55rem;align-items:center}
.tslider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:background .2s,transform .2s}
.tslider-dots button[aria-current="true"]{background:var(--accent);transform:scale(1.3)}
.clientes{margin-top:clamp(3rem,6vw,4.5rem)}
.clientes-label{text-align:center;color:var(--on-dark-muted);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.6rem}
.clientes-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.clientes-track{display:flex;align-items:center;width:max-content;animation:cli-marquee 111s linear infinite;will-change:transform;backface-visibility:hidden}  /* 25 logos (2026-09-09): misma velocidad que con 16 */
.clientes-marquee:hover .clientes-track{animation-play-state:paused}
.cliente-logo{height:32px;width:auto;flex:0 0 auto;margin:0 clamp(1.4rem,3vw,2.6rem);filter:brightness(0) invert(1);opacity:.6;transition:opacity .25s}
.cliente-logo:hover{opacity:1}
@keyframes cli-marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.clientes-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:1.5rem 0}.clientes-marquee{-webkit-mask-image:none;mask-image:none}.tslider-viewport{scroll-behavior:auto}}

/* ---- Cierre: FAQ + Newsletter + CTA (todo en oscuro) ---- */
.scene-close{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}
body.home .reveal-flow>.scene-close{background:var(--dark)}
.scene-close-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:stretch}
.close-nl{display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--panel-3),var(--panel));border:1px solid var(--line-dark);border-radius:var(--radius);padding:clamp(1.9rem,3.4vw,2.8rem);box-shadow:var(--shadow-dark)}
.close-nl::after{content:"";position:absolute;right:-30%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.25),transparent 70%);filter:blur(30px);pointer-events:none}
.close-nl>*{position:relative;z-index:1}
.close-nl .nl{grid-template-columns:1fr;gap:1.3rem}
.close-nl h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.scene-close-cta{margin-top:clamp(3rem,7vh,5rem)}
.scene-close-cta .cta-inner{max-width:none;margin:0 auto;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#16242e,#0d141b);color:var(--on-dark);border:1px solid var(--accent-line);border-radius:24px;padding:clamp(2.8rem,5.5vw,4.4rem) clamp(1.5rem,4vw,3rem);box-shadow:0 40px 80px -40px rgba(6,48,44,.7)}
.scene-close-cta .cta-inner::before{content:"";position:absolute;left:50%;top:-40%;width:60%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.28),transparent 70%);filter:blur(40px);pointer-events:none}
.scene-close-cta .cta-inner>*{position:relative;z-index:1}
.scene-close-cta .cta-inner h2{color:#fff;margin-left:auto;margin-right:auto;max-width:24ch;font-size:clamp(1.9rem,4vw,3.1rem)}
.scene-close-cta .cta-inner .lead{color:var(--on-dark-muted);max-width:58ch;margin:0 auto 1.7rem}
.scene-close-cta .cta-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem;font-size:.85rem;color:var(--on-dark-muted)}
.scene-close-cta .cta-meta span{display:inline-flex;align-items:center;gap:.4rem}
.scene-close-cta .cta-meta svg{width:16px;height:16px;color:var(--accent)}
/* ============================================================
   INTERIORES: cabecera editorial, ficha, bloques, casos, blog…
   ============================================================ */

/* ---- Cabecera editorial (hero-ed) ---- */
.hero-ed{position:relative;background:radial-gradient(120% 100% at 85% 0%,#17252f 0%,var(--dark) 55%);color:var(--on-dark);overflow:hidden;
  padding:clamp(1rem,2vw,1.5rem) 0 clamp(3.2rem,6vw,4.8rem)}
.hero-ed .breadcrumb{padding-top:.4rem;margin-bottom:clamp(1.6rem,4vw,3rem)}
.hero-ed-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-ed h1{color:#fff;margin-bottom:.35em;max-width:16ch}
.hero-ed h1.wide{max-width:22ch}
.hero-ed .lead{color:var(--on-dark-muted);max-width:58ch;margin-bottom:0}
.hero-ed .actions{margin-top:1.7rem}
.hero-ed .hero-points{margin-top:1.6rem}
.hero-ed .hero-points li{color:#fff}
.hero-ed .watermark{right:auto;left:calc(var(--side) - .1em);bottom:-.2em;opacity:.9;-webkit-text-stroke-color:rgba(157,252,244,.1)}
.hero-ed.hero-ed--center .hero-ed-grid{grid-template-columns:1fr;text-align:center}
.hero-ed.hero-ed--center h1{max-width:22ch;margin-left:auto;margin-right:auto}
.hero-ed.hero-ed--center .lead{margin-left:auto;margin-right:auto}
.hero-ed.hero-ed--center .idx,.hero-ed.hero-ed--center .eyebrow{justify-content:center}
.hero-ed.hero-ed--center .actions{justify-content:center}
.hero-ed.hero-ed--center .breadcrumb ol{justify-content:center}

/* Ficha lateral (cristal) */
.ficha{position:relative;border:1px solid var(--line-dark-2);border-radius:var(--radius);padding:1.5rem 1.5rem 1.4rem;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1);color:#fff}
.ficha::before{content:"";position:absolute;right:-25%;top:-35%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.22),transparent 70%);filter:blur(24px);pointer-events:none}
.ficha>*{position:relative;z-index:1}
.ficha-label{display:flex;align-items:center;gap:.6rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.ficha-label::after{content:"";flex:1;height:1px;background:var(--line-dark-2)}
.ficha-list{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.6rem}
.ficha-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.93rem;line-height:1.45;color:#fff}
.ficha-list li svg{width:18px;height:18px;flex:0 0 auto;margin-top:.15em;color:var(--accent)}
.ficha-list li b{color:#fff;font-weight:600}
.ficha-meta{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:0 0 1.2rem;padding:1rem 0 0;border-top:1px solid var(--line-dark)}
.ficha-meta div{display:flex;flex-direction:column;gap:.15rem}
.ficha-meta span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted);font-weight:600}
.ficha-meta strong{font-size:1.05rem;color:#fff;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.ficha-meta strong.price{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.5rem;color:var(--accent)}
.ficha-meta strong.price small{font-family:var(--font);font-style:normal;font-size:.75rem;color:var(--on-dark-muted);margin-left:.2rem}
.ficha .btn{width:100%}
.ficha-note{font-size:.76rem;color:var(--on-dark-muted);margin:.8rem 0 0;line-height:1.4}
/* Ficha con retrato (contacto / sobre mí) */
.ficha-person{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}
.ficha-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 20%;border:1px solid var(--line-dark-2)}
.ficha-person strong{display:block;color:#fff;font-size:.98rem}
.ficha-person span{display:block;font-size:.8rem;color:var(--on-dark-muted)}

/* Radar geo (ilustración CSS) */
.geo-radar{position:relative;aspect-ratio:1;max-width:340px;justify-self:end;width:100%}
.geo-radar span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(157,252,244,.22)}
.geo-radar span:nth-child(2){inset:16%}
.geo-radar span:nth-child(3){inset:32%}
.geo-radar span:nth-child(4){inset:48%;background:radial-gradient(circle,rgba(157,252,244,.35),transparent 70%)}
.geo-radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(157,252,244,0) 0deg,rgba(157,252,244,.28) 60deg,rgba(157,252,244,0) 61deg);animation:sweep 5s linear infinite}
.geo-radar .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);width:46px;height:46px;color:var(--accent);filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}
.geo-radar .pin svg{width:100%;height:100%}
.geo-radar .tag{position:absolute;left:50%;top:50%;transform:translate(-50%,.9rem);white-space:nowrap;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(8,13,18,.7);border:1px solid var(--accent-line);padding:.3rem .65rem;border-radius:999px;backdrop-filter:blur(6px)}
@keyframes sweep{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.geo-radar .sweep{animation:none}}

/* Ilustración de línea (hijas): marco de navegador con motivo */
.illo-frame{position:relative;border-radius:18px;border:1px solid var(--line-dark-2);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));overflow:hidden;aspect-ratio:5/4;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-dark)}
.illo-frame::before{content:"";position:absolute;left:0;right:0;top:0;height:38px;border-bottom:1px solid var(--line-dark);background:rgba(255,255,255,.03)}
.illo-frame::after{content:"";position:absolute;left:16px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:16px 0 0 rgba(255,255,255,.28),32px 0 0 rgba(255,255,255,.28)}
.illo-frame svg{width:42%;height:auto;color:var(--accent);margin-top:38px;filter:drop-shadow(0 12px 30px rgba(157,252,244,.25))}
.illo-frame .illo-label{position:absolute;left:1rem;bottom:1rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}

/* ---- Bloques de servicio ---- */
/* El problema: dos columnas, lista numerada */
.problema-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.problema-grid .section-head{margin-bottom:0;position:sticky;top:110px}
/* Para quién: 4 tarjetas compactas con número */
.quien-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.quien-grid .card{padding:1.4rem 1.3rem}
.quien-grid .card h3{font-size:1.05rem;padding-right:2rem}
/* Caso relacionado ancho */
.case-wide{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.case-wide .case-thumb{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-light);background:var(--bg-soft)}
.case-wide .case-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.case-wide:hover .case-thumb img{transform:scale(1.03)}
.case-wide h3{font-size:clamp(1.3rem,2.2vw,1.8rem);letter-spacing:-.02em;margin-bottom:.5em}
.case-wide .case-result-line{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--acc-text);margin-bottom:1rem}
.section-dark .case-wide .case-result-line{color:var(--accent)}
/* Tarifas desde */
.tarifas{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tarifa{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.5rem 1.5rem;display:flex;flex-direction:column;overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s,border-color .22s}
.tarifa:hover{transform:translateY(-4px);box-shadow:var(--shadow-light);border-color:var(--accent-ink)}
.tarifa.featured{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.tarifa.featured::after{content:"";position:absolute;right:-30%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.3),transparent 70%);filter:blur(30px)}
.tarifa>*{position:relative;z-index:1}
.tarifa .t-name{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-text);margin-bottom:.8rem}
.tarifa.featured .t-name{color:var(--accent)}
.tarifa .t-price{font-family:var(--font-serif);font-style:italic;font-size:clamp(2rem,3.4vw,2.6rem);line-height:1;color:var(--ink);letter-spacing:-.01em;margin-bottom:.35rem}
.tarifa .t-price small{font-family:var(--font);font-style:normal;font-size:.8rem;color:var(--muted);margin-left:.25rem;letter-spacing:0}
.tarifa.featured .t-price{color:#fff}
.tarifa.featured .t-price small{color:var(--on-dark-muted)}
.tarifa .t-desc{font-size:.93rem;color:var(--muted);line-height:1.5;margin:0 0 1rem}
.tarifa.featured .t-desc{color:var(--on-dark-muted)}
.tarifa .list-check{margin-bottom:1.3rem;font-size:.9rem}
.tarifa .list-check li svg{color:var(--acc-text)}
.tarifa.featured .list-check li svg{color:var(--accent)}
.tarifa .btn{margin-top:auto;width:100%}
.tarifa .t-badge{position:absolute;top:1.1rem;right:1.1rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);padding:.28rem .6rem;border-radius:999px;z-index:2}
.tarifas-note{margin-top:1.2rem;font-size:.85rem;color:var(--muted);max-width:70ch}
.section-dark .tarifas-note{color:var(--on-dark-muted)}
/* Bloque "A quién no" */
.no-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.no-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:#fff}
.no-card h3{display:flex;align-items:center;gap:.6rem;font-size:1rem;margin-bottom:.8rem}
.no-card h3 i{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;font-style:normal;font-size:.85rem;font-weight:700}
.no-card.si h3 i{background:var(--accent);color:var(--accent-ink)}
.no-card.no h3 i{background:#fde8e8;color:#8a1c1c}
.no-card ul{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.6;font-size:.95rem}

/* ---- Casos de éxito: índice bento ---- */
.casos-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(260px,26vw,340px);gap:1.1rem}
.case-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-dark);background:var(--panel);color:#fff;height:100%;
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.case-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.case-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,18,.05) 30%,rgba(8,13,18,.92) 100%)}
.case-card:hover{transform:translateY(-6px);border-color:var(--accent-line);box-shadow:0 34px 60px -34px rgba(0,0,0,.9)}
.case-card:hover img{transform:scale(1.05)}
.case-card .cc-cat{position:absolute;top:1rem;left:1rem;z-index:2;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(8,13,18,.6);border:1px solid var(--accent-line);padding:.3rem .65rem;border-radius:999px;backdrop-filter:blur(6px)}
.case-card .cc-body{position:absolute;left:1.2rem;right:1.2rem;bottom:1.1rem;z-index:2}
.case-card .cc-client{display:block;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:.3rem}
.case-card h2,.case-card h3{color:#fff;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.2;margin:0 0 .35rem;letter-spacing:-.015em}
.case-card .cc-result{display:block;font-family:var(--font-serif);font-style:italic;font-size:.98rem;color:var(--accent)}
.case-card.is-big{grid-column:span 2}
.case-card.is-big h3{font-size:clamp(1.4rem,2.4vw,2rem)}
.case-card.is-big .cc-body{max-width:34ch}
.case-card-hidden{display:none!important}
.casos-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.casos-count{font-size:.86rem;color:var(--on-dark-muted)}
.casos-count b{color:#fff}

/* ---- Caso: detalle ---- */
.case-hero .hero-ed-grid{grid-template-columns:1fr 1.1fr;align-items:center}
.case-hero .case-client{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1rem}
.case-hero .case-client::before{content:"";width:22px;height:2px;background:currentColor;opacity:.7}
.case-hero h1{font-size:clamp(2rem,4.2vw,3.3rem);max-width:20ch}
.case-meta{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2.2rem;padding:0;margin:1.6rem 0 0}
.case-meta li{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem;font-weight:600;color:#fff}
.case-meta li span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted);font-weight:600}
.case-hero-media{position:relative;z-index:2;border-radius:18px;overflow:hidden;border:1px solid var(--line-dark-2);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 0 1px rgba(157,252,244,.08);background:var(--panel);margin-bottom:0;width:100%;max-width:640px;justify-self:end}
.case-hero-media img{width:100%;height:auto;display:block}
.case-stats-band{background:var(--bg-soft);padding:clamp(2.5rem,5vw,4rem) 0}
.case-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.case-stats .stat{background:#fff}
.case-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.case-nav-side{position:sticky;top:110px;display:grid;gap:.4rem}
.case-nav-side a{display:flex;align-items:center;gap:.7rem;font-size:.9rem;color:var(--muted);padding:.4rem 0;border-left:2px solid var(--line);padding-left:.9rem;transition:color .2s,border-color .2s}
.case-nav-side a b{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--muted-2);font-size:1.05rem}
.case-nav-side a:hover,.case-nav-side a.is-active{color:var(--ink);border-color:var(--accent-ink)}
.case-nav-side a.is-active b{color:var(--acc-text)}
.case-block{max-width:820px;scroll-margin-top:100px}
.case-block+.case-block{margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line)}
.case-block h2{font-size:clamp(1.6rem,2.8vw,2.2rem)}
.case-steps{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.9rem;counter-reset:cs}
.case-steps li{counter-increment:cs;position:relative;padding:1rem 1rem 1rem 3.4rem;line-height:1.55;color:var(--muted);border:1px solid var(--line);border-radius:14px;background:#fff}
.case-steps li strong{color:var(--ink)}
.case-steps li::before{content:counter(cs,decimal-leading-zero);position:absolute;left:1rem;top:.9rem;font-family:var(--font-serif);font-style:italic;font-size:1.2rem;color:var(--acc-text)}
.case-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 1.8rem}
.case-results .stat{background:var(--bg-soft)}
.case-note{font-size:.85rem;color:var(--muted-2)}
.case-quote{max-width:820px;margin:0 auto;text-align:center}
.case-quote blockquote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.4;color:#fff;margin:0 0 1.2rem}
.case-quote figcaption strong{display:block;color:#fff}
.case-quote figcaption span{color:var(--on-dark-muted);font-size:.9rem}
.related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.related-card{display:block;padding:1.3rem 1.4rem;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;transition:border-color .2s,transform .2s}
.related-card:hover{border-color:var(--accent-ink);transform:translateY(-3px)}
.related-card strong{display:block;margin-bottom:.3rem}
.related-card span{font-size:.9rem;color:var(--muted)}
.case-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.case-pager a{display:flex;flex-direction:column;gap:.3rem;padding:1.3rem 1.4rem;border:1px solid var(--line-dark);border-radius:14px;background:rgba(255,255,255,.03);color:#fff;transition:border-color .2s,transform .2s}
.case-pager a:hover{border-color:var(--accent-line);transform:translateY(-3px)}
.case-pager a small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.case-pager a.next{text-align:right;align-items:flex-end}
.case-pager a strong{font-size:1.05rem}

/* ---- Blog ---- */
.blog-featured{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,var(--panel-2),var(--panel));color:#fff}
.blog-featured .bf-media{aspect-ratio:16/10;overflow:hidden;background:var(--panel-3)}
.blog-featured .bf-media img{width:100%;height:100%;object-fit:cover}
.blog-featured .bf-body{padding:clamp(1.5rem,3vw,2.6rem) clamp(1.5rem,3vw,2.6rem) clamp(1.5rem,3vw,2.6rem) 0}
.blog-featured h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2.3rem);margin-bottom:.5em}
.blog-featured p{color:var(--on-dark-muted)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.82rem;color:var(--on-dark-muted);margin-bottom:.9rem}
.post-meta .blog-cat{padding:0}
.post-meta time,.post-meta .rt{display:inline-flex;align-items:center;gap:.35rem}
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:clamp(1.5rem,3vw,2.2rem)}
.post-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-light);border-color:var(--line-2)}
.post-card .pc-media{aspect-ratio:16/9;overflow:hidden;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.post-card .pc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post-card:hover .pc-media img{transform:scale(1.04)}
.post-card .pc-body{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;flex:1}
.post-card .blog-cat{color:var(--acc-text);padding:0 0 .5rem}
.post-card h3{font-size:1.1rem;line-height:1.3;margin-bottom:.5rem}
.post-card p{font-size:.92rem;color:var(--muted);line-height:1.5;margin-bottom:1rem}
.post-card .pc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted-2)}
.post-card .pc-foot .more{font-size:.86rem}
/* Artículo */
.post-hero .hero-ed-grid{grid-template-columns:1fr}
.post-hero h1{max-width:24ch;font-size:clamp(2rem,4.4vw,3.4rem)}
.post-hero .post-meta{margin-top:1.2rem;margin-bottom:0}
.post-hero .post-meta .blog-cat{color:var(--accent)}
.post-cover{margin-top:calc(-1 * clamp(2.5rem,5vw,4rem));position:relative;z-index:2}
.post-cover img{width:100%;max-height:520px;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-light)}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(2rem,6vw,5rem);align-items:start}
.post-body{max-width:70ch}
.post-body .prose{max-width:none}
.post-body .prose>p:first-of-type{font-size:1.14rem;color:var(--ink)}
.post-aside{position:sticky;top:110px;display:grid;gap:1.2rem}
.toc{border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;background:#fff}
.toc strong{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.toc ol{margin:0;padding:0;list-style:none;display:grid;gap:.4rem;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:.55rem;font-size:.88rem;color:var(--muted);line-height:1.35}
.toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--font-serif);font-style:italic;color:var(--acc-text)}
.toc a:hover,.toc a.is-active{color:var(--ink)}
.author-box{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:start;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;background:var(--bg-soft);margin-top:2.5rem}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 20%}
.author-box strong{display:block;margin-bottom:.25rem}
.author-box p{font-size:.92rem;color:var(--muted);margin:0 0 .6rem;line-height:1.5}
.share{display:flex;gap:.5rem;flex-wrap:wrap}
.share a{font-size:.8rem;border:1px solid var(--line-2);border-radius:999px;padding:.3rem .75rem;color:var(--muted)}
.share a:hover{border-color:var(--dark);color:var(--ink)}
.post-cta{border:1px solid var(--accent-line);border-radius:var(--radius);padding:1.4rem;background:linear-gradient(160deg,var(--panel-3),var(--dark));color:#fff}
.post-cta>strong{display:block;font-size:1.05rem;margin-bottom:.4rem}
.post-cta p{font-size:.88rem;color:var(--on-dark-muted);margin:0 0 .9rem;line-height:1.45}
.post-cta .btn{width:100%}
.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.post-pager a{display:flex;flex-direction:column;gap:.3rem;padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;transition:border-color .2s,transform .2s}
.post-pager a:hover{border-color:var(--accent-ink);transform:translateY(-3px)}
.post-pager a small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.post-pager a.next{text-align:right;align-items:flex-end}

/* ---- Sobre mí ---- */
.about-hero .hero-ed-grid{grid-template-columns:1.1fr .9fr}
.about-hero .hero-ed-grid{align-items:end}
.about-portrait{position:relative;justify-self:end;align-self:end;width:min(100%,500px);margin-bottom:calc(-1*clamp(3.2rem,6vw,4.8rem));filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.about-portrait img{width:100%;height:auto;display:block}
.about-portrait .ap-cap{position:absolute;left:0;bottom:clamp(1.4rem,3.4vw,2.4rem);z-index:2;color:#fff;background:rgba(10,15,20,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-dark-2);border-radius:14px;padding:.7rem .95rem .75rem;max-width:min(80%,320px)}
.about-portrait .ap-cap strong{display:block;font-size:.98rem;letter-spacing:-.01em}
.about-portrait .ap-cap span{display:block;font-size:.78rem;color:#fff;line-height:1.35}
.about-portrait .ap-cap .ap-geo{margin-top:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.historia{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.historia .section-head{position:sticky;top:110px;margin-bottom:0}
.historia .prose p>strong:only-child{display:block;font-size:1.15rem;color:var(--ink);margin-bottom:.2rem;letter-spacing:-.01em}
.tesis-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.tesis-grid .card{padding:1.5rem 1.3rem}
.tesis-grid .card .num{position:static;font-size:2rem;color:var(--accent);margin-bottom:.6rem}
.tesis-grid .card h3{font-size:1.02rem;margin-bottom:.4em}
.tesis-grid .card p{font-size:.9rem}
.cred-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.cred-grid .stats{grid-template-columns:repeat(2,1fr)}

/* ---- Contacto ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}
.diag-card{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--panel-3),var(--dark));color:var(--on-dark);border:1px solid var(--accent-line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column}
.diag-card::after{content:"";position:absolute;right:-30%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.28),transparent 70%);filter:blur(30px);pointer-events:none}
.diag-card>*{position:relative;z-index:1}
.diag-card h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.4em}
.diag-card p{color:var(--on-dark-muted);margin-bottom:1.1rem}
.diag-card .list-check{margin-bottom:1.5rem}
.diag-card .list-check li{color:#fff;font-size:.95rem}
.diag-card .actions{margin-top:auto}
.diag-card .diag-note{font-size:.8rem;color:var(--on-dark-muted);margin:1rem 0 0}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.4rem)}
.form-card h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.35em}
.form{display:grid;gap:.9rem;margin-top:1.2rem}
.form .row-2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form label{display:grid;gap:.35rem;font-size:.86rem;font-weight:600;color:var(--ink)}
.form input,.form textarea,.form select{padding:.8rem .95rem;border:1.5px solid var(--line-2);border-radius:12px;font-family:inherit;font-size:.97rem;font-weight:400;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(157,252,244,.35)}
.form textarea{min-height:120px;resize:vertical}
.form .check{display:flex;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.82rem;color:var(--muted);line-height:1.4}
.form .check input{width:auto;margin-top:.2rem}
.form .check a{text-decoration:underline;text-underline-offset:2px}
.form .btn{margin-top:.3rem;justify-content:center}
.form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-note{font-size:.78rem;color:var(--muted-2);margin:.6rem 0 0}
.form-msg{display:none;padding:.9rem 1rem;border-radius:12px;font-size:.92rem;margin-top:.5rem}
.form-msg.ok{display:block;background:var(--accent-soft);color:var(--accent-ink);border:1px solid rgba(6,48,44,.15)}
.form-msg.err{display:block;background:#fde8e8;color:#8a1c1c;border:1px solid #f3c2c2}
.contact-data{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.contact-data .card h3{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.contact-data .ci{width:36px;height:36px;border-radius:11px;background:var(--accent);color:var(--dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.contact-data .ci svg{width:19px;height:19px}
.contact-data .card a.big{font-size:1.1rem;font-weight:600;color:var(--ink)}
.contact-data .card a.big:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}

/* ---- Geo ---- */
.geo-hero .hero-ed-grid{grid-template-columns:1.2fr .8fr}
.geo-list{columns:4;column-gap:2rem;list-style:none;padding:0;margin:0}
.geo-list li{break-inside:avoid;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.geo-list li a:hover{color:var(--accent-ink)}
.geo-list li.is-current a{font-weight:600;color:var(--accent-ink)}
.geo-neighbors{display:flex;flex-wrap:wrap;gap:.5rem}
.geo-neighbors a{font-size:.85rem;border:1px solid var(--line-2);border-radius:999px;padding:.4rem .9rem;color:var(--muted);transition:.15s}
.geo-neighbors a:hover{border-color:var(--dark);color:var(--ink)}

/* ---- Legales y 404 ---- */
.legal .prose{max-width:76ch}
.legal .prose h2{font-size:1.4rem;margin-top:2rem}
.p404{min-height:70svh;display:flex;align-items:center;text-align:center}
.p404 .big{font-family:var(--font-serif);font-style:italic;font-size:clamp(6rem,20vw,14rem);line-height:1;color:var(--accent);margin:0 0 .1em;font-weight:400}

/* Ajustes v2.1 */
.hero-ed .stat{background:rgba(255,255,255,.04);border-color:var(--line-dark)}
.hero-ed .stat .num,.hero-ed .stat-num{color:var(--accent)}
.hero-ed .stat .lbl,.hero-ed .stat-label{color:var(--on-dark-muted)}
.section-dark .related-card strong{color:var(--ink)}
.section-dark .related-card span{color:var(--muted)}
.section-dark .post-card h3,.section-dark .post-card strong{color:var(--ink)}
.section-dark .post-card p{color:var(--muted)}
.section-dark .tarifa:not(.featured) .t-price,.section-dark .tarifa:not(.featured) h3{color:var(--ink)}
.diag-card .eyebrow{color:var(--accent)}
.illo-frame{background:linear-gradient(160deg,var(--panel-3),var(--panel))}
.section-dark .quien-grid .card .num{color:rgba(255,255,255,.2)}
.hero-ed .breadcrumb+.hero-ed-grid{margin-top:0}
.cta-band .eyebrow{color:var(--accent)}
.ficha-person img{object-position:center}

/* ---- Reservas de la Sesión de Diagnóstico (widget propio) ---- */
.booking{position:relative;overflow:hidden;background:linear-gradient(165deg,#1a2833 0%,#121c25 55%,#0f171f 100%);color:#fff;border:1px solid var(--accent-line);border-radius:24px;
  box-shadow:var(--shadow-dark),inset 0 1px 0 rgba(255,255,255,.06);display:grid;grid-template-columns:1.05fr .95fr;gap:0}
.booking::before{content:"";position:absolute;left:-18%;top:-30%;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(157,252,244,.2),transparent 68%);filter:blur(30px);pointer-events:none}
.booking::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(157,252,244,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(157,252,244,.05) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(70% 60% at 100% 100%,#000 10%,transparent 70%);mask-image:radial-gradient(70% 60% at 100% 100%,#000 10%,transparent 70%);opacity:.7}
.booking>*{position:relative;z-index:1}
.bk-side{padding:clamp(1.7rem,3.2vw,2.6rem);border-right:1px solid var(--line-dark);min-width:0}
.bk-main{padding:clamp(1.7rem,3.2vw,2.6rem);background:rgba(255,255,255,.03);min-width:0;display:flex;flex-direction:column}
.booking h2{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:.35em}
.booking .eyebrow{color:var(--accent)}
.booking .lead{color:#fff;margin-bottom:1.1rem;max-width:46ch}
.bk-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.5rem}
.bk-meta span{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;color:#fff;background:var(--accent-dim);border:1px solid var(--accent-line);border-radius:999px;padding:.38rem .8rem}
.bk-meta svg{width:15px;height:15px;color:var(--accent);flex:0 0 auto}
.bk-step{display:flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:1.6rem 0 .8rem}
.bk-step::after{content:"";flex:1;height:1px;background:var(--line-dark)}
.bk-step b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--dark);font-size:.74rem;font-weight:700}
.bk-main .bk-step:first-child{margin-top:0}
.bk-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}
.bk-day{border:1px solid var(--line-dark-2);background:rgba(255,255,255,.04);color:#fff;border-radius:16px;padding:.65rem .8rem .6rem;text-align:left;cursor:pointer;min-width:0;font-family:inherit;
  transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.bk-day small{display:block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:600}
.bk-day strong{display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.55rem;line-height:1.05;margin:.15rem 0 .25rem;color:#fff;letter-spacing:0}
.bk-day span{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--accent);font-weight:500}
.bk-day span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.bk-day:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(157,252,244,.12),0 0 30px -8px rgba(157,252,244,.35)}
.bk-day[aria-pressed="true"]{background:var(--accent);color:var(--dark);border-color:var(--accent);box-shadow:0 0 40px -8px rgba(157,252,244,.55)}
.bk-day[aria-pressed="true"] small,.bk-day[aria-pressed="true"] strong,.bk-day[aria-pressed="true"] span{color:var(--dark)}
.bk-day[aria-pressed="true"] span::before{background:var(--dark)}
.bk-slots{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.9rem}
.bk-slots:empty::before{content:"Elige un día para ver las horas libres";font-size:.88rem;color:#fff;border:1px dashed var(--line-dark-2);border-radius:12px;padding:.75rem 1rem;width:100%}
.bk-slot{border:1px solid var(--line-dark-2);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:.6rem 1.1rem;font-weight:600;font-size:.95rem;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}
.bk-slot:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.bk-slot[aria-pressed="true"]{background:var(--accent);color:var(--dark);border-color:var(--accent);box-shadow:0 0 30px -8px rgba(157,252,244,.55)}
.bk-hint{font-size:.8rem;color:#fff;margin:.55rem 0 0}
.bk-hint .demo{display:block;color:var(--accent);font-size:.74rem;margin-top:.2rem}
.bk-facts{list-style:none;padding:1.3rem 0 0;margin:1.7rem 0 0;display:grid;gap:.6rem;border-top:1px solid var(--line-dark)}
.bk-facts li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:#fff;line-height:1.45}
.bk-facts li svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto;margin-top:.1em}
.bk-wait{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;padding:.8rem 1rem;border-radius:12px;border:1px dashed var(--line-dark-2);font-size:.9rem;color:#fff}
.bk-wait svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto}
.bk-ready .bk-wait{display:none}
.bk-summary{display:none;align-items:center;gap:.8rem;margin:0 0 1.1rem;padding:.85rem 1rem .85rem 1.15rem;border-radius:14px;background:var(--accent-dim);border:1px solid var(--accent-line);font-weight:600;color:#fff;position:relative;overflow:hidden}
.bk-summary::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.bk-summary.is-on{display:flex}
.bk-summary svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto}
.bk-summary em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);font-size:1.12em;background:none}
.bk-form{transition:opacity .25s}
.booking .form label{color:#fff}
.booking .form input,.booking .form textarea,.booking .form select{background:rgba(255,255,255,.06);border-color:var(--line-dark-2);color:#fff}
.booking .form input:focus,.booking .form textarea:focus,.booking .form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(157,252,244,.22)}
.booking .form input::placeholder,.booking .form textarea::placeholder{color:rgba(255,255,255,.45)}
.booking .form select option{color:var(--ink)}
.booking .form .check{color:#fff}
.booking .form .check a{color:#fff;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.booking .form-note{color:#fff}
.booking .form-msg.ok{background:var(--accent-dim);color:#fff;border-color:var(--accent-line)}
.bk-locked{opacity:.5;pointer-events:none}
.bk-empty{padding:1rem 1.1rem;border-radius:12px;border:1px dashed var(--line-dark-2);color:#fff;font-size:.9rem}
.bk-empty a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.bk-done{display:none;text-align:center;padding:1rem 0}
.bk-done.is-on{display:block}
.bk-done .big{font-family:var(--font-serif);font-style:italic;font-size:2.4rem;color:var(--accent);line-height:1;margin-bottom:.6rem}
.bk-done p{color:#fff}
@media(max-width:1024px){.booking{grid-template-columns:1fr}.bk-side{border-right:0;border-bottom:1px solid var(--line-dark)}}
/* ============================================================
   MOVIMIENTO
   ============================================================ */
/* Flash-word: títulos palabra a palabra con destello */
.fw-ready .fw-word{display:inline-block;opacity:0}
.fw-ready .fw-word>span{display:inline-block}
.fw-run .fw-word{animation:fw-in .55s var(--ease) forwards;animation-delay:var(--d,0s)}
.fw-word{position:relative}
@keyframes fw-in{0%{opacity:0;transform:translateY(.42em);color:var(--accent);text-shadow:0 0 14px rgba(157,252,244,.85)}45%{opacity:1;color:var(--accent);text-shadow:0 0 10px rgba(157,252,244,.55)}100%{opacity:1;transform:none;color:inherit;text-shadow:none}}
/* Entrada por scroll (data-rise) */
[data-rise]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s var(--ease);transition-delay:calc(var(--rd,0) * .09s);will-change:opacity,transform}
[data-rise].rise-in{opacity:1;transform:none}
/* Entradas de pantalla (scene) */
.scene-blog h2{clip-path:inset(0 0 110% 0);transform:translateY(.25em);transition:clip-path .9s var(--ease),transform .9s var(--ease)}
.scene-blog.in h2{clip-path:inset(0 0 -.15em 0);transform:none}
.scene-rule{display:block;height:1px;margin:1.4rem 0 0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--accent),transparent);transition:transform .9s ease .1s}
.scene-blog.in .scene-rule{transform:scaleX(1)}
.scene-blog .blog-card{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s var(--ease),border-color .25s}
.scene-blog.in .blog-card{opacity:1;transform:none}
.scene-blog.in .blog-card:nth-child(2){transition-delay:.12s}
.scene-blog.in .blog-card:nth-child(3){transition-delay:.24s}
.scene-social h2{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease)}
.scene-social.in h2{clip-path:inset(0 0 0 0)}
.scene-social .tslider,.scene-social .clientes{opacity:0;transform:translateX(28px);transition:opacity .8s ease,transform .8s var(--ease)}
.scene-social.in .tslider{opacity:1;transform:none}
.scene-social.in .clientes{opacity:1;transform:none;transition-delay:.16s}
/* Proyectos: cards entran una a una */
.proy-card{opacity:0;transform:translateY(30px);transition:opacity .55s ease,transform .65s var(--ease),border-color .3s,box-shadow .3s}
.proy-section.in .proy-card{opacity:1;transform:none}
.proy-section.in .proy-card:nth-child(2){transition-delay:.08s}
.proy-section.in .proy-card:nth-child(3){transition-delay:.16s}
.proy-section.in .proy-card:nth-child(4){transition-delay:.24s}
.proy-section.in .proy-card:nth-child(5){transition-delay:.32s}
.proy-section.in .proy-card:hover{transform:translateY(-6px)}
/* Contador animado */
[data-count]{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fw-ready .fw-word{opacity:1}
  .fw-run .fw-word{animation:none}
  [data-rise]{opacity:1 !important;transform:none !important;transition:none}
  .scene-blog h2,.scene-social h2{clip-path:none;transform:none}
  .scene-rule{transform:scaleX(1)}
  .scene-blog .blog-card,.scene-social .tslider,.scene-social .clientes,.proy-card{opacity:1;transform:none}
  .hero-scroll span,.hero-eyebrow-dot{animation:none}
  .btn,.card,.pilar{transition:none}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1180px){
  .footer-grid{grid-template-columns:1.4fr repeat(4,1fr);gap:1.4rem 1.2rem}
  .mega{grid-template-columns:1fr 1.3fr .9fr}
  .tesis-grid{grid-template-columns:repeat(3,1fr)}
  .quien-grid{grid-template-columns:repeat(2,1fr)}
  .steps-5{grid-template-columns:repeat(3,1fr)}
  .geo-list{columns:3}
}
@media(max-width:1024px){
  /* Hamburguesa */
  .nav-burger{display:flex;align-items:center;justify-content:center;width:42px;height:42px;cursor:pointer;position:relative;transition:transform .16s;border:0;background:transparent;padding:0}
  .nav-burger span,.nav-burger::before,.nav-burger::after{content:"";position:absolute;left:50%;top:50%;height:2px;width:22px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
  .nav-burger::before{transform:translate(-50%,-50%) translateY(-6px)}
  .nav-burger span{transform:translate(-50%,-50%)}
  .nav-burger::after{transform:translate(-50%,-50%) translateY(6px)}
  .nav-burger[aria-expanded="true"] span{opacity:0}
  .nav-burger[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
  .nav-burger[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .brand{position:relative;z-index:60}
  .header-actions{position:relative;z-index:60}
  /* Panel de menú móvil */
  .site-nav{position:fixed;left:0;right:0;top:0;bottom:0;z-index:55;background:#fff;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.2rem;
    padding:calc(76px + env(safe-area-inset-top,0px)) var(--side) calc(2rem + env(safe-area-inset-bottom,0px));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s;overflow-y:auto}
  body.nav-open .site-nav{opacity:1;visibility:visible;pointer-events:auto}
  .site-nav>ul{flex-direction:column;align-items:stretch;gap:0;padding:0;width:100%}
  .site-nav>ul>li{border-bottom:1px solid var(--line)}
  .site-nav>ul>li>a{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:600;padding:.9rem 0;width:100%;color:var(--ink)}
  .site-nav>ul>li.active>a::after{display:none}
  .site-nav .has-mega>a .chev{display:none}
  .mega{display:none}
  .nav-sub{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 0 .9rem}
  .nav-sub a{font-size:.82rem;font-weight:500;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:.35rem .75rem}
  .site-nav .nav-cta{margin:1.2rem 0 0;border-bottom:0}
  .site-nav .nav-cta>a{display:inline-flex;justify-content:center;width:100%;background:var(--dark);color:#fff;border-radius:999px;padding:.85rem 1rem;font-size:1.05rem}
  html.nav-open{overflow:hidden} /* en <html>, no en <body>: con overflow-x:clip en html el overflow del body ya no se propaga al viewport y rompía el sticky de la cabecera */
  .wa-float{display:flex}
  /* Layouts */
  .hero-ed-grid,.case-hero .hero-ed-grid,.about-hero .hero-ed-grid,.geo-hero .hero-ed-grid{grid-template-columns:1fr}
  .hero-ed h1{max-width:none}
  .ficha{max-width:560px}
  .about-portrait{justify-self:start;width:min(100%,360px)}
  .geo-radar{justify-self:start;max-width:280px}
  .illo-frame{max-width:520px}
  .metodo-head{grid-template-columns:1fr}
  .mtabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.3rem;margin:0 calc(-1 * var(--side));padding-left:var(--side);padding-right:var(--side)}
  .mtabs::-webkit-scrollbar{display:none}
  .mtab{flex:0 0 220px;scroll-snap-align:start}
  .mpanel{grid-template-columns:1fr}
  .mc-illo{order:-1}
  .problema-grid,.historia,.faq-grid{grid-template-columns:1fr}
  .problema-grid .section-head,.historia .section-head,.faq-grid .section-head{position:static}
  .case-layout{grid-template-columns:1fr}
  .case-nav-side{position:static;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
  .case-nav-side a{border-left:0;padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px}
  .post-layout{grid-template-columns:1fr}
  .post-aside{position:static}
  .toc{display:none}
  .filo-body{grid-template-columns:1fr}
  .proy-rail{grid-template-columns:repeat(2,1fr)}
  .casos-grid{grid-template-columns:repeat(2,1fr)}
  .case-card.is-big{grid-column:span 2}
  .post-list{grid-template-columns:repeat(2,1fr)}
  .contact-data{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .tarifas{grid-template-columns:1fr}
  .tarifa{max-width:560px}
  .features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .hero-grid,.grid-2,.grid-3,.grid-4,.nl,.cred-grid,.case-wide,.split,.contact-grid,.blog-featured,.no-list,.case-pager,.post-pager,.tgrid{grid-template-columns:1fr}
  .blog-featured .bf-body{padding:1.4rem}
  .steps-5,.steps-3{grid-template-columns:1fr}
  .stats,.case-stats,.case-results{grid-template-columns:1fr 1fr}
  .cred-grid .stats{grid-template-columns:1fr 1fr}
  .quien-grid,.features,.features.cols-2{grid-template-columns:1fr}
  .tesis-grid{grid-template-columns:1fr 1fr}
  .hero-home{min-height:100svh}
  .hero-home>.container{padding-top:clamp(6.5rem,16vh,8rem)}
  .hero-points{gap:.5rem 1.2rem}
  .hero-cred{display:none}
  /* Pilares como carrusel deslizable */
  .pilares{flex-direction:row;flex-wrap:nowrap;min-height:0;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pilares::-webkit-scrollbar{display:none}
  .pilar{flex:0 0 84%;scroll-snap-align:center;min-height:clamp(380px,58vh,470px)}
  .pilar-content{justify-content:flex-start;gap:1.1rem}
  .pilar-reveal{opacity:1;visibility:visible;transform:none}
  .pilares-controls{display:flex}
  .proy-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--side));padding:0 var(--side);grid-auto-rows:auto}
  .proy-rail::-webkit-scrollbar{display:none}
  .proy-card,.proy-card.is-big{flex:0 0 clamp(220px,66vw,300px);scroll-snap-align:center;height:auto;aspect-ratio:4/5}
  .proy-card.is-big .proy-label strong{font-size:1.05rem}
  .blog-grid{grid-template-columns:1fr}
  .scene-close-grid{grid-template-columns:1fr;gap:2.5rem}
  .casos-grid{grid-template-columns:1fr;grid-auto-rows:260px}
  .case-card.is-big{grid-column:auto}
  .post-list{grid-template-columns:1fr}
  .form .row-2{grid-template-columns:1fr}
  .geo-list{columns:2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .case-hero-media{margin-bottom:0;max-width:none;justify-self:stretch}
  .case-stats-band{padding-top:2.5rem}
  .post-cover{margin-top:-1.5rem}
  .list.cols-2{columns:1}
}
@media(max-width:560px){
  .stats,.case-stats,.case-results,.cred-grid .stats,.tesis-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .ficha-meta{grid-template-columns:1fr}
  .topbar{overflow:hidden}
  .topbar-marquee{display:none}
  .topbar-static{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:.45rem .6rem;font-size:clamp(.66rem,3vw,.78rem);white-space:nowrap}
  .topbar-static .topbar-group{flex-wrap:nowrap;white-space:nowrap;gap:.35rem;padding:0}
  .actions .btn{width:100%}
  .cta-band .actions .btn{width:auto}
  .mtab{flex:0 0 200px}
}
@media(min-width:561px) and (max-width:768px){
  .topbar-marquee{display:none}
  .topbar-static{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:.45rem .6rem;font-size:.78rem;white-space:nowrap}
  .topbar-static .topbar-group{flex-wrap:nowrap;white-space:nowrap;gap:.35rem;padding:0}
}
/* Impresión */
@media print{.site-chrome,.topbar,.site-header,.site-footer,.cookie-bar,.wa-float,.bg-stage{display:none!important}body{background:#fff;color:#000}}

/* 2026-09-09 · hijas de servicio: caso real dentro del marco (sustituye al icono gigante) */
.illo-frame.illo-case{display:block;aspect-ratio:auto;padding-top:38px;max-width:580px;text-decoration:none;color:#fff}
.illo-frame.illo-case img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.illo-frame.illo-case:hover img{transform:scale(1.025)}
.illo-frame.illo-case .illo-label{left:0;right:0;bottom:0;padding:2rem 1.1rem .95rem;color:#fff;background:linear-gradient(180deg,rgba(11,17,23,0) 0%,rgba(11,17,23,.92) 60%);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600}
.illo-frame.illo-case .illo-label b{color:var(--accent);font-weight:700}
.illo-frame.illo-case .illo-label i{font-style:normal;font-size:1rem;transition:transform .3s}
.illo-frame.illo-case:hover .illo-label i{transform:translateX(5px)}
.illo-frame.illo-case:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1024px){.illo-frame.illo-case{max-width:640px;margin:0 auto}}

/* 2026-09-09 · megamenú a todo el ancho (contenido alineado de logo a idioma), pegado a la cabecera, sin esquinas redondeadas */
@media(min-width:1025px){
  .site-header .nav-wrap{position:static}
  .mega{left:0;right:0;top:100%;width:auto;transform:translateY(-6px);border-radius:0;border-width:0 0 1px;
    padding:1.35rem max(var(--side),calc((100% - var(--maxw))/2 + var(--side))) 1.45rem;column-gap:1.4rem;
    box-shadow:0 30px 60px -30px rgba(16,24,32,.35)}
  .has-mega:hover>.mega,.has-mega:focus-within>.mega,.has-mega.is-open>.mega{transform:none}
  .mega::before{top:-14px;height:14px}
}

/* 2026-09-09 · pie: redes con icono */
.footer-social{gap:.5rem}
.footer-social a{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.footer-social a svg{width:18px;height:18px;display:block}
.footer-social a:hover{background:rgba(157,252,244,.08)}

/* 2026-09-09 · megamenús de Casos y Blog: intro + carrusel */
.mega.mega-wide{grid-template-columns:minmax(230px,.85fr) minmax(0,3.3fr);column-gap:1.6rem}
.mega-slider{position:relative;min-width:0;padding-top:2.4rem}
.ms-nav{position:absolute;right:0;top:0;display:flex;gap:.4rem}
.ms-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .15s,color .15s,opacity .15s}
.ms-btn:hover{border-color:var(--accent-ink);color:var(--accent-ink)}
.ms-btn[disabled]{opacity:.3;cursor:default}
.ms-btn svg{width:16px;height:16px;display:block}
.ms-track{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:.15rem .15rem .5rem;margin:-.15rem}
.ms-track::-webkit-scrollbar{display:none}
.ms-card{flex:0 0 226px;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--line);background:#fff;overflow:hidden;color:var(--ink);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.ms-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 30px -20px rgba(16,24,32,.4);text-decoration:none}
.ms-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--bg-soft)}
.ms-card .ms-body{padding:.6rem .8rem .85rem;display:flex;flex-direction:column;gap:.2rem}
.ms-cat{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.ms-client{font-size:.88rem;font-weight:600;line-height:1.25;color:var(--ink)}
.ms-post .ms-client{font-size:.84rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ms-result{font-size:.77rem;color:var(--muted);line-height:1.35}
.ms-card.ms-all{align-items:flex-start;justify-content:center;gap:.35rem;padding:1rem 1.1rem;background:var(--bg-soft);border-style:dashed;font-size:.84rem;color:var(--muted)}
.ms-card.ms-all .ms-big{font-family:var(--font-serif);font-style:italic;font-size:2.2rem;line-height:1;color:var(--ink);letter-spacing:-.02em}
.ms-card.ms-all .link-arrow{font-size:.88rem;margin-top:.3rem}
@media(max-width:1180px){.mega.mega-wide{grid-template-columns:minmax(210px,.9fr) minmax(0,3fr)}}
.ms-card img{height:auto}
.mega-intro .idx{display:inline-flex;flex-wrap:nowrap;white-space:nowrap}
.footer-social a svg{width:17px;height:17px}
.light-social a svg{width:16px;height:16px}

/* 2026-09-09 · cabecera compacta entre 1025 y 1300 px (evita que el menú salte a dos líneas) */
@media(min-width:1025px) and (max-width:1300px){
  .site-nav>ul{gap:.55rem}
  .site-nav a{font-size:.86rem;padding:.6rem .05rem}
  .site-nav .nav-cta{margin-left:.2rem}
  .site-nav .nav-cta>a{padding:.4rem .85rem}
  .nav-wrap{gap:.6rem}
  .header-actions .icon-btn{width:34px}
}
@media(min-width:1025px) and (max-width:1120px){
  .site-nav>ul{gap:.4rem}
  .site-nav a{font-size:.8rem}
  .brand-logo{width:112px;height:auto}
  .header-actions .icon-btn{width:32px}
  .lang-toggle .lang-code{display:none}
}

/* 2026-09-09 · hero geo: silueta de la provincia (Natural Earth) con pin en la capital */
.geo-radar .geo-shape{position:absolute;inset:12%;width:76%;height:76%;overflow:visible;filter:drop-shadow(0 0 14px rgba(157,252,244,.28))}
.geo-radar .geo-shape path{fill:rgba(157,252,244,.11);stroke:var(--accent);stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.geo-radar .geo-shape .gs-inset{fill:none;stroke:rgba(157,252,244,.28);stroke-width:1;vector-effect:non-scaling-stroke}
.geo-radar.has-shape span:nth-child(4){background:none}
.geo-radar.has-shape .pin{left:calc(12% + var(--px,100) * .38%);top:calc(12% + var(--py,100) * .38%);width:38px;height:38px}
.geo-radar.has-shape .tag{left:calc(12% + var(--px,100) * .38%);top:calc(12% + var(--py,100) * .38%)}
.geo-radar.has-shape .pin{filter:drop-shadow(0 6px 12px rgba(0,0,0,.6))}
.geo-radar.has-shape .pin,.geo-radar.has-shape .tag{right:auto;bottom:auto;height:auto}
.geo-radar.has-shape .pin{height:38px}
.geo-radar.has-shape .tag.tag-l{transform:translate(-88%,.9rem)}
.geo-radar.has-shape .tag.tag-r{transform:translate(-12%,.9rem)}

/* 2026-09-09 · clúster geo: especialidades bajo cada servicio y «También aquí» en casos */
.features .card .card-sub{margin:-.2rem 0 1rem;font-size:.82rem;color:var(--on-dark-muted);line-height:1.5}
.features .card .card-sub a{color:inherit;text-decoration:underline;text-decoration-color:rgba(157,252,244,.35);text-underline-offset:3px;transition:color .15s}
.features .card .card-sub a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.section-dark .casos-more{margin:1.4rem 0 0;font-size:.92rem;color:var(--on-dark-muted)}
.section-dark .casos-more a{color:#fff;text-decoration:underline;text-decoration-color:rgba(157,252,244,.4);text-underline-offset:3px}
.section-dark .casos-more a:hover{color:var(--accent)}
.section-dark .casos-more{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.section-dark .casos-more>span{font-size:.9rem;color:var(--on-dark-muted)}
.section-dark .casos-more .geo-neighbors{gap:.45rem}
.section-dark .casos-more .geo-neighbors a{border-color:var(--line-dark-2);color:var(--on-dark)}
.section-dark .casos-more .geo-neighbors a:hover{border-color:var(--accent);color:var(--accent)}

/* 2026-09-09 · mapa de España clicable («También trabajo aquí» y hub) */
.geo-map-wrap{position:relative;max-width:820px;margin:0 auto clamp(1.4rem,3vw,2rem)}
.geo-map{width:100%;height:auto;display:block}
.gm-prov{cursor:pointer;outline:none}
.gm-prov path,.gm-prov circle{fill:#e3e9ee;stroke:#fff;stroke-width:.9;stroke-linejoin:round;transition:fill .15s}
.gm-prov:hover path,.gm-prov:focus-visible path,.gm-prov:hover circle,.gm-prov:focus-visible circle{fill:var(--accent)}
.gm-prov.gm-current path,.gm-prov.gm-current circle{fill:var(--dark);cursor:default}
.gm-inset{fill:none;stroke:var(--line-2)}
.gm-inset-t{font-size:9px;fill:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.gm-label{position:absolute;right:0;top:0;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:.42rem .85rem;color:var(--muted);pointer-events:none}
.gm-label b{color:var(--ink)}
.section-dark .gm-prov path,.section-dark .gm-prov circle{fill:rgba(255,255,255,.12);stroke:rgba(8,13,18,.6)}
@media(max-width:820px){.gm-label{position:static;display:inline-block;margin-top:.6rem}}

/* 2026-09-09 · reservas: días en dos filas de cuatro (móvil: dos columnas) */
.bk-days{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:560px){.bk-days{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-09 · legales: columna de texto centrada (antes pegada al lateral izquierdo) */
.legal .prose{max-width:82ch;margin-inline:auto}

/* 2026-09-09 · testimonios cortos (reacciones de clientes por correo) */
.case-quote--short blockquote{font-size:clamp(1.6rem,3.2vw,2.4rem)}
.case-quote figcaption span{display:block}

/* 2026-09-09 · auditoría responsive: correcciones */
/* logo: nunca deformado (el flex lo estrechaba en móvil) */
.brand{flex:0 0 auto}
.brand-logo{max-width:none}
/* 320 px: la ficha del hero imponía un ancho mínimo de 340 px a toda la columna */
@media(max-width:600px){
  .hero-ed-grid>*,.ficha,.ficha-meta>div{min-width:0}
  .ficha-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ficha-meta strong{overflow-wrap:anywhere}
  .actions .btn{white-space:normal}
}
/* objetivos táctiles: puntos del carrusel de testimonios y chips de filtro */
.tslider-dots button{position:relative;width:24px;height:24px;background:transparent}
.tslider-dots button::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .2s,transform .2s}
.tslider-dots button[aria-current="true"]{transform:none;background:transparent}
.tslider-dots button[aria-current="true"]::before{background:var(--accent);transform:scale(1.3)}
@media(max-width:820px){
  .chip{padding:.6rem 1.05rem;min-height:40px}
  .footer-grid li a,.footer-grid h2 a,.footer-nav a{display:inline-block;padding:.25rem 0}
  .footer-contact a{min-height:32px}
}
/* legibilidad: etiquetas nunca por debajo de 12 px en pantallas pequeñas */
@media(max-width:600px){
  .eyebrow,.proy-cat,.cc-cat,.blog-cat,.ms-cat,.t-badge,.t-name,.ficha-label,.ficha-meta span,.idx,.mc-step,.case-client,.gm-label,.illo-label{font-size:max(.72rem,12px)}
  small{font-size:max(.8em,12px)}
}

/* franja superior en móvil: que quepa entera (antes se recortaba por los dos lados en pantallas < 400 px) */
@media(max-width:560px){
  .topbar-static{white-space:normal;font-size:.76rem;line-height:1.35;padding:.4rem var(--side);text-align:center}
  .topbar-static .topbar-group{flex-wrap:wrap;justify-content:center;white-space:normal;row-gap:.05rem}
}
/* sin desplazamiento horizontal por los brillos decorativos (iOS ignora overflow-x:hidden solo en body) */
@supports(overflow:clip){html,body{overflow-x:clip}}
/* cabecera pegajosa en las páginas interiores: el envoltorio .site-chrome anulaba el sticky del header */
body:not(.home) .site-chrome{display:contents}

/* 2026-09-09 · ajustes móviles pedidos por Nico */
@media(max-width:820px){
  .hero-home{min-height:85svh}
  .filo-tesis{display:grid;grid-template-columns:1fr;gap:.45rem;max-width:420px}
  .filo-tesis li{text-align:center}
  .mtabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;overflow:visible;margin:0 0 1rem;padding:0}
  .mtab{flex:auto;min-width:0;padding:.7rem 0 .8rem;text-align:center;align-items:center}
  .mtab .mt-name,.mtab .mt-short{display:none}
  .mtab .mt-num{font-size:1.6rem}
  .mpanel .mc-illo{display:none}
  .mpanel{grid-template-columns:1fr}
  .blog-section .blog-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.9rem;margin:2rem calc(-1 * var(--side)) 0;padding:0 var(--side)}
  .blog-section .blog-grid::-webkit-scrollbar{display:none}
  .blog-section .blog-grid>*{flex:0 0 84%;scroll-snap-align:start}
  .proy-rail>*{scroll-snap-align:start}
  .proy-rail,.blog-section .blog-grid{scroll-padding-left:var(--side)}
}
.proy-count{align-items:center}
@media(max-width:600px){
  .cta-inner .btn,.cta-band .btn,.diag-card .btn{display:flex;justify-content:center;width:100%;max-width:100%;white-space:normal;text-align:center}
}
/* navegación de carruseles en móvil: mismo estilo que el de testimonios (flechas + puntos) */
.rail-nav{margin-top:1.4rem}
.rail-nav+.proy-count{margin-top:2.2rem}
.section:not(.section-dark) .rail-nav .tslider-arrow,.section-soft .rail-nav .tslider-arrow{border-color:var(--line-2);color:var(--ink);background:#fff}
.section:not(.section-dark) .rail-nav .tslider-dots button::before,.section-soft .rail-nav .tslider-dots button::before{background:rgba(16,24,32,.22)}
@media(min-width:821px){.rail-nav{display:none}}
@media(max-width:1024px){
  .site-nav{padding-top:calc(var(--nav-top,70px) + .5rem);gap:0}
  .site-nav>ul>li>a{font-size:1.08rem;padding:.62rem 0}
  .site-nav>ul>li.has-mega{position:relative}
  .site-nav>ul>li.has-mega>a{padding-right:52px}
  .nav-acc{position:absolute;right:-.4rem;top:.22rem;width:44px;height:44px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border-radius:50%}
  .nav-acc svg{width:18px;height:18px;transition:transform .2s}
  .nav-acc[aria-expanded="true"] svg{transform:rotate(180deg)}
  .site-nav>ul>li.has-mega .nav-sub{display:none;padding:0 0 .55rem;gap:0}
  .site-nav>ul>li.has-mega.is-open .nav-sub{display:flex;flex-direction:column}
  .nav-sub a{display:block;width:100%;padding:.5rem 0 .5rem 1rem;font-size:.95rem;font-weight:500;color:var(--muted);border:0;border-radius:0;background:transparent;position:relative}
  .nav-sub a::before{content:"";position:absolute;left:0;top:50%;width:6px;height:1px;background:var(--line-2)}
  .site-nav .nav-cta{margin:.9rem 0 0}
  .site-nav .nav-cta>a{padding:.75rem 1rem;font-size:1rem}
}
/* hero de la home más corto en móvil: contenido compacto (la altura la marcaba el contenido, no el min-height) */
@media(max-width:820px){
  .hero-home>.container{padding-bottom:3rem}
  .hero-home .hero-eyebrow{margin-bottom:1rem}
  .hero-home h1{margin-bottom:.35em}
  .hero-home .lead{font-size:1rem;margin-bottom:.9rem}
  .hero-home .actions{margin-top:1.2rem;gap:.6rem}
  .hero-home .hero-points{margin-top:1.2rem;gap:.45rem 1.4rem}
  .hero-home .hero-points li{font-size:.88rem}
}
/* legibilidad global: ninguna etiqueta real por debajo de 12 px (selectores con la misma especificidad que las reglas originales) */
.eyebrow,.mega-feat .eyebrow,.site-footer h2,.filo-eyebrow,.filo-portrait-badge,.proy-cat,.proy-label small,.mpanel .mc-step,.geo-radar .tag,.illo-frame .illo-label,.tarifa .t-name,.tarifa .t-badge,.case-card .cc-cat,.case-meta li span,.toc strong,.about-portrait .ap-cap .ap-geo,.bk-step,.bk-day small,.bk-day span,.bk-hint .demo,.ms-cat,.gm-label,.blog-cat,.post-card .blog-cat,.case-pager a small,.case-client,.idx,.ficha-label,.ficha-meta span{font-size:max(.72rem,12px)}
/* objetivos táctiles en móvil: logo, enlaces-flecha, contacto y títulos del pie, puntos del carrusel */
.site-header .brand{min-height:44px;display:inline-flex;align-items:center}
.tslider-dots button::after{content:"";position:absolute;inset:-8px}
@media(max-width:820px){
  .link-arrow{min-height:40px}
  .footer-contact a{min-height:40px}
  .site-footer h2 a{display:inline-flex;align-items:center;min-height:40px;padding:0}
  .footer-grid li a{padding:.35rem 0}
}
/* cabecera en pantallas muy estrechas (≤340 px): sin icono de correo ni código de idioma para que quepa la hamburguesa */
@media(max-width:380px){
  .nav-wrap{gap:.5rem}
  .header-actions{gap:.2rem}
  .lang-toggle .lang-code{display:none}
}
@media(max-width:340px){
  .nav-wrap{gap:.4rem}
  .header-actions{gap:.15rem}
  .header-actions .icon-btn[href^="mailto"]{display:none}
}
small{font-size:max(.8em,12px)}
.footer-brand .brand{min-height:44px;display:inline-flex;align-items:center}
.tslider-dots button{width:40px;height:40px}
@media(max-width:820px){
  .contact-data a.big{display:inline-flex;align-items:center;min-height:44px}
}
/* Método Raíz entre 821 y 1024 px: las 5 pestañas en rejilla (antes se salían por la derecha en un carrusel) */
@media(min-width:821px) and (max-width:1024px){
  .mtabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;overflow:visible;margin:0 0 1rem;padding:0}
  .mtab{flex:auto;min-width:0;padding:.85rem .7rem .8rem}
  .mtab .mt-short{display:none}
  .mtab .mt-name{font-size:.9rem}
}
/* chips de provincias vecinas y enlaces «Más sobre…» con 40 px de alto en móvil */
@media(max-width:820px){
  .geo-neighbors a{min-height:40px;display:inline-flex;align-items:center}
  .card .more,.card a.more{min-height:40px;display:inline-flex;align-items:center}
}
/* posts: botones de compartir, paginación y CTA lateral con 40 px y ≥12 px */
.post-pager a small,.lang-opt small{font-size:max(.72rem,12px)}
@media(max-width:820px){
  .share a{min-height:40px;display:inline-flex;align-items:center}
  .post-cta .btn{min-height:44px}
}
/* los botones de acordeón del menú móvil (inyectados por JS) no se muestran en escritorio */
@media(min-width:1025px){.nav-acc{display:none}}
/* 2026-09-09 · bloque «En resumen» (TL;DR) — checklist punto 2 · v2: banda a ancho completo, desplegable, tres cajas */
.section-tldr{padding:0;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.tldr{margin:0}
.tldr-head{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.1rem 0;user-select:none}
.tldr-head::-webkit-details-marker{display:none}
.tldr-head:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.tldr-label{display:inline-flex;align-items:center;gap:.6rem;font-size:max(.72rem,12px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.tldr-label::before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px}
.tldr-sub{font-size:.9rem;color:var(--muted)}
.tldr-chev{margin-left:auto;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .25s var(--ease),border-color .2s}
.tldr-chev svg{width:18px;height:18px}
.tldr[open] .tldr-chev{transform:rotate(180deg)}
.tldr-head:hover .tldr-chev{border-color:var(--accent)}
.tldr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 0 1.6rem}
.tldr-card{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:14px;padding:1.2rem 1.25rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 1px 2px rgba(16,24,32,.04)}
.tldr-card::before{content:"";position:absolute;left:1.25rem;right:1.25rem;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}
.tldr-num{font-family:var(--font-serif);font-style:italic;font-size:1.7rem;line-height:1;color:var(--acc-text);margin-top:.35rem}
.tldr-k{font-size:max(.72rem,12px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tldr-card p{margin:.15rem 0 0;font-size:.97rem;line-height:1.5;color:var(--ink)}
@media(max-width:1024px){.tldr-grid{gap:.8rem}.tldr-card{padding:1.05rem 1.1rem 1.1rem}}
@media(max-width:820px){
  .tldr-grid{grid-template-columns:1fr;gap:.7rem;padding-bottom:1.3rem}
  .tldr-sub{display:none}
  .tldr-head{padding:.95rem 0}
  .tldr-card{display:grid;grid-template-columns:2.2rem 1fr;column-gap:.8rem;row-gap:.2rem;align-items:start;padding:.95rem 1rem 1rem}
  .tldr-card::before{left:1rem;right:auto;width:28px}
  .tldr-num{grid-row:1/span 2;margin-top:.15rem;font-size:1.5rem}
  .tldr-k{grid-column:2}
  .tldr-card p{grid-column:2;font-size:.94rem;margin:0;min-width:0}
}
/* 2026-09-09 · CTA temprano — checklist punto 6 */
.case-hero .case-actions{margin-top:1.5rem}
.post-cta-inline{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;border:1px solid var(--line-2);border-radius:14px;background:var(--bg-soft);padding:1rem 1.2rem;margin:1.4rem 0 1.8rem}
.post-cta-inline p{margin:0;flex:1 1 300px;font-size:.95rem;line-height:1.5;color:var(--muted)}
.post-cta-inline p strong{color:var(--ink)}
.post-cta-inline .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:600px){.post-cta-inline .btn{width:100%;justify-content:center}}
/* 2026-09-09 · tablas comparativas — checklist punto 7 */
.tbl-block{margin:1.6rem 0 .4rem;width:0;min-width:100%}  /* width:0 + min-width:100%: no ensancha la columna de rejilla en móvil */
.tbl-cap{font-weight:700;color:var(--ink);margin:0 0 .6rem;font-size:1rem}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-2);border-radius:12px;background:#fff}
.tbl{width:100%;min-width:560px;border-collapse:collapse;font-size:.93rem;line-height:1.45;margin:0}
.tbl th,.tbl td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.tbl thead th{background:var(--bg-soft);font-size:max(.72rem,12px);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tbl tbody th{font-weight:700;color:var(--ink);width:1%;white-space:nowrap}
.tbl td{color:var(--muted)}
.tbl-note{font-size:.86rem;color:var(--muted);margin:.5rem 0 1.4rem}
.prose .tbl-block{margin:1.4rem 0 .4rem}
.tarifas+.tbl-block{margin-top:2rem}
@media(max-width:600px){.tbl{font-size:.88rem;min-width:520px}.tbl th,.tbl td{padding:.6rem .7rem}.tbl tbody th{white-space:normal;min-width:110px}}
/* guía de Sevilla: la cabecera lateral pegajosa solo tiene sentido a dos columnas; en una columna se superponía al texto */
@media(max-width:820px){.split>div[style*="sticky"]{position:static!important}}
/* 2026-09-09 · barra CTA fija en móvil (checklist 24) y compartir en casos (checklist 25) */
.cta-mobile{display:none}
@media(max-width:820px){
  .cta-mobile{position:fixed;left:0;right:0;bottom:0;z-index:54;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem var(--side) calc(.55rem + env(safe-area-inset-bottom,0px));background:rgba(8,13,18,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line-dark);color:#fff;transform:translateY(110%);transition:transform .3s var(--ease);will-change:transform}
  html.ctabar-on .cta-mobile{transform:none}
  .cta-mobile .cm-txt{font-size:max(.72rem,12px);line-height:1.3;color:var(--on-dark-muted);min-width:0}
  .cta-mobile .cm-txt b{display:block;color:#fff;font-size:.9rem;font-weight:700}
  .cta-mobile .btn{padding:.6rem 1rem;font-size:.9rem;white-space:nowrap;flex:0 0 auto;min-height:40px}
  html.ctabar-on .site-footer{padding-bottom:calc(2rem + 64px + env(safe-area-inset-bottom,0px))}
}
@media print{.cta-mobile{display:none!important}}
.share-case{align-items:center;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.share-lbl{font-size:max(.72rem,12px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:.3rem}
.share button{font:inherit;font-size:.8rem;border:1px solid var(--line-2);border-radius:999px;padding:.3rem .75rem;color:var(--muted);background:#fff;cursor:pointer}
.share button:hover{border-color:var(--dark);color:var(--ink)}
@media(max-width:820px){.share a,.share button{min-height:40px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}}
/* 2026-09-09 · megamenús de Sobre mí (con foto) y Contacto (petición de Nico) */
/* Sobre mí: tarjeta oscura (como «Empieza aquí») con el recorte a la izquierda, apoyado en el borde inferior del panel, y un mensaje a la derecha (petición de Nico) */
/* mismas columnas que el resto de megamenús (1.05fr 1.35fr .95fr): Nico, 2026-09-09 */
.mega-photo{position:relative;display:block;align-self:stretch;min-height:0;border-radius:14px;overflow:hidden;color:#fff;
  background:radial-gradient(120% 120% at 80% 0%,#1d3038 0%,var(--dark) 60%);border:1px solid rgba(255,255,255,.08)}  /* tarjeta completa, alineada con la blanca de la izquierda (Nico) */
.mega-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,rgba(157,252,244,0),rgba(157,252,244,.07));pointer-events:none}
.mega-photo img{position:absolute;left:.25rem;bottom:0;z-index:1;height:min(90%,236px);width:auto;max-width:none;object-fit:contain;object-position:bottom;display:block;pointer-events:none;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.mega-photo .mp-txt{position:absolute;right:1rem;top:0;bottom:0;left:calc(.5rem + 50%);display:flex;flex-direction:column;justify-content:center;gap:.45rem;z-index:2}  /* centrado en vertical (bottom compensa el sangrado bajo el panel) */
.mega-photo .mp-eyebrow{font-size:max(.66rem,11px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);line-height:1.5}
.mega-photo .mp-eyebrow b{display:block;font-size:.9rem;letter-spacing:.1em;color:#fff}
.mega-photo .mp-h{font-family:var(--font-serif);font-style:italic;font-size:1.22rem;line-height:1.12;letter-spacing:-.01em;color:#fff}
.mega-photo .mp-p{font-size:.8rem;line-height:1.45;color:var(--on-dark-muted)}
@media(max-width:1180px){.mega-photo .mp-h{font-size:1.12rem}.mega-photo .mp-p{font-size:.74rem}.mega-photo img{height:min(82%,220px)}.mega-photo .mp-txt{left:calc(.5rem + 46%);gap:.35rem}}
.mega-contact .mega-list a{grid-template-columns:40px 1fr}
.mega-feat--contact .mega-social{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.45rem}
.mega-feat--contact .mega-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.05);transition:border-color .15s,color .15s,background .15s}
.mega-feat--contact .mega-social a:hover{border-color:var(--accent);color:var(--accent);background:rgba(157,252,244,.08)}
.mega-feat--contact .mega-social a svg{width:16px;height:16px}
/* el «Contacto» sigue siendo pastilla: sin chevrón ni acordeón en móvil */
@media(max-width:1024px){
  .site-nav>ul>li.has-mega.nav-cta>a{padding-right:1rem}
  .site-nav>ul>li.has-mega.nav-cta .nav-acc{display:none}
}
/* la pastilla «Contacto» al pasar el ratón: sin subrayado y con el texto visible también en la home */
.site-nav>ul>li.nav-cta>a:hover{text-decoration:none}
@media(min-width:1025px){body .site-nav>ul>li.nav-cta>a:hover{color:var(--accent-ink)}body.chrome-light .site-nav>ul>li.nav-cta>a:hover{color:#fff}}
@media(max-width:600px){.cookie-bar{padding-top:.75rem;gap:.7rem}.cookie-bar .cookie-actions{width:100%}.cookie-bar .cookie-actions .btn{flex:1 1 auto;justify-content:center}}
/* 2026-09-09 · información básica de protección de datos bajo los formularios (capa 1 del RGPD) */
.rgpd{margin:.2rem 0 1rem;font-size:.8rem;line-height:1.45;color:var(--muted)}
.rgpd summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--muted);padding:.2rem 0}
.rgpd summary::-webkit-details-marker{display:none}
.rgpd summary::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-left:.1rem}
.rgpd[open] summary::before{transform:rotate(45deg)}
.rgpd summary:hover{color:var(--ink)}
.rgpd-body{margin-top:.45rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}
.rgpd-body p{margin:0 0 .35rem}
.rgpd-body p:last-child{margin:0}
.rgpd-body b{color:var(--ink);font-weight:600}
.rgpd-body a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.rgpd--dark{color:var(--on-dark-muted)}
.rgpd.rgpd--dark summary{color:rgba(255,255,255,.72);transition:color .2s}
.rgpd.rgpd--dark summary:hover,.rgpd.rgpd--dark[open] summary{color:#fff}  /* Nico: al pasar el ratón, en blanco */
.rgpd--dark .rgpd-body{background:rgba(255,255,255,.05);border-color:var(--line-dark-2)}
.rgpd--dark .rgpd-body b,.rgpd--dark .rgpd-body a{color:#fff}
.nl-form+.nl-note+.rgpd{max-width:520px}
/* 2026-09-09 · megamenú en escritorio con fondo translúcido y desenfocado, como la cabecera (petición de Nico); las tarjetas conservan su fondo */
@media(min-width:1025px){
  /* igual que la cabecera interior: blanco al 72 % + desenfoque */
  .mega{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(18px) saturate(165%);backdrop-filter:blur(18px) saturate(165%)}
  .mega-list a:hover{background:rgba(255,255,255,.7)}
  /* en la home, mientras la cabecera es oscura, el panel también: mismo cristal oscuro que el header */
  body:not(.chrome-light) .mega{background:rgba(8,13,18,.3);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);border-color:rgba(255,255,255,.12);color:#fff}  /* mismo cristal que la cabecera oscura (tono .3, blur 10): se ve el fondo desenfocado y solo cambian las letras a blanco */
  body:not(.chrome-light) .mega-list a{color:#fff}
  body:not(.chrome-light) .mega-list span{color:var(--on-dark-muted)}
  body:not(.chrome-light) .mega-list strong{color:#fff}
  body:not(.chrome-light) .mega-list .mi{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--accent)}
  body:not(.chrome-light) .mega-list a:hover{background:rgba(255,255,255,.08)}
  body:not(.chrome-light) .mega-list a:hover .mi{background:rgba(255,255,255,.14)}
  body:not(.chrome-light) .mega-feat{border:1px solid rgba(255,255,255,.12)}
  body:not(.chrome-light) .ms-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
}
/* 2026-09-09 · cabecera interior como la de la home (petición de Nico): pegajosa, transparente sobre el hero oscuro y clara sobre las secciones claras (app.js pone body.chrome-light) */
:root{--hdr-h:67px}
body:not(.home) .site-header{margin-bottom:calc(-1 * var(--hdr-h))}  /* el hero se mete debajo */
body:not(.home) .site-header::before{background:linear-gradient(180deg,rgba(8,13,18,.55),rgba(8,13,18,.12) 96%)}
body:not(.home) .site-header::after{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.35) 96%)}
body:not(.home) .hero-ed{padding-top:calc(clamp(1rem,2vw,1.5rem) + var(--hdr-h))}
body:not(.home) .p404{padding-top:var(--hdr-h)}
/* 2026-09-09 · cambio de tono suave (petición de Nico): fundidos de .45 s en cabecera, iconos, hamburguesa y megamenú */
.site-header{transition:border-color .45s ease}
.icon-btn,.nav-burger span,.nav-burger::before,.nav-burger::after{transition:color .45s ease,background .45s ease,transform .16s}
.site-nav>ul>li>a{transition:color .45s ease}
.site-nav .nav-cta>a{transition:color .45s ease,background .45s ease,border-color .45s ease,transform .16s,filter .16s}
@media(min-width:1025px){
  .mega{transition:opacity .18s var(--ease),transform .22s var(--ease),visibility .2s,background .45s ease,border-color .45s ease,color .45s ease}
  .mega-list a,.mega-list strong,.mega-list span{transition:color .45s ease,background .45s ease}
  .mega-list .mi{transition:color .45s ease,background .45s ease,border-color .45s ease}
  .mega-feat{transition:border-color .45s ease}
  .ms-btn{transition:color .45s ease,background .45s ease,border-color .45s ease}
}
/* (2026-09-09: se probó igualar la altura de todos los megamenús a 376 px y Nico prefirió la altura natural de cada uno) */

/* 2026-09-16 SEO+IA: cápsula de cuatro datos en los heroes de servicio */
p.lead-datos + p{margin-top:.8rem}

/* ---------- Recursos descargables (2026-09-24) ---------- */
.rec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:clamp(1.5rem,3vw,2.2rem)}
.rec-card{display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.5rem 1.5rem 1.4rem;color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.rec-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-light);border-color:var(--line-2)}
.rec-card h2{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.25;margin:0}
.rec-card p{margin:0;color:var(--muted)}
.rec-card .link-arrow{margin-top:auto;padding-top:.5rem;font-size:.92rem}
.rc-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.rc-head .blog-cat{color:var(--acc-text);opacity:.7}
.rc-num{font-family:var(--font-serif);font-style:italic;font-size:1.6rem;line-height:1;color:var(--acc-text)}
.rc-fmt{margin-left:auto;font-size:max(.72rem,12px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:.25rem .65rem}
.pr-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}
.rec-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:clamp(1.5rem,3vw,2.2rem)}
.rec-rules .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.rec-rules .card h3{margin:.6rem 0 .4rem}
.rec-rules .card p{margin:0;color:var(--muted)}
.post-recurso{margin:2rem 0;padding:1.5rem 1.5rem 1.3rem;border:1px solid var(--accent-line);border-radius:var(--radius);background:linear-gradient(160deg,var(--accent-soft),#fff)}
.post-recurso .pr-label{display:inline-flex;align-items:center;gap:.6rem;font-size:max(.72rem,12px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.post-recurso .pr-label::before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px}
.post-recurso h3{margin:.7rem 0 .4rem;font-size:1.25rem;line-height:1.25}
.post-recurso p{margin:0 0 .9rem}
.post-recurso .pr-note{margin:.9rem 0 0;font-size:.88rem;color:var(--muted)}
@media (max-width:900px){.rec-grid{grid-template-columns:1fr}.rec-rules{grid-template-columns:1fr}}

/* ---------- Cápsula de respuesta bajo la portada (blog v2, 2026-09-24) ---------- */
.section-tldr .capsula{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.55;margin:0 0 1.25rem;padding:1.1rem 1.35rem;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 14px 14px 0;color:var(--ink)}
.section-tldr .capsula a{font-weight:600}

.rec-band{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;border:1px solid var(--accent-line);border-radius:var(--radius);padding:1.6rem 1.8rem;background:linear-gradient(160deg,var(--accent-soft),#fff)}
.rec-band h2{font-size:clamp(1.3rem,2.2vw,1.8rem);margin:.4rem 0}
.rec-band .lead{margin:0;color:var(--muted)}
@media (max-width:760px){.rec-band{grid-template-columns:1fr}}

/* ---- 2026-09-25: credenciales con icono, tesis con bombilla, entregable, ficha, recursos, newsletter ---- */
.hero-cred .container>span{display:inline-flex;align-items:center;gap:.45rem}
.hero-cred .container>span>svg{width:16px;height:16px;flex:0 0 auto;color:var(--accent)}
.filo-tesis li{display:inline-flex;align-items:center;gap:.5rem}
.filo-tesis li>svg{width:15px;height:15px;flex:0 0 auto;color:var(--accent)}
@media(max-width:820px){.filo-tesis li{display:flex;justify-content:center}}
.mc-deliver{align-items:baseline}
.ficha{box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
#newsletter .scene-close-grid{align-items:center}
.rec-grid{counter-reset:rec}
.rec-card{counter-increment:rec;gap:0;padding:.9rem .9rem 1.4rem}
.rec-card .rc-thumb{display:block;position:relative;aspect-ratio:16/7;border-radius:calc(var(--radius) - 6px);overflow:hidden;background:var(--accent);margin-bottom:1.1rem}
.rec-card .rc-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply;transition:transform .5s var(--ease)}
.rec-card:hover .rc-thumb img{transform:scale(1.03)}
.rec-card .rc-head{padding:0 .5rem;margin-bottom:.8rem}
.rec-card .rc-body{display:flex;flex-direction:column;flex:1 1 auto;gap:.8rem;padding:0 .5rem}
.rec-grid .rc-num::before{content:counter(rec,decimal-leading-zero)}
.rec-card h2{line-height:1.22}
.rec-card p{line-height:1.55}
.rec-card .pr-actions{margin-top:.2rem}
.rec-card .link-arrow{margin-top:auto;padding-top:.95rem;border-top:1px solid var(--line)}

/* ---- 2026-09-25: aviso de cookies con Rechazar y Configurar ---- */
.cookie-bar.is-visible{flex-direction:column;align-items:stretch;gap:.9rem}
.cookie-bar .cookie-main{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem;width:100%}
.cookie-bar .cookie-main p{flex:1 1 320px}
.cookie-bar .cookie-config{display:grid;gap:.6rem;width:100%;padding-top:.85rem;border-top:1px solid var(--line-dark-2)}
.cookie-bar .cookie-config[hidden]{display:none}
.cookie-bar .ck{display:flex;align-items:flex-start;gap:.65rem;font-size:.88rem;line-height:1.45;color:var(--on-dark-muted);cursor:pointer}
.cookie-bar .ck b{color:#fff}
.cookie-bar .ck input{margin:.2em 0 0;width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent)}
.cookie-bar .ck input:disabled{opacity:.6}
.cookie-bar .cookie-config .cookie-actions{justify-content:flex-end}

/* Cabecera de post (25-09-2026): icono 3D con halo dentro del hero; la portada compuesta solo en tarjetas y og:image */
.post-hero .hero-ed-grid{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center}
.post-art{position:relative;display:flex;align-items:center;justify-content:center;margin:0;width:100%;max-width:420px;aspect-ratio:1;justify-self:end}
.post-art .halo{position:absolute;inset:11%;border-radius:50%;background:var(--accent);opacity:.9;box-shadow:0 0 0 18px rgba(157,252,244,.12),0 0 0 40px rgba(157,252,244,.06)}
.post-art img{position:relative;width:100%;height:auto;filter:drop-shadow(0 24px 32px rgba(0,0,0,.55)) drop-shadow(0 4px 8px rgba(0,0,0,.35))}
.post-meta time,.post-meta .rt,.post-meta>span{white-space:nowrap}
@media(max-width:820px){.post-hero .hero-ed-grid{grid-template-columns:1fr}.post-art{max-width:230px;justify-self:center;margin-top:1.75rem}}
/* Recursos (25-09-2026, Nico): portada entera 16:9 sobre fondo de marca, sin duotono; el número sale de recursos_data.num */
.rec-card .rc-thumb{aspect-ratio:16/9;background:#101820}
.rec-card .rc-thumb img{filter:none;mix-blend-mode:normal}
.rec-grid .rc-num::before{content:none}
/* Posts en pantallas estrechas (25-09-2026): la columna del artículo no puede crecer más que la pantalla (1fr = minmax(auto,1fr) dejaba que una tabla ancha empujara el texto fuera); las tablas anchas se desplazan dentro de su caja */
@media(max-width:1024px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-body{min-width:0;max-width:100%}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* 2026-09-27 · menú superior de escritorio siempre en una línea (en algunos anchos saltaba a dos, sobre todo en euskera y gallego) */
@media(min-width:1025px){.site-nav>ul>li>a{white-space:nowrap}.site-nav .chev{flex-shrink:0}}
@media(min-width:1025px) and (max-width:1500px){html[lang=eu] .site-nav>ul{gap:.5rem}html[lang=eu] .site-nav>ul>li>a{font-size:.85rem}}
@media(min-width:1025px) and (max-width:1300px){html[lang=eu] .site-nav>ul{gap:.3rem}html[lang=eu] .site-nav>ul>li>a{font-size:.8rem}}
@media(min-width:1025px) and (max-width:1120px){html[lang=eu] .site-nav>ul>li>a{font-size:.74rem}html[lang=eu] .site-nav>ul{gap:.2rem}}

/* 2026-09-27 · banderas redondas a la izquierda en el desplegable de idiomas (petición de Nico) */
.lang-opt{justify-content:flex-start;align-items:center;gap:.6rem}
.lang-opt small{margin-left:auto}
.lang-opt::before{content:"";flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:center/cover no-repeat;box-shadow:0 0 0 1px rgba(16,24,32,.14)}
.lang-opt[data-lang=es]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect width='20' height='20' fill='%23AA151B'/%3E%3Crect y='5' width='20' height='10' fill='%23F1BF00'/%3E%3C/svg%3E")}
.lang-opt[data-lang=ca]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Crect width='18' height='18' fill='%23FCDD09'/%3E%3Cpath d='M0 3h18v2H0zM0 7h18v2H0zM0 11h18v2H0zM0 15h18v2H0z' fill='%23DA121A'/%3E%3C/svg%3E")}
.lang-opt[data-lang=gl]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect width='20' height='20' fill='%23fff'/%3E%3Cpath d='M-2 2.5 2.5-2 22 17.5 17.5 22z' fill='%230099D8'/%3E%3C/svg%3E")}
.lang-opt[data-lang=eu]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect width='20' height='20' fill='%23D52B1E'/%3E%3Cpath d='M0 0l20 20M20 0 0 20' stroke='%23009B48' stroke-width='3.2'/%3E%3Cpath d='M10 0v20M0 10h20' stroke='%23fff' stroke-width='3.2'/%3E%3C/svg%3E")}
.lang-opt[data-lang=en]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect width='20' height='20' fill='%23012169'/%3E%3Cpath d='M0 0l20 20M20 0 0 20' stroke='%23fff' stroke-width='4'/%3E%3Cpath d='M0 0l20 20M20 0 0 20' stroke='%23C8102E' stroke-width='1.4'/%3E%3Cpath d='M10 0v20M0 10h20' stroke='%23fff' stroke-width='5.6'/%3E%3Cpath d='M10 0v20M0 10h20' stroke='%23C8102E' stroke-width='3.2'/%3E%3C/svg%3E")}
