/* v2.css — fuente de v2-demo/assets/v2.css (spec §2–§5, §11–§13). Sin anidamiento ni color moderno (§13.3).
   build-v2.py lo copia y añade las clases gc-a-b que falten. Desviaciones del spec: docstring de tools/build-v2.py. */

/* ---------- Fuentes (§3) ---------- */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/fraunces-300-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/fraunces-italic-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/public-sans-400-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Reservas con métricas afines (CLS 0): size-adjust = anchura medida ÷ AFM de Times/Arial; ascent/descent = typo ÷ size-adjust */
@font-face{font-family:'Fraunces fb';font-style:normal;font-weight:300 600;src:local('Times New Roman');size-adjust:114%;ascent-override:85.8%;descent-override:22.4%}
@font-face{font-family:'Fraunces fb';font-style:italic;font-weight:400;src:local('Times New Roman Italic');size-adjust:107.5%;ascent-override:91%;descent-override:23.7%}
@font-face{font-family:'Public Sans fb';font-style:normal;font-weight:400 500;src:local('Arial');size-adjust:103.5%;ascent-override:91.8%;descent-override:21.7%}
@font-face{font-family:'Public Sans fb';font-style:normal;font-weight:600 700;src:local('Arial Bold');size-adjust:100%;ascent-override:95%;descent-override:22.5%}

/* ---------- Tokens: papel (claro, por defecto; el oscuro solo con [data-theme=dark], nunca por el sistema) (§2) ---------- */
:root{
  color-scheme:light;
  --paper:#F6F1E8;--paper-2:#EDE6DA;--surface:#FCFAF5;
  --ink:#1A1714;--ink-2:#4A443C;--ink-3:#6B6459;
  --rule:#D9D1C3;--rule-strong:#8C8375;
  --accent:#9A3324;--accent-strong:#7E2A1E;--on-accent:#F6F1E8;
  --bar:#9A3324;--bar-past:#8C8375;
  --plate:#FFFFFF;--ok:#2F6B3D;--err:#A6301F;
  --sel:rgba(154,51,36,.18);--backdrop:rgba(26,23,20,.55);
  --shadow-modal:0 24px 64px rgba(0,0,0,.4);
  --serif:'Fraunces','Fraunces fb',Georgia,'Times New Roman',serif;
  --sans:'Public Sans','Public Sans fb',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sym:system-ui,-apple-system,'Segoe UI Symbol','Apple Symbols',sans-serif;
  --fs-body:1rem;
  --fs-name:clamp(2.75rem,7.2vw,5.5rem);
  --fs-deck:clamp(1.25rem,2.1vw,1.625rem);
  --fs-claim:clamp(1.375rem,2.4vw,1.875rem);
  --fs-h2:clamp(1.9rem,4vw,2.625rem);
  --fs-secnum:3.25rem;
  --fs-h3-group:1.5rem;
  --fs-h3-entry:1.375rem;
  --fs-h3-feature:clamp(1.75rem,2.4vw,2rem);
  --fs-lede:clamp(1.25rem,1.6vw,1.375rem);
  --fs-prose-feature:clamp(1.125rem,1.35vw,1.1875rem);
  --fs-figure:2.75rem;
  --fs-meta:.8125rem;
  --fs-small:.875rem;
  --fs-label:.75rem;
  --fs-ui:.9375rem;
  --fs-ui-sm:.8125rem;
  --lh-tight:.96;--lh-head:1.08;--lh-title:1.2;--lh-deck:1.32;--lh-lede:1.48;--lh-body:1.6;--lh-meta:1.6;--lh-kw:1.7;
  --ls-name:-.018em;--ls-h2:-.01em;--ls-secnum:-.02em;--ls-label:.12em;--ls-eyebrow:.14em;--ls-index:.03em;--ls-btn:.01em;
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:2.5rem;--sp-8:3.25rem;--sp-9:4.5rem;
  --sec-pad:clamp(2.5rem,6vw,4.5rem);--sec-head-mb:clamp(1.5rem,3vw,2.5rem);--group-mt:3.25rem;--entry-pad:1.5rem;
  --hero-pad:clamp(2rem,4vw,3.25rem);
  --r-0:2px;--r-1:3px;--r-2:4px;--r-pill:999px;
  --bw:1px;--bw-strong:2px;
  --max:76rem;
  --gutter:clamp(1rem,4vw,3rem);
  --margin-col:9.5rem;
  --date-col:8.5rem;
  --side-col:18rem;
  --ways-col:17rem;
  --measure:68ch;--measure-lede:60ch;--measure-stand:62ch;
  --gantt-label:16rem;
  --runhead-h:3.5rem;
  --touch:2.75rem;
  --z-skip:100;--z-head:40;--z-secnum:1;
  --dur:.15s;--ease:ease-out;
}
/* ---------- Tokens: tinta (oscuro) ---------- */
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#151311;--paper-2:#1C1916;--surface:#201D19;
  --ink:#ECE5D8;--ink-2:#BFB6A7;--ink-3:#9C9385;
  --rule:#332E28;--rule-strong:#756C5F;
  --accent:#E39A7E;--accent-strong:#EFB19A;--on-accent:#151311;
  --bar:#E39A7E;--bar-past:#756C5F;
  --plate:#F3EEE6;--ok:#8FC79A;--err:#F09A86;
  --sel:rgba(227,154,126,.3);--backdrop:rgba(0,0,0,.6);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;font-synthesis:none;-webkit-text-size-adjust:100%;scroll-padding-top:3.25rem}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/var(--lh-body) var(--sans);overflow-wrap:break-word}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
p,figure,dl,dd{margin:0}
h1,h2,h3,h4,.lede,.deck,.claim,.ficha .v,.refs cite,.sec-num,.feature .prose,.soft h4,.vol .t,.colofon .sig,.brand,details.fold summary{font-family:var(--serif);font-optical-sizing:auto}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:var(--lh-title)}
b,strong{font-weight:700}
.feature .prose b,.lede b{font-weight:600}
cite{font-style:normal}
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--rule-strong);text-underline-offset:.18em}
a:hover{color:var(--accent-strong);text-decoration-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
::selection{background:var(--sel)}
button{font:inherit;color:inherit;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main:focus{outline:0}
.sym{font-family:var(--sym)}
.nw{white-space:nowrap}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:var(--z-skip);background:var(--ink);color:var(--paper);padding:.75rem 1rem;border-radius:var(--r-0);font-weight:600;text-decoration:none}
.skip:focus{top:1rem}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
svg.i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.grecaptcha-badge{visibility:hidden}

/* Rótulos comunes */
.eyebrow{font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--accent);margin:0 0 .6rem;font-feature-settings:"case"}
.eyebrow .n{font-variant-numeric:tabular-nums}
.count{font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3);font-feature-settings:"case"}
.tag{display:block;font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--accent);margin-top:.25rem;font-feature-settings:"case"}

/* Enlaces inline: ≥ 24 px de alto efectivo */
.meta a,.profiles a,.prose a,.lines a,.dash a,.block a,.legal a,.intro a,.status a,.legal-line a,.compact .t a{display:inline-block;max-width:100%;padding-block:.35rem;margin-block:-.35rem;overflow-wrap:anywhere}

/* ---------- Botones ---------- */
.btn{min-height:var(--touch);padding:.72rem 1.15rem;border-radius:var(--r-0);border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 var(--fs-ui)/1.2 var(--sans);letter-spacing:var(--ls-btn);display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--paper-2);border-color:var(--ink);color:var(--ink)}
.btn.sm{padding:.45rem .8rem;font-size:var(--fs-ui-sm);min-height:var(--touch)}
.btn .i{width:1rem;height:1rem}
.btn:disabled{opacity:.6;cursor:not-allowed}
.ibtn{width:var(--touch);height:var(--touch);border:1px solid var(--rule-strong);border-radius:var(--r-pill);background:transparent;color:var(--ink);display:inline-grid;place-items:center;padding:0;flex:none}
.ibtn:hover{background:var(--paper-2);border-color:var(--ink)}
.ibtn .i{width:1.05rem;height:1.05rem}
.ibtn .moon{display:none}
:root[data-theme="dark"] .ibtn .sun{display:none}
:root[data-theme="dark"] .ibtn .moon{display:block}

/* ---------- Cabecera corrida (§4.3, §4.4, §5.3): DOM marca → índice → herramientas (sin .rh-top); en < 80 em dos filas
   con grid-area; la fila 1 va plegada (top negativo) y se despliega al recibir foco de teclado (:has) ---------- */
.runhead{position:sticky;top:-3.25rem;z-index:var(--z-head);background:var(--paper)}
.rh-in{--rh-pad:max(var(--gutter),calc(50% - var(--max) / 2 + var(--gutter)));display:grid;grid-template-columns:var(--rh-pad) minmax(0,1fr) auto var(--rh-pad);grid-template-rows:3.25rem auto;align-items:center}
.brand{grid-area:1/2;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:1rem;line-height:var(--touch);text-decoration:none;white-space:nowrap;letter-spacing:-.005em}
.brand:hover{color:var(--ink)}
.brand .phd{font:700 .75rem/1 var(--sans);letter-spacing:.08em;color:var(--ink-3);margin-left:.1em}
.tools{grid-area:1/3;margin-left:.5rem;display:flex;align-items:center;gap:.25rem}
.lang{font:600 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;font-feature-settings:"case"}
.lang a,.lang .cur{display:inline-grid;place-items:center;min-height:var(--touch);min-width:var(--touch);padding-inline:.35rem}
.lang .cur{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.3em}
.lang a{color:var(--ink-3);text-decoration:none}
.lang a:hover{color:var(--accent-strong)}
.lang .sep{color:var(--rule-strong)}
.brand .long,.pdf-top .lbl,.lang .cur{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pdf-top{width:var(--touch);height:var(--touch);padding:0;justify-content:center;border-radius:var(--r-pill)}
.index{grid-area:2/1/3/5;min-width:0;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.index ul{display:flex;gap:1.35rem;list-style:none;margin:0 auto;padding:0 3rem 0 var(--gutter);max-width:var(--max);overflow-x:auto;white-space:nowrap;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter) 3rem;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent)}
.index ul::-webkit-scrollbar{display:none}
.index li{scroll-snap-align:start;flex:none}
.index a{display:inline-block;padding:.75rem 0;font-size:.8125rem;line-height:1.4;letter-spacing:.02em;color:var(--ink-2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.index a:focus-visible{outline-offset:-3px}
.index a .n{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;margin-right:.4em;font-size:.75rem;letter-spacing:.08em}
.index a:hover{color:var(--ink)}
.index a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
/* < 40 em: solo el enlace al otro idioma; < 22 em: «PhD» solo para lectores */
@media (max-width:39.99em){.lang .sep{display:none}}
@media (max-width:23.99em){.brand .phd{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tools{margin-left:.25rem}}
@media (max-width:79.99em){.runhead:has(.brand:focus-visible,.tools :focus-visible){top:0}}
@media (min-width:40em){
  .brand{font-size:1.0625rem}
  .brand .long,.pdf-top .lbl,.lang .cur{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .brand .short{display:none}
  .pdf-top{width:auto;height:auto;padding:.45rem .8rem;border-radius:var(--r-0)}
}
@media (min-width:80em){
  html{scroll-padding-top:calc(var(--runhead-h) + .5rem)}
  .runhead{top:0;border-bottom:1px solid var(--rule)}
  .rh-in{display:flex;align-items:stretch;gap:2rem;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter);min-height:var(--runhead-h)}
  .brand{flex:none;align-self:center}
  .index{border:0;background:transparent;flex:1 1 auto}
  .index ul{padding:0;gap:1.25rem;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .index a{display:inline-flex;align-items:center;height:calc(var(--runhead-h) + 1px);padding:0;font-size:.75rem;letter-spacing:var(--ls-index)}
  .tools{flex:none;align-self:center;margin-left:auto}
}

/* ---------- Portada (§4.5, §5.4) ---------- */
.hero{padding-block:var(--hero-pad)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.dateline{font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.25rem .6rem;font-feature-settings:"case"}
.dateline .rub{color:var(--accent)}
.dateline .sep{display:none;color:var(--rule-strong)}
.name{font-size:var(--fs-name);line-height:var(--lh-tight);letter-spacing:var(--ls-name);font-weight:500;text-wrap:initial}
.name span{display:block}
/* Deck: «·» tras cada ítem; no se parten salvo el primero */
.deck{font:italic 400 var(--fs-deck)/var(--lh-deck) var(--serif);color:var(--ink-2);margin:1.4rem 0 0;text-wrap:balance}
.deck .it{white-space:nowrap}
.deck .it:first-child{white-space:normal}
.deck .it:not(:last-child)::after{content:"·";content:"·" / ", ";color:var(--accent);font-style:normal;margin-left:.35em}
.facts span:first-child::before,.kw span:first-child::before{content:"·" / ""}
.claim{font:italic 400 var(--fs-claim)/1.2 var(--serif);color:var(--accent);margin:1rem 0 0;max-width:22ch;text-wrap:balance}
.standfirst{max-width:var(--measure-stand);margin:0;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.links{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:1rem 0 0;padding:0;font-size:var(--fs-small)}
.links a{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--touch);text-decoration-color:transparent}
.links a:hover{text-decoration-color:var(--accent)}
.links .i{width:.95rem;height:.95rem;color:var(--ink-3)}
.links a:hover .i{color:var(--accent-strong)}
.side{display:grid;gap:1.5rem;align-content:start;min-width:0}
/* Retrato redondo con anillo fino de papel (como en la web actual) */
.portrait{width:11.5rem}
.portrait img{width:100%;border-radius:50%;padding:.3rem;background:var(--surface);border:1px solid var(--rule-strong)}
.portrait figcaption .loc{display:block;font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.85rem;font-feature-settings:"case"}
.avail{display:block;font-size:var(--fs-meta);color:var(--ink-2);margin-top:.35rem;line-height:1.5}
.now{border-top:2px solid var(--ink);padding-top:.7rem;min-width:0}
.now-h,.ways h3{font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--accent);display:flex;justify-content:space-between;gap:.75rem;margin:0 0 .15rem;font-feature-settings:"case"}
.now ul,.ways ul{list-style:none;margin:0;padding:0}
.now li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;padding:.6rem 0;border-bottom:1px solid var(--rule);font-size:var(--fs-ui);line-height:1.35;align-items:start}
.now li::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);margin-top:.42rem}
.now b{font-weight:600;display:block}
.now .org{color:var(--ink-2);font-size:var(--fs-small)}
.now li>time,.now .dates{font:500 var(--fs-meta)/1.4 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:.1rem}
@media screen and (max-width:55.99em){
  .portrait{display:grid;grid-template-columns:7rem minmax(0,1fr);column-gap:1.25rem;align-items:start;width:auto;padding:0;background:none;border:0}
  .portrait img{border-radius:50%}
  .portrait figcaption .loc{margin-top:.15rem}
}
@media screen and (max-width:29.99em){.actions .btn{flex:1 1 100%;justify-content:center}}
/* Figura a una columna solo en < 22,5 em */
@media screen and (max-width:22.49em){
  .portrait{grid-template-columns:1fr;row-gap:.25rem}
  .portrait img{width:7rem}
}
@media (min-width:40em){
  .dateline{flex-direction:row;flex-wrap:wrap}
  .dateline .sep{display:inline}
}
@media (min-width:56em){
  .hero .wrap{grid-template-columns:minmax(0,1fr) var(--side-col);grid-template-rows:auto 1fr;column-gap:4rem;row-gap:0}
  .hero-head{grid-row:1;grid-column:1}
  .hero-body{grid-row:2;grid-column:1}
  .side{grid-row:1/3;grid-column:2;align-self:start}
  .standfirst{margin-top:1.5rem}
}
@media (min-width:72em){
  .hero .wrap{column-gap:5rem}
  :root{--side-col:19rem;--gantt-label:23.5rem}
}

/* ---------- Secciones (§4.2, §5.5) ---------- */
.sec{padding-block:var(--sec-pad);border-top:1px solid var(--rule)}
.sec .wrap{display:grid;grid-template-columns:minmax(0,1fr)}
.sec-num{display:none}
.sec-head{margin-bottom:var(--sec-head-mb)}
.sec-head h2{font-size:var(--fs-h2);letter-spacing:var(--ls-h2);line-height:var(--lh-head);text-wrap:balance}
.sec-head .sub{margin-top:.7rem;color:var(--ink-2);font-size:1rem;max-width:60ch}
.facts{margin:.8rem 0 0;font:500 var(--fs-meta)/1.6 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;gap:.25rem 0;overflow:hidden}
.facts span{position:relative;margin:0 1.3em 0 -1.3em;padding-left:1.3em}
.facts span::before{content:"·";content:"·" / ", ";position:absolute;left:0;top:0;width:1.3em;text-align:center;color:var(--accent);font-weight:700}
.sec-body{min-width:0}
@media (min-width:64em){
  .sec .wrap{grid-template-columns:var(--margin-col) minmax(0,1fr);column-gap:2.5rem}
  .sec-num{display:block;position:sticky;top:calc(var(--runhead-h) + 1.5rem);z-index:var(--z-secnum);align-self:start;grid-column:1;grid-row:1/3;font:300 var(--fs-secnum)/1 var(--serif);letter-spacing:var(--ls-secnum);color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:.35rem}
  .sec-num::after{content:"";display:block;width:2.25rem;height:2px;background:var(--accent);margin-top:.9rem}
  .sec-head,.sec-body{grid-column:2}
  .eyebrow .n,.eyebrow .dash{display:none}
}
@media (min-width:64em) and (max-width:79.99em){.sec-num{top:calc(2.75rem + 1.5rem)}}

/* ---------- Sobre mí (§5.6) ---------- */
.lede{font:400 var(--fs-lede)/var(--lh-lede) var(--serif);max-width:var(--measure-lede)}
.lede::first-letter{font-size:3.1em;float:left;line-height:.82;padding:.1em .1em 0 0;color:var(--accent);font-weight:500}
.sheet{margin-top:2.25rem;clear:both}
.ficha{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;border-top:2px solid var(--ink);margin:0}
.ficha div{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:1.1rem 1rem 1rem 0;border-bottom:1px solid var(--rule)}
.ficha div:nth-child(odd){border-right:1px solid var(--rule)}
.ficha div:nth-child(even){padding-left:1rem}
.ficha dt{font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-3);margin-top:.55rem;font-feature-settings:"case"}
.ficha .v{font:400 var(--fs-figure)/1 var(--serif);letter-spacing:-.02em;display:block}
.ficha .plus{color:var(--accent);font-size:.6em;vertical-align:.35em;margin-left:.05em}
.datos{display:flex;flex-wrap:wrap;gap:.5rem 2.25rem;margin:1.1rem 0 0;font-size:var(--fs-ui)}
.datos div{display:flex;gap:.5rem;align-items:baseline}
.datos dt{font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-3);font-feature-settings:"case"}
.datos dd{margin:0;font-weight:600}
@media (min-width:40em) and (max-width:63.99em){
  .ficha{grid-template-columns:repeat(4,1fr)}
  .ficha div:nth-child(odd){border-right:0}
  .ficha div+div{border-left:1px solid var(--rule);padding-left:1rem}
}
@media (min-width:64em){
  .about-grid{display:grid;grid-template-columns:minmax(0,1fr) 22rem;column-gap:4rem;align-items:start}
  .sheet{margin-top:0}
  .datos{flex-direction:column;gap:.5rem}
}

/* ---------- Cronograma (§5.7) ---------- */
.gantt{margin:0 0 clamp(2rem,5vw,3rem);padding:1rem 0 1.125rem;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.gantt figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:.875rem;font-feature-settings:"case"}
.gantt figcaption .t{color:var(--accent)}
.g-axis,.g-track{display:grid;grid-template-columns:repeat(18,minmax(0,1fr))}
.g-axis{font:500 var(--fs-label)/1.2 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-bottom:.375rem}
.g-axis span{grid-row:1;border-left:1px solid var(--rule-strong);padding-left:.3rem;white-space:nowrap}
.g-axis span:last-child{justify-self:end;border-left:0;border-right:1px solid var(--rule-strong);padding-left:0;padding-right:.3rem}
.g-rows{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.g-row{display:grid;gap:.2rem}
.g-lab{font-size:var(--fs-meta);color:var(--ink-2);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.g-track{height:.5rem;background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px calc(100%/18))}
.g-bar{grid-row:1;height:100%;border-radius:2px;background:var(--bar-past)}
.g-row.is-current .g-bar{background:var(--bar)}
.g-row.is-current .g-lab{color:var(--ink);font-weight:600}
@media (min-width:48em){
  .g-axis{margin-left:calc(var(--gantt-label) + .75rem)}
  .g-rows{gap:.5rem}
  .g-row{grid-template-columns:var(--gantt-label) minmax(0,1fr);gap:.75rem;align-items:center}
  .g-track{height:.625rem}
}
@media (max-width:47.99em){.g-axis .g-near{width:0;padding-left:0;overflow:hidden;border-left:0}}
@media (min-width:64em){:root{--gantt-label:20rem}}

/* ---------- Entradas (§5.8, §5.10, §5.14) ---------- */
.entry{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem 2rem;padding-block:var(--entry-pad);border-top:1px solid var(--rule)}
.entry:first-of-type{border-top:0}
.gantt+.entry{padding-top:0}
.when{font:500 var(--fs-small)/1.4 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums;letter-spacing:.01em;padding-top:.3rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}
.when .tag,.when .num{margin:0}
.when .num{font:600 var(--fs-meta)/1.4 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.entry-main{min-width:0}
.entry-top{display:flex;gap:1rem;align-items:flex-start}
.entry-top>div{min-width:0}
.plate{flex:none;width:3rem;height:3rem;background:var(--plate);border:1px solid var(--rule);border-radius:var(--r-1);display:grid;place-items:center;padding:.3rem;overflow:hidden;margin-top:.15rem;text-decoration:none;color:var(--ink)}
.plate img{width:100%;height:100%;object-fit:contain}
.plate.icon svg{width:1.4rem;height:1.4rem;color:var(--ink-3)}
a.plate:hover{border-color:var(--accent)}
.feature .plate{width:3.5rem;height:3.5rem}
.entry h3,.entry h4{font-size:var(--fs-h3-entry);line-height:var(--lh-title);font-weight:500;text-wrap:balance}
.entry.feature h3{font-size:var(--fs-h3-feature);line-height:1.12}
.entry .org{margin:.25rem 0 0;color:var(--ink-2);font-size:var(--fs-ui)}
.prose{margin:.9rem 0 0;max-width:var(--measure)}
.feature .prose{font:400 var(--fs-prose-feature)/1.52 var(--serif)}
.lines{margin:.6rem 0 0;font-size:var(--fs-small);color:var(--ink-2);max-width:var(--measure)}
.lines p+p{margin-top:.25rem}
.lines b{color:var(--ink)}
.dash{list-style:none;padding:0;margin:.75rem 0 0;max-width:var(--measure)}
.dash li{position:relative;padding-left:1.1rem;margin:.25rem 0;font-size:var(--fs-ui)}
.dash li::before{content:"–";content:"–" / "";position:absolute;left:0;color:var(--accent)}
.block{margin:.9rem 0 0;padding:.5rem 0 .5rem 1rem;border-left:2px solid var(--rule-strong);font-size:var(--fs-small);max-width:var(--measure)}
.block-title{font-weight:700;color:var(--ink);margin-bottom:.2rem}
.block .dash{margin-top:.2rem}
.block .dash li{font-size:var(--fs-small)}
.kw{margin:.9rem 0 0;font-size:var(--fs-meta);line-height:var(--lh-kw);color:var(--ink-2);max-width:var(--measure);overflow:hidden}
.kw span{display:inline-block;position:relative;white-space:nowrap;margin:0 1.2em 0 -1.2em;padding-left:1.2em}
.kw span::before{content:"·";content:"·" / ", ";position:absolute;left:0;top:0;width:1.2em;text-align:center;color:var(--accent);font-weight:700}
.meta{font-size:var(--fs-meta);color:var(--ink-2);margin-top:.35rem;line-height:var(--lh-meta)}
.meta a{text-decoration-color:var(--rule-strong)}
.meta b{color:var(--ink)}
.entry h3 a,.entry h4 a,.compact .t a,.refs cite a{text-decoration-color:transparent}
.entry h3 a:hover,.entry h4 a:hover,.compact .t a:hover,.refs cite a:hover{text-decoration-color:var(--accent)}
.ext{display:inline-block;width:.6em;height:.6em;margin-left:.3em;vertical-align:.1em;color:var(--ink-3)}
a:hover .ext{color:var(--accent-strong)}
@media (min-width:48em){
  :root{--fs-body:1.0625rem}
  .entry{grid-template-columns:var(--date-col) minmax(0,1fr)}
  .when{display:block}
  .when .tag{display:block;margin-top:.25rem}
  .when .num{display:block;margin-top:.3rem}
}

/* ---------- Grupos ---------- */
.group{margin-top:var(--group-mt)}
.group:first-child{margin-top:0}
/* Recuento corto unido con &nbsp;; .wide baja de línea en < 48 em */
.group>h3,.group-h{font-size:var(--fs-h3-group);padding-bottom:.6rem;border-bottom:2px solid var(--ink);margin:0 0 .25rem}
.group>h3 .count{white-space:nowrap;margin-left:.4rem}
@media (max-width:47.99em){.group>h3 .count.wide{display:block;margin:.3rem 0 0}}

/* ---------- Referencias (§5.9) ---------- */
.refs{list-style:none;margin:0;padding:0;counter-reset:ref}
.refs li{display:grid;grid-template-columns:minmax(0,1fr);gap:.1rem 2rem;padding:.95rem 0;border-top:1px solid var(--rule);counter-increment:ref}
.refs li:first-child{border-top:0}
.refs .y,.compact .y{font:500 var(--fs-small)/1.4 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:.2rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}
.refs .y .tag,.compact .y .tag{margin:0}
.refs li>div,.compact li>div{min-width:0}
.refs cite{font:500 1.0625rem/1.3 var(--serif);display:block;text-wrap:balance}
.refs cite::before{content:"[" counter(ref) "]";font:700 var(--fs-label)/1 var(--sans);color:var(--ink-3);margin-right:.6em;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.refs .feature{padding-block:1.25rem}
.refs .feature cite{font-size:1.375rem;line-height:1.25}
.refs .feature .meta{font-size:var(--fs-small)}
.refs .meta{margin-top:.3rem}
.meta i{font:italic 400 var(--fs-ui)/1.6 var(--serif);color:var(--ink)}
.profiles{margin-top:1.25rem;padding-top:.9rem;border-top:1px solid var(--rule);font-size:var(--fs-ui);color:var(--ink-2)}

/* ---------- Tabla (§5.11) ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-ui)}
.tbl thead th{font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-3);text-align:left;padding:.75rem .75rem .5rem 0;border-bottom:1px solid var(--rule-strong);font-feature-settings:"case"}
.tbl td,.tbl tbody th{padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--rule);vertical-align:top;text-align:left}
.tbl td:last-child,.tbl th:last-child{padding-right:0}
.tbl .prg{font-weight:600}
.tbl .num{font-variant-numeric:tabular-nums;white-space:nowrap}
@media (min-width:48em){.tbl td.num:first-of-type{width:6rem}.tbl td.num:last-child{width:11rem}}

/* ---------- Lista compacta (§5.12, §5.13, §5.15) ---------- */
.compact{list-style:none;margin:0;padding:0}
.compact li{display:grid;grid-template-columns:minmax(0,1fr);gap:.1rem 2rem;padding:.85rem 0;border-top:1px solid var(--rule)}
.compact li:first-child{border-top:0}
.compact .t{font-weight:600;font-size:var(--fs-ui);text-wrap:balance}
.compact .y{padding-top:.1rem}
.compact .meta{margin-top:.15rem}
.compact .role{font-weight:600;color:var(--ink)}
.with-plate{display:flex;gap:.9rem;align-items:flex-start}
.with-plate>div{min-width:0}
.compact .plate{width:2.75rem;height:2.75rem;margin-top:0}
@media (min-width:48em){
  .refs li,.compact li{grid-template-columns:var(--date-col) minmax(0,1fr)}
  .refs .y,.compact .y{display:block}
  .refs .y .tag,.compact .y .tag{display:block;margin-top:.25rem}
}

/* ---------- Plegables (§5.16) ---------- */
details.fold{border-top:1px solid var(--rule)}
details.fold:first-of-type{border-top:0}
details.fold summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:.75rem;padding:1rem 0;min-height:var(--touch);font:500 1.25rem/1.25 var(--serif)}
details.fold summary::-webkit-details-marker{display:none}
details.fold summary::before{content:"+";content:"+" / "";font:700 1.1rem/1 var(--sans);color:var(--accent);width:1.25rem;flex:none}
details.fold[open] summary::before{content:"–";content:"–" / ""}
details.fold summary .count{margin-left:auto;white-space:nowrap}
details.fold summary:hover{color:var(--accent-strong)}
.fold-body{padding:0 0 1.25rem 0}
.fc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0 2.5rem}
.fc li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--rule);font-size:var(--fs-ui);align-items:baseline}
.fc .n,.fc li span:last-child{font-size:var(--fs-meta);color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
/* < 40 em: nota sin partir; si no cabe, baja de línea */
@media (max-width:39.99em){.fc li{flex-wrap:wrap;gap:.15rem 1rem}.fc .n,.fc li span:last-child{margin-left:auto}}
@media (min-width:48em){
  .fold-body{padding-left:2rem}
  .fc.two{grid-template-columns:1fr 1fr}
}

/* ---------- Know-how (§5.17) ---------- */
.areas{display:grid;grid-template-columns:1fr;gap:2rem 3rem}
.area{min-width:0}
.area h3{font-size:1.3125rem;border-bottom:1px solid var(--rule-strong);padding-bottom:.45rem;margin-bottom:.6rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.area h3 .count{white-space:nowrap}
.area ul{list-style:none;margin:0;padding:0;columns:1}
.area li{position:relative;padding-left:.9rem;font-size:.90625rem;line-height:1.5;color:var(--ink-2);margin:.2rem 0;break-inside:avoid}
.area li::before{content:"·";content:"·" / "";position:absolute;left:0;color:var(--accent);font-weight:700}
.area li b{color:var(--ink);font-weight:700}
.area .sub{font:700 var(--fs-label)/1.4 var(--sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink);margin:0 0 .25rem;font-feature-settings:"case"}
.area .cols{display:grid;grid-template-columns:1fr;gap:1rem 3rem}
.area .cols>div+div{margin-top:.25rem}
@media (min-width:48em){
  .areas{grid-template-columns:1fr 1fr}
  .area.wide{grid-column:1/-1}
  .area .cols{grid-template-columns:1fr 1fr}
  .area .cols>div+div{margin-top:0}
}
/* .cols2 (§5.17): dos columnas solo con ≥ 14 rem cada una (con --max 76 rem, una) */
@media (min-width:64em){
  .area.cols2 ul{columns:14rem 2;column-gap:2rem}
}

/* ---------- Competencias (§5.18) ---------- */
.soft{display:grid;grid-template-columns:1fr;gap:1.15rem 2.5rem;list-style:none;padding:0;margin:1rem 0 0}
.soft h4{font:italic 400 1.125rem/1.25 var(--serif);text-wrap:balance}
.soft p{margin:.25rem 0 0;font-size:var(--fs-small);color:var(--ink-2)}
.two-col{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:var(--group-mt)}
.two-col>div{min-width:0}
.langs{list-style:none;margin:0;padding:0}
.langs li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule);align-items:center}
.langs .lang-n{font-size:var(--fs-ui)}
.langs .lvl{font-size:var(--fs-small);color:var(--ink-2)}
.meter{width:5.5rem;height:4px;background:var(--rule);border-radius:2px;overflow:hidden;flex:none}
.meter i{display:block;height:100%;background:var(--accent)}
.w85{width:85%}
.w100{width:100%}
.vol{padding-top:.5rem}
.vol .when{padding-top:0}
.vol .t{font:500 1.125rem/1.3 var(--serif);margin-top:.35rem;text-wrap:balance}
@media (min-width:40em){.soft{grid-template-columns:1fr 1fr}}
@supports (grid-template-rows:subgrid){@media (min-width:40em){.soft li{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}}}
@media (min-width:48em){.two-col{grid-template-columns:1fr 1fr}}
@media (min-width:64em){.soft{grid-template-columns:repeat(3,1fr)}}

/* ---------- Contacto (§5.19, §5.20) ---------- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2.75rem}
.contact-form{min-width:0}
.contact-form h3{font-size:var(--fs-h3-group);margin-bottom:.4rem}
.intro{max-width:60ch;color:var(--ink-2);margin-bottom:1.5rem}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.field{margin-bottom:1.15rem}
.field label{display:block;font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-2);margin-bottom:.45rem;font-feature-settings:"case"}
.field .req{color:var(--accent)}
.field input,.field textarea{width:100%;font:inherit;font-size:1rem;line-height:1.4;min-height:var(--touch);padding:.7rem .85rem;border:1px solid var(--rule-strong);border-radius:var(--r-1);background:var(--surface);color:var(--ink);margin:0}
.field textarea{resize:vertical;min-height:8.5rem;display:block}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3);opacity:1}
.field input:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border:2px solid var(--err)}
.form-foot{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center}
.status{min-height:1.5rem;font-size:.9rem;color:var(--ink-2);flex:1 1 14rem;margin:0}
.status.ok{color:var(--ok)}
.status.err{color:var(--err)}
.legal{font-size:var(--fs-meta);color:var(--ink-3);margin-top:1.25rem;max-width:60ch;line-height:1.55}
.ways{border-top:2px solid var(--ink);padding-top:.7rem;min-width:0}
.ways li{padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:var(--fs-ui);display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;line-height:1.4}
.ways .i{width:1.05rem;height:1.05rem;color:var(--ink-3);margin-top:.35rem}
.ways .k{display:block;font:700 var(--fs-label)/1.4 var(--sans);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-3);font-feature-settings:"case"}
.ways a{font-weight:600;text-decoration-color:transparent;display:inline-flex;align-items:flex-start;min-height:var(--touch);padding-top:.15rem;margin-bottom:-.5rem;overflow-wrap:anywhere}
.ways a:hover{text-decoration-color:var(--accent)}
@media (min-width:56em){.contact-grid{grid-template-columns:minmax(0,1fr) var(--ways-col);gap:4rem}}

/* ---------- Colofón (§5.21) ---------- */
.colofon{border-top:2px solid var(--ink);padding:2.25rem 0 3.5rem;font-size:var(--fs-small);color:var(--ink-2)}
.colofon .wrap{display:grid;gap:1.25rem}
.colofon .sig{font:500 1.375rem/1.2 var(--serif);color:var(--ink)}
.colofon .phd{font:700 .75rem/1 var(--sans);letter-spacing:.08em;color:var(--ink-3);margin-left:.1em}
.colofon p+p{margin-top:.35rem}
.colofon .legal-line{font-size:var(--fs-meta);color:var(--ink-3)}
@media (min-width:48em){
  .colofon .wrap{grid-template-columns:max-content minmax(0,1fr);align-items:end}
  .colofon .right{text-align:right}
}

/* ---------- Visor del PDF (§5.22) ---------- */
.cv-modal{border:0;padding:0;width:min(96vw,64rem);height:min(92vh,60rem);max-width:none;max-height:none;background:var(--paper);color:var(--ink);border-radius:var(--r-2);box-shadow:var(--shadow-modal)}
.cv-modal::backdrop{background:rgba(26,23,20,.55);background:var(--backdrop)}
.cv-modal-panel{display:flex;flex-direction:column;height:100%}
.cv-modal-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.cv-modal-head .eyebrow{margin-bottom:.15rem}
.cv-modal-title{font-size:1.125rem}
.cv-modal-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.cv-modal-frame{flex:1;width:100%;border:0;background:#4a4744;min-height:0}
.cv-modal-note{font-size:var(--fs-meta);color:var(--ink-3);padding:.6rem 1.25rem;border-top:1px solid var(--rule)}
body:has(.cv-modal[open]){overflow:hidden}
@media (max-width:40em){
  .cv-modal{width:100vw;height:100dvh;border-radius:0}
  .cv-modal .btn.sm .lbl{display:none}
}

/* ---------- Movimiento (§2, §12.11) ---------- */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  a,.btn,.ibtn,.plate,.index a,.lang a,.field input,.field textarea,details.fold summary{transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease),outline-color var(--dur) var(--ease)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ---------- Colores forzados (Windows High Contrast) ---------- */
@media (forced-colors:active){.g-bar,.meter i{forced-color-adjust:none;background:CanvasText}}

/* ---------- Impresión (§11) ---------- */
@media print{
  /* :root:root (0,2,0) gana a los selectores del modo oscuro */
  :root:root{color-scheme:light;--paper:#fff;--paper-2:#fff;--surface:#fff;--ink:#000;--ink-2:#222;--ink-3:#444;--rule:#bbb;--rule-strong:#888;--accent:#7a2619;--accent-strong:#7a2619;--bar:#7a2619;--bar-past:#777;--plate:#fff}
  @page{margin:16mm 14mm}
  .runhead,.actions,.tools,.skip,.cv-modal,.contact-form,.legal,.links svg,.grecaptcha-badge,noscript{display:none!important}
  body{font-size:10pt;line-height:1.4;color:#000;background:#fff}
  .g-bar,.meter i,.sec-num::after{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hero{padding:0 0 1rem}
  .hero .wrap{grid-template-columns:minmax(0,1fr) 12rem;grid-template-rows:auto 1fr;gap:0 2rem}
  .hero-head{grid-row:1;grid-column:1}
  .hero-body{grid-row:2;grid-column:1}
  .side{grid-row:1/3;grid-column:2;grid-template-columns:1fr;gap:1rem}
  .portrait{width:auto}
  .portrait img{width:8rem}
  .now li{grid-template-columns:auto minmax(0,1fr)}
  .now li>time,.now .dates{grid-column:2;padding-top:0}
  .sec{padding-block:1rem;break-inside:auto}
  .sec-num{position:static;display:block;font-size:1.5rem}
  .eyebrow .n,.eyebrow .dash{display:none}
  .entry,.refs li,.compact li,.area,.soft li,.gantt,.tbl tr,.fc li{break-inside:avoid}
  h2,h3,h4,summary{break-after:avoid}
  a{text-decoration:none;color:inherit}
  .ways a[href^="http"]::after,.links a[href^="http"]::after,.profiles a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;color:#444;font-weight:400;overflow-wrap:anywhere}
  .refs cite a .ext,.ext{display:none}
  details.fold{border-top:1px solid var(--rule)}
  details.fold summary::before{content:""}
  .fold-body{padding-left:0}
  .areas{grid-template-columns:1fr 1fr}
  .g-track{background:none;border-bottom:1px dotted #bbb}
  .contact-grid{grid-template-columns:1fr}
}

/* ---------- Cronograma: columnas del eje; el build añade las que falten ---------- */
.gc-1-2{grid-column:1/2}.gc-4-5{grid-column:4/5}.gc-7-8{grid-column:7/8}.gc-10-11{grid-column:10/11}.gc-13-14{grid-column:13/14}.gc-16-17{grid-column:16/17}.gc-18-19{grid-column:18/19}
/* gantt */
.gc-1-5{grid-column:1/5}
.gc-3-7{grid-column:3/7}
.gc-5-16{grid-column:5/16}
.gc-8-16{grid-column:8/16}
.gc-11-13{grid-column:11/13}
.gc-15-17{grid-column:15/17}
.gc-16-19{grid-column:16/19}
