/* Geometría v2 — sistema visual (ui-v2.md). Sin frameworks, sin CDNs. */
@font-face{font-family:"Figtree";src:url("../fonts/figtree-var.woff2") format("woff2-variations"),url("../fonts/figtree-var.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-var-italic.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}

:root{
  --g-ff:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --g-fs-display:clamp(2.625rem,1.89rem + 3.26vw,4.5rem);
  --g-fs-h1:clamp(2.5rem,1.91rem + 2.61vw,4rem);
  --g-fs-h2:clamp(1.875rem,1.63rem + 1.09vw,2.5rem);
  --g-fs-h3:clamp(1.3125rem,1.24rem + .33vw,1.5rem);
  --g-fs-lead:clamp(1.1875rem,1.11rem + .33vw,1.375rem);
  --g-fs-body:clamp(1.0625rem,1.04rem + .11vw,1.125rem);
  --g-fs-sm:.9375rem;--g-fs-xs:.8125rem;--g-fs-eyebrow:.75rem;
  --g-fs-figure:clamp(3rem,2.41rem + 2.61vw,4.5rem);
  --g-fs-step:clamp(2.75rem,2.46rem + 1.3vw,3.5rem);

  --g-carbon:#22252B;--g-hueso:#F5F3EF;--g-blanco:#FFFFFF;--g-tinta:#2B3A8F;
  --g-niebla:#C5D3E2;--g-lavanda:#D4CDEC;--g-maiz:#F0D27A;
  --g-rosa:#EEC1D1;--g-salvia:#C8D9B5;--g-menta:#B8DECF;--g-cielo:#BDDCEE;
  --g-cafe:#CC7472;--g-cacao:#B48AAE;--g-palma:#D9B23A;--g-soya:#E6DCA6;--g-caucho:#C8C6C1;--g-madera:#E2CFAE;--g-ganado:#E6BFB3;
  --g-texto-2:#5C6068;--g-texto-2-osc:#B4B8BF;--g-linea:#D9D5CD;--g-linea-osc:rgba(255,255,255,.16);

  --g-page:var(--g-tinta);--g-on-page:#fff;--g-ink:#fff;
  --g-cols:4;--g-gutter:16px;--g-margin:20px;
  --g-bar:60px;--g-sibh:56px;
  --g-s3:12px;--g-s4:16px;--g-s5:24px;--g-s6:32px;--g-s7:48px;--g-s8:64px;--g-s9:96px;
}
@media (min-width:640px){:root{--g-cols:8;--g-gutter:24px;--g-margin:32px}}
@media (min-width:960px){:root{--g-cols:12;--g-gutter:32px;--g-margin:48px;--g-bar:72px}}

[data-color="niebla"]{--g-page:var(--g-niebla);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="lavanda"]{--g-page:var(--g-lavanda);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="maiz"]{--g-page:var(--g-maiz);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="rosa"]{--g-page:var(--g-rosa);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="salvia"]{--g-page:var(--g-salvia);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="menta"]{--g-page:var(--g-menta);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="cielo"]{--g-page:var(--g-cielo);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="cafe"]{--g-page:var(--g-cafe);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="cacao"]{--g-page:var(--g-cacao);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="palma"]{--g-page:var(--g-palma);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="soya"]{--g-page:var(--g-soya);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="caucho"]{--g-page:var(--g-caucho);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="madera"]{--g-page:var(--g-madera);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="ganado"]{--g-page:var(--g-ganado);--g-on-page:var(--g-carbon);--g-ink:var(--g-carbon)}
[data-color="carbon"]{--g-page:var(--g-carbon);--g-on-page:#fff;--g-ink:#fff}

/* ---------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--g-hueso);color:var(--g-carbon);font:400 var(--g-fs-body)/1.6 var(--g-ff);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.g-lock{overflow:hidden}
h1,h2,h3{font-weight:700;margin:0;text-wrap:balance}
h1{font-size:var(--g-fs-h1);line-height:1.08;letter-spacing:-.022em}
h2{font-size:var(--g-fs-h2);line-height:1.15;letter-spacing:-.015em}
h3,.g-h3{font-size:var(--g-fs-h3);line-height:1.25;letter-spacing:-.01em}
p{margin:0 0 1em;text-wrap:pretty}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
strong{font-weight:700}
img,svg,canvas{display:block}
[hidden]{display:none!important} /* el sprite <svg hidden> de glifos ocupaba 150 px sobre el menú */
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--g-carbon);outline-offset:3px}
.g-header :focus-visible,.g-footer :focus-visible,.g-bc :focus-visible,.g-hero :focus-visible,[data-color="carbon"] .g-pagehead :focus-visible,.g-panel :focus-visible,.g-mob :focus-visible{outline-color:#fff}
.g-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.g-wrap{max-width:1312px;margin-inline:auto;padding-inline:var(--g-margin)}
.g-ico{display:inline-block;vertical-align:-2px;flex:none}
.g-ico--ext{width:12px;height:12px;margin-left:4px;vertical-align:0}
.g-eyebrow{font-size:var(--g-fs-eyebrow);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;margin:0 0 16px}
.g-eyebrow--c{text-align:center}
.g-lead{font-size:var(--g-fs-lead);font-weight:700;line-height:1.45;max-width:40ch}
.g-lead--n{font-weight:400;max-width:60ch}
.g-skip{position:absolute;left:8px;top:8px;z-index:50;background:#fff;color:var(--g-carbon);padding:10px 16px;font-weight:700;transform:translateY(-200%)}
.g-skip:focus{transform:none}
main{display:block}
main:focus{outline:none}

/* ---------- botones */
.g-btns{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 16px}
.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 22px;border-radius:999px;font:700 var(--g-fs-sm)/1.25 var(--g-ff);text-decoration:none;border:0;cursor:pointer;text-align:center}
.g-btn:active{transform:translateY(1px)}
.g-btn--sm{min-height:40px;padding:6px 18px}
.g-btn--block{width:100%}
.g-btn--primary{background:var(--g-tinta);color:#fff}
.g-btn--primary:hover{background:#22307A}
.g-btn--secondary{background:var(--g-carbon);color:#fff}
.g-btn--secondary:hover{background:#31353D}
.g-btn--outline{background:transparent;color:var(--g-carbon);box-shadow:inset 0 0 0 1.5px var(--g-carbon)}
.g-btn--outline:hover{background:var(--g-carbon);color:#fff}
.g-btn--inv{background:#fff;color:var(--g-carbon)}
.g-btn--inv:hover{background:var(--g-hueso)}
.g-btn--outline-inv{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.g-btn--outline-inv:hover{background:#fff;color:var(--g-carbon)}
.g-more{display:inline-flex;align-items:center;gap:8px;font-size:var(--g-fs-sm);text-decoration:underline;text-underline-offset:5px;min-height:44px}
.g-more .g-ico{transition:transform .15s}
.g-more:hover .g-ico:not(.g-ico--ext){transform:translateX(4px)}
.g-more--inv{color:#fff}
.g-row{display:flex;flex-wrap:wrap;gap:8px 32px}

/* ---------- logo */
.g-logo{display:inline-flex;align-items:center;gap:10px;color:var(--g-carbon);text-decoration:none}
.g-logo__word{font:700 22px/1 var(--g-ff);letter-spacing:-.02em}
.g-logo__mark{color:var(--g-tinta)}
@media (min-width:640px){.g-logo__word{font-size:26px}}
.g-footer .g-logo,.g-footer .g-logo__mark,.g-logo--inv,.g-logo--inv .g-logo__mark{color:#fff}

/* ---------- menú superior */
.g-header{position:sticky;top:0;z-index:20}
.g-header__bar{background:var(--g-carbon);color:#fff;height:var(--g-bar)}
.g-header__in{display:flex;align-items:stretch;height:100%;gap:24px}
.g-header .g-logo{background:#fff;padding:0 16px;align-self:stretch}
@media (min-width:960px){.g-header .g-logo{padding:0 24px}}
.g-nav{display:none;flex:1}
.g-nav__list{list-style:none;display:flex;height:100%;gap:28px}
.g-nav__item{display:flex}
.g-nav__btn,.g-nav__link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:#fff;font:700 var(--g-fs-sm)/1 var(--g-ff);padding:0;cursor:pointer;text-decoration:none;text-underline-offset:6px}
.g-nav__btn:hover,.g-nav__link:hover{text-decoration:underline;text-decoration-thickness:1px}
.g-nav__btn--active,.g-nav__link--active{text-decoration:underline;text-decoration-thickness:2px}
.g-chev{transition:transform .15s}
.g-nav__btn[aria-expanded="true"] .g-chev{transform:rotate(180deg)}
.g-header__right{display:flex;align-items:center;gap:16px;margin-left:auto}
.g-lang{font-size:var(--g-fs-sm);white-space:nowrap}
.g-lang__cur{font-weight:700}
.g-lang__alt{color:var(--g-texto-2-osc);text-decoration:none;display:inline-block;padding:10px 4px;margin:-10px -4px}
.g-lang__alt:hover{color:#fff;text-decoration:underline}
.g-lang--top{display:none}
.g-header__cta{white-space:nowrap}
.g-burger{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;justify-content:center;background:none;border:0;color:#fff;font:700 var(--g-fs-sm) var(--g-ff);cursor:pointer;padding:0 4px}
@media (max-width:639px){.g-burger__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.g-header__cta{padding:6px 14px}.g-header__in{gap:12px}}
@media (max-width:379px){.g-header .g-logo__word{display:none}}
@media (min-width:1100px){.g-nav{display:block}.g-burger{display:none}.g-lang--top{display:block}}

/* mega menú */
.g-mega{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--g-carbon);border-bottom:1px solid var(--g-linea);padding:48px 0;z-index:30}
.g-mega[hidden]{display:none}
.g-mega__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g-gutter)}
.g-mega__intro{grid-column:1/4}
.g-mega__title{font-size:var(--g-fs-h3);font-weight:700;margin-bottom:8px}
.g-mega__desc{font-size:var(--g-fs-sm);color:var(--g-texto-2)}
.g-mega__links{grid-column:5/13;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px var(--g-gutter);align-content:start}
.g-mega__links--3{grid-template-columns:repeat(3,1fr)}
.g-mega__links a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:32px}
.g-mega__links a:hover{text-decoration:underline}
.g-mega__links a[aria-current]{font-weight:700}
.g-mega__links--sq a::before{content:"";width:12px;height:12px;background:var(--sq,var(--g-maiz));flex:none}
.g-mega__links--lavanda{--sq:var(--g-lavanda)}.g-mega__links--niebla{--sq:var(--g-niebla)}.g-mega__links--maiz{--sq:var(--g-maiz)}
.g-mega__links--sq a[data-c="lavanda"]{--sq:var(--g-lavanda)}.g-mega__links--sq a[data-c="salvia"]{--sq:var(--g-salvia)}.g-mega__links--sq a[data-c="cielo"]{--sq:var(--g-cielo)}
.g-mega__links--sq a[data-c="niebla"]{--sq:var(--g-niebla)}.g-mega__links--sq a[data-c="menta"]{--sq:var(--g-menta)}.g-mega__links--sq a[data-c="maiz"]{--sq:var(--g-maiz)}
.g-soon{color:var(--g-texto-2);display:inline-flex;gap:8px;align-items:center;min-height:32px}
.g-soon__tag{font-size:var(--g-fs-xs);font-weight:700;border:1px solid currentColor;padding:1px 6px}
.g-footer .g-soon{color:var(--g-texto-2-osc)}

.g-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--c)}
.g-mega .g-dot{width:12px;height:12px;border-radius:0}
.g-dot--cafe{--c:var(--g-cafe)}.g-dot--cacao{--c:var(--g-cacao)}.g-dot--palma{--c:var(--g-palma)}.g-dot--soya{--c:var(--g-soya)}
.g-dot--caucho{--c:var(--g-caucho)}.g-dot--madera{--c:var(--g-madera)}.g-dot--ganado{--c:var(--g-ganado)}
.g-dot--lavanda{--c:var(--g-lavanda)}.g-dot--rosa{--c:var(--g-rosa)}.g-dot--salvia{--c:var(--g-salvia)}.g-dot--menta{--c:var(--g-menta)}.g-dot--cielo{--c:var(--g-cielo)}.g-dot--niebla{--c:var(--g-niebla)}.g-dot--maiz{--c:var(--g-maiz)}.g-dot--tinta{--c:var(--g-tinta)}.g-dot--carbon{--c:var(--g-carbon)}
.g-dot--soya,.g-dot--caucho,.g-dot--madera{box-shadow:inset 0 0 0 1px rgba(34,37,43,.2)}
/* glifo de materia: baldosa del color + dibujo carbón (ui-v2-ilustraciones.md §4) */
.g-mat{display:block;flex:none;width:16px;height:16px;border-radius:0;background:var(--m);color:var(--g-carbon);box-shadow:inset 0 0 0 1px rgba(34,37,43,.25)}
.g-mat--cafe{--m:var(--g-cafe)}.g-mat--cacao{--m:var(--g-cacao)}.g-mat--palma{--m:var(--g-palma)}.g-mat--soya{--m:var(--g-soya)}
.g-mat--caucho{--m:var(--g-caucho)}.g-mat--madera{--m:var(--g-madera)}.g-mat--ganado{--m:var(--g-ganado)}

/* menú móvil */
.g-mob{position:fixed;inset:0;height:100dvh;background:var(--g-carbon);color:#fff;z-index:40;overflow-y:auto;padding:0 var(--g-margin) calc(24px + env(safe-area-inset-bottom))}
.g-mob[hidden]{display:none}
.g-mob__top{display:flex;justify-content:space-between;align-items:center;height:var(--g-bar)}
.g-mob__close{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:#fff;font:700 var(--g-fs-sm) var(--g-ff);min-height:44px;cursor:pointer}
.g-mob__sec{border-bottom:1px solid var(--g-linea-osc)}
.g-mob__sec summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:var(--g-fs-h3);font-weight:700;padding:16px 0;cursor:pointer;min-height:44px}
.g-mob__sec summary::-webkit-details-marker{display:none}
.g-mob__sec[open] .g-chev{transform:rotate(180deg)}
.g-mob__sec ul{list-style:none;padding:0 0 16px}
.g-mob__sec a,.g-mob__sec .g-soon{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:#fff}
.g-mob__sec .g-soon{color:var(--g-texto-2-osc)}
.g-mob__sec a[aria-current]{font-weight:700;text-decoration:underline}
.g-mob__link{display:block;font-size:var(--g-fs-h3);font-weight:700;padding:16px 0;text-decoration:none;border-bottom:1px solid var(--g-linea-osc)}
.g-mob__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap}

/* ---------- barra de hermanas */
.g-sibs{background:var(--g-hueso);border-bottom:1px solid var(--g-linea)}
.g-sibs--sticky{position:sticky;top:var(--g-bar);z-index:10}
.g-sibs__list{list-style:none;display:flex;gap:6px;height:var(--g-sibh);align-items:center;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.g-sibs__list::-webkit-scrollbar{display:none}
.g-sibs__list li{scroll-snap-align:center;flex:none}
.g-sib{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;font-size:var(--g-fs-sm);text-decoration:none;white-space:nowrap}
.g-sib .g-dot{width:8px;height:8px}
.g-sib .g-mat{width:14px;height:14px}
.g-sib:hover{text-decoration:underline}
.g-sib--cur{background:var(--g-page);font-weight:700;color:var(--g-carbon)}
[data-color="carbon"] .g-sib--cur{color:#fff}

/* ---------- cabecera de página */
.g-pagehead{position:relative;background:var(--g-page);color:var(--g-on-page);min-height:200px;padding-top:56px;overflow:hidden}
@media (max-width:639px){.g-pagehead{padding-top:104px}}
@media (min-width:960px){.g-pagehead{min-height:280px;padding-top:80px}}
.g-pagehead .g-red{position:absolute;inset:0;width:100%;height:100%}
.g-pagehead__in{position:relative;text-align:center;padding-bottom:64px}
.g-pagehead h1{max-width:18ch;margin:0 auto}
.g-pagehead__sub{max-width:52ch;margin:20px auto 0;font-size:var(--g-fs-body)}
.g-pagehead__meta{margin:16px auto 0;font-size:var(--g-fs-sm);font-weight:700;font-variant-numeric:tabular-nums}
.g-pagehead__sub,.g-pagehead__meta{position:relative;display:block}
.g-pagehead__chipwrap{position:relative}
.g-chip{display:inline-block;background:var(--g-carbon);color:#fff;font-size:var(--g-fs-xs);font-weight:700;padding:8px 14px}
[data-color="carbon"] .g-chip{background:#fff;color:var(--g-carbon)}
/* fondos detrás del texto de cabecera para que la red nunca lo cruce */
.g-pagehead h1,.g-pagehead__sub,.g-pagehead__meta{background:var(--g-page);width:fit-content;padding:0 12px}
.g-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--g-fs-xs);color:var(--g-texto-2);padding:16px 0 0}
.g-crumbs li+li::before{content:"/";margin-right:8px}
.g-crumbs a{color:var(--g-texto-2)}
.g-crumbs [aria-current]{color:var(--g-carbon)}

/* ---------- layout de páginas internas (lista lateral + contenido) */
.g-layout{display:grid;grid-template-columns:1fr;gap:0 var(--g-gutter);padding-top:32px;padding-bottom:64px}
@media (min-width:960px){
  .g-layout{grid-template-columns:repeat(12,1fr);padding-top:64px;padding-bottom:96px}
  .g-layout__aside{grid-column:1/4}
  .g-layout__main{grid-column:5/12;min-width:0}
}
.g-toc{position:relative}
@media (min-width:960px){.g-toc{position:sticky;top:calc(var(--g-bar) + var(--g-sibh) + 24px)}}
.g-toc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:44px;margin:0}
.g-toc summary::-webkit-details-marker{display:none}
.g-toc__d[open] .g-chev{transform:rotate(180deg)}
@media (min-width:960px){.g-toc summary{pointer-events:none;min-height:0;margin-bottom:12px}.g-toc summary .g-chev{display:none}}
@media (max-width:959px){.g-toc{border:1px solid var(--g-linea);background:#fff;padding:0 16px;margin-bottom:32px}.g-toc ul{padding-bottom:12px}}
.g-toc ul{list-style:none;font-size:var(--g-fs-sm)}
.g-toc li{margin:0 0 8px}
.g-toc a{text-decoration:none;display:inline-block;min-height:24px}
.g-toc a:hover{text-decoration:underline}
.g-toc a[aria-current]{font-weight:700}
.g-toc a[aria-current]::before{content:"— "}
.g-lead--open{margin-bottom:48px;max-width:none}
.g-block{padding:48px 0;border-top:1px solid var(--g-linea);scroll-margin-top:calc(var(--g-bar) + var(--g-sibh) + 16px)}
.g-block>h2{margin-bottom:32px}
.g-block--niebla,.g-block--page{border-top:0;padding:48px 32px;margin:24px 0;background:var(--g-niebla)}
.g-block--page{background:var(--g-page)}
[data-color="carbon"] .g-block--page{color:#fff}
@media (max-width:639px){.g-block--niebla,.g-block--page{padding:40px 20px;margin-inline:calc(var(--g-margin) * -1)}}
.g-block--page .g-step__n,.g-block--niebla .g-step__n{color:var(--g-carbon)}
.g-block p,.g-block li{max-width:68ch}

/* ---------- listas y bloques */
.g-list{list-style:none;margin:0 0 24px}
.g-list li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--g-linea)}
.g-list li:first-child{border-top:1px solid var(--g-linea)}
.g-list li::before{content:"";position:absolute;left:0;top:calc(12px + .7em);width:8px;height:8px;border-radius:50%;background:currentColor;transform:translateY(-50%)}
.g-olist{margin:0 0 24px 1.4em}
.g-olist li{padding:4px 0 4px 4px}
.g-olist li::marker{font-weight:700;font-variant-numeric:tabular-nums}
.g-note{background:#fff;border-left:4px solid var(--g-page);padding:24px 28px;margin:24px 0}
body:not([data-color]) .g-note,[data-color="tinta"] .g-note{border-left-color:var(--g-tinta)}
[data-color="carbon"] .g-note{border-left-color:var(--g-carbon)}
.g-block--niebla .g-note,.g-block--page .g-note{border-left-color:var(--g-carbon)}
.g-note p{margin:0}
.g-note__t{font-size:var(--g-fs-sm);font-weight:700;margin:0 0 6px!important}
.g-src{font-size:var(--g-fs-xs);color:var(--g-texto-2);margin:16px 0 0}
.g-panel{background:var(--g-carbon);color:#fff;padding:40px;margin:32px 0}
.g-panel p{font-size:var(--g-fs-lead);font-weight:700;line-height:1.45;margin:0;max-width:52ch}
@media (max-width:639px){.g-panel{padding:28px 20px}}
.g-quote{margin:24px 0;padding:32px;background:var(--g-carbon);color:#fff}
.g-quote blockquote{margin:0}
.g-quote p{font-size:var(--g-fs-h3);font-weight:700;font-style:italic;line-height:1.35;margin:0 0 12px}
.g-quote figcaption{font-size:var(--g-fs-sm);color:var(--g-texto-2-osc)}

/* pasos (PD) */
.g-steps{list-style:none;display:grid;grid-template-columns:1fr;gap:40px 32px;margin:8px 0 32px}
@media (min-width:640px){.g-steps{grid-template-columns:repeat(2,1fr)}}
.g-step__n{display:block;font-size:var(--g-fs-step);font-weight:400;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:16px}
.g-step__t{font-size:var(--g-fs-h3);margin-bottom:8px}
.g-step p{margin:0}
/* aplicaciones 01–0N */
.g-apps{list-style:none;margin:0 0 24px}
.g-app{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--g-linea)}
.g-app:first-child{border-top:1px solid var(--g-linea)}
.g-app__n{font-size:var(--g-fs-h3);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}
.g-app p{margin:0}

/* tarjetas */
.g-cards{list-style:none;display:grid;gap:var(--g-gutter);grid-template-columns:1fr;margin:24px 0}
@media (min-width:640px){.g-cards--3{grid-template-columns:repeat(3,1fr)}.g-cards--2{grid-template-columns:repeat(2,1fr)}}
.g-layout__main .g-cards--3{grid-template-columns:1fr}
@media (min-width:1200px){.g-layout__main .g-cards--3{grid-template-columns:repeat(3,1fr)}}
.g-card{background:#fff;padding:24px}
.g-card__t{font-size:1.125rem;margin-bottom:8px;line-height:1.3}
.g-card p{margin:0;font-size:var(--g-fs-sm)}
.g-card p+.g-btn,.g-card p+a{margin-top:16px}

/* cifras */
.g-figs{list-style:none;display:grid;grid-template-columns:1fr;gap:var(--g-gutter);margin:32px 0}
@media (min-width:640px){.g-figs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.g-sec .g-figs{grid-template-columns:repeat(3,1fr)}}
.g-fig{background:#fff;border-top:2px solid var(--g-carbon);padding:32px 28px}
.g-fig__n{font-size:var(--g-fs-figure);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0 0 12px}
.g-fig__n--long{font-size:var(--g-fs-h2);line-height:1.15}
.g-fig__d{max-width:32ch;margin:0 0 12px}
.g-fig__src{font-size:var(--g-fs-xs);color:var(--g-texto-2);margin:0}

/* tabla */
.g-table{overflow-x:auto;margin:24px 0}
.g-table table{width:100%;border-collapse:collapse;background:#fff;font-size:var(--g-fs-sm)}
.g-table caption{text-align:left;font-size:var(--g-fs-xs);font-weight:700;color:var(--g-texto-2);padding:0 0 8px}
.g-table th,.g-table td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--g-linea)}
.g-table thead th{background:var(--g-carbon);color:#fff;font-weight:700}
.g-table tbody th{font-weight:700}
@media (max-width:639px){
  .g-table table,.g-table tbody,.g-table tr,.g-table th,.g-table td{display:block}
  .g-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .g-table tr{border-top:2px solid var(--g-carbon);margin-bottom:16px;background:#fff}
  .g-table tbody th,.g-table td{border:0;padding:8px 16px}
  .g-table td::before{content:attr(data-label);display:block;font-size:var(--g-fs-xs);font-weight:700;color:var(--g-texto-2)}
}

/* cadena */
.g-chain{list-style:none;position:relative;margin:24px 0;padding-left:0}
.g-chain__i{position:relative;padding:0 0 24px 40px}
.g-chain__i::before{content:"";position:absolute;left:8px;top:14px;bottom:-6px;width:1px;background:var(--g-carbon)}
.g-chain__i:last-child::before{display:none}
.g-chain__dot{position:absolute;left:3px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--g-carbon)}
.g-chain__i--op .g-chain__dot{left:-1px;top:3px;width:20px;height:20px;border-radius:0;background:transparent;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--g-tinta)}
.g-chain__i--op p{background:#fff;padding:12px 16px;margin-left:-4px;border-left:4px solid var(--g-tinta)}
.g-chain__flag{display:inline-block;font-size:var(--g-fs-xs);font-weight:700;background:var(--g-tinta);color:#fff;padding:2px 8px;margin:0 6px;vertical-align:2px}
.g-chain p{margin:0}

/* roles */
.g-roles{list-style:none;display:grid;gap:12px;margin:24px 0}
@media (min-width:640px){.g-roles{grid-template-columns:repeat(2,1fr)}}
.g-role{background:#fff;padding:20px 24px;display:grid;grid-template-columns:24px 1fr;gap:12px}
.g-role p{margin:0;font-size:var(--g-fs-sm)}
.g-role__shape{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--g-carbon);margin-top:5px}
.g-role--op{box-shadow:inset 0 0 0 2px var(--g-carbon)}
.g-role--op .g-role__shape{background:var(--g-carbon)}

/* línea de tiempo */
.g-tl{list-style:none;margin:24px 0}
.g-tl__i{position:relative;padding:0 0 20px 32px}
.g-tl__i::before{content:"";position:absolute;left:6px;top:14px;bottom:-4px;width:1px;background:var(--g-carbon)}
.g-tl__i:last-child::before{display:none}
.g-tl__dot{position:absolute;left:1px;top:8px;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--g-carbon);background:var(--g-hueso)}
.g-tl__i--cur .g-tl__dot{background:var(--g-carbon)}
.g-tl__i--past p{color:var(--g-texto-2)}
.g-tl__i--cur p{font-weight:700}
.g-tl p{margin:0}

/* punto / línea / polígono */
.g-geo{color:var(--g-carbon);margin:0 0 32px;max-width:420px}
.g-geo svg{width:100%;height:auto}
.g-geo2{list-style:none;display:grid;gap:var(--g-gutter);margin:24px 0}
@media (min-width:640px){.g-geo2{grid-template-columns:repeat(2,1fr)}}
.g-geo2__i{background:#fff;padding:20px}

/* diagrama "Cómo se usa" (ronda 3 §5): HTML real, sin animación */
.g-block--flow{position:relative;z-index:1}
@media (min-width:960px){
  /* rompe la columna de contenido (col 5–11) hasta el ancho de la retícula para que quepan 4 etapas */
  .g-block--flow{margin-left:calc((100% - 6 * var(--g-gutter)) * -4 / 7 - 4 * var(--g-gutter));margin-right:calc((100% - 6 * var(--g-gutter)) * -1 / 7 - var(--g-gutter))}
}
.g-flow{list-style:none;display:grid;grid-template-columns:1fr;gap:32px;margin:8px 0 0;--fg:56px;--ftop:73px}
.g-flow__i{position:relative;background:#fff;padding:24px;margin:0}
.g-block .g-flow__i p{max-width:none}
.g-flow__i--3{box-shadow:inset 0 4px 0 var(--g-carbon)}  /* la verificación es el valor diferencial */
.g-flow__n{font-size:var(--g-fs-xs);font-weight:700;font-variant-numeric:tabular-nums;margin:0 0 8px;line-height:1.3}
.g-flow__icos{display:flex;gap:12px;min-height:64px;align-items:flex-start}
.g-flow__ic{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--g-carbon)}
.g-flow__svg{position:relative;display:block;width:48px;height:48px}
.g-flow__svg svg{width:48px;height:48px}
.g-flow__yr{position:absolute;right:-6px;bottom:-4px;font-size:var(--g-fs-xs);font-weight:700;line-height:1;background:#fff;padding:1px 2px}
.g-flow__lab{font-size:var(--g-fs-xs);line-height:1.25;max-width:9ch}
@media (min-width:640px){.g-flow__icos{min-height:84px}}  /* misma altura en las 4 etapas: los títulos quedan alineados */
.g-flow__t{font-size:16px;line-height:1.3;margin:12px 0 6px}
.g-flow__x{font-size:var(--g-fs-sm);line-height:1.45;margin:0}
.g-flow__labs{display:none}
/* flecha conectora: línea 1.5 px + punta abierta */
.g-flow__i+.g-flow__i::before{content:"";position:absolute;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12'%3E%3Cpath d='M1 6h37M32 1l6 5-6 5' fill='none' stroke='%2322252B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (max-width:639px){
  .g-flow__i{display:grid;grid-template-columns:64px 1fr;column-gap:12px;padding:20px}
  .g-flow__n{grid-column:1/-1}
  .g-flow__icos{flex-direction:column;gap:8px;min-height:0}
  .g-flow__icos--3 .g-flow__ic:nth-child(3){display:none}   /* máximo 2 íconos; el tercero queda en la fila de rótulos */
  .g-flow__lab{display:none}
  .g-flow__t{margin-top:0}
  .g-flow__labs{display:block;font-size:var(--g-fs-xs);font-weight:700;margin:8px 0 0}
  /* conector vertical de 32 px alineado con la columna de íconos */
  .g-flow__i+.g-flow__i::before{left:calc(20px + 32px - 6px);top:-32px;width:12px;height:32px;transform:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 32'%3E%3Cpath d='M6 2v27M1 23l5 6 5-6' fill='none' stroke='%2322252B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
}
@media (min-width:640px) and (max-width:1199px){
  .g-flow{grid-template-columns:repeat(2,1fr);gap:48px var(--fg)}
  .g-flow__i+.g-flow__i--2::before,.g-flow__i+.g-flow__i--4::before{left:calc(-1 * var(--fg) / 2 - 20px);top:var(--ftop);width:40px;height:12px;margin-top:-6px}
  /* 02 → 03: baja por un codo desde la tarjeta 02 hasta la 03 */
  .g-flow__i+.g-flow__i--3::before{left:50%;top:-48px;width:calc(100% + var(--fg));height:48px;background:none;
    border:solid var(--g-carbon);border-width:0 1.5px 0 0;box-sizing:border-box;clip-path:inset(0 0 50% 0)}
  .g-flow__i--3::after{content:"";position:absolute;left:calc(50% - 6px);top:-24px;width:calc(100% + var(--fg) + 6px);height:24px;
    border-top:1.5px solid var(--g-carbon);box-sizing:border-box;
    background:no-repeat left bottom/12px 24px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 24'%3E%3Cpath d='M6 0v21M1 15l5 6 5-6' fill='none' stroke='%2322252B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
}
@media (min-width:1200px){
  .g-flow{grid-template-columns:repeat(4,1fr);gap:var(--fg)}
  .g-flow__i+.g-flow__i::before{left:calc(-1 * var(--fg) / 2 - 20px);top:var(--ftop);width:40px;height:12px;margin-top:-6px}
}
.g-geo2__svg{width:120px;height:80px;margin-bottom:12px}
.g-geo2 p{margin:0;font-size:var(--g-fs-sm)}

/* chips de materias */
.g-mchips{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}
@media (min-width:640px){.g-mchips{display:flex;flex-wrap:wrap}}
.g-mchip{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border-radius:999px;background:#fff;color:var(--g-carbon);font-size:var(--g-fs-sm);font-weight:700;text-decoration:none}
.g-mchip:hover,.g-mchip:focus-visible{background:var(--c)}
.g-mchip:active{transform:translateY(1px)}
.g-mchip:has(.g-mat--cafe){--c:var(--g-cafe)}.g-mchip:has(.g-mat--cacao){--c:var(--g-cacao)}.g-mchip:has(.g-mat--palma){--c:var(--g-palma)}
.g-mchip:has(.g-mat--soya){--c:var(--g-soya)}.g-mchip:has(.g-mat--caucho){--c:var(--g-caucho)}.g-mchip:has(.g-mat--madera){--c:var(--g-madera)}.g-mchip:has(.g-mat--ganado){--c:var(--g-ganado)}
.g-mchips--light{margin-top:24px}

/* ---------- portada */
.g-hero{position:relative;background:var(--g-carbon);color:#fff}
.g-hero__red{position:absolute;inset:0;width:100%;height:100%}
.g-hero__wrap{position:relative;padding-top:24px}
.g-hero__card{background:var(--g-tinta);color:#fff;padding:28px 20px;position:relative}
.g-hero__eyebrow{font-size:var(--g-fs-xs);font-weight:700;margin-bottom:16px;color:#fff}
.g-hero__h1{font-size:var(--g-fs-display);line-height:1.05;letter-spacing:-.025em;margin-bottom:16px}
.g-hero__title{font-size:var(--g-fs-h3);font-weight:700;line-height:1.3;margin-bottom:16px;max-width:30ch}
.g-hero__sub{font-size:var(--g-fs-lead);line-height:1.45;max-width:46ch}
.g-hero__anchor{font-size:var(--g-fs-sm);font-weight:700;margin:0}
.g-hero__exp{margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.3);scroll-margin-top:calc(var(--g-bar) + 16px)}
.g-hero__q{font-size:var(--g-fs-h3);margin-bottom:6px}
.g-hero__qs{font-size:var(--g-fs-sm);margin-bottom:12px}
.g-hero__legend{position:relative;font-size:var(--g-fs-xs);color:var(--g-texto-2-osc);margin:0;padding-block:16px}
.g-hero__legend{pointer-events:none} /* decorativa: su caja a todo el ancho tapaba la 2ª fila de chips */
.g-hero__legend [data-fase]{transition:color .2s}.g-hero__legend .is-on{color:#fff}
@media (max-width:959px){
  .g-hero{padding-top:240px}
  .g-hero__red{height:260px;bottom:auto}
  .g-hero__wrap{padding-inline:0}
  .g-hero__legend{display:none}
}
@media (min-width:640px) and (max-width:959px){.g-hero__card{padding:40px 32px}}
@media (min-width:960px){
  .g-hero{min-height:min(88dvh,820px)}
  .g-hero__wrap{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g-gutter);padding-top:72px}
  .g-hero__card{grid-column:1/8;padding:48px;margin-bottom:-64px}
  .g-hero__legend{text-align:right;position:absolute;right:0;left:0;bottom:0}
  .g-sec--after-hero{padding-top:160px!important}
}
@media (min-width:1280px){.g-hero__card{grid-column:1/7}}

.g-sec{padding:64px 0;scroll-margin-top:var(--g-bar)}
@media (min-width:960px){.g-sec{padding:96px 0}}
.g-sec>.g-wrap>h2{margin-bottom:32px;max-width:24ch}
.g-sec--white{background:#fff}
.g-sec--white .g-date{background:var(--g-hueso)}
.g-band--niebla{background:var(--g-niebla)}
.g-band--maiz{background:var(--g-maiz)}
.g-split{display:grid;gap:0 var(--g-gutter)}
@media (min-width:960px){.g-split{grid-template-columns:repeat(12,1fr)}.g-split__l{grid-column:1/4}.g-split__r{grid-column:4/13}.g-faq .g-split__r{grid-column:5/12}}
.g-split__r>h2{margin-bottom:24px;max-width:24ch}
.g-split__r>.g-lead{max-width:56ch;font-weight:400}
.g-bigdate{font-size:var(--g-fs-h1);line-height:1.05;font-variant-numeric:tabular-nums;margin-bottom:16px}
.g-count{font-size:var(--g-fs-h3);font-weight:700;font-variant-numeric:tabular-nums}
.g-dates{list-style:none;display:grid;gap:var(--g-gutter);grid-template-columns:1fr;margin:32px 0 24px}
@media (min-width:640px){.g-dates{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.g-dates{grid-template-columns:repeat(4,1fr)}}
.g-date{background:#fff;border-top:2px solid var(--g-carbon);padding:28px}
.g-date__t{font-size:var(--g-fs-h3);margin-bottom:8px}
.g-date p{margin:0;font-size:var(--g-fs-sm)}
.g-como{display:grid;gap:var(--g-gutter);margin:32px 0 48px}
@media (min-width:640px){.g-como{grid-template-columns:repeat(2,1fr)}}
.g-como__col{background:#fff;padding:28px}
.g-como__col h3{margin-bottom:12px}
.g-como__col h3 a{text-decoration:underline;text-underline-offset:6px}
.g-como__col .g-list{margin:0}
.g-band .g-steps{margin-bottom:24px}
@media (min-width:1100px){.g-band .g-steps{grid-template-columns:repeat(4,1fr)}}
.g-pqs{list-style:none;display:grid;gap:var(--g-gutter);grid-template-columns:1fr}
@media (min-width:640px){.g-pqs{grid-template-columns:repeat(3,1fr)}}
.g-pq{display:flex;flex-direction:column;height:100%;background:var(--g-page);padding:28px;text-decoration:none;min-height:220px}
.g-pq__t{font-size:var(--g-fs-h3);margin-bottom:12px}
.g-pq .g-more{margin-top:auto}
.g-pq:hover .g-pq__t{text-decoration:underline}
.g-kcs{list-style:none;display:grid;gap:var(--g-gutter);grid-template-columns:1fr}
@media (min-width:640px){.g-kcs{grid-template-columns:repeat(2,1fr)}.g-kc--big{grid-column:1/-1}}
@media (min-width:1100px){.g-kcs{grid-template-columns:2fr 1fr 1fr}.g-kc--big{grid-column:auto}}
.g-kc{display:flex;flex-direction:column;height:100%;background:#fff;text-decoration:none}
.g-kc__img{position:relative;display:block;aspect-ratio:16/9;background:var(--g-page);--g-ink:var(--g-carbon)}
.g-kc__img .g-red{position:absolute;inset:0;width:100%;height:100%}
.g-kc__body{display:flex;flex-direction:column;gap:12px;padding:24px;flex:1}
.g-kc__body .g-more{margin-top:auto}
.g-kc:hover .g-kc__x{text-decoration:underline}
.g-tag{position:absolute;left:0;bottom:0;display:flex}
.g-tag__a,.g-tag__b{font-size:var(--g-fs-xs);font-weight:700;padding:0 10px;height:28px;display:inline-flex;align-items:center}
.g-tag__a{background:var(--g-carbon);color:#fff}
.g-tag__b{background:#fff;color:var(--g-carbon)}

/* banda de contacto */
.g-bc{background:var(--g-carbon);color:#fff;padding:64px 0;scroll-margin-top:var(--g-bar)}
@media (min-width:960px){.g-bc{padding:96px 0}}
.g-bc__in{display:grid;gap:24px var(--g-gutter)}
@media (min-width:960px){.g-bc__in{grid-template-columns:repeat(12,1fr)}.g-bc__in>h2{grid-column:1/6}.g-bc__in>div{grid-column:7/13}}
.g-bc__text{font-size:var(--g-fs-lead);line-height:1.45}
.g-bc__micro,.g-bc__mail{font-size:var(--g-fs-sm);color:var(--g-texto-2-osc)}
.g-bc__mail a{color:#fff}
/* cierre compacto (ronda 3 §2): título + una línea + botones; 64 px (móvil 48) */
.g-bc--compact{padding:48px 0}
.g-bc--compact .g-bc__in{gap:24px var(--g-gutter);align-items:center}
.g-bc--compact h2{color:#fff;max-width:22ch}
.g-bc--compact .g-bc__text{font-size:var(--g-fs-body);color:var(--g-texto-2-osc);margin:8px 0 0;max-width:90ch}
.g-bc--compact .g-bc__micro{margin:8px 0 0}
.g-bc--compact .g-btns{margin:0}
@media (max-width:959px){.g-bc--compact .g-btns{flex-direction:column}.g-bc--compact .g-btn{width:100%}}
@media (min-width:960px){
  .g-bc--compact{padding:64px 0}
  .g-bc--compact .g-bc__txt{grid-column:1/9}
  .g-bc--compact h2{max-width:none}  /* a 22ch el título se parte en 2 líneas y el bloque pasa de 240 px */
  .g-bc--compact .g-btns{grid-column:9/13;justify-content:flex-end;align-self:center}
}

/* banda autodiagnóstico */
.g-ad{background:#fff;padding:64px 0}
.g-ad .g-wrap{display:grid;gap:32px var(--g-gutter)}
@media (min-width:960px){.g-ad .g-wrap{grid-template-columns:repeat(12,1fr)}.g-ad__head{grid-column:1/6}.g-ad__groups{grid-column:7/13}}
.g-ad__head h2{margin-bottom:16px}
.g-ad__groups{display:grid;gap:24px var(--g-gutter)}
@media (min-width:640px){.g-ad__groups{grid-template-columns:repeat(2,1fr)}}
.g-ad__g h3{font-size:var(--g-fs-sm);margin-bottom:8px}
.g-ad__g ul{list-style:none;font-size:var(--g-fs-sm)}
.g-ad__g li{padding:6px 0;border-bottom:1px solid var(--g-linea)}

/* relacionados / sigue explorando */
.g-related{padding:64px 0}
.g-rcards{list-style:none;display:grid;gap:var(--g-gutter);grid-template-columns:1fr}
@media (min-width:640px){.g-rcards{grid-template-columns:repeat(3,1fr)}}
.g-rcard{display:flex;flex-direction:column;gap:8px;height:100%;background:#fff;padding:24px;text-decoration:none}
.g-rcard__sq{width:16px;height:16px;background:var(--c)}
.g-rcard__t{font-size:var(--g-fs-h3);font-weight:700;line-height:1.25}
.g-rcard__d{font-size:var(--g-fs-sm)}
.g-rcard .g-more{margin-top:auto}
.g-rcard:hover .g-rcard__t{text-decoration:underline}
.g-prevnext{padding:48px 0 64px}
.g-pn__row{display:grid;gap:var(--g-gutter)}
@media (min-width:640px){.g-pn__row{grid-template-columns:1fr 1fr}}
.g-pn{display:flex;flex-direction:column;gap:8px;background:#fff;padding:24px;min-height:120px;text-decoration:none}
.g-pn--next{align-items:flex-end;text-align:right}
.g-pn__l{display:inline-flex;align-items:center;gap:6px;font-size:var(--g-fs-xs);color:var(--g-texto-2)}
.g-pn__t{display:inline-flex;align-items:center;gap:10px;font-size:var(--g-fs-h3);font-weight:700}
.g-pn__sq{width:16px;height:16px;background:var(--c)}
.g-pn:hover{background:var(--hc)}
.g-pn:hover .g-pn__l{color:var(--g-carbon)}
.g-pn[data-hover="cafe"]{--hc:var(--g-cafe)}.g-pn[data-hover="cacao"]{--hc:var(--g-cacao)}.g-pn[data-hover="palma"]{--hc:var(--g-palma)}.g-pn[data-hover="soya"]{--hc:var(--g-soya)}
.g-pn[data-hover="caucho"]{--hc:var(--g-caucho)}.g-pn[data-hover="madera"]{--hc:var(--g-madera)}.g-pn[data-hover="ganado"]{--hc:var(--g-ganado)}
.g-pn[data-hover="lavanda"]{--hc:var(--g-lavanda)}.g-pn[data-hover="niebla"]{--hc:var(--g-niebla)}
.g-pn[data-hover="salvia"]{--hc:var(--g-salvia)}.g-pn[data-hover="cielo"]{--hc:var(--g-cielo)}.g-pn[data-hover="menta"]{--hc:var(--g-menta)}

/* ---------- guía */
.g-progress{position:fixed;left:0;right:0;top:var(--g-bar);height:3px;z-index:20;pointer-events:none}
.g-progress__bar{display:block;height:100%;background:var(--g-carbon);transform:scaleX(0);transform-origin:left}
.g-layout--guide .g-layout__aside{display:none}
@media (min-width:960px){.g-layout--guide .g-layout__aside{display:block}}
.g-idx{position:sticky;top:calc(var(--g-bar) + 24px);max-height:calc(100dvh - var(--g-bar) - 48px);overflow-y:auto;padding-right:8px}
.g-idx:focus{outline:none}
.g-idx__meta{font-size:var(--g-fs-xs);color:var(--g-texto-2);font-variant-numeric:tabular-nums}
.g-idx__list,.g-idx__list ul{list-style:none}
.g-idx__list>li{margin-top:16px}
.g-idx__theme{font-size:var(--g-fs-eyebrow)!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g-carbon)!important}
.g-idx__list a{display:block;font-size:var(--g-fs-sm);padding:6px 12px;border-left:2px solid transparent;text-decoration:none;color:var(--g-texto-2);line-height:1.35}
.g-idx__list a:hover{text-decoration:underline;color:var(--g-carbon)}
.g-idx__list a.is-seen{color:var(--g-carbon)}
.g-idx__list a[aria-current]{border-left-color:var(--g-carbon);font-weight:700;background:var(--g-page);color:var(--g-carbon)}
.g-prose .g-theme{padding-bottom:32px}
.g-prose .g-theme>h2{padding-top:32px;margin-bottom:8px;scroll-margin-top:calc(var(--g-bar) + 24px)}
.g-prose .g-theme+.g-theme{border-top:2px solid var(--g-carbon);margin-top:32px}
.g-gsec{padding-top:32px}
.g-gsec>h3{margin-bottom:16px;scroll-margin-top:calc(var(--g-bar) + 24px)}
.g-gsec p,.g-gsec li{max-width:68ch}
.g-prose h2:focus,.g-prose h3:focus,.g-term dt:focus{outline:none}
.g-prose h2:focus-visible,.g-prose h3:focus-visible{outline:2px solid var(--g-carbon);outline-offset:4px}
.g-gnext{margin-top:24px}
.g-idxbtn{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10;background:var(--g-carbon);color:#fff;border:0;border-radius:999px;min-height:44px;padding:0 22px;font:700 var(--g-fs-sm) var(--g-ff);cursor:pointer}
@media (min-width:960px){.g-idxbtn{display:none}}
.g-idxdlg{border:0;padding:0 var(--g-margin) 24px;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;background:var(--g-hueso);color:var(--g-carbon)}
.g-idxdlg::backdrop{background:rgba(34,37,43,.5)}
.g-idxdlg__top{position:sticky;top:0;background:var(--g-hueso);display:flex;justify-content:space-between;align-items:center;min-height:60px}
.g-idxdlg__top .g-eyebrow{margin:0}
.g-idxdlg__close{background:none;border:0;min-width:44px;min-height:44px;cursor:pointer;color:var(--g-carbon)}
.g-idxdlg .g-idx__list a{min-height:44px;display:flex;align-items:center}

/* ---------- glosario */
.g-az{position:sticky;top:var(--g-bar);z-index:10;background:var(--g-hueso);border-bottom:1px solid var(--g-linea)}
.g-az ul{list-style:none;display:flex;gap:2px;height:52px;align-items:center;overflow-x:auto;scrollbar-width:none}
.g-az ul::-webkit-scrollbar{display:none}
.g-az a,.g-az span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:var(--g-fs-sm);font-weight:700;text-decoration:none;flex:none}
.g-az span{color:var(--g-texto-2);font-weight:400}
.g-az a:hover{background:var(--g-page)}
.g-gloss__intro{padding:48px 0 16px;max-width:68ch}
.g-gloss__intro .g-lead{font-weight:400;max-width:none}
.g-letter{display:grid;gap:0 var(--g-gutter);padding:32px 0;border-top:1px solid var(--g-linea)}
@media (min-width:960px){.g-letter{grid-template-columns:repeat(12,1fr)}.g-letter__h{grid-column:1/3}.g-terms{grid-column:4/12}}
.g-letter__h{font-size:var(--g-fs-h2);scroll-margin-top:calc(var(--g-bar) + 68px)}
@media (min-width:960px){.g-letter__h{position:sticky;top:calc(var(--g-bar) + 68px);align-self:start}}
.g-terms{margin:0}
.g-term{padding:0 0 32px}
.g-term+.g-term{border-top:1px solid var(--g-linea);padding-top:32px}
.g-term dt{font-size:var(--g-fs-h3);font-weight:700;line-height:1.25;margin-bottom:8px;scroll-margin-top:140px;padding:4px 8px;margin-left:-8px}
.g-term dt:target{background:var(--g-page)}
.g-term__o{font-size:var(--g-fs-xs);font-weight:400;color:var(--g-texto-2);margin-left:8px;white-space:nowrap}
.g-term dd{margin:0;max-width:68ch}
.g-term dd p{margin:0 0 8px}
.g-term__more .g-more{min-height:32px}
.g-gloss__missing{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:32px 0 64px;border-top:1px solid var(--g-linea)}
.g-gloss__missing p{margin:0}

/* ---------- contacto */
.g-contact{display:grid;gap:32px var(--g-gutter);padding-top:32px;padding-bottom:48px}
@media (min-width:960px){.g-contact{grid-template-columns:repeat(12,1fr);padding-top:0}.g-contact__crumbs{grid-column:1/8;grid-row:1}.g-contact__l{grid-column:1/7;grid-row:2;padding-top:24px}.g-contact__r{grid-column:8/13;grid-row:1/span 2}}
@media (max-width:959px){.g-contact__crumbs{order:-2}.g-contact__r{order:-1}}
.g-contact__crumbs ol{padding-top:0}
@media (min-width:960px){.g-contact__crumbs ol{padding-top:16px}}
.g-contact__l h2{font-size:var(--g-fs-h3);margin:40px 0 16px}
.g-contact__l .g-lead{font-weight:400;max-width:none}
.g-copied{display:inline-block;margin-left:12px;font-size:var(--g-fs-xs);font-weight:700}
/* tarjeta de acción carbón (ronda 3 §8): monta 96 px sobre la cabecera rosa en escritorio */
.g-actioncard{position:relative;background:var(--g-carbon);color:#fff;padding:40px}
@media (max-width:639px){.g-actioncard{padding:28px 20px}}
.g-actioncard__h{font-size:var(--g-fs-h3);color:#fff;margin:0 0 24px}
.g-actioncard__mail{margin:20px 0 8px;font-size:var(--g-fs-sm)}
.g-actioncard__addr{font-weight:700;user-select:all;word-break:break-all}
.g-actioncard__micro{font-size:var(--g-fs-xs);color:var(--g-texto-2-osc);margin:16px 0 0}
.g-actioncard :focus-visible{outline-color:#fff}
.g-contact__ad{position:relative;margin-top:24px;padding:28px;background:var(--g-page)}
.g-contact__adimg{position:relative;display:block;aspect-ratio:16/9;margin:0 0 20px;background:var(--g-page)}
.g-contact__adimg .g-red{position:absolute;inset:0;width:100%;height:100%}
.g-contact__ad h2{margin-bottom:8px}
.g-contact__ad p{margin-bottom:16px}
.g-contact__l>h2:first-child{margin-top:0}
@media (min-width:960px){.g-contact__r{margin-top:-96px;align-self:start}}
/* cabecera dividida: texto a la izquierda, ilustración a la derecha */
@media (min-width:960px){
  .g-pagehead--split{min-height:360px}
  .g-pagehead--split .g-pagehead__in{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g-gutter);text-align:left;padding-bottom:48px}
  .g-pagehead--split .g-pagehead__in>*{grid-column:1/8;margin-left:0;margin-right:0}
  .g-pagehead--split h1,.g-pagehead--split .g-pagehead__sub{padding:0;margin-left:0}
  .g-pagehead--split .g-pagehead__sub{margin-top:20px}
  .g-pagehead--split .g-pagehead__chipwrap{padding-bottom:0}
}
.g-faq{background:#fff}
.g-faq__list{border-top:1px solid var(--g-linea)}
.g-faq__i{border-bottom:1px solid var(--g-linea)}
.g-faq__i summary{list-style:none;position:relative;font-size:var(--g-fs-h3);font-weight:700;line-height:1.3;padding:24px 48px 24px 0;cursor:pointer}
.g-faq__i summary::-webkit-details-marker{display:none}
.g-plus{position:absolute;right:8px;top:30px;transition:transform .15s}
.g-faq__i[open] .g-plus{transform:rotate(45deg)}
.g-faq__a{padding:0 0 24px;max-width:68ch}
.g-faq__a p{margin:0}
.g-faq__more{margin:32px 0 8px}

/* 404 */
.g-404{padding:48px var(--g-margin) 96px;max-width:640px}

/* ---------- pie */
.g-footer{background:var(--g-carbon);color:#fff;padding:80px 0 calc(32px + env(safe-area-inset-bottom))}
.g-foot__top{padding-bottom:48px}
.g-foot__line{font-size:var(--g-fs-sm);color:var(--g-texto-2-osc);margin:16px 0 20px}
.g-foot__ctas{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.g-foot__map{display:grid;grid-template-columns:repeat(2,1fr);gap:32px var(--g-gutter);padding:40px 0;border-top:1px solid var(--g-linea-osc)}
@media (min-width:640px){.g-foot__map{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.g-foot__map{grid-template-columns:repeat(5,1fr)}}
.g-foot__h{font-size:var(--g-fs-sm);font-weight:700;margin:0 0 12px}
.g-foot__col ul{list-style:none;font-size:var(--g-fs-sm)}
.g-foot__col li{margin-bottom:2px}
.g-foot__col a{color:var(--g-texto-2-osc);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:32px;word-break:break-word}
.g-foot__col a:hover{color:#fff;text-decoration:underline}
.g-foot__col .g-dot{width:8px;height:8px}
.g-foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--g-linea-osc);font-size:var(--g-fs-xs);color:var(--g-texto-2-osc)}
.g-foot__bottom p{margin:0}
.g-footer .g-lang__cur{color:#fff}

/* red generativa: aparece con opacidad una vez */
.g-red{opacity:0;transition:opacity .4s}
.g-red.is-on{opacity:1}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{.g-header,.g-sibs,.g-footer,.g-idxbtn,.g-progress,.g-red{display:none}}

/* píldora del menú: etiqueta corta en móvil (ux-v2 §1.5: "(Agenda)") */
.g-cta-short{display:none}
@media (max-width:639px){.g-cta-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.g-cta-short{display:inline}}
.g-faq__i,.g-gsec,.g-term{scroll-margin-top:calc(var(--g-bar) + 16px)}
