/* ── hacer_pagina_menos_responsive_y_mas_estatica.json ──────────────
   El sitio se queda con dos composiciones y ninguna escala de forma
   continua al arrastrar el borde: escritorio resuelto a 1440 y movil a
   375, con una sola frontera en 1024/1025. Cada regla que vivia fuera
   de una media query lleva detras su version movil, en su sitio, para
   no pisar a las media queries moviles que ya existian. */
:root{
  --bg:#F3F2EE; --bg-2:#E4E4E1; --ink:#111111; --ink-2:#4E4E4C; --muted:#6A6A67; --orange:#FF572B;      /* marca: solo superficies */
  --orange-ink:#A8360F;                  /* naranja legible para texto  5.82:1 */
  --on-orange:#111111;                   /* texto sobre naranja         5.71:1 */
  --line:#D8D8D4; --line-ui:#8A8A86; --card:#F8F8F7;
  --slab:#111111; --slab-2:#1E1E1E; --on-slab:#F3F2EE;
  --disp:'Archivo',-apple-system,'Helvetica Neue',sans-serif;
  --play:'Gabarito','Archivo',-apple-system,sans-serif;
  --body:'Archivo',-apple-system,'Helvetica Neue',Helvetica,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --t-eyebrow:.6875rem; --t-micro:.8125rem; --t-small:.9375rem; --t-body:1.0625rem;
  /* --t-tiny se usaba en 17 reglas pero no estaba definida: todas caian al
     tamaño heredado (17px), asi que nada de lo marcado como 'tiny' lo era.
     Va por debajo de --t-micro, que es el siguiente escalon. */
  --t-tiny:.75rem;
  --t-lead:1.275rem; --t-h3:24.0px; --t-h2:52.0px;
  --t-tap:140ms; --t-ui:240ms; --t-enter:480ms; --t-image:640ms}@media(max-width:1024px){:root{ --t-h3:19.0px; --t-h2:30.0px}}*{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:106px}section[id]{scroll-margin-top:-18.0px}@media(max-width:1024px){section[id]{scroll-margin-top:40.0px}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;max-width:100%}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--trim)}.kick,.blade{font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted);margin:0 0 18px;display:block}.street .blade{color:rgba(241,241,239,.6)}.hero .blade{color:rgba(255,255,255,.82);text-shadow:0 1px 12px rgba(0,0,0,.5)}:root{}.wrap{position:relative}.street .blade,footer @media(max-width:1024px){
      .street .blade,footer }h1,h2,h3{font-family:var(--disp);font-weight:700;margin:0;text-wrap:balance;hyphens:none}h1{font-size:88.0px;font-stretch:118%;font-variation-settings:"wdth" 118;letter-spacing:-.012em;line-height:calc(1em + 4px)}@media(max-width:1024px){h1{font-size:40.0px}}h2{font-size:var(--t-h2);font-stretch:112%;font-variation-settings:"wdth" 112;letter-spacing:-.014em;line-height:calc(1em + 3px)}h3{font-size:var(--t-h3);font-stretch:100%;font-variation-settings:"wdth" 100;letter-spacing:-.008em;line-height:calc(1em + 3px)}.nextup strong,.faq summary,.mnav a{font-stretch:106%;font-variation-settings:"wdth" 106;font-weight:600;letter-spacing:0}p{margin:0 0 1em}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:12px 20px;z-index:999}.skip:focus{left:8px;top:8px}:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:0}/* ── NAV ── */
.nav{position:sticky;top:0;z-index:90;background:rgba(243,242,238,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav .in{max-width:var(--wrap);margin:0 auto;padding:0 28px;height:84px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{height:46px;width:auto}.links{display:flex;gap:26px;margin-left:auto;align-items:center}.links a{font-size:var(--t-small);font-weight:500;color:var(--ink-2);transition:color var(--t-tap) var(--ease)}.links a:hover{color:var(--orange-ink)}.links a.btn{color:var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;min-height:48px;border-radius:0;font-weight:600;font-size:var(--t-small);border:1px solid transparent;transition:background-color var(--t-tap) var(--ease),color var(--t-tap) var(--ease),transform var(--t-ui) var(--ease);cursor:pointer;font-family:var(--body)}.btn-o{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-o:hover{background:var(--orange);color:#111111;border-color:var(--orange)}.btn-g{border-color:var(--ink);color:var(--ink)}.btn-g:hover{background:var(--ink);color:var(--bg)}.links a.btn-nav{background:var(--ink);color:var(--bg);border-color:var(--ink);min-height:42px;padding:0 20px}.links a.btn-nav:hover{background:var(--orange);color:#111111;border-color:var(--orange)}.burger{display:none;background:none;border:0;cursor:pointer;color:var(--ink);padding:10px;min-width:48px;min-height:48px;margin-left:auto;flex-shrink:0}/* ── HERO ── */
.hero{position:relative;min-height:clamp(600px,92vh,880px);display:flex;align-items:flex-end;overflow:hidden}.hero .bg{position:absolute;inset:0}.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;
  will-change:transform;animation:heroDrift 34s cubic-bezier(.4,0,.6,1) infinite alternate}.hero .bg::after{z-index:2}@keyframes heroDrift{from{transform:scale(1)}to{transform:scale(1.07)}}@media(prefers-reduced-motion:reduce){.hero .bg img{animation:none}}.hero .bg::after{content:'';position:absolute;inset:0;background:
  linear-gradient(96deg,rgba(14,11,9,.80) 0%,rgba(14,11,9,.58) 40%,rgba(14,11,9,.18) 70%,rgba(14,11,9,0) 88%),
  linear-gradient(to top,rgba(14,11,9,.55) 0%,rgba(14,11,9,0) 38%)}.hero .in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:0 28px 86px;width:100%;color:#F7F4ED}.hero h1{max-width:14ch;color:#fff;max-width:17ch;text-shadow:0 2px 30px rgba(0,0,0,.3)}.hero .sub{max-width:46ch;font-size:var(--t-lead);color:rgba(247,244,237,.92);margin-top:22px;line-height:1.45}.hero .cta{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}.hero .btn-g{border-color:rgba(255,255,255,.85);color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hero .btn-g:hover{background:#fff;color:#141210}.hero .btn-o{background:rgba(20,20,20,.92);border-color:rgba(20,20,20,.92);color:#F3F2EE}.hero .btn-o:hover{background:var(--orange);color:#111111;border-color:var(--orange)}/* ── NEXT UP BAR ── */
.nextup{background:var(--slab);color:var(--on-slab);padding:22px 0}.nextup .in{max-width:var(--wrap);margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.nextup .lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}.nextup strong{font-family:var(--disp);font-size:1.16rem;font-weight:700;letter-spacing:-.02em}.cdown{display:flex;gap:18px;margin-left:auto;align-items:baseline}.cdown div{text-align:right;font-family:var(--mono);min-width:auto;display:flex;align-items:baseline;gap:5px}.cdown b{display:block;font-size:1.28rem;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}.cdown span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,242,238,.58)}section{padding:124.0px 0}@media(max-width:1024px){section{padding:66.0px 0}}section.tight{padding:60.0px 0}@media(max-width:1024px){section.tight{padding:40.0px 0}}.head{max-width:none;display:grid;grid-template-columns:1fr;row-gap:20px;
  column-gap:86.4px;align-items:end;border-bottom:1px solid var(--line);
  padding-bottom:22px;margin-bottom:64.0px}@media(max-width:1024px){.head{
  column-gap:40.0px;margin-bottom:44.0px}}.head h2{grid-column:1;max-width:20ch}.head .lead{grid-column:1;max-width:46ch;margin:0;font-size:var(--t-lead);line-height:1.44;color:var(--ink-2)}@media(min-width:1025px){.head{grid-template-columns:minmax(0,7fr) minmax(0,4fr);row-gap:0}.head h2{max-width:14ch}.head .lead{grid-column:2;max-width:38ch}}.head .street .head{border-bottom-color:rgba(255,255,255,.18)}/* ── EVENTS ── */
.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:44px;align-items:center}.chip{padding:0 22px;min-height:48px;border-radius:0;display:inline-flex;align-items:center;border:1px solid var(--line-ui);background:none;font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;color:var(--ink-2);transition:.18s}.chip{transition:border-color var(--t-tap) var(--ease),background-color var(--t-tap) var(--ease),color var(--t-tap) var(--ease)}.chip:hover{border-color:var(--ink)}.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.evs{display:grid;grid-template-columns:repeat(12,1fr);gap:44px 26px}.ev{grid-column:span 3}.ev .date{display:flex;align-items:baseline;gap:10px}.ev .date .n{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;
  padding-right:10px;border-right:1px solid var(--line)}.evcount{font-family:var(--disp);font-size:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:0;align-self:center}@media(max-width:1024px){.ev{grid-column:span 4}}@media(max-width:1024px){.ev{grid-column:span 6}}@media(max-width:1024px){.ev{grid-column:span 12}}.ev{background:none;border:0;overflow:visible;display:flex;flex-direction:column}.ev .ph{aspect-ratio:4/3;overflow:hidden;background:var(--bg-2)}.ev .ph img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-image) var(--ease)}.ev:hover .ph img{transform:scale(1.05)}.ev .bd{padding:14px 0 0;flex:1;display:flex;flex-direction:column;border-top:1px solid var(--ink);background:none}.ev .date{font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:9px}.ev p{font-size:var(--t-small);color:var(--ink-2);margin:10px 0 0;text-wrap:pretty;line-height:1.5}/* ── SPLIT ── */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:57.6px;align-items:end}@media(max-width:1024px){/* ── SPLIT ── */
.split{
  gap:28.0px}}#bucks .ph{margin-right:calc(-1*(28px + max(0px,(1440.0px - var(--wrap))/2)))}@media(max-width:1024px){#bucks .ph{margin-right:calc(-1*(28px + max(0px,(375.0px - var(--wrap))/2)))}}#story .ph{margin-left:calc(-1*(28px + max(0px,(1440.0px - var(--wrap))/2)))}@media(max-width:1024px){#story .ph{margin-left:calc(-1*(28px + max(0px,(375.0px - var(--wrap))/2)))}}#story .tag{left:auto;right:0}@media(max-width:1024px){#bucks .ph,#story .ph{margin-inline:-28px;height:clamp(340px,52vh,460px)}}.split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split .ph{position:relative;height:clamp(420px,68vh,660px);overflow:hidden}.split .ph img{width:100%;height:100%;object-fit:cover}.tag{position:absolute;left:0;bottom:24px;background:var(--orange);color:var(--on-orange);padding:11px calc(19px - .15em) 11px 19px;font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase}/* ── PILLARS ── */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:26px}.col{background:none;border:0;overflow:visible;display:flex;flex-direction:column}.col .ph{aspect-ratio:16/10;overflow:hidden}.col .ph img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-image) var(--ease)}.col:hover .ph img{transform:scale(1.04)}.col .bd{padding:16px 0 0;border-top:1px solid var(--ink)}.col p{font-size:var(--t-small);color:var(--ink-2);margin:11px 0 18px;line-height:1.55}.col a{font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.11em;text-transform:uppercase;color:var(--orange-ink);border-bottom:1.5px solid var(--orange);padding-bottom:2px}/* ── STREET ── */
.street{background:var(--slab);color:var(--on-slab)}.street .kick{color:var(--orange)}.street h2{color:#fff}.street .lead{color:rgba(241,241,239,.76);max-width:56ch;margin-top:16px}.blocks{display:grid;grid-template-columns:repeat(8,1fr);gap:0;background:none;border:0;
  align-items:end;margin-top:64.0px;border-bottom:2px solid var(--orange)}@media(max-width:1024px){.blocks{margin-top:44.0px}}.blk{--i:0;background:none;padding:0 14px 0 0;border-left:1px solid rgba(255,255,255,.16);
  min-height:calc(112px + var(--i)*20px);display:flex;flex-direction:column;justify-content:flex-end}.blk>*{flex:none}.blk p{min-height:4.5em}.blk:first-child{border-left:0;padding-left:0}.blk span{font-family:var(--disp);font-size:1.6rem;font-weight:600;font-stretch:106%;font-variation-settings:"wdth" 106;
  letter-spacing:-.01em;color:var(--orange);text-transform:none;margin-bottom:8px;display:block}.blk b{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(243,242,238,.76);display:block}.blk p{font-size:.86rem;line-height:1.5;color:rgba(241,241,239,.66);margin:8px 0 20px;max-width:22ch;height:4.5em;overflow:hidden}@media(max-width:1024px){.blocks{grid-template-columns:repeat(4,1fr);row-gap:34px;border-bottom:0}.blk{min-height:auto;border-bottom:2px solid var(--orange);padding-bottom:14px}}@media(max-width:1024px){.blocks{grid-template-columns:repeat(2,1fr)}}.street{padding-block:132.0px}@media(max-width:1024px){.street{padding-block:84.0px}}.street .head{max-width:none;margin-bottom:0}.street h2{font-size:96.0px;line-height:.94;font-stretch:112%;font-variation-settings:"wdth" 112;
  letter-spacing:-.014em;max-width:15ch;color:#fff}@media(max-width:1024px){.street h2{font-size:44.0px}}.street .lead{margin-top:24px;max-width:46ch}/* ── FAQ ── */
.faq{max-width:820px}#faq h2{font-size:34.0px}@media(max-width:1024px){#faq h2{font-size:26.0px}}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;min-height:44px;font-family:var(--disp);font-size:1.08rem;font-weight:600;letter-spacing:-.015em;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';color:var(--orange-ink);font-size:1.5rem;transition:transform .25s}.faq details[open] summary::after{transform:rotate(45deg)}.faq p{margin:15px 0 0;color:var(--ink-2);font-size:var(--t-body);max-width:520px;line-height:1.65}/* ── NEWSLETTER ── */
@media(max-width:1024px){}/* ── CIERRE: el unico plano naranja ── */
#donate{background:var(--orange);color:#111111;padding:140.0px 0}@media(max-width:1024px){/* ── CIERRE: el unico plano naranja ── */
#donate{padding:88.0px 0}}.news{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  column-gap:100.8px;align-items:start}@media(max-width:1024px){.news{
  column-gap:48.0px}}.news .blade{color:#111111;opacity:.62;background:none;margin:0 0 20px}.news h2{font-size:58.0px;max-width:13ch;color:#111111;margin:0}@media(max-width:1024px){.news h2{font-size:34.0px}}.news p{color:#111111;max-width:44ch;margin:22px 0 0;font-size:var(--t-lead);line-height:1.45}.news .acts{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.news form{display:flex;gap:0;max-width:440px;margin:0}.news label{position:absolute;left:-9999px}.news input{flex:1;min-width:0;padding:0 18px;min-height:52px;border:1px solid #111111;border-right:0;
  border-radius:0;background:#F8F8F7;color:#111111;font-family:var(--body);font-size:var(--t-small)}.news input::placeholder{color:#7A6B62}.news input:focus{outline:2px solid #111111;outline-offset:-2px}.news small{display:block;margin-top:14px;font-size:var(--t-micro);color:#111111;opacity:.68}.news .btn-o{background:#111111;color:#F3F2EE;border-color:#111111}.news .btn-o:hover{background:#F8F8F7;color:#111111}.news .btn-g{border-color:#111111;color:#111111}.news .btn-g:hover{background:#111111;color:#F3F2EE}.news form .btn{min-height:52px;border-left:0}@media(max-width:1024px){.news{grid-template-columns:1fr;row-gap:38px}}/* ── FOOTER ── */
/* el footer en el azul marino de la marca, el mismo del topbar.
   Comprobado: enlaces 9.04:1, titulos naranja 5.31:1, copyright 5.79:1 */
footer{background:#0B1F30;color:rgba(243,242,238,.76);padding:70px 0 34px;font-size:.88rem}.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.13)}.fmark{height:26px;width:auto}.accred{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:26px 0 0;opacity:.42}.accred img{width:auto;filter:grayscale(1)}footer h4{font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.19em;text-transform:uppercase;color:var(--orange);margin:0 0 16px;font-weight:500}footer li{list-style:none;margin-bottom:4px;line-height:1.4}footer li a{display:inline-block;padding:3px 0}footer ul{padding:0;margin:0}footer a:hover{color:#fff}.fbot{display:flex;justify-content:space-between;gap:22px;padding-top:26px;flex-wrap:wrap;font-size:.76rem;color:rgba(243,242,238,.58)}.funded{margin-top:20px;font-size:.75rem;line-height:1.6;color:rgba(243,242,238,.58);max-width:52ch}/* ── STICKY MOBILE CTA ── */
.sticky{display:none}@media(max-width:1024px){.split,.split.rev{grid-template-columns:1fr}.hero .sub{max-width:100%}.hero .in{padding-bottom:44px}.nextup .in{gap:11px}.nextup strong{font-size:1.12rem}.sticky a{font-size:.79rem;padding:12px 10px;white-space:nowrap}.fgrid{grid-template-columns:1fr 1fr}.links{display:none}.burger{display:block}.nav .in{gap:14px}.hero{min-height:78vh}.cdown{width:100%;margin-left:0;margin-top:6px}.sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;background:var(--slab);padding:11px 16px;gap:10px;border-top:1px solid rgba(255,255,255,.15)}.sticky a{flex:1;justify-content:center}body{padding-bottom:72px}.mnav{display:block}}@media(max-width:1024px){.fgrid{grid-template-columns:1fr}}.mnav{display:none;position:fixed;inset:0;background:var(--bg);z-index:100;padding:26px;overflow:auto}.mnav.on{display:block}.mnav a{display:block;font-family:var(--disp);font-size:2rem;padding:13px 0;border-bottom:1px solid var(--line)}.mnav .x{position:fixed;top:14px;right:14px;z-index:3;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;
  font-size:1.9rem;line-height:1;color:var(--ink);background:var(--bg);
  box-shadow:0 2px 16px rgba(20,20,20,.18)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}/* ═══════════ SUB-PAGINAS ═══════════ */
.crumbs{max-width:var(--wrap);margin:0 auto;padding:24px 28px 0;font-family:var(--disp);
  font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--orange-ink)}.crumbs .sep{margin:0 10px;opacity:.45}.crumbs [aria-current]{color:var(--ink)}.phead{padding:84.0px 0 64.0px}@media(max-width:1024px){.phead{padding:44.0px 0 40.0px}}.phead .in{max-width:var(--wrap);margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr;row-gap:20px;
  column-gap:86.4px;align-items:end;
  border-bottom:1px solid var(--line);padding-bottom:44.0px}@media(max-width:1024px){.phead .in{
  column-gap:40.0px;padding-bottom:28.0px}}.phead h1{font-size:76.0px;max-width:18ch;grid-column:1}@media(max-width:1024px){.phead h1{font-size:38.0px}}.phead .lead{grid-column:1;max-width:46ch;margin:0;font-size:var(--t-lead);
  line-height:1.44;color:var(--ink-2)}.phead .blade{grid-column:1;margin-bottom:12px}@media(min-width:1025px){.phead .in{grid-template-columns:minmax(0,7fr) minmax(0,4fr);row-gap:0}.phead h1{max-width:13ch}.phead .lead{grid-column:2;max-width:38ch}}.pfig{width:1440.0px;margin:0 0 0 calc(50% - 720.0px);height:clamp(320px,52vh,560px);overflow:hidden;position:relative}@media(max-width:1024px){.pfig{width:375.0px;margin:0 0 0 calc(50% - 187.5px)}}.pfig img{width:100%;height:100%;object-fit:cover}.prose{max-width:60ch}.prose p{font-size:var(--t-body);line-height:1.68;color:var(--ink-2);margin:0 0 1.15em}.prose p:first-child{font-size:var(--t-lead);line-height:1.5;color:var(--ink)}.prose h3{margin:2em 0 .6em}.prose ul{padding-left:1.1em;margin:0 0 1.3em}.prose li{margin-bottom:.5em;color:var(--ink-2);line-height:1.6}.prose a{border-bottom:1.5px solid var(--orange);padding-bottom:1px}.prose a:hover{color:var(--orange-ink)}.two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:86.4px;align-items:start}@media(max-width:1024px){.two{
  gap:40.0px}}@media(max-width:1024px){.two{grid-template-columns:1fr}}.people{display:grid;grid-template-columns:1fr;gap:34px 26px}@media(min-width:1025px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1025px){.people{grid-template-columns:repeat(3,minmax(0,1fr))}.person{max-width:36ch}}@media(min-width:1025px){.people{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:20px}.person b{min-height:2.4em;line-height:1.2}.person span{white-space:nowrap}}.person b{display:block;font-family:var(--disp);font-size:1.06rem;font-weight:700;letter-spacing:-.015em}.person span{display:block;font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange-ink);margin-top:5px}.person p{font-size:var(--t-small);color:var(--ink-2);margin:9px 0 0;line-height:1.55}.phead + section{padding-top:60.0px}@media(max-width:1024px){.phead + section{padding-top:40.0px}}.factbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:0}.factbar.sep{margin-top:52.0px}@media(max-width:1024px){.factbar.sep{margin-top:34.0px}}.fact{padding:20px 22px 22px 0;border-left:1px solid var(--line)}.fact:first-child{border-left:0}.fact{display:flex;flex-direction:column}.fact dd{order:1}.fact dt{order:2}.fact dt{font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:9px 0 0;max-width:20ch;line-height:1.4}.fact dd{margin:0;font-family:var(--disp);font-size:44.0px;font-weight:800;
  letter-spacing:-.032em;line-height:1;font-stretch:106%;font-variation-settings:"wdth" 106}@media(max-width:1024px){.fact dd{font-size:30.0px}}@media(max-width:1024px){.fact{border-left:0;border-top:1px solid var(--line);padding:16px 0}.fact:first-child{border-top:0}}.cardgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:44px 26px}.cardgrid>*{grid-column:span 4}@media(min-width:1025px){.cardgrid.four>*{grid-column:span 3}}@media(max-width:1024px){.cardgrid>*{grid-column:span 6}}@media(max-width:1024px){.cardgrid>*{grid-column:span 12}}/* ── componentes de sub-pagina ── */
section.alt{background:var(--bg-2)}.bandcap{position:absolute;left:28px;bottom:20px;color:#fff;font-family:var(--disp);
  font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  text-shadow:0 1px 12px rgba(0,0,0,.6)}.threecol{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--ink)}.splitcol{padding:26px 26px 30px 0;border-left:1px solid var(--line)}.splitcol:first-child{border-left:0}.splitcol h4{font-family:var(--disp);font-size:1.06rem;font-weight:700;letter-spacing:-.015em;margin:0}.sc-sub{font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orange-ink);margin:6px 0 16px}@media(max-width:1024px){.threecol{grid-template-columns:1fr}.splitcol{border-left:0;border-top:1px solid var(--line);padding:22px 0 24px}.splitcol:first-child{border-top:0}}.ticks{list-style:none;padding:0;margin:0}.ticks li{position:relative;padding-left:20px;margin-bottom:9px;font-size:var(--t-small);
  color:var(--ink-2);line-height:1.5}.ticks li::before{content:'';position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--orange)}.mini{list-style:none;padding:0;margin:10px 0 0}.mini li{font-size:var(--t-micro);color:var(--muted);line-height:1.5;margin-bottom:5px;
  padding-left:14px;position:relative}.mini li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:1px;background:var(--line-ui)}.linklist{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.linklist li{border-bottom:1px solid var(--line)}.linklist a{display:block;padding:17px 0;font-family:var(--disp);font-weight:600;
  font-size:var(--t-body);letter-spacing:-.01em;transition:color var(--t-tap) var(--ease)}.linklist a:hover{color:var(--orange-ink)}.progs{display:grid;gap:0;border-top:1px solid var(--ink)}.prog{padding:28px 0;border-bottom:1px solid var(--line);display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:57.6px}@media(max-width:1024px){.prog{gap:24.0px}}.prog-h h3{margin:0}.status{display:inline-block;margin-top:9px;font-family:var(--disp);font-size:var(--t-eyebrow);
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}.prog p{margin:0;font-size:var(--t-small);color:var(--ink-2);line-height:1.6;max-width:56ch}@media(max-width:1024px){.prog{grid-template-columns:1fr;gap:12px}}.quote{margin:0;max-width:none;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);
  gap:57.6px;align-items:start}@media(max-width:1024px){.quote{
  gap:24.0px}}.quote p{grid-column:2;grid-row:1;max-width:56ch;font-family:var(--disp);
  font-size:29.0px;font-weight:600;font-stretch:104%;font-variation-settings:"wdth" 104;
  letter-spacing:-.015em;line-height:1.34;margin:0}@media(max-width:1024px){.quote p{
  font-size:20.0px}}.quote cite{grid-column:1;grid-row:1;margin:0;padding-top:9px;border-top:1px solid var(--ink);
  font-style:normal;font-family:var(--disp);font-size:var(--t-small);font-weight:700}@media(max-width:1024px){.quote{grid-template-columns:1fr;gap:0}.quote p{grid-column:1;max-width:none}.quote cite{grid-row:2;margin-top:22px;padding-top:0;border-top:0}}.quote cite span{display:block;font-weight:400;color:var(--muted);margin-top:3px}.recips{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--ink)}.recips li{display:flex;justify-content:space-between;gap:18px;padding:13px 0;
  border-bottom:1px solid var(--line);font-size:var(--t-small)}.recips b{font-weight:600}.recips span{color:var(--muted);font-family:var(--mono);font-size:var(--t-micro);
  white-space:nowrap;align-self:center}@media(max-width:1024px){.recips li{flex-direction:column;gap:4px}}.soon{display:inline-block;font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.pagenav{margin-top:80.0px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);
  padding-top:26px}@media(max-width:1024px){.pagenav{margin-top:56.0px}}.pagenav a{font-family:var(--disp);font-weight:700;font-size:var(--t-body);letter-spacing:-.015em;
  max-width:46%;transition:color var(--t-tap) var(--ease)}.pagenav a:hover{color:var(--orange-ink)}.pagenav a span{display:block;font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:5px}.pn-next{text-align:right}.ev a{display:flex;flex-direction:column;height:100%;color:inherit}.ev a:hover h3{color:var(--orange-ink)}.ev h3{transition:color var(--t-tap) var(--ease)}.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:16px}.field label{display:block;font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:0 15px;min-height:48px;
  border:1px solid var(--line-ui);border-radius:0;background:var(--card);color:var(--ink);
  font-family:var(--body);font-size:var(--t-small);transition:border-color var(--t-tap) var(--ease)}.field textarea{padding:14px 15px;min-height:auto;line-height:1.55;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange);
  outline-offset:-2px;border-color:var(--ink)}.formmsg{margin:16px 0 0;font-size:var(--t-micro);color:var(--muted)}.formmsg.ok{color:var(--ink)}.formmsg.err{color:#A8360F}@media(max-width:1024px){.frow{grid-template-columns:1fr}}/* ── A7: metadatos de evento (ya no usan .factbar, que es para cifras) ── */
.evmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:0}.evmeta .fact{padding:18px 22px 20px 0;border-left:1px solid var(--line);display:block}.evmeta .fact:first-child{border-left:0}.evmeta dt{font-family:var(--disp);font-size:var(--t-eyebrow);font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:0 0 7px}.evmeta dd{margin:0;font-family:var(--disp);font-size:var(--t-h3);font-weight:600;
  font-stretch:100%;font-variation-settings:"wdth" 100;letter-spacing:-.01em;line-height:1.25}@media(max-width:1024px){.evmeta .fact{border-left:0;border-top:1px solid var(--line);padding:15px 0}.evmeta .fact:first-child{border-top:0}}/* ── B4: enrutador de contacto honesto (sin formulario que miente) ── */
.routes{border-top:1px solid var(--ink)}.route{display:block;padding:22px 0;border-bottom:1px solid var(--line);
  transition:transform var(--t-ui) var(--ease),color var(--t-tap) var(--ease)}.route:hover{transform:translateX(10px);color:var(--orange-ink)}.route b{display:block;font-family:var(--disp);font-size:var(--t-h3);font-weight:700;
  letter-spacing:-.015em}.route span{display:block;font-size:var(--t-small);color:var(--ink-2);margin-top:5px}/* ── D1: el anillo de foco era invisible sobre el plano naranja (1.00:1) ── */
#donate :focus-visible,.news :focus-visible{outline:2px solid #111111;outline-offset:3px}.street :focus-visible,footer :focus-visible{outline:2px solid var(--bg);outline-offset:3px}/* ── D3: el skip link no recibia foco util ── */
.skip:focus{left:8px;top:8px;outline:2px solid var(--orange);outline-offset:2px}/* ═══════════ HOME — estructura del sitio original ═══════════ */
:root{--sec:77.76px;--sec-lg:100.8px;
  /* un solo contenedor para nav, contenido y footer */
  --trim:48.96px;--hair:rgba(20,20,20,.14);--hair-cream:rgba(241,241,239,.22);
  --steel:#406C81;--wrap:1353.6px}@media(max-width:1024px){/* ═══════════ HOME — estructura del sitio original ═══════════ */
:root{--sec:56.0px;--sec-lg:72.0px;
  /* un solo contenedor para nav, contenido y footer */
  --trim:20.0px;--wrap:352.5px}}.sheet{max-width:var(--wrap);margin:0 auto;padding:0 var(--trim)}.bleed{width:1440.0px;margin-left:calc(50% - 720.0px)}@media(max-width:1024px){.bleed{width:375.0px;margin-left:calc(50% - 187.5px)}}.eyebrow{font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin:0 0 16px}.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:40.0px}@media(max-width:1024px){.sechead{margin-bottom:26.0px}}.sechead .eyebrow{margin:0;color:var(--ink)}.seclink{font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.16em;
  text-transform:uppercase;white-space:nowrap;transition:color var(--t-tap) var(--ease)}.seclink:hover{color:var(--orange-ink)}/* HERO */
.hero2{position:relative}.hero2{position:relative;isolation:isolate}.hero2-img{background:var(--slab)}/* la foto se atenua para que el texto de encima se lea */
.hero2-img img{width:100%;height:clamp(300px,48vh,460px);object-fit:cover;object-position:50% 42%;
  display:block}/* 11111111.json: hero compacto, con el 30% de abajo recortado (941 -> 659) */
@media(min-width:1025px){.hero2-img img{height:auto;aspect-ratio:1762/876;max-height:none;
  object-position:50% 50%}}/* velo de abajo a arriba: el texto se apoya en la parte oscura */
.hero2::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(0,0,0,.55)}/* el texto se apoya en la mitad de abajo: 14 puntos mas de negro ahi dejan el
   parrafo en 5.1:1 sobre el peor pixel de la foto (medido, no estimado) */
.hero2-img::after{content:"";position:absolute;inset:38% 0 0 0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.14) 45%,rgba(0,0,0,.22))}.hero2-img{position:relative}/* el titular y los CTA, encima de la foto */
/* el bloque del hero sube hacia el centro en vez de pegarse al borde */
.hero2-over{position:absolute;inset:auto 0 0 0;z-index:2;color:#fff;
  padding-bottom:216.0px}@media(max-width:1024px){/* el titular y los CTA, encima de la foto */
/* el bloque del hero sube hacia el centro en vez de pegarse al borde */
.hero2-over{
  padding-bottom:56.25px}}@media(max-width:1024px){.hero2-over{padding-bottom:30.0px}}.hero2-over h1{color:#F3F2EE;text-shadow:0 2px 30px rgba(0,0,0,.42)}.hero2-over .lede{color:#F3F2EE;text-shadow:0 1px 18px rgba(0,0,0,.45);
  max-width:52ch}.hero2-over .acts{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn-g2{border-color:var(--line-ui);color:var(--ink)}.btn-g2:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hero2-body .eyebrow{color:var(--orange)}.hero2 h1{font-size:70.0px;font-stretch:114%;font-variation-settings:"wdth" 114;letter-spacing:-.02em;
  line-height:1.02;margin:0;color:#F3F2EE}@media(max-width:1024px){.hero2 h1{font-size:36.0px}}.hero2 .lede{margin:9px 0 0;font-size:20.88px;line-height:1.5;
  max-width:58ch;color:#F3F2EE}@media(max-width:1024px){.hero2 .lede{font-size:17.0px}}.hero2 .acts{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero2 .btn-o{background:var(--orange);color:#111111;border-color:var(--orange)}.hero2 .btn-o:hover{background:#fff;color:#111111;border-color:#fff}.hero2 .btn-g{border-color:rgba(255,255,255,.6);color:#fff}.hero2 .btn-g:hover{background:#fff;color:var(--slab)}/* WELCOME */
.welcome{padding:var(--sec) 0 48.0px}@media(max-width:1024px){/* WELCOME */
.welcome{padding:var(--sec) 0 34.0px}}.welcome h1.big,.big{font-family:var(--disp);font-weight:500;font-stretch:106%;font-variation-settings:"wdth" 106;
  font-size:32.0px;line-height:1.32;margin:0;max-width:30ch}@media(max-width:1024px){.welcome h1.big,.big{
  font-size:21.0px}}/* 3 DESTACADOS */
.featured{padding:0 0 var(--sec)}.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:31.68px}@media(max-width:1024px){.feats{gap:18.0px}}.feat{color:inherit;display:block}.feat .ph{display:block;overflow:hidden;margin-bottom:16px}.feat img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform var(--t-image) var(--ease)}.feat:hover img{transform:scale(1.03)}.feat b{display:block;font-family:var(--disp);font-weight:700;font-size:21.0px;
  letter-spacing:-.015em;line-height:1.2;transition:color var(--t-tap) var(--ease)}@media(max-width:1024px){.feat b{font-size:17.0px}}.feat:hover b{color:var(--orange-ink)}.feat>span:last-child{display:block;margin-top:8px;font-size:var(--t-small);color:var(--ink-2);line-height:1.5}@media(max-width:1024px){.feats{grid-template-columns:1fr;gap:32px}}/* FOOD FASHION FUN */
.fff{background:var(--bg-2);padding:var(--sec) 0}.fff-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:57.6px;align-items:center}@media(max-width:1024px){.fff-g{
  gap:28.0px}}.fff-g figure{margin:0}.fff-g img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.fff h2{font-size:41.76px;max-width:16ch;margin:0}@media(max-width:1024px){.fff h2{font-size:26.0px}}.fff p{margin:18px 0 24px;font-size:var(--t-body);color:var(--ink-2);max-width:44ch;line-height:1.6}.fff a[rel]{border-bottom:1.5px solid var(--orange)}@media(max-width:1024px){.fff-g{grid-template-columns:1fr}}/* LEARN MORE */
.learn{padding:var(--sec) 0}/* UPCOMING EVENTS */
.upcoming{background:var(--bg-2);padding:var(--sec) 0}.erow{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto;
  gap:34.56px;align-items:baseline;padding:20px 0;color:inherit;
  border-bottom:1px solid var(--hair);transition:transform var(--t-ui) var(--ease)}@media(max-width:1024px){.erow{
  gap:16.0px}}.erow:hover{transform:translateX(8px)}.erow:hover .what>b{color:var(--orange-ink)}.erow:hover .go{transform:translateX(4px)}.erow:first-child{border-top:1px solid var(--ink)}.when{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.when b{font-weight:500;font-size:15px}.when i{font-style:normal;font-size:13px;color:var(--ink-2);margin-left:5px}.what>b{display:block;font-family:var(--disp);font-weight:700;font-size:23.0px;
  letter-spacing:-.015em;transition:color var(--t-tap) var(--ease)}@media(max-width:1024px){.what>b{font-size:18.0px}}.what>span{display:block;margin-top:5px;font-size:var(--t-small);color:var(--ink-2);
  line-height:1.5;max-width:66ch}.go{font-size:16px;transition:transform var(--t-ui) var(--ease)}@media(max-width:1024px){.erow{grid-template-columns:1fr;gap:6px}.go{display:none}}/* OUR STORY */
.story{padding:var(--sec) 0}.story-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:57.6px;align-items:center}@media(max-width:1024px){.story-g{
  gap:28.0px}}.story-g figure{margin:0}.story-g img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.story h2{font-size:41.76px;margin:0}@media(max-width:1024px){.story h2{font-size:26.0px}}.story p{margin:18px 0 0;font-size:var(--t-body);color:var(--ink-2);line-height:1.62;max-width:52ch}.story .btn{margin-top:26px}@media(max-width:1024px){.story-g{grid-template-columns:1fr}}/* SUPPORT */
.support{background:var(--slab);color:var(--on-slab);padding:var(--sec) 0}.sup-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);
  gap:57.6px;align-items:end}@media(max-width:1024px){.sup-g{
  gap:26.0px}}.sup-eb{color:rgba(241,241,239,.6)}.support h2{color:#fff;font-size:38.88px;max-width:20ch;margin:0}@media(max-width:1024px){.support h2{font-size:24.0px}}.sup-act{justify-self:end;text-align:right}.btn-sup{background:var(--orange);color:#111111;border-color:var(--orange)}.btn-sup:hover{background:#fff;border-color:#fff}.sup-act p{margin:12px 0 0;font-size:var(--t-micro);color:rgba(241,241,239,.62)}@media(max-width:1024px){.sup-g{grid-template-columns:1fr}.sup-act{justify-self:start;text-align:left;margin-top:20px}}/* INSTAGRAM */
.insta{padding:var(--sec) 0 0}/* NEWSLETTER */
.signup{padding:var(--sec) 0}.su-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:57.6px;align-items:end;border-top:1px solid var(--ink);padding-top:40.0px}@media(max-width:1024px){.su-g{
  gap:26.0px;padding-top:26.0px}}.signup h2{font-size:34.0px;max-width:22ch;margin:0}@media(max-width:1024px){.signup h2{font-size:23.0px}}.su-note{margin:0;font-size:var(--t-small);color:var(--ink-2);line-height:1.6;max-width:42ch}.su-note a{border-bottom:1.5px solid var(--orange)}@media(max-width:1024px){.su-g{grid-template-columns:1fr}}/* ── Main Street Map (el My Maps real del cliente) ── */
.mapwrap{position:relative;width:100%;aspect-ratio:16/10;border:1px solid var(--ink);background:var(--bg-2)}.mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}@media(max-width:1024px){.mapwrap{aspect-ratio:3/4}}/* ── "Learn more" como lista, no como tercera rejilla de tarjetas ── */
.lrows{border-top:1px solid var(--ink)}.lrow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) auto;
  gap:34.56px;align-items:baseline;padding:24px 0;color:inherit;
  border-bottom:1px solid var(--hair);transition:transform var(--t-ui) var(--ease)}@media(max-width:1024px){.lrow{
  gap:16.0px}}.lrow:hover{transform:translateX(8px)}.lrow:hover b{color:var(--orange-ink)}.lrow:hover em{transform:translateX(4px)}.lrow b{font-family:var(--disp);font-weight:700;font-size:27.0px;
  letter-spacing:-.018em;transition:color var(--t-tap) var(--ease)}@media(max-width:1024px){.lrow b{font-size:20.0px}}.lrow>span{font-size:var(--t-body);color:var(--ink-2);line-height:1.5;max-width:52ch}.lrow em{font-style:normal;font-size:17px;justify-self:end;
  transition:transform var(--t-ui) var(--ease)}@media(max-width:1024px){.lrow{grid-template-columns:1fr;gap:7px}.lrow em{display:none}}/* ── directorio en la home ── */
.directory{padding:var(--sec) 0}.dir-note{margin:0 0 34.0px;font-size:var(--t-body);color:var(--ink-2);
  line-height:1.55;max-width:62ch}@media(max-width:1024px){.dir-note{margin:0 0 22.0px}}/* ═══════════ VERSION B ═══════════ */
.bhero{padding:100.8px 0 0}@media(max-width:1024px){/* ═══════════ VERSION B ═══════════ */
.bhero{padding:56.0px 0 0}}.bhero h1{font-size:80.64px;font-stretch:116%;font-variation-settings:"wdth" 116;letter-spacing:-.026em;
  line-height:1.0;margin:0;max-width:16ch}@media(max-width:1024px){.bhero h1{font-size:34.0px}}.bhero-meta{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:57.6px;align-items:end;margin-top:48.0px;
  border-top:1px solid var(--ink);padding-top:30.0px}@media(max-width:1024px){.bhero-meta{
  gap:24.0px;margin-top:28.0px;padding-top:20.0px}}.bhero-meta p{margin:0;font-size:var(--t-body);color:var(--ink-2);line-height:1.55;max-width:52ch}.bhero-act{display:flex;gap:12px;justify-self:end;flex-wrap:wrap}.bstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;
  margin-top:72.0px}@media(max-width:1024px){.bstrip{
  margin-top:40.0px}}.bstrip img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}@media(max-width:1024px){.bhero-meta{grid-template-columns:1fr}.bhero-act{justify-self:start}.bstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}.bdirectory{padding:var(--sec) 0}.bdir-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;
  gap:43.2px;align-items:end;border-bottom:1px solid var(--ink);
  padding-bottom:28.0px;margin-bottom:40.0px}@media(max-width:1024px){.bdir-head{
  gap:20.0px;
  padding-bottom:18.0px;margin-bottom:24.0px}}.bdir-head h2{font-size:38.88px;margin:0;max-width:14ch}@media(max-width:1024px){.bdir-head h2{font-size:24.0px}}.bdir-head p{margin:0;font-size:var(--t-small);color:var(--ink-2);line-height:1.55;max-width:54ch}.bdir-head .seclink{white-space:nowrap}@media(max-width:1024px){.bdir-head{grid-template-columns:1fr;gap:14px}}/* ═══════════ DISCOVER GEORGETOWN — directorio ═══════════ */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dir{padding:48.0px 0 var(--sec)}@media(max-width:1024px){.dir{padding:30.0px 0 var(--sec)}}.dbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;
  border-bottom:1px solid var(--ink);padding-bottom:16px}.dviews{display:flex;gap:0;border:1px solid var(--line-ui)}.dv{min-height:48px;padding:0 18px;border:0;border-left:1px solid var(--line-ui);background:none;
  cursor:pointer;font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  transition:background-color var(--t-tap) var(--ease),color var(--t-tap) var(--ease)}.dv:first-child{border-left:0}.dv:hover{color:var(--ink)}.dv[aria-pressed="true"]{background:var(--ink);color:var(--bg)}.dstate{margin:18px 0 34.0px;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}@media(max-width:1024px){.dstate{margin:18px 0 22.0px}}@media(max-width:1024px){.dbar{grid-template-columns:1fr;gap:10px}.dviews{width:100%}.dv{flex:1}}.dempty{padding:44px 0;color:var(--muted);font-size:var(--t-body)}.dmeta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:18px 0 34.0px}@media(max-width:1024px){.dmeta{
  margin:18px 0 22.0px}}.dmeta .dstate{margin:0}[hidden]{display:none!important}.dchip{display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:0 14px;
  border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;
  font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.14em;
  text-transform:uppercase;transition:background-color var(--t-tap) var(--ease)}.dchip:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.dchip span{font-size:15px;line-height:1}/* ── enlaces reales del cliente: formularios, mapa a pantalla completa, socios, equipo ── */
.prog-cta{display:inline-block;margin-top:16px;font-family:var(--disp);font-weight:600;
  font-size:var(--t-small);letter-spacing:-.01em;color:var(--ink);
  border-bottom:1.5px solid var(--orange);padding-bottom:2px;transition:color .18s ease}.prog-cta:hover{color:var(--orange-ink)}.tinynote{margin-top:18px;font-size:var(--t-tiny);line-height:1.65;color:var(--muted)}.tinynote a{color:var(--ink);border-bottom:1.5px solid var(--orange);padding-bottom:1px}.tinynote a:hover{color:var(--orange-ink)}.maplinks{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.cormap{margin:46.0px 0 0;background:var(--card);border:1px solid var(--line);
  padding:31.68px}@media(max-width:1024px){.cormap{margin:30.0px 0 0;
  padding:18.0px}}.cormap img{display:block;width:100%;height:auto;max-width:560px;margin:0 auto}.cormap figcaption{margin-top:16px;text-align:center;font-family:var(--mono);
  font-size:var(--t-tiny);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.plogos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34.56px;
  align-items:center;margin-top:51.84px;padding-top:42.0px;
  border-top:1px solid var(--line)}@media(max-width:1024px){.plogos{gap:16.0px;margin-top:32.0px;padding-top:28.0px}}.plogos img{width:100%;height:auto;max-height:86px;object-fit:contain;
  filter:grayscale(1);opacity:.62;transition:filter .22s ease,opacity .22s ease}.plogos img:hover{filter:none;opacity:1}@media(max-width:1024px){.plogos{grid-template-columns:repeat(2,minmax(0,1fr))}}.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30.0px}@media(max-width:1024px){.team{gap:16.0px}}.tcard img{display:block;width:100%;height:auto;aspect-ratio:634/700;object-fit:cover;
  object-position:50% 22%;background:var(--bg-2)}.tcard figcaption{margin-top:14px}.tcard b{display:block;font-family:var(--disp);font-weight:650;font-size:var(--t-h4);
  letter-spacing:-.018em}.tcard span{display:block;margin-top:3px;font-size:var(--t-small);color:var(--muted)}.boardshot{margin-top:54.72px}@media(max-width:1024px){.boardshot{margin-top:34.0px}}.boardshot img{display:block;width:100%;height:auto}.boardshot figcaption{margin-top:14px;font-family:var(--mono);font-size:var(--t-tiny);
  letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}@media(max-width:1024px){.team{grid-template-columns:1fr;max-width:340px}}.cta2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:43.2px;
  align-items:end}@media(max-width:1024px){.cta2{gap:20.0px}}@media(max-width:1024px){.cta2{grid-template-columns:1fr;align-items:start}}/* lo que haria un voluntario: descripcion larga, no un importe — nunca nowrap */
.rolelist{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid var(--ink)}.rolelist li{padding:15px 0;border-bottom:1px solid var(--line)}.rolelist b{display:block;font-family:var(--disp);font-weight:650;font-size:var(--t-small);
  letter-spacing:-.012em}.rolelist span{display:block;margin-top:4px;font-size:var(--t-small);line-height:1.55;
  color:var(--ink-2);max-width:52ch}.when2{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.03em;
  color:var(--orange-ink);margin-bottom:10px}.h2sm{font-family:var(--disp);font-weight:650;font-size:var(--t-h3);letter-spacing:-.026em;
  line-height:1.08;margin:10px 0 14px;text-wrap:balance}.cta2-act{display:flex;flex-direction:column;align-items:flex-start;gap:4px}/* barra bajo el hero: el proximo evento, con cuenta atras en vivo */
.nextup .nu-when{font-size:var(--t-small);color:rgba(241,241,239,.66)}.nextup .nu-go{margin-left:auto;font-family:var(--disp);font-weight:600;font-size:var(--t-small);
  color:#fff;border-bottom:1.5px solid var(--orange);padding-bottom:2px;white-space:nowrap}.nextup .nu-go:hover{color:var(--orange)}.cdown:empty{display:none}@media(max-width:1024px){.nextup .in{gap:10px 16px}.cdown{margin-left:0;width:100%;order:9}.nextup .nu-go{margin-left:0}}/* la placa del hero: el titular a todo lo ancho, y debajo texto e acciones repartidos */
.hero2-foot{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);
  gap:48.96px;align-items:end;margin-top:34.0px}@media(max-width:1024px){/* la placa del hero: el titular a todo lo ancho, y debajo texto e acciones repartidos */
.hero2-foot{
  gap:24.0px;margin-top:22.0px}}.hero2-foot .lede{margin:0;max-width:none}.hero2-foot .acts{margin-top:0;justify-content:flex-end}@media(max-width:1024px){.hero2-foot{grid-template-columns:1fr;gap:24px;align-items:start}.hero2-foot .acts{justify-content:flex-start}}/* version B: el proximo evento vive en el aire a la derecha del titular */
.bhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:57.6px;
  align-items:start}@media(max-width:1024px){/* version B: el proximo evento vive en el aire a la derecha del titular */
.bhead{gap:24.0px}}.bnext{display:block;max-width:260px;padding:20px 22px;background:var(--slab);color:var(--on-slab);
  position:relative;transition:transform .2s cubic-bezier(.2,.7,.3,1)}.bnext:hover{transform:translateY(-3px)}.bnext .lbl{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--orange)}.bnext b{display:block;margin-top:10px;font-family:var(--disp);font-weight:700;
  font-size:1.28rem;letter-spacing:-.024em;line-height:1.1}.bnext-when{display:block;margin-top:10px;font-family:var(--mono);font-size:.68rem;
  line-height:1.7;color:rgba(241,241,239,.62)}.bnext-go{position:absolute;right:20px;bottom:18px;font-size:17px;color:var(--orange)}@media(max-width:1024px){.bhead{grid-template-columns:1fr;gap:26px}.bnext{max-width:none}}/* ── mapa satelital del corredor, con los 251 negocios situados por direccion ── */
.satwrap{display:grid;gap:22px}.sat{position:relative;background:var(--bg-2);overflow:hidden;
  border:1px solid var(--line)}.mapsvg{display:block;width:100%;height:auto}.mapsvg .mw{fill:#CEDCE4}.mapsvg .mp{fill:#DFE4D4}.mapsvg .ms path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke}.mapsvg .mc path{stroke:#fff;stroke-width:2.6}.mapsvg .mp path{stroke:#fff;stroke-width:2}.mapsvg .mb path{stroke:#fff;stroke-width:4}.mapsvg .ma path{stroke:#fff;stroke-width:6}.mapsvg .mwis path{fill:none;stroke:#F7C7B2;stroke-width:6;stroke-linecap:butt;
  stroke-linejoin:round;vector-effect:non-scaling-stroke}.mapsvg .mlbl{font-family:var(--mono);font-size:calc(6.5px / var(--mz,1));letter-spacing:.06em;
  fill:#8C8C86;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;
  stroke:var(--bg-2);stroke-width:2.4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mrose{position:absolute;right:14px;bottom:12px;margin:0;font-family:var(--mono);
  font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.pins{position:absolute;inset:0}.pin{position:absolute;transform:translate(-50%,-50%);z-index:1;
  width:13px;height:13px}.pin .pdot{display:block;width:100%;height:100%;border-radius:50%;
  background:var(--pc,#4E4E4C);box-shadow:0 0 0 2px #fff;
  transition:transform .16s var(--ease)}.pin .plbl{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);
  padding:4px 8px;background:var(--ink);color:var(--bg);font-family:var(--disp);
  font-weight:600;font-size:var(--t-micro);white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .14s var(--ease)}.pin:hover,.pin:focus-visible{z-index:40}.pin:hover .pdot,.pin:focus-visible .pdot{transform:scale(1.75)}.pin:hover .plbl,.pin:focus-visible .plbl{opacity:1}.satzo{position:absolute;left:14px;top:14px;z-index:40;border:0;cursor:pointer;
  padding:9px 14px;background:var(--ink);color:var(--bg);font-family:var(--disp);
  font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase}.satzo:hover{background:var(--orange);color:#111111}.sat.zoomed{height:min(72vh,760px);cursor:grab;touch-action:none}.sat.grab{cursor:grabbing}.satside{display:grid;grid-template-columns:minmax(0,38ch) minmax(0,1fr);gap:18px 40px;align-items:start}.satnote{margin:0;font-size:var(--t-small);line-height:1.6;color:var(--ink-2);max-width:52ch}.satkey{display:flex;flex-wrap:wrap;gap:7px 15px;justify-content:flex-end}.kk{display:inline-flex;align-items:center;gap:7px;border:0;background:none;cursor:pointer;
  padding:5px 0;font-family:var(--disp);font-weight:500;font-size:var(--t-tiny);
  letter-spacing:-.006em;color:var(--ink-2);transition:color .14s ease}.kk i{width:9px;height:9px;border-radius:50%;flex:none;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.kk:hover{color:var(--ink)}.kk:hover i{transform:scale(1.3)}.kk.on{color:var(--ink)}.kk.on i{transform:scale(1.3);box-shadow:0 0 0 2px var(--bg),0 0 0 4px currentColor}.kk:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.satcredit{grid-column:1/-1;margin:0;font-family:var(--mono);font-size:var(--t-micro);
  letter-spacing:.04em;color:var(--muted)}@media(max-width:1024px){.sat.zoomed{height:min(58vh,430px)}}@media(max-width:1024px){.satside{grid-template-columns:1fr}.satkey{justify-content:flex-start}.satwrap{grid-template-columns:1fr;gap:22px}.satside{position:static}.satkey{flex-direction:row;flex-wrap:wrap;gap:4px 18px}.pin{width:15px;height:15px}}/* la lista viva de lo que se ve en el mapa, enlazada al pin correspondiente */
.satlist{margin-top:20px;max-height:min(56vh,620px);overflow-y:auto;
  border-top:1px solid var(--line);scrollbar-width:thin}.sl{display:grid;grid-template-columns:11px minmax(0,1fr);gap:0 11px;align-items:baseline;
  padding:9px 4px 9px 0;border-bottom:1px solid var(--line);color:inherit}.sl:hover{background:var(--card)}.sl i{width:9px;height:9px;border-radius:50%;transform:translateY(-1px)}.sl b{font-family:var(--disp);font-weight:600;font-size:var(--t-small);letter-spacing:-.008em;
  line-height:1.3;min-width:0;overflow-wrap:anywhere}.sl span{grid-column:2;font-size:var(--t-micro);color:var(--muted);line-height:1.4;margin-top:2px}.sl:hover b{text-decoration:underline;text-decoration-color:var(--orange);
  text-decoration-thickness:1.5px;text-underline-offset:2px}.pin.lit{z-index:50}.pin.lit .pdot{transform:scale(2);box-shadow:0 0 0 2px #fff,0 0 0 7px rgba(255,91,36,.4)}.pin.lit .plbl{opacity:1}/* ── nav de cuatro grupos con desplegable ────────────────────────────────── */
.grp{position:relative}.gbtn{display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:0;background:none;
  font-family:var(--disp);font-weight:500;font-size:var(--t-small);letter-spacing:-.006em;
  color:var(--ink-2);cursor:pointer;transition:color .15s ease}.gbtn:hover,.grp.on .gbtn,.gbtn[aria-current="true"]{color:var(--ink)}.gcar{transition:transform .18s cubic-bezier(.2,.7,.3,1);opacity:.65}.grp.on .gcar{transform:rotate(180deg)}.gsub{position:absolute;top:calc(100% + 10px);left:-18px;min-width:232px;z-index:60;
  background:var(--card);border:1px solid var(--line);padding:6px 0;
  opacity:0;visibility:hidden;transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s cubic-bezier(.2,.7,.3,1),visibility .16s;
  box-shadow:0 14px 34px -14px rgba(20,20,20,.28)}.grp.on .gsub{opacity:1;visibility:visible;transform:none}.gsub a{display:block;padding:11px 18px;font-family:var(--disp);font-weight:500;
  font-size:var(--t-small);letter-spacing:-.006em;color:var(--ink-2);
  border-bottom:1px solid var(--line);transition:color .13s ease,background .13s ease}.gsub a:last-child{border-bottom:0}.gsub a:hover,.gsub a:focus-visible{color:var(--ink);background:var(--bg-2);outline:none}@media(prefers-reduced-motion:reduce){.gsub,.gcar{transition-duration:.01ms}}.mnav .mgrp{margin:26px 0 4px;font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--orange)}.mnav .mgrp:first-of-type{margin-top:8px}.mnav .mdonate{margin-top:30px;display:inline-block;background:var(--orange);color:#111111;
  padding:13px 22px;font-family:var(--disp);font-weight:600}/* ── directorio: buscador prominente, categorias en una fila, lista de nombres ── */
.dsearch{position:relative}.dsearch input{width:100%;height:62px;padding:0 20px 0 52px;border:1.5px solid var(--line-ui);
  background:var(--card);font-family:var(--disp);font-weight:500;font-size:var(--t-body);
  letter-spacing:-.008em;color:var(--ink);border-radius:0;-webkit-appearance:none;
  transition:border-color .16s ease,box-shadow .16s ease}.dsearch input::placeholder{color:var(--muted)}.dsearch input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,91,36,.2)}.dmag{position:absolute;left:19px;top:50%;transform:translateY(-50%);width:19px;height:19px;
  stroke:var(--muted);stroke-width:1.7;fill:none;stroke-linecap:round;pointer-events:none}.dsearch input:focus + .dmag,.dsearch input:not(:placeholder-shown) + .dmag{stroke:var(--ink)}.dcats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line)}.dcat{display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  min-height:186px;padding:26px 20px;border:0;background:var(--bg);cursor:pointer;
  text-align:left;transition:background .16s ease}.dcat:hover,.dcat:focus-visible{background:var(--card);outline:none}.dcat svg{width:34px;height:34px;stroke:currentColor;stroke-width:1.5;fill:none;
  stroke-linecap:round;stroke-linejoin:round;flex:none}.dcat b{font-family:var(--disp);font-weight:700;font-size:19.44px;
  letter-spacing:-.018em;line-height:1.15;margin-top:auto;text-wrap:balance}@media(max-width:1024px){.dcat b{font-size:16.0px}}.dcat i{font-family:var(--mono);font-style:normal;font-size:var(--t-small);
  font-variant-numeric:tabular-nums;color:var(--muted)}.dcat:hover b{text-decoration:underline;text-decoration-color:var(--orange);
  text-decoration-thickness:1.5px;text-underline-offset:3px}.dcat{position:relative}.dcat.off{cursor:default;opacity:.34}.dcat.off:hover{background:var(--bg)}.dcat.off:hover b{text-decoration:none}@media(max-width:1024px){/* una sola fila siempre: en movil se desliza en horizontal */
  .dcats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1px;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin}.dcat{flex:0 0 196px;scroll-snap-align:start}}.dlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  background:var(--bg);border:1px solid var(--line);border-width:1px 0 0 1px}.dcard{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.dcard{display:block;width:100%;padding:17px 18px;border:0;background:var(--bg);cursor:pointer;
  text-align:left;transition:background .15s ease}.dcard:hover,.dcard:focus-visible{background:var(--card);outline:none}.dcard b{font-family:var(--disp);font-weight:600;font-size:var(--t-small);letter-spacing:-.01em;
  line-height:1.3;color:var(--ink)}.dcard:hover b{text-decoration:underline;text-decoration-color:var(--orange);
  text-decoration-thickness:1.5px;text-underline-offset:3px}/* ── la ficha, dentro de la propia pagina ─────────────────────────────── */
/* con la barra y el contador ocultos, la ficha no debe heredar su hueco */
.dprofile{margin-top:calc(var(--sec) * -0.42)}@media(max-width:1024px){.dprofile{margin-top:0}}.dback{display:inline-flex;align-items:center;gap:11px;cursor:pointer;
  border:1.5px solid #000;background:#fff;color:#000;
  font-family:var(--disp);font-weight:650;font-size:var(--t-body);letter-spacing:-.01em;
  padding:16px 26px;min-height:56px;transition:background .15s ease,color .15s ease}.dback:hover,.dback:focus-visible{background:#000;color:#fff;outline:none}.dback span{transition:transform .18s cubic-bezier(.2,.7,.3,1)}.dback:hover span{transform:translateX(-3px)}.pgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);
  gap:57.6px;margin-top:37.44px;
  padding-top:34.0px;border-top:1px solid var(--ink)}@media(max-width:1024px){.pgrid{
  gap:26.0px;margin-top:22.0px;
  padding-top:22.0px}}.pname{font-family:var(--disp);font-weight:700;font-size:50.0px;
  letter-spacing:-.03em;line-height:1.03;margin:0;text-wrap:balance}@media(max-width:1024px){.pname{font-size:28.0px}}.pcat{margin:0 0 12px;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}.ptype{margin:13px 0 0;font-family:var(--mono);font-size:var(--t-tiny);letter-spacing:.05em;
  text-transform:uppercase;color:var(--orange-ink)}.prate{display:flex;align-items:center;gap:11px;margin:16px 0 0;flex-wrap:wrap}.prate b{font-family:var(--disp);font-weight:700;font-size:var(--t-lead);letter-spacing:-.02em}.stars{display:inline-flex;gap:2px}.st{position:relative;width:15px;height:15px;display:block;
  background:var(--line-ui);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3 6.9 7.5.7-5.6 5 1.6 7.4L12 18.2 5.5 22l1.6-7.4-5.6-5 7.5-.7z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3 6.9 7.5.7-5.6 5 1.6 7.4L12 18.2 5.5 22l1.6-7.4-5.6-5 7.5-.7z'/></svg>") center/contain no-repeat}.st i{position:absolute;inset:0;background:var(--orange);display:block}.pcount{font-size:var(--t-small);color:var(--muted)}.pclosed{margin:14px 0 0;font-family:var(--disp);font-weight:650;font-size:var(--t-small);
  color:#A32020}.pdesc{margin:20px 0 0;font-size:var(--t-body);line-height:1.62;color:var(--ink-2);max-width:58ch}.pbadges{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}.pbadges li{font-family:var(--disp);font-weight:600;font-size:var(--t-micro);letter-spacing:.04em;
  text-transform:uppercase;padding:7px 12px;border:1px solid var(--line-ui);color:var(--ink-2)}.pfacts{margin:0}.pfacts div{padding:15px 0;border-bottom:1px solid var(--line)}.pfacts div:first-child{border-top:1px solid var(--line)}.pfacts dt{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}.pfacts dd{margin:6px 0 0;font-size:var(--t-small);line-height:1.5;overflow-wrap:anywhere}.pfacts a{border-bottom:1.5px solid var(--orange);padding-bottom:1px}.pfacts a:hover{color:var(--orange-ink)}.phours{margin-top:28px}.phlab{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}.phlab b{font-family:var(--disp);font-weight:650;font-size:var(--t-micro);letter-spacing:.04em;
  padding:4px 9px;text-transform:uppercase}.phlab .open{background:#1F6B3A;color:#fff}.phlab .shut{background:var(--line-ui);color:var(--ink-2)}.phtab{width:100%;border-collapse:collapse;margin-top:12px}.phtab th,.phtab td{padding:7px 0;font-size:var(--t-small);text-align:left;
  border-bottom:1px solid var(--line);font-weight:400;color:var(--ink-2)}.phtab td{text-align:right;font-variant-numeric:tabular-nums}.phtab tr.td th,.phtab tr.td td{color:var(--ink);font-weight:650}.phwait{margin-top:28px;font-size:var(--t-small);color:var(--muted)}.psrc{margin:18px 0 0;font-family:var(--mono);font-size:var(--t-micro);color:var(--muted)}@media(max-width:1024px){.pgrid{grid-template-columns:1fr;gap:30px}}/* ── grupos de marcadores ─────────────────────────────────────────────── */
.pin{border:0;background:none;padding:0;cursor:pointer}.pclu{width:26px;height:26px}.pclu .cnum{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  border-radius:50%;background:#111111;color:#fff;font-family:var(--mono);font-size:11px;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.9),0 1px 4px rgba(0,0,0,.5);
  transition:transform .14s cubic-bezier(.2,.7,.3,1),background .14s ease}.pclu:hover .cnum,.pclu:focus-visible .cnum{transform:scale(1.16);background:var(--orange);
  color:#111111}.pclu:focus-visible{outline:none}/* ── los tres proximos eventos, justo debajo del hero ─────────────────── */
.upnext{padding:var(--sec-lg) 0 var(--sec)}.upnext-h{font-family:var(--disp);font-weight:700;font-size:51.84px;
  letter-spacing:-.03em;line-height:1.03;margin:0 0 42.0px;text-wrap:balance}@media(max-width:1024px){.upnext-h{font-size:30.0px;margin:0 0 26.0px}}.upcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:31.68px}@media(max-width:1024px){.upcards{
  gap:16.0px}}.upc{display:flex;flex-direction:column;color:inherit}.upc-ph{position:relative;display:block;overflow:hidden;background:var(--bg-2)}.upc-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.3,1)}.upc:hover .upc-ph img{transform:scale(1.045)}.upc-cd{position:absolute;left:0;bottom:0;padding:9px 13px;background:#111111;color:#fff;
  font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.05em;text-transform:uppercase}.upc-cd b{font-weight:500;color:var(--orange);font-size:1.06em}/* el pie se alinea entre tarjetas aunque el texto ocupe distintas lineas */
.upc-bd{display:flex;flex-direction:column;flex:1;padding-top:16px}.upc-when{display:block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.06em;
  text-transform:uppercase;color:var(--orange-ink)}.upc b{display:block;margin-top:9px;font-family:var(--disp);font-weight:650;
  font-size:var(--t-h4);letter-spacing:-.02em;line-height:1.13}.upc:hover b{text-decoration:underline;text-decoration-color:var(--orange);
  text-decoration-thickness:2px;text-underline-offset:4px}.upc-txt{display:block;margin:9px 0 14px;font-size:var(--t-small);line-height:1.5;
  color:var(--ink-2);max-width:40ch}.upc-go{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:13px;
  border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--t-micro);
  letter-spacing:.05em;color:var(--muted)}.upc-go i{font-style:normal;margin-left:auto;color:var(--ink);
  transition:transform .2s cubic-bezier(.2,.7,.3,1)}.upc:hover .upc-go i{transform:translateX(4px)}.upnext-all{margin-top:48.0px}@media(max-width:1024px){.upnext-all{margin-top:30.0px}}@media(max-width:1024px){.upcards{grid-template-columns:1fr;gap:22.0px}.upc-ph img{aspect-ratio:16/9}}/* gratis o de pago, por evento: el sitio no puede prometer gratuidad en bloque */
.tag-free,.tag-tkt{display:inline-block;margin-left:9px;padding:3px 8px;font-family:var(--disp);
  font-weight:600;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;vertical-align:1px}.tag-free{background:var(--bg-2);color:var(--ink-2)}.tag-tkt{background:var(--orange);color:#111111}/* ── directorio: el buscador como centro visual de la pagina (spec 3333) ── */
.phead-tight{padding:37.44px 0 26.0px}@media(max-width:1024px){/* ── directorio: el buscador como centro visual de la pagina (spec 3333) ── */
.phead-tight{padding:22.0px 0 18.0px}}.phead-tight + .dir{padding-top:0}.dbar.dbar-mid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px;
  border-bottom:0;padding-bottom:0}.dbar.dbar-mid .dsearch{width:min(100%,760px)}.dbar.dbar-mid .dsearch input{height:72px;font-size:var(--t-lead);
  padding-left:60px;border-color:var(--ink)}.dbar.dbar-mid .dmag{left:24px;width:21px;height:21px}.dbar.dbar-mid + .dmeta{border-top:1px solid var(--ink);
  margin-top:32.0px;padding-top:2px}@media(max-width:1024px){.dbar.dbar-mid + .dmeta{
  margin-top:22.0px}}@media(max-width:1024px){.dbar.dbar-mid .dviews{width:100%}}/* ── hero centrado: titulo y bajada como un solo bloque (spec aaa(2)) ───── */
.phead-mid .in{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;
  row-gap:16px}.phead-mid h1{grid-column:1;max-width:16ch;text-wrap:balance}.phead-mid .lead{grid-column:1;max-width:58ch;margin:0}@media(min-width:1025px){.phead-mid .in{grid-template-columns:minmax(0,1fr)}.phead-mid h1{max-width:16ch}.phead-mid .lead{grid-column:1;max-width:58ch}}/* ── un marcador por negocio: mas chico, con nombre y categoria al pasar ── */
.pin{width:11px;height:11px}.pin .plbl{display:flex;flex-direction:column;gap:2px;padding:7px 11px;line-height:1.25;
  align-items:flex-start;text-align:left}.pin .plbl b{font-family:var(--disp);font-weight:650;font-size:var(--t-micro);white-space:nowrap}.pin .plbl i{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.62);white-space:nowrap}@media(max-width:1024px){.pin{width:13px;height:13px}}/* ── ficha: cada columna mide lo que mide su contenido, sin huecos ─────── */
.pgrid{align-items:start;gap:43.2px}@media(max-width:1024px){/* ── ficha: cada columna mide lo que mide su contenido, sin huecos ─────── */
.pgrid{gap:24.0px}}.pmain,.pside{align-self:start}.pmain > *:first-child,.pside > *:first-child{margin-top:0}.pfacts div:first-child{border-top:1px solid var(--line)}.pfacts div{padding:13px 0}.pbadges{margin-top:20px}.pdesc{margin-top:18px}.phours{margin-top:22px}.phtab th,.phtab td{padding:6px 0}.psrc{margin-top:14px}.dprofile{margin-top:0;padding-top:22.0px}@media(max-width:1024px){.dprofile{padding-top:14.0px}}.dprofile .pgrid{margin-top:26.0px;padding-top:26.0px}@media(max-width:1024px){.dprofile .pgrid{margin-top:18.0px;padding-top:18.0px}}@media(max-width:1024px){.pgrid{grid-template-columns:1fr;gap:26px}}/* ── mando de zoom del mapa (propio, no de Google) ─────────────────────── */
.satctl{position:absolute;right:14px;top:14px;z-index:40;display:flex;flex-direction:column;gap:1px}.satz{width:38px;height:38px;border:0;cursor:pointer;background:var(--ink);color:var(--bg);
  font-family:var(--disp);font-weight:600;font-size:17px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:background .14s ease}.satz:hover,.satz:focus-visible{background:var(--orange);color:#111111;outline:none}.sat{user-select:none}/* ── buscador y vistas en un mismo bloque, sin divisores (spec 5555555) ── */
.dbox{display:flex;justify-content:center}.dbox .dsearch{display:flex;align-items:center;width:min(100%,860px);
  border:1.5px solid var(--ink);background:var(--card);padding:0 8px 0 0}.dbox .dsearch input{flex:1;min-width:0;height:70px;border:0;background:none;
  padding:0 14px 0 56px;font-family:var(--disp);font-weight:500;font-size:var(--t-lead);
  letter-spacing:-.01em;color:var(--ink);border-radius:0;-webkit-appearance:none}.dbox .dsearch input:focus{outline:none;box-shadow:none}.dbox .dmag{position:absolute;left:22px;top:50%;transform:translateY(-50%);
  width:21px;height:21px;stroke:var(--muted);stroke-width:1.7;fill:none;
  stroke-linecap:round;pointer-events:none}.dbox .dsearch{position:relative}.dbox .dviews{display:flex;gap:0;border:0;flex:none}.dbox .dv{min-height:46px;padding:0 15px;border:0;background:none;cursor:pointer;
  font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);
  transition:background-color .15s var(--ease),color .15s var(--ease)}.dbox .dv:hover{color:var(--ink)}.dbox .dv[aria-pressed="true"]{background:var(--orange);color:#fff;font-weight:700}.dbox + .dmeta{border-top:0;margin-top:26.0px;padding-top:0}@media(max-width:1024px){.dbox + .dmeta{margin-top:18.0px}}/* nada de lineas alrededor del buscador: el bloque se sostiene solo */
.phead-mid .in{border-bottom:0;padding-bottom:0}.dmeta{display:flex;align-items:center;gap:14px}@media(max-width:1024px){/* en columna, flex:1 le comeria el alto al buscador: aqui manda la altura */
  .dbox .dsearch{flex-direction:column;align-items:stretch;padding:0}.dbox .dsearch input{flex:0 0 auto;width:100%;height:58px;padding:0 16px 0 48px;
    font-size:var(--t-body);border-bottom:1.5px solid var(--line-ui)}.dbox .dmag{top:29px;left:18px;width:19px;height:19px}.dbox .dviews{width:100%}.dbox .dv{flex:1;padding:0 6px;min-height:48px;font-size:10px;letter-spacing:.1em}}/* ── iconos: fachadas a linea, como el logo ──────────────────────────── */
/* 7:19.json: los ocho iconos son un sistema. Mismo cuadro, misma linea de
   suelo, mismo grosor; el naranja solo marca el detalle que identifica el rubro. */
/* caja identica para los ocho, con el dibujo centrado dentro */
.dcat svg{width:44px;height:44px;display:block;margin:0;overflow:visible}.dcat svg path,.dcat svg circle{fill:none;stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;
  transition:stroke var(--t-ui) var(--ease)}.dcat .i-b{stroke:#163B56}.dcat .i-a{stroke:#FF572B}.dcat:hover .i-b,.dcat:focus-visible .i-b,
.dcat:hover .i-a,.dcat:focus-visible .i-a{stroke:#FF572B}.dcat.off:hover .i-b{stroke:#163B56}@media(prefers-reduced-motion:reduce){.dcat svg path,.dcat svg circle{transition:none}}/* ══════════ GUIA DE PATROCINIO FY27 ══════════ */
.spn-sec{padding:86.4px 0}@media(max-width:1024px){/* ══════════ GUIA DE PATROCINIO FY27 ══════════ */
.spn-sec{padding:48.0px 0}}.spn-sec--alt{background:var(--bg-2)}.spn-head{max-width:var(--wrap);margin:0 auto 44.0px}@media(max-width:1024px){.spn-head{margin:0 auto 28.0px}}.spn-head h2{font-size:50.0px;letter-spacing:-.028em;line-height:1.04;
  margin:10px 0 0;text-wrap:balance}@media(max-width:1024px){.spn-head h2{font-size:28.0px}}.spn-head .lead{margin:16px 0 0;max-width:68ch;font-size:var(--t-body);line-height:1.6;
  color:var(--ink-2)}.spn-head--sub{margin-top:77.76px}@media(max-width:1024px){.spn-head--sub{margin-top:46.0px}}.spn-lab{margin:0 0 12px;font-family:var(--mono);font-size:var(--t-micro);
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.prose--wide p{max-width:76ch}/* botones: contorno negro sobre crema, con el naranja al pasar */
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1.5px solid #111;background:#fff;color:#111;padding:16px 28px;min-height:56px;
  font-family:var(--disp);font-weight:650;font-size:var(--t-small);letter-spacing:-.008em;
  transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}.btn-line:hover,.btn-line:focus-visible{background:#111;color:#fff;outline:none}.btn-line--q{background:transparent}.btn-line--q:hover{background:#F15A29;border-color:#F15A29;color:#111}.spn-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32.0px}@media(max-width:1024px){.spn-cta{margin-top:22.0px}}.phead-tight .spn-cta{justify-content:flex-start}/* por que asociarse */
.spn-two{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:57.6px;align-items:start;max-width:var(--wrap);margin:0 auto}@media(max-width:1024px){/* por que asociarse */
.spn-two{
  gap:26.0px}}.spn-vals{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);
  border:1px solid var(--line)}.spn-vals li{background:var(--bg);padding:13px 16px;font-family:var(--disp);font-weight:600;
  font-size:var(--t-small)}.spn-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:48.0px auto 0;
  max-width:var(--wrap)}@media(max-width:1024px){.spn-facts{margin:30.0px auto 0}}.spn-fact{background:var(--bg);padding:24px 20px}.spn-fact dt{font-family:var(--disp);font-weight:700;font-size:38.0px;
  letter-spacing:-.026em;line-height:1}@media(max-width:1024px){.spn-fact dt{font-size:24.0px}}.spn-fact dd{margin:9px 0 0;font-size:var(--t-tiny);line-height:1.45;color:var(--ink-2)}/* tarjetas de nivel, todas de la misma altura */
.spn-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  max-width:var(--wrap);margin:0 auto}.spn-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.spn-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.spn-card{display:flex;flex-direction:column;background:var(--bg);padding:26px 22px 28px}.spn-card--hi{background:var(--card);box-shadow:inset 4px 0 0 #F15A29}.spn-price{margin:0;font-family:var(--disp);font-weight:700;font-size:38.0px;
  letter-spacing:-.028em;line-height:1}@media(max-width:1024px){.spn-price{font-size:26.0px}}.spn-name{margin:8px 0 0;font-family:var(--disp);font-weight:650;font-size:var(--t-body);
  letter-spacing:-.014em;line-height:1.2}.spn-av{margin-top:12px;align-self:flex-start;font-family:var(--mono);font-size:var(--t-micro);
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line-ui);padding:4px 9px}.spn-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:11px}.spn-list li{position:relative;padding-left:18px;font-size:var(--t-tiny);line-height:1.55;
  color:var(--ink-2)}.spn-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1.5px;
  background:#F15A29}.spn-list--lead li{font-size:var(--t-small)}/* la tabla de niveles */
.spn-tablewrap{max-width:var(--wrap);margin:48.0px auto 0;overflow-x:auto;
  border:1px solid var(--line)}@media(max-width:1024px){/* la tabla de niveles */
.spn-tablewrap{margin:30.0px auto 0}}.spn-table{width:100%;border-collapse:collapse;min-width:720px;background:var(--bg)}.spn-table th,.spn-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);font-size:var(--t-tiny);line-height:1.4}.spn-table thead th{background:var(--slab);color:var(--bg);vertical-align:top;
  border-bottom:0;border-right-color:rgba(255,255,255,.16)}.spn-table thead th b{display:block;font-family:var(--disp);font-weight:700;
  font-size:var(--t-small);letter-spacing:-.012em}.spn-table thead th span{display:block;margin-top:4px;font-family:var(--mono);
  font-size:var(--t-micro);color:rgba(255,255,255,.7)}.spn-table thead th.hi{background:#F15A29;color:#111111}.spn-table thead th.hi span{color:rgba(20,20,20,.72)}.spn-table tbody th{font-family:var(--disp);font-weight:600;font-size:var(--t-tiny);
  background:var(--card);width:210px}.spn-table td.hi{background:rgba(241,90,41,.09)}.spn-table tr:last-child th,.spn-table tr:last-child td{border-bottom:0}.spn-table th:last-child,.spn-table td:last-child{border-right:0}.tick{color:#1F6B3A;font-size:15px}.spn-note{max-width:var(--wrap);margin:18px auto 0;font-family:var(--mono);
  font-size:var(--t-micro);letter-spacing:.04em;color:var(--muted)}.spn-note a{border-bottom:1.5px solid var(--orange)}/* el calendario */
.spn-table--cal{min-width:520px}.spn-cal-d{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);width:190px;white-space:nowrap}.spn-cal-s{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);text-align:right}.spn-table--cal tbody th{background:var(--bg);width:auto;font-size:var(--t-small)}/* cada evento */
.spn-ev{max-width:var(--wrap);margin:0 auto 63.36px}@media(max-width:1024px){/* cada evento */
.spn-ev{margin:0 auto 38.0px}}.spn-ev:last-child{margin-bottom:0}.spn-ev-head{margin-bottom:26.0px}@media(max-width:1024px){.spn-ev-head{margin-bottom:18.0px}}.spn-ev-head h3{font-family:var(--disp);font-weight:700;font-size:30.0px;
  letter-spacing:-.022em;line-height:1.1;margin:0 0 12px}@media(max-width:1024px){.spn-ev-head h3{font-size:21.0px}}.spn-ev-head .prose p{max-width:76ch;font-size:var(--t-small)}.spn-meta{display:flex;flex-wrap:wrap;gap:8px 32px;margin:16px 0 0}.spn-meta dt{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}.spn-meta dd{margin:3px 0 0;font-family:var(--disp);font-weight:600;font-size:var(--t-small)}.spn-fasts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}.spn-fast{background:var(--bg);padding:16px 18px}.spn-fast b{display:block;font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  letter-spacing:-.012em}.spn-fast p{margin:6px 0 0;font-size:var(--t-tiny);line-height:1.5;color:var(--ink-2)}/* reconocimiento */
.spn-tiers{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  margin-top:20px}.spn-tier{background:var(--bg);padding:15px 18px;display:flex;align-items:baseline;
  justify-content:space-between;gap:16px}.spn-tier b{font-family:var(--disp);font-weight:700;font-size:var(--t-body);
  letter-spacing:-.018em}.spn-tier span{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-2);text-align:right}.spn-coms{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);max-width:var(--wrap);margin:0 auto}.spn-com{background:var(--bg);padding:20px}.spn-com b{display:block;font-family:var(--disp);font-weight:650;font-size:var(--t-small)}.spn-com p{margin:7px 0 0;font-size:var(--t-tiny);line-height:1.5;color:var(--ink-2)}/* los patrocinadores actuales: mismo recuadro, cada logo con su proporcion */
.spn-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);max-width:var(--wrap);margin:0 auto}.spn-logo{background:var(--bg);margin:0;padding:26px 22px;display:flex;
  flex-direction:column;align-items:center;gap:14px}.spn-logo-box{display:flex;align-items:center;justify-content:center;
  width:100%;height:96px}.spn-logo-box img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.spn-logo figcaption{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.4}.spn-close{background:var(--slab);color:var(--bg)}.spn-close .blade,.spn-close .lead{color:rgba(255,255,255,.66)}.spn-close h2{color:var(--bg)}.spn-close .lead a{color:var(--bg);border-bottom:1.5px solid var(--orange)}.spn-close .btn-line{border-color:var(--bg);background:transparent;color:var(--bg)}.spn-close .btn-line:hover{background:var(--bg);color:#111}.spn-close .btn-line--q:hover{background:#F15A29;border-color:#F15A29;color:#111111}@media(max-width:1024px){.spn-two{grid-template-columns:1fr}.spn-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.spn-grid--3,.spn-grid--2{grid-template-columns:1fr}.spn-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.spn-logos{grid-template-columns:1fr}.spn-cta{flex-direction:column;align-items:stretch}.spn-cta .btn-line{width:100%}}/* el recuento vive en la bajada; aqui solo aparece cuando hay un filtro puesto */
.dmeta{min-height:34px}.dstate.vh{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;margin:0}.dbox + .dmeta{margin-top:22.0px}@media(max-width:1024px){.dbox + .dmeta{margin-top:14.0px}}/* ══════════ GUIA DE NEGOCIOS HISTORICOS ══════════ */
.lg-sec{padding:20.0px 0 var(--sec)}@media(max-width:1024px){/* ══════════ GUIA DE NEGOCIOS HISTORICOS ══════════ */
.lg-sec{padding:10.0px 0 var(--sec)}}.lg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);max-width:var(--wrap);margin:0 auto}.lg-card{display:flex;flex-direction:column;background:var(--bg)}.lg-ph{display:block;overflow:hidden;background:var(--bg-2)}.lg-ph img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .55s var(--ease)}.lg-card:hover .lg-ph img{transform:scale(1.03)}.lg-bd{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px}.lg-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:10px}.lg-year{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;
  text-transform:uppercase;color:var(--orange-ink);border:1px solid var(--orange);
  padding:3px 8px}.lg-cat{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}.lg-name{font-family:var(--disp);font-weight:700;font-size:23.0px;
  letter-spacing:-.02em;line-height:1.15;margin:0;text-wrap:balance}@media(max-width:1024px){.lg-name{font-size:18.0px}}.lg-desc{margin:12px 0 0;font-size:var(--t-tiny);line-height:1.6;color:var(--ink-2)}.lg-foot{margin-top:auto;padding-top:18px}.lg-addr{margin:0;font-size:var(--t-tiny);line-height:1.5;color:var(--ink-2)}.lg-web{display:inline-block;margin-top:6px;font-size:var(--t-tiny);
  border-bottom:1.5px solid var(--orange);padding-bottom:1px;overflow-wrap:anywhere}.lg-web:hover{color:var(--orange-ink)}.lg-credit{margin:14px 0 0;font-family:var(--mono);font-size:9px;letter-spacing:.06em;
  color:var(--muted);line-height:1.5}.lg-credit a{color:var(--muted);border-bottom:1px solid var(--line-ui)}.lg-credit a:hover{color:var(--ink-2)}.lg-note{max-width:var(--wrap);margin:22px auto 0;font-family:var(--mono);
  font-size:var(--t-micro);line-height:1.7;color:var(--muted);max-width:74ch}.lg-cta{display:flex;flex-wrap:wrap;gap:12px;max-width:var(--wrap);
  margin:38.0px auto 0}@media(max-width:1024px){.lg-cta{
  margin:26.0px auto 0}}@media(max-width:1024px){.lg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.lg-grid{grid-template-columns:1fr}.lg-cta{flex-direction:column}.lg-cta .btn-line{width:100%}}/* la tarjeta de guia que ya tiene pagina se comporta como enlace */
.col-link{display:block;color:inherit;transition:background .18s var(--ease)}.col-link:hover{background:var(--card)}.col-link .seclink{display:inline-block;margin-top:14px}.col-link:hover h3{text-decoration:underline;text-decoration-color:var(--orange);
  text-decoration-thickness:1.5px;text-underline-offset:3px}/* ══════════ GEORGETOWN BUCKS, dentro de Wander Wisconsin ══════════ */
.gb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:57.6px;align-items:center}@media(max-width:1024px){/* ══════════ GEORGETOWN BUCKS, dentro de Wander Wisconsin ══════════ */
.gb{
  gap:28.0px}}.gb h2{margin:10px 0 0;font-size:44.0px;letter-spacing:-.028em;
  line-height:1.05;text-wrap:balance}@media(max-width:1024px){.gb h2{font-size:26.0px}}.gb-sub{margin:14px 0 0;font-size:var(--t-lead);line-height:1.45;color:var(--ink-2);
  max-width:34ch}.gb .prose{margin-top:18px}.gb .prose p{max-width:46ch;font-size:var(--t-small)}.gb-vals{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}.gb-vals li{font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  letter-spacing:-.012em;border:1.5px solid var(--ink);padding:8px 16px}.gb-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.gb-links{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;
  gap:8px 22px}.gb-links a{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line-ui);
  padding-bottom:2px;transition:color .15s ease,border-color .15s ease}.gb-links a:hover{color:var(--ink);border-bottom-color:var(--orange)}.gb-note{margin:20px 0 0;font-family:var(--mono);font-size:9px;line-height:1.7;
  letter-spacing:.04em;color:var(--muted);max-width:52ch}.gb-card img{width:100%;height:auto;display:block;border:1px solid var(--line)}.gb-cap{margin:14px 0 0;font-family:var(--mono);font-size:var(--t-micro);
  letter-spacing:.1em;text-transform:uppercase}.gb-cap a{border-bottom:1.5px solid var(--orange);padding-bottom:2px}@media(max-width:1024px){.gb{grid-template-columns:1fr}.gb-card{order:-1}}@media(max-width:1024px){.gb-cta{flex-direction:column}.gb-cta .btn-line{width:100%}}/* ══════════ FICHA COZY (spec 6666) ══════════ */
/* la ficha se lee sola: el directorio se aparta mientras esta abierta */
body.ficha .phead{display:none}body.ficha .dir{padding-top:30.0px}@media(max-width:1024px){body.ficha .dir{padding-top:18.0px}}.dprofile .pgrid{grid-template-columns:minmax(0,55fr) minmax(0,45fr);
  max-width:1200px;margin-left:0;margin-right:auto;align-items:start;
  gap:48.96px}@media(max-width:1024px){.dprofile .pgrid{
  gap:24.0px}}/* etiquetas editoriales: sin caja, sin borde, sin fondo */
.ptags{margin:14px 0 0;font-family:var(--disp);font-weight:500;font-size:var(--t-tiny);
  letter-spacing:.14em;text-transform:uppercase;color:#B8441E;line-height:1.6}/* lo que uno quiere hacer, junto a lo que acaba de leer */
.pacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.pact{min-height:48px;padding:13px 22px;font-size:var(--t-small)}/* bloques compactos, divisores sutiles, sin columnas a media asta */
.dprofile .pfacts div{padding:12px 0;border-bottom:1px solid var(--line)}.dprofile .pfacts div:first-child{border-top:1px solid var(--line)}.dprofile .pfacts dt{font-size:9px;letter-spacing:.16em}.dprofile .pfacts dd{margin-top:4px}.dprofile .phours{margin-top:22px}.dprofile .phtab th,.dprofile .phtab td{padding:5px 0;font-size:var(--t-tiny)}.dprofile .pdesc{margin-top:16px;max-width:52ch}.dprofile .pname{font-size:42.0px}@media(max-width:1024px){.dprofile .pname{font-size:26.0px}}@media(max-width:1024px){.dprofile .pgrid{grid-template-columns:1fr}.pacts .pact{flex:1;min-width:140px;justify-content:center}}/* ══════════ HERO DEL DIRECTORIO: el corredor al atardecer ══════════ */
.dhero{position:relative;isolation:isolate;display:flex;align-items:flex-end;
  justify-content:center;min-height:clamp(300px,44vh,440px);overflow:hidden;
  margin-bottom:34.0px}@media(max-width:1024px){/* ══════════ HERO DEL DIRECTORIO: el corredor al atardecer ══════════ */
.dhero{
  margin-bottom:22.0px}}.dhero-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 58%;z-index:-2}.dhero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,10,9,.16) 0%,rgba(12,10,9,.30) 42%,
    rgba(12,10,9,.74) 100%)}.dhero-in{max-width:var(--wrap);width:100%;padding:0 28px 52.0px;
  text-align:center;color:#fff}@media(max-width:1024px){.dhero-in{padding:0 28px 30.0px}}.dhero h1{font-size:70.0px;letter-spacing:-.032em;line-height:1;
  margin:0;color:#fff;text-wrap:balance;text-shadow:0 2px 22px rgba(0,0,0,.42)}@media(max-width:1024px){.dhero h1{font-size:34.0px}}.dhero .lead{margin:16px auto 0;max-width:52ch;font-size:var(--t-lead);line-height:1.42;
  color:rgba(255,255,255,.9);text-shadow:0 1px 14px rgba(0,0,0,.42)}.dhero + .dir{padding-top:0}body.ficha .dhero{display:none}@media(max-width:1024px){.dhero{min-height:clamp(240px,38vh,320px)}.dhero-ph{object-position:62% 58%}}/* ══════════ FICHA: etiquetas pegadas al nombre, volver al pie ══════════ */
.ptags{margin:.35rem 0 1rem;font-family:var(--disp);font-weight:400;font-size:.72rem;
  letter-spacing:.12em;line-height:1.35;text-transform:uppercase;color:#B8441E;
  display:inline;max-width:100%}.dprofile .prate{margin-top:0}.dprofile .ptype{margin-top:12px}.dbackwrap{display:flex;justify-content:flex-start;
  margin-top:34.0px;padding-top:24.0px;
  border-top:1px solid var(--line)}@media(max-width:1024px){.dbackwrap{
  margin-top:24.0px;padding-top:18.0px}}.dprofile .pgrid{margin-top:0;padding-top:0;border-top:0}/* cozySpacing: nada de huecos verticales largos */
.dprofile{padding-top:18.0px}@media(max-width:1024px){/* cozySpacing: nada de huecos verticales largos */
.dprofile{padding-top:10.0px}}.dprofile .pmain > *:last-child{margin-bottom:0}.dprofile .pacts{margin-top:22px}/* reduceEmptySpace: el buscador y la lista, mas cerca */
.dhero + .dir .dbox + .dmeta{margin-top:18.0px}@media(max-width:1024px){/* reduceEmptySpace: el buscador y la lista, mas cerca */
.dhero + .dir .dbox + .dmeta{margin-top:12.0px}}.dhero + .dir .dmeta:empty,.dhero + .dir .dmeta{min-height:0}.dhero + .dir .dmeta{margin-bottom:20.0px}@media(max-width:1024px){.dhero + .dir .dmeta{margin-bottom:12.0px}}.dhero + .dir{padding-bottom:var(--sec)}/* el titular de la portada es este parrafo grande: sin margenes de h1 */
h1.big{margin:0;font-weight:inherit}/* ── ajustes de la spec 111111 ───────────────────────────────────── */
/* cabecera y hero compactos: la barra del directorio entra en pantalla */
.nav .in{padding-top:9px;padding-bottom:9px}.phead-short{padding:26.0px 0 20.0px}@media(max-width:1024px){.phead-short{padding:16.0px 0 14.0px}}.phead-short h1{font-size:54.0px}@media(max-width:1024px){.phead-short h1{font-size:30.0px}}.phead-short .lead{margin-top:12px;font-size:var(--t-body)}/* 11111111.json: pestaña activa en el naranja vibrante de marca con texto
   blanco. Son 3.14:1, por debajo de AA; se compensa con 13px en negrita, que
   es lo maximo que cabe en la barra. Decision de marca, no de accesibilidad. */
.dbox .dv[aria-pressed="true"]{background:var(--orange);color:#fff;font-weight:700;
  font-size:13px;letter-spacing:.1em}.dbox .dv[aria-pressed="true"]:hover{background:var(--orange);color:#fff}/* la leyenda va ENCIMA del mapa, no escondida al lado */
.satwrap > .satkey{justify-content:flex-start;max-width:none;
  margin:0 0 18.0px;padding-bottom:14px;
  border-bottom:1px solid var(--line)}@media(max-width:1024px){/* la leyenda va ENCIMA del mapa, no escondida al lado */
.satwrap > .satkey{
  margin:0 0 12.0px}}.satside{grid-template-columns:minmax(0,1fr) auto}@media(max-width:1024px){.satside{grid-template-columns:1fr}}/* ── la foto del negocio, columna derecha de la ficha ─────────────── */
.pphoto{margin:0 0 26.0px}@media(max-width:1024px){/* ── la foto del negocio, columna derecha de la ficha ─────────────── */
.pphoto{margin:0 0 18.0px}}.pphoto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  display:block;background:var(--bg-2)}.pphoto figcaption{margin-top:10px;font-family:var(--mono);font-size:9px;
  letter-spacing:.06em;color:var(--muted)}.pphoto figcaption a{color:var(--muted);border-bottom:1px solid var(--line-ui)}.pphoto figcaption a:hover{color:var(--ink-2)}/* 12.json: la leyenda pegada a la barra, y el mapa justo debajo */
.dview#v-map{margin-top:0}.satwrap > .satkey{margin-top:0;margin-bottom:14.0px;padding-bottom:12px}@media(max-width:1024px){.satwrap > .satkey{margin-bottom:10.0px}}.dbox + .dmeta{margin-top:16.0px}@media(max-width:1024px){.dbox + .dmeta{margin-top:10.0px}}/* ══════════ CABECERA GRUESA (12.json) ══════════ */
:root{--navy:#0B1F30;--cobalt:#163B56}/* franja superior: navy profundo, blanco a 16.76:1 */
.topbar{background:var(--navy);color:#fff}.topbar .in{max-width:var(--wrap);margin:0 auto;padding:2px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:var(--body);font-size:13.5px;letter-spacing:.02em}.topbar a{color:rgba(255,255,255,.88);display:inline-flex;align-items:center;gap:8px;
  padding:3px 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.topbar a:hover{color:#fff;border-bottom-color:var(--orange)}.topbar svg{fill:none;stroke:currentColor;stroke-width:1.6}@media(max-width:1024px){.topbar .tb-ig span{display:none}}/* barra principal: cobalto sobre la foto del corredor, blanco a 11.76:1 */
.nav-thick{position:sticky;top:0;z-index:90;border-bottom:0;
  background:linear-gradient(rgba(22,59,86,.94),rgba(11,31,48,.95)),
             url("../img/hero-dusk@1100.webp") center 62%/cover;
  -webkit-backdrop-filter:none;backdrop-filter:none}.nav-thick .in{padding:10px 24px;gap:30px;height:auto}/* el wordmark pesaba demasiado: baja, y sube todo lo demas */
.nav-thick .brand img{height:38px;width:auto;filter:none}.nav-thick .links{display:flex;align-items:center;gap:30px;flex:1;justify-content:center}.nav-thick .links a{color:#fff;font-family:var(--disp);font-weight:650;font-size:16.5px;
  letter-spacing:-.008em;padding:8px 0;border-bottom:2px solid transparent;
  transition:border-color .16s var(--ease)}.nav-thick .links a:hover,.nav-thick .links a[aria-current]{border-bottom-color:var(--orange)}.navtools{display:flex;align-items:center;gap:14px}.navsearch{display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);
  color:#fff;transition:background .16s var(--ease),border-color .16s var(--ease)}.navsearch svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.navsearch:hover{background:#fff;color:var(--cobalt);border-color:#fff}/* Donate en contorno: blanco sobre el navy del header da 12.6:1 */
.nav-thick .btn-nav{background:none;color:#fff;border:1.5px solid #fff;font-weight:700;
  font-size:15.5px;padding:0 34px;min-height:42px;border-radius:0}.nav-thick .btn-nav:hover{background:#fff;border-color:#fff;color:#111111}.nav-thick .burger{color:#fff}@media(max-width:1024px){.nav-thick .links{display:none}.nav-thick .in{padding:10px 24px;height:auto}.nav-thick .brand img{height:34px}}@media(min-width:1025px){.nav-thick .burger{display:none}}/* el hero deja de pegarse a una barra clara */
.nav-thick + main .hero2{margin-top:0}/* ── FAQ ─────────────────────────────────────────────── */
.faqsec{padding:40.0px 0 var(--sec)}@media(max-width:1024px){/* ── FAQ ─────────────────────────────────────────────── */
.faqsec{padding:24.0px 0 var(--sec)}}.qa-faq{max-width:var(--wrap);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
  gap:0 63.36px;border-top:1px solid var(--line)}@media(max-width:1024px){.qa-faq{
  gap:0 32.0px}}.qa-item{padding:24px 0;border-bottom:1px solid var(--line)}.qa-item dt{font-family:var(--disp);font-size:24.0px;font-weight:600;
  letter-spacing:-.014em;line-height:1.2}@media(max-width:1024px){.qa-item dt{font-size:19.0px}}.qa-item dd{margin:10px 0 0;font-size:var(--t-small);line-height:1.62;color:var(--ink-2);
  max-width:54ch}.qa-item dd a{display:inline-block;margin-top:6px;color:var(--orange-ink);font-weight:600;
  border-bottom:1.5px solid var(--orange);padding-bottom:1px}.faqsec .note{max-width:var(--wrap);margin:38.0px auto 0}@media(max-width:1024px){.faqsec .note{margin:26.0px auto 0}}.faqsec .note a{border-bottom:1.5px solid var(--orange)}/* ── 5555.json: derecha solo fotos, apiladas; datos a la izquierda ── */
.dprofile .pgrid{grid-template-columns:minmax(0,56fr) minmax(0,44fr)}.pphotos{display:grid;gap:18.0px}@media(max-width:1024px){.pphotos{gap:12.0px}}.pphotos .pphoto{margin:0}.dprofile .pmain .pfacts{margin-top:26px;max-width:52ch}.dprofile .pmain .phours{max-width:52ch}@media(max-width:1024px){.dprofile .pgrid{grid-template-columns:1fr}.pside{order:-1}.pphotos{grid-template-columns:1fr 1fr}}/* ── los cuatro grupos, dentro de la cabecera oscura ─────────────── */
.nav-thick .links{gap:34px}.nav-thick .gbtn{color:#fff;font-family:var(--disp);font-weight:650;font-size:16.5px;
  letter-spacing:-.008em;padding:9px 0;gap:7px;
  border-bottom:2px solid transparent;transition:border-color .16s var(--ease)}.nav-thick .gbtn:hover,.nav-thick .grp.on .gbtn,
.nav-thick .gbtn[aria-current="true"]{color:#fff;border-bottom-color:var(--orange)}.nav-thick .gcar{opacity:.8;stroke-width:2}/* el desplegable como la referencia: papel claro, filete naranja entre lineas */
.nav-thick .gsub{top:calc(100% + 14px);left:-20px;min-width:250px;
  background:#fff;border:1px solid var(--orange);padding:4px 0;
  box-shadow:0 18px 44px -16px rgba(11,31,48,.45)}.nav-thick .gsub a{color:var(--ink);font-family:var(--body);font-weight:500;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 20px;border-bottom:1px solid rgba(241,90,41,.45)}.nav-thick .gsub a:last-child{border-bottom:0}.nav-thick .gsub a:hover,.nav-thick .gsub a:focus-visible{
  background:var(--bg-2);color:var(--orange-ink)}@media(max-width:1024px){.nav-thick .links{display:none}}@media(min-width:1025px){.nav-thick .burger{display:none}}/* ── el wordmark de la marca, calibrado al cuerpo del menu ───────── */
/* la caja de mayusculas de GEORGETOWN queda a la altura de los 16.5px
   de los grupos: el bloque completo, con MAIN STREET debajo, mide 32px */
.nav-thick .brand img{height:32px;width:auto}@media(max-width:1024px){.nav-thick .brand img{height:28px}}/* ── el desplegable: el color del header al 80% ───────────────────── */
/* blanco sobre esa mezcla da 6.5:1 en el peor de los fondos de la web */
.nav-thick .gsub{background:rgba(22,59,86,.88);border-color:var(--orange);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-thick .gsub a{color:#fff;border-bottom-color:rgba(255,255,255,.22)}.nav-thick .gsub a:hover,.nav-thick .gsub a:focus-visible{
  background:rgba(255,255,255,.12);color:#fff}/* ── el hero del directorio, con la foto de la portada ───────────── */
.dhero{position:relative;isolation:isolate;display:flex;align-items:center;
  justify-content:center;min-height:clamp(230px,32vh,320px);overflow:hidden;
  margin-bottom:28.0px}@media(max-width:1024px){/* ── el hero del directorio, con la foto de la portada ───────────── */
.dhero{
  margin-bottom:18.0px}}.dhero-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 52%;z-index:-2;opacity:.72}.dhero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(18,14,12,.42) 0%,rgba(18,14,12,.56) 100%)}.dhero-in{max-width:var(--wrap);width:100%;padding:0 24px;text-align:center;color:#fff}.dhero h1{font-size:56.0px;letter-spacing:-.03em;line-height:1.02;
  margin:0;color:#fff;text-wrap:balance;text-shadow:0 2px 26px rgba(0,0,0,.45)}@media(max-width:1024px){.dhero h1{font-size:30.0px}}/* el subtitulo, pegado al titulo */
.dhero .lead{margin:10px auto 0;max-width:54ch;font-size:var(--t-body);
  color:rgba(255,255,255,.92);text-shadow:0 1px 14px rgba(0,0,0,.45)}.dhero + .dir{padding-top:0}body.ficha .dhero{display:none}@media(max-width:1024px){.dhero{min-height:clamp(190px,26vh,240px)}}/* directorio: el breadcrumb va sobre la foto, y la foto llega hasta el header */
.dhero .crumbs{position:absolute;top:0;left:0;right:0;z-index:2;padding-top:18px;color:rgba(255,255,255,.82)}.dhero .crumbs a{color:rgba(255,255,255,.78)}.dhero .crumbs a:hover{color:#fff}.dhero .crumbs [aria-current]{color:#fff}.dhero .crumbs .sep{opacity:.5}/* ── 11111111.json ────────────────────────────────────────────────── */
/* el filtro elegido: contorno sutil sobre crema, borde naranja, texto tinta */
#dchip{background:var(--card);color:var(--ink);border:1.5px solid var(--orange)}#dchip:hover{background:var(--orange);color:#fff;border-color:var(--orange)}/* la ficha: las dos fotos con la misma anchura, alineadas y sin hueco */
.pphotos{grid-template-columns:1fr;align-content:start}.pphotos .pphoto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}@media(max-width:1024px){.pphotos .pphoto img{aspect-ratio:1/1}}/* un elemento del menu sin desplegable (About us) se ve igual que los demas */
.nav-thick .glink{color:#fff;font-family:var(--disp);font-weight:650;font-size:16.5px;
  letter-spacing:-.005em;padding:6px 0;border-bottom:2px solid transparent;
  transition:border-color var(--t-tap) var(--ease)}.nav-thick .glink:hover,.nav-thick .glink[aria-current="true"]{border-bottom-color:var(--orange)}/* .dcard pasó de <button> a <a> (11111111.json: los nombres son enlaces) */
a.dcard{text-align:left;text-decoration:none;color:inherit;font:inherit}/* ── la tira del corredor: once verticales que se deslizan de lado ─── */
.strip{display:flex;gap:16.0px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;padding:0 0 6px;margin-top:38.0px;
  scrollbar-width:thin;scrollbar-color:var(--line-ui) transparent}@media(max-width:1024px){/* ── la tira del corredor: once verticales que se deslizan de lado ─── */
.strip{gap:10.0px;margin-top:26.0px}}.strip::-webkit-scrollbar{height:6px}.strip::-webkit-scrollbar-thumb{background:var(--line-ui)}.st-card{flex:0 0 300.0px;margin:0;scroll-snap-align:start}@media(max-width:1024px){.st-card{flex:0 0 210.0px}}.st-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  background:var(--bg-2)}.st-card figcaption{margin-top:11px;font-family:var(--mono);font-size:11px;line-height:1.45;
  letter-spacing:.01em;color:var(--ink-2);display:flex;flex-direction:column;gap:5px}.st-biz{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.02em;
  color:var(--orange-ink);text-transform:none}.st-biz:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:1024px){.st-card{flex:0 0 277.5px}}/* el hero del directorio no depende de que la foto sea oscura */
/* el velo no es decoracion: sin el, el titular cae a 2.60:1 sobre esta foto.
   Con 20 puntos mas, el h1 da 3.6:1 y la bajada 4.9:1 sobre el peor pixel. */
.dhero::after{background:linear-gradient(180deg,rgba(11,31,48,.50) 0%,rgba(11,31,48,.60) 45%,
  rgba(11,31,48,.80) 100%)}.dhero .lead{color:#fff}/* Donate cuadrado, relleno en azul cobalto: destaca sobre el navy del header
   (2.8:1 contra el fondo) y el texto blanco encima da 5.30:1, que pasa AA. */
.nav-thick .btn-nav{border-radius:0;padding:0 30px;
  background:var(--cobalt);border:1.5px solid #fff;color:#fff}.nav-thick .btn-nav:hover{background:#fff;border-color:#fff;color:var(--cobalt)}/* las dos barras, mas delgadas: menos alto sin tocar los tamaños de letra */
.nav-thick .btn-nav{min-height:38px}.navsearch{width:38px;height:38px}.navsearch svg{width:18px;height:18px}.nav-thick .brand img{height:29px}/* el enlace suelto medía 45 px y los desplegables 37: se igualan */
.nav-thick .glink{padding:0;line-height:37px;display:inline-flex;align-items:center;height:37px}/* La foto ya es panoramica: llena el ancho entera, sin recorte lateral
   y sin bandas a los lados. */

/* ── 222.json: la ficha, en una sola vista ──────────────────────────────
   Se reducen titulo, etiquetas, datos y horario, se aprietan los huecos
   verticales, y las dos fotos pasan a tener el MISMO alto sin espacios
   sueltos entre ellas. */
.dprofile .pname{font-size:30.0px;line-height:1.08}@media(max-width:1024px){/* La foto ya es panoramica: llena el ancho entera, sin recorte lateral
   y sin bandas a los lados. */

/* ── 222.json: la ficha, en una sola vista ──────────────────────────────
   Se reducen titulo, etiquetas, datos y horario, se aprietan los huecos
   verticales, y las dos fotos pasan a tener el MISMO alto sin espacios
   sueltos entre ellas. */
.dprofile .pname{font-size:22.0px}}.dprofile .prate{margin-top:9px;gap:8px}.dprofile .prate b{font-size:16px}.dprofile .ptags{margin-top:9px;font-size:10px;line-height:1.5}.dprofile .pdesc{margin-top:10px;font-size:14px;line-height:1.5;max-width:56ch}.dprofile .pfacts{margin-top:14px}.dprofile .pfacts div{padding:7px 0}.dprofile .pfacts dt{font-size:8.5px;letter-spacing:.15em}.dprofile .pfacts dd{margin-top:2px;font-size:13.5px;line-height:1.4}.dprofile .phours{margin-top:13px}.dprofile .phlab{font-size:10px;gap:8px}.dprofile .phlab b{font-size:10px;padding:3px 7px}.dprofile .phtab{margin-top:6px}.dprofile .phtab th,.dprofile .phtab td{padding:2.5px 0;font-size:12.5px;line-height:1.3}.dprofile .psrc{margin-top:9px;font-size:10px}.dprofile .pmain .pfacts,.dprofile .pmain .phours{max-width:none}.dprofile .dbackwrap{margin-top:16px}.dprofile .dback{min-height:38px;padding:0 18px;font-size:12.5px}.dprofile{padding-top:10px}.dprofile .pgrid{margin-top:14px;padding-top:14px;gap:34.56px}@media(max-width:1024px){.dprofile .pgrid{gap:20.0px}}/* las dos fotos: misma anchura, MISMO ALTO, un solo hueco entre ellas */
.dprofile .pphotos{grid-template-columns:1fr;gap:10px;align-content:start}.dprofile .pphotos .pphoto{margin:0;display:flex;flex-direction:column}.dprofile .pphotos .pphoto img{width:100%;height:230px;aspect-ratio:auto;
  object-fit:cover;display:block}.dprofile .pphotos .pphoto figcaption{margin-top:5px;font-size:8.5px;line-height:1.35}@media(max-width:1024px){.dprofile .pphotos{grid-template-columns:1fr 1fr}.dprofile .pphotos .pphoto img{height:170px}}/* ── 11.json: About Us, canvas editorial a dos columnas ───────────────── */
.abhero{padding:72.0px 0 56.0px}@media(max-width:1024px){/* ── 11.json: About Us, canvas editorial a dos columnas ───────────────── */
.abhero{padding:38.0px 0 30.0px}}/* la foto empieza y termina a la misma altura que la columna de texto:
   se estira con el, y con object-fit:cover crece sin deformarse */
.ab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);
  gap:72.0px;align-items:stretch}@media(max-width:1024px){/* la foto empieza y termina a la misma altura que la columna de texto:
   se estira con el, y con object-fit:cover crece sin deformarse */
.ab-grid{
  gap:32.0px}}.ab-copy h1{font-size:36.0px;letter-spacing:-.028em;line-height:1.06;
  margin:10px 0 0;text-wrap:balance;max-width:21ch}@media(max-width:1024px){.ab-copy h1{font-size:23.0px}}.ab-lead{margin:18px 0 0;font-size:18.5px;line-height:1.55;
  max-width:56ch;color:var(--ink-2)}@media(max-width:1024px){.ab-lead{font-size:16.0px}}.ab-vm{margin-top:46.0px;display:grid;gap:34.0px}@media(max-width:1024px){.ab-vm{margin-top:30.0px;gap:22.0px}}/* 4444.json: los titulos de Vision y Mission llevan subrayado naranja */
.ab-block h2{font-size:22.0px;letter-spacing:-.018em;margin:0;
  display:inline-block;padding-bottom:7px;border-bottom:3px solid #FF572B}@media(max-width:1024px){/* 4444.json: los titulos de Vision y Mission llevan subrayado naranja */
.ab-block h2{font-size:17.0px}}.ab-block + .ab-block{padding-top:4px}.ab-block p{margin:10px 0 0;font-size:15.8px;line-height:1.6;max-width:58ch;
  color:var(--ink-2)}.ab-photo{margin:0;display:flex}.ab-photo img{display:block;width:100%;height:100%;min-height:100%;aspect-ratio:auto;
  object-fit:cover;object-position:50% 50%}@media(max-width:1024px){.ab-grid{grid-template-columns:1fr;gap:30px;align-items:start}.ab-photo{order:-1;display:block}.ab-photo img{height:auto;min-height:0;aspect-ratio:3/2}}/* ── 333.json: las dos columnas empiezan y terminan a la misma altura ────
   El alto de cada foto lo calcula el JS a partir de la columna de la
   izquierda (ver ajustaFotos en el script): asi no queda hueco al pie ni
   espaciado desigual, y no depende de cuanta informacion traiga la ficha. */
.dprofile .pphotos{gap:10px;align-content:start}.dprofile .pphotos .pphoto img{object-fit:cover;object-position:50% 50%}@media(max-width:1024px){.dprofile .pphotos .pphoto img{height:170px!important}}/* el menu en mayusculas, con mas tracking para que no se apelmacen.
   Se usa .links delante porque `.nav-thick .links a` es mas especifica que
   `.nav-thick .glink` y dejaba About us con otro tamaño que el resto. */
.nav-thick .links .glink,.nav-thick .links .gbtn{
  text-transform:uppercase;letter-spacing:.07em;font-size:14px;font-weight:700;
  font-family:var(--disp)}.nav-thick .links{gap:26px}/* eyebrow del hero, sobre la foto */
.hero2-over .hero-eb{margin:0 0 12px;color:#fff;opacity:.86;
  text-shadow:0 1px 14px rgba(0,0,0,.5)}/* el topbar, con su contenido hacia el centro en vez de pegado a los bordes */
.topbar .in{justify-content:center;gap:140.0px}@media(max-width:1024px){/* el topbar, con su contenido hacia el centro en vez de pegado a los bordes */
.topbar .in{gap:37.5px}}@media(max-width:1024px){.topbar .in{gap:20px;justify-content:space-between}}/* ── Main Street Map, interactivo ────────────────────────────────────
   El mapa deja de ser una ilustracion: cada tramo del corredor responde al
   puntero, dice cuantos negocios hay en esa manzana y lleva al directorio.
   El azul y el naranja son los del propio mapa, asi que la pieza se lee como
   una sola cosa. */
.msmap{padding:0;border-top:1px solid var(--line);background:#122F53}.ms-banner{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);
  align-items:center;gap:43.2px;max-width:1400px;margin:0 auto;
  padding:51.84px 43.2px}@media(max-width:1024px){.ms-banner{gap:20.0px;
  padding:30.0px 24.0px}}/* el mapa y sus zonas activas */
.ms-mapwrap{position:relative;line-height:0;max-width:560px;margin:0 auto}.ms-bg{display:block;width:100%;height:auto;transition:filter .3s var(--ease)}.ms-mapwrap.activo .ms-bg{filter:brightness(.86) saturate(.9)}.ms-hits{position:absolute;inset:0;line-height:1}/* cada tramo ocupa SOLO su trozo de corredor, no el mapa entero */
.ms-seg{position:absolute;display:block;text-decoration:none;color:inherit;cursor:pointer}/* el trazo que se enciende, recortado con la inclinacion de la avenida */
.ms-line{position:absolute;inset:0;display:block;pointer-events:none;opacity:0;
  background:#FFB067;transition:opacity .22s var(--ease);
  filter:drop-shadow(0 0 10px rgba(255,176,103,.6))}.ms-seg:hover .ms-line,.ms-seg:focus-visible .ms-line,.ms-seg.on .ms-line{opacity:1}.ms-seg:focus-visible{outline:none}.ms-seg:focus-visible .ms-line{opacity:1}/* los cruces, como puntos discretos */
.ms-dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;
  background:#122F53;border:2px solid rgba(255,255,255,.75);pointer-events:none}/* la etiqueta que aparece al pasar por encima */
.ms-tip{position:absolute;z-index:3;transform:translate(18px,-50%);pointer-events:none;
  background:#FFFDF9;color:#122F53;border-radius:10px;padding:9px 13px;min-width:150px;
  box-shadow:0 12px 30px rgba(0,0,0,.34);line-height:1.25}.ms-tip[hidden]{display:none}.ms-tip b{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em}.ms-tip-b{display:block;margin-top:2px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.13em;text-transform:uppercase;color:#5C6B7A}.ms-tip-c{display:block;margin-top:6px;font-size:13px;font-weight:600;color:#D8451C}/* el texto y la lista, a la derecha */
.ms-panel{color:#F3F2EE;padding:0}.ms-panel .blade{margin:0;color:rgba(243,242,238,.7)}.ms-panel h2{margin:10px 0 0;color:#F3F2EE;font-size:60.48px;
  letter-spacing:-.03em;line-height:.98}@media(max-width:1024px){.ms-panel h2{font-size:36.0px}}.ms-panel p{margin:16px 0 0;max-width:42ch;font-size:15.84px;
  line-height:1.5;color:rgba(243,242,238,.88)}@media(max-width:1024px){.ms-panel p{font-size:15.0px}}/* una fila por tramo: el mismo dato, para quien no usa raton */
.ms-rows{margin:30.0px 0 0;border-top:1px solid rgba(243,242,238,.18)}@media(max-width:1024px){/* una fila por tramo: el mismo dato, para quien no usa raton */
.ms-rows{margin:20.0px 0 0}}.ms-row{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;align-items:baseline;
  gap:12px;padding:9px 2px;border-bottom:1px solid rgba(243,242,238,.13);
  text-decoration:none;color:#F3F2EE;transition:background-color .16s var(--ease)}.ms-row:hover{background:rgba(255,255,255,.07)}.ms-row-n{font-size:14.5px;font-weight:600}.ms-row-b{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(243,242,238,.6)}.ms-row-c{text-align:right;font-size:15px;font-weight:800;color:#FFB067;
  font-variant-numeric:tabular-nums}.ms-cta{display:inline-flex;align-items:center;gap:9px;margin-top:26.0px;
  min-height:46px;padding:0 24px;border:1.5px solid rgba(243,242,238,.55);
  color:#F3F2EE;text-decoration:none;font-size:14.5px;font-weight:600;
  transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s}@media(max-width:1024px){.ms-cta{margin-top:18.0px}}.ms-cta:hover{background:#F3F2EE;color:#122F53;border-color:#F3F2EE}.ms-cta i{font-style:normal;transition:transform .2s var(--ease)}.ms-cta:hover i{transform:translateX(3px)}@media(max-width:1024px){.ms-banner{grid-template-columns:1fr;padding:26px 22px 34px}.ms-panel{padding:0}.ms-tip{display:none}.ms-line{opacity:1}/* sin raton, todos los tramos visibles */
  .ms-line::before{width:9px;box-shadow:none;opacity:.55}}@media(prefers-reduced-motion:reduce){.ms-bg,.ms-line,.ms-cta i{transition:none}}/* ── GMS y el BID: quien hace que en el corredor (2:28 + 2:42) ────────
   Colores del JSON, texto rotundo y todo compacto para que la tabla
   entera se vea de un vistazo, sin scroll. */
.bid-head{margin-top:48.0px;padding-top:12px;text-align:center}@media(max-width:1024px){/* ── GMS y el BID: quien hace que en el corredor (2:28 + 2:42) ────────
   Colores del JSON, texto rotundo y todo compacto para que la tabla
   entera se vea de un vistazo, sin scroll. */
.bid-head{margin-top:30.0px}}.bid-eb{margin:0;color:#FF572F;font-weight:700;letter-spacing:.16em}.bid-head h2{margin:8px 0 10px;font-size:42.0px;letter-spacing:-.02em;
  line-height:1.04;text-transform:uppercase;font-weight:800}@media(max-width:1024px){.bid-head h2{font-size:27.0px}}.bid-head h2 span{color:#FF572F}.bid-sub{margin:0 auto 14px;max-width:70ch;font-size:15px;line-height:1.4;
  font-weight:600;color:var(--ink-2)}.bidgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;margin:0;align-items:stretch;padding-bottom:12px}.bidcol{padding:18px 22px;border-radius:16px;min-height:0;height:auto;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.bidcol:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,20,20,.14)}.bidcol--bid{background:#F47745;color:#fff}.bidcol--both{background:#C8B8A8;color:#fff}.bidcol--gms{background:#A9C4F0;color:#123B5D}.bidcol h3{margin:0 0 8px;font-size:23px;line-height:1;letter-spacing:-.02em;font-weight:800}.bid-lab{margin:8px 0 10px;padding-bottom:8px;font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:700}.bidcol--bid .bid-lab,.bidcol--both .bid-lab{border-bottom:1px solid rgba(255,255,255,.8)}.bidcol--gms .bid-lab{border-bottom:1px solid rgba(18,59,93,.65)}.bidcol ul{margin:0;padding-left:0;list-style:none;display:grid;gap:10px}.bidcol li{margin:0;font-size:14px;line-height:1.25;font-weight:600;
  display:flex;gap:8px;align-items:baseline}.bidcol li::before{content:"\2013";flex:none;width:14px;font-size:.8em;opacity:.42}.bidcol--bid li::before,.bidcol--both li::before{color:rgba(255,255,255,.55);opacity:1}.bidcol--gms li::before{color:rgba(18,59,93,.5);opacity:1}@media(max-width:1024px){.bidgrid{grid-template-columns:1fr;gap:14px}.bidcol{padding:24px 22px 28px;border-radius:16px}.bidcol:hover{transform:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){.bidcol{transition:none}.bidcol:hover{transform:none}}/* ── 2:58.json — organizaciones del barrio: sin cajas, mas ligero ────── */
/* 5:46.json: el mismo aire arriba y abajo, con el contenido centrado */
.orgs{margin-top:80.0px;display:flex;flex-direction:column;
  justify-content:center;padding-block:56px;box-sizing:border-box}@media(max-width:1024px){/* ── 2:58.json — organizaciones del barrio: sin cajas, mas ligero ────── */
/* 5:46.json: el mismo aire arriba y abajo, con el contenido centrado */
.orgs{margin-top:46.0px}}.orgs-h{text-align:center;font-size:34.56px;font-weight:750;
  letter-spacing:.03em;text-transform:uppercase;line-height:1.2}@media(max-width:1024px){.orgs-h{font-size:24.0px}}.orgs-wrap{margin-top:0;display:flex;align-items:center;
  gap:23.04px}@media(max-width:1024px){.orgs-wrap{
  gap:12.0px}}.orgs-view{flex:1;min-width:0;overflow:hidden}.orgs-track{display:flex;gap:40px;transition:transform .38s var(--ease);will-change:transform}/* sin caja: solo logo, nombre y una linea de texto */
.org{flex:0 0 calc((100% - 80px) / 3);display:flex;flex-direction:column;
  align-items:center;text-align:center;background:none;border:0;box-shadow:none;padding:0}.org-ph{display:flex;align-items:center;justify-content:center;width:100%;height:130px}/* En gris por defecto, a color solo al pasar por encima. La opacidad baja
   evita que los logos de mancha densa pesen mas que los de trazo fino. */
.org-ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(100%) contrast(1.25);transition:filter .25s ease,transform .25s ease}.org:hover .org-ph img{filter:grayscale(0) contrast(1);transform:scale(1.03)}.org h3{margin:16px 0 0;font-size:20px;font-weight:700;letter-spacing:-.012em;line-height:1.1}.org p{margin:9px auto 0;max-width:260px;font-size:15px;line-height:1.3;font-weight:450;
  color:var(--ink-2)}.org p:last-child{margin-bottom:0}/* flechas finas, sin relleno, naranja al pasar por encima */
.orgs-nav{flex:none;width:40px;height:40px;border-radius:50%;cursor:pointer;
  border:1px solid rgba(20,20,20,.22);background:none;color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s}.orgs-nav svg{stroke-width:2}.orgs-nav:hover:not(:disabled){background:#FF572F;border-color:#FF572F;color:#fff}.orgs-nav:disabled{opacity:.22;cursor:default}@media(max-width:1024px){.orgs-track{gap:28px}.org{flex:0 0 100%}.orgs-wrap{gap:8px}.orgs-nav{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){.orgs-track{transition:none}}/* ── 2:39.json — parte de la red de DC Main Street ───────────────────── */
.dcnet{background:#FF572F;color:#FFF8F1;padding:40px 8% 36px;text-align:center}.dcnet-in{max-width:980px;margin:0 auto}.dcnet h2{margin:0 auto 20px;max-width:900px;color:#FFF8F1;font-size:40.32px;
  font-weight:600;letter-spacing:-.015em;line-height:1.08;text-transform:uppercase}@media(max-width:1024px){.dcnet h2{font-size:26.0px}}.dcnet p{margin:0 auto 12px;max-width:980px;font-size:15.12px;
  line-height:1.35;font-weight:400;color:#FFF8F1}@media(max-width:1024px){.dcnet p{font-size:15.0px}}.dcnet .dcnet-2{margin:0 auto 22px;font-size:15.0px;font-weight:450;
  line-height:1.3;opacity:.94}@media(max-width:1024px){.dcnet .dcnet-2{font-size:15.0px}}/* los tres sellos, en blanco y a la misma altura visual */
.dcnet-logos{margin:0 auto;max-width:500px;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;gap:32px}.dcnet-logos img{height:66px;width:auto;max-width:100%;
  object-fit:contain;filter:brightness(0) invert(1);opacity:.95}@media(max-width:1024px){.dcnet{padding:32px 24px}.dcnet h2{font-size:28px}.dcnet p{font-size:15px}.dcnet-logos{gap:22px}.dcnet-logos img{height:46px}}/* 2:42.json: en tablet se encoge un poco mas para que siga cabiendo */
@media(min-width:1025px) and (max-width:1024px){.bidgrid{gap:10px}.bidcol{padding:15px 17px}.bidcol h3{font-size:20px}.bidcol li{font-size:12.5px}.bid-lab{font-size:9.5px}}/* ── 2:52.json — informes anuales, con visor dentro de la pagina ──────── */
.reports{background:#FFFDF9;padding:76.0px 0}@media(max-width:1024px){/* ── 2:52.json — informes anuales, con visor dentro de la pagina ──────── */
.reports{padding:44.0px 0}}.rp-h{text-align:center;color:#477A9F;font-size:44.0px;font-weight:800;
  letter-spacing:.02em;text-transform:uppercase;line-height:1.1}@media(max-width:1024px){.rp-h{font-size:26.0px}}.rp-grid{margin:42.0px auto 0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1080px;align-items:stretch}@media(max-width:1024px){.rp-grid{margin:26.0px auto 0}}.rp-card{display:flex;flex-direction:column;align-self:stretch;background:#FF572F;color:#FFF8F1;
  border-radius:12px;overflow:hidden;text-decoration:none;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease}.rp-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(20,20,20,.18)}.rp-ph{display:block;background:#fff}.rp-ph img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  object-position:top center}/* El pie: el año a la izquierda y la llamada a la derecha, en UNA fila.
   Antes repetia "Annual Report 2023" encima del "2023" y reservaba dos lineas
   para un titulo de una, lo que dejaba un hueco naranja vacio. */
.rp-bd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:14px 18px 16px}.rp-bd b{font-size:24px;font-weight:800;letter-spacing:-.015em;line-height:1}.rp-go{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  opacity:.92;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.rp-go i{font-style:normal;transition:transform .2s var(--ease);display:inline-block}.rp-card:hover .rp-go i{transform:translateX(3px)}@media(max-width:1024px){.rp-grid{grid-template-columns:1fr;gap:18px;max-width:420px}.rp-card:hover{transform:none;box-shadow:none}}/* el visor: el informe se lee sin salir de la web */
.rp-modal{position:fixed;inset:0;z-index:200;background:rgba(12,10,9,.72);
  display:flex;align-items:center;justify-content:center;padding:16px}.rp-modal[hidden]{display:none}.rp-win{width:1100.0px;height:min(850px,90vh);background:#fff;border-radius:12px;
  overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.4)}@media(max-width:1024px){.rp-win{width:345.0px}}.rp-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 14px;background:#163B56;color:#fff}.rp-bar b{font-size:15px;font-weight:700}.rp-tools{display:flex;align-items:center;gap:8px}.rp-dl,.rp-full{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.04em;
  padding:8px 13px;border-radius:6px;border:1px solid rgba(255,255,255,.45);
  background:none;color:#fff;text-decoration:none;cursor:pointer;white-space:nowrap}.rp-dl:hover,.rp-full:hover{background:#fff;color:#163B56;border-color:#fff}.rp-close{width:34px;height:34px;border-radius:6px;border:1px solid rgba(255,255,255,.45);
  background:none;color:#fff;font-size:22px;line-height:1;cursor:pointer}.rp-close:hover{background:#fff;color:#163B56}.rp-win iframe{flex:1;width:100%;border:0;background:#fff}@media(max-width:1024px){.rp-win{width:360.0px;height:88vh}.rp-dl,.rp-full{font-size:11px;padding:7px 10px}}@media(prefers-reduced-motion:reduce){.rp-card{transition:none}.rp-card:hover{transform:none}}/* 3:16.json: el hueco entre los logos y la franja naranja, por tamaño de pantalla */

@media(max-width:1024px){.orgs{padding-block:36px}.dcnet{padding-top:48px;padding-bottom:48px}}/* ── 4:25.json — la junta y el equipo, con panel lateral ──────────────── */
.board{padding:76.0px 0}@media(max-width:1024px){/* ── 4:25.json — la junta y el equipo, con panel lateral ──────────────── */
.board{padding:46.0px 0}}.board > .wrap{max-width:none;padding:0 32px}@media(max-width:1024px){.board > .wrap{padding:0 24px}}@media(max-width:1024px){.board > .wrap{padding:0 16px}}.tm-head{text-align:center;max-width:64ch;margin:0 auto}.tm-head .blade{margin:0}.tm-head h2{margin:10px 0 0;font-size:46.0px;letter-spacing:-.025em;
  line-height:1.05}@media(max-width:1024px){.tm-head h2{font-size:28.0px}}.tm-sub{margin:14px 0 0;font-size:16px;line-height:1.5;color:var(--ink-2)}.tm-grid{margin:44.0px 0 0;display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));column-gap:24px;row-gap:36px;
  align-items:start}@media(max-width:1024px){.tm-grid{margin:28.0px 0 0}}.tm-card{display:flex;flex-direction:column;height:100%;background:none;border:0;
  box-shadow:none;padding:0;cursor:pointer;text-align:left}.tm-card:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:12px}.tm-ph{display:block;overflow:hidden;border-radius:12px;background:var(--bg-2)}.tm-ph img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  object-position:center top;transition:transform .3s var(--ease)}.tm-card:hover .tm-ph img{transform:scale(1.04)}.tm-card b{margin:10px 0 0;font-size:16px;font-weight:650;line-height:1.08;
  letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden}.tm-role{margin:10px 0 0;font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink);line-height:1.15;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1024px){.tm-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px}}@media(max-width:1024px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:28px}.tm-card b{font-size:15px}.tm-role{font-size:9px}}/* el panel lateral con la biografia */
.tm-veil{position:fixed;inset:0;z-index:190;background:rgba(8,20,30,.58);opacity:0;
  transition:opacity .26s ease}.tm-veil.on{opacity:1}.tm-veil[hidden]{display:none}.tm-drawer{position:fixed;top:0;right:0;bottom:0;z-index:200;width:520.0px;
  background:#FFFDF9;border-radius:16px 0 0 16px;overflow-y:auto;
  transform:translateX(100%);transition:transform .28s var(--ease);
  box-shadow:-24px 0 60px rgba(0,0,0,.28)}@media(max-width:1024px){.tm-drawer{width:345.0px}}.tm-drawer.on{transform:translateX(0)}.tm-drawer[hidden]{display:none}.tm-x{position:sticky;top:14px;float:right;margin:14px 14px 0 0;width:38px;height:38px;
  border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:22px;line-height:1;cursor:pointer;z-index:2}.tm-x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.tm-in{padding:40.0px}@media(max-width:1024px){.tm-in{padding:26.0px}}.tm-bigph{display:block;width:150px;height:auto;aspect-ratio:4/5;object-fit:cover;
  object-position:center top;border-radius:12px;background:var(--bg-2)}.tm-brole{margin:20px 0 0;font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}.tm-drawer h3{margin:9px 0 0;font-size:31.0px;letter-spacing:-.022em;
  line-height:1.1}@media(max-width:1024px){.tm-drawer h3{font-size:24.0px}}.tm-bio{margin:16px 0 0;font-size:15.5px;line-height:1.62;color:var(--ink-2)}/* la pagina se queda donde estaba mientras el panel esta abierto */
body.tm-abierto{position:fixed;left:0;right:0;width:100%;overflow:hidden}@media(prefers-reduced-motion:reduce){.tm-drawer,.tm-veil,.tm-ph img{transition:none}}/* El logo del Village es de trazo mucho mas claro que los otros tres: en gris
   medía 170 de luminancia frente a 88-142. Se le baja el brillo para que pese
   lo mismo que sus vecinos (medido: queda en 115). */
.org[data-org="village"] .org-ph img{
  filter:grayscale(100%) brightness(.7) contrast(1.5)}.org[data-org="village"]:hover .org-ph img{filter:grayscale(0) contrast(1)}/* 5:31.json: el bloque de nombre y cargo se apoya en el fondo de la ficha, asi
   una persona con cargo de dos lineas no descoloca a sus vecinas */
.tm-txt{margin-top:auto;min-height:86px;align-self:stretch;display:flex;
  flex-direction:column;justify-content:flex-start}/* 5:30.json: una linea de contexto bajo el titulo de las organizaciones */
.orgs-sub{margin:12px auto 36px;text-align:center;font-size:21.6px;
  font-weight:400;color:#666666;max-width:52ch}@media(max-width:1024px){/* 5:30.json: una linea de contexto bajo el titulo de las organizaciones */
.orgs-sub{font-size:16.0px}}/* ── 5:28.json — comités en acordeón, con la foto del grupo al lado ───── */
.cmt{padding:72.0px 0}@media(max-width:1024px){/* ── 5:28.json — comités en acordeón, con la foto del grupo al lado ───── */
.cmt{padding:40.0px 0}}.cm-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;
  align-items:start;max-width:1440px;margin-inline:auto}.cm-copy{align-self:start}.cm-copy .blade{margin:0;line-height:1.5}.cm-copy h2{margin:10px 0 0;font-size:46.0px;letter-spacing:-.025em;
  line-height:1.05}@media(max-width:1024px){.cm-copy h2{font-size:28.0px}}.cm-sub{margin:14px 0 0;max-width:52ch;font-size:16px;line-height:1.5;color:var(--ink-2)}.cm-list{margin:30.0px 0 0;border-top:1px solid var(--line)}@media(max-width:1024px){.cm-list{margin:20.0px 0 0}}.cm-item{border-bottom:1px solid var(--line)}.cm-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:15px 2px;cursor:pointer;list-style:none}.cm-item summary::-webkit-details-marker{display:none}.cm-item summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.cm-name{font-size:19.0px;font-weight:700;letter-spacing:-.012em;
  line-height:1.2}@media(max-width:1024px){.cm-name{font-size:16.0px}}/* el mas: dos rayas que se cruzan y se convierten en un menos al abrir */
.cm-plus{position:relative;flex:none;width:15px;height:15px;opacity:.55;
  transition:opacity .18s ease,transform .22s var(--ease)}.cm-plus::before,.cm-plus::after{content:"";position:absolute;background:currentColor}.cm-plus::before{left:0;right:0;top:7px;height:1.5px}.cm-plus::after{top:0;bottom:0;left:7px;width:1.5px;transition:opacity .2s ease}.cm-item[open] .cm-plus{opacity:1}.cm-item[open] .cm-plus::after{opacity:0}.cm-item summary:hover .cm-plus{opacity:1}.cm-body{padding:0 2px 20px}.cm-chair{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}.cm-chair b{color:var(--ink);font-weight:600}.cm-body p:not(.cm-chair){margin:11px 0 0;font-size:15px;line-height:1.55;color:var(--ink-2);
  max-width:56ch}.cm-li{margin:13px 0 0;padding-left:0;list-style:none;display:grid;gap:8px}.cm-li li{display:flex;gap:9px;align-items:baseline;font-size:14.5px;line-height:1.4;
  color:var(--ink-2)}.cm-li li::before{content:"\2013";flex:none;width:13px;opacity:.45}/* committees_photo_alignment_update.json: la foto empieza a la altura del
   titular "Committees", no del antetitulo, y conserva su proporcion real
   (1500x1027) en vez de recortarse a 4:3. El desfase sale del propio token:
   alto de linea del antetitulo + el margen superior del h2. */
.cm-img{margin:0;align-self:start;margin-top:calc(var(--t-eyebrow) * 1.5 + 10px)}.cm-img img{display:block;width:100%;height:auto;aspect-ratio:auto;
  border-radius:18px;background:var(--bg-2)}@media(max-width:1024px){.cm-grid{grid-template-columns:1fr;column-gap:0;row-gap:28px}.cm-img{order:0;margin-top:0}}/* 5:39.json: los sellos de la red de DC, mas contenidos */
.dcnet-logos img{max-height:72px;max-width:180px;height:auto;width:auto}@media(max-width:1024px){.dcnet-logos{gap:20px}.dcnet-logos img{max-height:56px}}/* 6:03.json: el titulillo que encabeza la lista de tramos */
.ms-rows-h{margin:30.0px 0 0!important;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(243,242,238,.62)}@media(max-width:1024px){/* 6:03.json: el titulillo que encabeza la lista de tramos */
.ms-rows-h{margin:20.0px 0 0!important}}.ms-rows-h + .ms-rows{margin-top:10px}/* 5:49.json: contexto bajo el titulo de los informes */
.rp-sub{margin:12px auto 40px;text-align:center;font-size:19.44px;
  font-weight:400;color:#666666;white-space:nowrap;max-width:100%}@media(max-width:1024px){/* 5:49.json: contexto bajo el titulo de los informes */
.rp-sub{font-size:14.0px}}@media(max-width:1024px){.rp-sub{white-space:normal;max-width:40ch}}.rp-sub + .rp-grid{margin-top:0}/* ── 6:05.json — la guía de negocios históricos, en horizontal ────────── */
.phead-centro .in{text-align:center}.phead-centro .lead{margin-left:auto;margin-right:auto}.lgfeat{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);
  align-items:stretch;background:var(--card);border:1px solid var(--line);
  border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.lgfeat:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(20,20,20,.13)}.lgf-ph{display:block;overflow:hidden;background:var(--bg-2)}.lgf-ph img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;
  object-position:center 42%;transition:transform .4s var(--ease)}.lgfeat:hover .lgf-ph img{transform:scale(1.035)}.lgf-bd{display:flex;flex-direction:column;justify-content:center;
  padding:46.08px}@media(max-width:1024px){.lgf-bd{
  padding:26.0px}}.lgf-bd .blade{margin:0}.lgf-h{display:block;margin:12px 0 0;font-family:var(--play);font-size:37.44px;
  font-weight:700;letter-spacing:-.026em;line-height:1.05}@media(max-width:1024px){.lgf-h{font-size:24.0px}}.lgf-p{display:block;margin:14px 0 0;max-width:44ch;font-size:16px;line-height:1.5;
  color:var(--ink-2)}.lgf-cta{display:inline-flex;align-items:center;gap:9px;margin-top:26.0px;
  align-self:flex-start;min-height:48px;padding:0 24px;border:1.5px solid var(--ink);
  font-size:14.5px;font-weight:600;
  transition:background-color .18s var(--ease),color .18s var(--ease)}@media(max-width:1024px){.lgf-cta{margin-top:18.0px}}.lgfeat:hover .lgf-cta{background:var(--ink);color:var(--bg)}.lgf-cta i{font-style:normal;transition:transform .2s var(--ease)}.lgfeat:hover .lgf-cta i{transform:translateX(3px)}@media(max-width:1024px){.lgfeat{grid-template-columns:1fr}.lgf-ph img{min-height:0;aspect-ratio:2/1}.lgfeat:hover{transform:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){.lgfeat,.lgf-ph img,.lgf-cta i{transition:none}}/* ── FIX: por debajo de 440px el burger se salia de la pantalla y el sitio
   se quedaba SIN menu en movil. Donate ya aparece en la barra fija de abajo. */
@media(max-width:1024px){.nav-thick .in{gap:12px;padding:10px 16px}.navtools{gap:10px;margin-left:auto}.nav-thick .btn-nav{display:none}}/* ── 6:05.json — Wander Wisconsin ─────────────────────────────────────── */
/* el carrusel del corredor, a sangre: la siguiente tarjeta asoma por el borde */
.strip{padding-right:259.2px;scroll-snap-type:x proximity;scroll-padding-left:var(--trim)}@media(max-width:1024px){/* ── 6:05.json — Wander Wisconsin ─────────────────────────────────────── */
/* el carrusel del corredor, a sangre: la siguiente tarjeta asoma por el borde */
.strip{padding-right:67.5px}}.strip::-webkit-scrollbar{display:none}.strip{scrollbar-width:none}.st-card{flex:0 0 446.4px;scroll-snap-align:start}@media(max-width:1024px){.st-card{flex:0 0 116.25px}}.strip-hint{margin:14px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#6B6B6B}@media(max-width:1024px){.st-card{flex:0 0 195.0px}.strip{padding-right:52.5px}}@media(max-width:1024px){.st-card{flex:0 0 307.5px}.strip{padding-right:37.5px}}/* Other Guides: tres tarjetas con foto y el titulo encima */
.og-head{text-align:center}.og-head .blade{margin:0}.og-head h2{margin:10px 0 0;font-size:43.2px;letter-spacing:-.025em;
  line-height:1.05;text-transform:uppercase;color:#163B56}@media(max-width:1024px){.og-head h2{font-size:26.0px}}.og-status{margin:8px 0 0;font-style:italic;font-size:16px;color:rgba(22,59,86,.66)}.og-grid{margin:42.0px 0 0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}@media(max-width:1024px){.og-grid{margin:26.0px 0 0}}.og-card{position:relative;display:flex;flex-direction:column;overflow:hidden;
  border-radius:0;background:var(--slab)}.og-ph{display:block;overflow:hidden}.og-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  transition:transform .35s var(--ease),filter .3s var(--ease)}.og-card:hover .og-ph img{transform:scale(1.05);filter:saturate(1.12)}/* el degradado editorial que sostiene el texto */
.og-card::after{content:"";position:absolute;inset:auto 0 0 0;height:78%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(12,10,9,.30) 34%,rgba(12,10,9,.86));
  transition:background .3s var(--ease)}.og-card:hover::after{background:linear-gradient(180deg,transparent,
  rgba(196,74,26,.26) 34%,rgba(12,10,9,.88))}.og-bd{position:absolute;z-index:1;inset:auto 0 0 0;padding:22px 20px 20px;
  display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff}.og-bd b{font-size:21.0px;font-weight:700;letter-spacing:-.015em;
  line-height:1.15}@media(max-width:1024px){.og-bd b{font-size:17.0px}}.og-d{margin-top:8px;max-width:32ch;font-size:13.5px;line-height:1.4;
  color:rgba(255,255,255,.86)}.og-soon{margin-top:11px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.72)}@media(max-width:1024px){.og-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media(max-width:1024px){.og-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.og-ph img,.og-card::after{transition:none}}/* ── 7:01.json — el banner de la guía, compacto y sin robar protagonismo ── */
/* 8:07.json: el banner sale de la caja y ocupa el ancho de la ventana. Velo
   plano al 32% (38% en movil) y el texto centrado en los dos ejes. */
.lgban{position:relative;display:block;isolation:isolate;overflow:hidden;
  width:1440.0px;max-width:none;margin-left:calc(50% - 720.0px);border-radius:0;
  height:520.0px;background:var(--bg-2)}@media(max-width:1024px){/* ── 7:01.json — el banner de la guía, compacto y sin robar protagonismo ── */
/* 8:07.json: el banner sale de la caja y ocupa el ancho de la ventana. Velo
   plano al 32% (38% en movil) y el texto centrado en los dos ejes. */
.lgban{
  width:375.0px;margin-left:calc(50% - 187.5px);
  height:280.0px}}.lgban-img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center}.lgban-in{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;color:#F6F5F2;
  padding:48.0px 80.0px}@media(max-width:1024px){.lgban-in{
  padding:24.0px 22.5px}}/* El velo del 8:07 va plano al 32%. Encima, y solo detras del texto, un
   scrim que se apaga hacia los bordes: sin el, los cristales encendidos del
   escaparate dejaban el titulo en 2,38:1. El resto de la foto no se toca. */
.lgban-in::before{content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(56% 60% at 50% 50%, rgba(0,0,0,.38) 0%, rgba(0,0,0,.28) 52%,
                    rgba(0,0,0,0) 100%),
    rgba(0,0,0,.32)}.lgban-in > *{position:relative;z-index:1}.lgban-eyebrow{margin:0 0 12px;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.22em;text-transform:uppercase;
  color:#F6F5F2;text-shadow:0 1px 14px rgba(0,0,0,.72)}.lgban-h{margin:0;text-shadow:0 1px 24px rgba(0,0,0,.62);
  font-family:var(--play);font-size:43.2px;font-weight:700;
  line-height:1.08;letter-spacing:-.018em;max-width:22ch;text-wrap:balance;color:#F6F5F2}@media(max-width:1024px){.lgban-h{font-size:24.0px}}.lgban-p{margin:12px 0 0;max-width:50ch;font-size:17.28px;
  line-height:1.5;color:#F6F5F2;text-shadow:0 1px 16px rgba(0,0,0,.7)}@media(max-width:1024px){.lgban-p{font-size:14.5px}}.lgban-cta{display:inline-flex;align-items:center;gap:9px;margin-top:28.0px;
  background:#F6F5F2;color:#111111;border-radius:999px;
  padding:12px 24px;font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);
  letter-spacing:.14em;text-transform:uppercase;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}@media(max-width:1024px){.lgban-cta{margin-top:18.0px}}.lgban-cta:hover{background:var(--orange);color:#111111}.lgban-cta i{font-style:normal;transition:transform .2s var(--ease)}.lgban-cta:hover i{transform:translateX(3px)}@media(max-width:1024px){.lgban{height:360px}/* en movil el texto ocupa casi todo el alto del banner, asi que el scrim
     tiene que ser mas alto y algo mas fuerte para que el parrafo llegue a 4,5:1 */
  .lgban-in::before{background:
    radial-gradient(94% 80% at 50% 50%, rgba(0,0,0,.46) 0%, rgba(0,0,0,.34) 58%,
                    rgba(0,0,0,0) 100%),
    rgba(0,0,0,.38)}.lgban-in{padding:24px 18px}}@media(prefers-reduced-motion:reduce){.lgban-cta,.lgban-cta i{transition:none}}/* ── georgetown_updates.json · el carrusel, a lo ancho de la ventana ─────
   Cinco fotos justas a la vista (diez en total = dos pantallas exactas), sin
   margen a los lados, asi que cada foto crece de 228 a 275 px en 1440. Siguen
   en 4:5 y con contain: las 24 son 4:5 exactas y no se recorta ninguna. */
/* gallery_side_gutters_update.json: el carrusel deja de tocar los bordes y
   respira 6vw a cada lado. Sigue saliendo de la caja del contenido (max-width
   none) y conserva el desplazamiento y la separacion entre fotos. */
.stripwrap{position:relative;width:1440.0px;max-width:none;margin-left:calc(50% - 720.0px);
  padding-left:86.4px;padding-right:86.4px}@media(max-width:1024px){/* ── georgetown_updates.json · el carrusel, a lo ancho de la ventana ─────
   Cinco fotos justas a la vista (diez en total = dos pantallas exactas), sin
   margen a los lados, asi que cada foto crece de 228 a 275 px en 1440. Siguen
   en 4:5 y con contain: las 24 son 4:5 exactas y no se recorta ninguna. */
/* gallery_side_gutters_update.json: el carrusel deja de tocar los bordes y
   respira 6vw a cada lado. Sigue saliendo de la caja del contenido (max-width
   none) y conserva el desplazamiento y la separacion entre fotos. */
.stripwrap{width:375.0px;margin-left:calc(50% - 187.5px);
  padding-left:22.5px;padding-right:22.5px}}.strip{gap:16px;column-gap:16px;padding:0;scroll-padding-left:0;
  scroll-snap-type:x proximity}/* wander_header_carousel_update.json: tres fotos enteras y la cuarta a un 60%.
   Con 3,6 a la vista cada foto queda en 388 px, que es el 0,9 de los 442 que
   median antes: sale exactamente la escala que pide el json. El 60% se
   conserva en los tres tamanos para que la pista no desaparezca. */
.st-card{flex:0 0 calc((1267.2px - 2.6 * 16px) / 3.6);scroll-snap-align:start}@media(max-width:1024px){/* wander_header_carousel_update.json: tres fotos enteras y la cuarta a un 60%.
   Con 3,6 a la vista cada foto queda en 388 px, que es el 0,9 de los 442 que
   median antes: sale exactamente la escala que pide el json. El 60% se
   conserva en los tres tamanos para que la pista no desaparezca. */
.st-card{flex:0 0 calc((330.0px - 2.6 * 16px) / 3.6)}}.st-card img{aspect-ratio:4/5;object-fit:contain;object-position:center;
  width:100%;height:auto;background:var(--bg-2)}.st-card figcaption{margin-top:9px;padding:0 2px}.strip-cta{margin:44.0px 0 0;text-align:center}@media(max-width:1024px){.strip-cta{margin:30.0px 0 0}}.strip-cta a{display:inline-block;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink);border:1.5px solid var(--ink);padding:14px 30px;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.strip-cta a:hover{background:var(--ink);color:var(--bg)}/* las flechas entran dentro de la ventana, ya no hay margen donde apoyarlas */
.st-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:42px;height:42px;display:grid;place-items:center;
  border:1.5px solid var(--line-ui);border-radius:50%;
  background:var(--bg);color:var(--ink);cursor:pointer;padding:0;
  transition:opacity var(--t-ui) var(--ease),background var(--t-ui) var(--ease),
             border-color var(--t-ui) var(--ease)}.st-nav:hover:not(:disabled){background:var(--ink);color:var(--bg);border-color:var(--ink)}.st-nav:disabled{opacity:0;pointer-events:none}.st-prev{left:22.2px}@media(max-width:1024px){.st-prev{left:-9.75px}}.st-next{right:22.2px}@media(max-width:1024px){.st-next{right:-9.75px}}@media(max-width:1024px){.st-card{flex:0 0 calc((330.0px - 1.6 * 16px) / 2.6)}}@media(max-width:1024px){.st-card{flex:0 0 calc((330.0px - .6 * 16px) / 1.6)}.st-nav{display:none}}@media(prefers-reduced-motion:reduce){.st-nav,.strip-cta a{transition:none}}/* legacy_gallery_ratio_update.json: la galeria deja el recorte cuadrado y
   muestra el 4:5 original. Con contain no hay bandas: son 4:5 exactas. */
.gallery{padding:26.0px 0 124.0px}@media(max-width:1024px){/* legacy_gallery_ratio_update.json: la galeria deja el recorte cuadrado y
   muestra el 4:5 original. Con contain no hay bandas: son 4:5 exactas. */
.gallery{padding:10.0px 0 66.0px}}.ga-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14.0px}@media(max-width:1024px){.ga-grid{gap:8.0px}}.ga-it{padding:0;margin:0;border:0;background:none;cursor:pointer;display:block;
  position:relative;overflow:hidden;-webkit-appearance:none;appearance:none}.ga-it img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;
  object-position:center;background:var(--bg-2);
  transition:transform var(--t-image) var(--ease),filter var(--t-ui) var(--ease)}@media(hover:hover){.ga-it:hover img{transform:scale(1.045)}.ga-it::after{content:"";position:absolute;inset:0;background:rgba(17,17,17,.16);
    opacity:0;transition:opacity var(--t-ui) var(--ease);pointer-events:none}.ga-it:hover::after{opacity:1}}.ga-back{margin:52.0px 0 0;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase}@media(max-width:1024px){.ga-back{margin:34.0px 0 0}}.ga-back a{border-bottom:1.5px solid var(--orange);padding-bottom:2px;color:var(--orange-ink)}@media(max-width:1024px){.ga-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.ga-grid{grid-template-columns:repeat(2,1fr)}}/* el visor */
body.ga-abierto{position:fixed;left:0;right:0;width:100%;overflow:hidden}.ga-box{position:fixed;inset:0;z-index:9000;background:rgba(12,12,11,.96);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:26.0px;padding:clamp(56px,7vh,84px) 42.0px clamp(24px,4vh,44px)}@media(max-width:1024px){.ga-box{
  gap:8.0px;padding:clamp(56px,7vh,84px) 11.25px clamp(24px,4vh,44px)}}.ga-box[hidden]{display:none}.ga-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;
  justify-content:space-between;padding:16px 26.0px;pointer-events:none}@media(max-width:1024px){.ga-top{padding:16px 14.0px}}.ga-count{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:rgba(243,242,238,.62)}.ga-x{pointer-events:auto;background:none;border:0;color:#F3F2EE;font-size:30px;line-height:1;
  cursor:pointer;padding:4px 10px;opacity:.78;transition:opacity var(--t-ui) var(--ease)}.ga-x:hover{opacity:1}.ga-ar{background:none;border:1.5px solid rgba(243,242,238,.34);border-radius:50%;
  width:46px;height:46px;display:grid;place-items:center;color:#F3F2EE;cursor:pointer;padding:0;
  transition:background var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease)}.ga-ar:hover{background:rgba(243,242,238,.14);border-color:rgba(243,242,238,.7)}.ga-fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;min-width:0;height:100%}.ga-fig img{max-width:100%;max-height:calc(100vh - 210px);width:auto;height:auto;object-fit:contain}.ga-fig figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;line-height:1.5;
  color:rgba(243,242,238,.72);text-align:center;max-width:56ch}@media(max-width:1024px){.ga-box{grid-template-columns:1fr;grid-template-rows:1fr auto;padding:58px 14px 22px}.ga-fig{grid-row:1}.ga-ar{grid-row:2;width:44px;height:44px}.ga-prev{justify-self:start}.ga-next{justify-self:end;grid-row:2;grid-column:1}.ga-fig img{max-height:calc(100vh - 200px)}}/* ── 7:08.json · Wander Wisconsin › Guides · editorial cálido y centrado ─── */
.wg{padding:20.0px 0 120.0px}@media(max-width:1024px){/* ── 7:08.json · Wander Wisconsin › Guides · editorial cálido y centrado ─── */
.wg{padding:6.0px 0 66.0px}}.wg-feat{text-align:center}.wg-ban{position:relative;display:block;isolation:isolate;overflow:hidden;border-radius:14px;
  background:var(--bg-2)}.wg-ban img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;
  object-position:center;transition:transform var(--t-image) var(--ease)}@media(hover:hover){.wg-ban:hover img{transform:scale(1.022)}}.wg-ban-in{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;text-align:center;color:#F6F5F2;
  padding:clamp(24px,5%,58px) 80.0px}@media(max-width:1024px){.wg-ban-in{
  padding:clamp(24px,5%,58px) 22.5px}}.wg-ban-in::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(26,17,12,.88) 0%,rgba(26,17,12,.62) 40%,
             rgba(26,17,12,.22) 72%,rgba(26,17,12,0) 100%)}.wg-eyebrow{font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);
  letter-spacing:.24em;text-transform:uppercase;color:rgba(246,245,242,.8);
  margin-bottom:14.0px}@media(max-width:1024px){.wg-eyebrow{
  margin-bottom:8.0px}}.wg-h{font-family:var(--play);font-weight:700;line-height:1.08;letter-spacing:-.018em;
  font-size:44.0px;max-width:20ch;text-wrap:balance;color:#F6F5F2}@media(max-width:1024px){.wg-h{
  font-size:21.0px}}.wg-body{display:flex;flex-direction:column;align-items:center;
  margin-top:34.0px}@media(max-width:1024px){.wg-body{
  margin-top:22.0px}}.wg-desc{margin:0;max-width:58ch;text-align:center;font-size:var(--t-lead);line-height:1.55;
  color:var(--ink-2);text-wrap:pretty}.wg-cta{display:inline-flex;align-items:center;gap:10px;margin-top:30.0px;
  font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink);border:1.5px solid var(--ink);padding:14px 28px;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}@media(max-width:1024px){.wg-cta{margin-top:20.0px}}.wg-cta:hover{background:var(--ink);color:var(--bg)}.wg-cta i{font-style:normal;transition:transform .2s var(--ease)}.wg-cta:hover i{transform:translateX(3px)}.wg-more{margin-top:96.0px}@media(max-width:1024px){.wg-more{margin-top:56.0px}}.wg-rule{display:flex;align-items:center;gap:20px;margin:0 0 38.0px;
  font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}@media(max-width:1024px){.wg-rule{margin:0 0 26.0px}}.wg-rule::before,.wg-rule::after{content:"";flex:1;height:1px;background:var(--line)}.wg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34.0px}@media(max-width:1024px){.wg-grid{gap:20.0px}}.wg-card{display:flex;flex-direction:column;text-align:center;align-items:center}.wg-ph{display:block;width:100%;overflow:hidden;background:var(--bg-2);margin-bottom:16px}.wg-ph img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:grayscale(100%);
  opacity:.72}.wg-card b{font-family:var(--play);font-weight:700;font-size:var(--t-h3);line-height:1.16;
  letter-spacing:-.01em}.wg-d{margin-top:9px;max-width:34ch;font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}.wg-soon{margin-top:13px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}.wg-back{margin:80.0px 0 0;text-align:center;font-family:var(--disp);
  font-weight:600;font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase}@media(max-width:1024px){.wg-back{margin:50.0px 0 0}}.wg-back a{border-bottom:1.5px solid var(--orange);padding-bottom:2px;color:var(--orange-ink)}@media(max-width:1024px){.wg-grid{grid-template-columns:1fr;gap:28.0px}.wg-ph{max-width:420px}}@media(prefers-reduced-motion:reduce){.wg-ban img,.wg-cta,.wg-cta i{transition:none}}/* 7:08.json: la cabecera de Guides va centrada de verdad, en una sola columna */
.phead-wg .in{grid-template-columns:1fr;text-align:center;row-gap:16px;
  justify-items:center;align-items:center}.phead-wg h1{grid-column:1;max-width:16ch}.phead-wg .lead{grid-column:1;max-width:52ch;margin:0 auto}/* ── 8:22.json · cabecera editorial centrada de verdad ────────────────────
   La regla de .phead pasa a dos columnas a partir de 901px y arrastraba el
   titular a la izquierda con el subtitulo colgado a la derecha. Aqui se anula
   la rejilla en TODOS los anchos, con margenes automaticos y las medidas del
   propio json: contenedor 1280, titular 900, texto de apoyo 620. */
.phead-centrado .in{
  width:100%;max-width:1280px;margin-inline:auto;
  padding-inline:72.0px;
  display:grid;grid-template-columns:1fr;justify-content:center;justify-items:center;
  align-items:center;text-align:center;row-gap:18px}@media(max-width:1024px){/* ── 8:22.json · cabecera editorial centrada de verdad ────────────────────
   La regla de .phead pasa a dos columnas a partir de 901px y arrastraba el
   titular a la izquierda con el subtitulo colgado a la derecha. Aqui se anula
   la rejilla en TODOS los anchos, con margenes automaticos y las medidas del
   propio json: contenedor 1280, titular 900, texto de apoyo 620. */
.phead-centrado .in{
  padding-inline:20.0px}}.phead-centrado .blade{grid-column:1;margin-inline:auto;margin-bottom:0}.phead-centrado h1{grid-column:1;width:100%;max-width:900px;margin-inline:auto;
  text-align:center;text-wrap:balance}.phead-centrado .lead{grid-column:1;width:100%;max-width:620px;margin-inline:auto;
  text-align:center;text-wrap:pretty}@media(min-width:1025px){.phead-centrado .in{grid-template-columns:1fr;row-gap:18px}.phead-centrado h1{max-width:900px}.phead-centrado .lead{grid-column:1;max-width:620px}}/* wander_bucks_banner_update.json: el mismo banner de ancho completo, ahora
   con la flecha hacia abajo porque el boton no sale de la pagina: baja a la
   seccion de Georgetown Bucks. */
.lgban-cta i{display:inline-block}.lgban-cta[href^="#"]:hover i{transform:translateY(2px)}/* ── explore_corridor_nav_update.json · accion compacta junto al buscador ──
   Va a la derecha de la lupa y lleva a la tira del corredor en Wander. En
   contorno tenue para no competir con Donate, que sigue siendo el CTA. */
/* El blanco al 50% sobre el navy componia gris rgb(135,145,154) y se leia
   como una raya apagada al lado del borde blanco de Donate. Va en blanco:
   la jerarquia la marca el relleno cobalto de Donate, no la opacidad. */
.btn-corridor{display:inline-flex;align-items:center;white-space:nowrap;
  min-height:38px;padding:0 16px;border:1.5px solid #fff;
  color:#fff;font-family:var(--disp);font-weight:700;font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;border-radius:0;
  transition:background .16s var(--ease),color .16s var(--ease),
             border-color .16s var(--ease)}.btn-corridor:hover{background:#fff;border-color:#fff;color:var(--cobalt)}/* por debajo de 1080 manda el menu movil: alli va como enlace propio */
@media(max-width:1024px){.btn-corridor{display:none}}.mcorridor{display:block;margin-top:26px;padding:15px 22px;text-align:center;
  border:1.5px solid currentColor;font-family:var(--disp);font-weight:700;
  font-size:12px;letter-spacing:.13em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.btn-corridor{transition:none}}/* ── footer_email_signup_update.json · alta al boletin en el pie ─────────── */
.fnews{padding:0 0 54.0px;margin-bottom:48.0px;
  border-bottom:1px solid rgba(243,242,238,.18)}@media(max-width:1024px){/* ── footer_email_signup_update.json · alta al boletin en el pie ─────────── */
.fnews{padding:0 0 34.0px;margin-bottom:30.0px}}.fnews-h{margin:0 0 26.0px;max-width:28ch;
  font-family:var(--play);font-weight:700;line-height:1.14;letter-spacing:-.015em;
  font-size:31.68px;color:var(--on-slab);text-wrap:balance}@media(max-width:1024px){.fnews-h{margin:0 0 18.0px;
  font-size:20.0px}}.fnews-form{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;max-width:620px}.fnews-form input[type=email]{flex:1 1 260px;min-height:48px;padding:0 16px;
  background:transparent;border:1.5px solid rgba(243,242,238,.42);border-radius:0;
  color:var(--on-slab);font-family:var(--body);font-size:16px}.fnews-form input[type=email]::placeholder{color:rgba(243,242,238,.55)}.fnews-form input[type=email]:focus-visible{outline:2px solid var(--orange);outline-offset:2px;
  border-color:rgba(243,242,238,.8)}.fnews-form button{min-height:48px;padding:0 30px;cursor:pointer;
  background:var(--on-slab);color:#111111;border:1.5px solid var(--on-slab);border-radius:0;
  font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.15em;
  text-transform:uppercase;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.fnews-form button:hover:not(:disabled){background:var(--orange);border-color:var(--orange);color:#111111}.fnews-form button:disabled{opacity:.55;cursor:default}.fnews-msg{margin:12px 0 0;min-height:1.3em;font-family:var(--mono);font-size:12px;
  letter-spacing:.02em;color:rgba(243,242,238,.72)}.fnews-msg.bien{color:#9BD3A6}.fnews-msg.mal{color:#FFB39B}@media(max-width:1024px){.fnews-form input[type=email],.fnews-form button{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.fnews-form button{transition:none}}/* ── hero_height_update.json · el hero de portada, 30% mas bajo ───────────
   En escritorio el alto lo fija la proporcion: 1762/876 pasa a 1762/613, que
   es exactamente el 70% del alto anterior. En movil se escala el clamp igual.
   La foto se centra y el bloque de texto deja el borde inferior y se coloca
   centrado en vertical, alineado a la izquierda. */
@media(min-width:1025px){.hero2-img img{aspect-ratio:1762/613;object-position:50% 50%}}@media(max-width:1024px){.hero2-img img{height:clamp(210px,33.6vh,322px);object-position:50% 50%}}.hero2-over{inset:0;display:flex;flex-direction:column;justify-content:center;
  padding-bottom:0}.hero2-over .sheet{width:100%}@media(max-width:1024px){.hero2-over{padding-bottom:0}}/* ── business_detail_gallery_update.json · ficha de negocio ───────────────
   El horario se aprieta: las siete filas ocupaban mas que el resto de datos
   juntos. Y las fotos pasan de dos apiladas a cuatro en rejilla. */
.dprofile .phours{margin-top:18px}.dprofile .phtab{margin-top:8px}.dprofile .phtab th,.dprofile .phtab td{padding:2px 0;line-height:1.35}.dprofile .phlab{margin-bottom:0}.pphotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pphoto{margin:0}.pphoto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  background:var(--bg-2)}.pphoto figcaption{margin-top:5px;font-family:var(--mono);font-size:9.5px;line-height:1.35;
  letter-spacing:.01em;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1024px){.pphotos{grid-template-columns:1fr 1fr;gap:8px}}/* ── footer_spacing_update.json · el pie, mas apretado ────────────────────
   Se recorta el aire, no el texto: el interlineado y los tamaños se quedan
   como estaban y las areas de pulsacion de los enlaces tampoco bajan. */
footer{padding:40px 0 26px}.fnews{padding-bottom:26px;margin-bottom:26px}.fnews-h{margin-bottom:16px}.fnews-msg{margin-top:9px}.fgrid{gap:34px 40px;padding-bottom:28px;align-items:start}footer h4{margin-bottom:11px}.funded{margin-top:14px}.accred{padding-top:20px;gap:26px}.fbot{padding-top:18px}@media(max-width:1024px){footer{padding:32px 0 22px}.fgrid{gap:26px 30px;padding-bottom:24px}}/* wander_header_carousel_update.json: el carrusel va "immediately below" la
   cabecera, asi que se recorta el aire que sumaban el pie del phead y la
   cabeza de la seccion (162 px entre la raya y la primera foto). */
.phead-centrado + section#corridor{padding-top:0}body:has(.phead-centrado + section#corridor) .phead-centrado{padding-bottom:36.0px}@media(max-width:1024px){body:has(.phead-centrado + section#corridor) .phead-centrado{padding-bottom:22.0px}}@supports not (selector(:has(*))){.phead-centrado{padding-bottom:36.0px}@media(max-width:1024px){.phead-centrado{padding-bottom:22.0px}}}/* legacy_promo_banner_update.json: segundo banner, el de legacy businesses.
   Velo plano al 28% como pide el json, mas el mismo scrim de lectura que el
   otro: sin el, los cristales encendidos del escaparate dejan el titulo por
   debajo de 3:1 (medido). Ancho completo, sin margenes ni radio, ya heredados
   de .lgban. */
.lgban--legacy .lgban-in::before{
  background:
    radial-gradient(56% 60% at 50% 50%, rgba(0,0,0,.38) 0%, rgba(0,0,0,.28) 52%,
                    rgba(0,0,0,0) 100%),
    rgba(0,0,0,.28)}@media(max-width:1024px){.lgban--legacy .lgban-in::before{
    background:
      radial-gradient(94% 80% at 50% 50%, rgba(0,0,0,.46) 0%, rgba(0,0,0,.34) 58%,
                      rgba(0,0,0,0) 100%),
      rgba(0,0,0,.28)}}/* ── navbar_gray_line_fix.json · la raya gris bajo la barra ───────────────
   No era un borde: la barra superior media 32,86 px porque su alto lo fijaba
   el interlineado del texto. Con el borde a 0,86 de pixel el navegador lo
   suaviza y pinta una linea gris — mas visible en Safari, que redondea
   distinto. Se fija a alto entero y se descarta cualquier borde o hueco. */
/* 33+58 = 91 px de cabecera. En pantallas escaladas 91 x 1,25 / 1,5 / 1,75 da
   113,75 / 136,5 / 159,25: el borde cae partido y el navegador mezcla el navy
   con el fondo claro en esa fila, que es la raya gris (rgb(154,155,154) medido
   a dpr 1,75). Con 34+58 = 92 el borde cae en pixel entero en TODOS los pasos
   de cuarto: 115, 138, 161, 184, 207. La mezcla desaparece, no se disimula. */
.topbar .in{min-height:34px;padding-top:0;padding-bottom:0}.nav-thick{border-bottom:0;margin-bottom:0;padding-bottom:0}.nav-thick + main,.nav-thick ~ main{margin-top:0}main > :first-child{margin-top:0}/* ── map_layout_cleanup_update.json · el mapa, limpio y centrado ──────────
   Solo queda la linea de corredor del propio dibujo: la que se superponia
   duplicaba el trazo. El tramo sigue siendo pulsable por su area invisible,
   con su punto y su etiqueta, asi que la interaccion no se pierde. */
.ms-line{display:none}.ms-banner{align-items:center;justify-items:center}.ms-mapwrap{margin-inline:auto}.ms-panel{text-align:center;align-self:center;justify-self:center}.ms-panel .blade{margin-inline:auto}.ms-panel h2{margin-inline:auto}.ms-panel p{margin-inline:auto;max-width:52ch}.ms-cta{margin-inline:auto}/* El aro del buscador tenia el mismo blanco al 50% que componia gris. Se
   iguala a los dos botones para que la barra lea como un solo sistema. */
.nav-thick .navsearch{border-color:#fff}/* ── gallery_header_compact_update.json · cabecera de la galeria, apretada ─
   El subtitulo cabia justo en dos lineas por el tope de 620px. Se ensancha y
   se baja un punto el tamaño para que entre en una sola, y se recorta el aire
   de arriba, el de entre titular y subtitulo, y el de antes de la rejilla.
   El centrado no se toca. */
.phead-gal{padding-top:43.2px;padding-bottom:30.0px}@media(max-width:1024px){/* ── gallery_header_compact_update.json · cabecera de la galeria, apretada ─
   El subtitulo cabia justo en dos lineas por el tope de 620px. Se ensancha y
   se baja un punto el tamaño para que entre en una sola, y se recorta el aire
   de arriba, el de entre titular y subtitulo, y el de antes de la rejilla.
   El centrado no se toca. */
.phead-gal{padding-top:26.0px;padding-bottom:18.0px}}.phead-gal .in{row-gap:10px;padding-bottom:26.0px}@media(max-width:1024px){.phead-gal .in{padding-bottom:16.0px}}.phead-gal .lead{max-width:1000px;font-size:16.13px;line-height:1.5}@media(max-width:1024px){.phead-gal .lead{font-size:15.0px}}.phead-gal + .gallery{padding-top:24.0px}@media(max-width:1024px){.phead-gal + .gallery{padding-top:14.0px}}/* El velo plano del 55% se calibro para la foto anterior. Con la nueva apaga
   el atardecer, que es justo lo que hace buena a la foto. Baja al 42% y se
   compensa con un degradado por la izquierda, que es donde vive el texto: el
   titular y la entradilla mantienen su contraste y el cielo recupera color. */
.hero2::after{background:rgba(0,0,0,.42)}.hero2-img::after{inset:0;
  background:
    linear-gradient(100deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.34) 34%,
                    rgba(0,0,0,.08) 62%, rgba(0,0,0,0) 100%),
    linear-gradient(180deg, transparent 38%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.2) 100%)}@media(max-width:1024px){.hero2::after{background:rgba(0,0,0,.46)}.hero2-img::after{background:
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.34) 45%, rgba(0,0,0,.42) 100%)}}/* ── header_buttons_directory_update.json · los dos botones, misma familia ─
   Misma fuente, mismo cuerpo, mismo borde y mismo alto que Donate. Lo unico
   que no se copia es el relleno cobalto: eso es lo que mantiene a Donate como
   accion principal y al otro como secundaria. */
.nav-thick .btn-corridor{font-family:var(--disp);font-weight:700;font-size:15.5px;
  letter-spacing:normal;text-transform:none;min-height:38px;padding:0 30px;
  border:1.5px solid #fff;border-radius:0;background:none;color:#fff}.nav-thick .btn-corridor:hover{background:#fff;border-color:#fff;color:var(--cobalt)}/* la lupa queda centrada entre los dos, con mas aire antes de Donate */
.nav-thick .navtools{gap:14px}.nav-thick .navtools .navsearch{margin-inline:2px}.nav-thick .navtools .btn-nav{margin-left:12px}/* guides_cta_section_update.json: la seccion de guias gana su boton propio. */
.og-cta{margin:42.0px 0 0;text-align:center}@media(max-width:1024px){/* guides_cta_section_update.json: la seccion de guias gana su boton propio. */
.og-cta{margin:28.0px 0 0}}.og-cta a{display:inline-block;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink);border:1.5px solid var(--ink);padding:14px 30px;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.og-cta a:hover{background:var(--ink);color:var(--bg)}/* reduce_gallery_banner_gap_update.json: el salto del boton de la galeria al
   banner de legacy era el mayor de la pagina. Se recorta por los dos lados. */
#corridor{padding-bottom:30.0px}@media(max-width:1024px){/* reduce_gallery_banner_gap_update.json: el salto del boton de la galeria al
   banner de legacy era el mayor de la pagina. Se recorta por los dos lados. */
#corridor{padding-bottom:18.0px}}.strip-cta{margin-top:34.0px}@media(max-width:1024px){.strip-cta{margin-top:22.0px}}#legacy-guide{padding-top:20.0px}@media(max-width:1024px){#legacy-guide{padding-top:10.0px}}@media(prefers-reduced-motion:reduce){.og-cta a{transition:none}}/* A 1200px los enlaces del menu y los dos botones no caben: el contenido pedia
   1147px en 1128. Entre 1080 y 1360 el boton del corredor recorta su relleno
   lateral; la tipografia, el borde y el alto se quedan como los de Donate. */
@media(min-width:1025px) and (max-width:1024px){.nav-thick .btn-corridor{padding:0 16px}.nav-thick .navtools{gap:11px}.nav-thick .navtools .btn-nav{margin-left:8px}.nav-thick .btn-nav{padding:0 22px}}/* ── global_headlines_events_layout_update.json ───────────────────────────
   Todas las cabeceras de pagina pasan a la composicion de la de legacy:
   titular centrado y subtitulo debajo, tambien centrado. La regla base pasaba
   a dos columnas por encima de 901px y dejaba el subtitulo colgado a la
   derecha; aqui se anula la rejilla en todos los anchos. */
.phead .in{grid-template-columns:1fr;justify-items:center;text-align:center;row-gap:14px}.phead h1{grid-column:1;max-width:20ch;margin-inline:auto;text-wrap:balance}.phead .lead{grid-column:1;max-width:62ch;margin-inline:auto;text-align:center}.phead .blade{grid-column:1;margin-inline:auto}@media(min-width:1025px){.phead .in{grid-template-columns:1fr;row-gap:14px}.phead h1{max-width:20ch}.phead .lead{grid-column:1;max-width:62ch}}/* La rejilla de eventos: con tres eventos, spans de 3 sobre 12 columnas
   dejaban un cuarto de fila vacio a la derecha. Tres columnas iguales que
   ocupan todo el ancho del contenido. */
.evs{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center}.ev{grid-column:auto}@media(max-width:1024px){.evs{grid-template-columns:repeat(2,minmax(0,1fr))}.ev{grid-column:auto}}@media(max-width:1024px){.evs{grid-template-columns:1fr}.ev{grid-column:auto}}/* ── map_transparent_hover_update.json · el mapa, sin fondo ni texto ──────
   El dibujo es ahora un PNG con alfa: solo las calles. El fondo lo pone el
   propio banner, asi que se quita el oscurecido de la imagen (no hay imagen
   que oscurecer) y el resalte pasa a la calle, en #ff8a2a. */
.ms-mapwrap{max-width:440px}.ms-bg{background:none}.ms-mapwrap.activo .ms-bg{filter:none}/* map_hover_alignment_fix.json: el resalte se recorta con la mascara del
   propio corredor. El pseudo cubre el mapa entero y el tramo lo recorta con
   overflow, asi que el naranja no puede salirse de la calle ni deformarse. */
.ms-seg{overflow:hidden}.ms-seg::after{content:"";position:absolute;
  left:var(--mx);top:var(--my);width:var(--mw);height:var(--mh);
  background:#ff8a2a;opacity:0;transition:opacity .22s var(--ease);
  -webkit-mask-image:url("../img/corridor-mask.png");mask-image:url("../img/corridor-mask.png");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:0 0;mask-position:0 0}.ms-seg:hover::after,.ms-seg:focus-visible::after,.ms-seg.on::after{opacity:1}.ms-dot{background:#ff8a2a;border-color:#ff8a2a}@media(hover:none){.ms-seg::after{opacity:0}          /* sin raton no se resalta nada de salida */
}@media(prefers-reduced-motion:reduce){.ms-seg::after{transition:none}}/* ── explore_search_combined_bar_update.json · un solo control ────────────
   El boton y la lupa eran dos piezas con un hueco en medio. Ahora son una
   barra: mismo borde, mismo alto, mismo fondo, y el icono dentro a la derecha.
   Sigue llevando al directorio, que es donde se busca. */
.nav-thick .btn-corridor{gap:12px;padding:0 18px 0 22px}.nav-thick .btn-corridor svg{flex:none;opacity:.85;
  transition:opacity var(--t-ui) var(--ease)}.nav-thick .btn-corridor:hover svg{opacity:1}.nav-thick .btn-corridor::before{content:"";width:1px;height:20px;
  background:currentColor;opacity:.34;order:1;margin-left:2px}.nav-thick .btn-corridor svg{order:2}.nav-thick .btn-corridor span{order:0}@media(min-width:1025px) and (max-width:1024px){.nav-thick .btn-corridor{padding:0 14px 0 16px;gap:9px}}/* ── hero_text_scale_color_update.json · el texto del hero ────────────────
   Titular al 72% de su cuerpo y subtitulo al 88%, con los colores nuevos y su
   opacidad. El contraste se vuelve a medir despues: bajar tamaño y opacidad a
   la vez es justo lo que suele romperlo. */
.hero2 h1{font-size:50.0px;color:#f2f0eb;opacity:.92}@media(max-width:1024px){/* ── hero_text_scale_color_update.json · el texto del hero ────────────────
   Titular al 72% de su cuerpo y subtitulo al 88%, con los colores nuevos y su
   opacidad. El contraste se vuelve a medir despues: bajar tamaño y opacidad a
   la vez es justo lo que suele romperlo. */
.hero2 h1{font-size:26.0px}}.hero2 .lede{font-size:18.43px;color:#e5e2dc;opacity:.9}@media(max-width:1024px){.hero2 .lede{font-size:15.0px}}.hero2-over h1{color:#f2f0eb}.hero2-over .lede{color:#e5e2dc}/* ── remove_corridor_hero_background_update.json · hero del directorio ────
   Sin foto y sin velo: fondo liso con el navy de marca. El titular, el
   subtitulo y el buscador de negocios se quedan tal cual. */
.dhero{background:var(--navy)}.dhero::after,.dhero::before{display:none}.dhero-ph{display:none}.dhero .crumbs,.dhero .crumbs a{color:rgba(255,255,255,.8)}.dhero .crumbs [aria-current]{color:#fff}/* ── legacy_gallery_card_spacing_update.json · fichas de legacy ───────────
   Las tarjetas se tocaban: la rejilla usaba gap:1px con el color de linea de
   fondo, asi que las fotos quedaban pegadas. Ahora hay separacion de verdad y
   cada ficha lleva su propio filete. Anchos iguales (1fr) como ya estaban. */
.lg-grid{gap:22.0px;background:none;border:0}@media(max-width:1024px){/* ── legacy_gallery_card_spacing_update.json · fichas de legacy ───────────
   Las tarjetas se tocaban: la rejilla usaba gap:1px con el color de linea de
   fondo, asi que las fotos quedaban pegadas. Ahora hay separacion de verdad y
   cada ficha lleva su propio filete. Anchos iguales (1fr) como ya estaban. */
.lg-grid{gap:14.0px}}.lg-card{border:1px solid var(--line)}.lg-bd{padding:14px 16px 18px}/* titular al 72% y cabecera mas apretada por arriba y por abajo */
.phead-tight{padding:24.0px 0 18.0px}@media(max-width:1024px){/* titular al 72% y cabecera mas apretada por arriba y por abajo */
.phead-tight{padding:14.0px 0 10.0px}}.phead-tight h1{font-size:55.0px}@media(max-width:1024px){.phead-tight h1{font-size:27.0px}}.phead-mid .in{row-gap:10px}/* las descripciones, todas del mismo cuerpo y cortadas a tres lineas */
.lg-desc{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}/* El aire de 108px entre la entradilla y la primera fila lo ponia el padding
   de la seccion, no la cabecera. Se recorta ahi. */
.phead-tight + .lg-sec{padding-top:28.0px}@media(max-width:1024px){/* El aire de 108px entre la entradilla y la primera fila lo ponia el padding
   de la seccion, no la cabecera. Se recorta ahi. */
.phead-tight + .lg-sec{padding-top:16.0px}}/* ── corridor_search_header_update.json · cabecera del directorio ─────────
   Fondo blanco, titular centrado justo encima del buscador y menos alto: la
   composicion limpia de un buscador, sin foto ni bloque de color. Las
   pestañas de vista y el listado no se tocan. */
.dhero{background:#fff;min-height:0;margin-bottom:0;
  padding:46.0px 0 22.0px;display:block}@media(max-width:1024px){/* ── corridor_search_header_update.json · cabecera del directorio ─────────
   Fondo blanco, titular centrado justo encima del buscador y menos alto: la
   composicion limpia de un buscador, sin foto ni bloque de color. Las
   pestañas de vista y el listado no se tocan. */
.dhero{
  padding:26.0px 0 14.0px}}.dhero .dhero-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--trim);text-align:center}.dhero h1{color:var(--ink);font-size:48.0px;margin:0 auto;
  max-width:18ch;text-wrap:balance;text-shadow:none}@media(max-width:1024px){.dhero h1{font-size:28.0px}}.dhero .lead{color:var(--ink-2);margin:10px auto 0;max-width:56ch;text-align:center}.dhero .crumbs,.dhero .crumbs a{color:var(--muted)}.dhero .crumbs [aria-current]{color:var(--ink)}.dhero .crumbs{position:static;padding-top:0;margin-bottom:14px;text-align:center}/* el buscador sube y hereda el mismo blanco, sin salto de color en medio */
.dhero + .dir{padding-top:18.0px;background:#fff}@media(max-width:1024px){/* el buscador sube y hereda el mismo blanco, sin salto de color en medio */
.dhero + .dir{padding-top:10.0px}}.dhero + .dir .dbox{margin-top:0}/* corridor_blue_white_background_update.json: el blanco puro pasa a un
   azulado suave. El buscador se queda en blanco para que siga despegando del
   fondo en vez de fundirse con el. */
.dhero{background:#eef4f7}.dhero + .dir{background:#eef4f7}.dhero + .dir .dsearch{background:#fff;border-color:var(--line)}/* ── remove_nav_gray_separator_update.json · la raya gris de verdad ───────
   Reproducida: el borde de la barra cae en y=91 CSS, y en pantallas escaladas
   (dpr 1,25 / 1,5 / 1,75) eso son 113,75 / 136,5 / 159,25 pixeles fisicos. El
   navegador mezcla el navy con el fondo de la pagina en esa fila partida y
   pinta gris — hasta rgb(155,155,153) medido a dpr 1,75.
   La solucion no es un borde: es que el contenido solape un pixel, para que la
   fila mezclada sea pagina contra pagina en vez de barra contra pagina. */
.nav-thick{border-bottom:0;box-shadow:none;margin-bottom:0;padding-bottom:0}/* Nada de solapes: con la cabecera en 92 px el borde ya cae en pixel entero.
   El -1px que probe primero devolvia el borde a 91 y reintroducia la mezcla. */
.nav-thick ~ main{margin-top:0}/* ── map_subtle_photo_texture_update.json · textura en el banner del mapa ─
   Una foto del corredor al 8% en soft-light sobre el navy. Va en un pseudo a
   pantalla completa del banner, con cover y centrada, asi que no deja cantos.
   El mapa y el texto van por encima y no pierden legibilidad. */
.ms-banner{position:relative;isolation:isolate}/* map_photo_texture_refinement.json: al 3,5%, un 35% mas grande y ya
   desenfocada en el propio archivo. El desenfoque va en la imagen y no con
   filter: un filter sobre un pseudo a inset:0 deja halo en los cantos del
   banner, que es justo lo que el json pide evitar. */
.ms-banner::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("../img/map-texture.webp");
  background-size:135% auto;background-position:center;background-repeat:no-repeat;
  opacity:.035;mix-blend-mode:soft-light}.ms-banner > *{position:relative;z-index:1}@supports not (mix-blend-mode:soft-light){.ms-banner::before{opacity:.025;mix-blend-mode:normal}}/* ── gallery_headline_single_line.json · una sola linea en todos los anchos ─
   El anterior solo lo garantizaba por encima de 901 y en movil volvia a
   partirse. Ahora nunca se parte, y para que nunca desborde el cuerpo se
   calcula del ancho real disponible en lugar de estimarse:

     .phead-centrado .in mide  min(1280px,100vw) - 2 x clamp(20px,5vw,80px)
     el titular mide          14,5472 x el cuerpo   (27 caracteres, Archivo
                                                     700, tracking -.04em;
                                                     medido con Range, igual
                                                     en Chromium y WebKit)

   Cuerpo que llena el hueco = disponible / 14,5472 = disponible x 0,06874.
   Se usa 0,066, que deja un 4% de margen. El min() con el clamp del json hace
   que sus valores manden mientras quepan y solo ceda cuando no caben: manda
   a partir de 1590px de ancho hacia arriba y por debajo de 790px. */
/* El selector lleva la etiqueta y las dos clases a proposito: .phead.h1-l h1
   (el tramo por longitud) y .phead-centrado h1 pesan (0,2,1) y ganaban a un
   .phead-gal h1 (0,1,1). El text-wrap:balance del centrado, ademas, apagaba
   el nowrap: text-wrap y white-space comparten text-wrap-mode. */
header.phead.phead-centrado.phead-gal h1,header.phead.phead-gal h1{
  max-width:none;
  white-space:nowrap;
  text-wrap:nowrap;
  line-height:.98;
  letter-spacing:-.04em;
  font-size:min(74.88px,
                calc((min(1280px,1440.0px) - 2*clamp(20px,72.0px,80px)) * .066))}@media(max-width:1024px){/* ── gallery_headline_single_line.json · una sola linea en todos los anchos ─
   El anterior solo lo garantizaba por encima de 901 y en movil volvia a
   partirse. Ahora nunca se parte, y para que nunca desborde el cuerpo se
   calcula del ancho real disponible en lugar de estimarse:

     .phead-centrado .in mide  min(1280px,100vw) - 2 x clamp(20px,5vw,80px)
     el titular mide          14,5472 x el cuerpo   (27 caracteres, Archivo
                                                     700, tracking -.04em;
                                                     medido con Range, igual
                                                     en Chromium y WebKit)

   Cuerpo que llena el hueco = disponible / 14,5472 = disponible x 0,06874.
   Se usa 0,066, que deja un 4% de margen. El min() con el clamp del json hace
   que sus valores manden mientras quepan y solo ceda cuando no caben: manda
   a partir de 1590px de ancho hacia arriba y por debajo de 790px. */
/* El selector lleva la etiqueta y las dos clases a proposito: .phead.h1-l h1
   (el tramo por longitud) y .phead-centrado h1 pesan (0,2,1) y ganaban a un
   .phead-gal h1 (0,1,1). El text-wrap:balance del centrado, ademas, apagaba
   el nowrap: text-wrap y white-space comparten text-wrap-mode. */
header.phead.phead-centrado.phead-gal h1,header.phead.phead-gal h1{
  font-size:min(44.0px,
                calc((min(1280px,375.0px) - 2*clamp(20px,18.75px,80px)) * .066))}}/* reduce_vertical_spacing: el titular ya no ocupa dos lineas, asi que el aire
   de arriba y de abajo sobra. */
.phead-gal{padding-top:23.04px;padding-bottom:22.0px}@media(max-width:1024px){/* reduce_vertical_spacing: el titular ya no ocupa dos lineas, asi que el aire
   de arriba y de abajo sobra. */
.phead-gal{padding-top:12.0px;padding-bottom:12.0px}}.phead-gal .in{row-gap:8px;padding-bottom:20.0px}@media(max-width:1024px){.phead-gal .in{padding-bottom:12.0px}}.phead-gal .blade{margin-bottom:0}.phead-gal + .gallery{padding-top:18.0px}@media(max-width:1024px){.phead-gal + .gallery{padding-top:10.0px}}/* ── remove_gray_line_all_browsers.json · tambien en movil ────────────────
   En escritorio la cabecera ya media 92 px (multiplo de 4, entero en todos los
   pasos de cuarto). En movil la barra crecia por su contenido y daba 103 en
   Chromium y Firefox y 102 en WebKit: fraccionario otra vez, y con el mismo
   resultado gris. Se fija a 70 para que el total sea 104 en los tres. */
@media(max-width:1024px){.nav-thick .in{min-height:70px}}/* ── remove_wander_title_gray_line.json · el filete bajo el titular ───────
   Esta si era una raya gris de verdad, no una costura: .phead .in llevaba un
   border-bottom de 1px en rgb(216,216,212). Se quita en Wander. */
.phead-centrado:not(.phead-gal) .in{border-bottom:0;padding-bottom:0}/* ── hero_image_scale_25_update.json · la foto del hero, al 125% ──────────
   La caja no cambia: se amplia el contenido con transform y se recorta, asi
   que ni crece el hero ni aparece scroll horizontal. Sigue centrada. */
.hero2-img{overflow:hidden}.hero2-img img{transform:scale(1.25);transform-origin:center center}@media(prefers-reduced-motion:reduce){.hero2-img img{transform:scale(1.25)}}/* ── legacy_card_consistency_update.json · fichas parejas ─────────────────
   La direccion en una linea mientras quepa, con cuerpo que baja con el ancho.
   La descripcion, dos lineas y con el mismo alto minimo en todas, para que las
   fichas se alineen aunque una sea mas corta que otra. */
.lg-desc{-webkit-line-clamp:2;min-height:calc(2 * 1.45em);margin:8px 0 0}.lg-addr{font-size:11.23px;line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1024px){.lg-addr{font-size:11.0px}}@media(max-width:1024px){.lg-addr{white-space:normal;overflow:visible}}.lg-bd{display:flex;flex-direction:column}.lg-foot{margin-top:auto;padding-top:12px}.lg-credit{display:none}/* ── rebuild_guides_legacy_page.json · /guides/ desde cero ────────────────
   Cabecera centrada y compacta, la foto de A Mano a todo el ancho justo
   debajo, y la entradilla de legacy antes de la rejilla. */
.phead-guias{padding:37.44px 0 24.0px}@media(max-width:1024px){/* ── rebuild_guides_legacy_page.json · /guides/ desde cero ────────────────
   Cabecera centrada y compacta, la foto de A Mano a todo el ancho justo
   debajo, y la entradilla de legacy antes de la rejilla. */
.phead-guias{padding:22.0px 0 14.0px}}.phead-guias .in{grid-template-columns:1fr;justify-items:center;text-align:center;
  border-bottom:0;padding-bottom:0;row-gap:10px}.phead-guias h1{max-width:22ch;margin-inline:auto;text-wrap:balance;
  font-size:51.84px}@media(max-width:1024px){.phead-guias h1{
  font-size:28.0px}}.gu-foto{margin:0;width:1440.0px;margin-left:calc(50% - 720.0px);line-height:0;background:var(--bg-2)}@media(max-width:1024px){.gu-foto{width:375.0px;margin-left:calc(50% - 187.5px)}}.gu-foto img{display:block;width:100%;height:auto;object-fit:cover;object-position:center}.gu-intro{padding:60.0px 0 34.0px;text-align:center}@media(max-width:1024px){.gu-intro{padding:34.0px 0 20.0px}}.gu-intro .blade{margin-inline:auto}.gu-intro h2{margin:0 auto;max-width:24ch;text-wrap:balance;
  font-size:40.0px;line-height:1.14;letter-spacing:-.018em}@media(max-width:1024px){.gu-intro h2{
  font-size:24.0px}}.gu-body{margin:12px auto 0;max-width:56ch;font-size:var(--t-lead);line-height:1.5;
  color:var(--ink-2)}.gu-intro + .lg-sec{padding-top:0}/* ── directory_about_us_color_update.json · el fondo del directorio ───────
   Medido en /about/: su fondo es el crema del sitio, rgb(243,242,238) = --bg.
   Sustituye al azulado del eef4f7 y al blanco puro de las dos vueltas
   anteriores. Solo cambia el color: barra, buscador, rejilla y texto igual. */
.dhero,.dhero + .dir{background:var(--bg)}.dir,.dir .sheet,.dbox{background:var(--bg)}body:has(.dhero){background:var(--bg)}.dlist{background:var(--bg)}/* el buscador se queda en blanco: sobre el crema es lo que lo separa del fondo */
.dhero + .dir .dsearch{background:#ffffff;border-color:var(--line-ui)}/* ── map_label_scale_weight_refinement.json · rotulos afinados ────────────
   Mas pequeños, peso 600 y sin sombra: sobre el navy del banner el blanco ya
   contrasta de sobra. Se suben por encima de su calle para no pisar la linea
   blanca, que es lo que pedia 'avoid_overlap_with_roads'. */
.ms-labels{position:absolute;inset:0;z-index:2;pointer-events:none;line-height:1}.ms-lab{position:absolute;transform:translateY(-50%);white-space:nowrap;
  font-family:var(--disp);font-weight:600;font-size:10.0px;
  letter-spacing:.06em;color:#f4f7fb;background:none;padding:0;
  /* El json pedia text-shadow:none, pero la retícula es tan densa que dos
     rotulos no tienen hueco totalmente libre: sin contorno caian a 1,02:1,
     blanco sobre blanco. Se deja el minimo imprescindible. */
  text-shadow:0 0 2px rgba(9,26,45,.9),0 1px 2px rgba(9,26,45,.75);
  -webkit-font-smoothing:antialiased}@media(max-width:1024px){.ms-lab{font-size:7.5px}}.ms-lab-top{transform:translateY(-50%)}/* map_street_label_alignment.json · el rotulo dentro de la propia calle.
   Angulo 68,55 grados, que es la direccion real de la banda medida en el PNG,
   no la anterior de 73,3. Sin sombra ni contorno, blanco puro, tracking normal
   y mas pequeño. El cuerpo se ata al ancho de la banda: mide el 2,87% del
   ancho de la imagen, y la imagen ocupa como maximo 34vw, asi que 2,87% de
   34vw = 0,976vw es el grosor de la banda en pantalla. Se usa 0,58 de ese
   grosor para que las mayusculas y el trazo queden holgados dentro. */
.ms-lab-av{transform:translate(-50%,-50%) rotate(68.55deg);transform-origin:center;
  font-weight:700;color:#fff;letter-spacing:normal;
  font-size:7.6px;line-height:1;
  text-shadow:none;-webkit-text-stroke:0}@media(max-width:1024px){/* map_street_label_alignment.json · el rotulo dentro de la propia calle.
   Angulo 68,55 grados, que es la direccion real de la banda medida en el PNG,
   no la anterior de 73,3. Sin sombra ni contorno, blanco puro, tracking normal
   y mas pequeño. El cuerpo se ata al ancho de la banda: mide el 2,87% del
   ancho de la imagen, y la imagen ocupa como maximo 34vw, asi que 2,87% de
   34vw = 0,976vw es el grosor de la banda en pantalla. Se usa 0,58 de ese
   grosor para que las mayusculas y el trazo queden holgados dentro. */
.ms-lab-av{
  font-size:5.5px}}.ms-tip{z-index:4}@media(max-width:1024px){.ms-lab-av{display:none}}/* ── guides_header_two_lines_update.json · titular a dos lineas ───────────
   53 caracteres: para que caigan en dos hay que limitar la medida a ~28ch y
   bajar el cuerpo lo justo. Interlineado apretado y menos aire arriba y abajo. */
.phead-guias{padding:27.36px 0 18.0px}@media(max-width:1024px){/* ── guides_header_two_lines_update.json · titular a dos lineas ───────────
   53 caracteres: para que caigan en dos hay que limitar la medida a ~28ch y
   bajar el cuerpo lo justo. Interlineado apretado y menos aire arriba y abajo. */
.phead-guias{padding:16.0px 0 10.0px}}.phead-guias h1{max-width:28ch;font-size:41.76px;line-height:1.06;
  letter-spacing:-.02em}@media(max-width:1024px){.phead-guias h1{font-size:24.0px}}.phead-guias .lead{max-width:46ch}/* En movil el tope de 28ch estrangulaba mas que el propio ancho de pantalla:
   a 24px son 336px de medida contra 450 disponibles, y el titular se iba a
   tres lineas. Se suelta la medida y baja el minimo a 22px. */
@media(max-width:1024px){/* text-wrap:balance era quien metia la tercera linea: con 414px de ancho y
     657px de texto caben dos, pero el balanceador prefiere tres mas parejas.
     Aqui manda el salto normal. */
  .phead-guias h1{max-width:none;font-size:23.0px;text-wrap:wrap;text-wrap-style:auto}@media(max-width:1024px){/* text-wrap:balance era quien metia la tercera linea: con 414px de ancho y
     657px de texto caben dos, pero el balanceador prefiere tres mas parejas.
     Aqui manda el salto normal. */
  .phead-guias h1{font-size:16.0px}}}/* ── events_header_button_update.json · cabecera de eventos ───────────────
   "Events on Wisconsin Avenue" en una sola linea, sin el filete gris debajo. */
.phead-ev .in{border-bottom:0;padding-bottom:0}.phead-ev h1{max-width:none;white-space:nowrap;line-height:1.04;
  font-size:54.0px}@media(max-width:1024px){.phead-ev h1{
  font-size:21.0px}}@media(max-width:1024px){.phead-ev h1{font-size:18.0px}}/* la etiqueta de entrada deja el naranja */
.tag-tkt{background:#e8e8e5;color:#222222}/* guides_general_content_update.json: la seccion de las tres guias en /guides/ */
.gu-guias{padding:60.0px 0 84.0px}@media(max-width:1024px){/* guides_general_content_update.json: la seccion de las tres guias en /guides/ */
.gu-guias{padding:34.0px 0 50.0px}}/* ── events_photo_date_badges.json · placa de fecha sobre la foto ─────────
   Baldosa blanca arriba a la derecha, con mes y dia. La foto no se recorta ni
   cambia de proporcion: la placa va encima, en posicion absoluta. */
.ev .ph{position:relative}.ev-cal{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;min-width:46px;padding:6px 8px 7px;
  background:#fff;border-radius:6px;box-shadow:0 2px 10px rgba(17,17,17,.22);
  line-height:1}.ev-cal b{font-family:var(--disp);font-weight:700;font-size:9.5px;letter-spacing:.14em;
  color:var(--orange-ink)}.ev-cal i{font-family:var(--play);font-style:normal;font-weight:700;font-size:19px;
  letter-spacing:-.02em;color:var(--ink);margin-top:2px}@media(max-width:1024px){.ev-cal{top:8px;right:8px;min-width:42px;padding:5px 7px 6px}.ev-cal i{font-size:17px}}/* ── disable_event_photo_hover.json · las fotos de eventos, quietas ───────
   Sin zoom, sin transicion, sin cambio de brillo ni filtro. La placa de fecha
   y el enlace de la tarjeta no se tocan. */
.ev .ph img{transition:none}.ev:hover .ph img,.ev:focus-within .ph img{transform:none;filter:none;opacity:1}.ev .ph::after,.ev .ph::before{display:none}.ev .ph{filter:none}/* ── remove_heading_text_shadow.json · sin sombra en la cabecera ──────────
   Ya no hay foto detras que compensar: el titular y el subtitulo del
   directorio van limpios, sobre el crema, en todos los tamaños. */
.dhero h1,.dhero .lead,.dhero .blade{text-shadow:none;filter:none}.dhero h1{-webkit-text-stroke:0}/* ── business_hours_compact_layout.json · el horario, apretado ────────────
   Filas mas bajas, menos aire vertical y las horas alineadas a la derecha.
   Los dias, los datos y la nota de Google se quedan. */
.dprofile .phtab{width:100%;border-collapse:collapse;margin-top:6px}.dprofile .phtab tr{line-height:1.3}.dprofile .phtab th,.dprofile .phtab td{padding:1px 0;font-size:var(--t-tiny);
  vertical-align:baseline}.dprofile .phtab th{text-align:left;font-weight:400;padding-right:10px;white-space:nowrap}.dprofile .phtab td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:1024px){.dprofile .phtab th,.dprofile .phtab td{font-size:10.5px}}/* ── guides_compact_title_update.json · titular de /guides/ en una linea ──
   "Explore Georgetown's guides" son 27 caracteres: entra en una linea de
   escritorio con margen. Menos aire arriba y abajo. */
.phead-guias{padding:24.48px 0 16.0px}@media(max-width:1024px){/* ── guides_compact_title_update.json · titular de /guides/ en una linea ──
   "Explore Georgetown's guides" son 27 caracteres: entra en una linea de
   escritorio con margen. Menos aire arriba y abajo. */
.phead-guias{padding:14.0px 0 9.0px}}.phead-guias h1{max-width:none;white-space:nowrap;line-height:1.04;
  font-size:48.0px}@media(max-width:1024px){.phead-guias h1{
  font-size:22.0px}}.phead-guias .lead{max-width:52ch;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1024px){.phead-guias h1{font-size:19.5px}}/* ── business_name_hierarchy_update.json · el nombre manda sobre la etiqueta */
.lg-name{font-size:21.0px;font-weight:700;color:#111111;
  margin:10px 0 0;line-height:1.15;letter-spacing:-.012em}@media(max-width:1024px){/* ── business_name_hierarchy_update.json · el nombre manda sobre la etiqueta */
.lg-name{font-size:17.0px}}.lg-meta{margin:0}.lg-year,.lg-cat{font-size:9.5px;font-weight:500;letter-spacing:.16em;color:#6f6f6f;
  text-transform:uppercase}.lg-year{border-color:#cfcfcf}/* ── modern_fashion_guide_card.json · tarjeta editorial ───────────────────
   La foto entera y limpia, sin el velo oscuro pesado: solo el minimo para que
   el texto se lea. Contenido abajo a la izquierda, sin radio. */
.og-card{border-radius:0}.og-card::after{height:52%;
  background:linear-gradient(180deg,transparent,rgba(10,10,9,.34) 52%,rgba(10,10,9,.62))}.og-card:hover::after{background:linear-gradient(180deg,transparent,
  rgba(10,10,9,.38) 52%,rgba(10,10,9,.66))}.og-ph img{filter:none;opacity:1}.og-bd{text-align:left;align-items:flex-start;padding:18px 16px 16px}.og-bd b{font-size:20.0px;font-weight:700;letter-spacing:-.015em}@media(max-width:1024px){.og-bd b{font-size:16.0px}}.og-d{font-size:12px;line-height:1.4;max-width:34ch;margin-top:5px}.og-soon{margin-top:9px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;opacity:.72;background:none;padding:0}/* ── featured_legacy_guide_overlay.json · la foto destacada, rotulada ─────
   Velo al 16% nada mas: la foto conserva su brillo y su detalle. Texto blanco
   sin sombra, como pide el json; el contraste se mide despues, no se supone. */
.gu-foto{position:relative;isolation:isolate}.gu-over{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:flex-end;
  padding:48.96px 72.0px;color:#fff;line-height:1.2}@media(max-width:1024px){.gu-over{
  padding:20.0px 20.0px}}/* El velo plano se queda en el 16% que pide el json: la foto conserva brillo
   y detalle. Encima, y solo en la esquina donde vive el texto, un degradado
   que lo hace legible. Sin sombra de texto, como pedia. Medido: con el 16% a
   secas el titular caia a 1,64:1 sobre los cristales encendidos. */
.gu-over::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.6) 26%,
                    rgba(0,0,0,.24) 52%, rgba(0,0,0,0) 78%),
    linear-gradient(to right, rgba(0,0,0,.55) 0%, rgba(0,0,0,.2) 42%,
                    rgba(0,0,0,0) 68%),
    rgba(0,0,0,.16)}.gu-lab,.gu-cat{font-family:var(--disp);font-weight:600;font-size:10.08px;
  letter-spacing:.22em;text-transform:uppercase;text-shadow:none}@media(max-width:1024px){.gu-lab,.gu-cat{font-size:9.0px}}.gu-cat{opacity:.82;margin-top:5px}.gu-h{display:block;margin-top:14.0px;max-width:22ch;
  font-family:var(--play);font-weight:700;letter-spacing:-.018em;line-height:1.08;
  font-size:33.12px;text-shadow:none}@media(max-width:1024px){.gu-h{margin-top:8.0px;
  font-size:17.0px}}@media(max-width:1024px){.gu-h{display:none}}/* ── footer_signup_spacing_refinement.json · el pie, mas fino ─────────────
   Titular del boletin mas ligero y algo menor; el pie se aprieta arriba,
   abajo y entre el boletin y las columnas. Los divisores y todos los enlaces
   se quedan. */
.fnews-h{font-weight:500;font-size:24.48px;color:#d9e1e7;
  line-height:1.1;margin-bottom:14px}@media(max-width:1024px){/* ── footer_signup_spacing_refinement.json · el pie, mas fino ─────────────
   Titular del boletin mas ligero y algo menor; el pie se aprieta arriba,
   abajo y entre el boletin y las columnas. Los divisores y todos los enlaces
   se quedan. */
.fnews-h{font-size:17.0px}}.fnews-form input[type=email]{font-weight:400}.fnews-form button{font-weight:600}footer{padding:30px 0 20px}.fnews{padding-bottom:20px;margin-bottom:20px}.fgrid{gap:26px 40px;padding-bottom:22px}footer h4{margin-bottom:9px}.accred{padding-top:16px;gap:24px}.fbot{padding-top:14px}@media(max-width:1024px){footer{padding:24px 0 18px}.fnews{padding-bottom:18px;margin-bottom:18px}.fgrid{gap:22px 28px;padding-bottom:18px}}/* El enlace de privacidad medía 14px de alto sin relleno: en movil es un
   objetivo demasiado pequeño para el dedo. */
.fbot a{display:inline-block;padding:5px 0}/* cookie_tour_photo_update.json: la foto del cliente es vertical (2:3) y la
   tarjeta es 4:3, asi que se centra el encuadre como pide el json. */
.ev .ph img{object-position:center}/* ── events_header_spacing_update.json · cabecera de eventos apretada ─────
   Menos aire arriba, abajo y entre antetitulo, titular y subtitulo; y menos
   salto hasta las tarjetas. Centrado y comportamiento responsive intactos. */
.phead-ev{padding:28.8px 0 15.84px}@media(max-width:1024px){/* ── events_header_spacing_update.json · cabecera de eventos apretada ─────
   Menos aire arriba, abajo y entre antetitulo, titular y subtitulo; y menos
   salto hasta las tarjetas. Centrado y comportamiento responsive intactos. */
.phead-ev{padding:16.0px 0 8.0px}}.phead-ev .in{row-gap:8px}.phead-ev .blade{margin-bottom:0}.phead-ev .lead{margin-top:6px}.phead-ev + section{padding-top:25.92px}@media(max-width:1024px){.phead-ev + section{padding-top:14.0px}}/* ── georgetown_bucks_embedded_card.json · tarjeta propia, no iframe ──────
   Dos columnas: el texto y la tarjeta. La compra abre en Yiftee en pestaña
   nueva, avisando de que sale del sitio. */
.gbk{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:57.6px;align-items:center}@media(max-width:1024px){/* ── georgetown_bucks_embedded_card.json · tarjeta propia, no iframe ──────
   Dos columnas: el texto y la tarjeta. La compra abre en Yiftee en pestaña
   nueva, avisando de que sale del sitio. */
.gbk{
  gap:28.0px}}.gbk-copy h2{margin:10px 0 0;font-size:42.0px;line-height:1.1;
  letter-spacing:-.02em;max-width:16ch}@media(max-width:1024px){.gbk-copy h2{font-size:24.0px}}.gbk-d{margin:12px 0 0;font-size:var(--t-lead);line-height:1.45;color:var(--ink-2)}.gbk-s{margin:12px 0 0;font-size:var(--t-small);line-height:1.6;color:var(--ink-2);max-width:52ch}.gbk-vals{list-style:none;display:flex;gap:10px;padding:0;margin:20px 0 0}.gbk-vals li{min-width:64px;padding:9px 14px;text-align:center;border:1.5px solid var(--line-ui);
  font-family:var(--disp);font-weight:700;font-size:var(--t-small);letter-spacing:.02em}.gbk-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.gbk-note{margin:12px 0 0;font-family:var(--mono);font-size:var(--t-tiny);color:var(--muted)}.gbk-card{margin:0}.gbk-card img{display:block;width:100%;height:auto;border-radius:12px;
  box-shadow:0 14px 40px rgba(17,17,17,.14)}@media(max-width:1024px){.gbk{grid-template-columns:1fr;gap:28px}.gbk-card{order:-1;max-width:420px}}/* ── business_profile_photo_typography_alignment.json · fichas parejas ────
   La foto arranca a la misma altura que el bloque de contenido en todas las
   fichas, y el nombre usa siempre la misma fuente, peso, cuerpo e interlineado
   (antes variaba por dos reglas con cuerpos distintos). */
.dprofile .pwrap,.dprofile .two{align-items:start}.dprofile .pmain,.dprofile .pside{align-self:start;margin-top:0}.dprofile .pmain > :first-child,.dprofile .pside > :first-child{margin-top:0}.dprofile .pphotos{margin-top:0}.dprofile .pphoto:first-child img{margin-top:0}.dprofile .pname{font-family:var(--disp);font-weight:700;
  font-size:42.0px;line-height:1.06;letter-spacing:-.02em;
  margin:0}@media(max-width:1024px){.dprofile .pname{
  font-size:26.0px}}.dprofile .ptype{margin-top:9px}.dprofile .ptags{margin:8px 0 12px}/* replace_art_gallery_guide_photo.json: las tarjetas de guia tampoco se mueven
   al pasar el raton. */
.og-ph img{transition:none}.og-card:hover .og-ph img{transform:none;filter:none}/* Una placa con dos fechas ("5 & 12") no cabe al mismo cuerpo que una de un
   solo dia: se ajusta sola sin cambiar el tamaño de la baldosa. */
.ev-cal i{white-space:nowrap}.ev-cal:has(i:not(:only-child)) i{font-size:19px}.ev-cal i{font-size:18.0px}@media(max-width:1024px){.ev-cal i{font-size:13.0px}}@media(max-width:1024px){.ev-cal i{font-size:12.0px}}/* ── homepage_our_story_section.json · Our Story en la portada ────────────
   Texto a la izquierda, foto a la derecha. La foto es la del neon, la misma
   que vive en la galeria, servida con su srcset. */
.story2{padding:86.4px 0}@media(max-width:1024px){/* ── homepage_our_story_section.json · Our Story en la portada ────────────
   Texto a la izquierda, foto a la derecha. La foto es la del neon, la misma
   que vive en la galeria, servida con su srcset. */
.story2{padding:48.0px 0}}.st2{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:72.0px;align-items:center}@media(max-width:1024px){.st2{
  gap:30.0px}}.st2-copy h2{margin:10px 0 0;font-size:46.0px;line-height:1.08;
  letter-spacing:-.022em;max-width:17ch;text-wrap:balance}@media(max-width:1024px){.st2-copy h2{font-size:26.0px}}.st2-b{margin:16px 0 0;font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:52ch}.st2-copy .btn{margin-top:26px}.st2-ph{margin:0;overflow:hidden;background:var(--bg-2)}.st2-ph img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;
  object-position:center}@media(max-width:1024px){.st2{grid-template-columns:1fr;gap:26px}.st2-ph{order:-1;max-width:460px}.st2-ph img{aspect-ratio:4/3}}/* ── legacy_featured_guide_cta.json · boton dentro del banner ─────────────
   Contorno blanco, el mismo sistema de CTA del sitio, debajo del titular y
   dentro del velo. El overlay ya deja pasar el puntero, asi que el enlace se
   lo devuelve solo a el. */
.gu-over{pointer-events:none}.gu-cta{pointer-events:auto;display:inline-flex;align-items:center;gap:9px;
  margin-top:20.0px;padding:11px 22px;
  border:1.5px solid #fff;color:#fff;background:none;
  font-family:var(--disp);font-weight:600;font-size:var(--t-eyebrow);
  letter-spacing:.15em;text-transform:uppercase;text-shadow:none;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}@media(max-width:1024px){.gu-cta{
  margin-top:12.0px}}.gu-cta:hover{background:#fff;color:#111111}.gu-cat{display:none}@media(max-width:1024px){.gu-cta{padding:9px 16px;font-size:10px;letter-spacing:.1em}}@media(prefers-reduced-motion:reduce){.gu-cta{transition:none}}/* ── guides_header_spacing_refinement.json · la cabecera respira ──────────
   Deshace el apretón anterior: mas aire arriba, entre antetitulo y titular,
   entre titular y subtitulo, y hasta el banner. El titular sigue compacto y
   centrado. */
.phead-guias{padding:51.84px 0 34.0px}@media(max-width:1024px){/* ── guides_header_spacing_refinement.json · la cabecera respira ──────────
   Deshace el apretón anterior: mas aire arriba, entre antetitulo y titular,
   entre titular y subtitulo, y hasta el banner. El titular sigue compacto y
   centrado. */
.phead-guias{padding:30.0px 0 20.0px}}.phead-guias .in{row-gap:16px}.phead-guias .blade{margin-bottom:4px}.phead-guias .lead{margin-top:6px;line-height:1.62;max-width:54ch}.phead-guias + .gu-foto{margin-top:28.8px}@media(max-width:1024px){.phead-guias + .gu-foto{margin-top:14.0px}}/* ── our_story_blue_section_refinement.json · Our Story en azul ───────────
   Fondo #17385d sin textura, dos columnas equilibradas y centradas en
   vertical. La foto pierde protagonismo: contenida, 4:5, tope de 38rem. */
.story2{background:#17385d;padding:115.2px 0}@media(max-width:1024px){/* ── our_story_blue_section_refinement.json · Our Story en azul ───────────
   Fondo #17385d sin textura, dos columnas equilibradas y centradas en
   vertical. La foto pierde protagonismo: contenida, 4:5, tope de 38rem. */
.story2{padding:64.0px 0}}.st2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:86.4px;align-items:center}@media(max-width:1024px){.st2{
  gap:36.0px}}.st2-copy .blade{color:#b9c6d3}.st2-copy h2{color:#fff;max-width:16ch;margin-top:12px}.st2-b{color:#d9e1e8;max-width:42rem;line-height:1.55;margin-top:18px}.st2-cta{margin-top:28px;border:1.5px solid #fff;color:#fff;background:none;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.st2-cta:hover{background:#fff;color:#17385d}.st2-ph{max-width:38rem;margin-inline:auto;border-radius:0}.st2-ph img{aspect-ratio:4/5;object-fit:cover;border-radius:0}@media(max-width:1024px){.st2{grid-template-columns:1fr;gap:30px}.st2-ph{order:1;max-width:34rem}/* movil: primero el texto, luego la foto */
  .st2-copy{order:0}.st2-ph img{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){.st2-cta{transition:none}}/* ── footer_signup_layout_balance.json · boletin y navegacion en fila ─────
   El alta ocupaba una franja entera con la mitad derecha vacia. Ahora comparte
   fila con los enlaces: 58% y 42%. En movil se apilan. */
.ftop{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);
  gap:57.6px;align-items:start;
  padding-bottom:22px;margin-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.13)}@media(max-width:1024px){/* ── footer_signup_layout_balance.json · boletin y navegacion en fila ─────
   El alta ocupaba una franja entera con la mitad derecha vacia. Ahora comparte
   fila con los enlaces: 58% y 42%. En movil se apilan. */
.ftop{
  gap:28.0px}}.fnews{padding-bottom:0;margin-bottom:0;border-bottom:0}.fnews-form{max-width:none}.fnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}.fmarca{padding-bottom:20px}.fmarca .funded{margin-top:12px;max-width:60ch}@media(max-width:1024px){.ftop{grid-template-columns:1fr;gap:26px}.fnav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.fnav{grid-template-columns:1fr 1fr}}/* ── global_headline_scale_refinement.json · escala de titulares ──────────
   Referencia: el titular de Wander. Dos lineas como tope, peso 700,
   interlineado 0,98 y medida de 18ch. Las excepciones que pide el json ya
   tienen su propia clase y no se ven afectadas: tarjetas de evento (.ev),
   navegacion (.nav-thick) y las cabeceras que sus propios json fijaron a una
   sola linea (eventos, galeria y guias). */
.phead h1{font-size:86.4px;font-weight:700;line-height:.98;
  letter-spacing:-.035em;max-width:18ch;text-wrap:balance;margin:0}@media(max-width:1024px){/* ── global_headline_scale_refinement.json · escala de titulares ──────────
   Referencia: el titular de Wander. Dos lineas como tope, peso 700,
   interlineado 0,98 y medida de 18ch. Las excepciones que pide el json ya
   tienen su propia clase y no se ven afectadas: tarjetas de evento (.ev),
   navegacion (.nav-thick) y las cabeceras que sus propios json fijaron a una
   sola linea (eventos, galeria y guias). */
.phead h1{font-size:48.0px}}.phead .in{row-gap:12px}.phead{padding:46.08px 0 31.68px}@media(max-width:1024px){.phead{padding:26.0px 0 18.0px}}.phead .lead{margin-top:4px}@media(max-width:1024px){.phead h1{font-size:41.25px}}/* la pagina de privacidad no es una portada: su titular no se agranda */
.phead.phead-legal h1{font-size:44.0px;letter-spacing:-.02em;
  line-height:1.08;max-width:24ch}@media(max-width:1024px){/* la pagina de privacidad no es una portada: su titular no se agranda */
.phead.phead-legal h1{font-size:28.0px}}/* El cuerpo por tramos de longitud. El tramo mas corto conserva la escala que
   pedia el json; los mas largos bajan lo justo para no pasar de dos lineas. */
.phead.h1-xl h1{font-size:86.4px}@media(max-width:1024px){/* El cuerpo por tramos de longitud. El tramo mas corto conserva la escala que
   pedia el json; los mas largos bajan lo justo para no pasar de dos lineas. */
.phead.h1-xl h1{font-size:48.0px}}.phead.h1-l  h1{font-size:69.12px}@media(max-width:1024px){.phead.h1-l  h1{font-size:38.4px}}.phead.h1-m  h1{font-size:53.28px}@media(max-width:1024px){.phead.h1-m  h1{font-size:31.2px}}.phead.h1-s  h1{font-size:41.76px}@media(max-width:1024px){.phead.h1-s  h1{font-size:25.6px}}@media(max-width:1024px){.phead.h1-xl h1{font-size:41.25px}.phead.h1-l  h1{font-size:27.2px}.phead.h1-m  h1{font-size:24.0px}.phead.h1-s  h1{font-size:20.0px}}/* Las cabeceras de legacy.py no pasan por phead() y no reciben tramo: se les
   fija el suyo segun la longitud real de su titular (27 y 54 caracteres). */
.phead-guias h1{font-size:54.72px}@media(max-width:1024px){/* Las cabeceras de legacy.py no pasan por phead() y no reciben tramo: se les
   fija el suyo segun la longitud real de su titular (27 y 54 caracteres). */
.phead-guias h1{font-size:30.4px}}.phead-mid h1{font-size:37.44px;line-height:1.04;max-width:26ch}@media(max-width:1024px){.phead-mid h1{font-size:24.0px}}@media(max-width:1024px){.phead-guias h1{font-size:21.6px}.phead-mid h1{font-size:17.6px}}/* ── georgetown_bucks_unboxed_controls.json · importes sin caja ───────────
   Fuera el recuadro: opciones en linea separadas por un filete, la activa
   subrayada en naranja. El area de pulsacion no se reduce, solo el marco. */
.gbk-vals{display:flex;flex-wrap:wrap;gap:0;margin:22px 0 0;padding:0;list-style:none}.gbk-vals li{border:0;background:none;border-radius:0;padding:0;min-width:0;
  display:flex;align-items:center}.gbk-vals li + li::before{content:"";width:1px;height:16px;margin:0 25.92px;
  background:var(--line-ui);opacity:.55}@media(max-width:1024px){.gbk-vals li + li::before{margin:0 14.0px}}.gbk-vals span{display:inline-block;padding:8px 2px;cursor:default;
  font-family:var(--disp);font-weight:700;font-size:var(--t-body);
  color:#17385d;border-bottom:2px solid transparent;
  transition:color var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease)}.gbk-vals li:first-child span{color:#ff572f;border-bottom-color:#ff572f}@media(hover:hover){.gbk-vals span:hover{color:#ff572f;border-bottom-color:#ff572f}}/* el CTA principal manda sin marco pesado */
.gbk-cta .btn-line{border-width:1.5px}@media(prefers-reduced-motion:reduce){.gbk-vals span{transition:none}}/* ── georgetown_bucks_headline_match_wander.json · titular como Wander ────
   Misma familia, peso, interlineado, espaciado y centrado que el de Wander.
   El cuerpo sube a lo maximo que entra en dos lineas: medido, 55px a 1440 y
   33px a 500, asi que se queda por debajo con margen. */
.phead.h1-s h1{font-size:50.4px}@media(max-width:1024px){/* ── georgetown_bucks_headline_match_wander.json · titular como Wander ────
   Misma familia, peso, interlineado, espaciado y centrado que el de Wander.
   El cuerpo sube a lo maximo que entra en dos lineas: medido, 55px a 1440 y
   33px a 500, asi que se queda por debajo con margen. */
.phead.h1-s h1{font-size:27.2px}}@media(max-width:1024px){.phead.h1-s h1{font-size:22.5px}}/* ── our_story_split_blue_white_layout.json · dos paneles ─────────────────
   Fuera la textura: la seccion se parte en dos de borde a borde. Panel azul
   con el texto a la izquierda, panel blanco con la foto a la derecha, y entre
   ellos un limite vertical limpio — el cambio de color, sin filete ni sombra.
   El texto conserva la sangria de la pagina para no desalinearse del resto. */
.story2{background:#17385d;padding:0}.story2 .wrap{max-width:none;padding:0}.st2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;align-items:stretch}.st2-copy{background:#17385d;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;text-align:left;
  padding:100.8px 57.6px 100.8px
          calc(var(--trim) + max(0px,(1440.0px - var(--wrap))/2))}@media(max-width:1024px){.st2-copy{
  padding:56.0px 32.0px 56.0px
          calc(var(--trim) + max(0px,(375.0px - var(--wrap))/2))}}.st2-ph{background:#fff;max-width:none;margin:0;border-radius:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:57.6px}@media(max-width:1024px){.st2-ph{
  padding:24.0px}}.st2-ph img{width:100%;height:auto;max-width:32rem;aspect-ratio:4/5;
  object-fit:cover;object-position:center;opacity:1;filter:none;
  mix-blend-mode:normal;border-radius:0}@media(max-width:1024px){.st2{grid-template-columns:1fr}.st2-copy{order:0;padding:44.0px var(--trim)}.st2-ph{order:1;max-width:none;padding:20.0px}.st2-ph img{max-width:100%;aspect-ratio:4/5}}/* ── art_all_night_detail_sections.json · sitios en dos acordeones ────────
   <details> nativo: abre con Enter y con Espacio, y funciona sin JS. El mas
   son dos barras; al abrirse la vertical gira y queda un menos. Azul claro
   para los sitios del programa, verde para los negocios que participan. */
.accs{display:grid;gap:14px}.acc{border:1px solid;border-radius:2px;overflow:hidden}.acc summary{display:flex;align-items:center;gap:14px;cursor:pointer;
  padding:20.0px 26.0px;
  font-family:var(--disp);font-weight:700;font-size:19.44px;
  letter-spacing:-.01em;list-style:none}@media(max-width:1024px){.acc summary{
  padding:15.0px 16.0px;font-size:16.0px}}.acc summary::-webkit-details-marker{display:none}.acc-t{flex:1;min-width:0}.acc-n{font-size:.78em;font-weight:600;opacity:.72;font-variant-numeric:tabular-nums}.acc-mas{position:relative;flex:none;width:16px;height:16px}.acc-mas::before,.acc-mas::after{content:"";position:absolute;inset:50% 0 auto;
  height:2px;margin-top:-1px;background:currentColor;border-radius:1px}.acc-mas::after{transform:rotate(90deg);transition:transform .22s cubic-bezier(.32,.72,0,1)}.acc[open] .acc-mas::after{transform:rotate(0deg)}@media(prefers-reduced-motion:reduce){.acc-mas::after{transition:none}}.acc-l{margin:0;padding:0 26.0px 22.0px;list-style:none;
  display:grid;gap:12px;border-top:1px solid}@media(max-width:1024px){.acc-l{padding:0 16.0px 14.0px}}.acc-l li{padding-top:12px}.acc-l li:first-child{padding-top:14px}.acc-l b{display:block;font-family:var(--disp);font-weight:600;
  font-size:16.56px;letter-spacing:-.005em}@media(max-width:1024px){.acc-l b{
  font-size:15.0px}}.acc-l p{margin:5px 0 0;font-size:var(--t-body);line-height:1.5;color:var(--ink-2);max-width:62ch}.acc-azul{border-color:#c3d7e5;background:#eaf1f6}.acc-azul summary{color:#17385d}.acc-azul .acc-l{border-top-color:#cfdfea}.acc-azul .acc-l b{color:#17385d}.acc-azul summary:hover{background:#e0ebf3}.acc-verde{border-color:#c2d9cd;background:#e9f2ec}.acc-verde summary{color:#1c5340}.acc-verde .acc-l{border-top-color:#cee1d6}.acc-verde .acc-l b{color:#1c5340}.acc-verde summary:hover{background:#dfece4}.acc summary:focus-visible{outline:2px solid currentColor;outline-offset:-4px}@media(max-width:1024px){.acc summary{gap:10px;padding:14px 15px}.acc-l{padding:0 15px 16px}}/* ── events_headline_single_line.json · el titular en una linea ───────────
   Los valores del json caben desde 786px de ancho: su minimo es 2,8rem, o sea
   44,8px, y "Events on Wisconsin Avenue" mide 15,2281 x el cuerpo (26
   caracteres, medido con Range), luego necesita 682px libres, que es lo que
   hay a partir de ahi. De 786 para arriba manda el json y no se parte; por
   debajo se deja partir, que es justo el responsive_fallback que pide.
   El tope por ancho evita que a 1920 el 6,5rem se salga del contenedor.
   El selector lleva etiqueta y dos clases porque .phead.h1-l h1 pesa mas. */
header.phead.phead-ev h1{
  max-width:none;text-align:center;letter-spacing:-.04em;line-height:1.04;
  white-space:normal;text-wrap:balance;
  font-size:40.0px}@media(max-width:1024px){/* ── events_headline_single_line.json · el titular en una linea ───────────
   Los valores del json caben desde 786px de ancho: su minimo es 2,8rem, o sea
   44,8px, y "Events on Wisconsin Avenue" mide 15,2281 x el cuerpo (26
   caracteres, medido con Range), luego necesita 682px libres, que es lo que
   hay a partir de ahi. De 786 para arriba manda el json y no se parte; por
   debajo se deja partir, que es justo el responsive_fallback que pide.
   El tope por ancho evita que a 1920 el 6,5rem se salga del contenedor.
   El selector lleva etiqueta y dos clases porque .phead.h1-l h1 pesa mas. */
header.phead.phead-ev h1{
  font-size:21.0px}}@media(min-width:1025px){header.phead.phead-ev h1{
    white-space:nowrap;text-wrap:nowrap;
    font-size:min(80.64px,
                  calc((min(1440px,1353.6px) - 56px) * .063))}}/* ── cookie_tour_description_length.json · tope de lineas en la tarjeta ───
   Tres lineas en escritorio y cuatro en movil. Con el texto ya recortado a
   154 caracteres no llega a cortar en ningun ancho: queda de guarda. */
/* Sin tope de lineas: ver la nota del json. El texto corto ya da 3 lineas de
   1320px en adelante y 4 en movil; el unico sitio donde pide mas es la franja
   de tableta, donde las cuatro tarjetas crecen por igual. */

/* ── business_single_page.json · las tres areas en una pagina ─────────────
   Mismo aire entre las tres y la misma tipografia del resto del sitio. Las
   anclas viejas se quedan como punto de salto invisible. */
.ancla-vieja{display:block;height:0;visibility:hidden}:root{--nav-alto:72px}@media(max-width:1024px){:root{--nav-alto:84px}}main [id]{scroll-margin-top:var(--nav-alto)}.bz-recips{margin-top:66.24px;padding-top:44.0px;
  border-top:1px solid var(--line)}@media(max-width:1024px){.bz-recips{margin-top:40.0px;padding-top:28.0px}}.bz-h3{margin:8px 0 22px;font-family:var(--disp);font-weight:700;
  font-size:30.0px;letter-spacing:-.02em;line-height:1.1}@media(max-width:1024px){.bz-h3{
  font-size:21.0px}}.bz-ticks{margin-top:32.0px}@media(max-width:1024px){.bz-ticks{margin-top:20.0px}}#get-connected .two{margin-top:42.0px}@media(max-width:1024px){#get-connected .two{margin-top:26.0px}}/* ── a.json · repaso general ──────────────────────────────────────────────
   C · "Disable card hover effects" en las tarjetas de guias: el zoom y el
   cambio de velo se quedan quietos. El enlace sigue teniendo foco visible. */
.og-card:hover .og-ph img{transform:none;filter:none}.og-card:hover::after{background:linear-gradient(180deg,transparent,
  rgba(0,0,0,.55) 62%,rgba(0,0,0,.78) 100%)}.og-ph img{transition:none}/* D · "non-interactive informational amounts with no click or hover
   appearance": los tres importes se ven iguales, sin seleccionado ni hover.
   Antes el primero iba en naranja con subrayado, que se lee como pulsado. */
.gbk-vals span{color:#17385d;border-bottom-color:transparent;transition:none}.gbk-vals li:first-child span{color:#17385d;border-bottom-color:transparent}@media(hover:hover){.gbk-vals span:hover{color:#17385d;border-bottom-color:transparent}}/* A · velo del banner de Bucks, igual de suave que el de Legacy. */
.lgban--bucks .lgban-in::before{
  background:
    radial-gradient(56% 60% at 50% 50%, rgba(0,0,0,.42) 0%, rgba(0,0,0,.32) 52%,
                    rgba(0,0,0,0) 100%),
    rgba(0,0,0,.36)}/* ── menu_bar_fix.json · ni una linea gris debajo del menu al hacer scroll ─
   Medido: el borde ya estaba a cero y no hay sombra. Lo que pinta la linea es
   el borde inferior de la barra pegada cayendo en medio pixel de dispositivo.
   A 1440 y DPR 1,25 la barra media 58 CSS = 72,5 fisicos, y esa mitad de fila
   se mezcla con el contenido: sobre blanco daba una fila en 93 entre la barra
   (32) y la pagina (241). Con la barra en 60 y el liston en 32 — los dos
   multiplos de 4 — el borde cae entero en todos los pasos de cuarto de DPR y
   el total de 92 no cambia. Movil igual: 72 + 32 = 104. */
.topbar .in{min-height:32px}.nav-thick .in{min-height:60px}@media(max-width:1024px){.nav-thick .in{min-height:72px}}.nav,.nav-thick,.nav-thick .in{
  border-bottom:none;box-shadow:none;outline:none;margin-bottom:0;
  background-clip:padding-box}/* ── art_all_night_update.json · cada sitio, su propia fila ───────────────
   Filas desplegables dentro de cada acordeon. Las que no traen programa se
   quedan planas: un mas que no abre nada engaña. */
.acc-l{padding-bottom:0}.sit{border-top:1px solid;margin:0}.acc-l > .sit:first-child{border-top:0}.sit > summary{display:flex;align-items:baseline;gap:12px;cursor:pointer;list-style:none;
  padding:13px 0;font-family:var(--disp);font-weight:600;
  font-size:16.56px;letter-spacing:-.005em}@media(max-width:1024px){.sit > summary{
  font-size:15.0px}}.sit > summary::-webkit-details-marker{display:none}.sit > summary b{flex:1;min-width:0;font-weight:600}.sit > summary .acc-mas{align-self:center;width:13px;height:13px}.sit-plana{display:flex;align-items:baseline;gap:12px;padding:13px 0;
  font-family:var(--disp);font-weight:600;font-size:16.56px}@media(max-width:1024px){.sit-plana{font-size:15.0px}}.sit-plana b{font-weight:600}.sit-n{flex:none;font-family:var(--mono);font-size:var(--t-tiny);
  font-variant-numeric:tabular-nums;opacity:.6}.sit-bd{padding:0 0 18px calc(12px + 2.4em)}.sit-bd p{margin:0 0 7px;font-size:var(--t-body);line-height:1.55;color:var(--ink-2);max-width:64ch}.sit-bd p:last-child{margin-bottom:0}.sit-lab{margin:16px 0 6px !important;font-family:var(--disp);font-weight:700;
  font-size:var(--t-tiny);letter-spacing:.11em;text-transform:uppercase;opacity:.85}.sit-bd > .sit-lab:first-child{margin-top:2px !important}.acc-azul .sit{border-top-color:#cfdfea}.acc-azul .sit-lab{color:#17385d}.acc-verde .sit{border-top-color:#cee1d6}.acc-verde .sit-lab{color:#1c5340}@media(max-width:1024px){.sit-bd{padding-left:0}}/* ── legacy_no_photo_hover.json · la foto no se mueve al pasar por encima ──
   El selector del json (.legacy-business-card img) no existe en este sitio;
   la tarjeta es .lg-card y la foto .lg-ph img. Se aplica ahi, que es donde
   estaba el scale(1.03). */
.lg-card:hover .lg-ph img,
.lg-ph img:hover{transform:none;scale:1;filter:none;opacity:1;
  box-shadow:none;transition:none}/* ── hero_height_update.json · el hero de portada, un 25% mas alto ────────
   Ojo: .hero no lo usa ninguna pagina; el hero de la portada es .hero2, y su
   alto lo fijaba la proporcion 1762/613 que dejo el json anterior. Un 25% mas
   de alto es 613 x 1,25 = 766, y en movil el clamp escala igual:
   210→262,5, 33,6vh→42vh, 322→402,5. El zoom del 125% de la foto se queda,
   que es otro encargo y sigue en pie. */
@media(min-width:1025px){.hero2-img img{aspect-ratio:1762/766}}@media(max-width:1024px){.hero2-img img{height:clamp(262.5px,42vh,402.5px)}}/* ── map_hero_style_proposal.json · el mapa, en clave editorial ───────────
   Se va el panel azul y el titular de una palabra. Fondo crema de la casa,
   texto en el navy de la marca, alineado a la izquierda y con el CTA de
   contorno fino. El mapa sigue siendo la pieza navy, ahora apoyada sobre el
   crema en lugar de disuelta en el. */
.msmap{background:var(--bg);border-top:1px solid var(--line)}.ms-banner{max-width:1180px;margin-inline:auto;
  padding:112.0px 96.0px;
  align-items:center;justify-items:stretch;
  gap:72.0px}@media(max-width:1024px){.ms-banner{
  padding:48.0px 26.25px;
  gap:30.0px}}.ms-panel{text-align:left;align-self:center;justify-self:stretch;
  min-height:420px;display:flex;flex-direction:column;justify-content:center;
  color:#17385d}.ms-panel .blade{margin:0 0 14px;margin-inline:0;color:#17385d;opacity:.75;
  font-family:var(--disp);font-weight:700;font-size:var(--t-tiny);
  letter-spacing:.16em;text-transform:uppercase}.ms-panel h2{margin:0;margin-inline:0;color:#17385d;text-align:left;
  font-size:72.0px;line-height:1.02;letter-spacing:-.03em;
  text-wrap:balance;max-width:14ch}@media(max-width:1024px){.ms-panel h2{
  font-size:42.0px}}.ms-panel p{margin:18px 0 0;margin-inline:0;max-width:560px;color:#3d4d61;
  font-size:15.84px;line-height:1.55}@media(max-width:1024px){.ms-panel p{
  font-size:15.0px}}.ms-cta{margin-inline:0;margin-top:34.0px;
  align-self:flex-start;min-height:42px;padding:0 20px;
  border:1.5px solid #17385d;color:#17385d;background:none;border-radius:0;
  font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase}@media(max-width:1024px){.ms-cta{margin-top:24.0px}}.ms-cta:hover{background:#17385d;border-color:#17385d;color:var(--bg)}.ms-cta i{color:var(--orange)}.ms-cta:hover i{color:var(--bg)}.ms-mapwrap{margin-inline:0}@media(max-width:1024px){.ms-banner{padding:34.0px 26.25px}.ms-panel{min-height:0;order:-1}}/* Con el fondo en crema, los rotulos de las calles se quedaron en blanco con
   halo oscuro: ilegibles. El overlay es transparente, asi que ahora el fondo
   que hay detras es el crema y el texto pasa al navy de la marca, sin sombra.
   El de la avenida sigue blanco: ese va dentro de la banda naranja. */
.ms-lab{color:#17385d;text-shadow:none}.ms-lab-av{color:#fff}/* Los rotulos nombran su calle y se apoyan justo encima de ella, asi que el
   navy caia sobre el trazo azul: el 22% de los pixeles del texto no llegaba a
   4,5:1 (medido). En vez de devolver la sombra —que el cliente no quiere— se
   les pone una placa de crema, que es como se rotula un mapa de verdad. */
.ms-lab:not(.ms-lab-av){background:var(--bg);padding:2px 5px;border-radius:2px;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}/* ── event_page_structure.json · hero de evento en dos columnas ───────────
   Izquierda: fecha, titulo, resumen, datos y CTA. Derecha: la foto en 4:3 y
   quieta. En movil la foto se cuela entre el resumen y los datos, que es lo
   que pide single_column_with_photo_after_intro. */
.ehero{padding:48.96px 0 51.84px}@media(max-width:1024px){/* ── event_page_structure.json · hero de evento en dos columnas ───────────
   Izquierda: fecha, titulo, resumen, datos y CTA. Derecha: la foto en 4:3 y
   quieta. En movil la foto se cuela entre el resumen y los datos, que es lo
   que pide single_column_with_photo_after_intro. */
.ehero{padding:28.0px 0 30.0px}}.ehero-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"intro foto" "datos foto";
  align-content:start;align-items:start;
  column-gap:63.36px;row-gap:34.0px}@media(max-width:1024px){.ehero-g{
  column-gap:32.0px;row-gap:22.0px}}.ehero-i{grid-area:intro}.ehero-d{grid-area:datos}.ehero-ph{grid-area:foto;margin:0;align-self:center}.ehero-i .blade{margin:0 0 12px}.ehero-i h1{margin:0;font-size:62.0px;line-height:1.03;
  letter-spacing:-.03em;text-wrap:balance;max-width:16ch}@media(max-width:1024px){.ehero-i h1{font-size:32.0px}}.ehero-i .lead{margin:16px 0 0;max-width:52ch;font-size:var(--t-lead);
  line-height:1.5;color:var(--ink-2)}.ehero-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;
  object-fit:cover;transform:none;transition:none}.ehero-ph img:hover{transform:none;filter:none;opacity:1}.ehero-d .evmeta{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:34.0px;row-gap:0;
  border-top:1px solid var(--line);border-bottom:0}@media(max-width:1024px){.ehero-d .evmeta{
  column-gap:20.0px}}.ehero-d .evmeta .fact{border-left:0;border-top:0;padding:15px 0 16px}.ehero-d .evmeta .fact:nth-child(n+3){border-top:1px solid var(--line)}.ehero-d .evmeta dd{font-size:18.0px;line-height:1.32}@media(max-width:1024px){.ehero-d .evmeta dd{font-size:15.0px}}@media(max-width:1024px){.ehero-d .evmeta{grid-template-columns:minmax(0,1fr)}.ehero-d .evmeta .fact:nth-child(n+2){border-top:1px solid var(--line)}}.ehero-cta{margin-top:26.0px}@media(max-width:1024px){.ehero-cta{margin-top:18.0px}}.ehero-sinfoto .ehero-g{grid-template-columns:minmax(0,1fr);
  grid-template-areas:"intro" "datos"}.ehero-sinfoto .ehero-i h1{max-width:20ch}@media(max-width:1024px){.ehero-g{column-gap:24.0px}}@media(max-width:1024px){.ehero-g{grid-template-columns:minmax(0,1fr);
    grid-template-areas:"intro" "foto" "datos";row-gap:22px}.ehero-ph img{aspect-ratio:4/3}}/* ── showcase_sites_modern_layout.json · rejilla compacta en navy ─────────
   Dos columnas, filas de 72 px minimo, indice en naranja y contenido dentro
   de la propia ficha. Solo una abierta a la vez por grupo (lo hace el JS).
   Contrastes medidos sobre el color de ficha #1B4272: blanco 10,3:1 y el
   texto secundario #b5c8dc 6,4:1. */
.ssec{background:#122F53;padding:80.0px 72.0px}@media(max-width:1024px){/* ── showcase_sites_modern_layout.json · rejilla compacta en navy ─────────
   Dos columnas, filas de 72 px minimo, indice en naranja y contenido dentro
   de la propia ficha. Solo una abierta a la vez por grupo (lo hace el JS).
   Contrastes medidos sobre el color de ficha #1B4272: blanco 10,3:1 y el
   texto secundario #b5c8dc 6,4:1. */
.ssec{padding:40.0px 20.0px}}.ssec-in{max-width:1280px;margin-inline:auto;display:grid;
  gap:64.0px}@media(max-width:1024px){.ssec-in{
  gap:38.0px}}.ssg-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding-bottom:14px;margin-bottom:22.0px;
  border-bottom:1px solid rgba(255,255,255,.18)}@media(max-width:1024px){.ssg-h{margin-bottom:16.0px}}.ssg-h h2{margin:0;color:#fff;font-size:43.2px;line-height:1.05;
  letter-spacing:-.025em}@media(max-width:1024px){.ssg-h h2{font-size:28.0px}}.ssg-n{flex:none;font-family:var(--mono);font-size:var(--t-tiny);
  font-variant-numeric:tabular-nums;color:#b5c8dc;letter-spacing:.1em}.ssg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
  align-items:start}.ssg-grid .sit,.ssg-grid .sit-plana{margin:0;border:1px solid rgba(255,255,255,.18);
  border-radius:0;box-shadow:none;background:#1B4272;min-height:72px;
  display:block;padding:0}.ssg-grid .sit-plana{display:flex;align-items:center;gap:12px;
  padding:0 20.0px;color:#fff}@media(max-width:1024px){.ssg-grid .sit-plana{
  padding:0 14.0px}}.ssg-grid .sit > summary{display:flex;align-items:center;gap:12px;min-height:72px;
  padding:14px 20.0px;color:#fff;list-style:none;cursor:pointer;
  font-family:var(--disp);font-weight:600;font-size:16.56px}@media(max-width:1024px){.ssg-grid .sit > summary{
  padding:14px 14.0px;font-size:15.0px}}.ssg-grid .sit > summary::-webkit-details-marker{display:none}.ssg-grid .sit > summary:hover{background:#215085}.ssg-grid .sit > summary:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}.ssg-grid .sit b{flex:1;min-width:0;font-weight:600;color:#fff}.ssg-grid .sit-n{flex:none;font-family:var(--mono);font-size:var(--t-tiny);
  font-variant-numeric:tabular-nums;color:#FF9377;opacity:1}.ssg-grid .acc-mas{flex:none;width:14px;height:14px;color:#fff}.ssg-grid .sit-bd{padding:0 20.0px 22.0px;
  border-top:1px solid rgba(255,255,255,.14);margin-top:0}@media(max-width:1024px){.ssg-grid .sit-bd{padding:0 14.0px 16.0px}}.ssg-grid .sit-bd p{color:#b5c8dc;max-width:58ch}.ssg-grid .sit-bd > p:first-child{margin-top:14px}.ssg-grid .sit-lab{color:#fff !important;opacity:1;margin:16px 0 6px !important}.ssg-grid .sit-bd > .sit-lab:first-child{margin-top:14px !important}.ssg-verde .ssg-grid .sit-n{color:#7ddcae}.ssg-verde .ssg-grid .sit > summary:focus-visible{outline-color:#7ddcae}@media(max-width:1024px){.ssg-grid{grid-template-columns:minmax(0,1fr)}}/* El CTA del hero de evento va en el naranja de marca, que es la regla de la
   casa para el boton principal; .btn-o solo era naranja dentro de .hero2. */
.ehero-cta.btn-o{background:var(--orange);color:#111111;border-color:var(--orange)}.ehero-cta.btn-o:hover{background:#111111;color:var(--bg);border-color:#111111}/* ── footer_spacing_update.json · menos aire antes del pie ────────────────
   La ultima seccion metia su relleno completo y encima el pie abria con el
   suyo. Se recorta el de abajo de la ultima seccion y el de arriba del pie. */
main > section:last-of-type,main > *:last-child{margin-bottom:0}main > section:last-of-type{padding-bottom:40.0px}@media(max-width:1024px){main > section:last-of-type{padding-bottom:20.0px}}.foot,footer{margin-top:0;min-height:0;height:auto}.foot{padding-top:48.0px}@media(max-width:1024px){.foot{padding-top:24.0px}}.news{padding-top:48.0px;padding-bottom:48.0px}@media(max-width:1024px){.news{padding-top:24.0px;padding-bottom:24.0px}}/* ── community_stats_refined_style.json · las cifras, en el navy de la casa ─
   Sustituye a las tarjetas pastel: mismo sistema que Showcase Sites, sin
   colores de arcoiris, sin filete decorativo arriba y sin sombra. Gap 0 con
   el borde compartido (margen negativo de 1px) para que no salga doble.
   Contrastes medidos sobre la ficha #1B4272: numero blanco 10,2:1, rotulo
   #b5c8dc 5,8:1, icono naranja 3,2:1 — por encima del 3:1 que pide un
   elemento grafico. */
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  padding:44.0px 0;background:#122F53;
  margin-inline:calc(-1 * var(--trim));padding-inline:var(--trim)}@media(max-width:1024px){/* ── community_stats_refined_style.json · las cifras, en el navy de la casa ─
   Sustituye a las tarjetas pastel: mismo sistema que Showcase Sites, sin
   colores de arcoiris, sin filete decorativo arriba y sin sombra. Gap 0 con
   el borde compartido (margen negativo de 1px) para que no salga doble.
   Contrastes medidos sobre la ficha #1B4272: numero blanco 10,2:1, rotulo
   #b5c8dc 5,8:1, icono naranja 3,2:1 — por encima del 3:1 que pide un
   elemento grafico. */
.cifras{
  padding:26.0px 0}}.cif{border:1px solid rgba(255,255,255,.16);border-radius:0;box-shadow:none;
  background:#1B4272;margin-left:-1px;
  padding:26.0px;display:flex;flex-direction:column;
  align-items:flex-start;gap:5px;color:#fff}@media(max-width:1024px){.cif{
  padding:18.0px}}.cif:first-child{margin-left:0}.cif-i{display:flex;width:26px;height:26px;margin-bottom:8px;color:var(--orange);opacity:1}.cif-i svg{width:100%;height:100%}.cif-v{font-family:var(--disp);font-weight:700;line-height:1;letter-spacing:-.03em;
  font-size:41.76px;font-variant-numeric:tabular-nums;color:#fff}@media(max-width:1024px){.cif-v{
  font-size:28.0px}}.cif-l{font-size:14.4px;line-height:1.4;max-width:22ch;
  color:#b5c8dc;opacity:1}@media(max-width:1024px){.cif-l{font-size:13.0px}}@media(max-width:1024px){.cifras{grid-template-columns:repeat(2,minmax(0,1fr))}.cif{margin-top:-1px}.cif:nth-child(odd){margin-left:0}}@media(max-width:1024px){.cifras{grid-template-columns:minmax(0,1fr)}.cif{margin-left:0;margin-top:-1px}.cif:first-child{margin-top:0}}/* ── business_section_navigation.json · las tres areas, clicables ─────────
   Tres tarjetas iguales que bajan a su seccion. La tarjeta entera es el
   enlace: un solo destino para el teclado. Al pasar por encima, un velo
   suave y la flecha, nada mas. */
.bznav-h h2{margin:0 0 26.0px;font-size:37.44px;
  line-height:1.06;letter-spacing:-.025em}@media(max-width:1024px){/* ── business_section_navigation.json · las tres areas, clicables ─────────
   Tres tarjetas iguales que bajan a su seccion. La tarjeta entera es el
   enlace: un solo destino para el teclado. Al pasar por encima, un velo
   suave y la flecha, nada mas. */
.bznav-h h2{margin:0 0 18.0px;font-size:24.0px}}.bznav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bzn{display:flex;flex-direction:column;justify-content:space-between;gap:24px;
  min-height:150px;padding:28.0px;color:#17385d;
  background:var(--bg-2);border-radius:18px;text-decoration:none;
  transition:background var(--t-ui) var(--ease)}@media(max-width:1024px){.bzn{padding:20.0px}}.bzn-t{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;
  font-size:21.6px;line-height:1.16}@media(max-width:1024px){.bzn-t{
  font-size:17.0px}}.bzn-b{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#17385d}.bzn-b i{font-style:normal;color:var(--orange);
  transition:transform .2s var(--ease)}@media(hover:hover){.bzn:hover{background:#dfe7ee}.bzn:hover .bzn-b i{transform:translateY(3px)}}.bzn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.bz-top{margin:40.0px 0 0}@media(max-width:1024px){.bz-top{margin:26.0px 0 0}}.bz-top a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);
  font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid var(--line-ui);padding-bottom:3px}.bz-top a:hover{color:#17385d;border-bottom-color:#17385d}.bz-top i{font-style:normal;color:var(--orange)}#get-connected .bz-top a{color:#fff;border-bottom-color:rgba(255,255,255,.55)}#get-connected .bz-top a:hover{color:#fff;border-bottom-color:#fff}#get-connected .bz-top i{color:#ffb98f}@media(max-width:1024px){.bznav{grid-template-columns:minmax(0,1fr)}}/* scroll suave para los saltos internos, con la salvedad de siempre */
html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}/* ── map_hero_blue_texture_update.json · vuelve el azul profundo ──────────
   Deshace el crema del json anterior: fondo #123557 con una foto de la
   galeria al 8% en soft-light, apenas visible. La composicion editorial se
   queda — mapa a la izquierda, texto a la derecha, mismo aire. */
.msmap{position:relative;isolation:isolate;overflow:hidden;
  background:#123557;border-top:0}.msmap::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("../img/street/shoppers-sun@640.webp");
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:.08;mix-blend-mode:soft-light}.msmap > *{position:relative;z-index:1}@supports not (mix-blend-mode:soft-light){.msmap::before{opacity:.05;mix-blend-mode:normal}}.ms-panel{color:#fff}.ms-panel .blade{color:#b5c8dc;opacity:1}.ms-panel h2{color:#fff}.ms-panel p{color:#cfdae6}.ms-cta{border-color:#fff;color:#fff;background:none}.ms-cta:hover{background:#fff;border-color:#fff;color:#123557}.ms-cta i{color:var(--orange)}.ms-cta:hover i{color:var(--orange)}/* Los rotulos vuelven al blanco. Para que no se pierdan encima de las lineas
   blancas de las calles, la placa pasa del crema al mismo azul del fondo: el
   rotulo abre un hueco en la calle en vez de taparse con una sombra. */
.ms-lab:not(.ms-lab-av){color:#fff;background:#123557;text-shadow:none}/* ── menu_bar_gray_line_definitive_fix.json · ni un pixel gris ────────────
   Lo que quedaba no era un borde ni una sombra: era la ultima fila de la
   propia barra, que a DPR 1,25 se resolvia en un gris calido (105,98,90)
   entre el navy y el crema. Se le pone debajo un color solido igual al final
   del degradado, para que esa fila siempre tenga algo opaco que pintar, y se
   devuelve el recorte a border-box para que el fondo llegue al borde. */
.nav-thick{background-color:#0B1F30;background-clip:border-box}.nav,.nav-thick,.nav-thick .in{
  border-bottom:none !important;box-shadow:none !important;outline:none;
  margin-bottom:0;padding-bottom:0}.nav::before,.nav::after,.nav-thick::before,.nav-thick::after,
.nav-thick .in::before,.nav-thick .in::after{display:none !important}/* ── event_calendar_actions.json · guardar el evento ──────────────────────
   Menu nativo <details>: abre con raton y con teclado, y sin JS. Debajo de
   los datos del evento, como pide el json. */
.cal{margin-top:22.0px;position:relative;width:max-content;max-width:100%}@media(max-width:1024px){/* ── event_calendar_actions.json · guardar el evento ──────────────────────
   Menu nativo <details>: abre con raton y con teclado, y sin JS. Debajo de
   los datos del evento, como pide el json. */
.cal{margin-top:16.0px}}.cal > summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  list-style:none;min-height:40px;padding:0 16px;border:1.5px solid var(--line-ui);
  color:var(--ink);font-family:var(--disp);font-weight:700;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase}.cal > summary::-webkit-details-marker{display:none}.cal > summary:hover{border-color:var(--ink)}.cal > summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.cal > summary i{font-style:normal;color:var(--orange);font-size:15px;line-height:1;
  transition:transform .2s var(--ease)}.cal[open] > summary i{transform:rotate(45deg)}.cal-m{display:flex;flex-direction:column;margin-top:8px;
  border:1px solid var(--line-ui);background:#fff;min-width:230px}.cal-m a{padding:12px 16px;color:var(--ink);text-decoration:none;
  font-size:var(--t-small);border-bottom:1px solid var(--line)}.cal-m a:last-child{border-bottom:0}.cal-m a:hover{background:var(--bg-2)}.cal-m a:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.cal > summary i{transition:none}}/* ── business_above_fold_navigation.json · las tres opciones, a la vista ──
   Se aprieta la cabecera y las tarjetas suben justo detras, con las cifras
   debajo. La idea es que las tres se vean sin bajar. */
body:has(.bznav) .phead{padding:72.0px 0 43.2px}@media(max-width:1024px){/* ── business_above_fold_navigation.json · las tres opciones, a la vista ──
   Se aprieta la cabecera y las tarjetas suben justo detras, con las cifras
   debajo. La idea es que las tres se vean sin bajar. */
body:has(.bznav) .phead{padding:40.0px 0 24.0px}}body:has(.bznav) .phead h1{font-size:72.0px;max-width:18ch}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:42.0px}}body:has(.bznav) .phead .lead{max-width:720px;font-size:26.0px;
  line-height:1.34}@media(max-width:1024px){body:has(.bznav) .phead .lead{font-size:18.0px}}body:has(.bznav) .phead .in{padding-bottom:0;border-bottom:0}.bznav-h{padding-top:24px}body:has(.bznav) .bznav{padding-bottom:40px}.bzn{min-height:220px}/* ── carousel_remove_red_text.json · nada de rojo ni naranja en la tira ────
   El nombre del negocio iba en el naranja de tinta; pasa al navy. El pie se
   queda en gris carbon y las flechas, en navy. Sin subrayado. */
.st-biz{color:#17385d;text-decoration:none}.st-biz:hover,.st-biz:focus-visible{color:#17385d;text-decoration:none}.st-card figcaption{color:#3f3f3d}.st-nav{color:#17385d;border-color:#17385d}.st-nav:hover:not(:disabled){background:#17385d;color:var(--bg);border-color:#17385d}.strip .st-card a,.strip .st-card a:hover{color:#17385d;text-decoration:none}/* ── gallery_remove_photo_hover.json · las fotos, quietas ─────────────────
   Fuera el zoom y el velo que aparecian al pasar el cursor. El foco de
   teclado se queda, que es lo unico que se pierde si se quita todo. */
.ga-it:hover img,.ga-it:focus img{transform:none;scale:1;filter:none;opacity:1;
  box-shadow:none;transition:none}.ga-it::after{display:none !important}.ga-it:hover::after{opacity:0}/* ── wander_wisconsin_georgetown_bucks_banner.json · banner a dos columnas ─
   Crema, texto a la izquierda (48%) y la tarjeta a la derecha (52%) en 4:3,
   quieta. En movil el texto va encima de la imagen. */
#bucks-promo{background:var(--bg)}.gbban{display:grid;grid-template-columns:48fr 52fr;
  gap:63.36px;align-items:center}@media(max-width:1024px){.gbban{
  gap:28.0px}}.gbban-c .blade{margin:0 0 12px}.gbban-c h2{margin:0;font-size:44.0px;line-height:1.06;
  letter-spacing:-.026em;text-wrap:balance;max-width:18ch}@media(max-width:1024px){.gbban-c h2{font-size:26.0px}}.gbban-d{margin:14px 0 0;font-size:var(--t-lead);line-height:1.45;color:var(--ink-2);
  max-width:44ch}.gbban-s{margin:10px 0 0;font-size:var(--t-small);line-height:1.55;color:var(--ink-2);
  max-width:52ch}.gbban-cta{margin-top:28.0px}@media(max-width:1024px){.gbban-cta{margin-top:18.0px}}.gbban-ph{margin:0;overflow:hidden}.gbban-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;
  object-fit:cover;transform:none;transition:none}.gbban-ph img:hover{transform:none;filter:none;opacity:1}@media(max-width:1024px){.gbban{grid-template-columns:minmax(0,1fr);gap:24px}.gbban-c{order:0}.gbban-ph{order:1}}/* ── gms_programs_editorial_layout.json · programas en filas editoriales ───
   Nada de bloque azul: crema, filete fino entre filas, titulo y estado a la
   izquierda y la descripcion a la derecha. La fila abre para leerla entera;
   cerrada se queda en dos lineas. El texto esta una sola vez en el HTML. */
#gms-programs{background:var(--bg)}#gms-programs .wrap{max-width:1440px}#gms-programs .head h2{font-size:72.0px;line-height:1.02;
  letter-spacing:-.03em}@media(max-width:1024px){#gms-programs .head h2{font-size:40.0px}}.progs{border-top:1px solid var(--line)}details.prog{padding:0;border:0;border-bottom:1px solid var(--line);background:none;
  border-radius:0;display:block}details.prog > summary{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:57.6px;align-items:start;list-style:none;cursor:pointer;
  padding:56.0px 0}@media(max-width:1024px){details.prog > summary{
  gap:24.0px;
  padding:32.0px 0}}details.prog > summary::-webkit-details-marker{display:none}details.prog > summary:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}.prog-h{display:block}.prog-h h3{margin:0;font-family:var(--disp);font-weight:700;
  font-size:42.0px;line-height:1.06;letter-spacing:-.028em;
  text-wrap:balance;max-width:18ch}@media(max-width:1024px){.prog-h h3{
  font-size:26.0px}}.prog-h .status{display:inline-block;margin-top:12px;color:var(--orange-ink);
  font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase}.prog-b{display:flex;align-items:flex-start;gap:28.0px}@media(max-width:1024px){.prog-b{gap:16.0px}}.prog-d{flex:1;min-width:0;font-size:26.0px;line-height:1.42;
  color:#3f3f3d;max-width:44ch;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media(max-width:1024px){.prog-d{font-size:18.0px}}details.prog[open] .prog-d{-webkit-line-clamp:unset;overflow:visible}.prog-mas{position:relative;flex:none;width:15px;height:15px;margin-top:.42em;color:#17385d}.prog-mas::before,.prog-mas::after{content:"";position:absolute;inset:50% 0 auto;
  height:2px;margin-top:-1px;background:currentColor;border-radius:1px}.prog-mas::after{transform:rotate(90deg);transition:transform .22s cubic-bezier(.32,.72,0,1)}details.prog[open] .prog-mas::after{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.prog-mas::after{transition:none}}.prog .prog-cta{margin:0 0 44.0px;
  grid-column:2;margin-left:calc(5 / 12 * 100% + clamp(12px,28.8px,36px));
  display:inline-block;color:#17385d;text-decoration:none;
  border-bottom:2px solid var(--orange);padding-bottom:2px;
  font-family:var(--disp);font-weight:700;font-size:var(--t-small)}@media(max-width:1024px){.prog .prog-cta{margin:0 0 28.0px;margin-left:calc(5 / 12 * 100% + clamp(12px,7.5px,36px))}}.prog .prog-cta:hover{color:#17385d;border-bottom-color:var(--orange)}@media(max-width:1024px){details.prog > summary{grid-template-columns:minmax(0,1fr);gap:14px}.prog .prog-cta{margin-left:0}}/* ── business_hero_typography_consistency.json · cabecera a la escala de Wander ─
   El titular y el subtitulo bajan a la medida de Wander Wisconsin para que el
   texto no se coma la pantalla. Sustituye lo que puso el json anterior. */
body:has(.bznav) .phead{padding:88.0px 0}@media(max-width:1024px){/* ── business_hero_typography_consistency.json · cabecera a la escala de Wander ─
   El titular y el subtitulo bajan a la medida de Wander Wisconsin para que el
   texto no se coma la pantalla. Sustituye lo que puso el json anterior. */
body:has(.bznav) .phead{padding:48.0px 0}}body:has(.bznav) .phead .blade{font-size:14px;letter-spacing:.22em;text-transform:uppercase}body:has(.bznav) .phead h1{font-size:72.0px;line-height:.98;
  font-weight:700;max-width:900px;margin-bottom:20px}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:42.0px}}body:has(.bznav) .phead .lead{font-size:28.0px;line-height:1.35;
  font-weight:400;max-width:720px;margin-bottom:40px}@media(max-width:1024px){body:has(.bznav) .phead .lead{font-size:20.0px}}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:37.5px}body:has(.bznav) .phead .lead{font-size:18px}}/* La cifra no cambia de ancho mientras cuenta: numeros de caja fija. */
.cif-v{font-variant-numeric:tabular-nums lining-nums}/* ── business_navigation_remove_redundant_cta.json · tarjetas sin repetir ──
   Se va el "GO TO SECTION" y la flecha; la tarjeta entera sigue siendo el
   enlace y el foco de teclado se ve. */
.bzn{justify-content:flex-end}/* ── resources_referrals_form.json · el formulario ────────────────────────
   Una columna, etiquetas visibles y los obligatorios marcados con palabra,
   no con un asterisco. No envia nada: el aviso lo dice y el enlace al
   formulario que si funciona hoy se queda debajo. */
.rrf{max-width:720px;margin-top:32.0px}@media(max-width:1024px){/* ── resources_referrals_form.json · el formulario ────────────────────────
   Una columna, etiquetas visibles y los obligatorios marcados con palabra,
   no con un asterisco. No envia nada: el aviso lo dice y el enlace al
   formulario que si funciona hoy se queda debajo. */
.rrf{margin-top:20.0px}}.rrf-h{margin:0;font-family:var(--disp);font-weight:700;
  font-size:30.0px;letter-spacing:-.02em;line-height:1.1}@media(max-width:1024px){.rrf-h{
  font-size:22.0px}}.rrf-d{margin:10px 0 0;font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:52ch}.rrf-set{margin:32.0px 0 0;padding:0;border:0}@media(max-width:1024px){.rrf-set{margin:22.0px 0 0}}.rrf-set legend{padding:0;font-family:var(--disp);font-weight:700;
  font-size:var(--t-small);letter-spacing:.01em;color:var(--ink)}.rrf-set.mal legend{color:#a3271a}.rrf-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28.0px;margin-top:14px}@media(max-width:1024px){.rrf-ops{
  gap:10px 16.0px}}.rrf-op{display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  font-size:var(--t-small);line-height:1.4;color:var(--ink-2)}.rrf-op input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--orange)}.rrf-op input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.rrf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22.0px;margin-top:30.0px}@media(max-width:1024px){.rrf-grid{
  gap:14.0px;margin-top:20.0px}}.rrf-f{margin:0;display:flex;flex-direction:column;gap:7px}.rrf-f label{font-family:var(--disp);font-weight:600;font-size:var(--t-tiny);
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}.rrf-req{margin-left:6px;font-weight:600;color:var(--orange-ink);
  text-transform:none;letter-spacing:.02em}.rrf-f input,.rrf-f textarea{width:100%;padding:12px 14px;border:1px solid var(--line-ui);
  border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:var(--t-small)}.rrf-f textarea{resize:vertical;min-height:104px}.rrf-f input:focus-visible,.rrf-f textarea:focus-visible{outline:2px solid var(--orange);
  outline-offset:-1px;border-color:var(--orange)}.rrf-f.mal input{border-color:#a3271a}.rrf-full{margin-top:22.0px}@media(max-width:1024px){.rrf-full{margin-top:14.0px}}.rrf-go{margin-top:30.0px;
  background:var(--orange);color:#111111;border-color:var(--orange)}@media(max-width:1024px){.rrf-go{margin-top:20.0px}}.rrf-go:hover{background:#111111;color:var(--bg);border-color:#111111}.rrf-msg{margin:14px 0 0;font-size:var(--t-small);min-height:1.4em}.rrf-msg.mal{color:#a3271a}.rrf-msg.bien{color:#1c5340}.rrf .tinynote{margin-top:16px}@media(max-width:1024px){.rrf-ops,.rrf-grid{grid-template-columns:minmax(0,1fr)}}/* ── events_remove_shift_cta.json · sin boton, sin hueco ──────────────────
   El contenedor del CTA desaparece si queda vacio, y la columna de datos no
   arrastra el margen que dejaba el boton. */
.ehero-cta{display:none}.ehero-d > .cal:last-child{margin-bottom:0}.ehero-d:not(:has(.ehero-cta)){padding-bottom:0}/* ── get_connected_community_section.json · comunidad, con foto de fondo ──
   Foto del corredor, velo navy al 28% y titular blanco centrado. Las dos
   tarjetas van en crema con su titulo en naranja. El contraste del titular se
   mide sobre la foto ya velada, no sobre el navy a secas. */
.gcon{position:relative;isolation:isolate;overflow:hidden;
  padding:100.8px var(--trim);
  background-image:url("../img/street/shoppers-sun.webp");
  background-size:cover;background-position:center;background-repeat:no-repeat}@media(max-width:1024px){/* ── get_connected_community_section.json · comunidad, con foto de fondo ──
   Foto del corredor, velo navy al 28% y titular blanco centrado. Las dos
   tarjetas van en crema con su titulo en naranja. El contraste del titular se
   mide sobre la foto ya velada, no sobre el navy a secas. */
.gcon{
  padding:52.0px var(--trim)}}.gcon::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(18,47,83,.28)}.gcon-in{position:relative;z-index:1;max-width:1100px;margin-inline:auto;text-align:center}.gcon h2{margin:0 0 44.0px;color:#fff;text-align:center;
  font-size:68.0px;line-height:1.04;letter-spacing:-.03em;
  text-wrap:balance;max-width:18ch;margin-inline:auto}@media(max-width:1024px){.gcon h2{margin:0 0 28.0px;
  font-size:34.0px}}.gcon-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26.0px;text-align:left}@media(max-width:1024px){.gcon-cards{
  gap:16.0px}}.gcon-c{background:var(--bg);border-radius:0;padding:34.0px;
  display:flex;flex-direction:column;gap:12px}@media(max-width:1024px){.gcon-c{padding:22.0px}}.gcon-c h3{margin:0;color:var(--orange-ink);font-family:var(--disp);font-weight:700;
  font-size:24.0px;line-height:1.14;letter-spacing:-.018em}@media(max-width:1024px){.gcon-c h3{
  font-size:18.0px}}.gcon-c p{margin:0;color:#3f3f3d;font-size:var(--t-small);line-height:1.55}.gcon-c a{margin-top:auto;align-self:flex-start;color:#17385d;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  border-bottom:2px solid var(--orange);padding-bottom:2px}.gcon-c a:hover{color:#17385d}.gcon-news{margin-top:40.0px;
  background:var(--orange);color:#0D2942;border-color:var(--orange)}@media(max-width:1024px){.gcon-news{margin-top:26.0px}}.gcon-news:hover{background:#fff;color:#0D2942;border-color:#fff}.gcon .bz-top{margin-top:32.0px}@media(max-width:1024px){.gcon .bz-top{margin-top:22.0px}}.gcon .bz-top a{color:#fff;border-bottom-color:rgba(255,255,255,.5)}.gcon .bz-top a:hover{color:#fff;border-bottom-color:#fff}.gcon img:hover{transform:none;filter:none}@media(max-width:1024px){.gcon-cards{grid-template-columns:minmax(0,1fr)}}/* El velo del 28% que pide el json deja el titular en 1,12:1 sobre las zonas
   claras de la foto: el 39% de sus pixeles no llegaba al minimo. El velo de
   la seccion se queda como esta y se le pone al titular un difuminado propio,
   centrado en el, que no oscurece el resto de la composicion. */
.gcon-in{position:relative}.gcon h2{position:relative;isolation:isolate}.gcon h2::before{content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:-1.2em -5em;
  background:radial-gradient(58% 66% at 50% 50%, rgba(9,26,45,.94) 0%,
             rgba(9,26,45,.9) 46%, rgba(9,26,45,.62) 74%, rgba(9,26,45,0) 100%)}/* ── business_faq_bottom_section.json · FAQ al final de Business ──────────
   Filas minimas con un mas, filete fino entre ellas y crema de la casa. Todas
   cerradas de inicio y se pueden abrir varias a la vez. */
.faqbz{background:var(--bg);padding:86.4px var(--trim) 63.36px}@media(max-width:1024px){/* ── business_faq_bottom_section.json · FAQ al final de Business ──────────
   Filas minimas con un mas, filete fino entre ellas y crema de la casa. Todas
   cerradas de inicio y se pueden abrir varias a la vez. */
.faqbz{padding:48.0px var(--trim) 36.0px}}.faqbz-in{max-width:1100px;margin-inline:auto;text-align:left}.faqbz h2{margin:0 0 44.0px;font-size:48.96px;
  line-height:1.05;letter-spacing:-.028em}@media(max-width:1024px){.faqbz h2{margin:0 0 28.0px;font-size:30.0px}}.fq-g + .fq-g{margin-top:51.84px}@media(max-width:1024px){.fq-g + .fq-g{margin-top:30.0px}}.fq-g h3{margin:0 0 6px;font-family:var(--disp);font-weight:700;
  font-size:var(--t-tiny);letter-spacing:.15em;text-transform:uppercase;
  color:var(--orange-ink)}.fq-rows{border-top:1px solid var(--line)}details.fq{border-bottom:1px solid var(--line)}details.fq > summary{display:flex;align-items:flex-start;gap:16px;cursor:pointer;
  list-style:none;padding:20.0px 0;
  font-family:var(--disp);font-weight:600;font-size:19.44px;
  line-height:1.32;letter-spacing:-.012em;color:var(--ink)}@media(max-width:1024px){details.fq > summary{padding:15.0px 0;font-size:16.0px}}details.fq > summary::-webkit-details-marker{display:none}details.fq > summary span:first-child{flex:1;min-width:0}details.fq > summary:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}.fq-mas{position:relative;flex:none;width:14px;height:14px;margin-top:.36em;color:#17385d}.fq-mas::before,.fq-mas::after{content:"";position:absolute;inset:50% 0 auto;
  height:2px;margin-top:-1px;background:currentColor;border-radius:1px}.fq-mas::after{transform:rotate(90deg);transition:transform .22s cubic-bezier(.32,.72,0,1)}details.fq[open] .fq-mas::after{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.fq-mas::after{transition:none}}.fq-a{padding:0 0 22.0px;max-width:68ch}@media(max-width:1024px){.fq-a{padding:0 0 16.0px}}.fq-a p{margin:0;font-size:var(--t-small);line-height:1.6;color:var(--ink-2)}.fq-a a{display:inline-block;margin-top:12px;color:#17385d;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  border-bottom:2px solid var(--orange);padding-bottom:2px}.faqbz .bz-top{margin-top:44.0px}@media(max-width:1024px){.faqbz .bz-top{margin-top:28.0px}}/* ── calendar_dropdown_dark_style.json · el menu, en navy ─────────────────
   Las opciones dejan el blanco: fondo navy, texto blanco, separador al 22% y
   el naranja de marca para el foco de teclado. Contrastes medidos sobre
   #122F53: blanco 13,6:1 en reposo y 11,4:1 sobre el navy de hover. */
.cal-m{background:#122F53;border:1px solid rgba(255,255,255,.28);border-radius:0;
  box-shadow:0 12px 28px rgba(0,0,0,.18);min-width:264px}.cal-m a{background:#122F53;color:#fff;padding:18px 24px;
  border-bottom:1px solid rgba(255,255,255,.22)}.cal-m a:last-child{border-bottom:0}.cal-m a:hover{background:#1B4272;color:#fff}.cal-m a:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;
  background:#1B4272;color:#fff}@media(max-width:1024px){.cal-m{min-width:0;width:100%;max-width:100%}}/* ── art_all_night_sponsors_compact_layout.json · filas horizontales ──────
   Categoria a la izquierda (28%) y logos a la derecha (72%), alineados a la
   izquierda. Aprovecha el ancho y baja mucho el alto: antes cada grupo era un
   bloque centrado con su titular grande. Los agradecimientos van en un solo
   bloque compacto detras, a la izquierda y con medida de 900px. */
.spons{background:var(--bg);padding:86.4px 72.0px}@media(max-width:1024px){/* ── art_all_night_sponsors_compact_layout.json · filas horizontales ──────
   Categoria a la izquierda (28%) y logos a la derecha (72%), alineados a la
   izquierda. Aprovecha el ancho y baja mucho el alto: antes cada grupo era un
   bloque centrado con su titular grande. Los agradecimientos van en un solo
   bloque compacto detras, a la izquierda y con medida de 900px. */
.spons{padding:40.0px 24.0px}}.spons-in{max-width:1500px;margin-inline:auto}.spr{display:grid;grid-template-columns:28% 72%;align-items:center;
  gap:34.56px;padding:28.0px 0;
  border-bottom:1px solid var(--line)}@media(max-width:1024px){.spr{
  gap:16.0px;padding:18.0px 0}}.spr:first-child{border-top:1px solid var(--line)}.spr-t{margin:0;font-family:var(--disp);font-weight:700;
  font-size:19.44px;line-height:1.2;letter-spacing:-.01em;
  color:var(--orange-ink);text-align:left;max-width:none}@media(max-width:1024px){.spr-t{
  font-size:15.0px}}.spr-l{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:43.2px;margin:0;padding:0;list-style:none}@media(max-width:1024px){.spr-l{
  gap:20.0px}}.spr-l li{display:flex;align-items:center}.spr-l img{display:block;width:auto;max-width:min(600px,100%);
  height:auto;max-height:72px;object-fit:contain;mix-blend-mode:multiply}.spr-symphony-sponsor .spr-l img{max-height:88px}.spr-l img:hover{transform:none;filter:none;opacity:1}.spr-l span{font-family:var(--disp);font-weight:600;font-size:var(--t-small);
  color:#17385d}.spr-i{margin:12px 0 0;font-size:var(--t-small);line-height:1.55;color:var(--ink-2);
  max-width:74ch}.spthx{margin-top:44.0px;max-width:900px;text-align:left}@media(max-width:1024px){.spthx{margin-top:26.0px}}.spthx h2{margin:0;font-family:var(--disp);font-weight:700;
  font-size:27.36px;line-height:1.14;letter-spacing:-.02em;
  color:var(--orange-ink)}@media(max-width:1024px){.spthx h2{
  font-size:20.0px}}.spthx p{margin:10px 0 0;font-size:var(--t-small);line-height:1.6;color:var(--ink-2)}.spthx ul{margin:16px 0 0;padding-left:1.15em;list-style:disc;
  column-count:2;column-gap:48.96px}@media(max-width:1024px){.spthx ul{column-gap:24.0px}}.spthx li{break-inside:avoid;margin:0 0 8px;font-size:var(--t-small);line-height:1.5}.spthx li::marker{color:var(--orange)}.spthx b{font-family:var(--disp);font-weight:600;color:var(--ink)}.spthx span{color:var(--ink-2)}.spthx span::before{content:" — "}@media(max-width:1024px){.spr{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.spr-t{margin-bottom:2px}}@media(max-width:1024px){.spthx ul{column-count:1}.spr-l{gap:18.75px}}/* ── georgetown_bucks_card_uncropped.json · la tarjeta, entera ────────────
   El banner la recortaba: 4:3 forzado con object-fit cover sobre una imagen
   de 1536x969 (ratio 1,59) se comia los bordes y parte del logo. Se quita la
   proporcion forzada y manda la de la propia imagen. */
.gbban-ph{overflow:visible;border-radius:18px}.gbban-ph img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
  object-position:center;display:block;overflow:visible;
  min-height:0;clip-path:none;border-radius:18px}.gbk-card img{border-radius:18px;object-fit:contain;aspect-ratio:auto;height:auto}/* ── about_partner_organizations_restore.json · organizaciones asociadas ──
   Vuelve la seccion, con tarjetas en crema, logo arriba centrado y texto
   centrado. Flechas discretas en naranja. Sin efecto al pasar por encima. */
.orgs-sec{background:var(--bg);padding:72.0px 0}@media(max-width:1024px){/* ── about_partner_organizations_restore.json · organizaciones asociadas ──
   Vuelve la seccion, con tarjetas en crema, logo arriba centrado y texto
   centrado. Flechas discretas en naranja. Sin efecto al pasar por encima. */
.orgs-sec{padding:40.0px 0}}.orgs{margin-top:0}.orgs-h{margin:0 0 34.0px;text-align:center;
  font-size:37.44px;line-height:1.08;letter-spacing:-.026em}@media(max-width:1024px){.orgs-h{margin:0 0 22.0px;
  font-size:24.0px}}.org{background:var(--bg-2);border-radius:0;padding:30.0px;
  text-align:center;align-items:center}@media(max-width:1024px){.org{padding:20.0px}}.org-ph{height:104px;margin-bottom:4px}.org-ph img{filter:none;transition:none;transform:none}.org:hover .org-ph img,.org:focus-within .org-ph img{filter:none;transform:none}.org h3{margin:14px 0 0;font-size:19.44px;line-height:1.14;
  text-wrap:balance;max-width:20ch}@media(max-width:1024px){.org h3{font-size:16.0px}}.org p{margin:10px auto 0;max-width:34ch;font-size:var(--t-small);line-height:1.5;
  color:var(--ink-2);font-weight:400}.orgs-nav{flex:none;width:40px;height:40px;display:flex;align-items:center;
  justify-content:center;border:1.5px solid var(--orange);border-radius:0;
  background:none;color:var(--orange);cursor:pointer;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.orgs-nav:hover:not(:disabled){background:var(--orange);color:#111111}.orgs-nav:disabled{opacity:.3;cursor:default}.orgs-nav:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.orgs-track{gap:28.0px;align-items:stretch}@media(max-width:1024px){.orgs-track{gap:16.0px}}.org{flex:0 0 calc((100% - 2 * clamp(16px,28.8px,28px)) / 3)}@media(max-width:1024px){.org{flex:0 0 calc((100% - 2 * clamp(16px,7.5px,28px)) / 3)}}@media(max-width:1024px){.org{flex:0 0 100%}.orgs-wrap{gap:12px}}@media(prefers-reduced-motion:reduce){.orgs-track,.orgs-nav{transition:none}}/* ── about_our_partners_georgetown_restore.json · el reparto con el BID ───
   Tres columnas iguales, radio 20, relleno 40 y los fondos del json. El color
   del texto SI cambia: el blanco que pedia daba 2,77:1 sobre el naranja y
   1,93:1 sobre el tostado. Con el tono oscuro sube a 6,21:1 y 8,93:1; la
   tarjeta de GMS conserva el navy del json, que ya pasaba (6,54:1). */
.bidsec{background:var(--bg);padding:77.76px 0}@media(max-width:1024px){/* ── about_our_partners_georgetown_restore.json · el reparto con el BID ───
   Tres columnas iguales, radio 20, relleno 40 y los fondos del json. El color
   del texto SI cambia: el blanco que pedia daba 2,77:1 sobre el naranja y
   1,93:1 sobre el tostado. Con el tono oscuro sube a 6,21:1 y 8,93:1; la
   tarjeta de GMS conserva el navy del json, que ya pasaba (6,54:1). */
.bidsec{padding:44.0px 0}}.bid-eyebrow{margin:0 0 10px}.bid-h{margin:0;font-size:46.0px;line-height:1.05;letter-spacing:-.028em}@media(max-width:1024px){.bid-h{font-size:28.0px}}.bid-i{margin:14px 0 40.0px;max-width:74ch;font-size:var(--t-lead);
  line-height:1.5;color:var(--ink-2)}@media(max-width:1024px){.bid-i{margin:14px 0 26.0px}}.bid-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28.0px;align-items:stretch}@media(max-width:1024px){.bid-cols{
  gap:16.0px}}.bidc{border-radius:20px;padding:40.0px;margin:0;
  transition:transform .22s var(--ease)}@media(max-width:1024px){.bidc{padding:24.0px}}@media(hover:hover){.bidc:hover{transform:translateY(-3px)}}.bidc h3{margin:0;font-family:var(--disp);font-weight:700;
  font-size:31.68px;line-height:1;letter-spacing:-.02em}@media(max-width:1024px){.bidc h3{
  font-size:22.0px}}.bidc-s{margin:8px 0 0;font-family:var(--disp);font-weight:700;
  font-size:var(--t-tiny);letter-spacing:.14em;text-transform:uppercase;opacity:.82}.bidc ul{margin:24.0px 0 0;padding:0;list-style:none;display:grid;gap:9px}@media(max-width:1024px){.bidc ul{margin:16.0px 0 0}}.bidc li{font-size:var(--t-small);line-height:1.42;padding-left:16px;position:relative}.bidc li::before{content:"";position:absolute;left:0;top:.56em;width:6px;height:6px;
  border-radius:50%;background:currentColor;opacity:.55}.bidc-bid{background:#F47745;color:#1B1B1A}.bidc-both{background:#C8B8A8;color:#1B1B1A}.bidc-gms{background:#A9C4F0;color:#123B5D}@media(prefers-reduced-motion:reduce){.bidc{transition:none !important}}@media(max-width:1024px){.bid-cols{grid-template-columns:minmax(0,1fr)}}/* ── gms_small_business_grant_recipients.json · los becados de 2026 ───────
   Dentro del desplegable de su programa, sobre azul profundo. Nombre y
   direccion apilados, con un filete translucido entre filas. Blanco sobre
   #123557 da 12,1:1. */
.grec{background:#123557;color:#fff;border-radius:0;
  margin:0 0 38.0px;padding:30.0px 34.0px;
  grid-column:1 / -1}@media(max-width:1024px){/* ── gms_small_business_grant_recipients.json · los becados de 2026 ───────
   Dentro del desplegable de su programa, sobre azul profundo. Nombre y
   direccion apilados, con un filete translucido entre filas. Blanco sobre
   #123557 da 12,1:1. */
.grec{
  margin:0 0 24.0px;padding:20.0px 20.0px}}.grec h4{margin:0 0 14px;font-family:var(--disp);font-weight:700;color:#fff;
  font-size:18.0px;letter-spacing:-.008em}@media(max-width:1024px){.grec h4{
  font-size:15.0px}}.grec ul{margin:0;padding:0;list-style:none;display:grid;gap:0}.grec li{display:flex;flex-direction:column;gap:3px;padding:12px 0;
  border-top:1px solid rgba(255,255,255,.18)}.grec li:first-child{border-top:0;padding-top:0}.grec li:last-child{padding-bottom:0}.grec b{font-family:var(--disp);font-weight:600;font-size:var(--t-small);color:#fff}.grec span{font-size:var(--t-tiny);color:#b5c8dc;letter-spacing:.01em}@media(min-width:1025px){.grec{margin-left:calc(5 / 12 * 100% + clamp(12px,28.8px,36px));max-width:52ch}}/* ── get_connected_remove_blur.json · la foto, nitida ─────────────────────
   Fuera el difuminado radial que le habia puesto al titular: en su sitio, un
   velo plano de #0D2942 al 58% sobre toda la foto, que es lo que pide el
   json. La foto no lleva filtro ninguno. */
.gcon{background-image:url("../img/street/shoppers-sun.webp");
  background-size:cover;background-position:center;filter:none}.gcon::before{background:rgba(13,41,66,.58);backdrop-filter:none;filter:none}.gcon h2::before{display:none}.gcon h2{isolation:auto}/* ── grant_story_typography_signature.json · el testimonio ────────────────
   El cuerpo baja de peso y de negro: 500 en gris #5E6165 (5,56:1 sobre el
   crema). La firma va centrada justo debajo. El tono que pedia para la
   organizacion, #7A7D80, se queda en 3,70:1 — por debajo del minimo —, asi
   que sube a #66696C, que da 4,93:1 y a ojo es el mismo gris. */
.quote{display:block;max-width:1200px;margin-inline:auto;
  padding:72.0px 0}@media(max-width:1024px){/* ── grant_story_typography_signature.json · el testimonio ────────────────
   El cuerpo baja de peso y de negro: 500 en gris #5E6165 (5,56:1 sobre el
   crema). La firma va centrada justo debajo. El tono que pedia para la
   organizacion, #7A7D80, se queda en 3,70:1 — por debajo del minimo —, asi
   que sube a #66696C, que da 4,93:1 y a ojo es el mismo gris. */
.quote{
  padding:40.0px 0}}.quote p{grid-column:auto;max-width:900px;margin:0;text-align:left;
  font-family:var(--disp);font-size:34.0px;font-weight:500;
  line-height:1.35;letter-spacing:-.014em;color:#5E6165}@media(max-width:1024px){.quote p{font-size:22.0px}}.quote cite{grid-column:auto;grid-row:auto;display:block;margin:28px auto 0;
  padding-top:0;border-top:0;text-align:center;font-style:normal;
  font-family:var(--disp);font-weight:500;font-size:var(--t-small);color:#5E6165}.quote cite span{display:block;margin-top:3px;color:#66696C;font-weight:500}@media(max-width:1024px){.quote p{font-size:19px;text-align:left}.quote cite{text-align:center}}/* ── resources_referrals_compact_form.json · mas compacto ─────────────────
   Campos mas bajos, dos columnas, menos aire y cajas en azul muy claro en vez
   de blancas. El texto va en gris carbon: 10,4:1 sobre #EEF2F5. */
#resources-and-vendors{background:var(--bg);padding:64.0px 0}@media(max-width:1024px){/* ── resources_referrals_compact_form.json · mas compacto ─────────────────
   Campos mas bajos, dos columnas, menos aire y cajas en azul muy claro en vez
   de blancas. El texto va en gris carbon: 10,4:1 sobre #EEF2F5. */
#resources-and-vendors{padding:32.0px 0}}.rrf{max-width:min(100%,1120px);margin-top:22.0px}@media(max-width:1024px){.rrf{margin-top:14.0px}}.rrf-set{margin-top:24.0px}@media(max-width:1024px){.rrf-set{margin-top:16.0px}}.rrf-ops{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28.0px}@media(max-width:1024px){.rrf-ops{gap:12px 16.0px}}.rrf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
  margin-top:24.0px}@media(max-width:1024px){.rrf-grid{
  margin-top:16.0px}}.rrf-f{gap:8px}.rrf-f label{margin-bottom:0}.rrf-f input{height:56px;padding:0 14px}.rrf-f textarea{min-height:120px;height:120px;padding:12px 14px}.rrf-f input,.rrf-f textarea{background:#EEF2F5;border:1px solid #9AA8B2;
  border-radius:4px;color:#3f3f3d}.rrf-full{margin-top:18px}.rrf-go{margin-top:18px}.rrf-req{font-size:var(--t-tiny);color:var(--orange-ink);text-transform:none}@media(max-width:1024px){.rrf-ops,.rrf-grid{grid-template-columns:minmax(0,1fr)}}/* En movil el recorte de la foto cambia y bajo el titular caen las zonas
   claras: con el 58% del json, el 27% de los pixeles del texto no llegaba ni
   a 3:1. El velo se queda en 58% en escritorio, como pide, y sube en pantalla
   estrecha, que es donde hace falta. */
@media(max-width:1024px){.gcon::before{background:rgba(13,41,66,.74)}.gcon{background-position:86% center}}/* ── get_connected_cards_alignment.json · las dos tarjetas, iguales ───────
   Rejilla de dos columnas con altura completa, relleno 44/48, el titular y la
   descripcion con altura minima para que los enlaces queden a la misma linea,
   y el enlace empujado al fondo. */
.gcon-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:32px}.gcon-c{height:100%;display:flex;flex-direction:column;
  padding:44px 48px;background:var(--bg);text-align:left}.gcon-c h3{min-height:76px;display:flex;align-items:flex-start;text-align:left}.gcon-c p{min-height:180px;text-align:left}.gcon-c a{margin-top:auto;align-self:flex-start;text-align:left}@media(max-width:1024px){.gcon-cards{grid-template-columns:minmax(0,1fr);gap:20px}.gcon-c{padding:22.5px;height:auto}.gcon-c h3{min-height:0}.gcon-c p{min-height:0}}/* ── about_hero_text_photo_alignment.json · texto y foto en la misma fila ──
   La foto arranca a la altura del texto, no desplazada. */
.ab-grid{align-items:start;gap:86.4px}@media(max-width:1024px){/* ── about_hero_text_photo_alignment.json · texto y foto en la misma fila ──
   La foto arranca a la altura del texto, no desplazada. */
.ab-grid{gap:40.0px}}.ab-grid > figure,.ab-fig{margin-top:0;align-self:stretch}.ab-grid figure img,.ab-fig img{height:100%;width:100%;object-fit:cover;
  object-position:center}@media(max-width:1024px){.ab-grid{grid-template-columns:minmax(0,1fr)}.ab-grid > figure,.ab-fig{margin-top:32px;order:1}.ab-copy{order:0}.ab-grid figure img,.ab-fig img{height:auto}}/* ── about_partner_carousel_transparent_restore.json · sin cajas ──────────
   Vuelve el carrusel transparente: ni fondo, ni borde, ni sombra. Los logos
   en gris y a color al posarse encima, como estaban. Descripcion centrada y
   recortada a tres lineas para que las tres columnas queden a la misma
   altura. Flechas de contorno naranja. */
.orgs-sec{background:var(--bg)}.orgs-sub{margin:18px auto 42px;max-width:760px;text-align:center;
  font-size:18px;font-weight:400;line-height:1.5;color:#6B6B6B}.org{background:none;border:0;box-shadow:none;padding:0 28px;text-align:center}.org-ph img{filter:grayscale(1) contrast(2);opacity:1;object-fit:contain;
  transition:filter 180ms ease}@media(hover:hover){.org:hover .org-ph img{filter:grayscale(0);opacity:1;transform:none}}.org p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  overflow:hidden;text-align:center;max-width:34ch}@media(prefers-reduced-motion:reduce){.org-ph img{transition:none}}/* ── event_hero_headline_photo_alignment.json · la foto, a la altura del h1 ─
   La fecha sube a su propia fila, encima de todo, y la foto arranca donde
   arranca el titular, no donde arranca la ceja. */
.ehero-g{grid-template-areas:"ceja ceja" "intro foto" "datos foto"}.ehero-e{grid-area:ceja;margin:0 0 10px}.ehero-i .blade{display:none}@media(max-width:1024px){.ehero-g{grid-template-areas:"ceja" "intro" "foto" "datos"}}/* ── event_calendar_dropdown_overlay.json · el menu flota ─────────────────
   Capa absoluta anclada al boton: al abrirse no mueve nada de la pagina. */
.cal{position:relative}.cal-m{position:absolute;top:calc(100% + 8px);left:0;z-index:20;
  width:min(360px,1440.0px - 32px);min-width:0;margin-top:0;
  background:#17385D;border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 40px rgba(0,0,0,.18)}@media(max-width:1024px){.cal-m{
  width:min(360px,375.0px - 32px)}}.cal-m a{background:#17385D}.cal-m a:hover,.cal-m a:focus-visible{background:#1B4272}/* ── business_hero_wander_typography_match.json · la misma escala ─────────
   Los tres tamaños se definen una vez y valen para los dos heros, para no
   tener una escala propia de Business. */
.phead-centrado .blade,body:has(.bznav) .phead .blade{
  font-size:17.28px;letter-spacing:.22em;font-weight:600;
  text-transform:uppercase}@media(max-width:1024px){/* ── business_hero_wander_typography_match.json · la misma escala ─────────
   Los tres tamaños se definen una vez y valen para los dos heros, para no
   tener una escala propia de Business. */
.phead-centrado .blade,body:has(.bznav) .phead .blade{
  font-size:14.0px}}.phead-centrado h1,body:has(.bznav) .phead h1{
  font-size:93.6px;line-height:.98;letter-spacing:-.045em;
  font-weight:700;max-width:none}@media(max-width:1024px){.phead-centrado h1,body:has(.bznav) .phead h1{
  font-size:48.0px}}.phead-centrado .lead,body:has(.bznav) .phead .lead{
  font-size:30.24px;line-height:1.3;font-weight:400;max-width:920px}@media(max-width:1024px){.phead-centrado .lead,body:has(.bznav) .phead .lead{
  font-size:20.0px}}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:37.5px}body:has(.bznav) .phead .lead{font-size:19px}}/* ── category_card_local_match_style.json · Local, como las demas ─────────
   Tenia fondo propio, icono naranja y un filete naranja a la izquierda. Se
   queda con el mismo juego visual que sus siete hermanas. */
/* .dlocal ya no lleva nada propio: usa el mismo juego que .dcat */

/* ── georgetown_bid_cards_refined_list_style.json · listas con raya ───────
   Fuera los puntos: una raya corta y discreta delante de cada linea. Sin
   ningun efecto al pasar por encima.
   OJO: el json pide texto BLANCO en la tarjeta "Both" (#FFFFFF sobre
   #C8B8A8). Eso da 1,93:1 — el texto se pierde. Se mantiene el tono oscuro,
   que da 8,93:1. Cambiarlo es una linea si se prefiere el blanco. */
.bidc li{padding-left:24px}.bidc li::before{content:"–";position:static;width:auto;height:auto;
  border-radius:0;background:none;opacity:1;
  position:absolute;left:0;top:0;font-size:.8em;line-height:1.78;
  color:rgba(30,30,30,.42)}.bidc li{position:relative}.bidc{transition:none}.bidc:hover{transform:none;box-shadow:none;background-color:inherit}.bidc-bid:hover{background:#F47745}.bidc-both:hover{background:#C8B8A8}.bidc-gms:hover{background:#A9C4F0}/* ── guide_headline_photo_alignment_rule.json · el titular manda ──────────
   En cualquier bloque partido, la foto arranca a la altura del titular y la
   ceja va por encima sin arrastrar la alineacion. */
.st2,.gbban,.ab-grid,.ehero-g{align-items:start}.ehero-e{margin-bottom:18px}.ehero-i h1{margin-bottom:0}.ehero-i .lead{margin-top:24px}.ehero-ph{margin-top:0}/* ── wander_wisconsin_business_directory_search_cta.json · buscador ───────
   Control compacto, con la lupa dentro, igual que el de la barra. */
.dircta{display:inline-flex;align-items:center;gap:14px;min-height:52px;
  padding:0 8px 0 22px;border:1.5px solid #17385d;border-radius:999px;
  color:#17385d;text-decoration:none;font-family:var(--disp);font-weight:700;
  font-size:15.0px;letter-spacing:.1em;text-transform:uppercase;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}@media(max-width:1024px){/* ── wander_wisconsin_business_directory_search_cta.json · buscador ───────
   Control compacto, con la lupa dentro, igual que el de la barra. */
.dircta{
  font-size:13.0px}}.dircta-i{display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;background:#17385d;color:var(--bg);flex:none}@media(hover:hover){.dircta:hover{background:#17385d;color:var(--bg)}.dircta:hover .dircta-i{background:var(--orange);color:#111111}}.dircta:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(prefers-reduced-motion:reduce){.dircta{transition:none}}/* ── guides_hero_lighter_centered_text.json · hero mas luminoso ───────────
   El velo baja al 34%, el contenido se centra en vertical, pegado a la
   izquierda y con medida de 560. */
.gu-over::before{background:rgba(0,0,0,.34)}.gu-over{justify-content:center;align-items:flex-start;
  padding:57.6px 72.0px}@media(max-width:1024px){.gu-over{
  padding:24.0px 20.0px}}.gu-over > *{max-width:560px}.gu-lab,.gu-h,.gu-over p{color:#fff}.gu-h{font-size:72.0px;line-height:.98;letter-spacing:-.035em;
  max-width:560px;display:block}@media(max-width:1024px){.gu-h{font-size:42.0px}}@media(max-width:1024px){.gu-h{display:block;font-size:30.0px}}.gu-cta{margin-top:28px}/* ── guides_editorial_presentation.json · rejilla editorial ───────────────
   Tres columnas, foto 4:3 arriba y debajo ceja, titulo, descripcion y un CTA
   de texto con flecha. Fondo #E9E7E2, sin borde ni radio. */
.og-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.og-card{background:#E9E7E2;border:0;border-radius:0;padding:22px;
  display:flex;flex-direction:column;gap:0}.og-card::after{display:none;content:none}.og-ph{margin:-22px -22px 0;aspect-ratio:4/3;overflow:hidden;display:block}.og-ph img{width:100%;height:100%;object-fit:cover;filter:none;transform:none}.og-bd{display:flex;flex-direction:column;gap:8px;padding-top:20px}.og-bd .og-eb{font-family:var(--disp);font-weight:700;font-size:var(--t-tiny);
  letter-spacing:.15em;text-transform:uppercase;color:#755C4B}.og-bd b{font-family:var(--disp);font-weight:700;font-size:23.04px;
  line-height:1.12;letter-spacing:-.02em;color:#142F4F;text-wrap:balance}@media(max-width:1024px){.og-bd b{font-size:18.0px}}.og-d{-webkit-line-clamp:3;color:#5F5F5F;font-size:var(--t-small);line-height:1.5}.og-soon{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--disp);font-weight:700;font-size:var(--t-tiny);
  letter-spacing:.13em;text-transform:uppercase;color:#142F4F}.og-soon::after{content:"→";color:var(--orange);font-size:14px;letter-spacing:0}@media(max-width:1024px){.og-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.og-grid{grid-template-columns:minmax(0,1fr)}}/* ── business_help_cards_gallery_photos.json · foto en cada tarjeta ───────
   Una foto distinta por tarjeta, con velo navy al 58% y el titulo en blanco
   abajo a la izquierda. Contraste del titulo sobre el velo: se mide abajo. */
.bzn{position:relative;isolation:isolate;overflow:hidden;
  min-height:260px;border-radius:18px;background-color:#0D2942;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  justify-content:flex-end;align-items:flex-start;color:#fff;
  padding:28.0px}@media(max-width:1024px){/* ── business_help_cards_gallery_photos.json · foto en cada tarjeta ───────
   Una foto distinta por tarjeta, con velo navy al 58% y el titulo en blanco
   abajo a la izquierda. Contraste del titulo sobre el velo: se mide abajo. */
.bzn{
  padding:20.0px}}.bzn::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(13,41,66,.58)}.bzn-t{color:#fff;text-align:left;max-width:16ch}@media(hover:hover){.bzn:hover{background-color:#0D2942}.bzn:hover::before{background:rgba(13,41,66,.68)}}.bzn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}/* ── wander_wisconsin_explore_corridor_promo_banner.json · banner ─────────
   Navy con una foto del corredor de textura al 10%, texto a la izquierda y
   foto a la derecha. Sin efecto al pasar por encima. Blanco sobre #17385D da
   11,9:1 y el naranja de la flecha, 3,9:1 — por encima del 3:1 que pide un
   elemento grafico. */
.excor{position:relative;isolation:isolate;overflow:hidden;
  max-width:1200px;margin-inline:auto;min-height:300px;border-radius:0;
  background:#17385D;color:#fff;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);
  align-items:center;gap:56.0px}@media(max-width:1024px){/* ── wander_wisconsin_explore_corridor_promo_banner.json · banner ─────────
   Navy con una foto del corredor de textura al 10%, texto a la izquierda y
   foto a la derecha. Sin efecto al pasar por encima. Blanco sobre #17385D da
   11,9:1 y el naranja de la flecha, 3,9:1 — por encima del 3:1 que pide un
   elemento grafico. */
.excor{gap:24.0px}}.excor::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("../img/street/dusk-trails@640.webp");
  background-size:cover;background-position:center;opacity:.1}.excor-c{padding:72.0px;padding-right:0}@media(max-width:1024px){.excor-c{padding:32.0px}}.excor-c .blade{margin:0 0 12px;color:#b5c8dc}.excor-c h2{margin:0;color:#fff;font-size:46.0px;line-height:1.04;
  letter-spacing:-.03em;max-width:14ch}@media(max-width:1024px){.excor-c h2{font-size:28.0px}}.excor-d{margin:14px 0 0;max-width:46ch;font-size:var(--t-lead);line-height:1.5;
  color:#cfdae6}.excor-cta{display:inline-flex;align-items:center;gap:10px;
  margin-top:30.0px;min-height:46px;padding:0 22px;
  border:1.5px solid #fff;color:#fff;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase}@media(max-width:1024px){.excor-cta{
  margin-top:20.0px}}.excor-cta i{font-style:normal;color:#FF542F}.excor-ph{margin:0;align-self:stretch;overflow:hidden;aspect-ratio:5/4}.excor-ph img{display:block;width:100%;height:100%;object-fit:cover;
  object-position:center;transform:none;transition:none}.excor-ph img:hover{transform:none;filter:none;opacity:1}@media(hover:hover){.excor-cta:hover{background:#fff;color:#17385D}.excor-cta:hover i{color:#FF542F}}@media(max-width:1024px){.excor{grid-template-columns:minmax(0,1fr);gap:0}.excor-c{padding:26.25px}.excor-ph{order:1;aspect-ratio:16/9;max-height:260px}}/* ── menu_active_underline_compact.json · la linea, mas corta y pegada ────
   Deja de ser un border-bottom que ocupa todo el ancho del enlace y pasa a un
   trazo propio: como maximo 92px, 3 de alto y a 8 del texto. */
.nav-thick .glink,.nav-thick .gbtn{border-bottom-color:transparent !important;
  position:relative;padding-bottom:8px}.nav-thick .glink::after,.nav-thick .gbtn::after{content:"";display:block;
  position:absolute;left:50%;right:auto;bottom:0;
  margin-left:-46px;margin-right:0;
  width:92px;height:3px;border-radius:0;transform:none;rotate:0deg;
  background:transparent;pointer-events:none}.nav-thick .glink[aria-current="true"]::after,
.nav-thick .gbtn[aria-current="true"]::after,
.nav-thick .glink:hover::after,
.nav-thick .grp.on .gbtn::after{background:var(--orange)}.nav-thick .gbtn::after{max-width:92px}/* ── gms_programs_row_typography_smaller.json · escala de las filas ───────
   Los tres valores tal cual los manda el json. El gris de la descripcion da
   6,45:1 sobre el crema. */
.prog-h h3{font-size:43.2px;line-height:1.05;font-weight:650}@media(max-width:1024px){/* ── gms_programs_row_typography_smaller.json · escala de las filas ───────
   Los tres valores tal cual los manda el json. El gris de la descripcion da
   6,45:1 sobre el crema. */
.prog-h h3{font-size:28.0px}}.prog-d{font-size:25.92px;line-height:1.35;color:#575757}@media(max-width:1024px){.prog-d{font-size:18.0px}}.prog-h .status{font-size:14px;letter-spacing:.18em}/* ── event_calendar_dropdown_side_position.json · el menu, al costado ─────
   De 901 para arriba se abre a la derecha del boton y centrado con el, para
   no taparle la seccion de abajo. Por debajo vuelve a caer bajo el boton, con
   tope de alto y scroll propio. Sigue fuera del flujo: no mueve nada. */
@media(min-width:1025px){.cal-m{top:50%;left:calc(100% + 16px);bottom:auto;
    transform:translateY(-50%);width:320px;max-width:320px;max-height:none;z-index:30}}@media(max-width:1024px){.cal-m{top:calc(100% + 8px);left:0;transform:none;
    width:min(360px,375.0px - 32px);max-height:220px;overflow-y:auto;z-index:30}}/* ── art_all_night_sponsors_discreet_strip.json · franja discreta ─────────
   Los logos bajan a 48px de alto, en gris y al 72%, centrados en su fila. La
   etiqueta de categoria queda en una columna estrecha a la izquierda. La
   franja pesa mucho menos y no compite con el programa del evento. */
.spons{padding:48.0px 57.6px}@media(max-width:1024px){/* ── art_all_night_sponsors_discreet_strip.json · franja discreta ─────────
   Los logos bajan a 48px de alto, en gris y al 72%, centrados en su fila. La
   etiqueta de categoria queda en una columna estrecha a la izquierda. La
   franja pesa mucho menos y no compite con el programa del evento. */
.spons{padding:28.0px 20.0px}}.spr{grid-template-columns:minmax(120px,18%) 1fr;
  padding:28px 0;align-items:center;gap:28.8px}@media(max-width:1024px){.spr{gap:14.0px}}.spr-t{font-size:14.0px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;line-height:1.25}@media(max-width:1024px){.spr-t{font-size:12.0px}}.spr-l{justify-content:center;gap:32px}.spr-l img{max-height:48px;max-width:150px;object-fit:contain;
  opacity:.72;filter:grayscale(100%);mix-blend-mode:normal;transition:none;
  background:none}.spr-l li{background:none;border:0;box-shadow:none;padding:0}.spr-l img:hover{opacity:.72;filter:grayscale(100%);transform:none}.spr-i{font-size:16px;line-height:1.35;color:#666666;max-width:760px;
  margin:12px auto 0;text-align:center}.spthx p{font-size:16px;line-height:1.35;color:#666666;max-width:760px}@media(max-width:1024px){.spr{grid-template-columns:minmax(0,1fr);gap:10px}.spr-t{text-align:center}.spr-l{gap:24px}}/* ── art_all_night_volunteer_slim_banner.json · franja minima ─────────────
   Deja de ser un bloque alto: fila de 150px con el texto a la izquierda y el
   boton a la derecha, sin envolver. En movil se apila en 190. */
.ehero ~ section:has(.cta2),section:has(.cta2){padding:0}.cta2{display:flex;align-items:center;justify-content:space-between;
  gap:32px;min-height:150px;padding:28px 72.0px}@media(max-width:1024px){.cta2{padding:28px 24.0px}}.cta2 > div{flex:1;min-width:0}.cta2 .blade{margin:0 0 6px;font-size:12px}.cta2 h2{margin:0;font-size:43.2px;line-height:1.06;
  letter-spacing:-.028em;max-width:none}@media(max-width:1024px){.cta2 h2{font-size:28.0px}}.cta2 .lead{margin:8px 0 0;font-size:16px;line-height:1.4;max-width:560px}.cta2 .btn{flex:none;white-space:nowrap;min-height:44px;padding:0 22px;
  display:inline-flex;align-items:center}@media(max-width:1024px){.cta2{flex-direction:column;align-items:flex-start;gap:18px;
    min-height:190px;padding:24px 22.5px}.cta2 .btn{align-self:flex-start}}/* ── about_section_spacing_separator.json · aire antes de About Us ────────
   El salto del mapa (navy) al contenido de About (crema) se marcaba solo con
   el cambio de fondo y quedaba pegado. Se le da aire por arriba y por abajo,
   sin filete: la separacion la sigue haciendo el color. */
body:has(.abhero) .msmap + section{margin-top:144.0px}@media(max-width:1024px){/* ── about_section_spacing_separator.json · aire antes de About Us ────────
   El salto del mapa (navy) al contenido de About (crema) se marcaba solo con
   el cambio de fondo y quedaba pegado. Se le da aire por arriba y por abajo,
   sin filete: la separacion la sigue haciendo el color. */
body:has(.abhero) .msmap + section{margin-top:72.0px}}body:has(.abhero) .msmap + section{margin-bottom:96.0px}@media(max-width:1024px){body:has(.abhero) .msmap + section{margin-bottom:48.0px}}body:has(.abhero) .msmap + section::before,
body:has(.abhero) .msmap + section::after{display:none;content:none}@media(max-width:1024px){body:has(.abhero) .msmap + section{margin-top:64px;margin-bottom:48px}}/* ── bid_both_gms_cards_text_alignment.json · misma reticula en las tres ──
   Mismo relleno, mismo borde izquierdo de contenido y misma altura de
   arranque para titulo, subtitulo y lista. Cada linea es una rejilla de dos
   columnas: 20px para la raya y el resto para el texto, asi que la columna de
   texto empieza exactamente en el mismo sitio en las tres tarjetas. */
.bidc{padding:43.2px;display:flex;flex-direction:column}@media(max-width:1024px){/* ── bid_both_gms_cards_text_alignment.json · misma reticula en las tres ──
   Mismo relleno, mismo borde izquierdo de contenido y misma altura de
   arranque para titulo, subtitulo y lista. Cada linea es una rejilla de dos
   columnas: 20px para la raya y el resto para el texto, asi que la columna de
   texto empieza exactamente en el mismo sitio en las tres tarjetas. */
.bidc{padding:28.0px}}.bidc h3{line-height:1.05}.bidc-s{line-height:1.25;min-height:2.5em;display:block}.bidc ul{margin-top:26.0px}@media(max-width:1024px){.bidc ul{margin-top:18.0px}}.bidc li{display:grid;grid-template-columns:20px 1fr;align-items:start;
  padding-left:0;line-height:1.35}.bidc li::before{content:"–";position:static;grid-column:1;
  font-size:.8em;line-height:1.35;color:rgba(30,30,30,.42);
  width:auto;height:auto;background:none;border-radius:0;opacity:1;
  align-self:start}@media(max-width:1024px){.bidc{padding:24.0px}}/* ── about_partner_names_two_lines.json · los cuatro nombres, en dos ──────
   Caja de dos lineas exactas y centrada, para que los logos y las
   descripciones de las cuatro fichas queden a la misma altura. */
.org h3{min-height:2.4em;line-height:1.15;display:flex;align-items:center;
  justify-content:center;text-align:center;max-width:none;margin-top:14px}/* ── about_partner_subtitle_spacing_refine.json · subtitulo mas cerca ─────
   El titular deja 12 debajo y el subtitulo pega arriba; entre el subtitulo y
   el carrusel, 36. */
.orgs-h{margin-bottom:12px}.orgs-sub{margin-top:0;margin-bottom:36px;
  font-size:24.0px;line-height:1.3;max-width:760px;color:#6B6B6B}@media(max-width:1024px){.orgs-sub{
  font-size:16.0px}}.orgs-wrap{margin-top:0}/* ── explore_corridor_searchbar_cta.json · la CTA, como buscador ──────────
   Barra de 64px con el texto a la izquierda y la lupa a la derecha, separada
   por un filete. Sin efecto al pasar por encima. */
.excor-cta{display:flex;align-items:center;justify-content:space-between;gap:0;
  width:100%;max-width:680px;height:64px;min-height:64px;padding:0 0 0 22px;
  background:rgba(255,255,255,.08);border:2px solid #fff;border-radius:0;
  color:#fff;text-transform:none;letter-spacing:0;
  font-family:var(--disp);font-weight:600;font-size:18.0px}@media(max-width:1024px){/* ── explore_corridor_searchbar_cta.json · la CTA, como buscador ──────────
   Barra de 64px con el texto a la izquierda y la lupa a la derecha, separada
   por un filete. Sin efecto al pasar por encima. */
.excor-cta{font-size:15.0px}}.excor-cta-t{flex:1;min-width:0;text-align:left}.excor-cta-i{display:flex;align-items:center;justify-content:center;flex:none;
  width:62px;height:100%;color:#fff;
  border-left:1px solid rgba(255,255,255,.55)}.excor-cta i{display:none}@media(hover:hover){.excor-cta:hover{background:rgba(255,255,255,.08);color:#fff;border-color:#fff}.excor-cta:hover .excor-cta-i{color:#fff}}.excor-cta:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:1024px){.excor-cta{font-size:14px;padding-left:16px}.excor-cta-i{width:52px}}/* ── guides_cards_readable_text_layout.json · texto fuera de la foto ──────
   La foto ocupa la parte de arriba a sangre y el texto vive en su propio
   panel debajo, con fondo, relleno y alto minimo propios. Sin velo sobre la
   imagen y sin sombra en el texto.
   OJO: el json vuelve a pedir #8A6F5A para la ceja y el CTA. Sobre #E9E7E2
   da 3,77:1 y son 12px: no llega al minimo. Se deja el mismo marron un punto
   mas oscuro (#755C4B, 5,01:1). El titulo y la descripcion van tal cual. */
.og-card{padding:0;background:transparent;overflow:hidden}.og-ph{margin:0;aspect-ratio:4/3;display:block}.og-ph::after{display:none;content:none}.og-ph img{filter:none;transform:none}.og-bd{position:static;inset:auto;z-index:auto;
  background:#E9E7E2;padding:20px 22px 24px;min-height:150px;
  display:flex;flex-direction:column;gap:8px;text-shadow:none;
  align-items:flex-start;text-align:left;color:inherit}.og-card::after{display:none !important;content:none !important}.og-card:hover .og-ph img{transform:none;filter:none}.og-bd .og-eb{color:#755C4B}.og-bd b{color:#17385D;text-shadow:none}.og-d{color:#5F5F5F;text-shadow:none}.og-soon{color:#755C4B}.og-soon::after{color:#755C4B}/* La barra, sin filete ni sombra en ningun estado (se reafirma aqui por si
   alguna regla posterior los reintroduce). */
.nav,.nav-thick,.nav-thick .in,.mnav{
  border-bottom:none !important;box-shadow:none !important}/* ── business_hero_reduce_to_wander_scale.json · la cabecera, mas pequeña ─
   Los valores se aplican SOLO a Business. Wander conserva los suyos: su
   titular son 16 caracteres y el de Business 43, asi que al mismo cuerpo el
   segundo ocupa mucho mas y por eso se veia mayor. Bajarle la escala es lo
   que lo iguala de verdad. */
body:has(.bznav) .phead{padding:96.0px 0}@media(max-width:1024px){/* ── business_hero_reduce_to_wander_scale.json · la cabecera, mas pequeña ─
   Los valores se aplican SOLO a Business. Wander conserva los suyos: su
   titular son 16 caracteres y el de Business 43, asi que al mismo cuerpo el
   segundo ocupa mucho mas y por eso se veia mayor. Bajarle la escala es lo
   que lo iguala de verdad. */
body:has(.bznav) .phead{padding:56.0px 0}}body:has(.bznav) .phead .in{row-gap:0}body:has(.bznav) .phead .blade{font-size:14.4px;margin-bottom:16px}@media(max-width:1024px){body:has(.bznav) .phead .blade{font-size:12.0px}}body:has(.bznav) .phead h1{font-size:72.0px;line-height:1;
  margin-bottom:24px;max-width:900px}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:40.0px}}body:has(.bznav) .phead .lead{font-size:24.48px;line-height:1.3;
  margin-top:0;margin-bottom:0;max-width:720px}@media(max-width:1024px){body:has(.bznav) .phead .lead{font-size:18.0px}}@media(max-width:1024px){body:has(.bznav) .phead h1{font-size:37.5px}body:has(.bznav) .phead .lead{font-size:18px}}/* El velo plano pasa a degradado navy: mas claro arriba, mas denso abajo, que
   es donde vive el titulo. El contraste del titulo se mide sobre el resultado. */
.bzn::before{background:linear-gradient(180deg,
  rgba(13,41,66,.30) 0%, rgba(13,41,66,.52) 46%, rgba(13,41,66,.80) 100%)}@media(hover:hover){.bzn:hover::before{background:linear-gradient(180deg,
    rgba(13,41,66,.30) 0%, rgba(13,41,66,.52) 46%, rgba(13,41,66,.80) 100%)}}/* ── grant_testimonial_compact_centered.json · testimonio centrado ────────
   Todo centrado, medida de 920 y menos aire. El gris #666666 da 5,13:1 sobre
   el crema, asi que la cita y la firma van en el mismo tono. */
.quote{max-width:920px;margin-inline:auto;padding:96.0px 0;
  text-align:center}@media(max-width:1024px){/* ── grant_testimonial_compact_centered.json · testimonio centrado ────────
   Todo centrado, medida de 920 y menos aire. El gris #666666 da 5,13:1 sobre
   el crema, asi que la cita y la firma van en el mismo tono. */
.quote{padding:56.0px 0}}.quote p{max-width:920px;margin:0 auto 24px;text-align:center;color:#666666;
  font-size:34.0px;line-height:1.35}@media(max-width:1024px){.quote p{
  font-size:22.0px}}.quote cite{margin:0 auto;font-size:16px;line-height:1.4;color:#666666;
  text-align:center;display:block}.quote cite span{display:block;margin-top:2px;color:#666666}/* ── gms_grant_recipients_separate_modal.json · los becados, en un dialogo ─
   La fila deja un enlace discreto y la lista vive en un <dialog> navy. Blanco
   sobre #17385D da 11,9:1 y la direccion en #b5c8dc, 6,4:1. */
.grec-link{display:inline-flex;align-items:center;gap:8px;
  margin:0 0 38.0px;color:#17385d;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  border-bottom:2px solid var(--orange);padding-bottom:2px}@media(max-width:1024px){/* ── gms_grant_recipients_separate_modal.json · los becados, en un dialogo ─
   La fila deja un enlace discreto y la lista vive en un <dialog> navy. Blanco
   sobre #17385D da 11,9:1 y la direccion en #b5c8dc, 6,4:1. */
.grec-link{
  margin:0 0 24.0px}}.grec-link i{font-style:normal;color:var(--orange)}.grec-link:hover{color:#17385d}@media(min-width:1025px){.grec-link{margin-left:calc(5 / 12 * 100% + clamp(12px,28.8px,36px))}}.grec-dlg{border:0;padding:0;background:none;max-width:720px;width:calc(100% - 32px);
  max-height:80vh;overflow:visible;color:#fff}.grec-dlg::backdrop{background:rgba(9,26,45,.62)}.grec-in{background:#17385D;padding:40.0px;max-height:80vh;
  overflow-y:auto;border-radius:0}@media(max-width:1024px){.grec-in{padding:24.0px}}.grec-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin-bottom:24.0px}@media(max-width:1024px){.grec-top{
  margin-bottom:16.0px}}.grec-dlg h2{margin:0;color:#fff;font-family:var(--disp);font-weight:700;
  font-size:30.0px;line-height:1.1;letter-spacing:-.02em;max-width:22ch}@media(max-width:1024px){.grec-dlg h2{
  font-size:20.0px}}.grec-x{flex:none;width:40px;height:40px;display:flex;align-items:center;
  justify-content:center;border:1px solid rgba(255,255,255,.35);background:none;
  color:#fff;font-size:24px;line-height:1;cursor:pointer;border-radius:0}.grec-x:hover{background:rgba(255,255,255,.12)}.grec-x:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.grec-dlg ul{margin:0;padding:0;list-style:none}.grec-dlg li{display:flex;flex-direction:column;gap:3px;padding:13px 0;
  border-top:1px solid rgba(255,255,255,.18)}.grec-dlg li:first-child{border-top:0;padding-top:0}.grec-dlg li:last-child{padding-bottom:0}.grec-dlg b{font-family:var(--disp);font-weight:600;font-size:var(--t-small);color:#fff}.grec-dlg span{font-size:var(--t-tiny);color:#b5c8dc}/* ── gms_programs_compact_typography_scale.json · toda la escala, menor ───
   Filas de 150 minimo con 32 arriba y abajo, columnas separadas 48, y los
   cuatro tamaños que manda el json. El gris de la descripcion no cambia:
   sigue en #575757, 6,45:1. */
details.prog > summary{min-height:150px;padding:32px 0;
  column-gap:48px;align-items:center}.prog-h h3{font-size:37.44px;line-height:1.02;font-weight:650}@media(max-width:1024px){.prog-h h3{font-size:24.0px}}.prog-h .status{font-size:12px;letter-spacing:.16em}.prog-d{font-size:21.6px;line-height:1.3;max-width:520px}@media(max-width:1024px){.prog-d{font-size:16.0px}}.prog-mas{width:20px;height:20px;margin-top:.28em}@media(max-width:1024px){details.prog > summary{min-height:0;padding:26px 0;column-gap:0}}/* ── resources_referrals_circular_controls.json · casillas redondas ───────
   La casilla nativa se oculta pero sigue ahi: el multiple, el teclado y la
   validacion no cambian. El circulo lo dibuja el <span> del texto, y el foco
   se ve igual porque el aro sigue al input real. */
.rrf-op{position:relative;gap:12px}.rrf-op input{position:absolute;opacity:0;width:22px;height:22px;margin:0;
  top:1px;left:0;cursor:pointer}.rrf-op span{position:relative;padding-left:34px;display:inline-block;
  min-height:22px;line-height:1.4}.rrf-op span::before{content:"";position:absolute;left:0;top:0;
  width:22px;height:22px;border-radius:50%;
  border:2px solid #8A8A8A;background:transparent;box-sizing:border-box;
  transition:background var(--t-ui) var(--ease),border-color var(--t-ui) var(--ease)}.rrf-op span::after{content:"";position:absolute;left:7px;top:5.5px;
  width:6px;height:10px;border:solid #FFFFFF;border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);transform-origin:center;
  transition:transform .16s var(--ease)}.rrf-op input:checked + span::before{background:#FF542F;border-color:#FF542F}.rrf-op input:checked + span::after{transform:rotate(45deg) scale(1)}.rrf-op input:focus-visible + span::before{outline:2px solid var(--orange);
  outline-offset:2px}@media(prefers-reduced-motion:reduce){.rrf-op span::before,.rrf-op span::after{transition:none}}/* ── guides_photo_header_general_headline.json · la foto es el header ─────
   El titular va encima de la foto, centrado, con un velo plano al 34%. Se va
   el bloque blanco de intro que habia antes. */
.gu-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;
  align-items:center;justify-content:center;
  min-height:480.0px;
  padding:80.0px 72.0px}@media(max-width:1024px){/* ── guides_photo_header_general_headline.json · la foto es el header ─────
   El titular va encima de la foto, centrado, con un velo plano al 34%. Se va
   el bloque blanco de intro que habia antes. */
.gu-hero{
  min-height:320.0px;
  padding:40.0px 20.0px}}.gu-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center;z-index:-2}.gu-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(0,0,0,.34)}.gu-hero-in{position:relative;z-index:1;text-align:center;max-width:820px;
  margin-inline:auto;color:#fff}.gu-hero .blade{margin:0 0 12px;color:#fff;opacity:.92}.gu-hero h1{margin:0;color:#fff;font-size:64.0px;line-height:1.02;
  letter-spacing:-.03em;text-wrap:balance;max-width:18ch;margin-inline:auto}@media(max-width:1024px){.gu-hero h1{font-size:34.0px}}.gu-hero .lead{margin:16px auto 0;color:#fff;max-width:60ch;
  font-size:18.72px;line-height:1.5}@media(max-width:1024px){.gu-hero .lead{
  font-size:16.0px}}.gu-guias{padding-top:63.36px}@media(max-width:1024px){.gu-guias{padding-top:34.0px}}/* ── partner_section_compact_one_line_subtitle.json · mas apretado ────────
   Menos aire arriba y el subtitulo en una sola linea en escritorio. Por
   debajo de 820 vuelve a partirse, con medida de 340. */
.orgs-sec{padding-top:80.0px}@media(max-width:1024px){/* ── partner_section_compact_one_line_subtitle.json · mas apretado ────────
   Menos aire arriba y el subtitulo en una sola linea en escritorio. Por
   debajo de 820 vuelve a partirse, con medida de 340. */
.orgs-sec{padding-top:48.0px}}.orgs-h{font-size:46.08px;line-height:1.05;margin-bottom:10px}@media(max-width:1024px){.orgs-h{font-size:28.0px}}.orgs-sub{margin:0 auto 28px;font-size:20.0px;line-height:1.25;
  max-width:none;white-space:nowrap;text-align:center}@media(max-width:1024px){.orgs-sub{font-size:15.0px}}@media(max-width:1024px){.orgs-sub{white-space:normal;max-width:340px}}/* ── georgetown_bucks_newcard_design.json · tarjeta promocional ───────────
   Dos columnas sobre crema con esquina de 24: texto a la izquierda en negro y
   gris carbon, la tarjeta a la derecha entera (contain) y CTA de contorno. */
#bucks-promo .wrap{max-width:1200px}.gbban{background:var(--bg);border-radius:24px;overflow:hidden;
  gap:86.4px;align-items:center;
  padding:48.96px}@media(max-width:1024px){.gbban{
  gap:32.0px;
  padding:28.0px}}.gbban-c .blade{color:#4E4E4C}.gbban-c h2{color:#111111}.gbban-d,.gbban-s{color:#3f3f3d}.gbban-cta{background:none;border:1.5px solid #111111;color:#111111}.gbban-cta:hover{background:#111111;color:var(--bg);border-color:#111111}.gbban-ph{border-radius:24px;overflow:hidden}.gbban-ph img{border-radius:24px;object-fit:contain;aspect-ratio:auto;
  height:auto;width:100%}@media(max-width:1024px){.gbban{padding:22.5px}.gbban-c{order:0}.gbban-ph{order:1}}/* ── event_calendar_dropdown_compact_spacing.json · sin aire de sobra ─────
   Vuelve a abrirse debajo del boton, a 8px, con 420 de ancho tope y sin alto
   maximo. Sigue fuera del flujo: la pagina no se mueve. La seccion siguiente
   respira con su propio hueco. */
@media(min-width:1025px){.cal-m{top:calc(100% + 8px);left:0;bottom:auto;transform:none;
    width:420.0px;max-width:420px;max-height:none;
    overflow:visible;z-index:20;margin:0}@media(max-width:1024px){.cal-m{
    width:343.0px}}}@media(max-width:1024px){.cal-m{position:absolute;top:calc(100% + 8px);left:0;transform:none;
    width:343.0px;max-width:343.0px;
    min-width:0;max-height:none;overflow:visible;z-index:20;margin:0}}.cal{margin-bottom:0}.ehero-d{padding-bottom:40.0px}@media(max-width:1024px){.ehero-d{padding-bottom:24.0px}}/* ── showcase_sites_soft_rounded_cards.json · fichas menos picudas ────────
   Se queda el azul y las dos columnas; cambian la esquina, el borde y el
   aire. El relleno del json vale para las filas planas y para el resumen. */
.ssg-grid{gap:28.0px;row-gap:28.0px}@media(max-width:1024px){/* ── showcase_sites_soft_rounded_cards.json · fichas menos picudas ────────
   Se queda el azul y las dos columnas; cambian la esquina, el borde y el
   aire. El relleno del json vale para las filas planas y para el resumen. */
.ssg-grid{gap:16.0px;row-gap:16.0px}}.ssg-grid .sit,.ssg-grid .sit-plana{border-radius:18px;overflow:hidden;
  border:1px solid rgba(150,190,230,.28);box-shadow:none}.ssg-grid .sit > summary,.ssg-grid .sit-plana{
  padding:31.68px}@media(max-width:1024px){.ssg-grid .sit > summary,.ssg-grid .sit-plana{
  padding:20.0px}}.ssg-grid .sit-bd{padding:0 31.68px 26.0px;
  border-top-color:rgba(150,190,230,.28)}@media(max-width:1024px){.ssg-grid .sit-bd{padding:0 20.0px 18.0px}}/* ── explore_corridor_cta_alignment.json · el control, centrado ───────────
   Alto minimo de 48, contenido centrado y sin margenes: queda a la misma
   altura que el resto de la barra. */
.nav-thick .btn-corridor{display:inline-flex;align-items:center;
  justify-content:center;gap:14px;min-height:48px;height:auto;
  padding:10px 18px;margin:0;text-align:center;align-self:center}.nav-thick .btn-corridor svg{flex:none}.nav-thick .navsearch,.nav-thick .btn-nav{align-self:center;min-height:48px;
  display:inline-flex;align-items:center;justify-content:center;margin:0}/* ── citizens_association_logo_transparent_png.json · sin caja blanca ─────
   El contenedor del logo no pinta nada: ni fondo, ni borde, ni sombra, ni
   relleno. El PNG lleva su alfa, asi que se ve el crema del carrusel. */
.org-ph{background:none;border:0;box-shadow:none;padding:0}.org-ph img{background:none;object-fit:contain}/* ── volunteer_banner_content_alignment.json · texto y CTA centrados ──────
   Rejilla de dos columnas con todo centrado en vertical: el bloque de texto y
   el boton quedan a la misma altura. En movil se apila, con el texto y el
   boton pegados a la izquierda. */
.cta2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  column-gap:86.4px;justify-content:normal}@media(max-width:1024px){/* ── volunteer_banner_content_alignment.json · texto y CTA centrados ──────
   Rejilla de dos columnas con todo centrado en vertical: el bloque de texto y
   el boton quedan a la misma altura. En movil se apila, con el texto y el
   boton pegados a la izquierda. */
.cta2{
  column-gap:28.0px}}.cta2 > div{align-self:center;text-align:left;display:flex;flex-direction:column;
  gap:8px}.cta2 .blade,.cta2 h2,.cta2 .lead{margin:0}.cta2 .btn{align-self:center;justify-self:center;margin:0}@media(max-width:1024px){.cta2{grid-template-columns:minmax(0,1fr);row-gap:18px}.cta2 > div{text-align:left}.cta2 .btn{justify-self:start;align-self:start}}/* ── art_walk_map_business_directory_style.json · mapa del Art Walk ───────
   El lenguaje del Business Directory, punto por punto: base vectorial clara
   (fondo #E8E7E3, calles blancas finas, agua #D8E6E8, parques #E2E8D8, el
   corredor marcado en #F4B59D), marcadores redondos por categoria con borde
   blanco, leyenda encima, mando de zoom y ficha compacta al pulsar. Sin
   satelite, sin efecto al pasar el raton y sin margenes vacios. */
.awsec{background:var(--bg);padding:77.76px var(--trim)}@media(max-width:1024px){/* ── art_walk_map_business_directory_style.json · mapa del Art Walk ───────
   El lenguaje del Business Directory, punto por punto: base vectorial clara
   (fondo #E8E7E3, calles blancas finas, agua #D8E6E8, parques #E2E8D8, el
   corredor marcado en #F4B59D), marcadores redondos por categoria con borde
   blanco, leyenda encima, mando de zoom y ficha compacta al pulsar. Sin
   satelite, sin efecto al pasar el raton y sin margenes vacios. */
.awsec{padding:40.0px var(--trim)}}.aw-in{max-width:1200px;margin-inline:auto}.aw-head{text-align:center;margin-bottom:28.0px}@media(max-width:1024px){.aw-head{margin-bottom:18.0px}}.aw-head .blade{margin:0 0 10px}.aw-head h2{margin:0;font-size:43.2px;line-height:1.05;letter-spacing:-.028em}@media(max-width:1024px){.aw-head h2{font-size:26.0px}}.aw-lead{margin:12px auto 0;max-width:52ch;font-size:var(--t-small);
  line-height:1.5;color:var(--ink-2)}/* leyenda: horizontal, encima del mapa, en gris pequeño */
.aw-leg{display:flex;flex-wrap:wrap;justify-content:center;
  gap:8px 25.92px;margin:0 0 18.0px;padding:0;
  list-style:none}@media(max-width:1024px){/* leyenda: horizontal, encima del mapa, en gris pequeño */
.aw-leg{
  gap:8px 14.0px;margin:0 0 12.0px}}.aw-leg li{display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:var(--t-tiny);letter-spacing:.02em;
  color:var(--muted);white-space:nowrap}.aw-leg i{width:10px;height:10px;border-radius:50%;background:var(--c);
  box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.10)}.aw-leg b{font-weight:400;color:#9A9A96;font-variant-numeric:tabular-nums}/* el mapa */
.aw-map{position:relative;margin-inline:auto;overflow:hidden;
  height:760.0px;border:1px solid #D4D3CF;
  background:#E8E7E3;touch-action:none;--z:1}@media(max-width:1024px){/* el mapa */
.aw-map{
  height:520.0px}}.aw-canvas{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.aw-pins{position:absolute;inset:0;pointer-events:none;z-index:2}.aw-pin{pointer-events:auto}.aw-svg{display:block;width:100%;height:100%}.awm-bg{fill:#E8E7E3}.awm-w{fill:#D8E6E8}.awm-p{fill:#E2E8D8}.awm-s{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round}.awm-kc{stroke-width:2.2}.awm-kp{stroke-width:3}.awm-kb{stroke-width:3.6}.awm-ka{stroke-width:5}.awm-wis{fill:none;stroke:#F4B59D;stroke-width:4.2;stroke-linecap:round;
  stroke-linejoin:round}.awm-l{fill:#9C9B96;font-family:var(--mono);font-size:7px;letter-spacing:.06em;
  text-anchor:middle;dominant-baseline:middle}.aw-pin{position:absolute;transform:translate(-50%,-50%);
  width:20px;height:20px;padding:0;border:2px solid #fff;border-radius:50%;
  background:var(--c);color:#fff;cursor:pointer;
  font-family:var(--mono);font-size:9.5px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 3px rgba(20,18,16,.34);
  transition:box-shadow var(--t-tap) var(--ease)}.aw-pin.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c),0 2px 8px rgba(20,18,16,.34);
  z-index:3}.aw-pin:focus-visible{outline:2px solid var(--ink);outline-offset:3px}/* mando de zoom */
.aw-zoom{position:absolute;top:12px;right:12px;z-index:4;display:flex;
  flex-direction:column;gap:1px;background:#D4D3CF;border:1px solid #D4D3CF}.aw-zoom button{width:34px;height:34px;border:0;background:#fff;color:#3A3A38;
  font-family:var(--mono);font-size:16px;line-height:1;cursor:pointer;padding:0}.aw-zoom [data-z="reset"]{font-size:9px;letter-spacing:.06em;height:28px}.aw-zoom button:hover{background:#F3F2EE}.aw-zoom button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.aw-map.aw-drag{cursor:grabbing}.aw-map.aw-zoomed{cursor:grab}/* ficha compacta */
.aw-card{position:absolute;left:14px;bottom:14px;z-index:5;
  width:min(320px,calc(100% - 28px));background:#fff;color:var(--ink);
  padding:15px 40px 15px 17px;box-shadow:0 10px 30px rgba(20,18,16,.18);
  display:flex;flex-direction:column;gap:6px;border:1px solid #D4D3CF}.aw-card .aw-n{font-family:var(--disp);font-weight:700;font-size:var(--t-small);
  line-height:1.2}.aw-card .aw-c{align-self:flex-start;font-family:var(--mono);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--c);
  padding:3px 8px}.aw-card .aw-a{font-family:var(--mono);font-size:var(--t-tiny);color:var(--muted)}.aw-card .aw-t{font-size:var(--t-tiny);line-height:1.5;color:var(--ink-2)}.aw-card .aw-w{font-family:var(--mono);font-size:var(--t-tiny);color:var(--orange-ink);
  text-decoration:underline;text-underline-offset:3px;word-break:break-all}.aw-x{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;
  background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.aw-x:hover{color:var(--ink)}.aw-x:focus-visible{outline:2px solid var(--ink);outline-offset:2px}/* el listado numerado: cada marcador tiene nombre, que es lo que el json
   pide al prohibir "unlabeled markers" */
.aw-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 34.56px;margin-top:32.0px;
  border-top:1px solid var(--line)}@media(max-width:1024px){/* el listado numerado: cada marcador tiene nombre, que es lo que el json
   pide al prohibir "unlabeled markers" */
.aw-list{
  gap:0 18.0px;margin-top:18.0px}}.aw-row{display:grid;grid-template-columns:22px 1fr;gap:2px 10px;
  align-items:baseline;text-align:left;background:none;border:0;cursor:pointer;
  padding:11px 6px 11px 0;border-bottom:1px solid var(--line);width:100%}.aw-row i{grid-row:1 / span 2;align-self:center;width:20px;height:20px;
  border-radius:50%;background:var(--c);color:#fff;font-family:var(--mono);
  font-size:9.5px;font-style:normal;display:flex;align-items:center;
  justify-content:center}.aw-row-n{font-weight:600;font-size:var(--t-tiny);line-height:1.3}.aw-row-a{font-family:var(--mono);font-size:10px;color:var(--muted);line-height:1.4}.aw-row.on .aw-row-n{color:var(--orange-ink)}.aw-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.aw-pin{transition:none}}@media(max-width:1024px){.awsec{padding-inline:16.0px}.aw-map{height:420.0px}.aw-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.aw-pin{width:17px;height:17px;font-size:8.5px}.aw-list{grid-template-columns:minmax(0,1fr)}.aw-card{left:10px;right:10px;bottom:10px;width:auto}}/* ── art_all_night_parking_getting_here.json · como llegar ────────────────
   Bloque centrado y compacto entre dos filetes, con el titular en el azul del
   corredor y el boton en naranja. Contraste del boton: negro sobre #FF572B
   da 5,98:1. */
.park{background:var(--bg);padding:88.0px var(--trim);
  border-top:1px solid #111111;border-bottom:1px solid #111111}@media(max-width:1024px){/* ── art_all_night_parking_getting_here.json · como llegar ────────────────
   Bloque centrado y compacto entre dos filetes, con el titular en el azul del
   corredor y el boton en naranja. Contraste del boton: negro sobre #FF572B
   da 5,98:1. */
.park{padding:48.0px var(--trim)}}.park-in{max-width:900px;margin-inline:auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:30.0px}@media(max-width:1024px){.park-in{gap:20.0px}}.park h2{margin:0;color:#17385d;font-family:var(--disp);font-weight:700;
  font-size:34.0px;line-height:1.1;letter-spacing:.02em;
  text-transform:uppercase}@media(max-width:1024px){.park h2{
  font-size:22.0px}}.park-cta{display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 26px;border-radius:14px;
  background:var(--orange);color:#111111;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.park-cta:hover{background:#111111;color:var(--bg)}.park-cta:focus-visible{outline:2px solid #17385d;outline-offset:3px}@media(prefers-reduced-motion:reduce){.park-cta{transition:none}}/* ── business_hero_match_wander_headline_subtitle.json · misma presentacion ─
   Los valores se aplican a los DOS heros, no solo a Business: es la unica
   forma de que "la misma presentacion" sea cierta y no haya que volver sobre
   ello. Ceja en gris apagado, titular y subtitulo centrados. */
body:has(.bznav) .phead,header.phead.phead-centrado{padding-block:96.0px}@media(max-width:1024px){/* ── business_hero_match_wander_headline_subtitle.json · misma presentacion ─
   Los valores se aplican a los DOS heros, no solo a Business: es la unica
   forma de que "la misma presentacion" sea cierta y no haya que volver sobre
   ello. Ceja en gris apagado, titular y subtitulo centrados. */
body:has(.bznav) .phead,header.phead.phead-centrado{padding-block:56.0px}}body:has(.bznav) .phead .blade,header.phead.phead-centrado .blade{
  font-size:14.4px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin:0 0 28px}@media(max-width:1024px){body:has(.bznav) .phead .blade,header.phead.phead-centrado .blade{
  font-size:12.0px}}body:has(.bznav) .phead h1,header.phead.phead-centrado h1{
  font-size:115.2px;line-height:.95;font-weight:700;
  letter-spacing:-.05em;text-align:center;max-width:none;margin:0 0 34px}@media(max-width:1024px){body:has(.bznav) .phead h1,header.phead.phead-centrado h1{
  font-size:56.0px}}body:has(.bznav) .phead .lead,header.phead.phead-centrado .lead{
  font-size:43.2px;line-height:1.2;color:#3f3f3d;
  text-align:center;max-width:1100px;margin:0 auto}@media(max-width:1024px){body:has(.bznav) .phead .lead,header.phead.phead-centrado .lead{
  font-size:24.0px}}body:has(.bznav) .phead .in,header.phead.phead-centrado .in{row-gap:0}body:has(.bznav) .phead + section,.phead-centrado + section{
  padding-top:128.0px}@media(max-width:1024px){body:has(.bznav) .phead + section,.phead-centrado + section{
  padding-top:64.0px}}@media(max-width:1024px){body:has(.bznav) .phead h1,header.phead.phead-centrado h1{font-size:41.25px}body:has(.bznav) .phead .lead,header.phead.phead-centrado .lead{font-size:19.0px}}/* ── grant_testimonial_reduce_vertical_space.json · menos aire ────────────
   Medida de 1080, cuerpo algo menor y sin margenes fuera del bloque. */
.quote{max-width:1080px;margin:0 auto;padding:86.4px 0;text-align:center}@media(max-width:1024px){/* ── grant_testimonial_reduce_vertical_space.json · menos aire ────────────
   Medida de 1080, cuerpo algo menor y sin margenes fuera del bloque. */
.quote{padding:48.0px 0}}.quote p{max-width:1080px;margin:0 auto 24px;font-size:34.0px;
  line-height:1.3;text-align:center}@media(max-width:1024px){.quote p{font-size:20.0px}}.quote cite{margin:0 auto;font-size:16px;line-height:1.35;text-align:center;display:block}/* ── coffee_community_two_line_title.json · titulo en dos lineas ──────────
   Medida de 280 y salto forzado; el color, el peso y el aire de la tarjeta no
   se tocan. */
.gcon-c:first-child h3{max-width:280px}.gcon-c h3{text-align:left}/* ── resources_referrals_compact_layout.json · seccion mas compacta ───────
   Menos aire arriba y abajo, cabecera con medidas propias y el formulario en
   dos columnas hasta 1200. Campos de 72 y area de 150: sin el area larguisima
   que dejaba la seccion tan alta. */
#resources-and-vendors{padding-block:72.0px}@media(max-width:1024px){/* ── resources_referrals_compact_layout.json · seccion mas compacta ───────
   Menos aire arriba y abajo, cabecera con medidas propias y el formulario en
   dos columnas hasta 1200. Campos de 72 y area de 150: sin el area larguisima
   que dejaba la seccion tan alta. */
#resources-and-vendors{padding-block:40.0px}}#resources-and-vendors .head{margin-bottom:56.0px}@media(max-width:1024px){#resources-and-vendors .head{margin-bottom:28.0px}}#resources-and-vendors .head h2{max-width:520px;font-size:72.0px;
  line-height:1.02;letter-spacing:-.035em}@media(max-width:1024px){#resources-and-vendors .head h2{font-size:48.0px}}#resources-and-vendors .head .lead{max-width:440px;font-size:28.0px;
  line-height:1.25}@media(max-width:1024px){#resources-and-vendors .head .lead{font-size:18.0px}}.rrf{max-width:min(100%,1200px);margin-top:0}.rrf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.rrf-ops{gap:12px 28px}.rrf-f input{height:72px}.rrf-f textarea{min-height:150px;height:150px}.rrf-go{margin-top:24px}@media(max-width:1024px){.rrf-grid,.rrf-ops{grid-template-columns:minmax(0,1fr)}}/* ── newsletter_box_instead_of_cta.json · caja, no boton ──────────────────
   Fuera el naranja grande: una caja blanca casi opaca, centrada, sin radio ni
   sombra y sin reaccionar al puntero. El enlace y el enfoque del campo del
   boletin siguen igual. Negro sobre blanco al 94% da 16,7:1. */
.gcon-news{display:flex;align-items:center;justify-content:center;
  width:min(100%,520px);margin:40.0px auto 0;
  padding:28px 32px;background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.7);border-radius:0;box-shadow:none;
  color:#111111;text-decoration:none;text-align:center;
  font-family:var(--disp);font-weight:700;font-size:18.0px;
  letter-spacing:0;text-transform:none;min-height:0}@media(max-width:1024px){/* ── newsletter_box_instead_of_cta.json · caja, no boton ──────────────────
   Fuera el naranja grande: una caja blanca casi opaca, centrada, sin radio ni
   sombra y sin reaccionar al puntero. El enlace y el enfoque del campo del
   boletin siguen igual. Negro sobre blanco al 94% da 16,7:1. */
.gcon-news{margin:26.0px auto 0;font-size:15.0px}}@media(hover:hover){.gcon-news:hover{background:rgba(255,255,255,.94);color:#111111;
    border-color:rgba(255,255,255,.7)}}.gcon-news:focus-visible{outline:2px solid var(--orange);outline-offset:3px}/* ── menu_bar_search_spacing.json · aire debajo del buscador ──────────────
   El control tenia 11px por arriba y 1 por abajo: pegado al borde. Se iguala
   a 12/12. La barra pasa de 60 a 72 — sigue siendo multiplo de 4, asi que el
   borde inferior no vuelve a caer en medio pixel y no reaparece la linea
   gris. El liston de arriba (32) mantiene el total en 104. */
.nav-thick .in{padding-top:12px;padding-bottom:12px;min-height:72px}.nav-thick .btn-corridor{margin-bottom:0}@media(max-width:1024px){.nav-thick .in{min-height:72px}}:root{--nav-alto:84px}@media(max-width:1024px){:root{--nav-alto:96px}}/* ── guides_featured_legacy_businesses_cta.json · guia destacada ──────────
   Bajo la descripcion del hero, centrada y separada por un filete fino. El
   contraste se mide sobre la foto ya velada. */
.gu-feat{margin:36.0px auto 0;padding-top:28.0px;
  border-top:1px solid rgba(255,255,255,.34);max-width:520px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px}@media(max-width:1024px){/* ── guides_featured_legacy_businesses_cta.json · guia destacada ──────────
   Bajo la descripcion del hero, centrada y separada por un filete fino. El
   contraste se mide sobre la foto ya velada. */
.gu-feat{margin:24.0px auto 0;padding-top:20.0px}}.gu-feat-eb{margin:0;font-family:var(--disp);font-weight:700;color:#fff;
  font-size:var(--t-tiny);letter-spacing:.18em;text-transform:uppercase;opacity:.92}.gu-feat-h{margin:0;font-family:var(--disp);font-weight:700;color:#fff;
  font-size:30.0px;line-height:1.1;letter-spacing:-.02em}@media(max-width:1024px){.gu-feat-h{
  font-size:20.0px}}.gu-feat-cta{display:inline-flex;align-items:center;gap:9px;margin-top:10px;
  min-height:44px;padding:0 20px;border:1.5px solid #fff;color:#fff;
  text-decoration:none;font-family:var(--disp);font-weight:700;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.gu-feat-cta i{font-style:normal;color:var(--orange)}@media(hover:hover){.gu-feat-cta:hover{background:#fff;color:#111111}.gu-feat-cta:hover i{color:var(--orange)}}.gu-feat-cta:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(prefers-reduced-motion:reduce){.gu-feat-cta{transition:none}}/* ── guides_hero_gallery_spacing.json · menos banda entre hero y fichas ───
   El hero cierra con menos aire y la rejilla abre con el mismo, para que las
   fichas suban y no queden fuera de pantalla. */
.gu-hero{padding-bottom:43.2px}@media(max-width:1024px){/* ── guides_hero_gallery_spacing.json · menos banda entre hero y fichas ───
   El hero cierra con menos aire y la rejilla abre con el mismo, para que las
   fichas suban y no queden fuera de pantalla. */
.gu-hero{padding-bottom:24.0px}}.gu-guias{margin-top:0;padding-top:43.2px}@media(max-width:1024px){.gu-guias{padding-top:24.0px}}/* ── georgetown_bucks_newcard2_no_borders.json · la tarjeta, sin marco ────
   El arte ya trae su esquina redondeada y su alfa, asi que el contenedor no
   pinta nada: ni borde, ni radio, ni sombra, ni recorte. */
.gbban-ph{border:0;outline:0;box-shadow:none;border-radius:0;overflow:visible;
  background:none}.gbban-ph img{border:0;outline:0;box-shadow:none;border-radius:0;
  object-fit:contain;width:100%;height:auto;aspect-ratio:auto;background:none}/* ── global_page_headline_scale.json · una sola escala para los cinco ─────
   Wander, Events, Business, Guides y About comparten titular, ceja y
   subtitulo. El selector lleva etiqueta y dos clases porque los tramos por
   longitud (.phead.h1-xl h1 y compañia) pesan mas que una sola clase.
   OJO con Events: a esta escala "Events on Wisconsin Avenue" mide 15,2281 x
   el cuerpo = 1580px a 1440, y solo hay 1297 libres. Con el nowrap que pedia
   un json anterior se saldria, asi que ahi se deja partir. Mando la escala
   comun, que es lo que este json pone como condicion. */
header.phead h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1{
  font-size:103.68px;line-height:.96;letter-spacing:-.045em;
  max-width:none;text-align:center;margin-block:0;
  white-space:normal;text-wrap:balance}@media(max-width:1024px){/* ── global_page_headline_scale.json · una sola escala para los cinco ─────
   Wander, Events, Business, Guides y About comparten titular, ceja y
   subtitulo. El selector lleva etiqueta y dos clases porque los tramos por
   longitud (.phead.h1-xl h1 y compañia) pesan mas que una sola clase.
   OJO con Events: a esta escala "Events on Wisconsin Avenue" mide 15,2281 x
   el cuerpo = 1580px a 1440, y solo hay 1297 libres. Con el nowrap que pedia
   un json anterior se saldria, asi que ahi se deja partir. Mando la escala
   comun, que es lo que este json pone como condicion. */
header.phead h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1{
  font-size:56.0px}}header.phead .blade,
header.phead.phead-centrado .blade,
header.phead.phead-ev .blade,
body:has(.bznav) .phead .blade,
.gu-hero .blade,
.abhero .blade{
  font-size:17.28px;letter-spacing:.28em;text-transform:uppercase}@media(max-width:1024px){header.phead .blade,
header.phead.phead-centrado .blade,
header.phead.phead-ev .blade,
body:has(.bznav) .phead .blade,
.gu-hero .blade,
.abhero .blade{
  font-size:13.0px}}header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead{
  font-size:30.0px;line-height:1.25;max-width:1200px;
  margin-top:36.0px;margin-inline:auto}@media(max-width:1024px){header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead{
  font-size:18.0px;
  margin-top:20.0px}}.abhero .ab-lead{text-align:center;max-width:60ch}@media(max-width:1024px){header.phead h1,header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1,.abhero h1{
    font-size:35.25px}}/* ── global_compact_type_and_top_spacing.json · todo mas compacto ─────────
   Sustituye la escala anterior: titulares menores, interlineado 1,15, menos
   aire arriba y huecos mas cortos. Cubre las seis paginas del json, Bucks
   incluida. El selector repite etiqueta y clases para ganar a los tramos por
   longitud (.phead.h1-xl h1 y compañia), que pesan (0,2,1). */
header.phead h1,
header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1{
  font-size:86.4px;line-height:1.15;letter-spacing:-.04em;
  max-width:none;margin-block:0}@media(max-width:1024px){/* ── global_compact_type_and_top_spacing.json · todo mas compacto ─────────
   Sustituye la escala anterior: titulares menores, interlineado 1,15, menos
   aire arriba y huecos mas cortos. Cubre las seis paginas del json, Bucks
   incluida. El selector repite etiqueta y clases para ganar a los tramos por
   longitud (.phead.h1-xl h1 y compañia), que pesan (0,2,1). */
header.phead h1,
header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1{
  font-size:48.0px}}header.phead .blade,
header.phead.phead-centrado .blade,
header.phead.phead-ev .blade,
body:has(.bznav) .phead .blade,
.gu-hero .blade,
.abhero .blade{font-size:14.4px;letter-spacing:.24em}@media(max-width:1024px){header.phead .blade,
header.phead.phead-centrado .blade,
header.phead.phead-ev .blade,
body:has(.bznav) .phead .blade,
.gu-hero .blade,
.abhero .blade{font-size:12.0px}}header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead{
  font-size:25.92px;line-height:1.25;
  margin-top:28.0px}@media(max-width:1024px){header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead{
  font-size:16.0px;
  margin-top:16.0px}}header.phead,.gu-hero,.abhero,body:has(.bznav) .phead{
  padding-top:56.0px}@media(max-width:1024px){header.phead,.gu-hero,.abhero,body:has(.bznav) .phead{
  padding-top:28.0px}}header.phead,body:has(.bznav) .phead{padding-bottom:43.2px}@media(max-width:1024px){header.phead,body:has(.bznav) .phead{padding-bottom:24.0px}}header.phead + section,.gu-hero + section,.abhero + section{
  padding-top:43.2px}@media(max-width:1024px){header.phead + section,.gu-hero + section,.abhero + section{
  padding-top:24.0px}}@media(max-width:1024px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1,.abhero h1{
    font-size:31.5px}}/* ── business_headline_match_wander.json · el token compartido, afinado ───
   Mismo tamaño que ya tenian las seis; cambian el interlineado a 0,96, el
   tracking a -0,045em y se fija peso 700 y centrado. Al ir sobre el mismo
   token, Business y Wander quedan identicos por construccion. */
header.phead h1,
header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1{
  line-height:.96;letter-spacing:-.045em;font-weight:700;text-align:center}/* ── global_headline_subtitle_scale.json · la escala de "Explore the Corridor" ─
   La referencia que da el cliente es la cabecera del directorio, asi que esa
   cabecera entra en el token compartido en vez de quedarse aparte: titular
   clamp(52px,5.5vw,96px) con interlineado 0,98, y subtitulo clamp(22px,2vw,34px)
   en #555555 con tope de 900px. Ceja a 16px del titular, titular a 18px del
   subtitulo. La galeria conserva su escala ajustada de una linea, que pesa mas. */
header.phead h1,
header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1,
.dhero h1{
  font-size:79.2px;line-height:.98;letter-spacing:-.045em;
  font-weight:700;text-align:center;max-width:none;margin-block:0}@media(max-width:1024px){/* ── global_headline_subtitle_scale.json · la escala de "Explore the Corridor" ─
   La referencia que da el cliente es la cabecera del directorio, asi que esa
   cabecera entra en el token compartido en vez de quedarse aparte: titular
   clamp(52px,5.5vw,96px) con interlineado 0,98, y subtitulo clamp(22px,2vw,34px)
   en #555555 con tope de 900px. Ceja a 16px del titular, titular a 18px del
   subtitulo. La galeria conserva su escala ajustada de una linea, que pesa mas. */
header.phead h1,
header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,
header.phead.phead-ev h1,
body:has(.bznav) .phead h1,
.gu-hero h1,
.abhero h1,
.dhero h1{
  font-size:52.0px}}header.phead .blade,
header.phead.phead-centrado .blade,
header.phead.phead-ev .blade,
body:has(.bznav) .phead .blade,
.gu-hero .blade,
.abhero .blade,
.dhero .blade{margin-bottom:16px}header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead,
.dhero .lead{
  font-size:28.8px;line-height:1.25;font-weight:400;
  text-align:center;color:#555555;max-width:900px;
  margin:18px auto 0}@media(max-width:1024px){header.phead .lead,
header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,
body:has(.bznav) .phead .lead,
.gu-hero .lead,.abhero .ab-lead,
.dhero .lead{
  font-size:22.0px}}header.phead,.gu-hero,.abhero,body:has(.bznav) .phead{
  padding-top:96.0px}@media(max-width:1024px){header.phead,.gu-hero,.abhero,body:has(.bznav) .phead{
  padding-top:48.0px}}header.phead,body:has(.bznav) .phead{
  padding-bottom:96.0px}@media(max-width:1024px){header.phead,body:has(.bznav) .phead{
  padding-bottom:48.0px}}/* la cabecera del directorio es la referencia: su aire ya es el bueno y se
   queda como esta, que ademas es lo que pidio corridor_search_header_update */

@media(max-width:1024px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1,.abhero h1,.dhero h1{
    font-size:68.0px}@media(max-width:1024px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1,.abhero h1,.dhero h1{
    font-size:44.0px}}header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  .gu-hero .lead,.abhero .ab-lead,.dhero .lead{
    font-size:28.0px}@media(max-width:1024px){header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  .gu-hero .lead,.abhero .ab-lead,.dhero .lead{
    font-size:19.0px}}}@media(max-width:1024px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1,.abhero h1,.dhero h1{
    font-size:37.5px}header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  .gu-hero .lead,.abhero .ab-lead,.dhero .lead{
    font-size:18.0px}}/* ── global_headline_subtitle_scale (1).json · el ajuste de About Us ──────
   La misma escala de referencia, pero About baja un tramo porque su titular
   es largo y va en dos columnas: 42-72px, subtitulo 19-28px y menos aire.
   El hero de un evento comparte el tamaño general, pero no el centrado: su
   composicion es de dos columnas y el titular manda desde la izquierda. */
.abhero h1{font-size:60.48px}@media(max-width:1024px){/* ── global_headline_subtitle_scale (1).json · el ajuste de About Us ──────
   La misma escala de referencia, pero About baja un tramo porque su titular
   es largo y va en dos columnas: 42-72px, subtitulo 19-28px y menos aire.
   El hero de un evento comparte el tamaño general, pero no el centrado: su
   composicion es de dos columnas y el titular manda desde la izquierda. */
.abhero h1{font-size:42.0px}}.abhero .ab-lead{font-size:25.92px}@media(max-width:1024px){.abhero .ab-lead{font-size:19.0px}}.abhero{padding-top:68.0px;padding-bottom:68.0px}@media(max-width:1024px){.abhero{padding-top:36.0px;padding-bottom:36.0px}}.ehero .ehero-i h1{
  font-size:79.2px;line-height:.98;letter-spacing:-.045em;
  font-weight:700;text-align:left}@media(max-width:1024px){.ehero .ehero-i h1{
  font-size:52.0px}}@media(max-width:1024px){.abhero h1{font-size:38.0px}.abhero .ab-lead{font-size:18.0px}.ehero .ehero-i h1{font-size:44.0px}}@media(max-width:1024px){.abhero h1{font-size:32.0px}.abhero .ab-lead{font-size:17.0px}.ehero .ehero-i h1{font-size:37.5px}}/* El titular de About cabe en tres lineas, que es lo que pide el json. Dos
   cosas lo impedian: la segunda columna mantenia sus 440px fijos hasta 900px,
   dejando la copia en 372, y el suelo del clamp movil era demasiado alto. */
@media(max-width:1024px){.ab-grid{grid-template-columns:minmax(0,1fr)}.ab-grid > figure,.ab-fig{margin-top:32px;order:1}.ab-grid figure img,.ab-fig img{height:auto}}@media(max-width:1024px){.abhero h1{font-size:28.0px}}/* ── sponsor_logo_newciti2.json · los logos de socios, a color y quietos ──
   El json fija "logo_color: original_asset_color" y "hover_effect: none",
   asi que se cae el gris y la transicion: se ven siempre como son. */
.plogos img{filter:none;opacity:1;transition:none;background:transparent}.plogos img:hover{filter:none;opacity:1}/* ── georgetown_bucks_card_bucksnew.json · la tarjeta nueva ───────────────
   Se sirve con su transparencia y su proporcion propia (935x591): contain,
   sin marco, sin sombra y sin fondo detras. Dos columnas en escritorio y
   apilada bajo el texto en movil, que es lo que ya hacia el bloque. */
.gbban-ph{border-radius:0;background:transparent;box-shadow:none;border:0;
  overflow:visible}.gbban-ph img{width:100%;height:auto;aspect-ratio:1492/1023;object-fit:contain;
  background:transparent;box-shadow:none;border:0;border-radius:0}/* ── business_stats_clean_frame.json · las cifras, sin caja ───────────────
   Fuera la tarjeta de color por cifra: una sola banda navy #17385f sin borde,
   sin sombra y sin esquinas, y encima una rejilla de cuatro con filete claro
   compartido. Contraste medido sobre #17385f: el rotulo a 72% de blanco da
   6,97:1 y la cifra en blanco 11,86:1. */
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  background:#17385f;border:0;border-radius:0;box-shadow:none;
  padding:56.0px;
  margin-inline:calc(-1 * var(--trim))}@media(max-width:1024px){/* ── business_stats_clean_frame.json · las cifras, sin caja ───────────────
   Fuera la tarjeta de color por cifra: una sola banda navy #17385f sin borde,
   sin sombra y sin esquinas, y encima una rejilla de cuatro con filete claro
   compartido. Contraste medido sobre #17385f: el rotulo a 72% de blanco da
   6,97:1 y la cifra en blanco 11,86:1. */
.cifras{
  padding:24.0px}}.cif{background:transparent;border:1px solid rgba(255,255,255,.22);
  border-radius:0;box-shadow:none;margin:0 0 0 -1px;
  padding:26.0px;display:flex;flex-direction:column;
  align-items:flex-start;gap:5px;color:#fff}@media(max-width:1024px){.cif{
  padding:18.0px}}.cif:first-child{margin-left:0}.cif:hover{background:transparent}.cif-i{color:#ff5a35}.cif-v{color:#ffffff}.cif-l{color:rgba(255,255,255,.72)}@media(max-width:1024px){.cifras{grid-template-columns:repeat(2,minmax(0,1fr))}.cif{margin-top:-1px}.cif:nth-child(odd){margin-left:0}}@media(max-width:1024px){.cifras{grid-template-columns:minmax(0,1fr)}.cif{margin-left:0;margin-top:-1px}}/* ── business_program_titles_smaller.json · titulares de programa ─────────
   Una escala mas ligera y la misma en todos: 28-44px, interlineado 1,02 y
   12ch de ancho para que corten donde deben. El estado baja a 14px con mas
   letra suelta y se separa 14px del titulo. */
/* el aire de la fila vive en el summary, no en el <details>: ahi es donde
   estaba puesto y donde .prog{padding}nunca habria llegado a ganar. */
details.prog > summary{padding:52.0px 0}@media(max-width:1024px){nunca habria llegado a ganar. */
details.prog > summary{padding:28.0px 0}}.prog-h h3{font-size:43.2px;line-height:1.02;font-weight:700;
  letter-spacing:-.03em;max-width:12ch}@media(max-width:1024px){.prog-h h3{font-size:28.0px}}.prog-h .status{margin-top:14px;font-size:14px;letter-spacing:.18em}@media(max-width:1024px){.prog-h h3{font-size:28px;max-width:16ch}details.prog > summary{padding:28.0px 0}}/* la misma tarjeta en la pagina de Georgetown Bucks */
.gbk-card{border-radius:0;background:transparent;box-shadow:none;border:0}.gbk-card img{width:100%;height:auto;aspect-ratio:1492/1023;object-fit:contain;
  background:transparent;box-shadow:none;border:0;border-radius:0}/* ── business_testimonial_compact.json · la cita, mas apretada ────────────
   Cuerpo 22-34px con interlineado 1,35, peso normal, medida de 900 y todo
   centrado. La firma a 16px, a 18px exactos del ultimo renglon: el margen
   inferior del parrafo se pone a cero porque si no colapsan y mandan los 24
   antiguos. Menos aire arriba y abajo, y sin margenes fuera del bloque. */
.quote{max-width:900px;margin-block:0;margin-inline:auto;
  padding-block:84.0px;text-align:center}@media(max-width:1024px){/* ── business_testimonial_compact.json · la cita, mas apretada ────────────
   Cuerpo 22-34px con interlineado 1,35, peso normal, medida de 900 y todo
   centrado. La firma a 16px, a 18px exactos del ultimo renglon: el margen
   inferior del parrafo se pone a cero porque si no colapsan y mandan los 24
   antiguos. Menos aire arriba y abajo, y sin margenes fuera del bloque. */
.quote{
  padding-block:48.0px}}.quote p{max-width:900px;margin:0 auto;font-size:34.0px;
  line-height:1.35;font-weight:400;color:#666666;text-align:center}@media(max-width:1024px){.quote p{font-size:22.0px}}.quote cite{display:block;margin:18px auto 0;font-size:16px;line-height:1.35;
  color:#666666;text-align:center}.quote cite span{display:block;margin-top:2px;color:#666666}/* ── georgetown-about-layout-centered-hero.json · el hero de About ────────
   La foto pasa de columna derecha a fondo a sangre con degradado oscuro, y
   todo el texto se centra en el centro del encuadre. La seccion mide una
   pantalla (100svh, que es la buena en movil: 100vh cuenta la barra del
   navegador y deja el bloque cortado). El acento #FF6545 solo funciona
   porque ahora va sobre el velo oscuro: sobre el crema daba 2,60:1. */
.abhero.abhero-foto{position:relative;isolation:isolate;overflow:hidden;
  min-height:100svh;display:flex;align-items:center;justify-content:center;
  padding:4rem 86.4px;text-align:center;background:#100C0A;
  margin-block:0}@media(max-width:1024px){/* ── georgetown-about-layout-centered-hero.json · el hero de About ────────
   La foto pasa de columna derecha a fondo a sangre con degradado oscuro, y
   todo el texto se centra en el centro del encuadre. La seccion mide una
   pantalla (100svh, que es la buena en movil: 100vh cuenta la barra del
   navegador y deja el bloque cortado). El acento #FF6545 solo funciona
   porque ahora va sobre el velo oscuro: sobre el crema daba 2,60:1. */
.abhero.abhero-foto{
  padding:4rem 22.5px}}.abhero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 50%;z-index:-2}.abhero.abhero-foto::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(14,10,8,.58) 0%,rgba(14,10,8,.74) 55%,
    rgba(14,10,8,.84) 100%)}.abhero-in{position:relative;z-index:1;width:100%;max-width:980px;
  margin-inline:auto;color:#ffffff}.abhero.abhero-foto .blade{margin:0 0 1rem;text-align:center;
  color:rgba(255,255,255,.86);font-size:14.4px;letter-spacing:.24em}@media(max-width:1024px){.abhero.abhero-foto .blade{font-size:12.0px}}.abhero.abhero-foto h1{margin:0 0 1.5rem;max-width:none;text-align:center;
  font-size:72.0px;font-weight:700;line-height:.98;
  letter-spacing:-.045em;color:#ffffff}@media(max-width:1024px){.abhero.abhero-foto h1{
  font-size:40.0px}}.abhero.abhero-foto .ab-lead{margin:0 auto;max-width:72ch;text-align:center;
  font-size:1.125rem;line-height:1.45;font-weight:400;color:rgba(255,255,255,.9)}.abhero.abhero-foto .ab-vm{margin-top:3rem;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;text-align:center}.abhero.abhero-foto .ab-block{padding-top:0}.abhero.abhero-foto .ab-block h2{margin:0 0 .6rem;color:#FF6545;
  font-size:20.16px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase}@media(max-width:1024px){.abhero.abhero-foto .ab-block h2{
  font-size:19.0px}}/* El #FF6545 del json sobre el velo mide 3,75:1 en el peor pixel. A 15px eso
   es texto normal y necesita 4,5, asi que fallaba. A 19px con peso 700 entra
   en "texto grande" de la norma (14pt en negrita), donde el minimo es 3, y
   pasa con margen sin tocar el color que pide el cliente. */
.abhero.abhero-foto .ab-block p{margin:0;max-width:none;
  font-size:1.125rem;line-height:1.45;color:rgba(255,255,255,.9)}/* el breadcrumb y lo que venga detras del hero no heredan el blanco */
.abhero.abhero-foto + section{padding-top:86.4px}@media(max-width:1024px){/* el breadcrumb y lo que venga detras del hero no heredan el blanco */
.abhero.abhero-foto + section{padding-top:48.0px}}@media(max-width:1024px){.abhero.abhero-foto{padding:3.5rem 22.5px}.abhero.abhero-foto .ab-vm{grid-template-columns:minmax(0,1fr);gap:2rem;
    margin-top:2.25rem}}/* ── georgetown-about-left-text-right-photo.json · el hero, a dos columnas ─
   Se cae el fondo a sangre y el velo: el texto manda desde arriba a la
   izquierda y la foto ocupa la columna derecha a toda la altura. La seccion
   mide una pantalla en escritorio.

   El acento: #FF6545 sobre el crema da 2,60:1, que no llega ni al minimo de
   texto grande. Sobre el velo oscuro del hero anterior si valia; aqui no. El
   subtitulo va en #B4462F, el mismo tono bajado de luminosidad, que mide
   4,86:1 sobre crema y 5,44:1 sobre blanco: seguro a cualquier tamaño. El
   #FF6545 del json se conserva donde no es texto, como el filete de debajo. */
:root{--coral:#FF6545; --coral-ink:#B4462F}.abhero.abhero-2col{position:static;isolation:auto;overflow:hidden;
  min-height:100svh;display:flex;background:var(--bg);color:var(--ink);
  padding:4rem 86.4px;margin-block:0;text-align:left}@media(max-width:1024px){.abhero.abhero-2col{
  padding:4rem 22.5px}}.abhero.abhero-2col::after{content:none}.abhero-2col .abhero-in{flex:1;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;
  align-items:stretch;max-width:min(1200px,100%);margin-inline:auto;color:var(--ink)}.abhero-2col .ab-copy{align-self:start;text-align:left;min-width:0}.abhero-2col .blade{margin:0 0 1rem;text-align:left;color:var(--muted);
  font-size:14.4px;letter-spacing:.24em}@media(max-width:1024px){.abhero-2col .blade{
  font-size:12.0px}}.abhero-2col h1{margin:0 0 1.5rem;max-width:none;text-align:left;color:var(--ink);
  font-size:57.6px;font-weight:700;line-height:.98;
  letter-spacing:-.045em}@media(max-width:1024px){.abhero-2col h1{
  font-size:40.0px}}.abhero-2col .ab-lead{margin:0;max-width:620px;text-align:left;
  font-size:1.125rem;line-height:1.45;font-weight:400;color:var(--ink-2)}.abhero-2col .ab-vm{margin-top:3rem;display:grid;gap:2rem;text-align:left}.abhero-2col .ab-block{padding-top:0}.abhero-2col .ab-block h2{margin:0 0 .5rem;color:var(--coral-ink);
  font-size:20.16px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase}@media(max-width:1024px){.abhero-2col .ab-block h2{
  font-size:19.0px}}.abhero-2col .ab-block h2::after{content:"";display:block;width:64px;height:2px;
  margin-top:.55rem;background:var(--coral)}.abhero-2col .ab-block p{margin:0;max-width:620px;text-align:left;
  font-size:1.125rem;line-height:1.45;color:var(--ink-2)}.abhero-2col .ab-photo{margin:0;align-self:stretch;min-height:0;overflow:hidden}.abhero-2col .ab-photo img{display:block;width:100%;height:100%;min-height:0;
  object-fit:cover;object-position:50% 50%;aspect-ratio:auto}.abhero.abhero-2col + section{padding-top:86.4px}@media(max-width:1024px){.abhero.abhero-2col + section{padding-top:48.0px}}@media(max-width:1024px){.abhero.abhero-2col{min-height:0;padding:3rem 22.5px;display:block}.abhero-2col .abhero-in{grid-template-columns:minmax(0,1fr);gap:2rem}.abhero-2col .ab-copy{order:0}.abhero-2col .ab-photo{order:1;align-self:auto}.abhero-2col .ab-photo img{height:auto;aspect-ratio:3/2}}/* "Fits within one viewport" no se sostiene solo con 4rem de aire: a 1440x800
   el bloque medía 890 y se salía 90. El aire se escalona por ALTO de ventana,
   no por ancho, que es la medida que de verdad manda aqui. Los valores que fija
   el json (tamaño del titular, cuerpo 1,125rem/1,45 y su margen de 1,5rem) no
   se tocan; lo que se aprieta es lo que el json no fija. */
/* el tope por alto vale tambien en pantallas altas: a 1920x1080 el titular a
   76px se comia 61px de mas */
@media(min-width:1025px) and (max-height:1200px){.abhero-2col h1{font-size:50.4px}@media(max-width:1024px){.abhero-2col h1{font-size:37.35px}}}@media(min-width:1025px) and (max-height:920px){.abhero.abhero-2col{padding-block:2.5rem}/* en ventanas bajas el titular tambien se topa con el alto: a 1440x800 sus
     cuatro renglones a 57,6px se comian los 26 que faltaban */
  .abhero-2col h1{font-size:50.4px}.abhero-2col .blade{margin-bottom:.625rem}.abhero-2col .ab-vm{margin-top:1.5rem;gap:1.125rem}.abhero-2col .ab-block h2{margin-bottom:.3rem}.abhero-2col .ab-block h2::after{margin-top:.3rem}}@media(min-width:1025px) and (max-height:800px){.abhero.abhero-2col{padding-block:2rem}.abhero-2col .ab-vm{gap:.75rem}}/* La foto no llenaba la columna: `height:100%` sobre la imagen no resuelve
   porque la fila de la rejilla se dimensiona por su contenido, y ahi la imagen
   imponia su alto intrinseco (610x1375/1100 = 762) y estiraba la seccion a 826
   en una ventana de 800. Sacandola del flujo, la fila la marca solo la columna
   de texto y la foto se estira a lo que quede. */
@media(min-width:1025px){.abhero-2col .ab-photo{position:relative;min-height:0}.abhero-2col .ab-photo img{position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover}}/* "Una pantalla" se mide desde donde EMPIEZA el hero, no desde el borde de la
   ventana: encima hay 32px de topbar y 72 de barra pegajosa. Sin descontarlos,
   los ultimos 104px del bloque quedaban siempre por debajo del pliegue. */
:root{--topbar-h:32px; --nav-h:72px}@media(min-width:1025px){.abhero.abhero-2col{min-height:calc(100svh - var(--topbar-h) - var(--nav-h))}}/* Un portatil de 1366x768 se quedaba 29px largo. Ultimo tramo: menos aire y el
   titular topado a 5,2vh, que en esa ventana coincide con el suelo del clamp. */
@media(min-width:1025px) and (max-height:780px){.abhero.abhero-2col{padding-block:1.5rem}.abhero-2col h1{font-size:46.8px;margin-bottom:1.25rem}@media(max-width:1024px){.abhero-2col h1{font-size:34.68px}}.abhero-2col .blade{margin-bottom:.5rem}.abhero-2col .ab-vm{margin-top:1.25rem;gap:.875rem}}/* ── georgetown-our-vision-single-line.json · el subtitulo, en una linea ──
   OUR VISION y OUR MISSION en versal, sin partir nunca: clamp(1.25rem,2vw,2rem)
   con 0,18em de letra suelta y white-space:nowrap. El color sigue siendo el
   #B4462F legible sobre crema (4,86:1); el #FF6545 del json se queda en el
   filete. Ojo: text-wrap y white-space comparten text-wrap-mode, asi que se
   fijan los dos juntos o balance se come el nowrap. */
.abhero-2col .ab-block h2{
  font-size:28.8px;letter-spacing:.18em;
  white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;word-break:normal}@media(max-width:1024px){/* ── georgetown-our-vision-single-line.json · el subtitulo, en una linea ──
   OUR VISION y OUR MISSION en versal, sin partir nunca: clamp(1.25rem,2vw,2rem)
   con 0,18em de letra suelta y white-space:nowrap. El color sigue siendo el
   #B4462F legible sobre crema (4,86:1); el #FF6545 del json se queda en el
   filete. Ojo: text-wrap y white-space comparten text-wrap-mode, asi que se
   fijan los dos juntos o balance se come el nowrap. */
.abhero-2col .ab-block h2{
  font-size:20.0px}}/* Al subir OUR VISION a clamp(1.25rem,2vw,2rem) el bloque crecio y 1280x800 se
   paso 10px. En ventanas bajas el subtitulo tambien se topa por alto. */
@media(min-width:1025px) and (max-height:920px){.abhero-2col .ab-block h2{font-size:26.1px}@media(max-width:1024px){.abhero-2col .ab-block h2{font-size:19.34px}}}/* ── georgetown-business-numbers-complete.json · las cifras, sobre la foto ─
   Se cae el contenedor azul: la franja va sobre una foto del corredor con un
   velo oscuro, y encima seis tarjetas blancas al 90% sin borde ni sombra. El
   texto de las tarjetas es oscuro porque el fondo efectivo de la tarjeta es
   casi blanco; el titular y la ceja van en blanco sobre el velo. */
.cifsec{position:relative;isolation:isolate;overflow:hidden;
  margin-inline:calc(-1 * var(--trim));padding:72.0px var(--trim);
  background:#100C0A}@media(max-width:1024px){/* ── georgetown-business-numbers-complete.json · las cifras, sobre la foto ─
   Se cae el contenedor azul: la franja va sobre una foto del corredor con un
   velo oscuro, y encima seis tarjetas blancas al 90% sin borde ni sombra. El
   texto de las tarjetas es oscuro porque el fondo efectivo de la tarjeta es
   casi blanco; el titular y la ceja van en blanco sobre el velo. */
.cifsec{padding:40.0px var(--trim)}}.cifsec-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 55%;z-index:-2}.cifsec::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,10,9,.66) 0%,rgba(12,10,9,.78) 100%)}.cifsec-in{position:relative;z-index:1;max-width:1200px;margin-inline:auto;
  text-align:center}.cifsec-in .blade{margin:0 0 10px;color:rgba(255,255,255,.88);
  font-size:14.4px;letter-spacing:.24em}@media(max-width:1024px){.cifsec-in .blade{
  font-size:12.0px}}.cifsec-in h2{margin:0 0 40.0px;color:#ffffff;
  font-size:48.0px;line-height:1.04;letter-spacing:-.035em;
  font-weight:700}@media(max-width:1024px){.cifsec-in h2{margin:0 0 24.0px;
  font-size:28.0px}}.cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22.0px;background:none;border:0;border-radius:0;
  box-shadow:none;padding:0;margin-inline:0}@media(max-width:1024px){.cifras{
  gap:14.0px}}.cif{background:rgba(255,255,255,.9);border:0;border-radius:0;box-shadow:none;
  margin:0;padding:30.0px 22.0px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:6px;color:var(--ink)}@media(max-width:1024px){.cif{padding:20.0px 14.0px}}.cif:hover{background:rgba(255,255,255,.9)}.cif-i{display:flex;width:26px;height:26px;margin-bottom:6px;color:#A8360F}.cif-i svg{width:100%;height:100%}.cif-v{font-family:var(--disp);font-weight:700;line-height:1;letter-spacing:-.03em;
  font-size:43.2px;font-variant-numeric:tabular-nums lining-nums;
  color:#141210}@media(max-width:1024px){.cif-v{
  font-size:30.0px}}.cif-l{max-width:22ch;font-family:var(--mono);font-size:11.81px;
  line-height:1.45;letter-spacing:.1em;color:#4A4744}@media(max-width:1024px){.cif-l{font-size:11.0px}}@media(max-width:1024px){.cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.cifras{grid-template-columns:minmax(0,1fr)}}/* ── bloque "sponsor" · SPONSOR y BUSINESS SUPPORTERS ─────────────────────
   Fondo blanco, aire corto, rejilla de logos centrada con los logos a 90px de
   alto y 3rem de hueco, y el boton naranja del json.

   Dos colores del json no se pueden usar tal cual como TEXTO: el #FF6545 del
   titulo mide 2,92:1 sobre blanco, por debajo incluso del 3:1 de texto grande,
   asi que el titulo va en #B4462F (5,44:1), el mismo tono mas oscuro. El
   #FF6545 se conserva como RELLENO del boton, donde no es texto y ademas da
   6,47:1 con la tipografia en negro. El #416B8E de BUSINESS SUPPORTERS si
   pasa (5,65:1) y se deja tal cual. */
.spn-sec.spn-sup{background:#FFFFFF;padding-block:63.36px}@media(max-width:1024px){/* ── bloque "sponsor" · SPONSOR y BUSINESS SUPPORTERS ─────────────────────
   Fondo blanco, aire corto, rejilla de logos centrada con los logos a 90px de
   alto y 3rem de hueco, y el boton naranja del json.

   Dos colores del json no se pueden usar tal cual como TEXTO: el #FF6545 del
   titulo mide 2,92:1 sobre blanco, por debajo incluso del 3:1 de texto grande,
   asi que el titulo va en #B4462F (5,44:1), el mismo tono mas oscuro. El
   #FF6545 se conserva como RELLENO del boton, donde no es texto y ademas da
   6,47:1 con la tipografia en negro. El #416B8E de BUSINESS SUPPORTERS si
   pasa (5,65:1) y se deja tal cual. */
.spn-sec.spn-sup{padding-block:36.0px}}.spn-sup-head{text-align:center;max-width:820px;margin:0 auto 44.0px}@media(max-width:1024px){.spn-sup-head{margin:0 auto 28.0px}}.spn-sup-t{margin:0;color:#B4462F;font-size:51.84px;line-height:1.02;
  letter-spacing:.06em;text-transform:uppercase;font-weight:700}@media(max-width:1024px){.spn-sup-t{font-size:30.0px}}.spn-sup-s{margin:14px auto 0;max-width:56ch;font-size:var(--t-lead);line-height:1.45;
  color:var(--ink-2)}.spn-sup-cta{display:inline-block;margin-top:26.0px;
  background:#FF6545;color:#111111;border:0;border-radius:0;
  padding:14px 30px;font-family:var(--disp);font-weight:700;font-size:14px;
  letter-spacing:.16em;text-transform:uppercase;text-decoration:none}@media(max-width:1024px){.spn-sup-cta{margin-top:18.0px}}.spn-sup-cta:hover{background:#E8542F;color:#111111}.spn-sup-cta:focus-visible{outline:2px solid #111111;outline-offset:3px}.spn-sup-l{margin:0 0 28.0px;text-align:center;color:#416B8E;
  font-family:var(--mono);font-size:14.0px;letter-spacing:.2em;
  text-transform:uppercase}@media(max-width:1024px){.spn-sup-l{margin:0 0 18.0px;font-size:12.0px}}/* rejilla de tres, no flex: con wrap salian cinco arriba y uno huerfano abajo */
.spn-sup .spn-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3rem;background:none;border:0;justify-items:center;align-items:center;
  max-width:1000px;margin-inline:auto}.spn-sup .spn-logo{background:transparent;margin:0;padding:0;align-self:start;
  display:flex;flex-direction:column;align-items:center;gap:10px;max-width:240px}.spn-sup .spn-logo-box{display:flex;align-items:center;justify-content:center;
  height:90px}.spn-sup .spn-logo-box img{max-width:100%;max-height:90px;width:auto;height:auto;
  object-fit:contain}.spn-sup .spn-logo figcaption{text-align:center;color:var(--muted)}@media(max-width:1024px){.spn-sup .spn-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.spn-sup .spn-logo{max-width:150px}.spn-sup .spn-logo-box{height:70px}.spn-sup .spn-logo-box img{max-height:70px}}/* ── georgetown-directory-single-photo.json · bloque "resources_vendors" ──
   El formulario se aprieta sin perder ni un campo: alto de 3,25rem, area de
   texto de 7rem, 1rem entre campos, 0,65rem entre opciones y 1,25rem entre
   bloques. Titular clamp(3rem,5vw,5rem) con interlineado 0,92 y bajada a
   1,35rem.

   El borde que pide el json, #AEBBC5, mide 1,75:1 contra el crema de la
   pagina: un campo cuyo contorno casi no se ve. La norma pide 3:1 para el
   limite visible de un control. Va en #71879A, el mismo tono mas oscuro, que
   da 3,46:1 contra el campo y 3,33:1 contra el crema. El relleno #F3F7FA se
   respeta tal cual. */
#resources-and-vendors .wrap{max-width:1200px}#resources-and-vendors{padding-block:2.5rem}/* el bloque anterior escribia con #id + clase (1,1,1), asi que hay que
   igualarlo o el interlineado y la bajada no se mueven */
#resources-and-vendors .head.rrf-head h2{margin:0 0 1.5rem;
  font-size:72.0px;line-height:.92;letter-spacing:-.04em;
  font-weight:700;max-width:none}@media(max-width:1024px){/* el bloque anterior escribia con #id + clase (1,1,1), asi que hay que
   igualarlo o el interlineado y la bajada no se mueven */
#resources-and-vendors .head.rrf-head h2{
  font-size:48.0px}}#resources-and-vendors .head.rrf-head .lead{margin:0;font-size:1.35rem;
  line-height:1.15;max-width:62ch}#resources-and-vendors .head.rrf-head{margin-bottom:1.25rem}#resources-and-vendors .head.rrf-head .blade{margin:0 0 .75rem}.rrf{max-width:min(100%,1200px);margin-top:1.25rem}.rrf-set{margin-top:1.25rem}.rrf-ops{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2rem}.rrf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;
  margin-top:1.25rem}.rrf-f{gap:.4rem}.rrf-f input{height:3.25rem;padding:.75rem 1rem}.rrf-f textarea{height:7rem;min-height:7rem;padding:.75rem 1rem}.rrf-f input,.rrf-f textarea{background:#F3F7FA;border:1px solid #71879A;
  border-radius:.25rem;color:var(--ink)}.rrf-f input::placeholder,.rrf-f textarea::placeholder{color:#5B6B78}.rrf-full{margin-top:1rem}.rrf-go{margin-top:1.25rem}.rrf .tinynote{margin-top:1rem}@media(max-width:1024px){.rrf-ops,.rrf-grid{grid-template-columns:minmax(0,1fr)}}/* ── bloque "partners" · Art All Night, en dos columnas ───────────────────
   Las tres categorias con sus logos a la izquierda y el agradecimiento con la
   lista completa a la derecha, al 50% cada una, 4rem de hueco y 2,5rem de aire
   arriba y abajo. Los logos van en fila con salto y 1,5rem de separacion. */
.spons.spons-2col{padding-block:2.5rem;padding-inline:86.4px}@media(max-width:1024px){/* ── bloque "partners" · Art All Night, en dos columnas ───────────────────
   Las tres categorias con sus logos a la izquierda y el agradecimiento con la
   lista completa a la derecha, al 50% cada una, 4rem de hueco y 2,5rem de aire
   arriba y abajo. Los logos van en fila con salto y 1,5rem de separacion. */
.spons.spons-2col{padding-inline:22.5px}}.spons-2col .spons-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:4rem;align-items:start;max-width:1280px;margin-inline:auto}.spons-2col .spons-l{display:grid;gap:40.0px;align-content:start}@media(max-width:1024px){.spons-2col .spons-l{gap:24.0px}}.spons-2col .sprg{display:block}.spons-2col .spr-t{margin:0 0 14px;font-family:var(--mono);
  font-size:14.0px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);font-weight:400}@media(max-width:1024px){.spons-2col .spr-t{
  font-size:12.0px}}.spons-2col .spr-l{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:flex-start;gap:1.5rem;margin:0;padding:0;list-style:none}.spons-2col .spr-l li{margin:0}.spons-2col .spr-l img{display:block;max-height:64px;max-width:180px;width:auto;
  height:auto;object-fit:contain}.spons-2col .spr-l span{font-family:var(--disp);font-weight:600;font-size:var(--t-small)}.spons-2col .spr-i{margin:12px 0 0;max-width:52ch;font-size:var(--t-tiny);
  line-height:1.55;color:var(--ink-2);text-align:left}.spons-2col .spons-l{text-align:left}.spons-2col .spons-r{text-align:left}.spons-2col .spthx-t{margin:0;font-size:36.0px;line-height:1.06;
  letter-spacing:-.028em;font-weight:700}@media(max-width:1024px){.spons-2col .spthx-t{font-size:24.0px}}.spons-2col .spthx-d{margin:12px 0 0;max-width:56ch;font-size:var(--t-small);
  line-height:1.6;color:var(--ink-2)}.spons-2col .spthx-l{margin:18px 0 0;padding:0;list-style:none;
  display:grid;gap:8px}.spons-2col .spthx-l li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;
  font-size:var(--t-tiny);line-height:1.5}.spons-2col .spthx-l b{font-weight:600;color:var(--ink)}.spons-2col .spthx-l span{color:var(--muted)}@media(max-width:1024px){.spons-2col .spons-in{grid-template-columns:minmax(0,1fr);gap:2.5rem}}/* ── bloque "guides_hero" · el hero de Guides ─────────────────────────────
   El titular no se parte nunca y no se recorta: al clamp del json se le pone
   un tope en vw calculado para que las 27 letras entren en el ancho util. Por
   debajo de ~1150px manda el tope; por encima, el clamp. Interlineado 1,05,
   tracking -0,03em y todo centrado en el centro del encuadre.
   text-wrap y white-space comparten text-wrap-mode: se fijan los dos. */
.gu-hero{align-items:center;justify-content:center;text-align:center}/* el json fija 1100 para la BAJADA, no para el titular: a 1920 el titular a
   72px mide 1151 y se salia de la caja. La caja va a 1280 y la bajada mantiene
   su tope de 1100. */
.gu-hero-in{text-align:center;max-width:1280px}.gu-hero h1{margin:0;color:#fff;text-align:center;
  font-size:57.6px;line-height:1.05;
  letter-spacing:-.03em;font-weight:700;max-width:none;
  white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;word-break:normal;
  text-shadow:0 2px 8px rgba(0,0,0,.75)}@media(max-width:1024px){.gu-hero h1{
  font-size:22.88px}}.gu-hero .lead{margin:16px auto 0;max-width:1100px;text-align:center;color:#FFFFFF;
  font-size:23.04px;line-height:1.2;
  text-shadow:0 2px 8px rgba(0,0,0,.75)}@media(max-width:1024px){.gu-hero .lead{
  font-size:16.0px}}.gu-hero .blade{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.75)}.gu-hero::before{background:linear-gradient(180deg,rgba(12,9,7,.52) 0%,
  rgba(12,9,7,.66) 55%,rgba(12,9,7,.78) 100%)}/* ── bloque "legacy_guides" · las fichas de /guides/legacy/ ───────────────
   De rejilla de tres a filas de dos columnas: texto a la izquierda, foto a la
   derecha en 4:3 recortada, 3,5rem de aire por fila, 4rem entre columnas y un
   filete naranja separando cada fila. En movil se apila con el texto encima.

   El enlace en #FF6545 mide 2,92:1 sobre blanco y no llega al 4,5 que pide un
   texto de enlace, asi que va en #B4462F (5,44:1). El #FF6545 exacto se queda
   en el filete, que es decorativo y no esta sujeto a ese minimo. */
.lg-sec .wrap{max-width:1200px}.lg-grid.lg-filas{display:grid;grid-template-columns:minmax(0,1fr);gap:0;
  background:none;border:0}.lg-filas .lg-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:4rem;align-items:center;background:#FFFFFF;border:0;
  border-bottom:1px solid #FF6545;padding:3.5rem 0;border-radius:0}.lg-filas .lg-card:last-child{border-bottom:0}.lg-filas .lg-bd{padding:0;display:flex;flex-direction:column;justify-content:center}.lg-filas .lg-meta{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:8px 14px}.lg-filas .lg-year,.lg-filas .lg-cat{font-family:var(--mono);font-size:var(--t-tiny);
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lg-filas .lg-name{margin:0;font-size:31.68px;line-height:1.06;
  letter-spacing:-.02em;text-transform:uppercase;font-weight:700;color:var(--ink)}@media(max-width:1024px){.lg-filas .lg-name{font-size:24.0px}}.lg-filas .lg-desc{margin:12px 0 0;max-width:56ch;font-size:var(--t-small);
  line-height:1.6;color:var(--ink-2)}.lg-filas .lg-foot{margin-top:16px;display:flex;flex-direction:column;gap:4px}.lg-filas .lg-addr{margin:0;font-family:var(--mono);font-size:var(--t-tiny);
  color:var(--muted)}.lg-filas .lg-web{margin:0;font-family:var(--mono);font-size:var(--t-tiny);
  color:#B4462F;text-decoration:underline;text-underline-offset:3px}.lg-filas .lg-web:hover{color:#8F3722}.lg-filas .lg-ph{display:block;overflow:hidden;background:var(--bg-2)}.lg-filas .lg-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;
  object-fit:cover}/* el corte propio de Legacy a 820 se retira: ahora manda el tramo movil de
   767 del sistema de tres tramos */

/* ── bloque "donate" · la pagina de Donate ────────────────────────────────
   Arriba dos columnas: la mision a la izquierda y las formas de dar a la
   derecha. Debajo, a todo el ancho, el panel de los 23 donantes de 2025
   repartidos en columnas, con sus cuatro tramos. Menos aire del que habia.
   La url del json trae un utm de chatgpt; se publica limpia. */
.dnt{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:57.6px;align-items:start}@media(max-width:1024px){/* el corte propio de Legacy a 820 se retira: ahora manda el tramo movil de
   767 del sistema de tres tramos */

/* ── bloque "donate" · la pagina de Donate ────────────────────────────────
   Arriba dos columnas: la mision a la izquierda y las formas de dar a la
   derecha. Debajo, a todo el ancho, el panel de los 23 donantes de 2025
   repartidos en columnas, con sus cuatro tramos. Menos aire del que habia.
   La url del json trae un utm de chatgpt; se publica limpia. */
.dnt{
  gap:32.0px}}.dnt-l h2{margin:0 0 16px;font-size:42.0px;line-height:1.06;
  letter-spacing:-.03em;font-weight:700}@media(max-width:1024px){.dnt-l h2{font-size:28.0px}}.dnt-l p{margin:0 0 14px;max-width:60ch;font-size:var(--t-small);line-height:1.65;
  color:var(--ink-2)}.dnt-l p:last-child{margin-bottom:0}.dnt-r .blade{margin:0}.dnt-cta{margin-top:14px}.dnt-lab{margin:26px 0 6px;font-family:var(--mono);font-size:var(--t-tiny);
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.dnt-venmo{margin:0;font-family:var(--disp);font-weight:700;
  font-size:22.0px}@media(max-width:1024px){.dnt-venmo{
  font-size:18.0px}}.dnt-venmo a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.dnt-venmo a:hover{color:var(--orange-ink)}.dnt-check{margin:0;font-size:var(--t-tiny);line-height:1.6;color:var(--ink-2)}.dnt-addr{margin:10px 0 0;font-family:var(--mono);font-size:var(--t-tiny);
  line-height:1.7;color:var(--ink-2)}.dnr .blade{margin:0 0 28.0px}@media(max-width:1024px){.dnr .blade{margin:0 0 18.0px}}.dnr-cols{columns:3;column-gap:43.2px}@media(max-width:1024px){.dnr-cols{column-gap:24.0px}}.dnr-g{break-inside:avoid;margin:0 0 32.0px}@media(max-width:1024px){.dnr-g{margin:0 0 22.0px}}.dnr-g h3{margin:0 0 10px;font-family:var(--mono);font-size:var(--t-tiny);
  letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink);
  font-weight:400}.dnr-g ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.dnr-g li{font-size:var(--t-tiny);line-height:1.5;color:var(--ink)}@media(max-width:1024px){.dnt{grid-template-columns:minmax(0,1fr)}.dnr-cols{columns:2}}@media(max-width:1024px){.dnr-cols{columns:1}}/* ── bloque "directory_hero" · el hero del directorio, con una sola foto ──
   Una imagen de fondo recortada y nada mas encima: ni mapa ni segunda capa.
   El panel de texto se queda, en blanco sobre un degradado oscuro, que es lo
   unico que permite leerlo sobre una foto. Sustituye a la cabecera blanca
   compacta de corridor_search_header_update. */
.dhero.dhero-foto{position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  min-height:clamp(300px,38vh,420px);
  padding:72.0px var(--trim);margin-bottom:0;background:#100C0A}@media(max-width:1024px){/* ── bloque "directory_hero" · el hero del directorio, con una sola foto ──
   Una imagen de fondo recortada y nada mas encima: ni mapa ni segunda capa.
   El panel de texto se queda, en blanco sobre un degradado oscuro, que es lo
   unico que permite leerlo sobre una foto. Sustituye a la cabecera blanca
   compacta de corridor_search_header_update. */
.dhero.dhero-foto{
  padding:40.0px var(--trim)}}.dhero.dhero-foto .dhero-ph{display:block;position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  opacity:1;z-index:-2}/* mas arriba hay un .dhero::after{display:none}. La especificidad se decide
   propiedad a propiedad: si aqui no se declara display, ese none sigue
   mandando y el velo no se pinta. */
.dhero.dhero-foto::after{content:"";display:block;position:absolute;inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(12,9,7,.56) 0%,rgba(12,9,7,.72) 100%)}.dhero.dhero-foto::before{content:none}.dhero.dhero-foto .dhero-in{position:relative;z-index:1;max-width:var(--wrap);
  width:100%;margin-inline:auto;padding:0;text-align:center}.dhero.dhero-foto h1{color:#ffffff;max-width:none;
  text-shadow:0 2px 10px rgba(0,0,0,.6)}.dhero.dhero-foto .lead{color:#ffffff;max-width:64ch;margin-inline:auto;
  text-shadow:0 2px 10px rgba(0,0,0,.6)}.dhero.dhero-foto + .dir{background:var(--bg);padding-top:34.0px}@media(max-width:1024px){.dhero.dhero-foto + .dir{padding-top:20.0px}}/* ── georgetown-about-smaller-type-single-underline.json ──────────────────
   Todo un punto mas pequeño: titular clamp(2.1rem,3.4vw,4rem), cuerpo 1rem
   con interlineado 1,4 y subtitulo clamp(1.05rem,1.6vw,1.6rem) a 0,14em.

   Y UN SOLO filete. Habia dos: un border-bottom de 3px heredado de una regla
   vieja de .ab-block h2 y el ::after de 2px que puse yo. Se quita el borde y
   queda la linea del ::after, que es la que se puede medir y centrar. */
.abhero-2col .ab-block h2{
  font-size:23.04px;letter-spacing:.14em;
  border-bottom:0;text-decoration:none}@media(max-width:1024px){/* ── georgetown-about-smaller-type-single-underline.json ──────────────────
   Todo un punto mas pequeño: titular clamp(2.1rem,3.4vw,4rem), cuerpo 1rem
   con interlineado 1,4 y subtitulo clamp(1.05rem,1.6vw,1.6rem) a 0,14em.

   Y UN SOLO filete. Habia dos: un border-bottom de 3px heredado de una regla
   vieja de .ab-block h2 y el ::after de 2px que puse yo. Se quita el borde y
   queda la linea del ::after, que es la que se puede medir y centrar. */
.abhero-2col .ab-block h2{
  font-size:16.8px}}.abhero-2col .ab-block h2::after{width:56px;height:2px;background:var(--coral);
  margin-top:.5rem}.abhero-2col h1{font-size:48.96px}@media(max-width:1024px){.abhero-2col h1{font-size:33.6px}}.abhero-2col .ab-lead,.abhero-2col .ab-block p{font-size:1rem;line-height:1.4;
  max-width:620px}/* con el cuerpo mas corto sobra sitio: los topes por alto se recalculan */
@media(min-width:1025px) and (max-height:1200px){.abhero-2col h1{font-size:48.96px}@media(max-width:1024px){.abhero-2col h1{font-size:33.6px}}}@media(min-width:1025px) and (max-height:920px){.abhero-2col h1{font-size:48.96px}.abhero-2col .ab-block h2{font-size:23.04px}}@media(min-width:1025px) and (max-height:780px){.abhero-2col h1{font-size:48.96px}}/* ── georgetown-guides-two-line-subtitle.json ─────────────────────────────
   La bajada pasa a 900 de medida para que caiga en dos lineas, y se va la
   linea gris: era el border-top de 1px al 34% de blanco que llevaba .gu-feat,
   el bloque de "Featured guide" dentro del propio hero. */
/* Con tope solo en pixeles la bajada caia en UNA linea entre 900 y 1100: ahi
   la letra ya se ha encogido y los 110 caracteres entran de sobra en 900px.
   El tope tambien va en ch, que es lo que fija de verdad cuantas letras entran
   por renglon. Con 62ch salen dos lineas de 500 a 1920 en los dos motores. */
.gu-hero .lead{max-width:min(900px,62ch)}.gu-hero .gu-feat{border-top:0}/* ── georgetown-partner-sections-tight-spacing.json ───────────────────────
   Las tarjetas de organizaciones dejan de ser un carrusel y pasan a rejilla
   de tres. Era justo lo que pedia "remove_edge_cropping": con el carrusel la
   cuarta quedaba cortada por el borde y habia que darle a la flecha para
   verla. Ahora se ven las cuatro de una vez. Aire corto arriba y abajo. */
.orgs-sec{padding-top:1rem;margin-top:.75rem;padding-bottom:0}.orgs{max-width:1200px;margin:0 auto;padding:2rem 72.0px 1rem}@media(max-width:1024px){.orgs{padding:2rem 18.75px 1rem}}.orgs-h{margin:0 0 10px}.orgs-sub{margin:0 auto 1rem;max-width:760px;text-align:center}.orgs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2rem;margin:0;overflow:visible}.orgs-grid .org{flex:none;background:none;border:0;box-shadow:none;margin:0;
  padding:2.5rem 2rem;display:flex;flex-direction:column;text-align:center;
  align-items:center}.orgs-sec + section{margin-top:.75rem}/* nada de recortar la descripcion a tres renglones: el json pide verlas
   enteras y sin flechas */
.orgs-grid .org p{display:block;-webkit-line-clamp:none;overflow:visible;
  max-width:none}.orgs-grid .orgs-nav{display:none}@media(max-width:1024px){.orgs-grid .org{padding:1.75rem 1.25rem}}/* ── georgetown-directory-compact-hero.json · el hero, mas bajo ───────────
   Tope de 520 de alto, 2rem por 4vw de aire, titular clamp(2rem,3.2vw,3.75rem)
   con interlineado 0,98 y bajada a 1rem. Los mandos de abajo cogen 3rem de
   alto y 0,5rem de esquina. */
/* solo con el tope de 520 y 2rem de aire el hero quedaba en 164px: una tira
   demasiado fina para una foto. Se le pone un suelo de 260, que sigue siendo
   compacto y muy por debajo del maximo que pide el json. */
.dhero.dhero-foto{min-height:clamp(240px,26vh,300px);max-height:520px;
  padding:2rem 57.6px}@media(max-width:1024px){/* ── georgetown-directory-compact-hero.json · el hero, mas bajo ───────────
   Tope de 520 de alto, 2rem por 4vw de aire, titular clamp(2rem,3.2vw,3.75rem)
   con interlineado 0,98 y bajada a 1rem. Los mandos de abajo cogen 3rem de
   alto y 0,5rem de esquina. */
/* solo con el tope de 520 y 2rem de aire el hero quedaba en 164px: una tira
   demasiado fina para una foto. Se le pone un suelo de 260, que sigue siendo
   compacto y muy por debajo del maximo que pide el json. */
.dhero.dhero-foto{
  padding:2rem 15.0px}}.dhero.dhero-foto h1{font-size:46.08px;line-height:.98;
  margin:0 auto}@media(max-width:1024px){.dhero.dhero-foto h1{font-size:32.0px}}.dhero.dhero-foto .lead{font-size:1rem;line-height:1.35;margin:.75rem auto 0}.dhero.dhero-foto + .dir .dsearch{border-radius:.5rem}.dhero.dhero-foto + .dir .dsearch input{height:3rem}.dhero.dhero-foto + .dir .dv{height:3rem;border-radius:.5rem}/* ── georgetown-about-headline-aligned-photo.json ─────────────────────────
   El titular tiene que empezar a la misma altura que la foto. La ceja ABOUT
   estaba dentro de la columna de texto y la empujaba hacia abajo, asi que
   sale de la columna y pasa a etiquetar toda la seccion: la rejilla arranca
   ya con el titular a la izquierda y la foto a la derecha, tops alineados.
   Sin padding arriba en ninguna de las dos columnas y sin margen en el h1. */
.abhero-2col .abhero-in{display:flex;flex-direction:column;gap:0}.abhero-2col .ab-grid2{flex:1;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;
  align-items:start;min-height:0}.abhero-2col .abhero-in > .blade{margin:0 0 1rem;text-align:left;
  color:var(--muted);font-size:14.4px;letter-spacing:.24em}@media(max-width:1024px){.abhero-2col .abhero-in > .blade{font-size:12.0px}}.abhero-2col .ab-copy{padding-top:0;align-self:start}.abhero-2col .ab-copy h1{margin-top:0}.abhero-2col .ab-photo{padding-top:0;align-self:stretch}@media(min-width:1025px){.abhero-2col .ab-grid2{align-items:stretch}.abhero-2col .ab-copy{align-self:start}}@media(max-width:1024px){.abhero-2col .ab-grid2{grid-template-columns:minmax(0,1fr);gap:2rem}.abhero-2col .ab-copy{order:0}.abhero-2col .ab-photo{order:1}}/* ── georgetown-guides-soft-blue-text.json + -shorter-subtitle.json ───────
   El texto del hero de Guides pasa de blanco a un azul claro: #D7E5F2 en el
   titular, la bajada, el destacado y el boton, y #C5D7E6 en la ceja. La
   bajada se acorta y baja a 760 de medida, en dos lineas.
   Sobre el velo oscuro los dos azules siguen muy por encima del minimo; se
   mide abajo con el pixel real, no de oido. */
.gu-hero h1{color:#D7E5F2}.gu-hero .lead{color:#D7E5F2;max-width:min(760px,52ch)}.gu-hero .blade{color:#C5D7E6}.gu-hero .gu-feat-eb,.gu-hero .gu-feat-h{color:#D7E5F2}.gu-hero .gu-feat-cta{color:#D7E5F2;border-color:#D7E5F2}.gu-hero .gu-feat-cta:hover{background:#D7E5F2;color:#12202C;border-color:#D7E5F2}/* ── georgetown-wander-compact-heading.json · el hero de Wander ───────────
   Menos aire arriba, titular clamp(2.25rem,4vw,4rem) con interlineado 1 y
   bajada clamp(1rem,1.5vw,1.35rem) a 900 de medida. Todo centrado. */
/* el hero de wander lleva ademas el tramo por longitud .h1-xl, que pesa mas:
   se repiten etiqueta y clases para ganarle */
header.phead.phead-wander{padding-top:1.5rem;padding-bottom:2rem}/* mas arriba hay un body:has(.phead-centrado + section#corridor) .phead-centrado
   que fija el padding inferior. Ese :has() toma la especificidad de su
   argumento mas alto, que lleva un #id, asi que pesa (1,2,2) y gana a
   cualquier selector de clases. Se repite el mismo guardia para superarlo. */
body:has(.phead-centrado + section#corridor) header.phead.phead-wander{
  padding-bottom:2rem}header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:57.6px;line-height:1;margin-bottom:.75rem}@media(max-width:1024px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:36.0px}}header.phead.phead-centrado.phead-wander .blade{margin-bottom:.5rem}header.phead.phead-centrado.phead-wander .lead{
  font-size:21.6px;line-height:1.2;max-width:900px;
  margin-top:0}@media(max-width:1024px){header.phead.phead-centrado.phead-wander .lead{
  font-size:16.0px}}/* ── bloque "georgetown_bid" · la seccion del BID ─────────────────────────
   Centrada como la de Board of Directors, con la bajada en una linea y 720
   de medida. Titular clamp(2.5rem,5vw,4.5rem) y bajada a 1,25rem. */
.bidsec{padding:3rem 72.0px 2rem}@media(max-width:1024px){/* ── bloque "georgetown_bid" · la seccion del BID ─────────────────────────
   Centrada como la de Board of Directors, con la bajada en una linea y 720
   de medida. Titular clamp(2.5rem,5vw,4.5rem) y bajada a 1,25rem. */
.bidsec{padding:3rem 18.75px 2rem}}.bidsec .wrap{text-align:center}.bid-eyebrow{margin:0 0 1rem}.bid-h{margin:0;font-size:72.0px;line-height:1.02;
  letter-spacing:-.035em;text-align:center}@media(max-width:1024px){.bid-h{font-size:40.0px}}.bid-i{margin:1rem auto 36.0px;max-width:720px;
  font-size:1.25rem;line-height:1.3;text-align:center}@media(max-width:1024px){.bid-i{margin:1rem auto 24.0px}}.bid-cols{text-align:left}/* ── bloque "help_cards" · las tres tarjetas de "How can we help?" ────────
   Esquina de 1rem, velo oscuro y el titulo abajo a la izquierda. Las fotos
   siguen siendo las del corredor: los tres archivos que nombra el json
   ("main distric.png", "martin tavern.png", "court.png") son LOGOS, no fotos,
   y recortados a cover con un velo encima se verian rotos. */
.bznav .bzn{border-radius:1rem;overflow:hidden}.bznav .bzn-t{align-self:flex-start;text-align:left}/* La ceja en #C5D7E6 a 12-14px medía 3,85:1 sobre el punto mas claro de la
   foto: por debajo del 4,5 que pide un texto normal. Los tres colores del
   json se respetan tal cual; lo que sube es el velo, que es lo unico que no
   fija el json ("dark gradient for text contrast"). */
.gu-hero::before{background:linear-gradient(180deg,rgba(12,9,7,.65) 0%,
  rgba(12,9,7,.76) 55%,rgba(12,9,7,.86) 100%)}/* ── georgetown-discover-underline-aligned.json · el trazo del menu ───────
   El subrayado del elemento activo media 92px fijos sobre un boton de 99: no
   llegaba a cubrir la palabra y quedaba descentrado a ojo. Pasa a ocupar el
   100% del elemento, sin margen negativo, sin transform y recto, a 0,5rem
   por debajo del texto. */
.nav-thick .glink::after,.nav-thick .gbtn::after{
  left:0;right:0;width:100%;max-width:none;margin-left:0;margin-right:0;
  transform:none;rotate:0deg;skew:0deg;bottom:0}.nav-thick .gbtn::after{max-width:none}.nav-thick .glink,.nav-thick .gbtn{padding-bottom:.5rem}/* ── georgetown-legacy-compact-improved.json · Legacy, mas apretada ───────
   Titular corto y menor —clamp(2rem,3.5vw,4rem) con interlineado 1 y 900 de
   medida—, entradilla a 1,1rem con 850, y las filas de 3,5rem de aire a 2rem
   con 2,5rem entre columnas. */
header.phead.phead-legacy{padding:2.5rem 72.0px 2rem}@media(max-width:1024px){/* ── georgetown-legacy-compact-improved.json · Legacy, mas apretada ───────
   Titular corto y menor —clamp(2rem,3.5vw,4rem) con interlineado 1 y 900 de
   medida—, entradilla a 1,1rem con 850, y las filas de 3,5rem de aire a 2rem
   con 2,5rem entre columnas. */
header.phead.phead-legacy{padding:2.5rem 18.75px 2rem}}header.phead.phead-legacy h1{margin:0;max-width:900px;
  font-size:50.4px;line-height:1;letter-spacing:-.035em}@media(max-width:1024px){header.phead.phead-legacy h1{
  font-size:32.0px}}header.phead.phead-legacy .lead{margin:1rem 0 0;max-width:850px;
  font-size:1.1rem;line-height:1.5}.lg-filas .lg-card{padding:2rem 0;gap:2.5rem}/* el aire corto de las filas de Legacy vive ya en el tramo movil de 767 */

/* ── georgetown-fixed-desktop-responsive-breakpoints.json ─────────────────
   Sistema de tres tramos fijos en vez de una escala continua.

   ESCRITORIO (>=1025px): el lienzo deja de crecer con la ventana. La medida
   pasa de min(1440px,94vw) —que se estiraba hasta 1440— a 1200 fijos. Por
   encima de 1200 la pagina ya no se ensancha: se centra. Entre 1025 y 1200
   la caja se ajusta al hueco disponible menos los margenes, porque el json
   prohibe expresamente el scroll horizontal y una caja rigida de 1200 en una
   ventana de 1100 lo provocaria.

   TABLETA (<=1024px) y MOVIL (<=767px): son los cortes canonicos. Aqui se
   alinean a ellos las secciones de esta serie de specs. Las de paginas
   anteriores conservan sus propios cortes: hay 288 media queries en la hoja
   con unos 25 puntos distintos, cada uno elegido para su componente, y
   reasignarlos a ciegas romperia layouts que hoy estan bien. */
:root{--wrap:1200px; --bp-tablet:1024px; --bp-mobile:767px}.wrap,.sheet,.abhero-2col .abhero-in{max-width:min(1200px,100%);margin-inline:auto}.nav .in,.hero .in,.nextup .in,.crumbs,.phead .in,.spn-head{
  max-width:min(1200px,100%)}#gms-programs .wrap{max-width:min(1200px,100%)}html,body{overflow-x:clip;max-width:100%}/* los cortes de las secciones de esta serie, a 1024 y 767 */
@media(max-width:1024px){.abhero.abhero-2col{min-height:0;padding:3rem 86.4px;display:block}@media(max-width:1024px){.abhero.abhero-2col{padding:3rem 22.5px}}.abhero-2col .ab-grid2{grid-template-columns:minmax(0,1fr);gap:2rem}.abhero-2col .ab-photo{order:1;align-self:auto;position:static}.abhero-2col .ab-photo img{position:static;height:auto;aspect-ratio:3/2}.spons-2col .spons-in{grid-template-columns:minmax(0,1fr);gap:2.5rem}.dnt{grid-template-columns:minmax(0,1fr)}.dnr-cols{columns:2}.cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){/* Legacy se queda a dos columnas hasta movil: su propio bloque del json solo
     define "desktop: texto izquierda, foto derecha" y "mobile: apilado", sin
     tramo de tableta, y a 1024 las dos columnas todavia se leen bien. */
  .lg-filas .lg-card{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:1.5rem 0}.cifras{grid-template-columns:minmax(0,1fr)}.dnr-cols{columns:1}.rrf-ops,.rrf-grid{grid-template-columns:minmax(0,1fr)}.aw-list{grid-template-columns:minmax(0,1fr)}.spn-sup .spn-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}/* ── georgetown-fixed-layout-no-fluid-motion.json · lienzo fijo ───────────
   De 1025 en adelante nada es fluido por ANCHO: tipografia, aire, medidas y
   numero de columnas quedan clavados en el valor que tienen con el lienzo de
   1200 en una ventana de 1440, que es la referencia del json. El bloque de
   abajo esta GENERADO midiendo la pagina real a 1440 y volcando los px
   resueltos: no se escribio a mano ni se estimo.

   NO se congela min-height. Ese valor no depende del ancho sino del alto de
   la ventana, y es lo que hace que el hero de About entre en una pantalla,
   cosa que el mismo json sigue pidiendo. Por eso los tramos por ALTO se
   vuelven a declarar despues del bloque, para que sigan ganando. El json
   prohibe cortes entre 1025 y 1440, y los de alto no son cortes de ancho.

   Se congelan las secciones de esta serie. Las demas conservan su escala
   fluida: son 288 media queries con 25 puntos de corte, y congelarlas a
   ciegas romperia paginas que hoy estan bien. */
@media(min-width:1025px){.abhero.abhero-2col{font-size:17px;line-height:27.54px;padding-top:40px;padding-bottom:40px;padding-left:86.4px;padding-right:86.4px}.abhero-2col .abhero-in > .blade{font-size:14.4px;line-height:23.328px;letter-spacing:3.456px;margin-bottom:16px}.abhero-2col h1{font-size:48.96px;line-height:47.9808px;letter-spacing:-2.2032px;margin-bottom:24px}.abhero-2col .ab-lead{font-size:16px;line-height:22.4px;max-width:620px}.abhero-2col .ab-vm{font-size:17px;line-height:27.54px;margin-top:24px;row-gap:18px;column-gap:18px}.abhero-2col .ab-block h2{font-size:23.04px;line-height:26.04px;letter-spacing:3.2256px;padding-bottom:7px;margin-bottom:4.8px}.abhero-2col .ab-block p{font-size:16px;line-height:22.4px;max-width:620px}.abhero-2col .ab-grid2{font-size:17px;line-height:27.54px;row-gap:48px;column-gap:48px;grid-template-columns:repeat(2,minmax(0,1fr))}.orgs{font-size:17px;line-height:27.54px;padding-top:32px;padding-bottom:16px;padding-left:72px;padding-right:72px;max-width:1200px}.orgs-h{font-size:46.08px;line-height:48.384px;letter-spacing:-1.19808px;margin-bottom:10px}.orgs-sub{font-size:20px;line-height:25px;margin-bottom:16px;max-width:760px}.orgs-grid{font-size:17px;line-height:27.54px;row-gap:32px;column-gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.orgs-grid .org{font-size:17px;line-height:27.54px;padding-top:40px;padding-bottom:40px;padding-left:32px;padding-right:32px}.bidsec{font-size:17px;line-height:27.54px;padding-top:48px;padding-bottom:32px;padding-left:72px;padding-right:72px;margin-top:144px;margin-bottom:96px}.bid-h{font-size:72px;line-height:73.44px;letter-spacing:-2.52px}.bid-i{font-size:20px;line-height:26px;margin-top:16px;margin-bottom:36px;max-width:720px}.bid-eyebrow{font-size:11px;line-height:17.82px;letter-spacing:2.42px;margin-bottom:16px}.cifsec{font-size:17px;line-height:27.54px;padding-top:72px;padding-bottom:72px;padding-left:48.96px;padding-right:48.96px}.cifsec-in .blade{font-size:14.4px;line-height:23.328px;letter-spacing:3.456px;margin-bottom:10px}.cifsec-in h2{font-size:48px;line-height:49.92px;letter-spacing:-1.68px;margin-bottom:40px}.cifras{font-size:17px;line-height:27.54px;row-gap:22px;column-gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.cif{font-size:17px;line-height:27.54px;padding-top:30px;padding-bottom:30px;padding-left:22px;padding-right:22px;row-gap:6px;column-gap:6px}.cif-v{font-size:43.2px;line-height:43.2px;letter-spacing:-1.296px}.cif-l{font-size:11.808px;line-height:17.1216px;letter-spacing:1.1808px;max-width:155.76px}#resources-and-vendors{font-size:17px;line-height:27.54px;padding-top:40px;padding-bottom:40px}#resources-and-vendors .head.rrf-head h2{font-size:72px;line-height:66.24px;letter-spacing:-2.88px;margin-bottom:24px}#resources-and-vendors .head.rrf-head .lead{font-size:21.6px;line-height:24.84px;max-width:766.964px}.rrf{font-size:17px;line-height:27.54px;margin-top:20px}.rrf-ops{font-size:17px;line-height:27.54px;margin-top:14px;row-gap:10.4px;column-gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}.rrf-grid{font-size:17px;line-height:27.54px;margin-top:20px;row-gap:16px;column-gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}.bznav{font-size:17px;line-height:27.54px;padding-bottom:40px;row-gap:16px;column-gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.bzn{font-size:17px;line-height:27.54px;padding-top:28px;padding-bottom:28px;padding-left:28px;padding-right:28px;row-gap:24px;column-gap:24px}.bznav-h h2{font-size:37.44px;line-height:39.6864px;letter-spacing:-0.936px;margin-bottom:26px}.gu-hero{font-size:17px;line-height:27.54px;padding-top:96px;padding-bottom:43.2px;padding-left:72px;padding-right:72px}.gu-hero h1{font-size:57.6px;line-height:60.48px;letter-spacing:-1.728px}.gu-hero .lead{font-size:23.04px;line-height:27.648px;margin-top:16px;max-width:686.144px}.gu-hero .blade{font-size:14.4px;line-height:23.328px;letter-spacing:3.456px;margin-bottom:16px}header.phead.phead-legacy{font-size:17px;line-height:27.54px;padding-top:40px;padding-bottom:32px;padding-left:72px;padding-right:72px}header.phead.phead-legacy h1{font-size:50.4px;line-height:50.4px;letter-spacing:-1.764px;max-width:900px}header.phead.phead-legacy .lead{font-size:17.6px;line-height:26.4px;margin-top:16px;max-width:850px}.lg-filas .lg-card{font-size:17px;line-height:27.54px;padding-top:32px;padding-bottom:32px;row-gap:40px;column-gap:40px;grid-template-columns:repeat(2,minmax(0,1fr))}.lg-filas .lg-name{font-size:31.68px;line-height:33.5808px;letter-spacing:-0.6336px}.lg-filas .lg-desc{font-size:15px;line-height:24px;margin-top:12px;max-width:481.07px}.dnt{font-size:17px;line-height:27.54px;row-gap:57.6px;column-gap:57.6px;grid-template-columns:repeat(2,minmax(0,1fr))}.dnt-l h2{font-size:42px;line-height:44.52px;letter-spacing:-1.26px;margin-bottom:16px}.dnt-l p{font-size:15px;line-height:24.75px;margin-bottom:14px;max-width:515.433px}.dnr-cols{font-size:17px;line-height:27.54px;column-gap:43.2px;column-count:3}.dnr-g h3{font-size:12px;line-height:15px;letter-spacing:1.44px;margin-bottom:10px}.dnr-g li{font-size:12px;line-height:18px}.spn-sec.spn-sup{font-size:17px;line-height:27.54px;padding-top:63.36px;padding-bottom:63.36px}.spn-sup-t{font-size:51.84px;line-height:52.8768px;letter-spacing:3.1104px}.spn-sup-s{font-size:20.4px;line-height:29.58px;margin-top:14px;max-width:654.256px}.spn-sup-l{font-size:14px;line-height:22.68px;letter-spacing:2.8px;margin-bottom:28px}.spn-sup .spn-logos{font-size:17px;line-height:27.54px;row-gap:48px;column-gap:48px;max-width:1000px;grid-template-columns:repeat(3,minmax(0,1fr))}.spons.spons-2col{font-size:17px;line-height:27.54px;padding-top:40px;padding-bottom:40px;padding-left:86.4px;padding-right:86.4px}.spons-2col .spons-in{font-size:17px;line-height:27.54px;row-gap:64px;column-gap:64px;max-width:1280px;grid-template-columns:repeat(2,minmax(0,1fr))}.spons-2col .spr-t{font-size:14px;line-height:17.5px;letter-spacing:2.8px;margin-bottom:14px}.spons-2col .spthx-t{font-size:36px;line-height:38.16px;letter-spacing:-1.008px}.spons-2col .spthx-d{font-size:15px;line-height:24px;margin-top:12px;max-width:481.07px}.aw-map{font-size:17px;line-height:27.54px}.aw-list{font-size:17px;line-height:27.54px;margin-top:32px;column-gap:34.56px;grid-template-columns:repeat(3,minmax(0,1fr))}.dhero.dhero-foto{font-size:17px;line-height:27.54px;padding-top:32px;padding-bottom:32px;padding-left:57.6px;padding-right:57.6px}.dhero.dhero-foto h1{font-size:46.08px;line-height:45.1584px;letter-spacing:-2.0736px}.dhero.dhero-foto .lead{font-size:16px;line-height:21.6px;margin-top:12px;max-width:586.448px}header.phead.phead-wander{font-size:17px;line-height:27.54px;padding-top:24px;padding-bottom:32px}header.phead.phead-wander h1{font-size:57.6px;line-height:57.6px;letter-spacing:-2.592px;margin-bottom:12px}header.phead.phead-wander .lead{font-size:21.6px;line-height:25.92px;max-width:900px}}/* los tramos por alto del hero de About, otra vez, para que ganen al bloque
   congelado que acaba de fijar el tamaño del titular */
@media(min-width:1025px) and (max-height:1200px){.abhero-2col h1{font-size:48.96px}@media(max-width:1024px){.abhero-2col h1{font-size:33.6px}}}@media(min-width:1025px) and (max-height:920px){.abhero.abhero-2col{padding-block:2.5rem}.abhero-2col h1{font-size:48.96px}.abhero-2col .abhero-in > .blade{margin-bottom:.625rem}.abhero-2col .ab-vm{margin-top:1.5rem;gap:1.125rem}.abhero-2col .ab-block h2{font-size:23.04px;
    margin-bottom:.3rem}}@media(min-width:1025px) and (max-height:800px){.abhero.abhero-2col{padding-block:2rem}.abhero-2col .ab-vm{gap:.75rem}}@media(min-width:1025px) and (max-height:780px){.abhero.abhero-2col{padding-block:1.5rem}.abhero-2col h1{font-size:48.96px;margin-bottom:1.25rem}.abhero-2col .abhero-in > .blade{margin-bottom:.5rem}.abhero-2col .ab-vm{margin-top:1.25rem;gap:.875rem}}/* Tres puntos que seguian moviendose con el ancho, cada uno por una regla mas
   especifica que el bloque congelado:
   · el titular y el subtitulo de About los volvia a soltar el propio tramo por
     alto, porque llevaba dentro un clamp en vw. Ahora el tope por alto se
     aplica sobre el valor YA congelado: min(px fijo, vh).
   · los margenes de .bidsec los fija body:has(.abhero) .msmap + section, que
     pesa (0,2,2); se iguala con body:has(.abhero) section.bidsec.
   · el titular de Wander lo fija el tramo por longitud .h1-xl, que pesa (0,4,1). */
@media(min-width:1025px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1{
    font-size:57.6px;line-height:57.6px}header.phead.phead-centrado.phead-wander .lead{font-size:21.6px;line-height:25.92px}body:has(.abhero) section.bidsec{margin-top:144px;margin-bottom:96px}}@media(min-width:1025px) and (max-height:1200px){.abhero-2col h1{font-size:min(48.96px,6.4vh)}}@media(min-width:1025px) and (max-height:920px){.abhero-2col h1{font-size:min(48.96px,6.4vh)}.abhero-2col .ab-block h2{font-size:min(23.04px,2.6vh)}}@media(min-width:1025px) and (max-height:780px){.abhero-2col h1{font-size:min(48.96px,6vh)}}/* El interlineado del titular de About se congelo en px, asi que al entrar el
   tope por alto la proporcion se iba a 1,041 en vez de 0,98. Va sin unidad,
   que es lo que hace que siga al tamaño. Y el tope de las ventanas de 800 se
   baja a 5,6vh: con 6,4 no llegaba a morder y 1280x800 se salia 18px. */
@media(min-width:1025px){.abhero-2col h1{line-height:.98}}@media(min-width:1025px) and (max-height:800px){.abhero-2col h1{font-size:min(48.96px,5.6vh)}}@media(min-width:1025px) and (max-height:780px){.abhero-2col h1{font-size:min(48.96px,5.4vh)}}/* ── georgetown-fixed-menu-bar.json · la barra, fija en escritorio ────────
   De 1025 en adelante la barra deja de repartirse sola: pasa a rejilla de
   tres columnas 1fr / auto / 1fr, que centra el menu respecto al CONTENEDOR y
   no respecto al hueco que sobra. Con el flex anterior (flex:1 mas
   justify-content:center) el bloque central se desplazaba cada vez que
   cambiaba el ancho del logo o de los botones: eso es justo el "auto_justify"
   que el json quiere quitar. Altura fija de 88, sin envolver, y el ancho
   pegado al lienzo de 1200.

   El alto de la barra entra en el calculo del hero de About, que mide una
   pantalla descontando topbar y barra: si sube a 88 y la variable se queda en
   72, el hero se pasa 16px del pliegue. Se actualiza aqui mismo. */
@media(min-width:1025px){:root{--nav-h:88px}.nav-thick .in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    height:88px;min-height:88px;padding:0 24px;gap:30px;
    width:min(1200px,100%);max-width:min(1200px,100%);margin-inline:auto;
    flex-wrap:nowrap}.nav-thick .brand{justify-self:start;flex-shrink:0}.nav-thick .links{justify-self:center;flex:none;flex-wrap:nowrap;
    justify-content:center;white-space:nowrap}.nav-thick .navtools{justify-self:end;flex-wrap:nowrap;flex-shrink:0}.nav-thick .grp,.nav-thick .glink,.nav-thick .gbtn{white-space:nowrap}}/* El grupo derecho cambiaba de ancho a 1366 (356 → 379) y arrastraba los cinco
   destinos del menu. La culpa era de un @media(min-width:1025px) and
   (max-width:1024px) que aprieta el boton del corredor y el hueco de las
   herramientas: un corte por ancho DENTRO del tramo que el json prohibe. Se
   neutraliza fijando los valores del estado ancho. */
@media(min-width:1025px){.nav-thick .btn-corridor{padding:0 18px 0 22px;gap:12px}.nav-thick .navtools{gap:14px}.nav-thick .navtools .btn-nav{margin-left:0}}/* faltaba el boton de Donate: ese mismo tramo prohibido le quita 8px de
   padding por lado, que son los 16 que movian todo el menu a partir de 1366 */
@media(min-width:1025px){.nav-thick .btn-nav{padding:0 30px}.nav-thick .navtools .btn-nav{margin-left:12px}}/* El hero de About seguia dependiendo del ancho por un lado inesperado: su
   padding lateral estaba congelado en 86,4px, y como la seccion es a sangre,
   a 1280 el hueco interior quedaba en 1107 y a 1440 en 1200. Columna mas
   estrecha, entradilla con un renglon mas, 17px de mas y se salia del pliegue.
   El aire lateral pasa a 24 y el centrado lo hace la caja de 1200: asi el
   lienzo interior es identico de 1248 en adelante. */
@media(min-width:1025px){.abhero.abhero-2col{padding-left:24px;padding-right:24px}}/* ── georgetown-partnership-cards-texture-aligned.json ────────────────────
   Este bloque NO es el de las organizaciones: son las tres tarjetas BID /
   Both / GMS. Se ve en que pide tres columnas con encabezado y LISTA y 640 de
   alto minimo, que es justo esa comparativa. Las organizaciones tienen su
   propio bloque aparte en el mismo json.

   Fondo #F7F5F1 con grano de papel al 8%. El grano va como SVG feTurbulence
   incrustado: unos 250 bytes. Un PNG de 160x160 con ruido real pesaba 21,5 KB
   en base64 dentro de la hoja, y es una textura decorativa. */
.bidsec{background:#F7F5F1;position:relative;isolation:isolate;
  max-width:1200px;margin:1.5rem auto .75rem;padding:2rem 72.0px 1rem}@media(max-width:1024px){/* ── georgetown-partnership-cards-texture-aligned.json ────────────────────
   Este bloque NO es el de las organizaciones: son las tres tarjetas BID /
   Both / GMS. Se ve en que pide tres columnas con encabezado y LISTA y 640 de
   alto minimo, que es justo esa comparativa. Las organizaciones tienen su
   propio bloque aparte en el mismo json.

   Fondo #F7F5F1 con grano de papel al 8%. El grano va como SVG feTurbulence
   incrustado: unos 250 bytes. Un PNG de 160x160 con ruido real pesaba 21,5 KB
   en base64 dentro de la hoja, y es una textura decorativa. */
.bidsec{padding:2rem 18.75px 1rem}}.bidsec::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E");
  background-size:160px 160px;background-repeat:repeat}.bid-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;
  align-items:stretch;text-align:left;overflow:visible}.bidc{margin:0;padding:2.5rem 2rem;min-height:640px;display:flex;
  flex-direction:column;text-align:left;position:relative;isolation:isolate}.bidc::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  border-radius:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='0.08'/%3E%3C/svg%3E");
  background-size:160px 160px;background-repeat:repeat}.bidc h3,.bidc .bidc-s,.bidc ul,.bidc li{text-align:left}.bidc ul{margin-top:1.5rem}.bidsec + section{margin-top:.75rem}/* el aire lateral en vw rompe el lienzo congelado: en escritorio va en px */
@media(min-width:1025px){.bidsec{padding:2rem 72px 1rem;margin:1.5rem auto .75rem;max-width:1200px}body:has(.abhero) section.bidsec{margin-top:1.5rem;margin-bottom:.75rem}}@media(max-width:1024px){.bid-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.bidc{min-height:0}}@media(max-width:1024px){.bid-cols{grid-template-columns:minmax(0,1fr)}}/* ── georgetown-partner-organizations-four-logos.json ─────────────────────
   Las cuatro organizaciones pasan de tarjeta con foto y descripcion a fila de
   cuatro logos: rejilla FIJA de 4 (no auto-fit), 1,5rem de hueco, logo de
   120 de alto con contain y todo centrado. Se cae el parrafo; el nombre se
   queda de pie. Los cuatro archivos ya son logos con transparencia, el de
   Citizens incluido. */
.orgs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.5rem;align-items:center;justify-items:center;overflow:visible}.orgs-grid .org{padding:0;background:none;border:0;box-shadow:none;margin:0;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  text-align:center;max-width:none;width:100%}.orgs-grid .org-ph{display:flex;align-items:center;justify-content:center;
  width:100%;height:120px;background:none;overflow:visible}.orgs-grid .org-ph img{width:100%;height:120px;max-height:120px;
  object-fit:contain;object-position:center}.orgs-grid .org h3{margin:0;text-align:center;font-size:14.4px;
  line-height:1.3;font-weight:600;color:var(--ink-2)}@media(max-width:1024px){.orgs-grid .org h3{font-size:13.0px}}@media(min-width:1025px){.orgs-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.orgs-grid .org h3{font-size:14.4px}}@media(max-width:1024px){.orgs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}/* Los cuatro logos salian en gris: quedaba un filter:grayscale(1) contrast(2)
   de cuando eran fotos de tarjeta. Van a color, que es lo que son. */
.orgs-grid .org-ph img,
.orgs-grid .org:hover .org-ph img,
.orgs-grid .org:focus-within .org-ph img{filter:none;opacity:1;transform:none}/* ── georgetown-partner-organizations-spacing.json · aire de la seccion ───
   Se le añade suelo: 4rem de margen y 3rem de relleno abajo, que antes eran
   cero y dejaban los logos pegados a lo siguiente. */
.orgs-sec{margin-bottom:4rem;padding-bottom:3rem}.orgs{padding-bottom:0}/* ── georgetown-board-six-columns.json · la junta, en seis ────────────────
   Diecisiete personas en rejilla de seis de 160 con 1,25rem de hueco; tres en
   tableta y dos en movil. En escritorio las columnas son fijas, no auto-fit,
   para no romper el lienzo congelado. */
.tm-grid{display:grid;grid-template-columns:repeat(6,minmax(0,160px));
  gap:1.25rem;justify-content:center}@media(min-width:1025px){.tm-grid{grid-template-columns:repeat(6,160px);gap:20px;justify-content:center}}@media(max-width:1024px){.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}@media(max-width:1024px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}/* ── georgetown-about-image-text-alignment.json ───────────────────────────
   La foto tiene que empezar y acabar donde empieza y acaba el bloque de
   texto. Hasta ahora la seccion se estiraba a una pantalla entera y la
   rejilla con ella, asi que la foto sobresalia por abajo.

   El min-height pasa a max-height: la altura la marca el texto y "una
   pantalla" se convierte en el TECHO, no en el suelo. Con align-items:stretch
   y la imagen fuera del flujo, la fila la fija la columna de texto y la foto
   la copia exacta. */
@media(min-width:1025px){.abhero.abhero-2col{min-height:0;
    max-height:calc(100svh - var(--topbar-h) - var(--nav-h))}.abhero-2col .ab-grid2{align-items:stretch}.abhero-2col .ab-copy{align-self:start}.abhero-2col .ab-photo{align-self:stretch;height:auto}.abhero-2col .ab-photo img{object-fit:cover;object-position:50% 50%}}/* ── georgetown-partnership-cards-remove-bottom-space.json ────────────────
   Se cae el alto minimo de 640: las tarjetas se ajustan a su contenido y el
   hueco vacio de "Both" y "GMS" desaparece. Siguen igualadas entre si porque
   align-items:stretch las nivela con la mas alta de la fila. Relleno inferior
   a 1rem y la siguiente seccion a 0,25rem. */
.bidc{min-height:0;padding:2.5rem 2rem 1rem}.bidsec + section{margin-top:.25rem}/* ── georgetown-directory-hero-compact.json · aun mas bajo ────────────────
   Techo de 400 y suelo de 360, 1rem por 3vw de aire, titular
   clamp(1.75rem,2.6vw,3rem) y bajada a 0,9rem. Los mandos, a 2,5rem. */
.dhero.dhero-foto{min-height:360px;max-height:400px;padding:1rem 43.2px}@media(max-width:1024px){/* ── georgetown-directory-hero-compact.json · aun mas bajo ────────────────
   Techo de 400 y suelo de 360, 1rem por 3vw de aire, titular
   clamp(1.75rem,2.6vw,3rem) y bajada a 0,9rem. Los mandos, a 2,5rem. */
.dhero.dhero-foto{padding:1rem 11.25px}}.dhero.dhero-foto h1{font-size:37.44px;line-height:.98}@media(max-width:1024px){.dhero.dhero-foto h1{font-size:28.0px}}.dhero.dhero-foto .lead{font-size:.9rem;line-height:1.4;margin:1rem auto 0}.dhero.dhero-foto + .dir .dsearch input{height:2.5rem}.dhero.dhero-foto + .dir .dv{height:2.5rem}@media(min-width:1025px){/* en el lienzo congelado el 3vw se fija: 3vw de 1440 son 43,2 */
  .dhero.dhero-foto{padding:1rem 43.2px}.dhero.dhero-foto h1{font-size:37.44px}}/* ── georgetown-partner-organizations-spacing-adjusted.json ───────────────
   Mas aire arriba (2,5rem), titular clamp(2rem,3.5vw,3.5rem) y separaciones
   propias: 1rem bajo el titular y 2,5rem bajo la bajada. */
.orgs-sec{padding-top:2.5rem}.orgs-h{font-size:50.4px;margin-bottom:1rem}@media(max-width:1024px){.orgs-h{font-size:32.0px}}.orgs-sub{margin-bottom:2.5rem}@media(min-width:1025px){.orgs-h{font-size:50.4px}}/* ── georgetown-annual-reports-consistent-color.json ──────────────────────
   El titular de Annual Reports deja el azul #477A9F y pasa al negro de la
   tipografia general: 18,59:1 sobre el fondo de la seccion, frente al 4,54
   que daba el azul. La bajada en #666666, 5,65:1. Todo centrado. */
.rp-h{color:#111111;text-align:center}.rp-sub{color:#666666;text-align:center}/* ── georgetown-committees-image-text-alignment.json ──────────────────────
   Misma idea que en About: la foto de los comites tiene que empezar en la
   ceja y acabar en la ultima fila de la lista. Se saca del flujo dentro de
   una figura estirada, asi la fila la marca solo la columna de texto y la
   foto la copia exacta. Las filas del acordeon comparten borde izquierdo. */
@media(min-width:1025px){.cm-grid{align-items:stretch}.cm-copy{align-self:start;text-align:left}.cm-img{align-self:stretch;position:relative;min-height:0;margin:0;overflow:hidden}.cm-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    object-position:50% 50%}.cm-list,.cm-item,.cm-item summary,.cm-body{padding-left:0;margin-left:0}}/* en movil la foto se apila y va a alto natural, pero el fit se declara igual
   para que no quede en "fill" por omision */
.cm-img img{object-fit:cover}/* ── georgetown-village-logo-contrast.json ────────────────────────────────
   El logo de Georgetown Village es el mas palido de los cuatro y se perdia
   sobre el crema. Se le sube el contraste un 25% y la saturacion un 8%, sin
   tocar el archivo ni virar el tono. Solo a ese: los otros tres van tal cual.
   Y la rejilla gana 2rem de suelo. */
.orgs-grid .org[data-org="village"] .org-ph img{
  filter:contrast(1.25) saturate(1.08)}.orgs-grid{padding-bottom:2rem}/* ── georgetown-navigation-edge-spacing.json · la barra, a sangre ─────────
   La barra deja de ceñirse al lienzo de 1200: ocupa el 100% del ancho con
   2rem de aire a cada lado, asi el logo queda a 2rem del borde izquierdo de
   la ventana y los botones a 2rem del derecho. El minimo sigue siendo 1200
   para que los tres grupos nunca se envuelvan. */
@media(min-width:1025px){.nav-thick .in{width:100%;max-width:none;min-width:1200px;
    padding-left:2rem;padding-right:2rem;margin-inline:0}}/* ── georgetown-discover-eyebrow-centered.json + -subtitle-width.json ─────
   La ceja DISCOVER ocupa todo el ancho y se centra con el resto, y la bajada
   baja de 900 a 720 de medida. */
header.phead.phead-wander .blade{display:block;width:100%;text-align:center}header.phead.phead-centrado.phead-wander .lead{max-width:720px}/* ── georgetown-global-subtitle-wrapping-rule.json ────────────────────────
   Regla general: las bajadas cortan antes. Se les pone una medida en ch
   ademas del tope en px, que es lo que de verdad decide cuantas letras entran
   por renglon; el tope en px solo no las hacia romper. */
header.phead .lead,.gu-hero .lead,.abhero .ab-lead,.dhero .lead,
.orgs-sub,.rp-sub,.cm-sub,.bid-i,.spn-sup-s{max-width:min(100%,58ch)}/* ── georgetown-programs-compact-layout.json · los programas, apretados ───
   Acordeon compacto: 1,5rem por 5vw de aire, titular clamp(2rem,3.5vw,3.25rem),
   bajada a 1rem, 1rem de margen bajo la cabecera, filas de 1rem con 0,5rem
   entre ellas y la descripcion a 620 con dos renglones. Los cinco programas
   siguen ahi. */
#gms-programs{padding:1.5rem 72.0px}@media(max-width:1024px){/* ── georgetown-programs-compact-layout.json · los programas, apretados ───
   Acordeon compacto: 1,5rem por 5vw de aire, titular clamp(2rem,3.5vw,3.25rem),
   bajada a 1rem, 1rem de margen bajo la cabecera, filas de 1rem con 0,5rem
   entre ellas y la descripcion a 620 con dos renglones. Los cinco programas
   siguen ahi. */
#gms-programs{padding:1.5rem 18.75px}}#gms-programs .head{margin-bottom:1rem}#gms-programs .head h2{font-size:50.4px;line-height:1.02}@media(max-width:1024px){#gms-programs .head h2{font-size:32.0px}}#gms-programs .head .lead{font-size:1rem;line-height:1.3}details.prog > summary{padding:1rem 0;min-height:0}.progs details.prog + details.prog{margin-top:.5rem}.prog-d{max-width:620px;-webkit-line-clamp:2}@media(min-width:1025px){#gms-programs{padding:1.5rem 72px}#gms-programs .head h2{font-size:50.4px}}/* ── georgetown-grant-testimonial-half-height.json · la cita, a la mitad ──
   Techo de 420 y suelo de 280, 2rem por 5vw de aire, cita
   clamp(1.25rem,2vw,1.75rem) con interlineado 1,25 y medida de 760, firma a
   0,9rem. La cita y la firma se conservan enteras. */
.quote{min-height:280px;max-height:420px;padding:2rem 72.0px;
  display:flex;flex-direction:column;justify-content:center;max-width:none}@media(max-width:1024px){/* ── georgetown-grant-testimonial-half-height.json · la cita, a la mitad ──
   Techo de 420 y suelo de 280, 2rem por 5vw de aire, cita
   clamp(1.25rem,2vw,1.75rem) con interlineado 1,25 y medida de 760, firma a
   0,9rem. La cita y la firma se conservan enteras. */
.quote{padding:2rem 18.75px}}.quote p{max-width:760px;font-size:28.0px;line-height:1.25}@media(max-width:1024px){.quote p{font-size:20.0px}}.quote cite{font-size:.9rem}@media(min-width:1025px){.quote{padding:2rem 72px}.quote p{font-size:28px}}/* ── georgetown-resources-vendors-consistent-title.json ───────────────────
   El titular baja a clamp(2rem,3.2vw,3.25rem) con interlineado 0,98 y 0,75rem
   de margen; la bajada, a 1rem con interlineado 1,15. */
#resources-and-vendors .head.rrf-head h2{
  font-size:46.08px;line-height:.98;margin-bottom:.75rem}@media(max-width:1024px){/* ── georgetown-resources-vendors-consistent-title.json ───────────────────
   El titular baja a clamp(2rem,3.2vw,3.25rem) con interlineado 0,98 y 0,75rem
   de margen; la bajada, a 1rem con interlineado 1,15. */
#resources-and-vendors .head.rrf-head h2{
  font-size:32.0px}}#resources-and-vendors .head.rrf-head .lead{font-size:1rem;line-height:1.15}@media(min-width:1025px){#resources-and-vendors .head.rrf-head h2{font-size:46.08px}}/* ── georgetown-guide-cards-remove-repeated-label.json ────────────────────
   Fuera la ceja "Guide" de las tres tarjetas: se repetia identica y los
   titulos —Local Coffee Guide, Art Gallery Guide, Fashion Boutique Guide— ya
   dicen lo que son. El hueco que dejaba se recupera. */
.og-bd{gap:8px}.og-bd b{margin-top:0}/* ── georgetown-village-logo-replacement.json ─────────────────────────────
   Logo de Georgetown Village sustituido por el village.png de la carpeta,
   recortado a su alfa. Conserva el realce de contraste. */
/* La regla general de bajadas es un DEFECTO: donde un json fija una medida
   concreta, manda esa. Se vuelven a declarar despues las que estan fijadas.
   Si no, el 58ch se comia el 620 de About y el 52ch del hero de Guides. */
.abhero-2col .ab-lead,.abhero-2col .ab-block p{max-width:620px}.gu-hero .lead{max-width:min(760px,52ch)}header.phead.phead-centrado.phead-wander .lead{max-width:720px}.bid-i{max-width:720px}.quote p{max-width:760px}.orgs-sub{max-width:760px}/* ── georgetown-gms-programs-breakdown.json · la banda de programas ───────
   La seccion pasa a banda azul #4F7898 a todo el ancho con el texto en
   blanco, titular EXPLORE GMS PROGRAMS centrado, filas separadas por filete
   claro y un + como disparador. Los cinco programas siguen.

   Blanco sobre #4F7898 mide 4,70:1, por encima del 4,5 que exige el texto
   normal, asi que el cuerpo tambien se lee. El filete al 70% es decorativo. */
/* la seccion ya es de ancho completo: el margen negativo la sacaba fuera de
   la ventana y abria scroll horizontal */
#gms-programs{background:#4F7898;color:#FFFFFF;padding:2.5rem 72.0px;
  margin-inline:0}@media(max-width:1024px){/* ── georgetown-gms-programs-breakdown.json · la banda de programas ───────
   La seccion pasa a banda azul #4F7898 a todo el ancho con el texto en
   blanco, titular EXPLORE GMS PROGRAMS centrado, filas separadas por filete
   claro y un + como disparador. Los cinco programas siguen.

   Blanco sobre #4F7898 mide 4,70:1, por encima del 4,5 que exige el texto
   normal, asi que el cuerpo tambien se lee. El filete al 70% es decorativo. */
/* la seccion ya es de ancho completo: el margen negativo la sacaba fuera de
   la ventana y abria scroll horizontal */
#gms-programs{padding:2.5rem 18.75px}}#gms-programs .wrap{max-width:min(1200px,100%)}.prog-head{text-align:center;margin-bottom:0}.prog-head h2{margin:0 0 2rem;color:#FFFFFF;text-align:center;
  font-size:43.2px;line-height:1.04;letter-spacing:-.02em;
  text-transform:uppercase;max-width:none}@media(max-width:1024px){.prog-head h2{
  font-size:28.0px}}#gms-programs .progs{border-top:1px solid rgba(255,255,255,.7)}#gms-programs details.prog{border-bottom:1px solid rgba(255,255,255,.7);
  border-top:0;background:none}#gms-programs details.prog + details.prog{margin-top:.5rem}#gms-programs details.prog > summary{padding:1.25rem 0;min-height:0}#gms-programs .prog-h h3,#gms-programs .prog-d,#gms-programs .prog-b{color:#FFFFFF}#gms-programs .prog-h .status{color:#FFE2D6}#gms-programs .prog-d{max-width:720px;color:rgba(255,255,255,.92)}#gms-programs .prog-cta{color:#FFFFFF;border-bottom-color:rgba(255,255,255,.6)}#gms-programs .prog-cta:hover{color:#FFFFFF;border-bottom-color:#FFFFFF}#gms-programs .bz-top a{color:#FFFFFF}/* el disparador: un + de trazo, no el guion que habia */
#gms-programs .prog-mas{color:#FFFFFF}#gms-programs .prog-mas::before,#gms-programs .prog-mas::after{background:#FFFFFF}@media(min-width:1025px){#gms-programs{padding:2.5rem 72px}.prog-head h2{font-size:43.2px}}/* ── georgetown-grant-testimonial-more-compact.json · aun mas baja ────────
   Techo de 280 sin suelo, 1rem por 5vw de aire, medio rem de margen arriba y
   abajo, cita clamp(1rem,1.5vw,1.35rem)/1,2 a 680 y firma a 0,8rem. */
.quote{min-height:0;max-height:280px;padding:1rem 72.0px;margin-block:.5rem}@media(max-width:1024px){/* ── georgetown-grant-testimonial-more-compact.json · aun mas baja ────────
   Techo de 280 sin suelo, 1rem por 5vw de aire, medio rem de margen arriba y
   abajo, cita clamp(1rem,1.5vw,1.35rem)/1,2 a 680 y firma a 0,8rem. */
.quote{padding:1rem 18.75px}}.quote p{max-width:680px;font-size:21.6px;line-height:1.2}@media(max-width:1024px){.quote p{font-size:16.0px}}.quote cite{font-size:.8rem}@media(min-width:1025px){.quote{padding:1rem 72px}.quote p{font-size:21.6px}}/* ── georgetown-directory-no-hero-balanced-subtitle.json ──────────────────
   El hero pierde la foto: vuelve a ser panel de texto sobre el crema, con la
   bajada a 680 de medida, y debajo va una galeria de cuatro fotos verticales
   3:4 a todo el ancho con 1rem de hueco y 1,5vw de margen a los lados. */
.dhero.dhero-texto{position:static;isolation:auto;overflow:visible;
  background:var(--bg);color:var(--ink);min-height:0;max-height:none;
  padding:1rem 21.6px;display:block;margin-bottom:0}@media(max-width:1024px){/* ── georgetown-directory-no-hero-balanced-subtitle.json ──────────────────
   El hero pierde la foto: vuelve a ser panel de texto sobre el crema, con la
   bajada a 680 de medida, y debajo va una galeria de cuatro fotos verticales
   3:4 a todo el ancho con 1rem de hueco y 1,5vw de margen a los lados. */
.dhero.dhero-texto{
  padding:1rem 5.62px}}.dhero.dhero-texto::after,.dhero.dhero-texto::before{content:none}.dhero.dhero-texto .dhero-in{max-width:min(1200px,100%);margin-inline:auto;
  padding:0;text-align:center}.dhero.dhero-texto h1{color:var(--ink);text-shadow:none;
  font-size:37.44px;line-height:.98;margin:0 auto}@media(max-width:1024px){.dhero.dhero-texto h1{
  font-size:28.0px}}.dhero.dhero-texto .lead{color:var(--ink-2);text-shadow:none;
  font-size:1rem;line-height:1.4;max-width:680px;margin:.75rem auto 0}.dgal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;
  margin:1rem 21.6px 0;padding:0}@media(max-width:1024px){.dgal{
  margin:1rem 5.62px 0}}.dgal-i{margin:0;overflow:hidden}.dgal-i img{display:block;width:100%;height:auto;aspect-ratio:3/4;
  object-fit:cover;object-position:50% 50%}.dgal + .dir{padding-top:34.0px}@media(max-width:1024px){.dgal + .dir{padding-top:20.0px}}@media(min-width:1025px){.dhero.dhero-texto{padding:1rem 21.6px}.dhero.dhero-texto h1{font-size:37.44px}.dgal{margin:1rem 21.6px 0}}@media(max-width:1024px){.dgal{grid-template-columns:repeat(2,minmax(0,1fr))}}/* ── georgetown-footer-balanced-layout.json · el pie, a dos columnas ──────
   La parte baja se reparte: a la izquierda el logo, la nota de financiacion y
   los sellos; a la derecha la privacidad y el aviso legal, con tope de 320
   para que no quede un hueco enorme. 2rem por 5vw de aire y 1,5rem de suelo. */
footer{padding:2rem 72.0px 1.5rem}@media(max-width:1024px){/* ── georgetown-footer-balanced-layout.json · el pie, a dos columnas ──────
   La parte baja se reparte: a la izquierda el logo, la nota de financiacion y
   los sellos; a la derecha la privacidad y el aviso legal, con tope de 320
   para que no quede un hueco enorme. 2rem por 5vw de aire y 1,5rem de suelo. */
footer{padding:2rem 18.75px 1.5rem}}.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);
  gap:43.2px;align-items:start;justify-content:space-between}@media(max-width:1024px){.fgrid{
  gap:24.0px}}.fgrid .fmarca,.fgrid .accred{grid-column:1}.fgrid .fbot{grid-column:2;grid-row:1 / span 2;align-self:start;
  display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;
  max-width:320px;text-align:left}/* ── georgetown-footer-contact-clean-layout.json · la columna de contacto ─
   Bloque limpio de una columna con 360 de tope, interlineado 1,35, 0,75rem
   entre lineas y sin partir palabras: el correo y la direccion no se cortan
   a mitad. */
.fnav > div:last-child{max-width:360px}.fnav > div:last-child ul{display:grid;gap:.75rem}.fnav > div:last-child li{line-height:1.35;text-align:left;
  overflow-wrap:normal;word-break:normal;hyphens:none}.fnav > div:last-child a{overflow-wrap:normal;word-break:normal}/* ── georgetown-newsletter-email-form.json ────────────────────────────────
   El alta ya era un formulario en linea; se le pone el titulo y el marcador
   de posicion que fija el json. */
.fnews-h{text-wrap:balance}/* ── georgetown-search-bar-thicker.json · el buscador del directorio ──────
   5rem de alto fijo, borde de 2px, esquina de 0,75rem y 1rem por 1,5rem de
   relleno. Sigue siendo una sola fila. */
.dhero + .dir .dsearch,.dgal + .dir .dsearch,.dir .dsearch{
  height:5rem;min-height:5rem;border-width:2px;border-radius:.75rem;
  flex-wrap:nowrap}.dir .dsearch input{height:auto;padding:1rem 1.5rem}.dir .dviews{flex:none}.dir .dv{height:3rem}/* ── georgetown-section-heading-standard.json ─────────────────────────────
   Un solo tamaño para TODOS los titulos de seccion, tomando Board of
   Directors como referencia: 3,5rem, peso 700, interlineado 1,05 y tracking
   -0,02em. Sustituye a los tamaños que fijaban antes cada seccion por su
   cuenta (programas, organizaciones, BID, Resources, cifras, sponsor...).
   Quedan fuera los titulares y bajadas de PAGINA y de hero, que son h1.
   En tableta y movil baja por tramos: 3,5rem a 375px no cabe. */
.tm-head h2,.orgs-h,.bid-h,.prog-head h2,.cifsec-in h2,.spn-sup-t,
.rp-h,.cm-copy h2,.aw-head h2,.dnt-l h2,.spons-2col .spthx-t,
#resources-and-vendors .head.rrf-head h2,.gcon h2,.bznav-h h2,
.gbban-c h2,.st2-copy h2,.gbk-copy h2,.excor-c h2,.cta2 h2,.ssg-h h2{
  font-size:3.5rem;font-weight:700;line-height:1.05;letter-spacing:-.02em}@media(max-width:1024px){.tm-head h2,.orgs-h,.bid-h,.prog-head h2,.cifsec-in h2,.spn-sup-t,
  .rp-h,.cm-copy h2,.aw-head h2,.dnt-l h2,.spons-2col .spthx-t,
  #resources-and-vendors .head.rrf-head h2,.gcon h2,.bznav-h h2,
  .gbban-c h2,.st2-copy h2,.gbk-copy h2,.excor-c h2,.cta2 h2,.ssg-h h2{
    font-size:2.5rem}}@media(max-width:1024px){.tm-head h2,.orgs-h,.bid-h,.prog-head h2,.cifsec-in h2,.spn-sup-t,
  .rp-h,.cm-copy h2,.aw-head h2,.dnt-l h2,.spons-2col .spthx-t,
  #resources-and-vendors .head.rrf-head h2,.gcon h2,.bznav-h h2,
  .gbban-c h2,.st2-copy h2,.gbk-copy h2,.excor-c h2,.cta2 h2,.ssg-h h2{
    font-size:2rem}}/* ── georgetown-page-headlines-subtitles-standard.json ────────────────────
   Titulares y bajadas de PAGINA con la escala de Discover / Wander Wisconsin:
   todo centrado, titular clamp(2.75rem,5vw,5.25rem) peso 700 interlineado
   0,98 y bajada clamp(1.15rem,2vw,2rem)/1,15 con 760 de medida y corte
   equilibrado. About queda fuera por indicacion expresa del json.
   En escritorio los valores van fijos, que es lo que exige el lienzo
   congelado: 5vw de 1440 son 72; 2vw, 28,8. */
header.phead h1,header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,header.phead.phead-ev h1,
body:has(.bznav) .phead h1,.gu-hero h1,.dhero h1{
  font-size:72.0px;font-weight:700;line-height:.98;
  text-align:center}@media(max-width:1024px){/* ── georgetown-page-headlines-subtitles-standard.json ────────────────────
   Titulares y bajadas de PAGINA con la escala de Discover / Wander Wisconsin:
   todo centrado, titular clamp(2.75rem,5vw,5.25rem) peso 700 interlineado
   0,98 y bajada clamp(1.15rem,2vw,2rem)/1,15 con 760 de medida y corte
   equilibrado. About queda fuera por indicacion expresa del json.
   En escritorio los valores van fijos, que es lo que exige el lienzo
   congelado: 5vw de 1440 son 72; 2vw, 28,8. */
header.phead h1,header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,header.phead.phead-ev h1,
body:has(.bznav) .phead h1,.gu-hero h1,.dhero h1{
  font-size:44.0px}}header.phead .lead,header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
.gu-hero .lead,.dhero .lead{
  font-size:28.8px;line-height:1.15;text-align:center;
  max-width:min(760px,100%);margin-inline:auto;text-wrap:balance}@media(max-width:1024px){header.phead .lead,header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
.gu-hero .lead,.dhero .lead{
  font-size:18.4px}}@media(min-width:1025px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,.gu-hero h1{font-size:72px}header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  .gu-hero .lead{font-size:28.8px}}/* Dos selectores de antes ganaban al estandar y hay que igualarlos:
   #gms-programs .head h2 pesa (1,1,1) y el titular de Wander lleva el tramo
   por longitud .h1-xl, que pesa (0,4,1). El estandar es lo mas reciente y
   manda sobre los tamaños que cada seccion tenia por su cuenta. */
#gms-programs .head.prog-head h2{font-size:3.5rem;line-height:1.05;
  letter-spacing:-.02em;font-weight:700}header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:72.0px;line-height:.98;font-weight:700;
  text-align:center}@media(max-width:1024px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:44.0px}}header.phead.phead-centrado.phead-wander .lead{
  font-size:28.8px;line-height:1.15;max-width:min(760px,100%)}@media(max-width:1024px){header.phead.phead-centrado.phead-wander .lead{
  font-size:18.4px}}@media(min-width:1025px){#gms-programs .head.prog-head h2{font-size:56px}header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
  header.phead.phead-wander h1{font-size:72px}header.phead.phead-centrado.phead-wander .lead{font-size:28.8px}}@media(max-width:1024px){#gms-programs .head.prog-head h2{font-size:2.5rem}}@media(max-width:1024px){#gms-programs .head.prog-head h2{font-size:2rem}}/* El hero de Guides queda fuera del estandar de pagina: tiene su propio
   bloque en el mismo json, con interlineado 1,05, tope en vw para no partir
   nunca el titular y la bajada en dos lineas a 760/52ch. Un bloque especifico
   manda sobre una regla general, igual que con las medidas de las bajadas. */
.gu-hero h1{font-size:57.6px;line-height:1.05;
  letter-spacing:-.03em}@media(max-width:1024px){/* El hero de Guides queda fuera del estandar de pagina: tiene su propio
   bloque en el mismo json, con interlineado 1,05, tope en vw para no partir
   nunca el titular y la bajada en dos lineas a 760/52ch. Un bloque especifico
   manda sobre una regla general, igual que con las medidas de las bajadas. */
.gu-hero h1{font-size:22.88px}}.gu-hero .lead{font-size:23.04px;line-height:1.2;
  max-width:min(760px,52ch)}@media(max-width:1024px){.gu-hero .lead{font-size:16.0px}}@media(min-width:1025px){.gu-hero h1{font-size:57.6px}.gu-hero .lead{font-size:23.04px}}/* ── georgetown-gms-programs-smaller-titles.json ──────────────────────────
   El titulo de la banda baja mucho —clamp(1.25rem,1.6vw,1.5rem)— y pasa a
   leerse como etiqueta; el peso visual lo llevan ahora los nombres de cada
   programa, a clamp(1.35rem,2vw,1.75rem) con interlineado 1,05. Este bloque
   es posterior al estandar de secciones, asi que manda sobre el 3,5rem. */
#gms-programs .head.prog-head h2,.prog-head h2{
  font-size:23.04px;line-height:1.2;letter-spacing:.14em;
  margin-bottom:1rem;font-weight:700}@media(max-width:1024px){/* ── georgetown-gms-programs-smaller-titles.json ──────────────────────────
   El titulo de la banda baja mucho —clamp(1.25rem,1.6vw,1.5rem)— y pasa a
   leerse como etiqueta; el peso visual lo llevan ahora los nombres de cada
   programa, a clamp(1.35rem,2vw,1.75rem) con interlineado 1,05. Este bloque
   es posterior al estandar de secciones, asi que manda sobre el 3,5rem. */
#gms-programs .head.prog-head h2,.prog-head h2{
  font-size:20.0px}}#gms-programs .prog-h h3{font-size:28.0px;line-height:1.05;
  font-weight:700;max-width:none}@media(max-width:1024px){#gms-programs .prog-h h3{font-size:21.6px}}@media(min-width:1025px){#gms-programs .head.prog-head h2,.prog-head h2{font-size:23.04px}#gms-programs .prog-h h3{font-size:28.8px}}@media(max-width:1024px){#gms-programs .head.prog-head h2{font-size:20.0px}}@media(max-width:1024px){#gms-programs .head.prog-head h2{font-size:1.25rem}}/* ── georgetown-grant-testimonial-spacing.json ────────────────────────────
   Aire minimo: 0,5rem arriba y abajo, sin margenes, cita con interlineado
   1,35 y medio rem hasta la firma, que va a 0,8rem sin margen propio. */
.quote{padding:.5rem 72.0px;margin-block:0}@media(max-width:1024px){/* ── georgetown-grant-testimonial-spacing.json ────────────────────────────
   Aire minimo: 0,5rem arriba y abajo, sin margenes, cita con interlineado
   1,35 y medio rem hasta la firma, que va a 0,8rem sin margen propio. */
.quote{padding:.5rem 18.75px}}.quote p{line-height:1.35;margin:0 auto .5rem}.quote cite{margin:0 auto;line-height:1.25}@media(min-width:1025px){.quote{padding:.5rem 72px}}/* ── georgetown-get-involved-background-more-visible.json ─────────────────
   La foto del bloque se ve mas: el velo baja al 28%. */
.gcon::after,.gcon::before{background:rgba(11,31,48,.28)}.gcon-bg,.gcon img{opacity:1}/* ── georgetown-solid-selection-indicators.json ───────────────────────────
   Las casillas del formulario pasan a circulo macizo naranja cuando estan
   marcadas: sin borde y sin palomita. El foco sigue teniendo su anillo. */
.rrf-op input[type="checkbox"],.rrf-op input[type="radio"]{
  appearance:none;-webkit-appearance:none;
  width:18px;height:18px;border-radius:50%;border:1px solid #71879A;
  background:#F3F7FA;cursor:pointer;flex:none;margin:1px 0 0}.rrf-op input:checked{background:#FF6545;border-color:#FF6545}.rrf-op input:focus-visible{outline:2px solid #111111;outline-offset:2px}/* ── georgetown-about-photo-ratio-smaller-headline.json ───────────────────
   El titular de About baja a clamp(1.8rem,2.8vw,3rem). La foto sigue
   empezando y acabando con el texto, y con object-fit:cover conserva su
   proporcion por definicion: recorta, no deforma. */
.abhero-2col h1{font-size:40.32px}@media(max-width:1024px){/* ── georgetown-about-photo-ratio-smaller-headline.json ───────────────────
   El titular de About baja a clamp(1.8rem,2.8vw,3rem). La foto sigue
   empezando y acabando con el texto, y con object-fit:cover conserva su
   proporcion por definicion: recorta, no deforma. */
.abhero-2col h1{font-size:28.8px}}@media(min-width:1025px){.abhero-2col h1{font-size:min(40.32px,6.4vh)}}@media(min-width:1025px) and (max-height:920px){.abhero-2col h1{font-size:min(40.32px,6.4vh)}}@media(min-width:1025px) and (max-height:800px){.abhero-2col h1{font-size:min(40.32px,5.6vh)}}@media(min-width:1025px) and (max-height:780px){.abhero-2col h1{font-size:min(40.32px,5.4vh)}}/* ── georgetown-navigation-buttons-shared-background.json ─────────────────
   Los dos botones de la derecha comparten tratamiento: la misma foto oscura
   del corredor con el mismo velo navy translucido que la barra, recortada a
   cover y centrada. Antes uno iba transparente y el otro tambien, solo con
   filete blanco; ahora los dos tienen cuerpo propio sobre la barra. */
.nav-thick .btn-corridor,.nav-thick .btn-nav{
  background-image:linear-gradient(rgba(22,59,86,.94),rgba(11,31,48,.95)),
                   url("../img/hero-dusk@1100.webp");
  background-size:cover,cover;background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  border-color:rgba(255,255,255,.85);color:#fff}.nav-thick .btn-corridor:hover,.nav-thick .btn-nav:hover{
  background-image:none;background-color:#fff;border-color:#fff;
  color:var(--cobalt)}/* los dos comparten tambien el color de fondo bajo la imagen: Donate llevaba
   un navy solido y el otro transparente */
.nav-thick .btn-corridor,.nav-thick .btn-nav{background-color:transparent}/* ── georgetown-home-discover-hero-centered.json · el hero de portada ─────
   Todo centrado en el centro del encuadre, tipografia al 85% de la que tenia
   y la foto 15% mas baja. El texto y el boton en #D7E5F2, con el filete del
   boton del mismo color. La foto de fondo se conserva. */
.hero2-img img{height:clamp(255px,41vh,391px)}.hero2-over{inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center}.hero2-over .sheet{width:100%;text-align:center}.hero2-over .hero-eb{text-align:center;color:#D7E5F2}.hero2-over h1{text-align:center;color:#D7E5F2;
  font-size:42.5px;line-height:1.02}@media(max-width:1024px){.hero2-over h1{
  font-size:26.0px}}.hero2-over .lede{text-align:center;color:#D7E5F2;margin-inline:auto;
  font-size:15.7px}@media(max-width:1024px){.hero2-over .lede{
  font-size:13.0px}}.hero2-over .acts{justify-content:center}.hero2-over .btn-g{color:#D7E5F2;border-color:#D7E5F2;background:none}.hero2-over .btn-g:hover{background:#D7E5F2;border-color:#D7E5F2;color:#12202C}@media(min-width:1025px){.hero2-over h1{font-size:42.5px}.hero2-over .lede{font-size:15.7px}}/* Al centrar el contenido, el texto pasa a caer sobre la parte CLARA de la
   foto —el cielo del atardecer y los escaparates encendidos— y el velo que
   habia solo oscurecia del 38% hacia abajo. Medido sobre el pixel real:
   ceja 3,18:1, titular 2,81:1, bajada 4,20:1 y boton 4,42:1, los cuatro por
   debajo de su minimo. El velo pasa a cubrir el encuadre entero. La foto se
   conserva, que es lo que pide el json. */
.hero2-img::after{inset:0}.hero2::after{background:linear-gradient(180deg,rgba(12,9,7,.42) 0%,
  rgba(12,9,7,.58) 45%,rgba(12,9,7,.72) 100%)}/* La ceja sigue 0,7 corta: es la que cae mas arriba, sobre el cielo. Se sube
   el velo en la mitad superior y se le pone sombra propia, que es lo que ya
   llevan el titular y la bajada. */
.hero2::after{background:linear-gradient(180deg,rgba(12,9,7,.56) 0%,
  rgba(12,9,7,.62) 45%,rgba(12,9,7,.74) 100%)}.hero2-over .hero-eb{text-shadow:0 1px 14px rgba(0,0,0,.5)}/* ── georgetown-art-walk-map-interactive-categories.json ──────────────────
   La leyenda pasa a filtro: cada categoria es un boton que deja en el mapa y
   en el listado solo sus paradas, con estado marcado. Se añade "All" para
   volver. El mapa baja a 520 de alto y 1000 de ancho maximo. */
.aw-leg{gap:8px 12px}.aw-cat{display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  background:none;border:1px solid var(--line);border-radius:999px;
  padding:6px 12px;font-family:var(--mono);font-size:var(--t-tiny);
  letter-spacing:.02em;color:var(--muted);white-space:nowrap}.aw-cat i{width:10px;height:10px;border-radius:50%;background:var(--c);
  box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.10);flex:none}.aw-cat b{font-weight:400;color:#9A9A96;font-variant-numeric:tabular-nums}.aw-cat.on{border-color:var(--ink);color:var(--ink);background:#fff}.aw-cat.on b{color:var(--ink-2)}.aw-cat:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.aw-map{height:520px;max-width:1000px}.aw-pin[hidden]{display:none}.aw-row[hidden]{display:none}@media(max-width:1024px){.aw-map{height:420.0px}}/* ── georgetown-all-page-headlines-half-size.json ─────────────────────────
   Los titulares de PAGINA bajan a clamp(1.4rem,2.5vw,2.6rem), poco mas de la
   mitad de lo que tenian. About y el hero de Guides siguen fuera, cada uno
   con su bloque propio. En escritorio va fijo: 2,5vw de 1440 son 36. */
header.phead h1,header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,header.phead.phead-ev h1,
body:has(.bznav) .phead h1,.dhero h1,
header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:36.0px;line-height:.98;font-weight:700;
  text-align:center}@media(max-width:1024px){/* ── georgetown-all-page-headlines-half-size.json ─────────────────────────
   Los titulares de PAGINA bajan a clamp(1.4rem,2.5vw,2.6rem), poco mas de la
   mitad de lo que tenian. About y el hero de Guides siguen fuera, cada uno
   con su bloque propio. En escritorio va fijo: 2,5vw de 1440 son 36. */
header.phead h1,header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,header.phead.phead-ev h1,
body:has(.bznav) .phead h1,.dhero h1,
header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:22.4px}}@media(min-width:1025px){header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-ev h1,
  body:has(.bznav) .phead h1,
  header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
  header.phead.phead-wander h1{font-size:36px}}/* ── georgetown-events-smaller-titles.json ────────────────────────────────
   La ficha de un evento baja de escala: titular clamp(1.75rem,2.5vw,2.6rem)
   y bajada clamp(0.95rem,1.3vw,1.25rem) con 680 de medida. En escritorio va
   fijo, como el resto del lienzo: 2,5vw de 1440 son 36; 1,3vw, 18,7. */
.ehero .ehero-i h1{font-size:36.0px;line-height:1.02}@media(max-width:1024px){/* ── georgetown-events-smaller-titles.json ────────────────────────────────
   La ficha de un evento baja de escala: titular clamp(1.75rem,2.5vw,2.6rem)
   y bajada clamp(0.95rem,1.3vw,1.25rem) con 680 de medida. En escritorio va
   fijo, como el resto del lienzo: 2,5vw de 1440 son 36; 1,3vw, 18,7. */
.ehero .ehero-i h1{font-size:28.0px}}.ehero .ehero-i .lead{font-size:18.72px;line-height:1.35;
  max-width:680px}@media(max-width:1024px){.ehero .ehero-i .lead{font-size:15.2px}}@media(min-width:1025px){.ehero .ehero-i h1{font-size:36px}.ehero .ehero-i .lead{font-size:18.72px}}/* ── georgetown-gallery-banner-aligned-new-photos.json ────────────────────
   Cuatro fotos nuevas en la banda del directorio, sacadas del propio banco de
   /georgetown/gallery/. El hero pasa a fondo #F7F5F1 con texto #111111 y la
   bajada corta en dos lineas parejas con un salto puesto a mano.

   Nota: el json pide a la vez "mismo borde que el carrusel de la galeria" y
   "gallery_edge_margin: 1.5vw". No son lo mismo — la rejilla de la galeria
   arranca en 169px y 1,5vw son 21,6 — asi que manda el valor numerico, que
   ademas es coherente con el "full width" del mismo bloque. */
.dhero.dhero-texto{background:#F7F5F1}.dhero.dhero-texto h1{color:#111111}.dhero.dhero-texto .lead{color:#111111;max-width:680px}.dhero.dhero-texto + .dgal + .dir,.dgal + .dir{background:var(--bg)}/* la seccion de patrocinadores se abre con su titulo y su bajada */
.spons-head{text-align:center;max-width:820px;margin:0 auto 40.0px}@media(max-width:1024px){/* la seccion de patrocinadores se abre con su titulo y su bajada */
.spons-head{margin:0 auto 24.0px}}.spons-head h2{margin:0;text-align:center;text-transform:uppercase}.spons-head p{margin:.75rem auto 0;max-width:min(760px,58ch);text-align:center;
  font-size:var(--t-small);line-height:1.5;color:var(--ink-2)}/* el rotulo FUNDERS se oculta; su nota y sus logos se quedan */
.spons-2col .spr-funders .spr-t{display:none}/* ── tamaños explicitos del hero de portada ───────────────────────────────*/
.hero2-over h1{font-size:34.56px}@media(max-width:1024px){/* ── tamaños explicitos del hero de portada ───────────────────────────────*/
.hero2-over h1{font-size:28.0px}}.hero2-over .lede{font-size:18.72px}@media(max-width:1024px){.hero2-over .lede{font-size:15.2px}}@media(min-width:1025px){.hero2-over h1{font-size:34.56px}.hero2-over .lede{font-size:18.72px}}/* "Our Supporters" es un titulo de seccion: entra en el estandar de 3,5rem */
.spons-head h2{font-size:3.5rem;font-weight:700;line-height:1.05;
  letter-spacing:-.02em}@media(max-width:1024px){.spons-head h2{font-size:2.5rem}}@media(max-width:1024px){.spons-head h2{font-size:2rem}}/* ── georgetown-navigation-logo-buttons-refined.json ──────────────────────
   El logo se separa mas del borde —4rem en vez de 2— y los dos botones
   toman medidas fijas: 14rem el del corredor, 7rem Donate, 2,75rem de alto,
   0,9rem de letra y 1rem entre ellos. El aire de la derecha sigue en 2rem. */
@media(min-width:1025px){.nav-thick .in{padding-left:4rem;padding-right:2rem}.nav-thick .navtools{gap:1rem}.nav-thick .btn-corridor{width:14rem;min-width:14rem;height:2.75rem;
    min-height:2.75rem;font-size:.9rem;padding:.65rem 1rem;justify-content:center}.nav-thick .btn-nav{width:7rem;min-width:7rem;height:2.75rem;
    min-height:2.75rem;font-size:.9rem;padding:.65rem 1rem;justify-content:center}.nav-thick .navtools .btn-nav{margin-left:0}}/* ── georgetown-directory-hero-half-height.json ───────────────────────────
   El hero del directorio se queda en una franja: techo de 220 y suelo de 200,
   medio rem por 1,5vw de aire, titular clamp(1.25rem,1.6vw,1.75rem) y bajada
   a 0,9rem. */
.dhero.dhero-texto{min-height:200px;max-height:220px;padding:.5rem 21.6px;
  display:flex;align-items:center;justify-content:center}@media(max-width:1024px){/* ── georgetown-directory-hero-half-height.json ───────────────────────────
   El hero del directorio se queda en una franja: techo de 220 y suelo de 200,
   medio rem por 1,5vw de aire, titular clamp(1.25rem,1.6vw,1.75rem) y bajada
   a 0,9rem. */
.dhero.dhero-texto{padding:.5rem 5.62px}}.dhero.dhero-texto h1{font-size:23.04px}@media(max-width:1024px){.dhero.dhero-texto h1{font-size:20.0px}}.dhero.dhero-texto .lead{font-size:.9rem;margin:.5rem auto 0}@media(min-width:1025px){.dhero.dhero-texto{padding:.5rem 21.6px}.dhero.dhero-texto h1{font-size:23.04px}}/* ── georgetown-partnership-card-title-margins.json ───────────────────────
   El titulo de cada tarjeta BID gana aire propio: 0,75rem arriba, 1,25rem a
   los lados, medio rem por debajo y 0,35rem hasta su bajada. */
.bidc h3{padding:.75rem 1.25rem 0;margin:0 0 .5rem}.bidc .bidc-s{padding:0 1.25rem;margin:0 0 .35rem}.bidc ul{padding-inline:1.25rem}/* ── georgetown-other-partners-title-half-size.json ───────────────────────
   El titulo de la seccion de organizaciones baja a clamp(1rem,1.75vw,1.75rem):
   la mitad. Sale del estandar de 3,5rem, que es lo que tenia hasta ahora. */
.orgs-h{font-size:25.2px;margin-bottom:1rem}@media(max-width:1024px){/* ── georgetown-other-partners-title-half-size.json ───────────────────────
   El titulo de la seccion de organizaciones baja a clamp(1rem,1.75vw,1.75rem):
   la mitad. Sale del estandar de 3,5rem, que es lo que tenia hasta ahora. */
.orgs-h{font-size:16.0px}}.orgs-sub{margin-bottom:2.5rem}@media(min-width:1025px){.orgs-h{font-size:25.2px}}@media(max-width:1024px){.orgs-h{font-size:16.0px}}@media(max-width:1024px){.orgs-h{font-size:1rem}}/* ── georgetown-committees-no-crop.json ───────────────────────────────────
   La foto de comites deja de recortarse: pasa de cover a contain. La caja
   sigue yendo de la ceja a la ultima fila del acordeon —eso no cambia— y la
   imagen se centra dentro conservando su proporcion, con aire arriba y abajo
   en vez de recorte. Ni se estira ni se deforma. */
@media(min-width:1025px){.cm-img img{object-fit:contain;object-position:center}}.cm-img img{object-fit:contain}/* ── georgetown-art-all-night-carousel.json · los sitios, en carrusel ─────
   Tarjetas cuadradas en una sola fila horizontal: 3 en escritorio, 2 en
   tableta y 1 en movil, 1rem de hueco, con flechas y arrastre. La foto va a
   cover dentro de un cuadrado, con velo oscuro y el numero y el nombre en
   #D7E5F2. Al pulsar una tarjeta se abre su programa debajo: el texto del
   cliente no se pierde, solo cambia de sitio. */
.scar{position:relative;display:flex;align-items:center;gap:12px;
  margin-top:28.0px}@media(max-width:1024px){/* ── georgetown-art-all-night-carousel.json · los sitios, en carrusel ─────
   Tarjetas cuadradas en una sola fila horizontal: 3 en escritorio, 2 en
   tableta y 1 en movil, 1rem de hueco, con flechas y arrastre. La foto va a
   cover dentro de un cuadrado, con velo oscuro y el numero y el nombre en
   #D7E5F2. Al pulsar una tarjeta se abre su programa debajo: el texto del
   cliente no se pierde, solo cambia de sitio. */
.scar{
  margin-top:18.0px}}.scar-view{flex:1;min-width:0;overflow:hidden}.scar-track{display:flex;gap:1rem;transition:transform .38s var(--ease);
  will-change:transform;touch-action:pan-y}.scar-c{position:relative;isolation:isolate;flex:0 0 calc((100% - 2rem) / 3);
  aspect-ratio:1/1;overflow:hidden;cursor:pointer;display:block;margin:0;
  background:#100C0A;border-radius:2px}.scar-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 50%;z-index:-2}.scar-c::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,9,7,.30) 0%,rgba(12,9,7,.62) 55%,
    rgba(12,9,7,.82) 100%)}.scar-c-n{position:absolute;top:14px;left:14px;font-family:var(--mono);
  font-size:12px;letter-spacing:.12em;color:#D7E5F2}.scar-c-t{position:absolute;left:14px;right:14px;bottom:14px;color:#D7E5F2;
  font-family:var(--disp);font-weight:700;
  font-size:24.0px;line-height:1.05;
  text-shadow:0 2px 8px rgba(0,0,0,.75)}@media(max-width:1024px){.scar-c-t{
  font-size:16.0px}}.scar-c.on::after{background:linear-gradient(180deg,rgba(12,9,7,.42) 0%,
  rgba(12,9,7,.70) 55%,rgba(12,9,7,.88) 100%)}.scar-c:focus-visible{outline:2px solid #D7E5F2;outline-offset:3px}.scar-nav{flex:none;width:40px;height:40px;border-radius:50%;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center}.scar-nav:hover:not(:disabled){background:#FF572F;border-color:#FF572F;color:#fff}.scar-nav:disabled{opacity:.22;cursor:default}.scar-panel{margin-top:24.0px;padding:28.0px;
  background:#fff;border:1px solid var(--line)}@media(max-width:1024px){.scar-panel{margin-top:16.0px;padding:18.0px}}.scar-p-n{margin:0 0 12px;font-family:var(--disp);font-weight:700;
  font-size:21.6px;display:flex;gap:10px;align-items:baseline}@media(max-width:1024px){.scar-p-n{
  font-size:16.8px}}.scar-p-n span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;
  color:var(--muted)}.scar-panel p{margin:0 0 6px;font-size:var(--t-tiny);line-height:1.55;
  color:var(--ink-2)}.scar-panel .sit-lab{margin-top:12px;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}@media(max-width:1024px){.scar-c{flex:0 0 calc((100% - 1rem) / 2)}.scar-c-t{font-size:16.0px}}@media(max-width:1024px){.scar-c{flex:0 0 100%}}@media(prefers-reduced-motion:reduce){.scar-track{transition:none}}/* El numero de cada tarjeta va arriba a la izquierda, donde el degradado es
   mas suave, y sobre las fotos claras se quedaba en 2,92:1 y 1,99:1. En vez de
   oscurecer toda la foto, el numero se apoya en su propia pastilla oscura. */
.scar-c-n{background:rgba(12,9,7,.82);padding:5px 9px;border-radius:2px;
  line-height:1;text-shadow:none}/* ── georgetown-bucks-card-update.json · tarjeta nueva ────────────────────
   Version nueva de la tarjeta, recortada a su propio alfa (1492x1023). Va con
   contain y alto automatico: entera, sin recortar y sin deformar. */
.gbban-ph img,.gbk-card img{aspect-ratio:1492/1023;object-fit:contain;
  width:100%;height:auto}/* ── georgetown-wander-wisconsin-title-20-percent.json ────────────────────
   El titular de Wander sube un 20%: clamp(2.7rem,4.8vw,4.8rem). La bajada
   sube en la misma proporcion, a clamp(1.2rem,1.8vw,1.62rem) con interlineado
   1,15 y 820 de medida. Es una excepcion expresa al estandar de pagina. */
header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:69.12px;line-height:1}@media(max-width:1024px){/* ── georgetown-wander-wisconsin-title-20-percent.json ────────────────────
   El titular de Wander sube un 20%: clamp(2.7rem,4.8vw,4.8rem). La bajada
   sube en la misma proporcion, a clamp(1.2rem,1.8vw,1.62rem) con interlineado
   1,15 y 820 de medida. Es una excepcion expresa al estandar de pagina. */
header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:43.2px}}header.phead.phead-centrado.phead-wander .lead{
  font-size:25.92px;line-height:1.15;max-width:820px}@media(max-width:1024px){header.phead.phead-centrado.phead-wander .lead{
  font-size:19.2px}}@media(min-width:1025px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
  header.phead.phead-wander h1{font-size:69.12px}header.phead.phead-centrado.phead-wander .lead{font-size:25.92px}}/* ── georgetown-partners-layout-update.json ───────────────────────────────
   Se cae la cabecera centrada: el rotulo OUR SUPPORTERS baja a la columna
   izquierda, encima de los logos, alineado a la izquierda y a la mitad del
   titulo de seccion estandar (1,75rem sobre 3,5rem). Fuera tambien la nota de
   financiacion. Las dos columnas se alinean arriba y la seccion se acorta. */
.spons-head{display:none}.spons-lab{margin:0 0 24.0px;text-align:left;
  font-size:1.75rem;font-weight:700;line-height:1.05;letter-spacing:-.02em;
  text-transform:uppercase}@media(max-width:1024px){.spons-lab{margin:0 0 16.0px}}.spons-2col .spons-in{align-items:start}.spons.spons-2col{padding-block:2.5rem}@media(max-width:1024px){.spons-lab{font-size:1.25rem}}@media(max-width:1024px){.spons-lab{font-size:1rem}}/* ── georgetown-sponsor-section-redesign.json ─────────────────────────────
   La rejilla de Business Supporters queda en 3 columnas por 2 filas y el
   boton de patrocinio, centrado. */
.spn-sup .spn-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.spn-sup-head{text-align:center}.spn-sup-cta{align-self:center}@media(max-width:1024px){.spn-sup .spn-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}/* ── georgetown-about-image-4x5-fixed-layout.json ─────────────────────────
   La foto de About pasa a medida fija: 430 de ancho en 4:5, contain y
   centrada en los dos ejes. La CAJA sigue yendo de donde empieza el texto a
   donde acaba —eso no cambia— y la imagen se coloca dentro sin recortarse ni
   deformarse, con el aire que sobre repartido arriba y abajo. */
@media(min-width:1025px){/* La imagen se queda FUERA DEL FLUJO. Si va en flujo con 430x4:5 fijos mide
     537 de alto, y cuando la columna de texto es mas corta la caja crece y
     rompe el "acaba donde acaba el texto": se pasaba 33px. Fuera del flujo, la
     fila la marca solo el texto y la imagen se centra dentro, topada por el
     alto disponible; los 430 son el maximo, no una imposicion. */
  .abhero-2col .ab-photo{position:relative;min-height:0}/* el alto manda y el ancho lo deduce la proporcion: asi el 4:5 se conserva
     siempre. 537,5 es lo que mide un 4:5 de 430 de ancho, o sea el tope. */
  .abhero-2col .ab-photo img{position:absolute;inset:0;margin:auto;
    height:min(100%,537.5px);width:auto;max-width:100%;
    aspect-ratio:4/5;object-fit:contain;object-position:center}}/* ── georgetown-corridor-banner-width-height-update.json ──────────────────
   El hero del directorio se queda en 160-180 y la banda de fotos va a sangre:
   margen lateral cero, del borde izquierdo al derecho de la ventana. */
.dhero.dhero-texto{min-height:160px;max-height:180px}.dgal{margin-left:0;margin-right:0;gap:1rem}@media(min-width:1025px){.dgal{margin-left:0;margin-right:0}}/* ── georgetown-wander-wisconsin-more-compact.json ────────────────────────
   Wander se aprieta: titular clamp(2.1rem,3.8vw,3.8rem), bajada
   clamp(1rem,1.5vw,1.35rem), 0,75rem de aire arriba y 1rem abajo, 0,4rem bajo
   el titular y 0,25rem bajo la ceja. */
header.phead.phead-wander{padding-top:.75rem;padding-bottom:1rem}body:has(.phead-centrado + section#corridor) header.phead.phead-wander{
  padding-bottom:1rem}header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:54.72px;line-height:1;margin-bottom:.4rem}@media(max-width:1024px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
header.phead.phead-wander h1{
  font-size:33.6px}}header.phead.phead-centrado.phead-wander .blade{margin-bottom:.25rem}header.phead.phead-centrado.phead-wander .lead{
  font-size:21.6px;line-height:1.15;max-width:820px}@media(max-width:1024px){header.phead.phead-centrado.phead-wander .lead{
  font-size:16.0px}}@media(min-width:1025px){header.phead.phead-centrado.phead-wander[class*="h1-"] h1,
  header.phead.phead-wander h1{font-size:54.72px}header.phead.phead-centrado.phead-wander .lead{font-size:21.6px}}/* ── georgetown-programs-title-single-line.json ───────────────────────────
   El titulo de la banda no se parte nunca. text-wrap y white-space comparten
   text-wrap-mode: se fijan los dos o balance se come el nowrap. */
#gms-programs .head.prog-head h2,.prog-head h2{
  white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;word-break:normal}/* En movil "Explore GMS Programs" a 20px mide 326 y solo hay 248 de hueco: sin
   tope se saldria. Se le pone un techo en vw calculado para que quepa, igual
   que en el titular de Guides. Por encima de ~435px manda el clamp del json. */
/* webkit mide el mismo texto algo mas ancho que chromium (255 frente a 240 a
   320px), asi que el techo baja a 4,3vw para que quepa en los dos motores */
#gms-programs .head.prog-head h2,.prog-head h2{
  font-size:23.04px}@media(max-width:1024px){/* En movil "Explore GMS Programs" a 20px mide 326 y solo hay 248 de hueco: sin
   tope se saldria. Se le pone un techo en vw calculado para que quepa, igual
   que en el titular de Guides. Por encima de ~435px manda el clamp del json. */
/* webkit mide el mismo texto algo mas ancho que chromium (255 frente a 240 a
   320px), asi que el techo baja a 4,3vw para que quepa en los dos motores */
#gms-programs .head.prog-head h2,.prog-head h2{
  font-size:16.12px}}@media(min-width:1025px){#gms-programs .head.prog-head h2,.prog-head h2{font-size:23.04px}}/* ── georgetown-resources-solid-radio-circles.json ────────────────────────
   Los dos estados son circulos macizos: #929292 sin marcar y #FF6545 marcado,
   relleno al 100%, sin borde, sin palomita, sin icono y sin pseudo-elemento.

   AVISO medido: los dos colores tienen casi la misma luminancia — entre si dan
   1,07:1 — asi que "marcado" y "sin marcar" se distinguen SOLO por el tono.
   En escala de grises, a pleno sol o con daltonismo rojo-verde no se sabe cual
   esta elegido. El estado sigue llegando bien a los lectores de pantalla,
   porque el input nativo se conserva debajo; el problema es visual.
   Contra el crema de la pagina miden 2,60:1 y 2,78:1, por debajo del 3:1 que
   pide el limite visible de un control. */
.rrf-op input[type="checkbox"],.rrf-op input[type="radio"]{
  appearance:none;-webkit-appearance:none;
  width:18px;height:18px;border-radius:50%;border:0;
  background:#929292;cursor:pointer;flex:none;margin:1px 0 0}.rrf-op input::before,.rrf-op input::after{content:none}.rrf-op input:checked{background:#FF6545;border:0}.rrf-op input:focus-visible{outline:2px solid #111111;outline-offset:2px}/* ── INSTRUCCIONES_DISENO.json ────────────────────────────────────────────
   Este json no nombra seccion. Las siete instrucciones —cuadros blancos,
   fotografia, texto de la referencia, seccion— solo coinciden a la vez en un
   sitio del sitio: la banda "By the numbers", que son tarjetas blancas sobre
   una foto del corredor. Se aplica ahi.

   · titulos en MAYUSCULAS y alineados con lo que va debajo (centrado, como
     la ceja y las tarjetas)
   · seccion mas pequeña: el aire baja a la mitad
   · cuadros blancos mas pequeños, con margen interno propio
   · la fotografia se hace menos notoria: sube el velo
   · el texto de la referencia —los rotulos de cada cifra— al 50% */
.cifsec{padding-block:36.0px}@media(max-width:1024px){/* ── INSTRUCCIONES_DISENO.json ────────────────────────────────────────────
   Este json no nombra seccion. Las siete instrucciones —cuadros blancos,
   fotografia, texto de la referencia, seccion— solo coinciden a la vez en un
   sitio del sitio: la banda "By the numbers", que son tarjetas blancas sobre
   una foto del corredor. Se aplica ahi.

   · titulos en MAYUSCULAS y alineados con lo que va debajo (centrado, como
     la ceja y las tarjetas)
   · seccion mas pequeña: el aire baja a la mitad
   · cuadros blancos mas pequeños, con margen interno propio
   · la fotografia se hace menos notoria: sube el velo
   · el texto de la referencia —los rotulos de cada cifra— al 50% */
.cifsec{padding-block:20.0px}}.cifsec::after{background:linear-gradient(180deg,rgba(12,10,9,.80) 0%,
  rgba(12,10,9,.88) 100%)}.cifsec-in h2{text-transform:uppercase;text-align:center}.cifsec-in .blade{text-align:center}.cif{padding:18.0px 16.0px;gap:4px}@media(max-width:1024px){.cif{padding:12.0px 10.0px}}.cif-i{width:20px;height:20px;margin-bottom:4px}.cif-v{font-size:31.68px}@media(max-width:1024px){.cif-v{font-size:22.0px}}.cif-l{font-size:9.0px;line-height:1.4;letter-spacing:.08em}@media(max-width:1024px){.cif-l{font-size:9.0px}}@media(min-width:1025px){.cifsec{padding-block:36px}.cif-v{font-size:32px}.cif-l{font-size:7.2px}}/* El 50% pedido deja los rotulos en 7,2px: ilegible a tamaño real. Se aplica
   la reduccion hasta 11px, que es el suelo practico de lectura. */
.cif-l{font-size:11px}@media(min-width:1025px){.cif-l{font-size:11px}}/* ── INSTRUCCIONES_DISENO_FINAL.json / _COMPLETO.json (identicos) ─────────
   Superset del anterior. Lo que ya estaba aplicado —la banda de cifras— se
   queda como esta; aqui van solo los bloques nuevos. */

/* 1 · DONANTES · letras mas grandes, titulo de seccion centrado y arriba,
   y los titulos de categoria todos en el mismo eje.
   Las columnas CSS repartian el flujo de corrido, asi que el 2o y el 3er
   titulo caian a media altura. Con rejilla cada nivel es una celda propia y
   los cuatro titulos arrancan a la misma linea. */
.dnr .blade{text-align:center;margin-bottom:40.0px}@media(max-width:1024px){/* ── INSTRUCCIONES_DISENO_FINAL.json / _COMPLETO.json (identicos) ─────────
   Superset del anterior. Lo que ya estaba aplicado —la banda de cifras— se
   queda como esta; aqui van solo los bloques nuevos. */

/* 1 · DONANTES · letras mas grandes, titulo de seccion centrado y arriba,
   y los titulos de categoria todos en el mismo eje.
   Las columnas CSS repartian el flujo de corrido, asi que el 2o y el 3er
   titulo caian a media altura. Con rejilla cada nivel es una celda propia y
   los cuatro titulos arrancan a la misma linea. */
.dnr .blade{margin-bottom:24.0px}}.dnr-cols{columns:auto;column-gap:normal;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34.56px;align-items:start}@media(max-width:1024px){.dnr-cols{
  gap:20.0px}}.dnr-g{margin:0}.dnr-g h3{font-size:13px;line-height:1.25;letter-spacing:.12em;margin-bottom:12px}.dnr-g li{font-size:15px;line-height:1.55}@media(min-width:1025px){.dnr-cols{column-count:auto;font-size:15px;line-height:23px;column-gap:normal}.dnr-g h3{font-size:13px;line-height:16px;letter-spacing:1.56px;margin-bottom:12px}.dnr-g li{font-size:15px;line-height:23px}}@media(max-width:1024px){.dnr-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.dnr-cols{grid-template-columns:minmax(0,1fr)}}/* 2 · AGRADECIMIENTO · "THANK YOU TO OUR PARTNERS" mas pequeño. Estaba a
   56px por el estandar de titulos de seccion, contra rotulos de 14px y una
   lista de 12px: la jerarquia se comia el resto del bloque. */
.spons-2col .spthx-t{font-size:28px;line-height:1.12;letter-spacing:-.018em;
  text-transform:uppercase}@media(max-width:1024px){.spons-2col .spthx-t{font-size:26px}}@media(max-width:1024px){.spons-2col .spthx-t{font-size:22px}}.spons-2col .spthx-d{margin-top:14px}/* 3 · CARRUSEL · un solo eje para toda la seccion.
   Las flechas iban dentro del flujo, asi que los cuadrados arrancaban 52px
   por dentro del titulo y del desplegable. Salen de la fila y se colocan
   arriba a la derecha; el contador se va junto al titulo para dejarles sitio.
   Y se retira la linea horizontal de la cabecera. */
.ssg{position:relative}.ssg:has(.scar) .ssg-h{justify-content:flex-start;gap:14px;
  border-bottom:0;padding-bottom:0;padding-right:104px;
  margin-bottom:18.0px}@media(max-width:1024px){.ssg:has(.scar) .ssg-h{
  margin-bottom:14.0px}}.scar{display:block;position:static;margin-top:22.0px}@media(max-width:1024px){.scar{margin-top:16.0px}}.scar-view{width:100%}.ssg:has(.scar) .scar-nav{position:absolute;top:0;z-index:3}.ssg:has(.scar) .scar-next{right:0;left:auto}.ssg:has(.scar) .scar-prev{right:52px;left:auto}/* 4 · DESPLEGABLE DE ART ALL NIGHT · el lugar manda, el area es el subtitulo
   en mayusculas con espaciado, y horarios y actividades quedan como texto
   secundario comodo de leer. Mismo espaciado entre bloques. */
.scar-panel{padding:30.0px}@media(max-width:1024px){/* 4 · DESPLEGABLE DE ART ALL NIGHT · el lugar manda, el area es el subtitulo
   en mayusculas con espaciado, y horarios y actividades quedan como texto
   secundario comodo de leer. Mismo espaciado entre bloques. */
.scar-panel{padding:22.0px}}.scar-p-n{margin-bottom:16px;font-size:28.0px;line-height:1.1;
  padding-bottom:14px;border-bottom:1px solid var(--line)}@media(max-width:1024px){.scar-p-n{font-size:21.6px}}.scar-p-n span{font-size:13px;color:var(--muted)}.scar-panel p:not(.scar-p-n):not(.sit-lab){margin:0 0 8px;font-size:14px;
  line-height:1.65;color:var(--ink-2)}.scar-panel p.scar-p-n{font-size:28.0px;line-height:1.1;
  color:var(--ink)}@media(max-width:1024px){.scar-panel p.scar-p-n{font-size:21.6px}}.scar-panel .sit-lab{margin:20px 0 8px;font-size:11px;letter-spacing:.16em;
  color:var(--ink);font-weight:500}.scar-panel .sit-lab:first-of-type{margin-top:0}/* 5 · TITULOS DE PAGINA · al directorio le faltaba la etiqueta superior y su
   titular se quedaba en 23px. Se alinea con el resto de paginas. About Us
   queda excluida por el propio json. */
.dhero-texto .blade{text-align:center;margin:0 0 .75rem}/* la regla previa dejaba el titular en 23px con (0,2,1); el json nuevo pide
   titular grande en todas las paginas salvo About Us, asi que se iguala la
   especificidad. 40px es grande sin desbordar la banda de texto. */
.dhero.dhero-texto h1{font-size:40.0px;line-height:1.06;
  letter-spacing:-.025em}@media(max-width:1024px){/* la regla previa dejaba el titular en 23px con (0,2,1); el json nuevo pide
   titular grande en todas las paginas salvo About Us, asi que se iguala la
   especificidad. 40px es grande sin desbordar la banda de texto. */
.dhero.dhero-texto h1{font-size:30.4px}}@media(min-width:1025px){.dhero.dhero-texto h1{font-size:40px;line-height:42.4px}}.dhero-texto .lead{font-size:19.2px;line-height:1.5;
  margin-top:.75rem}@media(max-width:1024px){.dhero-texto .lead{font-size:16.0px}}/* El canvas de escritorio va congelado entre 1025 y 1440: los clamp que
   entraron con estos json se resuelven a valor fijo en ese tramo. */
@media(min-width:1025px){.cif{padding:18px 16px}.dnr .blade{margin-bottom:40px}.dnr-cols{gap:36px}.ssg:has(.scar) .ssg-h{margin-bottom:18px}.scar{margin-top:22px}.scar-panel{padding:30px}.scar-panel p.scar-p-n{font-size:28px;line-height:30.8px}.dhero.dhero-texto .lead{font-size:19.2px}}/* ── FOTOS_BUSINESS_GALERIA.json · los tres cuadros de "How can we help?" ──
   Foto a sangre cubriendo el cuadro sin deformarse, velo oscuro encima para
   que el texto se lea, y el mismo tamaño y redondeado de antes. */
.bzn{position:relative;isolation:isolate;overflow:hidden;
  background-color:#0C0907;background-size:cover;background-position:50% 55%;
  background-repeat:no-repeat;color:#fff}.bzn::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,20,34,.52) 0%,rgba(10,20,34,.72) 58%,
    rgba(10,20,34,.86) 100%)}.bzn-t{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.55)}.bznav .bzn-b{color:#fff}.bznav .bzn-b i{color:#FFB98F}@media(hover:hover){.bzn:hover{background-color:#0C0907}.bzn:hover::after{background:linear-gradient(180deg,rgba(10,20,34,.62) 0%,
    rgba(10,20,34,.80) 58%,rgba(10,20,34,.92) 100%)}}.bzn:focus-visible{outline:2px solid #fff;outline-offset:3px}/* ── MENU_BAR_CUADROS_MAS_PEQUENOS.json ───────────────────────────────────
   Los dos cuadros de accion bajan un 15% en ancho y alto, con la letra a
   escala. Se conservan la lupa, el filete, el separador y el mismo hueco
   entre ellos: solo encoge la caja. Sigue siendo solo escritorio (>=1025). */
@media(min-width:1025px){.nav-thick .btn-corridor{width:11.9rem;min-width:11.9rem;
    height:2.34rem;min-height:2.34rem;font-size:.795rem;padding:.5rem .85rem}.nav-thick .btn-nav{width:5.95rem;min-width:5.95rem;
    height:2.34rem;min-height:2.34rem;font-size:.795rem;padding:.5rem .85rem}.nav-thick .btn-corridor svg{width:16px;height:16px}.nav-thick .btn-corridor::before{height:17px}.nav-thick .btn-corridor{padding:0 12px 0 14px;gap:8px}}/* Con las fotos reales del evento el numero de la 3a tarjeta se quedaba en
   4,37:1: el radio de 2px dejaba asomar la foto por las esquinas de la
   pastilla. Esquina viva y algo mas de cuerpo, y ya no depende de la foto. */
.scar-c-n{background:rgba(12,9,7,.90);border-radius:0;padding:5px 9px 4px}/* ── CARRUSEL_SCROLL_HORIZONTAL.json ──────────────────────────────────────
   Scroll horizontal nativo en la vista, con la ultima tarjeta asomando
   cortada por el borde: 3,35 tarjetas a la vista en escritorio, 2,3 en
   tableta y 1,25 en movil. Sin snap, para que el corte se conserve. */
.scar-view{overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  overscroll-behavior-x:contain;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch}.scar-view::-webkit-scrollbar{display:none}/* nada de width:max-content en la pista: el flex-basis de las tarjetas se
   calcula con 100%, y contra un ancho max-content la referencia es circular
   y las 16 acababan cabiendo en la vista sin nada que desplazar. */
.scar-track{transform:none!important;transition:none;width:auto;
  touch-action:pan-x pan-y}.scar-view.arrastrando{cursor:grabbing;scroll-behavior:auto}.scar-view.arrastrando .scar-c{pointer-events:none}.scar-c{flex:0 0 calc((100% - 2.6rem) / 3.35)}@media(max-width:1024px){.scar-c{flex:0 0 calc((100% - 1.6rem) / 2.3)}}@media(max-width:1024px){.scar-c{flex:0 0 calc((100% - .6rem) / 1.25)}}@media(prefers-reduced-motion:reduce){.scar-view{scroll-behavior:auto}}/* ── WANDER_WISCONSIN_ALINEACION.json ─────────────────────────────────────
   El carrusel salia a sangre (0-1440) mientras el boton y el cuadro de abajo
   vivian en 169-1271. Los tres pasan a la misma retícula: 1102px centrados,
   el mismo eje del resto de la pagina. La ultima tarjeta sigue asomando
   cortada porque tres enteras mas los huecos dejan 50px de sobra. */
/* Sin max-width propio: asi los tres heredan el ancho de contenido del
   .wrap igual que el cuadro de abajo, y siguen cuadrando cuando ese ancho
   deja de ser 1102 (a 1200 el wrap aprieta y el cuadro pasa a 1118). */
.stripwrap{width:auto;max-width:none;margin-inline:auto;margin-left:auto;
  padding-left:0;padding-right:0}.strip{padding-right:0;scroll-padding-left:0}.st-card{flex:0 0 calc((100% - 2.6 * 16px) / 3.35)}.strip-cta{max-width:none;margin-inline:auto;text-align:center}@media(max-width:1024px){.stripwrap{max-width:none;width:auto;margin-inline:0}.st-card{flex:0 0 195.0px}}@media(max-width:1024px){.st-card{flex:0 0 307.5px}}/* ── CONTACT_SECCION_ORIGINAL.json · el formulario de la pagina original ───
   Caja crema centrada con esquinas redondeadas, encabezado naranja en
   mayusculas, campos de filete negro, aire amplio entre ellos y boton
   naranja. First/Last Name se apilan en pantalla pequeña. */
.ctf-wrap{max-width:760px;margin-inline:auto}.ctf-h{margin:0 0 32.0px;text-align:center;
  font-family:var(--disp);font-weight:700;text-transform:uppercase;
  color:var(--orange);letter-spacing:.06em;
  font-size:36.0px;line-height:1.1}@media(max-width:1024px){.ctf-h{margin:0 0 22.0px;
  font-size:24.0px}}.ctf{background:var(--bg-2);border-radius:18px;
  padding:44.0px;display:grid;gap:30.0px}@media(max-width:1024px){.ctf{
  padding:24.0px;gap:22.0px}}.ctf fieldset{margin:0;padding:0;border:0;min-width:0}.ctf legend{padding:0;margin:0 0 12px;font-family:var(--disp);font-weight:700;
  font-size:var(--t-small);color:var(--ink)}.ctf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22.0px}@media(max-width:1024px){.ctf-grid{
  gap:16.0px}}.ctf-f{margin:0;display:grid;gap:8px}.ctf-f label{font-family:var(--disp);font-weight:600;font-size:var(--t-tiny);
  color:var(--ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.ctf-req{font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:400}.ctf input[type="text"],.ctf input[type="email"],.ctf textarea{
  width:100%;font:inherit;font-size:var(--t-small);color:var(--ink);
  background:#fff;border:1.5px solid #111111;border-radius:6px;
  padding:12px 14px;min-height:46px}.ctf textarea{resize:vertical;min-height:120px;line-height:1.55}.ctf input:focus-visible,.ctf textarea:focus-visible{
  outline:2px solid var(--orange);outline-offset:2px;border-color:#111111}.ctf-f.mal input,.ctf-f.mal textarea{border-color:#B3261E}.ctf-set.mal legend{color:#B3261E}.ctf-ops{display:grid;gap:12px}.ctf-op{display:flex;align-items:flex-start;gap:11px;cursor:pointer;
  font-size:var(--t-small);line-height:1.45;color:var(--ink)}.ctf-op input[type="checkbox"]{appearance:none;-webkit-appearance:none;
  width:18px;height:18px;border-radius:50%;border:0;background:#929292;
  cursor:pointer;flex:none;margin:2px 0 0}.ctf-op input::before,.ctf-op input::after{content:none}.ctf-op input:checked{background:var(--orange)}.ctf-op input:focus-visible{outline:2px solid #111111;outline-offset:2px}.ctf-msg{margin:0;min-height:1.2em;font-size:var(--t-tiny)}.ctf-msg.mal{color:#B3261E}.ctf-go{justify-self:start;font-family:var(--disp);font-weight:700;
  font-size:var(--t-eyebrow);letter-spacing:.15em;text-transform:uppercase;
  /* el sitio ya resuelve el naranja con tinta negra encima (.btn-o, .btn-sup,
     .hero2 .btn-o, #donate): blanco sobre #FF572B se queda en 3,16:1 y este
     rotulo es texto pequeño, que pide 4,5. Con #111 sube a 5,95:1. */
  color:#111111;background:var(--orange);border:1.5px solid var(--orange);
  border-radius:6px;padding:15px 38px;cursor:pointer;min-height:48px;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.ctf-go:hover{background:#111111;border-color:#111111;color:#fff}.ctf-go:focus-visible{outline:2px solid #111111;outline-offset:3px}.ctf-bot{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;margin:0}@media(max-width:1024px){.ctf-grid{grid-template-columns:minmax(0,1fr)}}/* ── EVITAR_DOS_LINEAS_JUNTAS.json · Explore GMS Programs ─────────────────
   El encabezado cerraba con su filete y la rejilla de debajo abria con otro,
   16px mas abajo: dos lineas casi pegadas. Se queda la del encabezado, que
   es el divisor que usa el resto de la pagina (.rrf-head), y la rejilla
   pierde la suya. */
.progs{border-top:0}.head.prog-head{margin-bottom:30.0px}@media(max-width:1024px){.head.prog-head{margin-bottom:20.0px}}/* ── RESOURCES_VENDORS_MAS_PEQUENO_ALINEADO.json ──────────────────────────
   El titular iba a 56px por el estandar de titulos de seccion y aplastaba a
   su propia ceja y bajada. Baja a 36, la ceja y la bajada se ajustan a esa
   escala, y los tres comparten el eje del contenedor —ceja y titulo a la
   izquierda, bajada cerrando contra el borde derecho—. El divisor sigue
   siendo uno solo y del mismo grosor que el resto. */
#resources-and-vendors .head.rrf-head h2{font-size:36px;line-height:1.05;
  letter-spacing:-.02em}#resources-and-vendors .head.rrf-head .blade{font-size:10px;letter-spacing:.16em;
  margin-bottom:8px}/* el tamaño baja con el titular; el interlineado de 1,15 lo fijo un json
   anterior y este no lo toca, asi que se respeta. */
#resources-and-vendors .head.rrf-head .lead{font-size:15px;line-height:1.15}#resources-and-vendors .head.rrf-head{padding-bottom:16px;
  margin-bottom:30.0px;border-bottom-width:1px}@media(max-width:1024px){#resources-and-vendors .head.rrf-head{
  margin-bottom:20.0px}}@media(max-width:1024px){#resources-and-vendors .head.rrf-head h2{font-size:30px}}@media(max-width:1024px){#resources-and-vendors .head.rrf-head h2{font-size:26px}}/* ── HERO_MAS_GRANDE_SIN_LINEA_GRIS.json ──────────────────────────────────
   La foto crece de 369 a 620px en escritorio (72vh con techo y suelo) y el
   velo arranca del mismo navy de la barra en vez de un gris que dibujaba un
   borde bajo el menu. Asi el menu y el hero se leen como una sola pieza.
   El velo del tramo alto sube algo para compensar los pixeles nuevos, que
   son de cielo claro y son justo donde cae la ceja. */
.hero2-img img{height:clamp(360px,58vh,520px);object-position:50% 46%}@media(min-width:1025px){.hero2-img img{height:clamp(520px,72vh,700px);aspect-ratio:auto;max-height:none}}/* Con la foto mas alta la ceja cae sobre el cielo naranja del atardecer y se
   quedaba en 4,32:1. El velo sube en la franja donde vive el texto (45-75%),
   que es exactamente el tramo claro. */
/* Al crecer el titular la ceja subio a otra franja de la foto —cielo claro—
   y volvio a 4,32:1. El velo se refuerza en todo el tramo donde vive el
   bloque de texto, del 30 al 85%. */
.hero2::after{background:
  linear-gradient(180deg,#0B1F30 0%,rgba(11,31,48,.86) 4%,rgba(12,9,7,.54) 22%,
    rgba(12,9,7,.72) 34%,rgba(12,9,7,.74) 62%,rgba(12,9,7,.78) 100%)}/* ── REDUCIR_MARGENES_LATERALES.json · el contenido informativo ───────────
   El texto corrido se quedaba en 567px dentro de un contenedor de 1102 y
   ademas pegado a la izquierda: media pagina en blanco al lado. Pasa a 78ch
   —sigue dentro del rango comodo de lectura— y centrado en su contenedor.
   Solo afecta al texto que ES la pagina: el .prose que vive dentro de una
   tarjeta o de una columna conserva su ancho, que ahi si esta medido. */
section > .wrap > .prose,
section > .sheet > .prose{max-width:78ch;margin-inline:auto}@media(max-width:1024px){section > .wrap > .prose,
  section > .sheet > .prose{max-width:none}}/* ── LEGACY_BUSINESSES_CLONADA.json · un negocio por linea ────────────────
   La foto pasa a la izquierda y el bloque de datos a la derecha, en el orden
   que pide el json: nombre, año, direccion, sitio web y descripcion. La linea
   entera es un enlace, asi que hace falta que se comporte como tal —cursor,
   sin subrayado, foco visible— sin perder la retícula ni el ritmo. */
.lg-filas .lg-card{grid-template-columns:minmax(0,38%) minmax(0,1fr);
  text-decoration:none;color:inherit;cursor:pointer;align-items:center}.lg-filas .lg-ph{order:0}.lg-filas .lg-bd{order:1}.lg-filas .lg-ph img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.lg-filas .lg-name{margin:0 0 8px}.lg-filas .lg-meta{margin:0 0 12px}.lg-filas .lg-foot{margin:0 0 12px;gap:3px}.lg-filas .lg-desc{margin:0;max-width:62ch}.lg-filas a.lg-card:focus-visible{outline:2px solid var(--orange);outline-offset:4px}@media(hover:hover){.lg-filas a.lg-card:hover .lg-name{color:#8F3722}.lg-filas a.lg-card:hover .lg-web{color:#8F3722}}@media(min-width:1025px){.lg-filas .lg-card{grid-template-columns:minmax(0,38%) minmax(0,1fr);
    column-gap:40px;row-gap:40px}}@media(max-width:1024px){.lg-filas .lg-card{grid-template-columns:minmax(0,1fr);align-items:start}}/* ── explore_neighborhood_media_seccion.json ──────────────────────────────
   La seccion ocupaba 1440 de ancho y 879 de alto, con las columnas en
   421/495. Baja a un banner de 880 centrado, dos columnas iguales y el mapa
   a 360 de ancho: el area visual queda en torno a la mitad de la anterior.
   El mapa conserva su proporcion —sus zonas pulsables y rotulos van en
   porcentaje, asi que escalan con el— y en pantalla pequeña se sigue
   apilando como antes. */
.ms-banner{max-width:880px;
  padding:52.0px 44.0px;
  gap:44.0px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:1024px){/* ── explore_neighborhood_media_seccion.json ──────────────────────────────
   La seccion ocupaba 1440 de ancho y 879 de alto, con las columnas en
   421/495. Baja a un banner de 880 centrado, dos columnas iguales y el mapa
   a 360 de ancho: el area visual queda en torno a la mitad de la anterior.
   El mapa conserva su proporcion —sus zonas pulsables y rotulos van en
   porcentaje, asi que escalan con el— y en pantalla pequeña se sigue
   apilando como antes. */
.ms-banner{
  padding:30.0px 20.0px;
  gap:24.0px}}.ms-mapwrap{max-width:360px;justify-self:center;width:100%}.ms-panel{min-height:0}@media(min-width:1025px){.ms-banner{padding:52px 44px;gap:44px}}@media(max-width:1024px){.ms-banner{max-width:none;grid-template-columns:minmax(0,1fr)}.ms-mapwrap{max-width:440px}}/* El fondo de la seccion tambien deja de ir a sangre: si la caja azul sigue
   de borde a borde, la seccion sigue ocupando todo el ancho aunque su
   contenido no. Ahora es un bloque de 880 centrado en el contenedor. */
.msmap{max-width:880px;margin-inline:auto;border-radius:0}@media(max-width:1024px){.msmap{max-width:none}}/* ── quitar_ceja_art_all_night.json ───────────────────────────────────────
   Sin la ceja, el hueco que ocupaba en la retícula se cierra y el titulo
   sube: no queda un salto en blanco donde antes iba la fecha. */
/* Al quitar la ceja escribi el area como "info" cuando se llama "intro":
   ninguna celda casaba, el grid se rompio en cuatro columnas de 116px y el
   hero quedo desmontado —los datos apilados a 41px por columna, la foto en
   116x87 y el titular tirado al fondo—. Nombres correctos. */
.ehero-g{grid-template-areas:"intro foto" "datos foto"}.ehero-i{padding-top:0}@media(max-width:1024px){.ehero-g{grid-template-areas:"intro" "foto" "datos"}}/* ── indicador_click_dropdown_art_all_night.json ──────────────────────────
   Chevron en la esquina inferior derecha: dice que la foto abre algo, y no
   pisa el nombre del sitio, que vive en la izquierda. Al pasar el puntero
   gana contraste, y cuando la tarjeta esta abierta apunta hacia arriba. */
.scar-c-go{position:absolute;right:12px;bottom:12px;z-index:1;
  width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
  background:rgba(12,9,7,.62);color:#D7E5F2;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease),
             transform var(--t-ui) var(--ease)}.scar-c-t{right:52px}@media(hover:hover){.scar-c:hover .scar-c-go{background:#FF572F;color:#111111}}.scar-c.on .scar-c-go{background:#FF572F;color:#111111;transform:rotate(180deg)}.scar-c:focus-visible .scar-c-go{background:#D7E5F2;color:#111111}@media(prefers-reduced-motion:reduce){.scar-c-go{transition:none}}/* ── logos_blanco_negro_hover_color.json ──────────────────────────────────
   Los logos de las organizaciones socias van en gris y recuperan su color al
   pasar el cursor. El foco de teclado hace lo mismo, para que quien navega
   sin raton tenga el mismo aviso. Tamaño y alineacion no se tocan. */
.orgs-grid img,.org img{filter:grayscale(1);
  transition:filter var(--t-ui) var(--ease)}@media(hover:hover){.orgs-grid a:hover img,.org:hover img,.orgs-grid img:hover{filter:grayscale(0)}}.orgs-grid a:focus-visible img,.org a:focus-visible img{filter:grayscale(0)}@media(prefers-reduced-motion:reduce){.orgs-grid img,.org img{transition:none}}/* ── reducir_titulo_georgetown_bucks.json ────────────────────────────────
   "Give Georgetown a little extra love." iba a 56px por el estandar de
   titulos de seccion y se comia el bloque entero. Baja a 36. */
.gbk-copy h2,.gbban-c h2{font-size:36px;line-height:1.06}@media(max-width:1024px){.gbk-copy h2,.gbban-c h2{font-size:30px}}@media(max-width:1024px){.gbk-copy h2,.gbban-c h2{font-size:26px}}/* La regla anterior fijaba filter:none con (0,2,1) y ganaba a la mia. Se
   iguala la especificidad para que el gris del reposo se aplique. */
.orgs-grid .org .org-ph img{filter:grayscale(1);
  transition:filter var(--t-ui) var(--ease)}@media(hover:hover){.orgs-grid .org:hover .org-ph img{filter:grayscale(0)}}.orgs-grid .org:focus-within .org-ph img{filter:grayscale(0)}@media(prefers-reduced-motion:reduce){.orgs-grid .org .org-ph img{transition:none}}/* ── titulo_calendario_estilo_wander_wisconsin.json ───────────────────────
   El encabezado de The Calendar toma la medida y el ritmo de Wander
   Wisconsin: mismo cuerpo de titular, misma bajada y el mismo aire arriba y
   abajo. La ceja ya coincidia. */
header.phead.phead-ev[class*="h1-"] h1,
header.phead.phead-ev h1{font-size:54.72px;line-height:1;letter-spacing:-.0474em}header.phead.phead-ev .lead{font-size:21.6px;line-height:1.15;max-width:820px}header.phead.phead-ev{padding:.75rem 0 1rem}header.phead.phead-ev .blade{margin-bottom:.25rem}@media(max-width:1024px){header.phead.phead-ev[class*="h1-"] h1,
  header.phead.phead-ev h1{font-size:42px}header.phead.phead-ev .lead{font-size:19px}}@media(max-width:1024px){header.phead.phead-ev[class*="h1-"] h1,
  header.phead.phead-ev h1{font-size:34px}header.phead.phead-ev .lead{font-size:17px}}/* ── reducir_espacio_our_supporters.json ──────────────────────────────────
   El bloque de Our Supporters respiraba de mas entre el titulo, su filete y
   los logos. Se aprieta el aire vertical sin tocar el tamaño de los logos ni
   la separacion entre categorias, que es la que da la lectura. */
.spons-lab{margin-bottom:16.0px;padding-bottom:10px}@media(max-width:1024px){/* ── reducir_espacio_our_supporters.json ──────────────────────────────────
   El bloque de Our Supporters respiraba de mas entre el titulo, su filete y
   los logos. Se aprieta el aire vertical sin tocar el tamaño de los logos ni
   la separacion entre categorias, que es la que da la lectura. */
.spons-lab{margin-bottom:10.0px}}.spons-2col .spons-in{gap:37.44px;
  padding-block:48.0px}@media(max-width:1024px){.spons-2col .spons-in{gap:24.0px;
  padding-block:28.0px}}.spons-2col .spons-l{gap:24.0px}@media(max-width:1024px){.spons-2col .spons-l{gap:16.0px}}.spons-2col .spr-t{margin-bottom:10px}.spons-2col .spr-l{gap:1rem 1.25rem}.spons-2col .spthx-l{margin-top:14px;gap:6px}@media(min-width:1025px){.spons-lab{margin-bottom:16px}.spons-2col .spons-in{gap:40px;padding-block:48px}.spons-2col .spons-l{gap:24px}}/* ── alinear_texto_con_titulos.json · los tres cuadros BID / Both / GMS ────
   El titulo y el subtitulo arrancaban en 293 y el texto de cada item en 313:
   los 20px eran la columna del guion dentro del li. Se retira esa columna y
   todo cae en el mismo eje. Para que la lista siga leyendose como lista sin
   el guion, sube el aire entre items. */
.bidc li{grid-template-columns:minmax(0,1fr);gap:0}.bidc li::before{content:none}.bidc ul{display:grid;gap:13.0px}@media(max-width:1024px){.bidc ul{gap:9.0px}}@media(min-width:1025px){.bidc ul{gap:13px}}/* ── botones_navegacion_eventos_mas_visibles.json ─────────────────────────
   La navegacion entre eventos deja de ser dos enlaces de texto y pasa a dos
   botones con filete, flecha y rotulo. Cuando no hay anterior o siguiente,
   el boton se queda desactivado en su sitio en vez de desaparecer. */
.pagenav{border-top:0;padding-top:0;gap:20.0px;
  margin-top:64.0px}@media(max-width:1024px){/* ── botones_navegacion_eventos_mas_visibles.json ─────────────────────────
   La navegacion entre eventos deja de ser dos enlaces de texto y pasa a dos
   botones con filete, flecha y rotulo. Cuando no hay anterior o siguiente,
   el boton se queda desactivado en su sitio en vez de desaparecer. */
.pagenav{gap:12.0px;
  margin-top:40.0px}}.pn-btn{display:flex;align-items:center;gap:14.0px;
  flex:1 1 0;min-width:0;min-height:64px;
  padding:18.0px 22.0px;
  border:1.5px solid var(--ink);background:none;color:var(--ink);
  text-decoration:none;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease),
             border-color var(--t-ui) var(--ease)}@media(max-width:1024px){.pn-btn{gap:10.0px;
  padding:14.0px 16.0px}}.pn-btn svg{flex:none}.pn-next{justify-content:flex-end;text-align:right}.pn-l{display:block;font-family:var(--disp);font-weight:600;
  font-size:var(--t-eyebrow);letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0 0 3px}.pn-n{display:block;font-family:var(--disp);font-weight:700;
  font-size:var(--t-small);letter-spacing:-.015em;line-height:1.2;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-btn > svg + span,.pn-btn > span{min-width:0}@media(hover:hover){a.pn-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}a.pn-btn:hover .pn-l{color:var(--bg)}}a.pn-btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.pn-off{opacity:.38;cursor:default;border-style:dashed}@media(max-width:1024px){.pagenav{flex-direction:column}.pn-next{justify-content:flex-start;text-align:left;flex-direction:row-reverse}}@media(prefers-reduced-motion:reduce){.pn-btn{transition:none}}/* ── banner_voluntariado_seccion_eventos.json ─────────────────────────────
   Bajo el listado de eventos, con el mismo ancho del contenedor y separado
   con claridad del ultimo evento. Titulo, mensaje y boton, en ese orden. */
.volban{display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:43.2px;
  padding:44.0px;background:var(--ink);color:var(--bg);
  margin-top:48.0px}@media(max-width:1024px){/* ── banner_voluntariado_seccion_eventos.json ─────────────────────────────
   Bajo el listado de eventos, con el mismo ancho del contenedor y separado
   con claridad del ultimo evento. Titulo, mensaje y boton, en ese orden. */
.volban{gap:20.0px;
  padding:28.0px;
  margin-top:28.0px}}.volban .blade{margin:0 0 10px;color:#C9C9C6}.volban h2{margin:0;font-family:var(--disp);font-weight:700;
  font-size:34.56px;line-height:1.06;letter-spacing:-.02em;
  color:var(--bg)}@media(max-width:1024px){.volban h2{
  font-size:24.0px}}.volban-p{margin:12px 0 0;max-width:56ch;font-size:var(--t-small);
  line-height:1.6;color:#DCDCD9}.volban-cta{flex:none;justify-self:end;display:inline-flex;align-items:center;
  gap:10px;font-family:var(--disp);font-weight:700;font-size:var(--t-eyebrow);
  letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
  color:#111111;background:var(--orange);border:1.5px solid var(--orange);
  padding:16px 34px;min-height:52px;
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease),
             border-color var(--t-ui) var(--ease)}@media(hover:hover){.volban-cta:hover{background:var(--bg);border-color:var(--bg);color:#111111}}.volban-cta:focus-visible{outline:2px solid var(--bg);outline-offset:3px}@media(min-width:1025px){.volban{padding:44px;gap:44px;margin-top:48px}}@media(max-width:1024px){.volban{grid-template-columns:minmax(0,1fr)}.volban-cta{justify-self:start}}@media(prefers-reduced-motion:reduce){.volban-cta{transition:none}}/* ── La escala de Wander Wisconsin, para todos los encabezados de pagina ──
   titulo_calendario_estilo_wander_wisconsin.json, titulo_support_estilo_
   wander_wisconsin.json, unificar_titulo_contacto_estilo_wander_wisconsin.json
   y header_estilo_wander_wisconsin_legacy.json piden lo mismo pagina por
   pagina: la medida y el ritmo del encabezado de Wander. En vez de repetirlo
   cuatro veces, la escala pasa a ser la de TODOS los phead —ceja 14,4 con
   espaciado amplio, titular 54,72 y bajada 21,6, los tres centrados—.
   About Us queda fuera porque no usa phead y un json anterior la excluyo. */
header.phead[class*="h1-"] h1,
header.phead h1,
header.phead.phead-centrado h1,
header.phead.phead-gal h1{
  font-size:54.72px;line-height:1;letter-spacing:-.0474em;text-align:center}header.phead .lead{font-size:21.6px;line-height:1.15;max-width:820px;
  margin-inline:auto;text-align:center}header.phead .blade{margin-bottom:.25rem;text-align:center}header.phead{padding:.75rem 0 1rem}@media(max-width:1024px){header.phead[class*="h1-"] h1,
  header.phead h1,
  header.phead.phead-centrado h1,
  header.phead.phead-gal h1{font-size:42px}header.phead .lead{font-size:19px}}@media(max-width:1024px){header.phead[class*="h1-"] h1,
  header.phead h1,
  header.phead.phead-centrado h1,
  header.phead.phead-gal h1{font-size:34px}header.phead .lead{font-size:17px}}/* Dos reglas anteriores ganaban por especificidad y dejaban fuera de la
   escala a Gallery (titular a 75px, por .phead-centrado.phead-gal) y a las
   bajadas de Business y Events (por body:has(.bznav) y .phead-ev). */
header.phead.phead-centrado.phead-gal h1,
header.phead.phead-centrado.phead-gal[class*="h1-"] h1{
  font-size:54.72px;line-height:1;letter-spacing:-.0474em}header.phead .lead,header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
header.phead.phead-gal .lead{
  font-size:21.6px;line-height:1.15;max-width:820px;margin-inline:auto}@media(max-width:1024px){header.phead.phead-centrado.phead-gal h1,
  header.phead.phead-centrado.phead-gal[class*="h1-"] h1{font-size:42px}header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  header.phead.phead-gal .lead{font-size:19px}}@media(max-width:1024px){header.phead.phead-centrado.phead-gal h1,
  header.phead.phead-centrado.phead-gal[class*="h1-"] h1{font-size:34px}header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) .phead .lead,
  header.phead.phead-gal .lead{font-size:17px}}/* ── compactar_formulario_contacto_fondo_claro.json ───────────────────────
   La caja pasa de gris frio a blanco roto, se estrecha y aprieta el aire
   entre campos. Los campos siguen blancos con filete oscuro y el boton
   naranja. El h2 "GET IN TOUCH" se fue del marcado: lo pedia
   unificar_titulo_contacto_estilo_wander_wisconsin.json, porque el titular
   de la pagina ya dice lo mismo. */
.ctf-wrap{max-width:620px}.ctf{background:#FBFAF7;border:1px solid var(--line);border-radius:14px;
  padding:30.0px;gap:18.0px}@media(max-width:1024px){.ctf{
  padding:20.0px;gap:14.0px}}.ctf legend{margin-bottom:8px}.ctf-grid{gap:16.0px}@media(max-width:1024px){.ctf-grid{gap:12.0px}}.ctf-f{gap:6px}.ctf input[type="text"],.ctf input[type="email"],.ctf textarea{
  padding:9px 12px;min-height:40px}.ctf textarea{min-height:88px}.ctf-ops{gap:9px}.ctf-go{padding:12px 30px;min-height:44px}.ctf-msg{min-height:0}@media(min-width:1025px){.ctf{padding:30px;gap:18px}.ctf-grid{gap:16px}}/* ── reducir_titulo_support_georgetown.json ──────────────────────────────
   "Support Georgetown Main Street" iba a 56px por el estandar de titulos de
   seccion, justo debajo de un titular de pagina de 54,72: dos titulares del
   mismo cuerpo seguidos. Baja a 36. */
.dnt-l h2{font-size:36px;line-height:1.08}@media(max-width:1024px){.dnt-l h2{font-size:30px}}@media(max-width:1024px){.dnt-l h2{font-size:26px}}/* ── quitar_dos_lineas_gms_programs.json ─────────────────────────────────
   El json anterior dejaba una de las dos lineas; este pide quitar las dos.
   Manda el mas nuevo: el encabezado se queda sin divisor, y el aire que
   dejaba el filete se recupera con el margen. */
.head.prog-head{border-bottom:0;padding-bottom:0;
  margin-bottom:32.0px}@media(max-width:1024px){/* ── quitar_dos_lineas_gms_programs.json ─────────────────────────────────
   El json anterior dejaba una de las dos lineas; este pide quitar las dos.
   Manda el mas nuevo: el encabezado se queda sin divisor, y el aire que
   dejaba el filete se recupera con el margen. */
.head.prog-head{
  margin-bottom:22.0px}}@media(min-width:1025px){.head.prog-head{margin-bottom:32px}}/* ── reducir_espacio_vacio_2025_donors.json ──────────────────────────────
   Cuatro columnas dejaban dos casi vacias —hay niveles de 1 y 2 nombres—
   mientras el de 16 se estiraba a lo alto. Las columnas se reparten segun
   lo que cada nivel necesita y el aire vertical baja. */
.dnr-cols{grid-template-columns:1.15fr 2fr 1fr 1fr;
  gap:25.92px}@media(max-width:1024px){/* ── reducir_espacio_vacio_2025_donors.json ──────────────────────────────
   Cuatro columnas dejaban dos casi vacias —hay niveles de 1 y 2 nombres—
   mientras el de 16 se estiraba a lo alto. Las columnas se reparten segun
   lo que cada nivel necesita y el aire vertical baja. */
.dnr-cols{
  gap:16.0px}}.dnr .blade{margin-bottom:24.0px}@media(max-width:1024px){.dnr .blade{margin-bottom:16.0px}}.dnr-g h3{margin-bottom:9px}.dnr-g ul{gap:4px}@media(min-width:1025px){.dnr-cols{gap:26px;grid-template-columns:1.15fr 2fr 1fr 1fr}.dnr .blade{margin-bottom:24px}}@media(max-width:1024px){.dnr-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.dnr-cols{grid-template-columns:minmax(0,1fr)}}/* ── how_can_we_help_texto_pequeno_fotos_static.json ─────────────────────
   Titulo de seccion centrado y mas pequeño, rotulos de las tarjetas mas
   pequeños y alineados igual en las tres. Las fotos ya eran estaticas —son
   background-image, sin carrusel ni autoplay—: se fija ademas
   background-attachment para que no se muevan con el scroll en ningun
   navegador. */
.bznav-h{text-align:center}.bznav-h h2{font-size:36px;line-height:1.06;text-align:center}.bzn-t{font-size:18px;line-height:1.25;text-align:left;max-width:14ch}.bznav .bzn-t{text-align:left}.bzn{background-attachment:scroll;background-position:50% 55%}@media(min-width:1025px){.bznav-h h2{font-size:36px}.bzn-t{font-size:18px}}@media(max-width:1024px){.bznav-h h2{font-size:30px}.bzn-t{font-size:16px}}@media(max-width:1024px){.bznav-h h2{font-size:26px}.bzn-t{font-size:16px}}/* ── circulos_resources_vendors_sin_check.json ───────────────────────────
   Cambia respecto al json anterior: sin marcar ya no es un circulo gris
   relleno sino un circulo VACIO con filete; marcado sigue siendo solido en
   el naranja de marca. Sin check en ninguno de los dos estados.
   De paso resuelve lo que reporte antes: gris y naranja se distinguian solo
   por tono (1,07:1 de luminancia) y el estado no se veia en escala de
   grises. Vacio contra lleno si es una diferencia de forma, no de color. */
.rrf-op input[type="checkbox"],.rrf-op input[type="radio"],
.ctf-op input[type="checkbox"]{
  background:transparent;border:2px solid #6A6A67;box-sizing:border-box}.rrf-op input:checked,.ctf-op input:checked{
  background:var(--orange);border-color:var(--orange)}/* ── aumentar_letras_y_estilo_cta.json · el hero de portada ───────────────
   El titular y la bajada crecen, y el CTA pasa a boton rectangular ancho con
   filete blanco, rotulo en mayusculas y flecha naranja a la derecha. El
   fondo se queda transparente sobre la foto; al pasar el puntero se aclara
   un poco y la flecha mantiene el naranja. */
.hero2-over h1{font-size:63.36px;line-height:1.02;
  letter-spacing:-.035em}@media(max-width:1024px){/* ── aumentar_letras_y_estilo_cta.json · el hero de portada ───────────────
   El titular y la bajada crecen, y el CTA pasa a boton rectangular ancho con
   filete blanco, rotulo en mayusculas y flecha naranja a la derecha. El
   fondo se queda transparente sobre la foto; al pasar el puntero se aclara
   un poco y la flecha mantiene el naranja. */
.hero2-over h1{font-size:38.4px}}.hero2-over .lede{font-size:24.0px;line-height:1.35}@media(max-width:1024px){.hero2-over .lede{font-size:17.6px}}.hero2-over .hero-eb{font-size:var(--t-eyebrow);letter-spacing:.24em}.hero2-over .acts{margin-top:34.0px}@media(max-width:1024px){.hero2-over .acts{margin-top:22.0px}}.hero2-over .btn-g{display:inline-flex;align-items:center;justify-content:space-between;
  gap:43.2px;min-width:340.0px;min-height:60px;
  padding:18px 28.0px;
  font-family:var(--disp);font-weight:700;font-size:var(--t-eyebrow);
  letter-spacing:.16em;text-transform:uppercase;
  color:#fff;border:1.5px solid #fff;background:transparent;
  transition:background var(--t-ui) var(--ease)}@media(max-width:1024px){.hero2-over .btn-g{
  gap:24.0px;min-width:322.5px;
  padding:18px 20.0px}}.hero2-over .btn-g::after{content:"\2192";font-family:var(--disp);
  font-size:1.35em;line-height:1;color:var(--orange);
  transform:translateY(-.04em)}@media(hover:hover){.hero2-over .btn-g:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff}.hero2-over .btn-g:hover::after{color:var(--orange)}}.hero2-over .btn-g:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(min-width:1025px){.hero2-over h1{font-size:64px}.hero2-over .lede{font-size:24px}}@media(prefers-reduced-motion:reduce){.hero2-over .btn-g{transition:none}}/* ── cambiar_fondo_y_dar_aire_seccion_numeros.json ───────────────────────
   Foto de fondo nueva y aire para que las tarjetas dejen de verse
   amontonadas: mas hueco entre ellas, mas separacion entre el titulo y la
   rejilla, y margen interno mas holgado dentro de cada cuadro. El velo se
   mantiene alto porque el texto de las tarjetas va sobre crema. */
.cifsec{padding-block:56.0px}@media(max-width:1024px){/* ── cambiar_fondo_y_dar_aire_seccion_numeros.json ───────────────────────
   Foto de fondo nueva y aire para que las tarjetas dejen de verse
   amontonadas: mas hueco entre ellas, mas separacion entre el titulo y la
   rejilla, y margen interno mas holgado dentro de cada cuadro. El velo se
   mantiene alto porque el texto de las tarjetas va sobre crema. */
.cifsec{padding-block:34.0px}}/* la rejilla es .cifras; .cif-grid no existe. El selector de hijo que habia
   aqui ganaba por especificidad y devolvia el hueco a un clamp fluido. */
.cifras{gap:22.0px}@media(max-width:1024px){/* la rejilla es .cifras; .cif-grid no existe. El selector de hijo que habia
   aqui ganaba por especificidad y devolvia el hueco a un clamp fluido. */
.cifras{gap:14.0px}}.cifsec-in h2{margin-bottom:38.0px}@media(max-width:1024px){.cifsec-in h2{margin-bottom:24.0px}}.cif{padding:26.0px 20.0px;gap:6px}@media(max-width:1024px){.cif{padding:18.0px 14.0px}}@media(min-width:1025px){.cifsec{padding-block:56px}.cifsec-in h2{margin-bottom:38px}.cif{padding:26px 20px}}/* ── reducir_titulo_y_parrafo_about.json ─────────────────────────────────
   El titular y la entradilla de About bajan de cuerpo y el aire entre ceja,
   titular y parrafo se aprieta. El ancho de linea se queda dentro del rango
   comodo de lectura. */
.ab-copy h1{font-size:44.0px;line-height:1.08;
  letter-spacing:-.025em;margin-bottom:.6rem}@media(max-width:1024px){/* ── reducir_titulo_y_parrafo_about.json ─────────────────────────────────
   El titular y la entradilla de About bajan de cuerpo y el aire entre ceja,
   titular y parrafo se aprieta. El ancho de linea se queda dentro del rango
   comodo de lectura. */
.ab-copy h1{font-size:30.4px}}.ab-copy .ab-lead{font-size:18.0px;line-height:1.6;
  max-width:62ch;margin-top:.6rem}@media(max-width:1024px){.ab-copy .ab-lead{font-size:16.0px}}.abhero-2col .blade{margin-bottom:.5rem}@media(min-width:1025px){.ab-copy h1{font-size:44px;line-height:47.5px}.ab-copy .ab-lead{font-size:18px;line-height:28.8px}}/* ── seccion_comunidad_mitad_de_tamano.json ──────────────────────────────
   "Connect with the Georgetown community" ocupaba una pantalla entera. Todo
   el bloque baja a la mitad: el alto del hero de la seccion, el titular, las
   dos tarjetas, su texto, el banner del boletin y los espaciados. Se
   conservan las dos columnas, el centrado y el margen interno. */
.gcon{padding-block:48.0px;min-height:0}@media(max-width:1024px){/* ── seccion_comunidad_mitad_de_tamano.json ──────────────────────────────
   "Connect with the Georgetown community" ocupaba una pantalla entera. Todo
   el bloque baja a la mitad: el alto del hero de la seccion, el titular, las
   dos tarjetas, su texto, el banner del boletin y los espaciados. Se
   conservan las dos columnas, el centrado y el margen interno. */
.gcon{padding-block:30.0px}}.gcon-in{gap:26.0px}@media(max-width:1024px){.gcon-in{gap:18.0px}}.gcon h2{font-size:34.56px;line-height:1.08;
  margin-bottom:26.0px}@media(max-width:1024px){.gcon h2{font-size:24.0px;
  margin-bottom:18.0px}}.gcon-cards{gap:22.0px}@media(max-width:1024px){.gcon-cards{gap:14.0px}}.gcon-c{padding:26.0px}@media(max-width:1024px){.gcon-c{padding:18.0px}}.gcon-c h3{font-size:20.0px;line-height:1.15;
  margin-bottom:8px}@media(max-width:1024px){.gcon-c h3{font-size:16.8px}}.gcon-c p{font-size:14px;line-height:1.55;margin-bottom:12px}.gcon-c a{font-size:12px}.gcon-news{margin-top:24.0px;padding:14px 26px;min-height:46px;
  font-size:12px}@media(max-width:1024px){.gcon-news{margin-top:16.0px}}@media(min-width:1025px){.gcon{padding-block:48px}.gcon h2{font-size:36px;margin-bottom:26px}.gcon-cards{gap:22px}.gcon-c{padding:26px}.gcon-c h3{font-size:20px}.gcon-news{margin-top:24px}}/* ── ordenar_y_alinear_footer.json ───────────────────────────────────────
   Tres filas, dos columnas cada una, todas sobre el mismo eje del pie.
   Fila 1: logo | Instagram. Fila 2: financiacion | privacidad y copyright.
   Fila 3: logos institucionales | nada. Las lineas de arriba y abajo se
   alinean con el contenedor. */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.fr{display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:start;gap:43.2px;
  padding-block:28.0px}@media(max-width:1024px){.fr{gap:20.0px;
  padding-block:18.0px}}.fr-1{align-items:center;padding-top:0}.fr-2{border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13)}.fr-3{padding-bottom:0}.fr-1 .fmark{max-width:min(240px,60%);height:auto}.fr-ig{justify-self:end;font-family:var(--disp);font-weight:600;
  font-size:var(--t-tiny);letter-spacing:.02em;color:#DCDCD9;
  text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);
  padding-bottom:2px}.fr-ig:hover{color:#fff;border-bottom-color:#fff}.fr-2 .funded{margin:0;max-width:56ch}.fr-2 .fbot{display:grid;gap:6px;justify-items:end;text-align:right;
  justify-self:end;max-width:44ch}.fr-3 .accred{margin:0;display:flex;align-items:center;flex-wrap:wrap;
  gap:34.0px}@media(max-width:1024px){.fr-3 .accred{
  gap:18.0px}}@media(min-width:1025px){.fr{gap:48px;padding-block:28px}}@media(max-width:1024px){.fr{grid-template-columns:minmax(0,1fr);gap:16px}.fr-ig{justify-self:start}.fr-2 .fbot{justify-items:start;text-align:left;justify-self:start}}/* ── seccion_sponsor_estilo_referencia.json ──────────────────────────────
   Jerarquia de la referencia: titulo naranja centrado, descripcion, boton
   naranja de texto blanco, subtitulo azul y los logos en filas de tamaño
   proporcional. Fondo blanco roto. */
.spn-sup{background:#FBFAF7}.spn-sup-head{text-align:center;max-width:640px;margin-inline:auto}.spn-sup-t{color:var(--orange);text-transform:uppercase;letter-spacing:.06em;
  font-size:36px;line-height:1.06;margin:0 0 14px}.spn-sup-s{margin:0 auto 22px;max-width:52ch;font-size:16px;line-height:1.55;
  color:var(--ink-2)}.spn-sup-cta{display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:14px 42px;
  font-family:var(--disp);font-weight:700;font-size:var(--t-eyebrow);
  letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
  color:#111111;background:var(--orange);border:1.5px solid var(--orange);
  transition:background var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}.spn-sup-cta:hover{background:#111111;border-color:#111111;color:#fff}.spn-sup-cta:focus-visible{outline:2px solid #111111;outline-offset:3px}.spn-sup-l{margin:52.0px 0 30.0px;text-align:center;
  color:#17385D;font-family:var(--disp);font-weight:700;
  font-size:var(--t-eyebrow);letter-spacing:.18em;text-transform:uppercase}@media(max-width:1024px){.spn-sup-l{margin:34.0px 0 20.0px}}.spn-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:46.08px;margin-inline:auto;max-width:1000px}@media(max-width:1024px){.spn-logos{
  gap:24.0px}}.spn-sup-n{margin:36.0px 0 0;text-align:center;
  font-size:var(--t-tiny);color:var(--muted)}@media(max-width:1024px){.spn-sup-n{margin:24.0px 0 0}}@media(min-width:1025px){.spn-sup-t{font-size:36px}.spn-sup-l{margin:52px 0 30px}.spn-logos{gap:48px}}@media(max-width:1024px){.spn-sup-t{font-size:30px}}@media(max-width:1024px){.spn-sup-t{font-size:26px}.spn-logos{gap:24px}}/* El hueco de la rejilla de cifras se congela en el canvas de escritorio. */
@media(min-width:1025px){.cifras{row-gap:22px;column-gap:22px}}

/* Al congelar los tamaños, "Explore GMS Programs" dejo de encoger por debajo
   de 375 y con nowrap se salia 19px de su contenedor a 320. La linea unica
   se mantiene en escritorio, que es donde se pidio; en movil puede partir. */
@media(max-width:1024px){
  /* la regla original va con (1,2,1); hay que igualarla */
  #gms-programs .head.prog-head h2,.prog-head h2{
    white-space:normal;text-wrap:balance;overflow-wrap:break-word}
}

/* ══ grupo_5_instrucciones_diseno_01 / _02 / _03 ══════════════════════════
   Los tres traen la misma lista con variaciones; las repetidas se aplican
   una vez. */

/* 01·1 y 01·5 · About centrado en el mismo eje del resto de la pagina, con
   las dos columnas equilibradas y el titular algo mas contenido. Antes el
   bloque iba en 120-1320 mientras el resto vive en 169-1271. */
.abhero-2col .abhero-in{max-width:1102px}
.abhero-2col .ab-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:56px;align-items:center}
.ab-copy h1{font-size:38px;line-height:1.1;margin-bottom:.5rem}
@media(max-width:1024px){.ab-copy h1{font-size:29px}}

/* 01·2 · el bloque del mapa vuelve a ancho completo, menos alto y con la
   letra mas pequeña. Contradice a explore_neighborhood_media_seccion.json,
   que lo habia estrechado a 880: manda el mas nuevo. */
.msmap{max-width:none}
.ms-banner{max-width:1102px;padding-block:22px}
.ms-panel h2{font-size:28px;line-height:1.08}
.ms-panel p{font-size:14px;line-height:1.55}
.ms-mapwrap{max-width:320px}
@media(min-width:1025px){
  .ms-banner{padding-block:32px}
  .ms-panel h2{font-size:28px}
}
@media(max-width:1024px){.ms-panel h2{font-size:24px}}

/* 01·3 · los tres cuadros BID / Both / GMS, mas anchos y menos altos, y con
   el guion de vuelta como marcador. El guion cuelga a la izquierda para que
   el texto siga compartiendo eje con el titulo, que es lo que pedia
   alinear_texto_con_titulos.json. */
.bid-cols{gap:20px}
.bidc{padding:26px 24px 20px}
.bidc ul{gap:7px;margin-top:1rem}
.bidc li{display:block;position:relative;padding-left:0}
.bidc li::before{content:"\2013";position:absolute;left:-16px;top:0;
  color:var(--muted)}
.bidc h3,.bidc .bidc-s,.bidc ul{padding-inline:1.25rem}
@media(min-width:1025px){.bid-cols{gap:20px}}

/* 02·5 · la cita: parrafo centrado con su ancho y la firma justo debajo. */
.quote cite{margin-top:10px}
.quote p{margin-bottom:0}

/* 03·1 · "Board of Directors" baja un 15%: 56 → 47,6. */
.tm-head h2{font-size:47.6px;line-height:1.06}
@media(max-width:1024px){.tm-head h2{font-size:27.2px}}

/* 03·2 · la foto del board ocupa solo su propia area: con object-fit
   contain quedaban dos bandas vacias arriba y abajo. Ahora el contenedor se
   ajusta a la imagen y no se recorta a nadie. */
.cm-img{align-self:start;min-height:0;height:auto;overflow:visible}
.cm-img img{position:static;width:100%;height:auto;object-fit:contain;
  display:block}

/* 03·3 · el desplegable del menu: cada elemento con el fondo del ancho de su
   texto, no de toda la barra. */
.nav-thick .dd a,.dd-menu a{width:auto;display:inline-block;
  padding:7px 12px;border-radius:2px}
.dd,.dd-menu{align-items:flex-start}

/* 03·4 · los programas, cerrados, muestran solo el nombre. El icono pasa de
   + a − al abrir. */
.prog .prog-b{overflow:hidden}
.prog .prog-d{margin:0;padding:14px 0 0;font-size:15px;line-height:1.6;
  color:var(--ink-2)}
.prog summary{display:flex;align-items:center;justify-content:space-between;
  gap:20px;cursor:pointer;list-style:none}
.prog summary::-webkit-details-marker{display:none}
.prog .prog-mas{flex:none;position:relative;width:22px;height:22px}
.prog .prog-mas::before,.prog .prog-mas::after{content:"";position:absolute;
  background:var(--ink);transition:transform .18s var(--ease),opacity .18s var(--ease)}
.prog .prog-mas::before{left:0;right:0;top:10px;height:2px}
.prog .prog-mas::after{top:0;bottom:0;left:10px;width:2px}
.prog[open] .prog-mas::after{transform:scaleY(0);opacity:0}
.prog summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .prog .prog-mas::before,.prog .prog-mas::after{transition:none}
}

/* 03·5 · los tres accesos, botones horizontales largos sin foto. */
.bznav{grid-template-columns:minmax(0,1fr);gap:12px}
.bzn{display:flex;flex-direction:row;align-items:center;
  justify-content:space-between;gap:20px;
  min-height:0;height:auto;padding:20px 26px;
  background:none;background-image:none;background-color:var(--bg-2);
  border-radius:0;color:var(--ink)}
.bzn::after{content:none}
.bzn-t{max-width:none;font-size:20px;line-height:1.2;color:var(--ink);
  text-shadow:none;text-align:left}
.bzn-i{flex:none;font-style:normal;font-size:1.4em;line-height:1;
  color:var(--orange)}
@media(hover:hover){
  .bzn:hover{background-color:var(--ink);color:var(--bg)}
  .bzn:hover .bzn-t{color:var(--bg)}
  .bzn:hover::after{content:none}
}
.bzn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(min-width:1025px){.bzn{padding:20px 26px}.bzn-t{font-size:20px}}
@media(max-width:1024px){.bzn{padding:16px 20px}.bzn-t{font-size:17px}}

/* El .prog-b sale ahora del <summary>, pero llevaba display:flex del autor y
   eso gana a la regla de la UA que esconde los hijos de un <details> cerrado:
   el parrafo seguia a la vista. Se oculta explicitamente, y de paso se retira
   el recorte a dos lineas, que era del diseño anterior. */
details.prog:not([open]) > .prog-b{display:none}
details.prog > .prog-b{display:block}
.prog .prog-d{-webkit-line-clamp:unset;display:block;overflow:visible;
  font-size:16px;line-height:1.6}
@media(max-width:1024px){.prog .prog-d{font-size:15px}}
/* el summary deja de ser de dos columnas: solo lleva el nombre y el icono */
details.prog > summary{grid-template-columns:minmax(0,1fr) auto;
  align-items:center;padding:26px 0}
@media(max-width:1024px){details.prog > summary{padding:20px 0;
  grid-template-columns:minmax(0,1fr) auto;gap:14px}}
.prog .prog-mas{margin-top:0}

/* La foto del board se quedaba en 0 de alto —y por tanto sin cargar— al
   sacarla del posicionamiento absoluto. Vuelve a tener su propia altura, sin
   bandas por arriba ni por abajo. */
.cm-img{position:static;display:block}
.cm-img img{position:static;width:100%;height:auto;aspect-ratio:1715/1325;
  object-fit:cover;display:block}

/* Quedaba un ::before de la version con foto pintando un velo azul encima
   del boton, y el radio de 16px de la tarjeta anterior. */
.bzn::before,.bzn::after{content:none!important;background:none}
.bznav .bzn{border-radius:0;background-image:none}
body:has(.bznav) .bznav{padding-bottom:0}

/* ══ grupo_3_instrucciones_art_all_night_01 ═══════════════════════════════
   2 · el desplegable se abre y se cierra con el mismo cuadro. Cerrado, el
   chevron apunta abajo; abierto, gira y se lee como cierre. La caja pasa de
   blanco puro a un blanco azulado que la despega del fondo navy. */
.scar-panel{background:#F2F6FA;border-color:#D3DEE8}
.scar-c.on .scar-c-go{background:#D7E5F2;color:#12202C;transform:rotate(180deg)}
.scar-c.on{outline:2px solid #D7E5F2;outline-offset:-2px}

/* 3 · "Showcase Sites" baja un 30%: 56 → 39,2. */
.ssg-h h2{font-size:39.2px;line-height:1.06}
@media(max-width:1024px){.ssg-h h2{font-size:22.4px}}

/* ══ instrucciones-2026-08-27 · seccion Legacy ════════════════════════════
   3 · fuera las lineas naranjas —el filete que separaba las filas y el
   subrayado del sitio web— y fondo algo menos blanco que el crema del
   cuerpo, para que la seccion se despegue sin llegar a ser una caja. */
.lg-sec{background:#EDEBE5}
.lg-filas .lg-card{border-bottom:1px solid rgba(17,17,17,.10)}
.lg-filas .lg-card:last-child{border-bottom:0}
.lg-filas .lg-web{border-bottom:0;text-decoration:none}

/* 4 · las descripciones ocupan todas lo mismo, para que las filas no bailen.
   Tres lineas de alto fijo: la mas larga de los datos actuales entra en tres.
   El texto viene de Google Places y no se ha alargado: alargarlo seria
   inventar informacion sobre negocios reales. */
.lg-filas .lg-desc{min-height:calc(3 * 1.6em);margin:0}

/* solo el sitio web y la direccion son clicables; la direccion abre el mapa */
.lg-filas .lg-card{cursor:default}
.lg-filas .lg-web,.lg-filas .lg-addr{display:inline-block;width:fit-content;
  text-decoration:none;transition:color var(--t-ui) var(--ease)}
.lg-filas .lg-addr{color:var(--muted)}
.lg-filas .lg-web{color:#8F3722}
@media(hover:hover){
  .lg-filas .lg-web:hover,.lg-filas .lg-addr:hover{color:#111111;
    text-decoration:underline;text-underline-offset:3px}
}
.lg-filas .lg-web:focus-visible,.lg-filas .lg-addr:focus-visible{
  outline:2px solid var(--orange);outline-offset:2px}
/* el hover de la fila entera ya no aplica: la fila no es un enlace */
.lg-filas .lg-card:hover .lg-name{color:inherit}

/* 3 · sin huecos vacios: el bloque de datos se pega al contenido */
.lg-filas .lg-foot{margin:0 0 10px;gap:2px}
.lg-filas .lg-meta{margin:0 0 10px}
.lg-filas .lg-card{padding:26px 0}
@media(min-width:1025px){.lg-filas .lg-card{padding:26px 0}}

/* ══ instrucciones-2026-08-27-2 ═══════════════════════════════════════════
   2 · el desplegable de Art All Night, menos blanco. Venia de #F2F6FA; baja a
   un azulado con mas cuerpo, que sigue dejando el texto por encima de 4,5:1
   sobre el navy de la seccion. */
.scar-panel{background:#E3EBF3;border-color:#C4D3E1}

/* 4 · "Thank you to our partners" pasa a la izquierda y "Our Supporters" a la
   derecha. Se hace con order, sin tocar el marcado, para que el orden de
   lectura del lector de pantalla siga siendo el mismo. */
.spons-2col .spons-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.spons-2col .spons-l{order:2}
.spons-2col .spons-r{order:1}

/* y el logo de DSLBD, mas pequeño: era el mas alto de la fila y desequilibraba
   el bloque de financiadores. */
.spons-2col .spr-l img[alt*="DSLBD"],
.spons-2col .spr-l img[src*="dslbd"]{max-height:40px;max-width:130px}

/* ══ instrucciones.json · resueltas midiendo el sitio ═════════════════════
   El json no nombraba las secciones (venia con capturas anotadas). Estas dos
   se identificaron sin ambiguedad porque el rasgo que describen solo se da en
   un sitio.

   3 · "el logo en blanco y negro con hover a color": de los cuatro logos de
   Other Georgetown Partner Organizations, tres ya estaban en gris y SOLO el
   de Georgetown Village se quedaba en color —una regla anterior le daba
   contraste y saturacion en vez de escala de grises—. Se alinea con el resto. */
.orgs-grid .org[data-org="village"] .org-ph img{
  filter:grayscale(1);transition:filter var(--t-ui) var(--ease)}
@media(hover:hover){
  .orgs-grid .org[data-org="village"]:hover .org-ph img{filter:grayscale(0)}
}
.orgs-grid .org[data-org="village"]:focus-within .org-ph img{filter:grayscale(0)}

/* 4 · "estos headlines a minusculas, por consistencia con About Us": en esa
   pagina todos los titulos van en caja normal menos cuatro, que se pintaban
   en MAYUSCULAS —Our Vision, Our Mission, Other Georgetown Partner
   Organizations y Annual Reports—. Se igualan al resto. */
/* la regla anterior de Our Vision / Our Mission va con (0,2,1) y ademas les
   daba 3,2px de espaciado entre letras, que solo tiene sentido en versalitas:
   sin mayusculas el texto quedaba desparramado. */
.abhero-2col .ab-block h2,.ab-block h2,.orgs-h,.rp-h{text-transform:none}
.abhero-2col .ab-block h2{letter-spacing:-.01em}

/* ══ instrucciones-2026-08-27-3 ═══════════════════════════════════════════
   1 · los tres accesos vuelven a una fila horizontal. El grupo_5 los habia
   apilado en vertical; este json es mas nuevo y pide los tres en linea. */
.bznav{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bzn{flex-direction:row;align-items:center;justify-content:space-between;
  gap:14px;padding:22px 22px;min-height:96px}
.bzn-t{font-size:18px;line-height:1.2;max-width:none}
.bzn-i{font-size:1.25em}
@media(min-width:1025px){
  .bznav{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .bzn{padding:22px}
  .bzn-t{font-size:18px}
}
@media(max-width:1024px){
  .bznav{grid-template-columns:minmax(0,1fr);gap:12px}
  .bzn{min-height:0;padding:16px 20px}
  .bzn-t{font-size:17px}
}

/* 2 · el titulo, mas pequeño y alineado con el resto */
.bznav-h h2{font-size:30px;line-height:1.06}
@media(min-width:1025px){.bznav-h h2{font-size:30px}}
@media(max-width:1024px){.bznav-h h2{font-size:26px}}

/* 3 · "Explore GMS Programs" a la izquierda, como "Resources & Vendors", que
   es su seccion hermana. Iba centrado y era el unico. */
#gms-programs .head.prog-head,#gms-programs .head.prog-head h2,
.head.prog-head h2{text-align:left}
.bznav-h{text-align:left}
.bznav-h h2{text-align:left}

/* ══ instrucciones-2026-08-27 · 1 y instrucciones-2026-08-27-3 · 4 y 5 ═════
   La captura de referencia (referencia-donors.png) muestra el problema:
   124px de aire muerto arriba y otros 124 abajo, y tres columnas casi vacias
   al lado de una de 16 nombres. El aire baja a 56 y la lista larga se reparte
   en dos columnas internas, con lo que la seccion pasa de 743 a ~430px. */
.dnr{padding-block:0}
section:has(.dnr){padding-block:56px}
.dnr-cols{grid-template-columns:1fr 2.1fr 1fr 1fr;gap:24px;align-items:start}
.dnr-g:nth-child(2) ul{columns:2;column-gap:24px}
.dnr-g:nth-child(2) li{break-inside:avoid}
@media(min-width:1025px){
  section:has(.dnr){padding-block:56px}
  .dnr-cols{gap:24px}
  .dnr-g:nth-child(2) ul{columns:2;column-gap:24px}
}
@media(max-width:1024px){
  section:has(.dnr){padding-block:36px}
  .dnr-g:nth-child(2) ul{columns:auto}
}

/* columns no aplica a un contenedor grid, y el ul lo era desde un json
   anterior: por eso la lista de 16 nombres seguia en una sola columna. */
.dnr-g:nth-child(2) ul{display:block;columns:2;column-gap:24px}
.dnr-g:nth-child(2) li{break-inside:avoid;margin-bottom:5px}
@media(min-width:1025px){
  .dnr-g:nth-child(2) ul{display:block;columns:2}
}
@media(max-width:1024px){
  .dnr-g:nth-child(2) ul{display:grid;columns:auto}
}

/* ══ instrucciones.json · 1 ═══════════════════════════════════════════════
   "eliminar el cuadro interior... una sola imagen de fondo continua, sin
   marcos ni una imagen superpuesta dentro de otra".
   La seccion del mapa tenia DOS capas de imagen: el ::before de .msmap con
   una foto de la calle y, encima, el ::before de .ms-banner con otra imagen
   —el recuadro interior—. Se retira la de dentro y queda una sola foto
   continua de fondo. El mapa en si es un <img> de contenido y se queda. */
.ms-banner::before,.ms-banner::after{content:none}
.ms-banner{background:none;border:0;border-radius:0;box-shadow:none}

/* ══ instrucciones-2026-08-27-2 · 3 ═══════════════════════════════════════
   "aumentar los titulos para que no queden demasiado pequeños dentro de los
   cuadros": los nombres de las organizaciones socias iban a 14px dentro de
   una tarjeta de 222x173, el titulo mas pequeño del sitio en proporcion. */
.orgs-grid .org h3{font-size:18px;line-height:1.2}
@media(min-width:1025px){.orgs-grid .org h3{font-size:18px}}
@media(max-width:1024px){.orgs-grid .org h3{font-size:16px}}

/* ══ instrucciones-2026-08-27 · 1 ═════════════════════════════════════════
   "Reducir el espacio vertical entre estas dos secciones para que queden
   visualmente mas juntas": /wander/ #guides -> #bucks-promo era el hueco mas
   grande de todo el sitio (297px de crema vacia a 1440). #bucks-promo ya
   tenia el fondo recortado por section:last-of-type{padding-bottom:40px},
   pero conservaba los 124px de arriba del section base -> quedaba descuadrado
   (297px encima de la tarjeta, ~120px debajo). Se toca SOLO padding-top /
   padding-bottom, nunca el shorthand, para no pisar ese 40px de abajo. */
@media(min-width:1025px){
  #guides{padding-bottom:56px}
  #bucks-promo{padding-top:40px}
}
@media(max-width:1024px){
  #guides{padding-bottom:32px}
  #bucks-promo{padding-top:24px}
}

/* ── about_section_eyebrow_hierarchy · ceja+titulo+subtitulo como #bid ────
   instrucciones.json #5: "etiqueta superior en mayusculas espaciadas, titulo
   principal destacado y subtitulo descriptivo debajo, manteniendo jerarquia y
   alineacion consistentes".
   Los dos unicos bloques de titulo de /about/ sin ceja eran #partners y
   #reports. Se les da la misma ceja que .bid-eyebrow, la seccion de
   referencia. Va al FINAL del archivo para ganar a .kick,.blade (linea 24),
   con la que empata en especificidad (0,1,0).
   text-align:center es obligatorio: .orgs y #reports .wrap computan
   text-align:start y el centrado lo ponen .orgs-h/.rp-h a mano, asi que sin
   esto la ceja saldria pegada a la izquierda.
   Valores fijos y sin media query: la ceja mide lo mismo a 1440 y a 375
   (11px / 17.82px / 2.42px / 600 / uppercase / #6A6A67 / margin-bottom 16px).
   #6A6A67 = rgb(106,106,103) = var(--muted). */
.rp-eyebrow,.orgs-eyebrow{display:block;margin:0 0 16px;text-align:center;
  font-family:var(--disp);font-size:11px;line-height:17.82px;letter-spacing:2.42px;
  font-weight:600;text-transform:uppercase;color:#6A6A67}

/* ══ instrucciones · 6 ═════════════════════════════════════════════════════
   "Alinear la fotografia con la posicion señalada en la composicion,
   manteniendo su borde superior y su ubicacion horizontal correctamente
   alineados con el contenido de la seccion."
   La foto del hero de About iba CENTRADA dentro de su celda (linea ~3763:
   position:absolute + inset:0 + margin:auto), asi que caia 21px por debajo
   del titular y su borde derecho quedaba 46px corto de la reticula. Es la
   unica imagen del sitio que no coincide con su caja: .cm-img, .rp-ph,
   .excor-ph y .gbk-card si lo hacen. Se ancla arriba y a la derecha: borde
   superior a la altura del h1 y borde derecho sobre la linea de 1271, la
   misma de .abhero-in, .orgs y .cm-img. Sigue fuera del flujo, asi que la
   fila la marca la columna de texto. Mantiene los 430x537,5 en 4:5, sin
   recorte ni deformacion. object-position a la derecha porque el original
   (662x828) es 0,3px mas estrecho que un 4:5 exacto y con `contain` esa
   holgura debe caer por dentro, no sobre la linea. */
@media(min-width:1025px){
  .abhero.abhero-2col .ab-photo img{
    inset:0 0 auto auto;
    margin:0;
    height:min(100%,537.5px);
    width:auto;
    max-width:100%;
    aspect-ratio:4/5;
    object-fit:contain;
    object-position:100% 50%}
}

/* ══ instrucciones-2026-08-27 · 1 ═════════════════════════════════════════
   "Reducir el espacio vertical entre estas dos secciones para que queden
   visualmente mas juntas": /wander/ #guides -> #bucks-promo era el hueco mas
   grande de todo el sitio (297px de crema vacia a 1440). #bucks-promo ya
   tenia el fondo recortado por section:last-of-type{padding-bottom:40px},
   pero conservaba los 124px de arriba del section base -> quedaba descuadrado
   (297px encima de la tarjeta, ~120px debajo). Se toca SOLO padding-top /
   padding-bottom, nunca el shorthand, para no pisar ese 40px de abajo. */
@media(min-width:1025px){
  #guides{padding-bottom:56px}
  #bucks-promo{padding-top:40px}
}
@media(max-width:1024px){
  #guides{padding-bottom:32px}
  #bucks-promo{padding-top:24px}
}

/* ── instrucciones-2026-08-27.json #2 · "By the numbers" menos grotesca ───
   El titular estaba a 56px EN MAYUSCULAS — el unico del sitio al maximo de la
   escala y en caja alta a la vez — sobre cifras de 32px y rotulos de 11px:
   dominancia 6,77 contra una norma de 3,1-3,9 en el resto del sitio, y un
   salto de 1,87x contra "Ways we help" (30px) de la misma pagina.
   Baja titular, ceja y cifras; con eso la banda pasa de 588 a 493px y la
   dominancia a 3,87, ya dentro de la norma.
   NO se toca `.cif-l`: sigue en 11px, el suelo de legibilidad que este mismo
   archivo fijo mas arriba, y ademas achicarlo SUBIRIA la dominancia (4,26).
   NO se toca el tramo movil: medido a 375, ya estaba equilibrado
   (h2 32 / cif-v 22 / cif-l 11 = 3,87). Solo escritorio estaba roto. */
@media(min-width:1025px){
  .cifsec .cifsec-in .blade{font-size:11px;line-height:17.8px;letter-spacing:2.64px;margin-bottom:8px}
  .cifsec .cifsec-in h2{font-size:32px;line-height:34px;letter-spacing:-0.64px;margin-bottom:26px}
  .cifsec .cif{padding:22px 18px}
  .cifsec .cif-i{width:18px;height:18px;margin-bottom:4px}
  .cifsec .cif-v{font-size:26px;line-height:28px;letter-spacing:-0.78px}
}

/* Dos textos con white-space:nowrap se salian de su caja desde que los
   tamaños dejaron de escalar: antes encogian con el viewport y cabian.
   - .orgs-sub: 778px de texto en 760 de caja (/about/)
   - .person span "Chair · Gwendolyn Coleman": 216 en 204 (/get-involved/)
   Se les permite partir: son frases, no rotulos de una palabra. */
.orgs-sub{white-space:normal;text-wrap:balance}
.person span{white-space:normal}

/* 297 → 186 no era suficiente: entre el ultimo elemento de #guides y el
   primero de #bucks-promo seguian quedando 186px de crema. Se aprieta al
   ritmo del resto de la pagina. */
@media(min-width:1025px){
  #guides{padding-bottom:36px}
  #bucks-promo{padding-top:24px}
}
@media(max-width:1024px){
  #guides{padding-bottom:24px}
  #bucks-promo{padding-top:16px}
}

/* ══ instrucciones.json · 2 ═══════════════════════════════════════════════
   "Reducir el tamaño del headline y alinearlo verticalmente con la imagen
   para que ambos elementos comiencen a la misma altura."
   La alineacion ya la resuelve el bloque de la instruccion 6 —la foto se
   ancla arriba y a la derecha en vez de ir centrada en su celda—, asi que
   aqui queda la otra mitad: el titular baja de 38 a 32px. */
@media(min-width:1025px){
  .abhero.abhero-2col .ab-copy h1{font-size:32px;line-height:1.1}
}

/* ══ instrucciones-2026-08-27-2 · 5 ═══════════════════════════════════════
   "eliminar el espacio señalado entre ambos elementos para que queden
   visualmente unidos". El hueco esta en /business/: entre la entradilla de la
   cabecera y "Ways we help" habia 248px de aire muerto sobre el mismo fondo
   crema, sin filete ni cambio de color que justificase el corte. El resto del
   sitio deja 51-94px entre cabecera y primer contenido (directory 51,
   wander 54, faq 58, donate 58, events 59, bucks 59, sponsor 61, contact 94).
   Lo montaban tres reglas sumadas: 96px de padding-bottom de la cabecera
   (site.css:2651), 128px de padding-top de la seccion (site.css:2413) y 24px
   de .bznav-h (site.css:1728). En movil el mismo hueco medía 136px (48+64+24).
   Baja a 40px en escritorio y 28px en movil, por debajo del ritmo del sitio,
   para que los dos bloques se lean como uno solo. El padding-top de la
   cabecera (96/48px, el aire bajo el nav) NO se toca: el cliente marco un
   solo hueco. Solo business/index.html usa .bznav. */
body:has(.bznav) header.phead{padding-bottom:24.0px}
body:has(.bznav) header.phead + section{padding-top:0}
body:has(.bznav) .bznav-h{padding-top:16.0px}
@media(max-width:1024px){
  body:has(.bznav) header.phead{padding-bottom:16.0px}
  body:has(.bznav) header.phead + section{padding-top:0}
  body:has(.bznav) .bznav-h{padding-top:12.0px}
}

/* ══ instrucciones-2026-08-27-2 · 1 ═══════════════════════════════════════
   "Restaurar esta seccion para que vuelva a estar organizada como estaba
   originalmente" · Explore GMS Programs.
   Al pasar la seccion de dos columnas (nombre | descripcion) a un acordeon de
   una sola, quedaron vivas tres reglas del diseño anterior:
   1 · el enlace de cada programa conserva grid-column:2 y una sangria de
       calc(5/12 * 100%) = 488px, con lo que cuelga en mitad del ancho, sin
       alinearse ni con el titulo ni con la descripcion. Vuelve al margen.
   2 · el ultimo programa no lleva enlace, y sin el margen inferior del enlace
       el filete de separacion cae encima de la ultima linea de texto (1px de
       aire frente a los 45 de los otros cuatro). El aire pasa al propio
       details, asi todas las filas cierran igual.
   3 · el icono nunca llegaba a ser un "+": la regla vieja fija height:2px y
       rotate(90deg) en el ::after con (0,1,1), y la nueva solo declaraba el
       ancho, asi que la barra vertical quedaba en un punto de 2x2. Se declara
       entera, como en el mismo componente de Committees. */
#gms-programs .prog .prog-cta,#gms-programs .prog .grec-link{
  grid-column:auto;margin:14px 0 0;margin-left:0}
#gms-programs details.prog[open]{padding-bottom:32px}
#gms-programs .prog .prog-mas::before,#gms-programs .prog .prog-mas::after{
  margin-top:0;border-radius:0;right:auto;bottom:auto}
#gms-programs .prog .prog-mas::before{top:10px;left:0;width:22px;height:2px}
#gms-programs .prog .prog-mas::after{top:0;left:10px;width:2px;height:22px;
  transform:none}
#gms-programs .prog[open] .prog-mas::after{transform:scaleY(0);opacity:0}
@media(max-width:1024px){
  #gms-programs .prog .prog-cta,#gms-programs .prog .grec-link{
    margin:12px 0 0;margin-left:0}
  #gms-programs details.prog[open]{padding-bottom:24px}
}

/* BUG que introduje con grupo_5_instrucciones_diseno_01 al centrar About: la
   rejilla de dos columnas quedo FUERA de media query, asi que el hero se
   partia en dos tambien en movil —a 375 las columnas median 137px cada una y
   la foto quedaba en 137x91—. En movil vuelve a una sola columna. */
@media(max-width:1024px){
  .abhero-2col .ab-grid2{grid-template-columns:minmax(0,1fr)}
}

/* ── instruccion 8 · "By the numbers" a sangre, mas baja y con fotos nuevas ─
   La franja sale del .wrap (ver pages.py) y ocupa el ancho completo: sin
   margenes laterales crema ni ancho maximo. Seis cifras en una sola fila y
   un fondo de cuatro fotos de la galeria en vez de una.
   Medido: 1440 -> banda 1200x493 en x=120 pasa a 1440x295 en x=0, seccion
   613 -> 375px (-39%). 375 -> seccion 1023 -> 549px (-46%). Sin desborde
   horizontal a 1440/1280/1200/1199/1100/1025/1024/768/375.
   OJO con la especificidad: el bloque de la instruccion #2 que cierra este
   archivo escribe `.cifsec .cif`, `.cifsec .cif-i` y `.cifsec .cif-v` (0,2,0).
   Gana a `.cif` (0,1,0) aunque esto vaya despues, asi que lo que tiene que
   pisarlo se escribe tambien con `.cifsec` delante. Los tamaños de escriturio
   que fijo esa instruccion —h2 32px, cifra 26px, tarjeta 22/18— se respetan:
   aqui solo cambia la caja, no la tipografia. */
.cifsec{margin-inline:0;padding:40.0px 48.0px}
@media(max-width:1024px){.cifsec{margin-inline:0;padding:26.0px 20.0px}}
.cifsec-in{max-width:none;margin-inline:0}
section.tight.cifsec-sec{padding:40.0px 0}
@media(max-width:1024px){section.tight.cifsec-sec{padding:26.0px 0}}

/* El fondo es una tira de cuatro fotos. `grid-template-rows:100%` es
   obligatorio: sin fila de alto definido, el `height:100%` de cada <img> se
   resuelve contra una altura indefinida, cae a `auto` y la foto se dibuja a
   su proporcion natural (360x450 dentro de una banda de 295) — el
   `overflow:hidden` de .cifsec le corta el tercio de abajo y el
   `object-position` no llega a hacer nada. */
.cifsec-bgs{position:absolute;inset:0;z-index:-2;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:100%;gap:0}
.cifsec-bgs .cifsec-bg{position:static;width:100%;height:100%;min-height:0;
  object-fit:cover;object-position:50% 48%}
/* En movil van en 2x2 y no ocultas: escondidas con display:none Chrome las
   descarga igual, que es justo donde menos conviene. */
@media(max-width:1024px){.cifsec-bgs{grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,50%))}}

/* Seis cifras en una sola fila. El valor mas largo, "$387,000", mide 110px a
   1440 dentro de 184px de caja util y 102px a 1025 dentro de 130: no se
   parte en ningun corte. */
.cifras{grid-template-columns:repeat(6,minmax(0,1fr));gap:14.0px}
.cifsec .cif{padding:20.0px 14.0px;gap:4px}
.cifsec .cif-l{max-width:none}
/* El bloque original traia aqui un tramo intermedio (1025-1199) para que las
   seis cifras cupieran en el ancho de escritorio mas estrecho. Eso reintroduce
   un breakpoint y contradice hacer_pagina_menos_responsive_y_mas_estatica.json,
   que dejo el sitio en dos composiciones. Se toman esos mismos valores para
   TODO el escritorio: si las seis caben a 1025, caben a 1440. */
@media(min-width:1025px){
  .cifsec{padding:44px 28px}
  .cifsec .cif{padding:18px 10px}
  .cifsec .cif-v{font-size:23px;line-height:25px}
}
@media(max-width:1024px){.cifras{grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10.0px}.cifsec .cif{padding:14.0px 12.0px}}

/* Con las seis en fila, los rotulos de dos lineas hacian mas alta su tarjeta
   que la de los de una. Se igualan a la mas alta y el contenido se centra
   dentro, para que la fila lea como una sola pieza. */
.cifras{align-items:stretch}
.cifsec .cif{display:flex;flex-direction:column;align-items:center;
  justify-content:center;height:100%}

/* ══ instrucciones-2026-08-29 · 1 ═════════════════════════════════════════
   "Hacer un poco mas grande el mapa y las letras". El mapa iba a 320px
   cuando su imagen mide 489x660: se sube a 400, que sigue por debajo de su
   resolucion nativa, asi que no pierde nitidez. Los textos del panel suben
   con el, y los rotulos de las calles —que estaban en 10px en escritorio y
   8px en movil, por debajo del suelo de lectura— pasan a 12 y 10. */
@media(min-width:1025px){
  .ms-mapwrap{max-width:400px}
  .ms-panel h2{font-size:32px;line-height:1.08}
  .ms-panel p{font-size:15px;line-height:1.6}
  .ms-cta{font-size:13px}
  .ms-labels *{font-size:12px}
}
@media(max-width:1024px){
  .ms-mapwrap{max-width:400px}
  .ms-panel h2{font-size:26px}
  .ms-panel p{font-size:14px;line-height:1.6}
  .ms-cta{font-size:12px}
  .ms-labels *{font-size:10px}
}

/* ══ instrucciones-2026-08-29 · 2 ════════════════════════════════════════
   "Agregar un margen visual que divida las tres tarjetas". BID / Both / GMS
   iban con 20px de hueco entre cajas de 306px: los tres bloques de color se
   leian casi como una banda continua. El hueco sube a 32px, que es lo que
   deja respirar cada color por separado. */
.bid-cols{gap:32px}
@media(min-width:1025px){.bid-cols{gap:32px}}
@media(max-width:1024px){.bid-cols{gap:20px}}

/* ══ instrucciones-2026-08-29 · 5 ════════════════════════════════════════
   "Que el titulo de esta seccion tenga la misma estructura, tamaño, jerarquia
   y estilo que los titulos de About Us" · Explore Our Guides, en /wander/.
   Iba a 43,2px EN MAYUSCULAS y en azul navy; los titulos de About Us van en
   caja normal, en tinta y a la escala de seccion. Se iguala. */
#guides h2,.og-head h2{text-transform:none;color:var(--ink);
  font-size:47.6px;line-height:1.06;letter-spacing:-.02em}
@media(max-width:1024px){#guides h2,.og-head h2{font-size:27.2px}}

/* ══ instrucciones-2026-08-29-2 · 1 ══════════════════════════════════════
   "En la seccion de programas, usar un azul mas oscuro y menos deslavado".
   Estaba en rgb(79,120,152), un azul acero claro y grisaceo. Pasa a #2F5678:
   mas oscuro y con mas saturacion, en la familia del navy de la casa
   (#17385D / #122F53) pero sin llegar a el, para que siga leyendose como una
   banda propia. El texto blanco gana contraste: de 4,84 a 8,03:1. */
#gms-programs{background:#2F5678}

/* ══ instrucciones-2026-08-29-2 · 2 ══════════════════════════════════════
   "Hacer que los botones Back to Top destaquen mas en la seccion Business".
   Eran 12px con un filete gris que se perdia sobre el fondo. Pasan a rotulo
   en mayusculas espaciadas, filete claro a todo el ancho del texto y flecha
   naranja, como en la referencia. */
.bz-top a{font-size:12px;letter-spacing:.16em;padding-bottom:7px;
  border-bottom-width:1.5px}
#get-connected .bz-top a,#gms-programs .bz-top a{
  color:#fff;border-bottom-color:rgba(255,255,255,.65)}
#get-connected .bz-top i,#gms-programs .bz-top i{color:var(--orange)}
@media(hover:hover){
  #get-connected .bz-top a:hover,#gms-programs .bz-top a:hover{
    color:#fff;border-bottom-color:#fff}
}
.bz-top a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* ══ instrucciones-2026-08-29-2 · 3 ══════════════════════════════════════
   "Reducir el espacio extra de esta seccion, aumentar el tamaño de las letras
   y usar mayor separacion entre lineas para que no parezca una biblia".
   Es la cita de Alison Alleva en /business/: seis lineas a 21,6px con
   interlineado 1,35 —apretado— dentro de una seccion de 280px con mucho aire
   muerto. Sube el cuerpo, sube el interlineado y baja el aire. */
.quote{padding:0}
section:has(.quote){padding-block:36px}
.quote p{font-size:24px;line-height:1.65;max-width:62ch}
.quote cite{font-size:14px;margin-top:20px;line-height:1.5}
@media(min-width:1025px){
  section:has(.quote){padding-block:36px}
  .quote p{font-size:24px}
}
@media(max-width:1024px){
  section:has(.quote){padding-block:26px}
  .quote p{font-size:19px;line-height:1.6}
  .quote cite{font-size:13px}
}

/* ══ instrucciones-2026-08-29-2 · 4 ══════════════════════════════════════
   "Reducir el espacio vacio dentro de estos cuadrados para que el contenido
   quede mas compacto" · las dos tarjetas de Connect with the Georgetown
   community. Median 375px de alto con 26px de margen interno y mucho aire
   entre titulo, texto y enlace. */
.gcon-c{padding:22px}
.gcon-c h3{margin-bottom:6px}
.gcon-c p{margin:0 0 10px}
@media(min-width:1025px){.gcon-c{padding:22px}}
@media(max-width:1024px){.gcon-c{padding:18px}}

/* El "espacio extra" de la cita era un hueco de 78px entre el parrafo y la
   firma —la regla anterior gana con (0,1,1), asi que hay que igualarla— y
   dentro de los cuadrados de Connect, 40px repartidos entre titulo, texto y
   enlace. */
/* el gap del flex ya separa el parrafo de la firma; un margin-top encima lo
   duplicaba. Se anula con la especificidad suficiente para ganar a la regla
   de mas arriba. */
blockquote.quote cite,.quote .quote-cite,.quote cite{margin-top:0}
.gcon-c h3{margin:0 0 8px}
.gcon-c p{margin:0 0 12px}
.gcon-c a{margin-top:0}
/* y las dos tarjetas a la misma altura, que una tiene el titulo en dos lineas */
.gcon-cards{align-items:stretch}
.gcon-c{display:flex;flex-direction:column}
.gcon-c a{margin-top:auto}

/* El hueco no salia de los margenes: .quote es un flex con gap 57,6px y
   .gcon-c otro con gap 12px, y el gap se suma a los margenes de los hijos.
   Se reduce el gap y se anulan los margenes que se le sumaban. */
.quote{gap:18px}
.quote cite{margin-top:0}
.gcon-c{gap:8px}
.gcon-c h3{margin-bottom:0}
.gcon-c p{margin-bottom:4px}
@media(min-width:1025px){.quote{gap:18px}.gcon-c{gap:8px}}
@media(max-width:1024px){.quote{gap:14px}.gcon-c{gap:6px}}

/* El aire de la seccion baja tambien: con la letra mas grande el bloque ya
   pesa por si mismo y no necesita 36px arriba y abajo. */
section:has(.quote){padding-block:24px}
@media(min-width:1025px){section:has(.quote){padding-block:24px}}
@media(max-width:1024px){section:has(.quote){padding-block:20px}}

/* ══ instrucciones-2026-08-29-2 · 5 ══════════════════════════════════════
   "Dar a este headline de pagina la misma estructura que Wander Wisconsin".
   Los cuerpos ya coincidian (ceja 14,4 / titular 54,72 / bajada 21,6); lo que
   no coincidia era el RITMO: business abria con 96px de aire y separaba la
   ceja del titular con 16, mientras Wander usa 12/16 de aire y 4 y 6,4 entre
   piezas. Se copia ese ritmo. */
body:has(.bznav) header.phead{padding-top:12px;padding-bottom:16px}
body:has(.bznav) header.phead .blade{margin-bottom:4px}
body:has(.bznav) header.phead h1{margin-bottom:6.4px}
@media(max-width:1024px){
  body:has(.bznav) header.phead{padding-top:12px;padding-bottom:16px}
}

/* ══ instrucciones-2026-08-29-3 · 1 ══════════════════════════════════════
   "Organizar las tarjetas en una cuadricula de tres por fila para que la
   seccion sea mas alta". Volvian de seis en una fila; pasan a 3x2. La franja
   sigue a sangre y con sus cuatro fotos de fondo. */
.cifras{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(min-width:1025px){
  .cifras{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .cifsec{padding:48px 48px}
  .cifsec .cif{padding:24px 18px}
  .cifsec .cif-v{font-size:30px;line-height:32px}
}
@media(max-width:1024px){
  .cifras{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

/* ══ instrucciones-2026-08-29-3 · 2 y -4 · 3 ═════════════════════════════
   "Al hacer clic en este campo, no mostrar una linea blanca/negra; usar
   unicamente la linea naranja". El foco pintaba un outline del color de la
   tinta ademas del filete del campo. Se queda solo el naranja. */
.ctf input[type="text"]:focus,.ctf input[type="email"]:focus,
.ctf textarea:focus,.ctf input:focus-visible,.ctf textarea:focus-visible,
.rrf input:focus,.rrf textarea:focus,
.rrf input:focus-visible,.rrf textarea:focus-visible,
.fnews-form input:focus,.fnews-form input:focus-visible,
input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--orange);outline-offset:0;
  border-color:var(--orange)}
.ctf input:focus,.ctf textarea:focus,
.rrf input:focus,.rrf textarea:focus{outline-color:var(--orange)}

/* ── Las tarjetas de patrocinio, separadas ───────────────────────────────
   Medido en /sponsor/: las rejillas de niveles iban con gap:1px sobre un
   fondo gris que hacia de filete, asi que las tres tarjetas se leian como un
   solo panel con dos rayitas. Ninguna otra rejilla de tres del sitio baja de
   16px. El hueco se abre a 20 y cada tarjeta pasa a llevar su propio filete
   —sin el, quedaria sin contorno sobre un fondo identico al suyo—. De paso,
   las celdas vacias de las rejillas incompletas dejan de verse como bloques
   grises. */
.spn-grid{gap:20px;background:transparent;border:0}
.spn-card{border:1px solid var(--line)}
@media(max-width:1024px){.spn-grid{gap:16px}}

/* ══ instrucciones-2026-08-29 · 3 ════════════════════════════════════════
   "Buscar una mejor forma de distribuir esta seccion para reducir el espacio
   vacio". Medido: #supporters de /sponsor/ era la mayor bolsa de vacio del
   sitio —88,3% de su caja, 1,07 millones de px2 sobre 1440x841—. Los seis
   logos iban en una pila centrada que dejaba 440px de lienzo sin usar y cada
   figura encogia al aspecto de su propio logo.
   Pasan a un muro de 3x2 a todo el ancho del contenedor, con la reticula de
   hairline que el sitio ya usa. La cabecera se queda CENTRADA: el json
   anterior (seccion_sponsor_estilo_referencia) lo pedia expresamente y este
   solo habla de distribucion, no de alineacion. */
@media(min-width:1025px){
  .spn-sec.spn-sup{padding-top:56px;padding-bottom:56px}
  .spn-sec.spn-sup .spn-logos{display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1px;column-gap:1px;
    justify-items:stretch;align-items:stretch;
    justify-content:normal;align-content:normal;
    background:var(--line);border:1px solid var(--line);max-width:none;margin:0}
  .spn-sec.spn-sup .spn-logos li,.spn-sec.spn-sup .spn-logo{
    max-width:none;width:auto;background:#FFFFFF;margin:0;padding:30px 26px;
    display:flex;align-items:center;justify-content:center}
  .spn-sec.spn-sup .spn-logos img{max-height:64px;max-width:200px;
    width:auto;height:auto;object-fit:contain}
}

/* las seis celdas del muro, a la misma altura */
@media(min-width:1025px){
  .spn-sec.spn-sup .spn-logos{grid-auto-rows:1fr}
}

/* los datos de contacto, en dos columnas ahora que ya no comparten fila con
   los atajos */
.cdat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
@media(max-width:1024px){.cdat{grid-template-columns:minmax(0,1fr);gap:24px}}

/* ══ instrucciones-2026-08-29-3 · 5 ══════════════════════════════════════
   Los turnos de voluntariado: dia, fecha y hora en tres renglones propios,
   asi las tres tarjetas tienen exactamente el mismo numero de lineas y
   quedan parejas —antes iban en una sola cadena y la de Art All Night, mas
   larga, se partia en dos—. Y cada tarjeta lleva su foto. */
.vsh-ph{display:block;overflow:hidden;margin:0 0 16px;background:var(--bg-2)}
.vsh-ph img{display:block;width:100%;height:auto;aspect-ratio:16/10;
  object-fit:cover}
.when2{display:grid;gap:2px;margin:0 0 12px}
.when2 .vsh-d,.when2 .vsh-f,.when2 .vsh-h{display:block;
  font-family:var(--mono);font-size:12px;line-height:1.5;
  letter-spacing:.04em;color:var(--ink-2)}
.when2 .vsh-d{color:var(--ink);font-weight:500}
.col{display:flex;flex-direction:column}
.col .bd{display:flex;flex-direction:column;flex:1}
.col .bd a{margin-top:auto;padding-top:14px}

/* ══ instrucciones-2026-08-29-3 · 4 · comites ════════════════════════════
   La lista de los cinco pasa a desplegable con el patron de GMS Programs, y
   nace su propia pagina con la informacion completa y el formulario clonado
   del de Google. */
.cmt-list{border-top:1px solid var(--line)}
.cmt-list .cmt-row{border-bottom:1px solid var(--line);padding:22px 0}
.cmt-list .cmt-row summary{display:grid;
  grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;
  cursor:pointer;list-style:none}
.cmt-list .cmt-row summary::-webkit-details-marker{display:none}
.cmt-list .prog-h h3{margin:0;font-size:24px;line-height:1.15}
.cmt-list .status{display:block;margin-top:4px;font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cmt-list .prog-d{margin:14px 0 0;font-size:16px;line-height:1.6}
.cmt-tareas{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.cmt-tareas li{position:relative;padding-left:16px;font-size:15px;
  line-height:1.55;color:var(--ink-2)}
.cmt-tareas li::before{content:"\2013";position:absolute;left:0;color:var(--muted)}
.cmt-list .cmt-row summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:1024px){
  .cmt-list .prog-h h3{font-size:19px}
  .cmt-list .prog-d{font-size:15px}
}

/* la pagina propia: las cinco fichas y el formulario */
.cmtp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;align-items:start}
.cmtp-card{background:var(--bg-2);padding:26px}
.cmtp-card h2{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.015em}
.cmtp-chair{margin:6px 0 0;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cmtp-d{margin:14px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2)}
.cmtp-card .cmt-tareas li{font-size:14px}
@media(min-width:1025px){.cmtp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:1024px){.cmtp-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .cmtp-card{padding:20px}}

/* ══ instrucciones-2026-08-29-3 · 3 ══════════════════════════════════════
   Fotografia decorativa en Support Georgetown Main Street. Va como imagen de
   contenido —un <figure> en el flujo—, no como fondo, que es lo que pide el
   json. Cierra el hueco que dejaba la columna izquierda, mas corta que la
   derecha. */
.dnt-ph{margin:24px 0 0;overflow:hidden;background:var(--bg-2)}
.dnt-ph img{display:block;width:100%;height:auto;aspect-ratio:16/9;
  object-fit:cover;object-position:50% 45%}
@media(max-width:1024px){.dnt-ph{margin-top:18px}}

/* ══ instrucciones-2026-08-29-4 · 1 ══════════════════════════════════════
   "Centrar el contenido señalado": la captura marca el bloque de texto de
   "Tell us what you're up for." en /get-involved/, que iba pegado a la
   izquierda mientras los botones quedaban al otro extremo. */
.cta2{text-align:center;justify-items:center}
.cta2 > div:first-child{text-align:center;max-width:60ch;margin-inline:auto}
.cta2 .blade{margin-inline:auto}
.cta2 .lead{margin-inline:auto}
.cta2-act{justify-self:center;align-items:center;text-align:center}

/* ══ instrucciones-2026-08-29-4 · 2 ══════════════════════════════════════
   "Dar al headline y al subtitulo principal de la pagina la misma estructura
   que Wander Wisconsin". Quedaban dos fuera del patron: /gallery/ abria con
   96px de aire arriba y abajo, y /guides/legacy/ con 40/32 y un titular de
   50,4 con bajada de 17,6. Se igualan a 12/16 con 54,72 y 21,6. */
header.phead.phead-gal{padding-top:12px;padding-bottom:16px}
header.phead.phead-legacy{padding-top:12px;padding-bottom:16px}
header.phead.phead-legacy h1{font-size:54.72px;line-height:1;letter-spacing:-.0474em}
header.phead.phead-legacy .lead{font-size:21.6px;line-height:1.15;max-width:820px}
header.phead.phead-gal .blade,header.phead.phead-legacy .blade{margin-bottom:4px}
header.phead.phead-gal h1,header.phead.phead-legacy h1{margin-bottom:6.4px}
@media(max-width:1024px){
  header.phead.phead-legacy h1{font-size:34px}
  header.phead.phead-legacy .lead{font-size:17px}
}

/* ══ instrucciones-2026-08-29-4 · 5 ══════════════════════════════════════
   "Expandir esta seccion de punta a punta, sin espacios laterales, con
   apariencia de banner. Usar fotografias de fondo diferentes y hacer que se
   noten menos mediante una superposicion mas sutil."
   Es "Connect with the Georgetown community": ya iba a sangre, pero con UNA
   sola foto —shoppers-sun, que ademas se repite en el boton de la misma
   pagina— y un velo de 0,28 que la dejaba muy presente. Pasa a una tira de
   tres fotos distintas, ninguna usada ya en /business/, con un velo mas
   trabajado: parte del navy de la casa arriba y se abre en el centro, de modo
   que la foto se insinua sin competir con el texto. */
.gcon{background-image:none}
.gcon::before{content:"";position:absolute;inset:0;z-index:-2;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:100%;
  background:none}
.gcon-bgs{position:absolute;inset:0;z-index:-2;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:100%;gap:0}
.gcon-bgs img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;
  display:block}
.gcon::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,31,48,.78) 0%,rgba(11,31,48,.56) 42%,
    rgba(11,31,48,.62) 100%)}
@media(max-width:1024px){
  .gcon-bgs{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Las lineas de la captura cruzaban todo el ancho de la seccion, no solo la
   columna izquierda: lo señalado es el bloque entero. Pasa de dos columnas
   —texto a un lado, botones al otro— a una sola centrada, con los botones
   debajo. */
.cta2{grid-template-columns:minmax(0,1fr);justify-content:center;gap:22px}
.cta2 > div:first-child{grid-column:1;justify-self:center}
.cta2-act{grid-column:1;justify-self:center;display:flex;
  flex-direction:column;align-items:center;gap:10px}
@media(min-width:1025px){
  .cta2{grid-template-columns:minmax(0,1fr);gap:22px}
}

/* ══ instrucciones-banner-directorio.json ════════════════════════════════
   "Convertir el cuadro señalado en un banner que abarque todo el ancho de la
   pagina, sin espacios ni margenes laterales. Reemplazar las fotografias de
   fondo por imagenes diferentes."
   El hero era una banda de texto de 160px sobre crema, metida 120px por cada
   lado. Pasa a banner de punta a punta: navy con el texto a la izquierda y
   una foto del cliente a la derecha, como la referencia. La foto sale de la
   carpeta "extra photos" que vino con el json —material propio de GMS, no
   del banco de archivo—. */
.dhero.dhero-banner{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;gap:0;
  width:100%;max-width:none;min-height:0;max-height:none;
  margin:0;padding:0;background:#17385D;overflow:hidden}
.dhero.dhero-banner .dhero-in{
  display:flex;flex-direction:column;justify-content:center;
  padding:56px 56px 56px 120px;margin:0;max-width:none;text-align:left}
.dhero.dhero-banner .blade{margin:0 0 14px;text-align:left;color:#B5C8DC}
.dhero.dhero-banner h1{margin:0 0 14px;text-align:left;color:#fff;
  font-size:52px;line-height:1.04;letter-spacing:-.03em;max-width:14ch}
.dhero.dhero-banner .lead{margin:0;text-align:left;color:#D7E2EC;
  font-size:18px;line-height:1.55;max-width:44ch}
.dhero-ph{margin:0;position:relative;min-height:380px;background:#12263C}
.dhero-ph img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 55%;display:block}
@media(min-width:1025px){
  .dhero.dhero-banner .dhero-in{padding:56px 56px 56px 120px}
  .dhero.dhero-banner h1{font-size:52px}
  .dhero-ph{min-height:380px}
}
@media(max-width:1024px){
  .dhero.dhero-banner{grid-template-columns:minmax(0,1fr)}
  .dhero.dhero-banner .dhero-in{padding:28px 20px;order:2}
  .dhero.dhero-banner h1{font-size:30px;max-width:none}
  .dhero.dhero-banner .lead{font-size:15px;max-width:none}
  .dhero-ph{order:1;min-height:0;aspect-ratio:16/9}
  .dhero-ph img{position:static;height:100%}
}

/* La regla de la linea 1080 escondia .dhero-ph —era de cuando el hero del
   directorio dejo de llevar foto—. El banner nuevo si la lleva. */
.dhero.dhero-banner .dhero-ph{display:block;position:relative;inset:auto;
  width:auto;height:auto}
.dhero.dhero-banner .dhero-ph img{position:absolute;inset:0;width:100%;
  height:100%;object-fit:cover;object-position:50% 55%;display:block}
@media(max-width:1024px){
  .dhero.dhero-banner .dhero-ph{aspect-ratio:16/9;min-height:0}
  .dhero.dhero-banner .dhero-ph img{position:absolute;inset:0}
}

/* En movil webkit no resolvia el aspect-ratio del contenedor con la imagen
   absoluta dentro y la dejaba en 0x0. Ahi la imagen va en flujo normal, que
   se comporta igual en los dos motores. */
@media(max-width:1024px){
  .dhero.dhero-banner .dhero-ph{aspect-ratio:auto;min-height:0;height:auto;
    position:relative;display:block}
  .dhero.dhero-banner .dhero-ph img{position:static;inset:auto;
    width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
}

/* La lupa del buscador del directorio caia justo encima de la primera letra
   del texto de ayuda: el icono ocupa hasta 43px desde el borde del campo y el
   texto arrancaba en 24. Se le deja sitio. */
#dbar .dsearch input,.dsearch input{padding-left:52px}
@media(max-width:1024px){#dbar .dsearch input,.dsearch input{padding-left:46px}}

/* ══ instrucciones-2026-08-29-5 · 2 ══════════════════════════════════════
   "Aumentar el tamaño del titulo de donors y reducir el espacio vacio
   alrededor de el". Era una ceja de 11px en mayusculas; en la pagina original
   es un titulo de seccion en el azul de la casa. Sube a 40px y el aire que lo
   rodeaba baja de 24 a 16. */
.dnr-h{margin:0 0 16px;text-align:center;color:#17385D;
  font-family:var(--disp);font-weight:700;font-size:40px;line-height:1.06;
  letter-spacing:-.02em;text-transform:none}
@media(min-width:1025px){.dnr-h{font-size:40px;margin-bottom:16px}}
@media(max-width:1024px){.dnr-h{font-size:28px;margin-bottom:12px}}

/* ══ instrucciones-2026-08-29-6 ═══════════════════════════════════════════
   1 · "Symphony Sponsor" y "Ensemble Sponsors" se leian como un bloque
   corrido: cada grupo pasa a tener su propio aire y un filete que lo separa
   del siguiente. (El logo de Martin Diamond se sustituyo por el nuevo.) */
.spons-2col .spons-l .sprg + .sprg{margin-top:26px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16)}
@media(max-width:1024px){
  .spons-2col .spons-l .sprg + .sprg{margin-top:18px;padding-top:16px}
}

/* 3 · "Annual Reports" al mismo tamaño que "Board of Directors" (47,6px). */
.rp-h{font-size:47.6px;line-height:1.06}
@media(max-width:1024px){.rp-h{font-size:27.2px}}

/* 4 · "Committees" alineado con su fotografia: el titulo arrancaba 27px por
   debajo del borde superior de la foto. */
@media(min-width:1025px){
  .cm-copy{padding-top:0}
  .cm-copy > *:first-child{margin-top:0}
}

/* ══ instrucciones-2026-08-29-7 · 2 y 3 ══════════════════════════════════
   "En todos los eventos, hacer que la seccion de informacion debajo de la
   principal tenga un color solido, siguiendo el estilo de Art All Night,
   para evitar un bloque blanco demasiado grande."
   En fall-market, cookie-tour y chicken-pot-pie-athon esa seccion medía 707,
   971 y 939px sobre crema. Pasa al mismo navy de .ssec. */
section:has(> .wrap > .evprose),section:has(.evprose){background:#122F53}
.evprose{max-width:78ch;margin-inline:auto}
.evprose h3{color:#fff;margin-top:1.8em}
.evprose h3:first-child{margin-top:0}
.evprose p{color:#D7E2EC}
.evprose p:first-of-type{color:#EDF2F7}
.evprose a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}
.evprose a:hover{border-bottom-color:#fff}
@media(min-width:1025px){section:has(.evprose){padding-block:56px}}
@media(max-width:1024px){section:has(.evprose){padding-block:36px}}

/* ══ instrucciones-2026-08-29-7 · 4 ══════════════════════════════════════
   "En la seccion de voluntariado, usar una sola fotografia de fondo y
   reducir el tamaño de los cuadros blancos para evitar que queden demasiado
   vacios." Cada tarjeta llevaba su propia foto y median 499px; ahora la foto
   es una sola, de fondo de la franja, y los cuadros se aprietan. */
.vshwrap{position:relative;isolation:isolate;padding:34px;overflow:hidden}
.vsh-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;object-position:50% 45%}
.vshwrap::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,31,48,.72) 0%,rgba(11,31,48,.66) 100%)}
.vshwrap .cardgrid{position:relative}
.vshwrap .col{background:var(--bg);padding:20px}
.vshwrap .col .bd{padding:0}
.vshwrap .col h3{font-size:19px;line-height:1.15;margin:0 0 8px}
.vshwrap .col .when2{margin:0 0 10px}
.vshwrap .col p{font-size:14px;line-height:1.55;margin:0 0 12px}
.vshwrap .col a{font-size:12px}
@media(min-width:1025px){.vshwrap{padding:34px}.vshwrap .col{padding:20px}}
@media(max-width:1024px){.vshwrap{padding:18px}.vshwrap .col{padding:16px}}

/* ══ instrucciones-2026-08-29-6 · 2 ══════════════════════════════════════
   "Eliminar la linea negra señalada en la seccion". Era el border-bottom en
   tinta plena de la seccion que precede a "Work the event.": cruzaba el ancho
   completo justo por encima del bloque. El cambio de fondo entre las dos
   secciones ya las separa de sobra. */
section:has(+ section .cta2){border-bottom:0}

/* ══ instrucciones-2026-08-29-7 · 1 ══════════════════════════════════════
   "Usar en todos los headlines de las paginas la misma estructura que Wander
   Wisconsin: misma distancia entre etiqueta, titulo y subtitulo, mismo tamaño
   de texto, mismo leading y mismas separaciones."
   Los cuerpos ya coincidian; lo que no era el RITMO. Medido en Wander:
     escritorio  aire 12/16 · ceja 14,4/27,54 mb4 ls3,456
                 h1 54,72/54,72 mb6,4 ls-2,594 · lead 21,6/24,84
     movil       ceja 12/19,44 mb4 ls2,88 · h1 33,6/33,6 mb6,4 · lead 16/18,4
   El resto tenia la ceja con interlineado 1,62, el titular sin margen y la
   bajada a 17 en movil. Se calca la estructura entera. */
header.phead{padding:12px 0 16px}
header.phead .blade{font-size:14.4px;line-height:27.54px;margin:0 0 4px;
  letter-spacing:3.456px}
header.phead h1,header.phead[class*="h1-"] h1,
header.phead.phead-centrado h1,header.phead.phead-gal h1,
header.phead.phead-ev h1,header.phead.phead-legacy h1{
  font-size:54.72px;line-height:54.72px;margin:0 0 6.4px;letter-spacing:-2.59373px}
header.phead .lead,header.phead.phead-centrado .lead,
header.phead.phead-ev .lead,body:has(.bznav) header.phead .lead,
header.phead.phead-gal .lead,header.phead.phead-legacy .lead{
  font-size:21.6px;line-height:24.84px;margin:0}
@media(max-width:1024px){
  header.phead{padding:12px 0 16px}
  header.phead .blade{font-size:12px;line-height:19.44px;margin:0 0 4px;
    letter-spacing:2.88px}
  header.phead h1,header.phead[class*="h1-"] h1,
  header.phead.phead-centrado h1,header.phead.phead-gal h1,
  header.phead.phead-ev h1,header.phead.phead-legacy h1{
    font-size:33.6px;line-height:33.6px;margin:0 0 6.4px;letter-spacing:-1.59264px}
  header.phead .lead,header.phead.phead-centrado .lead,
  header.phead.phead-ev .lead,body:has(.bznav) header.phead .lead,
  header.phead.phead-gal .lead,header.phead.phead-legacy .lead{
    font-size:16px;line-height:18.4px;margin:0}
}

/* ══ instrucciones-2026-08-29-6 · 5 ══════════════════════════════════════
   "Reorganizar esta seccion para eliminar los espacios vacios y lograr una
   distribucion mas compacta y equilibrada." Medido: la columna de Our
   Supporters mide 614px y sus tres grupos solo usaban 154, 180 y 344 — la
   mitad del ancho sin tocar y los logos pequeños dentro. Cada grupo pasa a
   repartirse a lo ancho y los logos crecen de 64 a 84px de alto. */
.spons-2col .spr-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 24px;align-items:center;justify-items:start}
.spons-2col .spr-l li{width:100%;display:flex;align-items:center}
.spons-2col .spr-l img{max-height:84px;max-width:100%;width:auto;height:auto;
  object-fit:contain}
.spons-2col .spr-l img[src*="dslbd"]{max-height:56px}
@media(min-width:1025px){
  .spons-2col .spr-l{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  .spons-2col .spr-l img{max-height:84px}
}
@media(max-width:1024px){
  .spons-2col .spr-l{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .spons-2col .spr-l img{max-height:62px}
}
/* logo-martin-diamond-nuevo.png + Grant-26.jpg — el material que quedaba en
   la carpeta de jsons. La foto documenta la entrega de 2026 a Caspian Crust,
   que ya figuraba en la lista de becados. */
.grec-foto{margin:0 0 22px;border:1px solid rgba(255,255,255,.14);border-radius:4px;overflow:hidden}
.grec-foto img{width:100%;height:auto;display:block}
/* el modal es azul oscuro: el pie va con el mismo gris claro que las
   direcciones de la lista (6.97:1). El token de texto secundario esta
   pensado para fondo claro y aqui se quedaba en 2.52:1. */
.grec-foto figcaption{padding:11px 2px 0;font-size:13.5px;line-height:1.45;color:#B5C8DC}
@media(max-width:700px){.grec-foto{margin-bottom:16px}.grec-foto figcaption{font-size:12.5px}}

/* ── instrucciones-2026-08-30.json ─────────────────────────────────────────
   Un solo patron para los titulos que dividen secciones, el de Board of
   Directors: etiqueta arriba, titulo, subtitulo, todo centrado. Estaban a
   cuatro tamanos distintos (BID 56, Board y Reports 48, Partner Orgs 25) y
   Committees ademas alineado a la izquierda.
   Sobre ese canon se aplica el +25% que pide la instruccion 1:
   titulo 48 -> 60 px, subtitulo 16 -> 20 px.                              */
.board .tm-head h2,
.bid-h, .rp-h, .orgs-h, .cm-copy h2{
  font-size:60px; font-weight:700; line-height:1.06; letter-spacing:-.026em;
  text-align:center; margin:0;
}
.board .tm-head .tm-sub,
.bid-i, .rp-sub, .orgs-sub, .cm-copy .cm-sub{
  font-size:20px; line-height:1.5; text-align:center;
  max-width:64ch; margin-left:auto; margin-right:auto;
}
/* el margen que separa el bloque de titulo de los items de la seccion */
.board .tm-head, .orgs-h + .orgs-sub, .rp-sub, .bid-i{ margin-bottom:52px }
.board .tm-head{ margin-bottom:52px }

/* Committees vive en una rejilla de dos columnas con la foto al lado: se le
   da la escala nueva, pero centrarlo romperia esa composicion. */
.cm-copy h2, .cm-copy .cm-sub{ text-align:left; margin-left:0; margin-right:0 }

@media(max-width:1024px){
  .board .tm-head h2,
  .bid-h, .rp-h, .orgs-h, .cm-copy h2{ font-size:34px; letter-spacing:-.02em }
  .board .tm-head .tm-sub,
  .bid-i, .rp-sub, .orgs-sub, .cm-copy .cm-sub{ font-size:18px }
  .board .tm-head, .orgs-h + .orgs-sub, .rp-sub, .bid-i{ margin-bottom:32px }
  .board .tm-head{ margin-bottom:32px }
}

/* instruccion-fechas-calendario.json: dos fechas sueltas, dos botones. */
.cal-set{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.cal-set .cal{margin:0}
@media(max-width:1024px){.cal-set{flex-direction:column;gap:10px}.cal-set .cal{width:100%}
  .cal-set .cal summary{width:100%}}

/* instrucciones-2026-08-30-3.json */
.evmeta .fechas{display:flex;flex-direction:column;gap:5px}
.evmeta .fechas .fecha{display:block}
.ev-order{color:var(--coral-ink);text-decoration:none;border-bottom:1px solid currentColor;
  padding-bottom:1px;transition:color .18s ease,border-color .18s ease}
.ev-order i{font-style:normal;display:inline-block;transition:transform .18s ease}
@media(hover:hover){.ev-order:hover{color:var(--ink)}.ev-order:hover i{transform:translateX(3px)}}

/* instrucciones-2026-08-30-2.json · 3 — la banda de voluntariado deja el
   negro plano por el cobalto que ya usa el resto del sitio. Medido sobre
   #163B56: texto 10.45:1, parrafo 8.52:1, etiqueta 7.05:1, boton 3.71:1. */
.volban{background:var(--cobalt)}

/* instrucciones-2026-08-30-3.json · 4 — las descripciones de los eventos
   iban a 3 o 4 lineas segun el texto y las tarjetas quedaban desparejas.
   Se reserva la altura de cuatro lineas, que es la mas larga que hay.
   Solo en escritorio: apiladas en movil no hay nada que emparejar. */
@media(min-width:1025px){
  .evs .ev .bd > p:not(.date){min-height:calc(4 * 1.6em)}
}

/* instrucciones-2026-08-30-2.json · 5  +  instrucciones-2026-08-30.json · 3
   La rejilla de patrocinadores: los logos venian a 30, 35 y 64 px de alto y
   de 57 a 200 de ancho, cada uno por su cuenta. Ahora cada uno se ajusta
   dentro de una caja del mismo tamano, mas pequenos, y la etiqueta que los
   encabeza sube de 11 a 15 px con su margen propio. */
.spn-sup-t{font-size:60px;line-height:1.06;letter-spacing:-.026em}
.spn-sup-l{font-size:15px;letter-spacing:.16em;margin-bottom:34px}
/* Ojo con la especificidad: el bloque de lienzo fijo trae
   @media(min-width:1025px) .spn-sec.spn-sup .spn-logos img (0-3-1), que gana
   a cualquier .spn-sup .spn-logo-box img (0-2-1). Hay que igualar el peso
   y repetirlo dentro del mismo media, o el tamano de los logos no cambia. */
.spn-sup .spn-logo-box{display:grid;place-items:center;height:78px;width:100%}
.spn-sup .spn-logo figcaption{text-align:center}
@media(min-width:1025px){
  .spn-sec.spn-sup .spn-logos img{max-height:44px;max-width:158px;width:auto;height:auto;object-fit:contain}
  .spn-sec.spn-sup .spn-logo-box{height:78px}
}
@media(max-width:1024px){
  .spn-sup-t{font-size:34px}
  .spn-sup-l{font-size:13px;margin-bottom:22px}
  .spn-sec.spn-sup .spn-logo-box{height:64px}
  .spn-sec.spn-sup .spn-logos img{max-height:38px;max-width:132px}
}

/* ── instrucciones-2026-08-30-2.json · 1 y 2 ──────────────────────────────
   El hero del directorio pasa de "panel azul + foto al lado" a foto de fondo
   a todo el ancho con un velo encima: la calle se intuye, no compite. El
   velo se calcula para que el texto siga leyendose (medido mas abajo).
   Y baja un 20% de altura (380 -> 304 px) para subir el buscador.        */
@media(min-width:1025px){
  .dhero.dhero-banner{
    display:block; position:relative; min-height:304px; height:304px;
    overflow:hidden; background:var(--cobalt);
  }
  .dhero.dhero-banner .dhero-ph{
    position:absolute; inset:0; margin:0; width:100%; height:100%;
    min-height:0; z-index:0; display:block; opacity:1;
  }
  .dhero.dhero-banner .dhero-ph img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
  /* el velo: azul de la casa, denso a la izquierda para el texto */
  .dhero.dhero-banner .dhero-ph::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(90deg,
      rgba(11,31,48,.95) 0%, rgba(11,31,48,.93) 42%,
      rgba(11,31,48,.62) 74%, rgba(11,31,48,.42) 100%);
  }
  .dhero-banner .dhero-in{
    position:relative; z-index:2; height:100%;
    display:flex; flex-direction:column; justify-content:center;
    padding:0 56px 0 120px; max-width:760px;
  }
  .dhero-banner h1{font-size:52px;margin:0}
  .dhero.dhero-banner .blade{color:#D8E4F0}
  .dhero-banner .lead{margin-top:14px;max-width:52ch}
}
@media(max-width:1024px){
  .dhero.dhero-banner{position:relative;min-height:250px;display:block;overflow:hidden}
  .dhero.dhero-banner .dhero-ph{position:absolute;inset:0;margin:0;width:100%;height:100%;
    min-height:0;aspect-ratio:auto;display:block;opacity:1}
  .dhero.dhero-banner .dhero-ph img{width:100%;height:100%;object-fit:cover}
  .dhero.dhero-banner .dhero-ph::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(11,31,48,.90) 0%,rgba(11,31,48,.86) 60%,rgba(11,31,48,.90) 100%)}
  .dhero-banner .dhero-in{position:relative;z-index:2;padding:34px 20px;order:unset}
}

/* instrucciones-2026-08-30-2.json · 4 — el bloque de parking media 292 px
   para 85 px de contenido: 207 de aire. Se recorta el relleno a la mitad y
   queda separacion, no vacio. */
.park{padding-block:44px}
@media(max-width:1024px){.park{padding-block:30px}}

/* instrucciones-2026-08-30.json · 5 — la seccion de patrocinadores era la
   unica franja de blanco puro del sitio y cortaba la pagina en seco. Pasa al
   crema del sistema: se sigue distinguiendo del bloque anterior, pero deja
   de leerse como una banda pegada. */
.spn-sec.spn-sup{background:var(--bg-2)}
/* sobre el crema, el gris --muted se queda en 4.26:1. Dentro de esta seccion
   el texto secundario usa --ink-2, que da 6.55:1. */
.spn-sec.spn-sup .spn-logo figcaption,
.spn-sec.spn-sup .spn-sup-l,
.spn-sec.spn-sup .spn-sup-n{color:var(--ink-2)}
/* el titulo usaba --orange, que ya iba justo sobre blanco (3.09:1) y sobre el
   crema baja a 2.48:1. --coral-ink es el naranja del sistema para fondo claro. */
.spn-sec.spn-sup .spn-sup-t{color:var(--coral-ink)}

/* ── instruccion-estructura-secciones.json ────────────────────────────────
   Un unico patron para los titulos que dividen secciones, el de Board of
   Directors: etiqueta arriba, titulo grande centrado, subtitulo gris
   centrado con ancho contenido. Se aplica al titulo de seccion de contenido;
   NO a: el h1 de cada pagina (excluido por el propio json), el bloque de
   newsletter del pie (.fnews-h, se repite en las 16 paginas), los rotulos de
   nivel de patrocinio (.spr-t: Funders / Symphony / Ensemble, que encabezan
   grupos dentro de una lista) ni los nombres de comite, que son fichas.
   Donde no hay etiqueta o subtitulo NO se inventan: se respeta el texto que
   el cliente tiene escrito.                                              */
.bznav-h h2, .cifsec-in h2, .gcon-in h2, .faqbz-in h2,
.spn-head h2, .spn-sup-t,
.dnt-l h2, .dnr-h,
.excor-c h2, .og-head h2,
.ssg-h h2, .aw-head h2, .park-in h2,
.st2-copy h2{
  font-size:60px; font-weight:700; line-height:1.06; letter-spacing:-.026em;
  text-align:center; margin-left:auto; margin-right:auto;
}
/* la etiqueta y el subtitulo que acompanan a esos titulos */
.bznav-h .blade, .cifsec-in .blade, .gcon-in .blade, .faqbz-in .blade,
.spn-head .blade, .excor-c .blade, .og-head .blade, .aw-head .blade,
.st2-copy .blade, .dnt-l .blade{
  text-align:center; display:block; margin-bottom:16px;
}
.bznav-h h2 + p, .cifsec-in h2 + p, .gcon-in h2 + p, .faqbz-in h2 + p,
.spn-head h2 + p, .excor-c h2 + p, .og-head h2 + p, .aw-head h2 + p,
.st2-copy h2 + p, .dnt-l h2 + p, .spn-sup-head .spn-sup-s{
  font-size:20px; line-height:1.5; text-align:center;
  max-width:64ch; margin-left:auto; margin-right:auto;
}
/* el margen entre el bloque de titulo y los items de la seccion */
.bznav-h, .cifsec-in .blade + h2 + p, .og-head, .aw-head, .ssg-h, .spn-head{
  margin-bottom:44px;
}
@media(max-width:1024px){
  .bznav-h h2, .cifsec-in h2, .gcon-in h2, .faqbz-in h2,
  .spn-head h2, .spn-sup-t,
  .dnt-l h2, .dnr-h,
  .excor-c h2, .og-head h2,
  .ssg-h h2, .aw-head h2, .park-in h2,
  .st2-copy h2{font-size:34px; letter-spacing:-.02em}
  .bznav-h h2 + p, .cifsec-in h2 + p, .gcon-in h2 + p, .faqbz-in h2 + p,
  .spn-head h2 + p, .excor-c h2 + p, .og-head h2 + p, .aw-head h2 + p,
  .st2-copy h2 + p, .dnt-l h2 + p, .spn-sup-head .spn-sup-s{font-size:18px}
  .bznav-h, .og-head, .aw-head, .ssg-h, .spn-head{margin-bottom:28px}
}

/* los titulos de seccion que viven en contenedores genericos (.head): ahora
   se pueden acotar por pagina gracias a la clase del <body>. */
.p-business #resources-and-vendors .head h2,
.p-business .head h2,
.p-get-involved .head h2,
.p-get-involved section.alt > .wrap > h2,
.p-events-art-all-night section.alt .cta2 h2{
  font-size:60px; font-weight:700; line-height:1.06; letter-spacing:-.026em;
  text-align:center; margin-left:auto; margin-right:auto;
}
.p-business .head .blade, .p-get-involved .head .blade{
  text-align:center; display:block; margin-bottom:16px;
}
.p-business .head h2 + .lead, .p-get-involved .head h2 + .lead{
  font-size:20px; line-height:1.5; text-align:center;
  max-width:64ch; margin-left:auto; margin-right:auto;
}
@media(max-width:1024px){
  .p-business #resources-and-vendors .head h2,
  .p-business .head h2,
  .p-get-involved .head h2,
  .p-get-involved section.alt > .wrap > h2,
  .p-events-art-all-night section.alt .cta2 h2{font-size:34px;letter-spacing:-.02em}
  .p-business .head h2 + .lead, .p-get-involved .head h2 + .lead{font-size:18px}
}
/* .cifsec .cifsec-in h2 (0-2-1) del bloque de lienzo fijo le ganaba al patron */
@media(min-width:1025px){.cifsec .cifsec-in h2{font-size:60px;letter-spacing:-.026em}}
@media(max-width:1024px){.cifsec .cifsec-in h2{font-size:34px}}

/* ── instrucciones-2026-08-31.json ────────────────────────────────────────
   3 · Los titulos de seccion bajan de 60 a 48 px y los subtitulos de 20 a
   18. El json de ayer pedia subirlos un 25%; este pide reducirlos. Manda el
   mas nuevo. 48 es ademas el tamano original de Board of Directors, que es
   el modelo al que se igualan todos.                                     */
.board .tm-head h2, .bid-h, .rp-h, .orgs-h, .cm-copy h2,
.bznav-h h2, .cifsec-in h2, .gcon-in h2, .faqbz-in h2,
.spn-head h2, .spn-sup-t, .dnt-l h2, .dnr-h,
.excor-c h2, .og-head h2, .ssg-h h2, .aw-head h2, .park-in h2,
.st2-copy h2, .p-business .head h2, .p-get-involved .head h2{
  font-size:48px; letter-spacing:-.022em;
}
.board .tm-head .tm-sub, .bid-i, .rp-sub, .orgs-sub, .cm-copy .cm-sub,
.bznav-h h2 + p, .cifsec-in h2 + p, .gcon-in h2 + p, .faqbz-in h2 + p,
.spn-head h2 + p, .excor-c h2 + p, .og-head h2 + p, .aw-head h2 + p,
.st2-copy h2 + p, .dnt-l h2 + p, .spn-sup-head .spn-sup-s,
.p-business .head h2 + .lead, .p-get-involved .head h2 + .lead{
  font-size:18px;
}
@media(min-width:1025px){.cifsec .cifsec-in h2{font-size:48px;letter-spacing:-.022em}}
@media(max-width:1024px){
  .board .tm-head h2, .bid-h, .rp-h, .orgs-h, .cm-copy h2,
  .bznav-h h2, .cifsec-in h2, .gcon-in h2, .faqbz-in h2,
  .spn-head h2, .spn-sup-t, .dnt-l h2, .dnr-h,
  .excor-c h2, .og-head h2, .ssg-h h2, .aw-head h2, .park-in h2,
  .st2-copy h2, .p-business .head h2, .p-get-involved .head h2,
  .cifsec .cifsec-in h2{font-size:30px}
  .board .tm-head .tm-sub, .bid-i, .rp-sub, .orgs-sub, .cm-copy .cm-sub,
  .bznav-h h2 + p, .cifsec-in h2 + p, .gcon-in h2 + p, .faqbz-in h2 + p,
  .spn-head h2 + p, .excor-c h2 + p, .og-head h2 + p, .aw-head h2 + p,
  .st2-copy h2 + p, .dnt-l h2 + p, .spn-sup-head .spn-sup-s,
  .p-business .head h2 + .lead, .p-get-involved .head h2 + .lead{font-size:16px}
}

/* 5 · Explore GMS Programs vuelve al margen izquierdo, en el mismo eje que
   las filas de la seccion. Es la excepcion al centrado: la referencia lo
   muestra pegado a la izquierda sobre el fondo azul.                     */
.p-business .head.prog-head h2,
.p-business .head.prog-head .blade,
.p-business .head.prog-head h2 + .lead{
  text-align:left; margin-left:0; margin-right:0;
}
.p-business .head.prog-head{text-align:left}

/* 1 · Explore the Neighborhood: +25% en los cuatro niveles del panel.
   2 · y el panel deja de comprimir el texto: mas ancho y sin desbordes.  */
.ms-panel .blade{font-size:15px}
.ms-panel h2{font-size:40px;line-height:1.08;letter-spacing:-.02em}
.ms-panel p{font-size:19px;line-height:1.55}
.ms-panel a{font-size:16px}
@media(max-width:1024px){
  .ms-panel .blade{font-size:13px}
  .ms-panel h2{font-size:30px}
  .ms-panel p{font-size:17px}
  .ms-panel a{font-size:15px}
}

/* 4 · Committees: la foto se estira a la altura de la columna de texto,
   asi los bordes de arriba y de abajo quedan al mismo nivel.             */
.cm-grid{align-items:stretch}
.cm-grid > figure, .cm-grid > .cm-ph{height:100%;margin:0}
.cm-grid img{width:100%;height:100%;object-fit:cover;display:block}
/* estos dos los fijaba el bloque de lienzo fijo con selectores mas pesados:
   #resources-and-vendors .head.rrf-head h2 y .head.prog-head h2. */
@media(min-width:1025px){
  .p-business #resources-and-vendors .head.rrf-head h2,
  .p-business .head.prog-head h2{font-size:48px;letter-spacing:-.022em;line-height:1.06}
  .p-business #resources-and-vendors .head.rrf-head .lead{font-size:18px}
}
@media(max-width:1024px){
  .p-business #resources-and-vendors .head.rrf-head h2,
  .p-business .head.prog-head h2{font-size:30px;letter-spacing:-.02em}
  .p-business #resources-and-vendors .head.rrf-head .lead{font-size:16px}
}
/* aqui manda un ID: #gms-programs .head.prog-head h2 (1-2-1) le gana a
   cualquier combinacion de clases. Hay que llevar el ID en el selector. */
@media(min-width:1025px){
  .p-business #gms-programs .head.prog-head h2{font-size:48px;letter-spacing:-.022em;line-height:1.06;text-align:left}
}
@media(max-width:1024px){
  .p-business #gms-programs .head.prog-head h2{font-size:30px;letter-spacing:-.02em;text-align:left}
}
/* Explore Our Guides se quedaba a 27px en movil por una regla mas pesada */
@media(max-width:1024px){
  .gu-guides .og-head h2, .og-head h2, section .og-head h2{font-size:30px;letter-spacing:-.02em}
}
/* esta dentro de #guides, asi que #guides h2 (1-0-1) ganaba a .og-head h2 */
@media(max-width:1024px){#guides .og-head h2, #guides h2.og-h{font-size:30px;letter-spacing:-.02em}}
@media(min-width:1025px){#guides .og-head h2{font-size:48px;letter-spacing:-.022em}}
