@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--primary:hsl(356 74% 48%);--accent:hsl(357 82% 39%);--fg:hsl(0 0% 4%);--muted:hsl(0 22% 95%);--muted-fg:hsl(0 0% 40%);--border:hsl(0 0% 89%);
--sans:"Barlow",-apple-system,BlinkMacSystemFont,sans-serif;--head:"Barlow Condensed",-apple-system,BlinkMacSystemFont,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--fg);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid hsl(356 74% 48% / .55);outline-offset:2px}
.wrap{max-width:80rem;margin:0 auto;padding:0 1rem}
.wrap-art{max-width:52rem;margin:0 auto;padding:0 1rem}
.wrap-narrow{max-width:64rem;margin:0 auto;padding:0 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute!important;left:-9999px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
.kicker{display:inline-block;font:700 .75rem/1.33 var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--primary)}

/* Cabecera */
.topbar{background:var(--primary);padding:.5rem 0}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.today{display:none;color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:capitalize}
.social{display:flex;align-items:center;gap:.75rem;min-width:20px}
.social a{color:#fff;display:flex;padding:.25rem}
.social a:hover{opacity:.7}
.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--head)}
.logo-cs{border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary);font-weight:700;line-height:1}
.logo-txt{display:flex;flex-direction:column;line-height:1;color:#fff}
.logo-a{font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.logo-b{font-weight:700;font-style:italic;line-height:1.25}
.logo-sm .logo-cs{width:2.75rem;height:2.75rem;font-size:1rem}.logo-sm .logo-a{font-size:.75rem}.logo-sm .logo-b{font-size:1.5rem}
.logo-lg .logo-cs{width:3.5rem;height:3.5rem;font-size:1.25rem}.logo-lg .logo-a{font-size:.875rem}.logo-lg .logo-b{font-size:1.875rem}
.mainnav{background:var(--fg);position:sticky;top:0;z-index:5}
.mainnav ul{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 .25rem}
.mainnav ul::-webkit-scrollbar{display:none}
.mainnav a{display:block;padding:.75rem .85rem;font:700 .875rem/1.43 var(--head);text-transform:uppercase;letter-spacing:.025em;color:#fff;white-space:nowrap;transition:color .15s}
.mainnav a:hover,.mainnav a.on{color:hsl(356 90% 62%)}

/* Portada */
.hero{border-bottom:1px solid var(--border)}
.hero-grid,.lead{display:grid;gap:1.25rem;padding-top:1.25rem;padding-bottom:1.5rem;align-items:start}
.hero-img{display:block;overflow:hidden;aspect-ratio:1/1;background:var(--muted)}
.hero-img img,.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.hero-img:hover img{transform:scale(1.01)}
.hero-txt{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-txt .kicker{margin-bottom:.6rem}
.hero-txt h1,.hero-txt h2{font:700 1.875rem/1.2 var(--head);margin-bottom:.75rem;transition:color .15s}
.hero-txt a:hover h1,.hero-txt a:hover h2{color:var(--primary)}
.hero-excerpt{color:var(--muted-fg);line-height:1.625;margin-bottom:.25rem}
.hero-time{font-size:.75rem;color:var(--muted-fg);margin-bottom:.75rem}
.readmore{font:700 .875rem/1.4 var(--head);text-transform:uppercase;letter-spacing:.025em;color:var(--primary);margin-top:.25rem}
.readmore:hover{color:var(--accent)}
.band{padding:2.5rem 0}
.band-muted{background:var(--muted);padding:2rem 0;border-bottom:1px solid var(--border)}
.band-line{border-top:1px solid var(--border)}
.block-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.block-title{font:700 1.5rem/1.33 var(--head);text-transform:uppercase;letter-spacing:.025em;display:flex;align-items:center;gap:.75rem}
.block-title::before{content:"";width:.25rem;height:1.75rem;border-radius:2px;background:var(--primary);flex-shrink:0}
.more{font:700 .75rem/1 var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);white-space:nowrap;padding:.5rem 0}
.grid{display:grid;gap:1.5rem}
.card{border:1px solid var(--border);background:#fff;transition:border-color .15s;display:flex;flex-direction:column;min-width:0}
.card:hover{border-color:hsl(356 74% 48% / .35)}
.card-img{display:block;overflow:hidden;aspect-ratio:1/1;background:var(--muted)}
.card:hover .card-img img{transform:scale(1.02)}
.card-body{padding:1rem;min-width:0}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.card-meta time{font-size:.75rem;color:var(--muted-fg);white-space:nowrap}
.card-title{font:700 1.0625rem/1.35 var(--head);transition:color .15s}
.card:hover .card-title{color:var(--primary)}
.card-excerpt{font-size:.875rem;color:var(--muted-fg);line-height:1.6;margin-top:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--muted);color:hsl(356 30% 80%);font:700 2.5rem var(--head)}
/* En celular las listas largas se muestran como filas compactas: menos desplazamiento y lectura más rápida */
@media (max-width:767px){
  .card-compact{flex-direction:row;align-items:stretch}
  .card-compact .card-img{width:7.25rem;flex-shrink:0;aspect-ratio:auto;min-height:7.25rem}
  .card-compact .card-body{padding:.7rem .8rem;flex:1}
  .card-compact .card-title{font-size:1.0625rem;line-height:1.25}
  .card-compact .card-excerpt{display:none}
  .grid{gap:.85rem}
  .grid .card:not(.card-compact) .card-title{font-size:1.25rem}
}
.poll{background:var(--muted);padding:3rem 1rem;text-align:center}
.poll-in{max-width:42rem;margin:0 auto}
.poll h2{font:700 1.5rem/1.375 var(--head);margin:.75rem 0 2rem}
.poll-options{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.poll-options[hidden],.poll-results[hidden]{display:none}
.poll-btn{border:0;cursor:pointer;padding:1rem 3rem;font:700 1.5rem/1.33 var(--head);color:#fff;text-transform:uppercase;letter-spacing:.1em;background:var(--primary);transition:transform .15s;min-width:8rem}
.poll-btn.alt{background:var(--fg)}
.poll-btn:hover{transform:scale(1.05)}.poll-btn:active{transform:scale(.95)}.poll-btn:disabled{opacity:.6;cursor:wait}
.poll-results{text-align:left;display:grid;gap:.9rem}
.poll-row-top{display:flex;justify-content:space-between;font:700 1.125rem var(--head);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}
.poll-bar{height:.9rem;background:#fff;border:1px solid var(--border)}
.poll-bar i{display:block;height:100%;background:var(--fg);transition:width .5s}
.poll-row.mine .poll-bar i,.poll-row:first-child .poll-bar i{background:var(--primary)}
.poll-total,.poll-note{font-size:.8125rem;color:var(--muted-fg);margin-top:.75rem;text-align:center}
.fb-cta{background:var(--primary);padding:2.5rem 0}
.fb-in{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem}
.fb-l{display:flex;align-items:center;gap:1rem}
.fb-cta h2{font:700 1.5rem/1.2 var(--head);color:#fff;text-transform:uppercase}
.fb-cta a{background:#fff;color:var(--primary);padding:.75rem 2rem;font:700 .875rem var(--head);text-transform:uppercase;letter-spacing:.025em}
.fb-cta a:hover{opacity:.9}
.empty{padding:3rem 1rem;color:var(--muted-fg)}

/* Sección y contacto */
.page-head{border-bottom:4px solid var(--primary);padding:1.5rem 0}
.page-head-in{display:flex;align-items:center;gap:.75rem}
.page-head-in::before{content:"";width:.375rem;height:2.5rem;border-radius:2px;background:var(--primary)}
.page-head h1{font:700 2.25rem/1 var(--head);text-transform:uppercase}
.page-lead{color:var(--muted-fg);margin-top:1rem;max-width:42rem;line-height:1.625}
.subnav{background:var(--muted);border-bottom:1px solid var(--border)}
.subnav ul{display:flex;overflow-x:auto;scrollbar-width:none}
.subnav a{display:block;padding:.75rem 1rem;font:700 .875rem var(--head);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-bottom:2px solid transparent}
.subnav a.on{color:var(--primary);border-color:var(--primary)}
.section-body{padding-top:1.5rem;padding-bottom:2.5rem}
.lead{padding-top:0;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.pager{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2.5rem;font:700 .875rem var(--head);text-transform:uppercase;letter-spacing:.05em}
.pager a{color:var(--primary);padding:.5rem}.pager span{color:var(--muted-fg)}
.contact{display:grid;gap:2.5rem;padding-top:2.5rem;padding-bottom:3rem}
.contact-card{padding:1.5rem;border-left:4px solid var(--primary);background:var(--muted)}
.contact-card h2{font:700 1.125rem var(--head);text-transform:uppercase;margin-bottom:1.25rem}
.contact-card dl{display:grid;gap:1rem;font-size:.875rem}
.contact-card dt{font:700 .75rem var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:.25rem}
.contact-card a.c{color:var(--primary);word-break:break-all}
.contact-card a:hover{text-decoration:underline}
.contact-form{display:grid;gap:1.25rem}
.contact-form .row2{display:grid;gap:1.25rem}
.contact-form label{display:block;font:700 .75rem var(--head);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.375rem}
.contact-form label b{color:var(--primary)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border);background:#fff;border-radius:0}
.contact-form textarea{resize:vertical}
.contact-form button{justify-self:start;border:0;cursor:pointer;padding:.75rem 2rem;font:700 .875rem var(--head);text-transform:uppercase;letter-spacing:.025em;color:#fff;background:var(--primary)}
.contact-form button:hover{opacity:.9}button:disabled{opacity:.6}
.notice{padding:.85rem 1rem;margin-bottom:1.25rem;border-left:4px solid}
.notice.ok,.form-status.ok{color:hsl(160 84% 24%);border-color:hsl(160 84% 39%);background:hsl(160 60% 95%)}
.notice.err,.form-status.err{color:hsl(0 70% 38%);border-color:hsl(0 84% 60%);background:hsl(0 80% 96%)}
.form-status{font-size:.875rem;margin:0}.form-status:empty{display:none}
.form-status.ok,.form-status.err{padding:.6rem .8rem}
.notfound{padding:4rem 1rem;text-align:center}
.notfound h1{font:700 2.5rem var(--head);margin:.5rem 0 1rem}.notfound p{margin-bottom:1rem;color:var(--muted-fg)}

/* Nota */
.preview-bar{background:hsl(38 92% 50%);color:#000;text-align:center;padding:.5rem 1rem;font-weight:600;font-size:.875rem}
.crumbs{background:var(--muted);border-bottom:1px solid var(--border);padding:.5rem 0;font-size:.75rem;color:var(--muted-fg)}
.crumbs ol{display:flex;align-items:center;gap:.5rem;min-width:0}
.crumbs li+li::before{content:"›";margin-right:.5rem}
.crumbs li{white-space:nowrap}.crumbs a:hover{text-decoration:underline}
.crumbs .c{color:var(--primary);font-weight:600;text-transform:uppercase}
.crumbs .t{overflow:hidden;text-overflow:ellipsis;min-width:0}
.art{padding-top:1.75rem;padding-bottom:2.5rem}
.art header .kicker{margin-bottom:.75rem}
.art h1{font:700 2rem/1.15 var(--head);margin-bottom:1rem;text-wrap:balance}
.art-excerpt{font-size:1.125rem;font-weight:500;color:var(--muted-fg);line-height:1.6;border-left:4px solid var(--primary);padding-left:1rem}
.byline{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font:700 .875rem var(--head);flex-shrink:0}
.by-name{font-weight:600;font-size:.875rem;line-height:1.25}.by-role{font-size:.75rem;color:var(--muted-fg);margin-top:.125rem}
.by-date{margin-left:auto;text-align:right;font-size:.75rem;color:var(--muted-fg)}.by-date time{display:block}
.art-fig{margin:0 -1rem 2rem;display:flex;flex-direction:column;align-items:center}
.art-fig img{width:100%;max-width:720px;height:auto;max-height:90vh;object-fit:contain;background:var(--muted)}
.art-fig figcaption,.art-body figcaption{font-size:.75rem;color:var(--muted-fg);margin-top:.5rem;text-align:right;font-style:italic;width:100%;max-width:720px;padding:0 1rem}
.art-body{font-size:1.125rem;line-height:1.7;max-width:44rem;margin:0 auto 2.5rem;overflow-wrap:break-word}
.art-body>*+*{margin-top:1.25rem}
.art-body h2{font:700 1.625rem/1.25 var(--head);margin-top:2.25rem}
.art-body h3{font:700 1.3125rem/1.3 var(--head);margin-top:2rem}
.art-body a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.art-body ul{list-style:disc;padding-left:1.4rem}.art-body ol{list-style:decimal;padding-left:1.4rem}
.art-body li+li{margin-top:.4rem}
.art-body blockquote{margin-left:0;margin-right:0;border-left:4px solid var(--primary);padding:.25rem 0 .25rem 1.1rem;font-size:1.25rem;font-weight:500}
.art-body figure{margin-left:0;margin-right:0}.art-body figure img{width:100%;height:auto}
.art-body figcaption{padding:0;max-width:none}
.art-body hr{border:0;border-top:1px solid var(--border);margin:2rem 0}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.tags a{display:block;padding:.3rem .7rem;background:var(--muted);font:700 .75rem var(--head);text-transform:uppercase;letter-spacing:.06em}
.tags a:hover{color:var(--primary)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.share span{font:700 .75rem var(--head);text-transform:uppercase;letter-spacing:.1em}
.share a{display:flex;align-items:center;gap:.375rem;padding:.5rem .8rem;color:#fff;font:700 .8125rem var(--head);border-radius:.25rem}
.share a:hover{opacity:.9}.s-fb{background:hsl(214 89% 52%)}.s-x{background:#000}.s-wa{background:hsl(142 70% 35%)}

/* Pie */
.site-footer{background:var(--fg);color:#fff;padding:3rem 0}
.foot-brand{margin-bottom:2.5rem}.foot-brand p{margin-top:.75rem;color:rgb(255 255 255 / .55);font-size:.875rem;max-width:20rem}
.foot-cols{display:grid;gap:2.5rem;border-top:1px solid rgb(255 255 255 / .1);padding-top:2.5rem}
.site-footer h3{font:700 .75rem var(--head);text-transform:uppercase;letter-spacing:.1em;color:hsl(356 90% 62%);margin-bottom:1rem}
.foot-cols li+li{margin-top:.5rem}
.foot-cols li a,.foot-social{color:rgb(255 255 255 / .75);font-size:.875rem;transition:color .15s}
.foot-cols li a:hover,.foot-social:hover{color:#fff}
.foot-social{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.foot-form{display:grid;gap:.75rem}
.foot-form input,.foot-form textarea{width:100%;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);color:#fff;font-size:1rem;padding:.5rem .75rem;border-radius:.25rem}
.foot-form ::placeholder{color:rgb(255 255 255 / .5)}
.foot-form textarea{resize:none}
.foot-form button{justify-self:start;border:0;cursor:pointer;padding:.5rem 1.25rem;color:#fff;font:700 .875rem var(--head);text-transform:uppercase;letter-spacing:.025em;border-radius:.25rem;background:var(--primary)}
.copy{border-top:1px solid rgb(255 255 255 / .1);margin-top:2.5rem;padding-top:1.5rem;text-align:center;color:rgb(255 255 255 / .5);font-size:.75rem}

@media (min-width:640px){.today{display:block}.fb-in{flex-direction:row}.contact-form .row2{grid-template-columns:1fr 1fr}}
@media (min-width:768px){
  .mainnav ul{margin:0;padding:0;overflow:visible}.mainnav a{padding:.625rem 1rem}
  .hero-grid,.lead{grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:1.5rem}.lead{padding-top:0}
  .hero-txt h1,.hero-txt h2{font-size:2.25rem}
  .grid-3{grid-template-columns:1fr 1fr}
  .card-title{font-size:1rem}
  .poll h2{font-size:1.875rem}.fb-cta h2{font-size:1.875rem}
  .page-head h1{font-size:3rem}
  .contact{grid-template-columns:1fr 2fr}
  .foot-cols{grid-template-columns:repeat(3,1fr)}
  .art{padding-top:2rem}.art h1{font-size:3rem}.art-excerpt{font-size:1.25rem}
  .art-fig{margin-left:0;margin-right:0}.art-fig figcaption{padding:0}
  .section-body{padding-top:2.5rem}
}
@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.share,.band,.fb-cta,.poll,.crumbs{display:none}}
