/* Ferrita · ferritasec.com
   Marca: grafito, petroli, papel; ámbar solo para lo que importa (plazos, alertas, la señal limpia).
   Instrument Sans para todo; números tabulares para los datos. Sin sombras decorativas ni esquinas redondeadas. */

@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2-variations");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:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/instrument-sans-latin-ext-wght-normal.woff2) format("woff2-variations");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}

:root{
  /* Un solo tema: oscuro, el del hero, en toda la web */
  --paper:#0F1314; --card:#151A1C; --card-2:#1B2123; --deep:#0A0D0E;
  --ink:#EEF0EE; --grey:#9AA39F; --rule:#252D2F; --rule-2:#323B3E;
  --petrol:#6FB3B0; --petrol-soft:#132526; --on-petrol:#0F1314;
  --amber:#F09A3E; --amber-text:#F09A3E;
  --night:#0F1314; --night-2:#151A1C; --night-rule:#252D2F; --on-night:#EEF0EE; --on-night-dim:#9AA39F; --amber-night:#F09A3E;
  --sans:"Instrument Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:var(--sans);
  --r-card:28px; --r-tile:24px; --r-ctl:14px; --r-pill:999px;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(16px,4vw,40px);
  --section:clamp(96px,13vw,184px);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--rule) var(--paper)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
body::after{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;background:url(/img-grain.png);opacity:.035;mix-blend-mode:overlay}
::selection{background:var(--petrol);color:var(--on-petrol)}
a{color:var(--petrol);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--petrol);outline-offset:3px}
h1,h2,h3{font-weight:600;text-wrap:balance;margin:0}
p{text-wrap:pretty}
time,.price,.mono{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--paper);padding:8px 12px;z-index:10}
.ph-fill{color:var(--amber-text)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}

/* fondo a sangre sin salir del .wrap */
.bleed,body.home .top,body.home .hero,.closing{box-shadow:0 0 0 100vmax var(--bg-bleed);clip-path:inset(0 -100vmax);background:var(--bg-bleed)}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper);
  text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap;border:1.5px solid var(--ink);
  transition:transform .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.btn:hover{background:#fff;border-color:#fff}
.btn:active{transform:translateY(1px)}
.btn-sm{min-height:40px;padding:0 16px;font-size:15px}
.btn-lg{min-height:58px;padding:0 32px;font-size:17px}
.btn-light{background:var(--on-night);color:#101415;border-color:var(--on-night)}
.btn-light:hover{background:#fff;color:#101415}
.btn-meta{font-weight:500;font-size:14px;opacity:.6;padding-left:12px;border-left:1px solid currentColor;font-variant-numeric:tabular-nums}
.link-arrow{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:48px}
.link-arrow::after{content:"";width:28px;height:1.5px;background:currentColor;transform-origin:left;transform:scaleX(.64);transition:transform .25s var(--ease)}
.link-arrow:hover::after{transform:scaleX(1)}
.link-light{color:var(--on-night)}

/* ---------- franja ---------- */
.band{margin:0;padding:9px var(--gutter);background:var(--night);color:var(--on-night-dim);font-size:13.5px;line-height:1.4;text-align:center;border-bottom:1px solid var(--night-rule)}
.band strong{font-weight:600;color:var(--amber-night);font-variant-numeric:tabular-nums}

/* ---------- cabecera ---------- */
header.top{display:flex;align-items:center;gap:36px;height:76px;position:relative;z-index:2}
header.top .logo{color:var(--ink);display:block;margin-right:auto}
header.top .btn-sm{background:transparent;color:var(--ink);border-color:var(--rule-2)}
header.top .btn-sm:hover{border-color:var(--ink);background:transparent}
header.top .logo svg{height:46px;width:auto;display:block;margin-left:-8px}
.nav{display:flex;gap:30px}
.nav a{color:var(--grey);text-decoration:none;font-size:15px}
.nav a:hover{color:var(--ink)}
body.home .top{--bg-bleed:var(--night)}
body.home .top .logo{color:var(--on-night)}
body.home .top .nav a{color:var(--on-night-dim)}
body.home .top .nav a:hover{color:var(--on-night)}
body.home .top .btn{background:transparent;color:var(--on-night);border-color:var(--night-rule)}
body.home .top .btn:hover{border-color:var(--on-night)}
@media (max-width:760px){.nav{display:none} header.top{gap:12px;height:66px} header.top .logo svg{height:38px}}
@media (max-width:380px){.btn-sm{padding:0 12px;font-size:14px}}

/* ---------- hero (oscuro, con la ferrita en 3D) ---------- */
body.home .hero{--bg-bleed:var(--night);color:var(--on-night);position:relative;isolation:isolate;
  min-height:min(860px,calc(100dvh - 110px));display:flex;align-items:center;padding:clamp(40px,8vh,96px) 0 clamp(56px,10vh,120px)}
.hero-canvas{position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);display:block}
.hero-copy{position:relative;max-width:780px}
.hero h1{font-size:clamp(44px,5.2vw,80px);line-height:.96;letter-spacing:-.04em;font-weight:600;margin:0 0 28px}
.hero h1 span{display:block}
.hl{color:var(--amber-night)}
.hero .lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--on-night-dim);max-width:44ch;margin:0 0 40px}
.actions{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center}
.hero-fallback{position:absolute;z-index:-1;right:0;top:50%;width:52%;margin:0;transform:translateY(-50%);opacity:.9}
.webgl .hero-fallback{display:none}
.hero-fallback .fig1-svg{width:100%;height:auto;display:block}
.hero-fallback .d{fill:var(--on-night-dim);opacity:.45}
.hero-fallback .wire-in,.hero-fallback .wire-core{stroke:#0b0e0f;stroke-width:6;fill:none}
.hero-fallback .ring{fill:none;stroke:#3a4245;stroke-width:22}
.hero-fallback .wire-out{stroke:var(--amber-night);stroke-width:3;fill:none}
.hero-fallback .hit{fill:var(--amber-night)}
.hero-fallback .lbl{display:none}
@media (max-width:900px){
  body.home .hero{display:block;min-height:0;padding:36px 0 min(52vh,440px)}
  .hero-canvas{top:auto;bottom:0;height:min(52vh,440px)}
  .hero-fallback{top:auto;bottom:24px;width:100%;transform:none}
}

/* ===================================================================
   Debajo del hero. Una idea por sección, títulos centrados, mucho aire.
   Escala de espacio: 8 · 16 · 24 · 40 · 64 · 104 · 168
   =================================================================== */
.sec{padding:clamp(104px,14vw,168px) 0 0}
.sec-head{text-align:center;max-width:1120px;margin:0 auto clamp(56px,7vw,88px)}
.sec-head h2{font-size:clamp(40px,5.6vw,80px);line-height:1;letter-spacing:-.04em;font-weight:600;max-width:none;margin:0 auto}
.sec-head p{margin:24px auto 0;max-width:46ch;font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--grey)}
section h2 span{display:inline}

/* cifras */
.stats{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{display:flex;flex-direction:column;gap:16px;padding:36px 32px 40px;background:var(--card);border-radius:var(--r-tile);box-shadow:inset 0 0 0 1px var(--rule)}
.stat-num{margin:0;font-size:clamp(64px,6.6vw,104px);font-weight:600;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.stat-num .u{font-size:max(18px,.34em);letter-spacing:-.01em;margin-left:.1em;color:var(--grey)}
.stat-hot{color:var(--amber)}
.stat dt{font-size:16px;line-height:1.45;color:var(--grey)}
.stat dt strong{color:var(--ink);font-weight:600}
@media (max-width:980px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* servicios: tarjetas grandes, misma anatomía (texto arriba, arte abajo) */
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.tile{display:flex;flex-direction:column;justify-content:space-between;gap:48px;min-height:560px;padding:clamp(28px,3.4vw,48px);
  background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--rule);grid-column:span 2;overflow:hidden}
.tile-wide{grid-column:span 3}
.tile-teal{background:var(--petrol-soft);box-shadow:inset 0 0 0 1px #1d3638}
.tile-kicker{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--amber)}
.tile-teal .tile-kicker{color:var(--petrol)}
.tile h3{font-size:clamp(28px,2.6vw,38px);line-height:1.08;letter-spacing:-.03em;font-weight:600;margin:0 0 16px;max-width:18ch}
.tile-copy > p:last-child{margin:0;color:var(--grey);font-size:17px;max-width:44ch}
.art-fix{display:grid;gap:12px}
.art-fix{gap:0;border-top:1px solid var(--rule)}
.art-fix .row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:16px;height:64px;padding:0 2px;border-bottom:1px solid var(--rule);font-size:17px}
.art-fix .row b{font-weight:600;color:var(--grey);font-size:14px}
.art-fix .row span{font-weight:500}
.art-fix .row em{font-style:normal;font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px;background:#232b2e;color:var(--grey)}

.art-fix .row.after em{background:var(--petrol);color:#0f1314}
.art-fix .row.before em{background:var(--amber);color:#1a1206}
.art-fix .art-stack{margin-top:12px}
.art-fix .note{margin:12px 2px 0;font-size:13px;color:var(--grey)}
@media (max-width:980px){.tile,.tile-wide{grid-column:span 5;min-height:0}}

.art-plan ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.art-plan li{display:grid;grid-template-columns:168px 1fr;align-items:center;gap:16px}
.art-plan li span{font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap}
.art-plan li::after{content:"";grid-column:2;grid-row:1;height:28px;border-radius:9px;background:rgb(255 255 255 / .04)}
.art-plan li i{grid-column:2;grid-row:1;position:relative;z-index:1;height:28px;margin-left:var(--from);width:var(--len);border-radius:9px;background:#3a4447;transform-origin:left}
.art-plan .p1{--from:0%;--len:12%}.art-plan .p2{--from:6%;--len:30%}.art-plan .p3{--from:22%;--len:42%}.art-plan .p4{--from:42%;--len:44%}.art-plan .p5{--from:80%;--len:20%}
.art-plan .hot i{background:var(--amber)}
.art-plan .done i{background:var(--petrol)}
.art-plan .axis{display:flex;justify-content:space-between;margin:14px 0 0 184px;font-size:13px;color:var(--grey)}
@media (max-width:560px){.art-plan li{grid-template-columns:118px 1fr}.art-plan li span{font-size:13.5px}.art-plan .axis{margin-left:134px}}
.art-triage ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-triage ul{gap:0;border-top:1px solid var(--rule)}
.art-triage li{display:flex;align-items:center;justify-content:space-between;gap:12px;height:58px;padding:0 2px;border-bottom:1px solid var(--rule);font-size:17px;font-weight:500}
.art-triage em{font-style:normal;font-size:13px;font-weight:600;color:var(--grey);padding:5px 10px;border-radius:var(--r-pill);background:#232b2e}
.art-triage em.hot{color:#1a1206;background:var(--amber)}
.art-triage .note{margin:12px 2px 0;font-size:13px;color:var(--grey)}

.art-clock{display:grid;gap:8px}
.art-clock{gap:0;border-top:1px solid rgb(111 179 176 / .22)}
.art-clock div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 2px;border-bottom:1px solid rgb(111 179 176 / .22)}
.art-clock b{font-size:clamp(28px,2.6vw,36px);font-weight:600;letter-spacing:-.03em;color:var(--petrol);font-variant-numeric:tabular-nums}
.art-clock span{font-size:15px;color:var(--grey)}

.art-stack{display:flex;flex-wrap:wrap;gap:10px}
.art-stack span{display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:var(--r-pill);background:var(--card-2);box-shadow:inset 0 0 0 1px var(--rule);font-size:16px;font-weight:500}
.art-stack span:first-child{background:var(--ink);color:var(--paper);box-shadow:none}

/* comparativa en tres columnas */
.compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.col{padding:40px 36px 44px;border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--rule)}
.col h3{font-size:24px;letter-spacing:-.02em;margin:0 0 28px;color:var(--grey)}
.col ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.col li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:17px;line-height:1.4;color:var(--grey)}
.col li::before{content:"";width:22px;height:22px;margin-top:1px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--rule-2)}
.col li.yes{color:var(--ink)}
.col li.yes::before{background:var(--ink);box-shadow:none;mask:none}
.col li.part::before{background:linear-gradient(90deg,var(--grey) 50%,transparent 50%);box-shadow:inset 0 0 0 1.5px var(--grey)}
.col li.no{text-decoration:line-through;text-decoration-color:var(--rule-2)}
.col-us{background:var(--ink);box-shadow:none}
.col-us h3{color:var(--paper)}
.col-us li,.col-us li.yes{color:var(--paper)}
.col-us li.yes::before{background:var(--amber)}
@media (max-width:900px){.compare{grid-template-columns:1fr}.col-us{order:-1}}

/* preguntas */
.sec-faq .faq-list{max-width:860px;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--rule)}
.faq-list details:first-child{border-top:1px solid var(--rule)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 4px;font-size:clamp(19px,1.7vw,22px);font-weight:600;letter-spacing:-.01em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;background:
  linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat,var(--card);
  box-shadow:inset 0 0 0 1px var(--rule-2);transition:transform .3s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary:hover{color:#fff}
.faq-list details p{margin:-8px 4px 28px;color:var(--grey);font-size:18px;line-height:1.55;max-width:64ch}

/* cierre */
.closing{--bg-bleed:var(--deep);margin-top:clamp(104px,14vw,168px);padding:clamp(120px,16vw,200px) 0;text-align:center}
.closing h2{font-size:clamp(44px,6.4vw,96px);line-height:.98;letter-spacing:-.045em;margin:0 auto 48px;max-width:none}
.closing h2 span{display:block}
.closing-data{margin:32px 0 0;color:var(--grey);font-size:16px}
.closing-data a{color:var(--ink);text-decoration-color:var(--rule-2)}
body.home footer{margin-top:0}

/* revelado al hacer scroll */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 20%}
    .art-plan li i{animation:grow linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
  }
}
@keyframes reveal{from{opacity:0;transform:translateY(48px) scale(.985)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ===================================================================
   /test. Una pregunta por pantalla, centrada.
   =================================================================== */
.top-test .link-quiet{color:var(--grey);text-decoration:none;font-size:15px}
.top-test .link-quiet:hover{color:var(--ink)}
.wizard{max-width:820px;margin:0 auto;padding:clamp(24px,5vh,56px) 0 0;min-height:calc(100dvh - 210px);display:flex;flex-direction:column}
.w-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:clamp(48px,9vh,96px)}
.w-steps{display:flex;gap:6px}
.w-steps i{width:36px;height:4px;border-radius:4px;background:var(--rule-2);transition:background-color .4s var(--ease)}
.w-steps i.on{background:var(--ink)}
.w-count{margin:0;font-size:14px;color:var(--grey);font-variant-numeric:tabular-nums;white-space:nowrap}
.wizard .step{border:0;margin:0 0 56px;padding:0;min-width:0}
.q{float:left;width:100%;padding:0;text-align:center;font-size:clamp(32px,4.4vw,54px);font-weight:600;line-height:1.06;letter-spacing:-.035em;margin:0 0 18px;text-wrap:balance}
.q:focus{outline:none}
.q-help{clear:both;text-align:center;color:var(--grey);font-size:clamp(17px,1.5vw,20px);margin:0 auto 48px;max-width:44ch}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.step[data-step="tipo"] .choices{grid-template-columns:1fr 1fr}
.choice{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:104px;padding:20px 28px;
  border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--rule);cursor:pointer;font-size:19px;font-weight:500;line-height:1.3;
  transition:box-shadow .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}
.choice:hover{background:var(--card-2);box-shadow:inset 0 0 0 1px var(--rule-2);transform:translateY(-2px)}
.choice:active{transform:translateY(0) scale(.99)}
.choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.choice kbd{position:absolute;top:12px;right:14px;font:inherit;font-size:12px;font-weight:600;color:var(--grey);opacity:.7}
.choice:has(input:checked){background:rgb(240 154 62 / .1);box-shadow:inset 0 0 0 1.5px var(--amber)}
.choice:has(input:checked) kbd{color:var(--amber);opacity:1}
.choice:has(input:focus-visible){outline:2px solid var(--petrol);outline-offset:3px}
.w-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:24px 0 8px}
.w-back{font:inherit;font-weight:600;font-size:15px;color:var(--ink);background:var(--card);border:0;border-radius:var(--r-pill);padding:12px 20px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--rule)}
.w-back:hover{background:var(--card-2)}
.w-hint{margin:0;font-size:14px;color:var(--grey)}
.w-hint kbd{font:inherit;font-weight:600;font-size:12px;padding:2px 7px;border-radius:6px;background:var(--card);box-shadow:inset 0 0 0 1px var(--rule)}
@media (hover:none){.w-hint{display:none}}
@media (max-width:620px){.step[data-step="tipo"] .choices{grid-template-columns:1fr}.choice{min-height:76px}}

.js .nojs-intro{display:none}
.nojs-intro{font-size:18px;color:var(--grey);margin:0 0 40px;text-align:center}
.w-bar,.w-nav,.verdict{display:none}
.js .w-bar,.js .w-nav{display:flex}
.js .verdict{display:block}
.js .wizard .step{display:none;margin:0}
.js .wizard .step.is-current{display:block}
.js .w-back[hidden]{visibility:hidden;display:inline-flex}
@media (prefers-reduced-motion: no-preference){
  .enter-fwd{animation:step-fwd .5s var(--ease) both}
  .enter-back{animation:step-back .5s var(--ease) both}
}
@keyframes step-fwd{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes step-back{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}

/* resultado */
.verdict{text-align:center}
.v-label{font-size:15px;font-weight:600;color:var(--grey);margin:0 0 12px}
.v-title{font-size:clamp(44px,6.4vw,84px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px}
.v-title:focus{outline:none}
.step-result[data-verdict="in"] .v-title{color:var(--amber)}
.v-lead{font-size:20px;color:var(--grey);max-width:46ch;margin:0 auto 8px}
.v-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:40px 0 12px;text-align:left}
.v-facts div{padding:24px 26px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--rule)}
.v-facts dt{font-size:14px;font-weight:600;color:var(--grey);margin-bottom:6px}
.v-facts dd{margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.v-gaps{list-style:none;margin:0;padding:0;display:grid;gap:12px;text-align:left}
.v-gaps li{position:relative;padding:20px 26px 20px 50px;border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--rule);font-size:17px;color:var(--grey)}
.v-gaps li::before{content:"";position:absolute;left:26px;top:28px;width:10px;height:10px;border-radius:50%;background:var(--petrol)}
.v-gaps li[data-g="aviso"]::before,.v-gaps li[data-g="sbom"]::before{background:var(--amber)}
.v-gaps li strong{color:var(--ink)}
@media (max-width:560px){.v-facts{grid-template-columns:1fr}}

.lead-box{margin-top:48px;padding:clamp(28px,4vw,44px);border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--rule)}
.lead-box h3{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em;margin:0 0 8px}
.lead-box > p{color:var(--grey);margin:0 0 28px;font-size:17px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field span{display:block;font-size:14px;font-weight:600;margin:0 0 8px 2px}
.field em{font-style:normal;font-weight:400;color:var(--grey)}
.field input{width:100%;height:56px;padding:0 18px;border:0;border-radius:var(--r-ctl);background:var(--deep);box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--ink);font:inherit;font-size:17px;transition:box-shadow .2s var(--ease)}
.field input::placeholder{color:#6f7875}
.field input:hover{box-shadow:inset 0 0 0 1px #46504f}
.field input:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--petrol)}
.field input:user-invalid{box-shadow:inset 0 0 0 2px var(--amber)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--grey);margin:24px 0 28px}
.consent input{margin-top:3px;accent-color:var(--amber);width:18px;height:18px;flex:none}
.lead-box .btn{width:100%}
@media (max-width:560px){.fields{grid-template-columns:1fr}}

/* pie */
footer{margin-top:var(--section);border-top:1px solid var(--rule);padding:32px 0 48px;color:var(--grey);font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:32px}
.foot-brand p{margin:0 0 6px;max-width:60ch}
.foot-brand strong{color:var(--ink)}
footer nav{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
footer nav a{color:var(--grey);text-decoration:none}
footer nav a:hover{color:var(--ink);text-decoration:underline}
.credit{margin:28px 0 0;font-size:13px;max-width:80ch}
.credit a{color:var(--grey)}
@media (max-width:640px){.foot-grid{grid-template-columns:1fr}}

/* páginas de texto (legales, seguridad, 404) */
.doc{padding:24px 0 0;max-width:72ch}
.doc h1{font-size:clamp(32px,5vw,46px);line-height:1.08;letter-spacing:-.025em;margin:24px 0 8px}
.doc .upd{color:var(--grey);font-size:14px;margin:0 0 32px}
.doc h2{font-size:22px;margin:40px 0 10px;letter-spacing:-.01em}
.doc p,.doc li{font-size:17px}
.doc table{border-collapse:collapse;width:100%;font-size:16px;border-top:2px solid var(--ink)}
.doc th,.doc td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.doc th{width:34%;color:var(--grey);font-weight:600}
.doc code{font-size:.95em;color:var(--ink)}
@media (max-width:560px){.doc th,.doc td{display:block;width:100%;padding:8px 0}.doc th{border-bottom:0;padding-top:14px}}


