/* ===== Radio El Sembrador — sistema de diseño (base) =====
   Concepto: cabina de radio al amanecer. Azul marino profundo, dorado de herrajes, verde de siembra, rojo de “en el aire”.
   Tipografía: Barlow Condensed (titulares, eco del logotipo), Barlow (interfaz), Source Serif 4 (lectura editorial). */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/vendor/fonts/barlow-condensed/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/vendor/fonts/barlow-condensed/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:700;font-display:swap;src:url(/vendor/fonts/barlow-condensed/barlow-condensed-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:800;font-display:swap;src:url(/vendor/fonts/barlow-condensed/barlow-condensed-latin-800-italic.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fonts/barlow/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/vendor/fonts/barlow/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/vendor/fonts/barlow/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/vendor/fonts/source-serif-4/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/vendor/fonts/source-serif-4/source-serif-4-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/vendor/fonts/source-serif-4/source-serif-4-latin-600-normal.woff2) format("woff2")}

:root{
  --c-primary:#0B2A55;--c-accent:#E3B23C;--c-green:#1FA24A;--c-live:#E5262B;--c-ink:#07142B;--c-paper:#F6F3EA;
  --night:color-mix(in srgb,var(--c-ink) 70%,#000);
  --navy-2:color-mix(in srgb,var(--c-primary) 78%,#000);
  --navy-3:color-mix(in srgb,var(--c-primary) 100%,#2a5cb5 0%);
  --glow:color-mix(in srgb,var(--c-primary) 60%,#4d8dff);
  --gold-hi:color-mix(in srgb,var(--c-accent) 55%,#fff);
  --gold-lo:color-mix(in srgb,var(--c-accent) 62%,#4a2f00);
  --gold-grad:linear-gradient(180deg,var(--gold-hi) 0%,var(--c-accent) 48%,var(--gold-lo) 100%);
  --green-hi:color-mix(in srgb,var(--c-green) 70%,#fff);
  --live-hi:color-mix(in srgb,var(--c-live) 70%,#ff8a7a);
  --live-lo:color-mix(in srgb,var(--c-live) 70%,#4a0000);
  --on-dark:#f4f0e4;--on-dark-2:rgba(244,240,228,.72);--on-dark-3:rgba(244,240,228,.48);
  --on-light:#0d1b35;--on-light-2:#47546e;--line-l:rgba(7,20,43,.12);--line-d:rgba(244,240,228,.13);
  --f-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--f-ui:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--f-read:"Source Serif 4",Georgia,serif;
  --r-s:10px;--r-m:16px;--r-l:24px;--ease:cubic-bezier(.2,.7,.2,1);
  --shadow-l:0 1px 2px rgba(7,20,43,.06),0 10px 30px -12px rgba(7,20,43,.22);
  --shadow-d:0 20px 50px -20px rgba(0,0,0,.7);
  --dock-h:76px;--wrap:1240px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 1.0625rem/1.55 var(--f-ui);color:var(--on-light);background:var(--night);padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.modal-open,body.drawer-open{overflow:hidden}
img,svg,video,canvas,iframe{max-width:100%;display:block}
img{height:auto}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;line-height:1.02;letter-spacing:.005em}
p{margin:0 0 1em}
a{color:inherit;text-decoration-color:color-mix(in srgb,var(--c-accent) 70%,transparent);text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;background:var(--c-accent);color:var(--c-ink);padding:10px 16px;border-radius:10px;font-weight:600;transition:top .2s}
.skip-link:focus{top:12px}
.i{width:1.25em;height:1.25em;flex:none}
.muted{color:var(--on-light-2)}.band-dark .muted{color:var(--on-dark-3)}
.center{text-align:center;margin-top:28px}
.wrap{width:min(var(--wrap),100% - 2*clamp(16px,4vw,40px));margin-inline:auto}
.wrap-n{width:min(780px,100% - 2*clamp(16px,4vw,40px));margin-inline:auto}
#app:focus{outline:none}
.noscript,.boot-err{padding:40px;text-align:center;color:var(--on-dark)}

/* ===== bandas ===== */
.band{position:relative;padding-block:clamp(48px,7vw,96px)}
.band-dark{color:var(--on-dark);background:
  radial-gradient(1100px 520px at 85% -10%,color-mix(in srgb,var(--c-primary) 85%,#3b7bff) 0%,transparent 60%),
  radial-gradient(900px 480px at -10% 110%,color-mix(in srgb,var(--c-green) 18%,transparent) 0%,transparent 60%),
  linear-gradient(180deg,var(--c-ink),var(--night))}
.band-dark::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c-accent) 70%,transparent),transparent)}
.band-light{color:var(--on-light);background:
  radial-gradient(700px 340px at 100% 0,rgba(227,178,60,.10),transparent 65%),
  var(--c-paper)}
.band-light.alt{background:color-mix(in srgb,var(--c-paper) 82%,#dcd3bd)}
.band-light::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,transparent 0 22px,rgba(7,20,43,.018) 22px 23px);mask:linear-gradient(180deg,#000,transparent 70%)}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,40px) clamp(18px,2.4vw,32px);position:relative}
.blk{grid-column:span 12;min-width:0}
.blk.w-half{grid-column:span 6}
@media(max-width:1000px){.blk.w-half{grid-column:span 12}}
.page-body{position:relative}
.band-light .page-body>*+*{margin-top:clamp(28px,4vw,48px)}

/* ===== cabeceras de sección ===== */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(20px,3vw,32px)}
.sec-head h2{font-size:clamp(2rem,4.2vw,3.1rem);position:relative;padding-bottom:12px}
.sec-head h2::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:4px;border-radius:4px;background:var(--gold-grad);box-shadow:0 0 16px color-mix(in srgb,var(--c-accent) 60%,transparent)}
.sec-head p{margin:10px 0 0;color:var(--on-light-2);max-width:56ch;font-size:1.05rem}
.band-dark .sec-head p{color:var(--on-dark-2)}
.kicker{display:inline-flex;align-items:center;gap:10px;font:700 .8rem/1 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lo);margin-bottom:10px;font-style:normal}
.band-dark .kicker,.phero .kicker{color:var(--gold-hi)}
.kicker::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.more{display:inline-flex;align-items:center;gap:6px;font:700 .95rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--c-primary);padding:10px 2px;border-bottom:2px solid transparent;transition:gap .25s var(--ease),border-color .25s}
.band-dark .more{color:var(--gold-hi)}
.more:hover{gap:12px;border-color:currentColor}
.more .i{width:1em;height:1em}
.page-in{animation:pagein .5s var(--ease) both}
@keyframes pagein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal].instant{transition:none}

/* ===== botones ===== */
.btn{--bg:transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border:0;border-radius:999px;font:700 1.02rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .2s var(--ease),box-shadow .3s,filter .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.btn:active{transform:translateY(1px) scale(.985)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-sm{padding:10px 18px;font-size:.92rem}.btn-lg{padding:17px 32px;font-size:1.15rem}
.btn-gold{background:var(--gold-grad);color:#2a1b00;box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 10px 24px -10px color-mix(in srgb,var(--c-accent) 80%,#000)}
.btn-gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.65) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-gold:hover::after{transform:translateX(120%)}
.btn-gold:hover{box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 14px 34px -8px color-mix(in srgb,var(--c-accent) 90%,#000)}
.btn-live{background:linear-gradient(180deg,var(--live-hi),var(--c-live) 50%,var(--live-lo));color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 12px 30px -8px color-mix(in srgb,var(--c-live) 85%,#000)}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px color-mix(in srgb,currentColor 35%,transparent)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--c-accent);color:var(--c-accent)}
.band-light .btn-ghost:hover{color:var(--c-primary);box-shadow:inset 0 0 0 2px var(--c-primary)}
.btn-wa{background:linear-gradient(180deg,#3be57a,#1fb956 55%,#128c42);color:#04240f;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 24px -10px #1fb956}
.btn.is-busy{pointer-events:none}.btn.is-busy::before{content:"";width:16px;height:16px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:inherit;transition:background .2s,transform .2s;flex:none}
.icon-btn:hover{background:rgba(255,255,255,.18)}
.band-light .icon-btn{background:rgba(7,20,43,.07)}.band-light .icon-btn:hover{background:rgba(7,20,43,.14)}
.linkish{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-decoration-color:var(--c-accent);text-underline-offset:3px;cursor:pointer}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== chips y badges ===== */
.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font:700 .72rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;background:rgba(7,20,43,.78);color:var(--gold-hi);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.chip-air{background:linear-gradient(180deg,var(--live-hi),var(--c-live));color:#fff;box-shadow:0 4px 14px -4px var(--c-live)}
.chip-prov{background:repeating-linear-gradient(135deg,#fff3c4 0 8px,#ffe69a 8px 16px);color:#5a3d00;box-shadow:inset 0 0 0 1px #d9b24a}
.chip-tv{background:rgba(31,162,74,.9);color:#fff}
.chip-cat{position:absolute;left:12px;top:12px;z-index:2}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.chip-air .dot,.live-flag .dot,.vp-badge .dot,.dock-chip .dot{animation:pulse 1.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}100%{box-shadow:0 0 0 9px rgba(255,255,255,0)}}

/* ===== cabecera ===== */
.site-header{position:sticky;top:0;z-index:60}
.topbar{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--gold-grad);color:#2a1b00;padding:6px 14px;font:600 .9rem/1.3 var(--f-ui);text-align:center}
.topbar-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:560px){.topbar{font-size:.8rem;padding:5px 10px}}
.topbar[hidden]{display:none}.topbar .icon-btn{width:28px;height:28px;background:rgba(0,0,0,.1);color:#2a1b00}.topbar .i{width:1em;height:1em}
.hbar{background:linear-gradient(180deg,rgba(5,14,32,.88),rgba(5,14,32,.62));backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line-d);transition:background .3s,box-shadow .3s}
.site-header.solid .hbar{background:rgba(5,14,32,.96);box-shadow:0 12px 30px -16px #000}
.hbar-in{display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:72px;color:var(--on-dark)}
.brand{display:block;flex:none;line-height:0}
.brand img{height:50px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45));transition:transform .3s var(--ease)}
.brand:hover img{transform:scale(1.03) rotate(-.6deg)}
.nav{display:flex;gap:2px;margin-inline:auto;overflow:hidden}
.nav a{position:relative;padding:10px 12px;font:700 1.02rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--on-dark-2);transition:color .2s;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;border-radius:3px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover,.nav a.on{color:#fff}.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.hright{display:flex;align-items:center;gap:10px;margin-left:auto}
.nav+.hright{margin-left:0}
.livepill{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;text-decoration:none;font:700 .86rem/1 var(--f-display);letter-spacing:.14em;color:var(--on-dark);background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line-d);transition:background .3s,box-shadow .3s;white-space:nowrap}
.livepill .dot{color:var(--on-dark-3)}
.livepill.is-air .dot{color:var(--green-hi);animation:pulse 1.6s ease-out infinite}
.livepill.is-video{background:linear-gradient(180deg,var(--live-hi),var(--c-live));box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 8px 24px -6px var(--c-live)}
.livepill.is-video .dot{color:#fff;animation:pulse 1.2s ease-out infinite}
.burger{display:none}
.drawer{position:fixed;inset:72px 0 0 0;background:rgba(5,14,32,.97);backdrop-filter:blur(16px);z-index:59;overflow:auto}
.drawer-in{padding:24px clamp(16px,5vw,40px) 120px;display:grid;gap:22px;max-width:520px;margin:auto}
.drawer nav{display:grid}.drawer nav a{padding:16px 0;border-bottom:1px solid var(--line-d);font:800 1.7rem/1 var(--f-display);font-style:italic;text-transform:uppercase;text-decoration:none;color:var(--on-dark);letter-spacing:.04em}
.drawer nav a.on{color:var(--c-accent)}
@media(max-width:1120px){.nav{display:none}.burger{display:inline-grid}.hide-s{display:none}.hright{margin-left:auto}}
@media(max-width:480px){.brand img{height:42px}.hbar-in{height:64px}.drawer{inset:64px 0 0 0}.livepill{padding:8px 11px;font-size:.78rem}}

/* ===== redes ===== */
.socials{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.soc{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;text-decoration:none;font:600 .95rem/1 var(--f-ui);background:rgba(255,255,255,.08);color:inherit;box-shadow:inset 0 0 0 1px var(--line-d);transition:transform .25s var(--ease),background .25s,color .25s;border:0}
.band-light .soc{background:#fff;box-shadow:inset 0 0 0 1px var(--line-l)}
.soc:hover{transform:translateY(-3px);background:var(--c-accent);color:#2a1b00}
.soc-whatsapp:hover{background:#25d366}.soc-facebook:hover{background:#1877f2;color:#fff}.soc-instagram:hover{background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);color:#fff}.soc-youtube:hover{background:#f00;color:#fff}.soc-tiktok:hover{background:#000;color:#fff}
.socials-row .soc span{display:none}.socials-row .soc{padding:11px}
.socials-big .soc{padding:14px 20px;font-size:1.05rem}
.share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:34px;padding-top:22px;border-top:1px solid var(--line-l)}
.share>span{font:700 .85rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--on-light-2);margin-right:6px}
.share .soc{padding:11px;cursor:pointer}

/* ===== formularios ===== */
.fld{display:grid;gap:6px;font-weight:600}
.fld>span{font:600 .85rem/1.2 var(--f-ui);letter-spacing:.04em;color:var(--on-light-2)}
.fld small{font-weight:400;color:var(--on-light-2)}
input:not([type=checkbox]):not([type=range]),select,textarea{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid var(--line-l);background:#fff;color:var(--on-light);font-weight:500;transition:border-color .2s,box-shadow .2s;min-height:48px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 18%,transparent)}
.band-dark input:not([type=checkbox]):not([type=range]),.band-dark select,.band-dark textarea{background:rgba(255,255,255,.06);border-color:var(--line-d);color:var(--on-dark)}
.band-dark .fld>span{color:var(--on-dark-2)}
.band-dark input:focus,.band-dark textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 22%,transparent)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.grid2{grid-template-columns:1fr}}
form{display:grid;gap:14px}
.chk{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;line-height:1.4}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--c-primary);flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{margin:0;padding:12px 15px;border-radius:12px;font-weight:600;font-size:.96rem}
.form-msg.err{background:#fde8e6;color:#8a1410;box-shadow:inset 0 0 0 1px #f3b7b2}
.form-msg.ok{background:#e1f6e8;color:#0d5a2a;box-shadow:inset 0 0 0 1px #9bd9b2}
.fld-err{margin:0;color:#ff9d96;font-size:.9rem}

/* ===== estados vacíos / carga ===== */
.empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:clamp(28px,5vw,56px) 20px;border-radius:var(--r-l);border:2px dashed color-mix(in srgb,currentColor 22%,transparent);color:var(--on-light-2)}
.band-dark .empty{color:var(--on-dark-2)}
.empty .i{width:40px;height:40px;opacity:.55;margin-bottom:6px}.empty strong{font:800 1.4rem/1.1 var(--f-display);font-style:italic;text-transform:uppercase;color:var(--on-light)}.band-dark .empty strong{color:var(--on-dark)}
.empty p{margin:0;max-width:46ch}
.empty-err{border-color:#e5262b66}
.skel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.skel{height:190px;border-radius:var(--r-m);background:linear-gradient(100deg,rgba(127,140,170,.14) 30%,rgba(127,140,170,.3) 50%,rgba(127,140,170,.14) 70%);background-size:300% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.spin{width:34px;height:34px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--c-accent);border-radius:50%;animation:spin .8s linear infinite;margin:auto}
.ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,var(--navy-3),var(--c-ink));overflow:hidden}
.ph::before{content:"";position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg,rgba(227,178,60,.09) 0 6deg,transparent 6deg 14deg);animation:slow 60s linear infinite}
.ph img{width:min(38%,96px);opacity:.55;position:relative;filter:saturate(.8)}
@keyframes slow{to{transform:rotate(360deg)}}

/* ===== modal / toast ===== */
.modal-wrap{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(3,8,20,.78);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s}
.modal-wrap.in{opacity:1}
.modal{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:linear-gradient(180deg,#0f2447,var(--c-ink));color:var(--on-dark);border-radius:var(--r-l);padding:clamp(22px,4vw,36px);box-shadow:var(--shadow-d),inset 0 0 0 1px var(--line-d);transform:translateY(16px) scale(.98);transition:transform .35s var(--ease)}
.modal-wide{width:min(1000px,100%);padding:0;background:#000}
.modal-wrap.in .modal{transform:none}
.modal-close{position:absolute;right:10px;top:10px;z-index:5;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}
.modal-close:hover{background:var(--c-live)}
.modal-h{font-size:2rem;margin-bottom:14px}.modal-p{color:var(--on-dark-2)}
.modal .fld>span{color:var(--on-dark-2)}.modal select{background:rgba(255,255,255,.07);color:var(--on-dark);border-color:var(--line-d)}.modal select option{color:#000}
.plist{padding-left:1.1em;color:var(--on-dark-2);display:grid;gap:10px}.plist strong{color:var(--on-dark)}
#toast-root{position:fixed;z-index:400;left:50%;transform:translateX(-50%);bottom:calc(var(--dock-h) + 18px);display:grid;gap:8px;width:min(440px,100% - 32px);pointer-events:none}
.toast{padding:13px 18px;border-radius:14px;background:#0e2148;color:var(--on-dark);font-weight:600;box-shadow:var(--shadow-d),inset 0 0 0 1px var(--line-d);opacity:0;transform:translateY(12px);transition:.3s var(--ease);pointer-events:auto}
.toast.in{opacity:1;transform:none}.toast-ok{background:#0d4a26}.toast-error{background:#7c1d1a}

/* ===== pie ===== */
.site-footer{position:relative;color:var(--on-dark-2);background:radial-gradient(900px 400px at 15% 0,color-mix(in srgb,var(--c-primary) 80%,#2f6bd6),transparent 60%),var(--night);padding-top:clamp(56px,8vw,96px)}
.foot-wave{position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--c-green),var(--c-accent),var(--c-live),var(--c-accent),var(--c-green));background-size:200% 100%;animation:flow 12s linear infinite}
@keyframes flow{to{background-position:200% 0}}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.3fr;gap:clamp(24px,4vw,56px)}
.foot-brand img{width:150px;margin-bottom:14px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.foot-col{display:grid;align-content:start;gap:10px}
.foot-col .foot-h{font-size:1.15rem;color:var(--gold-hi);letter-spacing:.16em;font-style:normal;margin-bottom:6px}
.foot-col a,.foot-col span{display:flex;gap:9px;align-items:center;text-decoration:none;color:var(--on-dark-2)}.foot-col a:hover{color:var(--c-accent)}
.freq-tag{color:var(--gold-hi)!important;font:700 1.1rem var(--f-display)}
.foot-base{margin-top:clamp(36px,5vw,64px);border-top:1px solid var(--line-d);padding:20px 0 28px;font-size:.9rem;color:var(--on-dark-3)}
.foot-base .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:960px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ===== página: portada de sección ===== */
.phero{position:relative;overflow:hidden;color:var(--on-dark);padding:clamp(56px,9vw,120px) 0 clamp(44px,6vw,80px);background:radial-gradient(900px 420px at 80% -20%,var(--glow),transparent 60%),linear-gradient(180deg,var(--c-ink),var(--navy-2))}
.phero-bg{position:absolute;inset:-30% -10% auto auto;width:760px;height:760px;background:repeating-conic-gradient(from 0deg,rgba(227,178,60,.16) 0 4deg,transparent 4deg 12deg);border-radius:50%;mask:radial-gradient(circle,#000 0 20%,transparent 68%);animation:slow 120s linear infinite}
.phero .wrap{position:relative}
.phero h1{font-size:clamp(2.6rem,7vw,5.6rem);text-shadow:0 6px 30px rgba(0,0,0,.4)}
.phero h1::after{content:"";display:block;width:110px;height:6px;margin-top:16px;border-radius:6px;background:var(--gold-grad);box-shadow:0 0 24px color-mix(in srgb,var(--c-accent) 70%,transparent)}
.phero p{max-width:58ch;margin:18px 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--on-dark-2)}
.live-hero{padding-block:clamp(28px,4vw,48px) 0}.live-hero h1{font-size:clamp(2rem,5vw,3.6rem)}
.preview-bar{background:var(--c-live);color:#fff;text-align:center;padding:8px;font-weight:700}
.prov-note{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:#fff6d6;color:#5a3d00;box-shadow:inset 0 0 0 1px #e7c765;font-weight:500}
.nf{text-align:center;padding-block:clamp(80px,12vw,160px)}.nf img{margin:0 auto 24px;animation:slow 30s linear infinite;border-radius:50%}.nf h1{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:12px}.nf p{color:var(--on-dark-2);margin-bottom:26px}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
