/* Gencian · sitio estático v1 · fuentes locales (Archivo y Figtree, SIL OFL 1.1) */
@font-face{font-family:"Archivo";src:url("../fonts/Archivo-var-latin.woff2") format("woff2");font-weight:500 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/Figtree-var-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  color-scheme:light dark;
  --bg:#f5f3ec; --bg2:#ebe8de; --ink:#15152e; --ink2:#46465f;
  --link:#323298; --btn-bg:#323298; --btn-ink:#f5f3ec;
  --panel:#323298; --on-panel:#f5f3ec; --on-panel2:#dcdcf6;
  --cca:#f1ecdd; --pore:#ddd6c2;
  --display:"Archivo","Arial Narrow",Arial,sans-serif; --body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gutter:clamp(1rem,4vw,2rem); --max:1180px; --gap:clamp(4.5rem,9vw,9rem);
  --t-body:clamp(1.0625rem,1rem + .3vw,1.1875rem);
  --t-h2:clamp(2rem,1.2rem + 3vw,3.5rem);
  --t-h1:clamp(2.75rem,1.4rem + 5.5vw,5.75rem);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f0f24; --bg2:#171738; --ink:#ecebf7; --ink2:#b9b8d2;
    --link:#b3b3ff; --btn-bg:#b3b3ff; --btn-ink:#0f0f24;
    --panel:#2b2b86; --on-panel:#f5f3ec; --on-panel2:#d6d6f4;
    --cca:#efe9da; --pore:#d6cfba;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-body)/1.55 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.16em}
:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:2px}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.wrap--narrow{max-width:46rem}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--bg);padding:.7rem 1rem;border-radius:4px;text-decoration:none;font-weight:600}
.skip:focus{top:.75rem}

h1,h2,h3{font-family:var(--display);font-stretch:75%;font-weight:700;line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:.96;letter-spacing:-.02em}
h2{font-size:var(--t-h2)}
p{margin:0 0 1em;max-width:62ch}
.lead{font-size:clamp(1.25rem,1.05rem + .9vw,1.625rem);line-height:1.4;color:var(--ink);max-width:36em}

/* borrador (solo versión de revisión) */
.borrador{background:#8a1f1f;color:#fff;text-align:center;padding:.45rem 1rem;font-size:.875rem;line-height:1.3}
.borrador strong{letter-spacing:.14em;margin-right:.6rem}

/* encabezado */
.top{background:var(--bg);position:sticky;top:0;z-index:50}
.top__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem 2rem;padding-block:1rem}
.top__logo{display:block;color:var(--link);line-height:0;border-radius:2px}
.logo{height:1.6rem;width:auto;aspect-ratio:922/211.1}
.top__nav ul{display:flex;gap:clamp(1.25rem,3vw,2.5rem);list-style:none;margin:0;padding:0;justify-content:center}
.top__nav a{color:var(--ink);text-decoration:none;font-weight:500;padding:.5rem 0;display:inline-block}
.top__nav a:hover{text-decoration:underline;text-decoration-thickness:.12em}
.top__nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.4em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.5rem;background:var(--btn-bg);color:var(--btn-ink);font:600 1rem/1.2 var(--body);text-decoration:none;border:2px solid var(--btn-bg);border-radius:6px;cursor:pointer}
.btn:hover{text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.25em}
.btn--sm{min-height:2.75rem;padding:.5rem 1.1rem;font-size:.9375rem}
.btn--ghost{background:transparent;color:var(--link)}
.btn--on{background:var(--on-panel);color:#15152e;border-color:var(--on-panel)}
.hero__actions,.after{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:2rem 0 0}
@media (max-width:760px){
  .top__in{grid-template-columns:1fr auto;gap:.25rem 1rem;padding-block:.75rem}
  .top__nav{grid-column:1/-1;grid-row:2}
  .top__nav ul{justify-content:flex-start;gap:1.5rem}
}

/* hero */
.hero{padding-block:clamp(2rem,6vw,5rem) var(--gap)}
.hero__in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.hero__text .lead{margin:1.5rem 0 0}
.hero__fig{margin:0}
.hero__panel{background:var(--panel);border-radius:8px;padding:clamp(1.25rem,3vw,2rem);overflow:hidden}
.hero__fig figcaption{font-size:.875rem;color:var(--ink2);margin-top:.75rem;max-width:34ch}
.wall{width:100%;height:auto;overflow:hidden;border-radius:4px}
.blk{fill:var(--cca)} .pore{fill:var(--pore)}
@media (prefers-reduced-motion:no-preference){
  .course{animation:lay .9s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i)*.09s + .15s)}
}
@keyframes lay{from{opacity:0;transform:translateX(calc(var(--dir)*28px))}to{opacity:1;transform:none}}
@media (max-width:860px){
  .hero__in{grid-template-columns:1fr}
  .hero__fig{max-width:30rem}
  .hero__panel{padding:1rem}
}

/* secciones */
.sec{padding-block:var(--gap)}
.sec--tight{padding-block:calc(var(--gap)*.6)}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.about h2{max-width:11em}
.about__text{padding-top:.4rem}
.more{font-weight:600}
.intro{margin:1.25rem 0 0}
@media (max-width:860px){.about{grid-template-columns:1fr}}

.sec--ventajas{background:var(--bg2)}
.rows{margin:0;padding:0}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem clamp(1.5rem,5vw,5rem);padding-block:clamp(1.5rem,3.5vw,2.5rem)}
.row dt{font-family:var(--display);font-stretch:75%;font-weight:700;font-size:clamp(1.75rem,1.1rem + 2.2vw,2.75rem);line-height:1.02}
.row dd{margin:0;align-self:center;max-width:34em}
.rows--sm{margin-top:1.5rem}
.row--sm{padding-block:1.25rem}
.row--sm dt{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.125rem)}
@media (max-width:760px){.row{grid-template-columns:1fr}}

.sec--panel{background:var(--panel);color:var(--on-panel)}
.sec--panel a:not(.btn){color:var(--on-panel)}
.ases{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.ases__head p{margin-top:1.25rem;color:var(--on-panel2)}
.steps{margin:0;padding:0;list-style:none;display:grid;gap:1.5rem}
.steps li{max-width:36em}
.steps strong{display:block;font-family:var(--display);font-stretch:75%;font-weight:700;font-size:1.625rem;line-height:1.1;margin-bottom:.2rem}
.ases__text p{max-width:36em}
@media (max-width:860px){.ases{grid-template-columns:1fr}}

.contactband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.contactband__body .big{margin-bottom:.4rem}
.big{font-family:var(--display);font-stretch:75%;font-weight:700;font-size:clamp(1.75rem,1.1rem + 2.4vw,2.875rem);line-height:1.08;text-decoration:none;display:inline-block}
a.big{color:var(--link);text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.15em}
.small{font-size:1rem;color:var(--ink2);margin:.75rem 0 1.5rem}
@media (max-width:860px){.contactband{grid-template-columns:1fr}}

/* páginas interiores */
.phead{padding-block:clamp(2rem,6vw,5rem) calc(var(--gap)*.5)}
.phead__in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.phead .lead{margin-top:1.5rem}
.phead__art{background:var(--panel);border-radius:8px;overflow:hidden;aspect-ratio:16/10}
.pores{width:100%;height:100%}
.pores circle{fill:var(--cca)}
.phead--plain .lead{max-width:34em}
@media (max-width:860px){.phead__in{grid-template-columns:1fr}.phead__art{aspect-ratio:16/8}}
.plain{list-style:none;margin:0;padding:.4rem 0 0;display:grid;gap:1.25rem;max-width:40em}
.plain strong{font-weight:700}
.rows--contact .row{grid-template-columns:minmax(0,.45fr) minmax(0,1.55fr);align-items:baseline}
.rows--contact dt{font-size:clamp(1.25rem,1rem + 1vw,1.625rem);color:var(--ink2)}
.rows--contact dd{align-self:start;max-width:none}
.note{display:block;color:var(--ink2);font-size:1rem;margin-top:.25rem}
.copy{margin-left:1rem;font:600 .9375rem var(--body);color:var(--link);background:none;border:2px solid var(--link);border-radius:6px;min-height:2.75rem;padding:.4rem .9rem;cursor:pointer;vertical-align:middle}
.copy[hidden]{display:none}
@media (max-width:760px){.rows--contact .row{grid-template-columns:1fr}.copy{margin:.5rem 0 0;display:block}}
.draftmark{display:inline-block;background:#8a1f1f;color:#fff;padding:.5rem 1rem;border-radius:4px;margin:0 0 1.5rem;font-size:1rem}
.legal h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2rem);margin:2.5rem 0 .75rem}
.legal h2:first-child{margin-top:0}

/* pie */
.foot{background:var(--bg2);padding-block:clamp(3rem,6vw,5rem) 2rem}
.foot__in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem}
.foot__brand p{margin:1rem 0 0;max-width:22em;color:var(--ink2)}
.logo--foot{height:1.9rem;color:var(--link)}
.foot__brand a{display:inline-block;line-height:0}
.foot__links{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.foot__links a{display:inline-block;padding:.35rem 0;color:var(--ink)}
.foot__contact{font-style:normal;line-height:1.8}
.foot__contact a{color:var(--ink)}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 2rem;margin-top:clamp(2rem,5vw,3.5rem);font-size:.875rem;color:var(--ink2)}
.foot__legal p{margin:0;max-width:none}
@media (max-width:860px){.foot__in{grid-template-columns:1fr}}
@media print{.top,.foot__links,.borrador{display:none}}
.foot__fiscal{flex-basis:100%}
.tellink{color:inherit}
