:root{--bg:#050308;--card:#0f0a18;--card2:#150e22;--line:#2b1f43;--violet:#8f2bff;--violet2:#b36bff;--glow:rgba(143,43,255,.45);--text:#fff;--muted:#bcb2d4;--ok:#5be3a0;--bad:#ff6b8a;--r:18px;--font:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:"Bricolage Grotesque","Figtree",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--font);min-height:100vh;display:flex;flex-direction:column;
 background-image:radial-gradient(900px 500px at 50% -120px,rgba(143,43,255,.28),transparent 70%)}
main{flex:1}
img{max-width:100%;display:block}
a{color:var(--violet2)}
h1,h2,h3{font-family:var(--display);line-height:1.05;margin:0;letter-spacing:-.02em}
h1{font-weight:800;font-size:clamp(2.5rem,9vw,6rem)}
h2{font-weight:800;font-size:clamp(1.8rem,5vw,3rem)}
h3{font-weight:600;font-size:1.25rem;line-height:1.2}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.7rem 1rem;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid #d9b8ff;outline-offset:3px;border-radius:6px}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* topo */
.top{position:sticky;top:0;z-index:50;background:rgba(5,3,8,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{font:800 1.25rem var(--display);color:#fff;text-decoration:none;letter-spacing:-.02em}
.brand img{height:40px;width:auto}
.menu-btn{display:none;min-height:44px;padding:0 1rem;background:var(--card);color:#fff;border:1px solid var(--line);border-radius:999px;font:600 1rem var(--font);cursor:pointer}
#menu{display:flex;gap:.25rem}
#menu a{color:var(--muted);text-decoration:none;padding:.65rem .9rem;border-radius:999px;font-weight:500}
#menu a:hover{color:#fff}
#menu a[aria-current=page]{color:#fff;background:var(--card2);box-shadow:inset 0 0 0 1px var(--violet)}
@media(max-width:860px){.menu-btn{display:block}#menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:#07040d;padding:.75rem 1.25rem 1.25rem;border-bottom:1px solid var(--line)}#menu.open{display:flex}#menu a{padding:.9rem 1rem;font-size:1.1rem}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.5rem;border-radius:999px;background:var(--violet);color:#fff;font:700 1rem var(--font);text-decoration:none;border:0;cursor:pointer;box-shadow:0 0 28px var(--glow);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 38px var(--glow)}
.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none;color:#fff}
.btn.ghost:hover{border-color:var(--violet2)}
.btn.sm{min-height:40px;padding:0 1rem;font-size:.95rem}
.btn.danger{background:#3a0f1e;box-shadow:none;border:1px solid #6b1f39;color:#ffb3c4}
.btn[disabled]{opacity:.55;cursor:wait}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}

/* hero */
.hero{position:relative;min-height:min(82vh,760px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;width:70vmax;height:70vmax;left:-20vmax;bottom:-45vmax;background:radial-gradient(circle,rgba(143,43,255,.55),transparent 62%);pointer-events:none}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.hero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,3,8,.15),rgba(5,3,8,.9) 85%)}
.hero-in{position:relative;z-index:2;padding:6rem 0 3.5rem;max-width:880px;margin-left:max(1.25rem,calc((100% - 1180px)/2))}
.hero .lead{font-size:clamp(1.1rem,2.4vw,1.4rem);color:#e6defa;max-width:34em;margin-top:1.25rem}
.hero-art{display:block;min-height:0;background:#050308}
.hero-art::before{display:none}
.hero-banner{width:100%;height:auto;max-width:1440px;margin-inline:auto;object-fit:contain}
.hero-art .hero-in{width:min(1180px,100% - 2.5rem);max-width:none;margin:0 auto;padding:1.75rem 0 2.5rem}
.hero-art h1{font-size:clamp(1.8rem,4vw,3.1rem);max-width:24ch}
.hero-art .lead{margin:.75rem 0 0;font-size:1.125rem;max-width:55ch}
.hero-art .cta{margin-top:1.25rem}
@media(min-width:960px){.hero-art .hero-in{display:grid;grid-template-columns:1fr auto;column-gap:2rem;align-items:center}.hero-art .cta{grid-column:2;grid-row:1/3;max-width:440px;margin:0;justify-content:flex-end}}
@media(max-width:560px){.hero-art .hero-in{padding-top:1.25rem}.hero-art .cta{gap:.65rem}.hero-art .btn{padding-inline:1.15rem}}

/* seções */
.sec{padding:4rem 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.areas{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.areas{grid-template-columns:1fr}}
.area{display:block;padding:1.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:#fff;transition:border-color .2s,box-shadow .2s}
.area:hover{border-color:var(--violet);box-shadow:0 0 40px rgba(143,43,255,.2)}
.area h3{font-size:1.6rem;margin-bottom:.5rem}
.area p{color:var(--muted);margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}

/* parceiros */
.slots{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.slot{position:relative;display:block;min-height:120px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);text-decoration:none}
.slot img{width:100%;height:100%;max-height:260px;object-fit:cover}
.slot .tag{position:absolute;left:10px;top:10px;background:rgba(5,3,8,.85);border:1px solid var(--line);padding:.15rem .7rem;border-radius:999px;font-size:.85rem;color:#fff}
.slot.empty{display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:1.5rem;border-style:dashed;color:var(--muted)}
.slot.empty strong{color:#fff}

/* podcast */
.podcast{display:grid;gap:2rem;grid-template-columns:1.4fr 1fr;align-items:center}
@media(max-width:860px){.podcast{grid-template-columns:1fr}}
.player{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,#1b0b34,#07040d);border:1px solid var(--line);box-shadow:0 0 70px rgba(143,43,255,.22)}
.player.sp{aspect-ratio:auto;min-height:232px}
.player button.play{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;padding:0}
.player img{width:100%;height:100%;object-fit:cover}
.player .ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--violet);display:grid;place-items:center;box-shadow:0 0 40px var(--glow)}
.player .ico::before{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.eps{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.ep .player{box-shadow:none}
.ep .player .ico{width:56px;height:56px}
.ep h3{margin:.8rem 0 .2rem}

/* eventos */
.evs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.ev{display:grid;grid-template-columns:76px 1fr;gap:1rem;padding:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:#fff;transition:border-color .2s}
.ev:hover{border-color:var(--violet)}
.ev .d{display:grid;place-content:center;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:14px;min-height:76px}
.ev .d b{font:800 1.9rem/1 var(--display)}
.ev .d span{color:var(--violet2);font-weight:700}
.ev h3{font-size:1.15rem}
.ev p{margin:.25rem 0 0;color:var(--muted);font-size:.97rem}
.ev.ended{opacity:.7}
.pill{display:inline-block;padding:.1rem .7rem;border-radius:999px;border:1px solid var(--line);font-size:.85rem;color:var(--muted)}

/* mensagens */
.empty-state{padding:2.5rem 1.5rem;text-align:center;border:1px dashed var(--line);border-radius:var(--r);background:var(--card)}
.empty-state h3{margin-bottom:.5rem}
.empty-state p{color:var(--muted);max-width:34em;margin-inline:auto}
.spin{display:inline-block;width:1.1em;height:1.1em;border:3px solid var(--line);border-top-color:var(--violet2);border-radius:50%;animation:sp .8s linear infinite;vertical-align:-.2em;margin-right:.5rem}
@keyframes sp{to{transform:rotate(360deg)}}
.notice{padding:.9rem 1.1rem;border-radius:12px;border:1px solid var(--line);background:var(--card2)}
.notice.err{border-color:#6b1f39;color:#ffc2d0}
.notice.ok{border-color:#1f6b4a;color:#c3ffe3}

/* formulários */
.page-head{padding:3rem 0 1.5rem}
.page-head p{color:var(--muted);max-width:40em;margin:.8rem 0 0}
form.f{display:grid;gap:1.25rem;max-width:680px}
.fld label,.fld legend{display:block;font-weight:700;margin-bottom:.4rem}
.fld .hint{color:var(--muted);font-size:.93rem;margin:.3rem 0 0}
input,select,textarea{width:100%;min-height:48px;padding:.7rem 1rem;background:#0a0613;color:#fff;border:1px solid var(--line);border-radius:12px;font:inherit}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet2);box-shadow:0 0 0 3px rgba(143,43,255,.35)}
input[type=file]{padding:.6rem}
input[type=checkbox]{width:24px;min-height:24px;accent-color:var(--violet)}
.row2{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.row3{display:grid;gap:1rem;grid-template-columns:2fr 1fr}
@media(max-width:560px){.row2,.row3{grid-template-columns:1fr}}
.err-msg{color:var(--bad);font-size:.95rem;margin:.35rem 0 0;min-height:0}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:var(--bad)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.preview{margin-top:.6rem;max-height:220px;border-radius:12px;border:1px solid var(--line)}
.success{max-width:680px;padding:2rem;border:1px solid var(--violet);border-radius:var(--r);background:var(--card);box-shadow:0 0 50px rgba(143,43,255,.2)}

/* censo */
.censo{display:grid;gap:1.25rem;grid-template-columns:380px 1fr;align-items:start}
@media(max-width:900px){.censo{grid-template-columns:1fr}}
.side{display:flex;flex-direction:column;gap:.75rem}
.filters{display:grid;gap:.6rem}
#lista{list-style:none;margin:0;padding:0;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
@media(max-width:900px){#lista{max-height:340px}}
#lista button{display:block;width:100%;text-align:left;padding:.85rem 1rem;background:transparent;border:0;border-bottom:1px solid var(--line);color:#fff;font:inherit;cursor:pointer;min-height:56px}
#lista button:hover{background:var(--card2)}
#lista button[aria-pressed=true]{background:var(--card2);box-shadow:inset 3px 0 0 var(--violet)}
#lista small{display:block;color:var(--muted)}
#mapa{height:min(72vh,640px);min-height:380px;border-radius:var(--r);border:1px solid var(--line);background:#0a0613;z-index:1}
@media(max-width:900px){.censo-map{order:-1}#mapa{height:56vh}}
.detail{padding:1.25rem;border:1px solid var(--violet);border-radius:var(--r);background:var(--card);box-shadow:0 0 40px rgba(143,43,255,.18)}
.detail h3{font-size:1.5rem;margin-bottom:.4rem}
.detail dl{margin:.5rem 0 1rem}
.detail dt{color:var(--muted);font-size:.9rem}
.detail dd{margin:0 0 .6rem}
.mk{width:18px;height:18px;border-radius:50%;background:var(--violet);border:2px solid #fff;box-shadow:0 0 14px 3px var(--glow)}
.mk.sel{width:26px;height:26px;background:#fff;border-color:var(--violet);box-shadow:0 0 22px 8px var(--glow)}
.leaflet-container{font-family:var(--font)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--card);color:#fff;border:1px solid var(--line)}

/* calendário */
.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.5rem}
.toolbar .fld{min-width:170px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{min-height:48px;padding:0 1.2rem;background:transparent;color:var(--muted);border:0;font:600 1rem var(--font);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--violet);color:#fff}
.cal{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:1rem;margin-bottom:1.5rem}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.cal-h h3{text-transform:capitalize}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-g .w{text-align:center;color:var(--muted);font-size:.85rem;padding:.3rem 0}
.cal-g button{aspect-ratio:1;min-height:44px;background:#0a0613;border:1px solid transparent;border-radius:10px;color:#fff;font:inherit;cursor:pointer;position:relative}
.cal-g button:hover{border-color:var(--line)}
.cal-g button.has{border-color:var(--violet);background:var(--card2);font-weight:700}
.cal-g button.has::after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--violet2);box-shadow:0 0 8px var(--violet)}
.cal-g button.sel{background:var(--violet);border-color:#fff}
.cal-g i{display:block}

/* evento / anúncio */
.detail-page{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:2rem 0 4rem;align-items:start}
@media(max-width:860px){.detail-page{grid-template-columns:1fr}}
.zoom{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);cursor:zoom-in}
.zoom img{width:100%;height:auto}
.noimg{aspect-ratio:4/5;border:1px dashed var(--line);border-radius:var(--r);display:grid;place-items:center;color:var(--muted);background:var(--card)}
.facts{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.75rem}
.facts li{padding:.8rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:12px}
.facts small{display:block;color:var(--muted)}
.richtext p{max-width:60ch}
dialog{border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:#fff;padding:0;max-width:min(96vw,980px);width:100%}
dialog::backdrop{background:rgba(0,0,0,.82)}
dialog .x{position:sticky;top:0;float:right;margin:.5rem}
.lightbox img{max-height:84vh;margin:auto;width:auto}

/* marketplace */
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.prod{display:block;text-decoration:none;color:#fff;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.prod:hover{border-color:var(--violet)}
.prod img{width:100%;aspect-ratio:1;object-fit:cover}
.prod h3{padding:.9rem 1rem 1rem;font-size:1.05rem}
.search{display:flex;gap:.6rem;max-width:560px}

/* rodapé */
footer{margin-top:4rem;border-top:1px solid var(--line);background:#07040d;padding:2.5rem 0}
.foot{display:grid;gap:1.5rem;grid-template-columns:1.2fr 1fr}
@media(max-width:700px){.foot{grid-template-columns:1fr}}
.soc{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.soc a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border:1px solid var(--line);border-radius:999px;color:#fff;text-decoration:none}
.soc a:hover{border-color:var(--violet2)}

/* admin */
.adm{padding:1.5rem 0 4rem}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0 1.5rem;position:sticky;top:64px;background:var(--bg);padding:.5rem 0;z-index:10}
.tabs button{min-height:44px;padding:0 1rem;background:var(--card);color:var(--muted);border:1px solid var(--line);border-radius:999px;font:600 .98rem var(--font);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--violet);color:#fff;border-color:var(--violet)}
.tabs .n{background:#fff;color:#000;border-radius:999px;padding:0 .5rem;margin-left:.35rem;font-size:.85rem}
.rows{display:grid;gap:.75rem}
.rw{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;padding:.85rem;background:var(--card);border:1px solid var(--line);border-radius:14px}
.rw img,.rw .ph{width:72px;height:72px;object-fit:cover;border-radius:10px;background:var(--card2)}
.rw h3{font-size:1.05rem}
.rw p{margin:.15rem 0 0;color:var(--muted);font-size:.93rem}
.rw .acts{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
@media(max-width:700px){.rw{grid-template-columns:56px 1fr}.rw img,.rw .ph{width:56px;height:56px}.rw .acts{grid-column:1/-1;justify-content:flex-start}}
.st{display:inline-block;padding:0 .6rem;border-radius:999px;font-size:.8rem;font-weight:700;margin-right:.4rem}
.st.pending{background:#4a3500;color:#ffd77a}.st.approved{background:#0d3d28;color:#8ff0c0}.st.rejected,.st.closed{background:#40111f;color:#ffa9be}.st.sold{background:#2a1a52;color:#cfb0ff}.st.auto{background:#4a3500;color:#ffd77a}
#map-pick{height:280px;border-radius:12px;border:1px solid var(--line);margin-top:.5rem}
table.imp{width:100%;border-collapse:collapse;font-size:.93rem}
table.imp th,table.imp td{padding:.5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tablewrap{overflow:auto;max-height:50vh;border:1px solid var(--line);border-radius:12px}
.form-dlg{padding:1.5rem}
.form-dlg form{max-width:none}
.toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:100;max-width:92vw;padding:.9rem 1.3rem;border-radius:999px;background:#fff;color:#000;font-weight:700;box-shadow:0 8px 40px rgba(0,0,0,.6)}
.toast.err{background:var(--bad)}

.listing-price{font-size:1.5rem;font-weight:700;color:#d1a1ff;margin:.5rem 0 1rem}.prod .listing-price{padding:0 1rem 1rem;margin:0;font-size:1.2rem}

.censo-mymaps{padding-bottom:3rem}.censo-mymaps-frame{display:block;width:100%;height:72vh;min-height:440px;max-height:840px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
@media(max-width:600px){.censo-mymaps-frame{height:70vh;min-height:420px;border-radius:12px}}

/* Home: partners, culture and community */
.eyebrow{display:block;color:#52d8ee;font-size:.875rem;font-weight:700;letter-spacing:.06em;margin-bottom:.65rem}
.partner-grid,.culture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.partner-card,.culture-card{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:1.75rem;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.partner-mark{position:relative;width:160px;height:160px;overflow:hidden;border-radius:50%;margin:0 0 1.5rem;background:#fff;flex-shrink:0}
.partner-mark img{position:absolute;max-width:none;height:auto}
.partner-card h3,.culture-card h3{font-size:1.5rem;margin-bottom:1rem}
.partner-card p,.culture-card p{color:var(--muted)}
.partner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:auto;padding-top:.5rem}
.partner-actions>a:not(.btn),.culture-card>a{font-size:.95rem;font-weight:700;text-underline-offset:4px}
.additional-partners{margin-top:1.5rem}
.story-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
.story-meta time{font-size:.875rem;color:var(--muted)}
.culture-card>a{margin-top:auto;padding-top:.5rem}
.social-section{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.social-section h2{font-size:clamp(1.8rem,4vw,2.5rem)}
.social-section p{margin:.8rem 0 0;color:var(--muted)}
.social-links{display:flex;flex-wrap:wrap;gap:.75rem}
@media(max-width:900px){.partner-grid,.culture-grid{grid-template-columns:1fr}.partner-card{padding:1.5rem}.social-section{align-items:flex-start;flex-direction:column}}

/* Compact partner placements between the main content sections */
.partner-ad{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:1.5rem}
.ad-logo{width:64px;height:64px;flex:0 0 64px;overflow:hidden;border-radius:50%}
.ad-logo .partner-mark{transform:scale(.4);transform-origin:top left;margin:0}
.ad-copy{min-width:0;flex:1}.ad-copy .eyebrow{font-size:.75rem;margin:0 0 .25rem}.ad-copy h3{font-size:1.2rem}.ad-copy p{font-size:.875rem;color:var(--muted);margin:.25rem 0 0}
.ad-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.ad-actions>a:not(.btn){font-size:.875rem;text-underline-offset:3px}
.agenda-preview{display:grid;gap:.65rem;align-content:start}.agenda-preview .ev{padding:.85rem}.agenda-preview .ev p{font-size:.875rem}.agenda-empty{border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}.agenda-empty p{color:var(--muted);margin:.7rem 0 1rem}
@media(max-width:600px){.partner-ad{gap:.75rem;padding:.8rem;flex-wrap:wrap}.ad-logo{width:48px;height:48px;flex-basis:48px}.ad-logo .partner-mark{transform:scale(.3)}.ad-copy h3{font-size:1.05rem}.ad-actions{width:100%;padding-left:60px}.ad-actions .btn{min-height:40px;padding:0 .85rem;font-size:.875rem}}

.home-agenda .agenda-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.home-agenda .agenda-empty{grid-column:1/-1}
@media(max-width:900px){.home-agenda .agenda-preview{grid-template-columns:1fr}}

.agenda-month{max-width:370px;margin:0 auto 1.5rem;padding:1rem}
.agenda-month .cal-h h2{font-size:1.05rem;text-transform:capitalize;text-align:center}
.agenda-month .cal-h button{min-width:44px;min-height:44px;font-size:1.4rem;padding:.2rem .6rem}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.month-grid .w{text-align:center;color:var(--muted);font-size:.875rem;padding:.3rem 0}
.month-grid .day,.month-grid a{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;font-size:.95rem;position:relative;border:1px solid transparent}
.month-grid a.has{background:var(--card2);border-color:var(--violet);font-weight:700;color:#fff}
.month-grid a:hover{background:var(--violet)}
.month-grid .today{border-color:#fff}
.month-grid .day-dot{width:4px;height:4px;background:var(--violet2);border-radius:50%;position:absolute;bottom:3px}
.agenda-month>p{font-size:.875rem;margin:.75rem 0 0}
.agenda-list-title{font-size:1.4rem;margin-bottom:1rem}

.home-market-grid,.community-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.community-card{display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);color:inherit}
.community-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.community-card>div{padding:1rem}.community-card h3{margin:.7rem 0 .4rem}.community-card p,.community-card small{color:var(--muted)}
.spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:center;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.spotlight-photo{min-width:0}.spotlight-photo img{display:block;width:100%;height:auto}
.spotlight-copy{min-width:0;padding:clamp(1.25rem,3vw,2rem)}.spotlight-copy h3{margin:0 0 .7rem;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.25}.spotlight-copy p{margin:0 0 1rem}.spotlight-location{color:var(--muted);font-size:.95rem}.spotlight-summary{line-height:1.65}
.weekend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.weekend-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.weekend-card>a>img{width:100%;max-height:250px;object-fit:contain;background:#050308;display:block}.weekend-card .ev{border:0;border-radius:0}
.compact-empty{padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.compact-empty p{color:var(--muted);margin-bottom:.5rem}
.consent-label{display:flex;align-items:flex-start;gap:.7rem}.consent-label input{width:20px;min-width:20px;margin-top:4px}
@media(max-width:900px){.home-market-grid,.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekend-grid{grid-template-columns:1fr}.spotlight{grid-template-columns:1fr}}
@media(max-width:420px){.community-grid{grid-template-columns:1fr}.home-market-grid .prod h3{font-size:1rem}.home-market-grid .prod{padding:.7rem}}

@media(max-width:600px){
 main>.sec{padding-top:1.5rem;padding-bottom:1.5rem}
 .hero-art .hero-in{padding-bottom:1.5rem}
 .sec-head{gap:.75rem;margin-bottom:1rem}
 .sec-head h2{font-size:1.65rem;line-height:1.2}
 .page-head{padding-top:1.75rem;padding-bottom:1.25rem}
 .social-section{gap:1rem}
 .spotlight{gap:0}
 .foot{padding-top:1.75rem;padding-bottom:1.75rem;gap:1.25rem}
 .listing-validity{margin-top:.75rem;font-size:.95rem}
}

.photo-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:.6rem;margin-top:.75rem}.photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.photo-previews figcaption{font-size:.875rem;color:var(--muted);margin-top:.3rem}
.listing-gallery{min-width:0}.listing-gallery .zoom{width:100%}.listing-gallery .zoom img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--card)}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:.65rem 0}.gallery-controls button{min-width:44px;min-height:44px;font-size:1.3rem}.gallery-thumbs{display:flex;gap:.5rem}.gallery-thumbs button{width:calc((100% - 2rem)/5);min-width:44px;background:var(--card);border:2px solid transparent;padding:3px;border-radius:10px;cursor:pointer}.gallery-thumbs button[aria-pressed=true]{border-color:var(--violet2)}.gallery-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;display:block}
.banner-stage{position:relative;max-width:1440px;margin:auto;isolation:isolate;--shine-x:50%;--shine-y:50%;overflow:hidden}.banner-stage .hero-banner{display:block}.banner-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 30% 70% at var(--shine-x) var(--shine-y),rgba(0,224,255,.18),rgba(143,43,255,.12) 35%,transparent 70%);opacity:0;transition:opacity .35s;mix-blend-mode:screen}.banner-stage.lit::after{opacity:1}.banner-stage::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,#902bff,#00d9ff,#902bff,transparent);background-size:200% 100%;animation:banner-line 6s ease-in-out infinite;box-shadow:0 0 16px rgba(0,217,255,.4);z-index:2;pointer-events:none}@keyframes banner-line{0%,100%{background-position:0% 50%;opacity:.5}50%{background-position:100% 50%;opacity:1}}@media(prefers-reduced-motion:reduce){.banner-stage::before{animation:none}.banner-stage::after{display:none}}

.promo-popup{width:min(410px,calc(100vw - 32px));max-width:none;aspect-ratio:1;max-height:calc(100dvh - 32px);padding:clamp(20px,5vw,32px);border:1px solid #9257dc;border-radius:24px;color:#fff;background:radial-gradient(ellipse at 100% 0%,rgba(143,43,255,.3),transparent 62%),#0d0816;box-shadow:0 24px 90px #0009,0 0 35px rgba(143,43,255,.18);overflow:auto}
.promo-popup::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.promo-close{position:absolute;right:10px;top:10px;width:44px;height:44px;display:grid;place-items:center;color:#fff;background:#ffffff0c;border:1px solid #ffffff26;border-radius:50%;font:400 1.7rem/1 var(--font);cursor:pointer}.promo-close:hover{background:#ffffff20}.promo-close:focus-visible{outline:3px solid #00d9ff;outline-offset:2px}
.promo-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(10px,2.7vw,16px);min-height:100%}
.promo-label{font-size:.875rem;color:#00d9ff;padding-right:40px}
.promo-content h2{font-size:clamp(2.8rem,12vw,4.2rem);line-height:.98;letter-spacing:-.04em}.promo-content h2 span{color:#bd7dff}
.promo-content p{font-size:1rem;line-height:1.45;margin:0;max-width:29ch;color:#e2d8f3}.promo-contact{min-height:44px;padding:.65rem 1.1rem;font-size:1rem}
.promo-brand{font-family:var(--display);font-size:.875rem;color:#c9b6e5;letter-spacing:.01em}
@media(max-width:360px){.promo-popup{padding:18px;border-radius:18px}.promo-content{gap:10px}.promo-content h2{font-size:2.8rem}.promo-label,.promo-brand{font-size:.875rem}}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.shop-product>img{width:100%;aspect-ratio:1;object-fit:contain;background:#100a18}.shop-product .pad{display:grid;gap:1rem}.shop-product h2{font-size:1.5rem}.shop-price{font-size:1.5rem;font-weight:700;color:var(--cyan,#48d6ea)}.shop-checkout{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:start}.shop-checkout .f{max-width:none}.shop-cart-row{display:flex;gap:1rem;margin-bottom:1rem}.shop-cart-row img{width:110px;height:110px;object-fit:contain}.shop-cart-row h2{font-size:1.25rem}.shop-cart-row input{width:75px}.shop-shipping{display:flex;gap:.7rem;margin:.6rem 0;align-items:center}.shop-shipping input{width:auto}.shop-admin-items{display:grid;gap:1rem}.shop-admin-product{display:flex;gap:1rem;align-items:center}.shop-admin-product img{width:85px;height:85px;object-fit:contain}@media(max-width:750px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-checkout{grid-template-columns:1fr}.shop-cart-row img{width:80px;height:80px}}@media(max-width:450px){.shop-grid{grid-template-columns:1fr}}

.turmas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-top:1.5rem}.turma-card{display:flex;gap:1rem;align-items:center;background:#100b1a;border:1px solid #302240;border-radius:20px;padding:1.25rem}.turma-card img{width:80px;height:80px;object-fit:contain;flex-shrink:0}.turma-card h3{font-size:1.15rem;overflow-wrap:anywhere}.turma-card p{margin:.4rem 0;overflow-wrap:anywhere}

#turma-pick{height:360px;border-radius:16px;border:1px solid var(--line);z-index:1}.map-logo{width:90px;height:90px;object-fit:contain}#detalhe{margin-top:1rem;padding:1.25rem}.censo[hidden]{display:none}@media(max-width:900px){#mapa{grid-row:1}}

.turma-map-marker{background:none;border:0}.turma-map-pin{display:flex;flex-direction:column;align-items:center;gap:4px;width:140px}.turma-map-pin img,.turma-map-fallback{width:48px;height:48px;box-sizing:border-box;border-radius:50%;object-fit:contain;background:#140d20;border:2px solid #fff;box-shadow:0 2px 8px #0008}.turma-map-fallback{display:grid;place-items:center;color:#fff;font:bold 16px Inter,sans-serif;background:var(--violet)}.turma-map-name{max-width:140px;padding:3px 7px;border-radius:6px;background:#140d20ed;color:#fff;font:700 14px/1.3 Inter,sans-serif;text-align:center;overflow-wrap:anywhere;box-shadow:0 2px 6px #0005}.turma-map-pin.selected img,.turma-map-pin.selected .turma-map-fallback{border:3px solid var(--violet);box-shadow:0 0 0 3px #fff}.turma-map-pin.selected .turma-map-name{background:var(--violet)}
.turma-map-dot{display:block;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--violet);box-shadow:0 1px 4px #0008}.censo>div{min-width:0}#map-status{min-height:2.5em;font-size:14px}

/* Faixa de publicidade da página inicial. */
.ad-carousel{max-width:1440px;margin:0 auto;padding:0;background:transparent;min-width:0;overflow:hidden;border:0}
.ad-viewport{overflow:hidden;touch-action:pan-y;position:relative}
.ad-track{display:flex;transition:transform .5s ease;will-change:transform}
.ad-slide{flex:0 0 100%;min-width:0;aspect-ratio:8/3;background:#08050d;display:flex;align-items:center;justify-content:center}
.ad-slide>a{width:100%;height:100%;display:block}.ad-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.ad-slide.ad-placeholder{padding:clamp(1.4rem,4vw,4rem);justify-content:space-between;gap:2rem;background:radial-gradient(ellipse at 95% 10%,#6720a955,transparent 60%),linear-gradient(120deg,#110a20,#08050d);position:relative}
.ad-placeholder h2{font-size:clamp(2.4rem,6vw,5.3rem);margin:.35rem 0;line-height:1.05;letter-spacing:-.04em}.ad-placeholder p{max-width:34rem;color:#c5b9d8;margin:.7rem 0 1rem}.ad-placeholder .btn{width:auto;height:auto;display:inline-flex}.ad-brand{font-weight:900;font-size:clamp(1.4rem,4vw,3.6rem);line-height:1.1;color:#c98bff;letter-spacing:-.04em}
@media(max-width:600px){.ad-slide.ad-placeholder{aspect-ratio:auto;min-height:250px}.ad-placeholder .eyebrow{font-size:.7rem}.ad-brand{display:none}.ad-placeholder p{font-size:.9rem}.ad-placeholder .btn{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.ad-track{transition:none}}
.ad-viewport{aspect-ratio:8/3}.ad-track{height:100%}.ad-slide{height:100%}
@media(max-width:600px){.ad-slide.ad-placeholder{aspect-ratio:8/3;min-height:0;padding:12px 18px}.ad-placeholder h2{font-size:clamp(1.7rem,8vw,2.4rem);margin:.25rem 0}.ad-placeholder p{display:none}.ad-placeholder .eyebrow{font-size:.6rem}.ad-placeholder .btn{font-size:.7rem;padding:.4rem .8rem;min-height:30px}}
.agenda-share-box{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;background:linear-gradient(120deg,#221030,#100b18);border:1px solid var(--line);border-radius:var(--r);margin:0 0 2rem}.agenda-share-box h2{font-size:1.5rem;margin:.4rem 0}.agenda-share-box p{color:var(--muted);max-width:40rem}.agenda-share-box>.btn{flex-shrink:0}.weekend-share-dialog{max-width:min(96vw,900px);max-height:90dvh;overflow:auto;padding:1.5rem}.weekend-share-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}.weekend-share-top h2{font-size:1.5rem}.weekend-picker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0}.weekend-share-preview{border-top:1px solid var(--line);padding:1.3rem 0}.weekend-share-preview h3{margin-bottom:1rem}.weekend-share-preview>img{display:block;width:min(100%,320px);height:auto;border-radius:14px;border:1px solid var(--line);margin:auto}.weekend-share-preview .cta{justify-content:center}.weekend-share-details a{display:block;padding:.6rem 0;font-size:.9rem}.weekend-share-details summary{cursor:pointer}.weekend-share-dialog #share-week-status{margin:1rem 0;color:#ddd0eb}.weekend-share-dialog .hint{margin:.8rem 0}@media(max-width:700px){.agenda-share-box{flex-direction:column;align-items:stretch}.weekend-share-dialog{padding:1rem}.weekend-share-top h2{font-size:1.2rem}}

.agenda-add-day{display:flex;align-items:end;gap:.8rem;margin:1rem 0}.agenda-add-day .fld{flex:1;margin:0}.agenda-day-options{border:1px solid var(--line);border-radius:12px;padding:1rem}.agenda-day-options legend{padding:0 .4rem}.agenda-day-option,.event-time-toggle{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:.95rem}.agenda-day-option input,.event-time-toggle input{width:auto;min-width:20px;height:20px;accent-color:var(--cyan,#50e2ed)}.event-time-toggle{margin-top:.5rem}.weekend-picker strong{overflow-wrap:anywhere;text-align:center}@media(max-width:450px){.agenda-add-day{align-items:stretch;flex-direction:column}}

/* Radio extends the existing portal cards and buttons. */
.radio-page{max-width:900px}.radio-player{margin-bottom:1.5rem;padding:clamp(1.25rem,4vw,2.5rem);border-color:#663b8e}.radio-player h2{font-size:clamp(1.5rem,4vw,2.5rem);overflow-wrap:anywhere}.radio-volume{display:flex;align-items:center;gap:.75rem;font-size:1rem}.radio-volume input{max-width:160px}.radio-consent{display:flex;align-items:flex-start;gap:.75rem;font-size:1rem}.radio-consent input{width:auto;flex:none;margin-top:.3rem}#radio-progress{width:100%;accent-color:#50e2ed}#radio-admin details{margin:1rem 0}#radio-admin summary{cursor:pointer;font-weight:700;font-size:1.1rem}.radio-list{display:grid;gap:1rem}.radio-list audio{display:block;width:100%;margin:1rem 0}.radio-list h2{overflow-wrap:anywhere}#radio-admin .toolbar{margin:1.5rem 0;flex-wrap:wrap}.radio-player .cta{flex-wrap:wrap}#radio-upload .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){#radio-admin .sectitle{align-items:flex-start;flex-direction:column}.radio-volume{width:100%}.radio-page .sectitle{flex-wrap:wrap;gap:1rem}}
.radio-dock{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:1100}.radio-dock button{border:1px solid #76518d;border-radius:999px;background:#1c102a;color:#fff;box-shadow:0 3px 14px #0006;padding:.55rem .85rem;font:700 .875rem var(--font);cursor:pointer;min-height:40px}.radio-dock button:hover{border-color:#50e2ed}.radio-dock button:focus-visible{outline:2px solid #50e2ed;outline-offset:3px}.radio-dock button:disabled{opacity:.6;cursor:default}.radio-framed .radio-dock{display:none}.radio-shell{overflow:hidden}.radio-shell body{overflow:hidden}.radio-shell body>:not(#radio-content-frame):not(#radio-dock):not(#radio-audio){display:none!important}#radio-content-frame{position:fixed;inset:0;width:100%;height:100%;height:100dvh;border:0;background:#050308;z-index:1000}

/* Rio Tour: photo cards within the established purple theme. */
.riotur-title{font-size:clamp(2rem,6vw,3.6rem);overflow-wrap:anywhere}
.riotur-categories{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.riotur-category>h3{font-size:1.35rem;margin-bottom:1rem}
.riotur-ranking{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.riotur-card{min-width:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.riotur-position{padding:.55rem .75rem;font-size:.95rem;border-bottom:1px solid var(--line);background:var(--card2)}
.riotur-position span{font-weight:800;color:#e7c86d}.rank-2 .riotur-position span{color:#d3d6e4}.rank-3 .riotur-position span{color:#dfa77b}
.riotur-winner{display:block;text-decoration:none;color:var(--text);height:calc(100% - 42px)}
.riotur-card img,.riotur-no-photo{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#08050d}
.riotur-no-photo{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.875rem}
.riotur-no-photo>span{font:800 clamp(2rem,5vw,3.5rem) var(--display);color:#64517c}
.riotur-card h4{font:700 1rem/1.3 var(--font);padding:.75rem .75rem .4rem;margin:0;overflow-wrap:anywhere}
.riotur-card p{color:var(--muted);font-size:.875rem;padding:0 .75rem;margin:0 0 .75rem}
.riotur-more{display:block;font-size:.875rem;color:var(--violet2);padding:0 .75rem .75rem}
.riotur-winner:hover h4{text-decoration:underline}.riotur-winner:hover{background:var(--card2)}
.riotur-info{padding-top:0}.riotur-info>h2{margin-bottom:1.25rem}.riotur-info>p{max-width:76ch}
.riotur-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.riotur-info .card{margin-bottom:1rem}.riotur-info h3{margin-bottom:1rem}
.riotur-prizes{border-collapse:collapse;width:100%;margin-bottom:.8rem}.riotur-prizes caption{text-align:left;color:var(--muted);margin-bottom:.5rem;font-size:.95rem}.riotur-prizes th,.riotur-prizes td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}
.riotur-sources{padding-top:1rem}.riotur-detail-head{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;margin:2rem 0}.riotur-detail-head p{margin-top:1rem}.riotur-detail-head img{width:100%;height:auto;max-height:550px;object-fit:contain;border-radius:var(--r)}
.riotur-detail .richtext{max-width:70ch;margin:2rem 0}.riotur-detail>.card{margin:2rem 0}.riotur-detail>.card h2{margin-bottom:1rem}.riotur-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.riotur-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:var(--card);border-radius:var(--r)}
.riotur-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem}.riotur-admin-grid summary{cursor:pointer;font-weight:700}.riotur-edit{margin-top:1rem}.riotur-admin-thumb{width:100px;height:100px;object-fit:contain;margin:.75rem 0}
@media(max-width:1180px){.bar:has(#menu a[href="/rio-tour"]){flex-wrap:wrap;padding-block:.5rem;gap:.25rem}#menu:has(a[href="/rio-tour"]){flex-wrap:wrap}.riotur-categories{grid-template-columns:1fr}.riotur-card img,.riotur-no-photo{max-height:280px}}
@media(max-width:860px){.bar:has(#menu a[href="/rio-tour"]){flex-wrap:nowrap}.riotur-admin-grid{grid-template-columns:1fr}.riotur-info-grid,.riotur-detail-head{grid-template-columns:1fr}}
@media(max-width:460px){.riotur-ranking{gap:.45rem}.riotur-position{padding:.5rem;font-size:.875rem}.riotur-card h4{padding:.6rem .5rem .35rem;font-size:.9rem}.riotur-card p,.riotur-more{padding-inline:.5rem}.riotur-gallery{grid-template-columns:1fr 1fr}}

/* Complete campaign artwork: preserve original proportions and readable text. */
.ad-slide .campaign-banner{display:block;width:100%;height:100%}.ad-slide .campaign-banner img{object-fit:contain;width:100%;height:100%}
.ad-slide .campaign-banner:focus-visible{outline-offset:-4px}
.riotur-more{display:inline-flex;align-items:center;justify-content:center;margin:.4rem .5rem .9rem;padding:.55rem .8rem;border:1px solid var(--violet2);border-radius:999px;background:var(--card2);color:var(--text);font-weight:700;line-height:1.2}.riotur-winner:hover .riotur-more,.riotur-winner:focus-visible .riotur-more{background:var(--violet);border-color:var(--violet)}
