/* WEEM como grupo: portada, Aplicaciones y Capital. Mobile-first.
   Colores de la identidad compartida (weem-identity.css), que define claro y
   oscuro; los valores de respaldo son los tokens de marca. */
body[data-fresh-family="kit-grupo"]{
  --grp-bg:var(--kit-paper,#F4F3EF);--grp-alt:var(--kit-paper2,#ECEAE3);--grp-card:var(--kit-card,#FFFFFF);
  --grp-ink:var(--kit-ink,#0E1A1F);--grp-ink2:var(--kit-ink2,#3B3F47);--grp-muted:var(--kit-muted,#56666C);--grp-line:var(--kit-line,#E2E0D9);
  --grp-accent:var(--weem-ember,#B84F0B);--grp-on-accent:var(--site-accent-ink,#FFFFFF);--grp-link:var(--link,#A8320A);
  --grp-soft:var(--accent-bg-2,#FFF1EA);--grp-soft-line:var(--accent-line,#FFC9AE);--grp-glow:var(--weem-glow,rgba(184,79,11,.3));
  --grp-r:14px;--grp-r-lg:16px;--grp-ease:cubic-bezier(.2,.7,.2,1);
  margin:0;background:var(--grp-bg);color:var(--grp-ink);
  font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.55;
  overflow-x:hidden;
}
.grp-skip{position:absolute;left:8px;top:-100px;z-index:200;background:var(--grp-card);color:var(--grp-ink);padding:12px 16px;border-radius:10px;border:1px solid var(--grp-line)}
.grp-skip:focus{top:8px}
.grp *,.grp *::before,.grp *::after{box-sizing:border-box}
.grp{display:block;outline:none}
.grp :is(h1,h2,h3){color:var(--grp-ink);margin:0;font-weight:650;text-wrap:balance}
.grp h1{font-size:clamp(34px,9vw,60px);line-height:1.04;letter-spacing:-.038em}
.grp h2{font-size:clamp(26px,6vw,40px);line-height:1.12;letter-spacing:-.03em}
.grp h3{font-size:19px;line-height:1.3;letter-spacing:-.015em}
.grp p{margin:0}
.grp a{color:var(--grp-link);text-underline-offset:3px}
.grp a:hover{text-decoration-thickness:2px}
.grp section:focus{outline:none}
.grp-wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}
.grp-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-accent);margin:0 0 10px!important}
.grp-lead{font-size:18px;line-height:1.55;color:var(--grp-ink2);max-width:600px;margin-top:18px!important;text-wrap:pretty}
.grp-note{font-size:14px;color:var(--grp-muted);margin-top:20px!important;max-width:720px}
.grp-icon{flex:none;width:20px;height:20px}

/* Botones */
.grp a:not(.w-btn):focus-visible{outline:2px solid var(--grp-accent);outline-offset:3px}
.w-btn .grp-icon{width:18px;height:18px}
.grp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.grp-actions .w-btn{flex:1 1 100%}
.grp-actions--center{justify-content:center}
.grp-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--grp-link);min-height:44px}
.grp-link .grp-icon{width:16px;height:16px}
.grp-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:var(--grp-soft);color:var(--grp-link);border:1px solid var(--grp-soft-line);font-size:12px;font-weight:600;white-space:nowrap}

/* Hero */
.grp-hero{padding:32px 0 48px}
.grp-hero--page{padding:12px 0 40px}
.grp-hero__grid{display:grid;gap:32px;align-items:center}
.grp-hero__photo{position:relative;margin:0;max-width:420px;border-radius:var(--grp-r-lg);overflow:hidden;border:1px solid var(--grp-line);background:var(--grp-alt)}
.grp-hero__photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.grp-hero__photo figcaption{position:absolute;left:12px;right:12px;bottom:12px;display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--grp-card) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--grp-line);font-size:14px}
.grp-hero__photo figcaption strong{color:var(--grp-ink)}
.grp-hero__photo figcaption span{color:var(--grp-muted);font-size:13px}
.grp-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:16px;font-size:14px;color:var(--grp-muted)}
.grp-crumbs a{color:var(--grp-muted);min-height:44px;display:inline-flex;align-items:center}

/* Secciones */
.grp-section{padding:56px 0;border-top:1px solid var(--grp-line)}
.grp-section--flush{padding-top:0;border-top:0}
.grp-section--alt{background:var(--grp-alt)}
.grp-head{max-width:640px;margin-bottom:28px}
.grp-head > p:not(.grp-eyebrow){margin-top:12px!important;color:var(--grp-ink2);font-size:17px}
.grp-grid{display:grid;gap:14px}
.grp-split{display:grid;gap:8px}

/* Cuatro puertas */
.grp-doors{display:grid;gap:14px}
.grp-door{display:flex;flex-direction:column;background:var(--grp-card);border:1px solid var(--grp-line);border-radius:var(--grp-r-lg);padding:22px;transition:border-color .2s var(--grp-ease),box-shadow .2s var(--grp-ease)}
.grp-door:hover{border-color:color-mix(in srgb,var(--grp-accent) 45%,var(--grp-line));box-shadow:0 24px 48px -36px var(--grp-glow)}
.grp-door__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.grp-door__icon,.grp-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--grp-soft);color:var(--grp-accent);border:1px solid var(--grp-soft-line)}
.grp-door h3{font-size:clamp(20px,5vw,23px)}
.grp-door > p:not(.grp-eyebrow){margin-top:10px!important;color:var(--grp-ink2)}
.grp-door__links{list-style:none;margin:16px 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.grp-door__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--grp-line);border-radius:999px;font-size:14px;font-weight:500;color:var(--grp-ink2);text-decoration:none}
.grp-door__links a:hover{border-color:var(--grp-ink2);color:var(--grp-ink)}
.grp-door .w-btn{margin-top:auto}

/* Autoridad */
.grp-proof{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.grp-proof li{display:flex;gap:14px;align-items:flex-start;background:var(--grp-card);border:1px solid var(--grp-line);border-radius:var(--grp-r);padding:18px}
.grp-proof__icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--grp-ink);color:var(--grp-bg)}
.grp-proof strong{display:block;font-size:16px;line-height:1.35;color:var(--grp-ink)}
.grp-proof li span:not(.grp-proof__icon){display:block;margin-top:4px;font-size:14px;color:var(--grp-muted)}

/* Aplicaciones */
.grp-needs{display:grid;gap:14px}
.grp-app{display:flex;flex-direction:column;background:var(--grp-card);border:1px solid var(--grp-line);border-radius:var(--grp-r-lg);padding:22px;scroll-margin-top:96px}
.grp-app:target{border-color:var(--grp-accent);box-shadow:0 0 0 3px var(--grp-glow)}
.grp-app__need{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--grp-accent);font-size:15px}
.grp-app__need .grp-icon{width:18px;height:18px}
.grp-app__id{display:flex;align-items:center;gap:14px;margin:18px 0 12px}
.grp-app__logo,.grp-app__mark{flex:none;width:48px;height:48px;border-radius:12px;border:1px solid var(--grp-line)}
.grp-app__logo{object-fit:cover;background:#fff}
.grp-app__mark{display:grid;place-items:center;background:var(--grp-alt);color:var(--grp-ink);font-weight:700;font-size:20px}
.grp-app h2{font-size:24px;letter-spacing:-.02em;line-height:1.15}
.grp-app > p:not(.grp-app__need){color:var(--grp-ink2)}
.grp-app .w-btn{margin-top:auto}
.grp-app > p + .w-btn{margin-top:20px}
.grp-app__soon{margin-top:16px!important;padding:12px 14px;border:1px dashed var(--grp-line);border-radius:12px;font-size:14px;color:var(--grp-muted)!important}
.grp-status{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;color:var(--grp-muted)}
.grp-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.grp-status--disponible{color:#15803D}
html[data-theme=dark] .grp-status--disponible{color:#4ADE80}
.grp-status--pruebas,.grp-status--desarrollo{color:var(--grp-link)}

/* Capital */
.grp-notice{display:flex;gap:12px;align-items:flex-start;margin-top:28px;padding:16px 18px;max-width:720px;border:1px solid var(--grp-soft-line);border-radius:var(--grp-r);background:var(--grp-soft)}
.grp-notice > .grp-icon{color:var(--grp-accent);margin-top:2px}
.grp-notice strong{color:var(--grp-ink)}
.grp-notice p{margin-top:4px!important;color:var(--grp-ink2);font-size:15px}
.grp-card{display:flex;flex-direction:column;background:var(--grp-card);border:1px solid var(--grp-line);border-radius:var(--grp-r);padding:22px}
.grp-card .grp-card__icon{margin-bottom:16px}
.grp-card p{margin-top:8px!important;color:var(--grp-ink2)}
.grp-card .grp-link{margin-top:auto;padding-top:12px}
.grp-rules{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.grp-rules li{display:flex;gap:14px;align-items:flex-start;background:var(--grp-card);border:1px solid var(--grp-line);border-radius:var(--grp-r);padding:16px 18px}
.grp-rules__n{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--grp-ink);color:var(--grp-bg);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px}
.grp-rules strong{display:block;color:var(--grp-ink)}
.grp-rules li span:not(.grp-rules__n){display:block;margin-top:2px;color:var(--grp-ink2);font-size:15px}

/* Llamado final */
.grp-cta{padding:64px 0;text-align:center;border-top:1px solid var(--grp-line)}
.grp-cta h2{max-width:720px;margin:0 auto}
.grp-cta p:not(.grp-eyebrow){margin:12px auto 0!important;color:var(--grp-ink2);font-size:17px;max-width:560px}
.grp-cta .grp-note{font-size:14px;color:var(--grp-muted)}

/* Movimiento: entrada suave. Sin JS o con movimiento reducido, todo queda visible. */
@media (prefers-reduced-motion:no-preference){
  .grp-rise{animation:grp-rise .7s var(--grp-ease) both}
  .grp-rise--2{animation-delay:.12s}
  /* Animación (no transición) para no pisar el levante de las tarjetas al pasar el mouse. */
  .grp-js .grp-reveal:not(.is-in){opacity:0}
  .grp-js .grp-reveal.is-in{animation:grp-in .8s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--grp-i,0) * 80ms)}
}
@keyframes grp-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes grp-in{from{opacity:0;transform:translate3d(0,20px,0);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

@media (min-width:640px){
  .grp-wrap{padding:0 24px}
  .grp-actions .w-btn{flex:0 0 auto}
  .grp-grid--2,.grp-doors,.grp-needs,.grp-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grp-door,.grp-app{padding:26px}
}
@media (min-width:900px){
  .grp-hero{padding:56px 0 80px}
  .grp-hero--page{padding:16px 0 56px}
  .grp-hero__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px}
  .grp-hero__photo{justify-self:end;width:100%}
  .grp-section{padding:88px 0}
  .grp-section--flush{padding-top:0}
  .grp-doors{gap:18px}
  .grp-door{padding:30px}
  .grp-needs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grp-proof{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grp-proof li{flex-direction:column;gap:16px;padding:22px}
  .grp-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
  .grp-cta{padding:96px 0}
}
@media (prefers-reduced-motion:reduce){
  .grp-door{transition:none}
}

/* ==========================================================================
   Rediseño pro (2026-10-30): acento en el título, carril de áreas, bento de
   las cuatro puertas, autoridad en dos columnas y llamado final en panel.
   El fondo animado, las tarjetas y el movimiento comunes viven en
   /shared/weem-pro.css y /shared/weem-motion.js.
   ========================================================================== */
.grp-accent{background:linear-gradient(100deg,#A8320A 0%,#C73A08 55%,#B23A0A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
html[data-theme=dark] .grp-accent{background-image:linear-gradient(100deg,#FF7A3D 0%,#FFA36B 55%,#FFC59A 100%)}
@media (forced-colors:active){.grp-accent{background:none;color:CanvasText}}
.grp-rail{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.grp-rail a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border-radius:999px;border:1px solid var(--grp-line);background:color-mix(in srgb,var(--grp-card) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--grp-ink2);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s var(--grp-ease),color .2s var(--grp-ease),transform .2s var(--grp-ease)}
.grp-rail a:hover{border-color:color-mix(in srgb,var(--grp-accent) 55%,var(--grp-line));color:var(--grp-ink);transform:translateY(-1px)}
.grp-rail .grp-icon{width:16px;height:16px;color:var(--grp-accent)}
.grp-hero__stat{position:absolute;z-index:1;top:14px;left:14px;display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--grp-card) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--grp-line);color:var(--grp-ink2);font-size:13px;font-weight:500;box-shadow:0 10px 30px -18px rgba(0,0,0,.45)}
.grp-hero__stat strong{font-size:18px;color:var(--grp-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.grp-hero__photo{box-shadow:0 40px 80px -48px var(--grp-glow),0 2px 6px rgba(0,0,0,.06)}

/* Bento de las cuatro puertas */
.grp-door--feature{position:relative;overflow:hidden}
.grp-door--feature::after{content:'';position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--grp-glow),transparent 70%);pointer-events:none}
.grp-door--feature > *{position:relative;z-index:1}
.grp-route{position:relative;margin:4px 0 24px;padding:18px 18px 12px;border-radius:14px;border:1px solid var(--grp-line);background:color-mix(in srgb,var(--grp-alt) 60%,transparent);display:grid;grid-template-columns:1fr 1fr;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grp-muted)}
.grp-route svg{grid-column:1/-1;width:100%;height:auto;overflow:visible}
.grp-route span:last-child{text-align:right}
.grp-route__base{stroke:var(--grp-line);stroke-width:2}
.grp-route__line{stroke:var(--grp-accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 10}
.grp-route__dot{fill:var(--grp-card);stroke:var(--grp-accent);stroke-width:2.5}
.grp-route__pulse{fill:var(--grp-accent);opacity:.35;transform-origin:296px 84px;transform-box:view-box}
@media (prefers-reduced-motion:no-preference){
  .grp-route__line{animation:grp-dash 1.6s linear infinite}
  .grp-route__pulse{animation:grp-pulse 2.2s cubic-bezier(.16,1,.3,1) infinite}
}
@keyframes grp-dash{to{stroke-dashoffset:-32}}
@keyframes grp-pulse{0%{transform:scale(1);opacity:.45}100%{transform:scale(3.2);opacity:0}}
.grp-door--feature .grp-door__links{flex-direction:column;flex-wrap:nowrap}
.grp-door--feature .grp-door__links a{width:100%;justify-content:space-between;border-radius:12px;padding:0 16px;font-size:15px;color:var(--grp-ink);background:color-mix(in srgb,var(--grp-card) 70%,transparent)}
.grp-door--feature .grp-door__links a::after{content:'→';color:var(--grp-accent);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.grp-door--feature .grp-door__links a:hover::after{transform:translateX(3px)}
@media (min-width:900px){
  .grp-bento{grid-template-columns:repeat(6,minmax(0,1fr))}
  .grp-bento .grp-door--importacion{grid-column:1/4;grid-row:1/3}
  .grp-bento .grp-door--aplicaciones,.grp-bento .grp-door--educacion{grid-column:4/7}
  .grp-bento .grp-door--capital{grid-column:1/7;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:32px;align-items:center}
  .grp-bento .grp-door--capital .grp-door__top{grid-column:1;grid-row:1/6;margin:0;flex-direction:column;align-self:start}
  .grp-bento .grp-door--capital > :not(.grp-door__top):not(.w-btn){grid-column:2}
  .grp-bento .grp-door--capital > .w-btn{grid-column:3;grid-row:1/6;width:auto;margin:0}
  .grp-bento .grp-door--capital .grp-door__links{margin-bottom:0}
  .grp-bento .grp-door--feature{padding:40px}
  .grp-bento .grp-door--feature h3{font-size:clamp(26px,2.6vw,34px);line-height:1.12;letter-spacing:-.03em;max-width:16ch}
  .grp-bento .grp-door--feature > p:not(.grp-eyebrow){font-size:17px;max-width:44ch}
  .grp-bento .grp-door--feature .grp-door__icon{width:52px;height:52px;border-radius:14px}
}

/* Autoridad: título a la izquierda, pruebas a la derecha */
@media (min-width:900px){
  .grp-authority{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:56px;align-items:start}
  .grp-authority > .grp-head{grid-row:1/3;position:sticky;top:110px;margin:0}
  .grp-authority > .grp-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grp-authority > .grp-note{grid-column:2}
}

/* Llamado final: panel con brillo */
.grp-cta{border-top:0;padding-bottom:8px!important}
.grp-cta > .grp-cta__panel{position:relative;overflow:hidden;isolation:isolate;width:calc(100% - 32px);max-width:1072px;padding:48px 20px;border-radius:24px;border:1px solid var(--grp-line);background:var(--grp-card)}
.grp-cta > .grp-cta__panel::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 50% 0%,var(--grp-glow),transparent 70%),radial-gradient(40% 60% at 100% 100%,color-mix(in srgb,var(--grp-glow) 60%,transparent),transparent 70%)}
.grp-cta > .grp-cta__panel::after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--grp-line) 1px,transparent 1px),linear-gradient(90deg,var(--grp-line) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(70% 70% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 50% 0%,#000,transparent 75%);opacity:.6}
@media (min-width:900px){.grp-cta > .grp-cta__panel{padding:72px 48px}}
