/* ============================================================
   SilvIA Earth — Home (rediseño nov 2026, versión A)
   Estilos propios de la portada. Todo va bajo .hm para no tocar
   el design system común: el nav y el footer siguen en silvia.css.
   ============================================================ */
.hm{
  --h-bg:#f6f8f7;--h-surface:#ffffff;--h-surface2:#eaf0ed;--h-line:#d6dfdb;
  --h-text:#1a202c;--h-body:#2d3748;--h-muted:#56616b;--h-accent:#276749;--h-fill:#38a169;
  --h-fx:39,103,73;--h-track:26,32,44;--h-band:#a9b6b9;--h-dot:rgba(26,32,44,.08);--h-glowA:.06;--h-veil:246,248,247;
  --h-head:'Alexandria','Poppins','Segoe UI',sans-serif;
  --h-sans:'Inter','Instrument Sans','Segoe UI',-apple-system,'Helvetica Neue',Arial,sans-serif;
  background:var(--h-bg);color:var(--h-text);font-family:var(--h-sans);overflow-x:clip
}
:root[data-theme="dark"] .hm{
  --h-bg:#0b1517;--h-surface:#0f1d20;--h-surface2:#16282c;--h-line:rgba(160,174,192,.17);
  --h-text:#eef3f2;--h-body:#b8c5c5;--h-muted:#8e9c9e;--h-accent:#48bb78;
  --h-fx:127,216,168;--h-track:226,232,240;--h-band:#5d6e72;--h-dot:rgba(226,232,240,.06);--h-glowA:.12;--h-veil:11,21,23
}
.hm section{padding:0}
.hm a{text-decoration:none}
.hm h1,.hm h2,.hm h3{font-family:var(--h-head);margin:0}
.hm p{margin:0}
.hm-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,80px);box-sizing:border-box;width:100%}
.hm-dots{background-image:radial-gradient(var(--h-dot) 1px,transparent 1.3px);background-size:28px 28px}
.hm-eyebrow{display:block;font-size:13px;letter-spacing:.18em;font-weight:600;text-transform:uppercase;color:var(--h-accent)}
.hm-h2{font-weight:300;font-size:48px;line-height:1.06;letter-spacing:-.02em;color:var(--h-text);text-wrap:balance}
.hm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Aparición al entrar en pantalla */
.hm-js .hm-rise{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.hm-js .hm-rise.hm-in{opacity:1;transform:none}
.hm-rise.d1{transition-delay:.12s}.hm-rise.d2{transition-delay:.24s}.hm-rise.d3{transition-delay:.36s}

/* Botones */
.hm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:999px;font-size:16px;font-weight:600;box-sizing:border-box;transition:background-color .2s,border-color .2s,transform .15s}
.hm-btn:active{transform:scale(.97)}
.hm-btn-p{background:#38a169;color:#ffffff}
.hm-btn-p:hover{background:#2f855a}
.hm-btn-g{border:1px solid rgba(226,232,240,.3);color:#ffffff;font-weight:500}
.hm-btn-g:hover{border-color:#48bb78;background:rgba(72,187,120,.1)}
.hm-btn:focus-visible,.hm-lnk:focus-visible,.hm-trust a:focus-visible{outline:2px solid #48bb78;outline-offset:4px}
.hm-lnk{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;color:var(--h-accent);transition:opacity .2s}
.hm-lnk:hover{opacity:.72}

/* ---------- HERO ---------- */
.hm .hm-hero{position:relative;height:860px;min-height:640px;overflow:hidden;background:#07161a;color:#eef3f2}
.hm-hero-media{position:absolute;inset:0;overflow:hidden;background:#07161a}
.hm-hero-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:60% 45%;animation:hmDrift 140s ease-in-out infinite alternate}
@keyframes hmDrift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.03) translate(-.6%,-.4%)}}
.hm-hero-shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,22,26,.78) 0%,rgba(7,22,26,.35) 55%,rgba(7,22,26,.15) 100%),
             linear-gradient(0deg,rgba(7,22,26,.92) 0%,rgba(7,22,26,0) 42%),
             linear-gradient(180deg,rgba(7,22,26,.75) 0%,rgba(7,22,26,0) 22%)}
.hm-hero-fx,.hm-hero-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hm-hero-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 62% at 22% 74%,rgba(7,22,26,.82) 0%,rgba(7,22,26,.55) 45%,rgba(7,22,26,0) 80%)}
.hm-hero-copy{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:28px;padding-bottom:72px}
.hm-slogan{margin:0 0 18px!important;font-family:var(--h-head);font-size:22px;line-height:1.3;font-weight:400;color:#48bb78;text-shadow:0 1px 18px rgba(7,22,26,.9)}
.hm .hm-h1{max-width:980px;font-weight:300;font-size:64px;line-height:1.06;letter-spacing:-.025em;color:#ffffff;text-wrap:balance;text-shadow:0 2px 30px rgba(7,22,26,.85)}
.hm-h1 span{color:#48bb78}
.hm-hero-text{display:flex;flex-direction:column;gap:12px;max-width:600px}
.hm-hero-text p{font-size:19px;line-height:1.55;color:#c3d1d1;text-shadow:0 1px 18px rgba(7,22,26,.95)}
.hm-hero-text p.hm-strong{font-weight:500;color:#ffffff}
.hm-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hm-credit{position:absolute;right:clamp(20px,5vw,80px);bottom:20px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;pointer-events:none;text-shadow:0 1px 8px rgba(7,22,26,.8)}
.hm-credit b{font-size:13px;font-weight:600;color:#ffffff}
.hm-credit span{font-size:11px;color:rgba(226,232,240,.75)}

/* ---------- FRANJA DE RESPALDO ---------- */
.hm .hm-trust{background:#ffffff;color:#2d3748;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:56px 0}
.hm-trust-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-trust-item{display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 24px;text-align:center}
.hm-trust-item + .hm-trust-item{border-left:1px solid #e2e8f0}
.hm-trust-logo{height:96px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:opacity .2s}
.hm-trust-logo:hover{opacity:.75}
.hm-trust-logo img{display:block;width:auto}
.hm-trust .l-esa{height:84px}.hm-trust .l-uc3m{width:290px;max-width:100%;height:auto}.hm-trust .l-nv{height:56px}
.hm-trust p{max-width:300px;font-size:13px;line-height:20px;color:#4a5568}
.hm-trust p.hm-tm{margin-top:-10px;font-size:11px;line-height:16px;color:#5a6578}

/* ---------- CÓMO FUNCIONA ---------- */
.hm .hm-how{position:relative;padding:112px 0;background-color:var(--h-surface)}
.hm-how-grid{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}
.hm-how-copy{display:flex;flex-direction:column;gap:22px}
.hm-how-copy p{max-width:560px;font-size:18px;line-height:1.65;color:var(--h-body)}
.hm-how .hm-btn-p{align-self:flex-start;margin-top:12px;min-height:60px;padding:0 36px;font-size:17px;box-shadow:0 18px 40px -18px rgba(56,161,105,.7);transition:transform .2s ease,background-color .2s ease}
.hm-how .hm-btn-p:hover{transform:translateY(-2px)}
.hm-how-vis{position:relative;width:100%;aspect-ratio:6 / 5;color:var(--h-text)}
.hm-how-vis canvas{position:absolute;inset:0;width:100%;height:100%;display:block;color:var(--h-text)}

/* ---------- EVALUACIÓN · E1 (escritorio) ---------- */
.hm .hm-e1{--mx:62%;--my:46%;position:relative;overflow:hidden;min-height:900px;display:flex;align-items:center;padding:140px 0 96px;box-sizing:border-box;background:#07161a;color:#eef3f2}
.hm-e1-bg{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);max-width:none;object-fit:cover}
.hm-e1-bg.b1{filter:blur(3px) brightness(.4) saturate(.85)}
.hm-e1-bg.b2{filter:brightness(.66) saturate(.95);-webkit-mask-image:radial-gradient(circle 300px at var(--mx) var(--my),#000 25%,transparent 72%);mask-image:radial-gradient(circle 300px at var(--mx) var(--my),#000 25%,transparent 72%)}
.hm-e1-veil{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 52%,rgba(7,22,26,.55),rgba(7,22,26,.15) 70%),linear-gradient(180deg,rgba(7,22,26,.6),rgba(7,22,26,0) 25%,rgba(7,22,26,0) 70%,rgba(7,22,26,.85))}
.hm-e1-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.hm-e1 .hm-eyebrow{color:#7fd8a8}
.hm-e1-sent{max-width:660px;font-size:22px;line-height:1.5;color:#dfe8e5}
.hm-e1-num{font-family:var(--h-head);font-weight:300;font-size:220px;line-height:.82;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#ffffff;text-shadow:0 0 60px rgba(72,187,120,.35)}
.hm-e1-num small{font-size:80px;letter-spacing:-.02em;color:#48bb78}
.hm-e1-div{width:100%;max-width:880px;margin-top:30px;display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.16em;font-weight:600;color:rgba(226,232,240,.65);text-transform:uppercase}
.hm-e1-div::before,.hm-e1-div::after{content:"";flex:1;height:1px;background:rgba(226,232,240,.18)}
.hm-e1-chips{width:100%;max-width:880px;margin:2px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:left}
.hm-e1-chip{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:rgba(7,22,26,.55);border:1px solid rgba(226,232,240,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:0}
.hm-e1-chip.is-main{border-color:rgba(72,187,120,.55);background:rgba(20,60,40,.55)}
.hm-e1-chip .n{font-size:12px;line-height:1.3;color:rgba(226,232,240,.7)}
.hm-e1-chip.is-main .n{color:#7fd8a8}
.hm-e1-chip .v{font-family:var(--h-head);font-size:24px;font-weight:400;color:#ffffff}
.hm-e1-chip .s{font-size:11px;line-height:1.3;color:rgba(226,232,240,.6)}
.hm-bar{position:relative;height:4px;border-radius:999px;background:rgba(226,232,240,.14);overflow:hidden}
.hm-bar i{position:absolute;top:0;bottom:0;left:var(--from);width:calc(var(--to) - var(--from));border-radius:999px;background:rgba(226,232,240,.45);transition:width 1.2s cubic-bezier(.2,.8,.2,1) .4s}
.hm-e1-chip.is-main .hm-bar i{background:#48bb78}
.hm-js .hm-bar i{width:0}
.hm-js .hm-in .hm-bar i{width:calc(var(--to) - var(--from))}
.hm-e1-note{margin-top:6px!important;max-width:680px;font-size:13px;line-height:1.6;color:rgba(226,232,240,.6)}
.hm-e1 .hm-btn-g{min-height:48px;padding:0 26px;font-size:15px}

/* ---------- EVALUACIÓN · E3 (móvil) ---------- */
.hm .hm-e3{display:none;--gx:-999px;--gy:-999px;position:relative;overflow:hidden;padding:96px 0;background:var(--h-bg);color:var(--h-text)}
.hm-e3-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
.hm-e3-copy{display:flex;flex-direction:column;gap:22px}
.hm-e3 .hm-h2{font-size:38px;line-height:1.05;letter-spacing:-.025em}
.hm-e3 .hm-h2 span{color:var(--h-accent)}
.hm-e3-copy > p{font-size:17px;line-height:1.65;color:var(--h-body)}
.hm-e3-rows{display:flex;flex-direction:column;gap:14px;padding-top:22px;margin-top:4px;border-top:1px solid var(--h-line)}
.hm-e3-rows > span{font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--h-muted);text-transform:uppercase}
.hm-e3-rows ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.hm-e3-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;font-size:15px}
.hm-e3-row .n{color:var(--h-body)}
.hm-e3-row .v{font-weight:600;color:var(--h-text)}
.hm-e3-row.is-main .n{color:var(--h-text);font-weight:600}
.hm-e3-row .hm-bar{grid-column:1 / -1;height:6px;background:var(--h-surface2)}
.hm-e3-row .hm-bar i{background:var(--h-band)}
.hm-e3-row.is-main .hm-bar i{background:var(--h-fill)}
.hm-e3-note{font-size:13px!important;line-height:1.6!important;color:var(--h-muted)!important}
.hm-e3-ring{position:relative;width:100%;max-width:340px;aspect-ratio:1 / 1;margin:0 auto}
.hm-e3-ring canvas{position:absolute;inset:0;width:100%;height:100%}
.hm-e3-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}
.hm-e3-num{font-family:var(--h-head);font-weight:300;font-size:84px;line-height:.85;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--h-text)}
.hm-e3-num small{font-size:32px;color:var(--h-accent)}
.hm-e3-center > span:not(.hm-e3-num){margin-top:12px;max-width:200px;font-size:13px;line-height:1.4;color:var(--h-body)}

/* ---------- PREDICCIÓN, NO DETECCIÓN ---------- */
.hm .hm-a2{position:relative;overflow:hidden;min-height:620px;display:flex;align-items:center;padding:80px 0;box-sizing:border-box;background:var(--h-bg);color:var(--h-text)}
.hm-a2 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hm-a2-grid{max-width:1160px;position:relative;z-index:2;display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}
.hm .hm-a2-h{font-weight:300;font-size:clamp(40px,4.6vw,68px);line-height:.98;letter-spacing:-.035em;color:var(--h-text);text-shadow:0 0 40px rgba(var(--h-veil),.9)}
.hm-a2-h em{font-style:normal;color:var(--h-accent)}
.hm-a2-h small{display:block;margin-top:16px;font-size:clamp(20px,1.9vw,28px);line-height:1.2;letter-spacing:-.01em;color:var(--h-text)}
.hm-a2-copy{display:flex;flex-direction:column;gap:22px}
.hm-a2-copy p{font-size:17px;line-height:1.7;color:var(--h-body)}
.hm-a2-copy p.hm-strong{font-weight:600;color:var(--h-text)}
.hm-a2-copy .hm-btn{align-self:flex-start;margin-top:6px}

/* ---------- PARA QUIÉN ---------- */
.hm .hm-q1{position:relative;overflow:hidden;padding:128px 0 140px;background:var(--h-bg);color:var(--h-text)}
.hm-glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s ease;background:radial-gradient(560px circle at var(--gx,-999px) var(--gy,-999px),rgba(var(--h-fx),var(--h-glowA)),transparent 65%)}
.hm-q1:hover .hm-glow{opacity:1}
.hm-q1-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hm-q1-orbit .o1{stroke:rgba(var(--h-fx),.22)}.hm-q1-orbit .o2{stroke:rgba(var(--h-track),.14)}.hm-q1-orbit .o3{stroke:rgba(var(--h-track),.12)}
.hm-q1-orbit .p1{fill:rgba(var(--h-fx),.9)}.hm-q1-orbit .p2{fill:rgba(var(--h-track),.7)}.hm-q1-orbit .p3{fill:rgba(var(--h-fx),.7)}
.hm-q1-in{position:relative;display:flex;flex-direction:column;gap:56px}
.hm-q1-head{display:flex;flex-direction:column;gap:18px;max-width:760px}
.hm-q1 .hm-h2{font-size:56px;line-height:1.05;letter-spacing:-.025em}
.hm-q1-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px}
.hm-q1-card{position:relative;display:flex;flex-direction:column;gap:18px}
.hm-q1-art{position:relative;width:100%;max-width:440px;aspect-ratio:11 / 8}
.hm-q1-art canvas{position:absolute;inset:0;width:100%;height:100%}
.hm-q1-title{display:flex;flex-direction:column;gap:6px}
.hm-q1-title > span{font-size:12px;letter-spacing:.16em;font-weight:600;color:var(--h-muted);text-transform:uppercase}
.hm .hm-q1-title h3{font-weight:400;font-size:36px;line-height:1.1;letter-spacing:-.015em;color:var(--h-accent)}
.hm-q1-title strong{font-size:17px;font-weight:600;color:var(--h-text)}
.hm-q1-card > p{max-width:520px;font-size:16px;line-height:1.65;color:var(--h-body)}
.hm-chips{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;max-width:540px}
.hm-chips li{padding:7px 13px;border-radius:999px;background:var(--h-surface2);font-size:13px;color:var(--h-body)}
.hm-q1-card .hm-lnk{align-self:flex-start}

/* ---------- CTA FINAL CON PLANETA ---------- */
.hm .hm-end{position:relative;min-height:880px;overflow:hidden;background:var(--h-bg)}
.hm-end-in{position:relative;z-index:2;padding-top:120px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.hm-end .hm-h2{max-width:820px;font-size:64px;line-height:1.04}
.hm-end-in > p{max-width:520px;font-size:18px;line-height:1.6;color:var(--h-body)}
.hm-end .hm-btn{margin-top:8px;padding:0 32px}
.hm-planet{position:absolute;left:0;right:0;top:360px;bottom:0;will-change:transform}
.hm-planet canvas{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 160px);mask-image:linear-gradient(180deg,transparent 0,#000 160px)}

/* ---------- MÓVIL ---------- */
@media (max-width:760px){
  .hm .hm-hero{height:auto;min-height:820px}
  .hm-hero-copy{padding-top:132px;padding-bottom:56px}
  .hm .hm-h1{font-size:36px}
  .hm-slogan{font-size:18px}
  .hm-hero-text p{font-size:17px}
  .hm-hero-scrim{background:linear-gradient(180deg,rgba(7,22,26,.35) 0%,rgba(7,22,26,.72) 22%,rgba(7,22,26,.8) 100%)}
  .hm-ctas{flex-direction:column}
  .hm-ctas .hm-btn{width:100%}
  .hm-credit{right:20px;bottom:14px}
  .hm .hm-trust{padding:32px 0 28px}
  .hm-trust-grid{grid-template-columns:minmax(0,1fr)}
  .hm-trust-item{padding:22px 0;gap:12px}
  .hm-trust-item + .hm-trust-item{border-left:none;border-top:1px solid rgba(26,32,44,.1)}
  .hm-trust-logo{height:72px}
  .hm-trust .l-esa{height:64px}.hm-trust .l-uc3m{width:220px}.hm-trust .l-nv{height:44px}
  .hm .hm-how{padding:80px 0}
  .hm-how-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .hm-h2{font-size:34px}
  .hm-how .hm-btn-p{align-self:stretch}
  .hm .hm-e1{display:none}
  .hm .hm-e3{display:block}
  .hm .hm-a2{min-height:0;padding:300px 0 80px}
  .hm-a2-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .hm-a2-copy .hm-btn{align-self:stretch}
  .hm .hm-a2-h{font-size:42px}
  .hm .hm-q1{padding:96px 0}
  .hm-q1 .hm-h2{font-size:38px}
  .hm-q1-grid{grid-template-columns:minmax(0,1fr);gap:56px}
  .hm-q1-orbit{display:none}
  .hm .hm-end{min-height:900px}
  .hm-end .hm-h2{font-size:40px}
  .hm-end .hm-btn{width:100%}
  .hm-planet{top:540px}
}
@media (prefers-reduced-motion:reduce){
  .hm-hero-img{animation:none}
  .hm-js .hm-rise{transition:none;opacity:1;transform:none}
  .hm-bar i{transition:none}
}
