/*
 * CSS — ÍNDICE DE SEÇÕES
 * ──────────────────────────────────────────────────────────────────────────
 * :root / reset           — variáveis, box-sizing, scrollbar
 * CURSOR                  — dot + ring de cursor customizado
 * BG                      — noise, grid, orbs animados
 * ANIMS                   — keyframes reutilizáveis
 * VIEWS                   — .view / .active / animações de troca
 * NOTIF                   — toast de notificação
 * LIGHTBOX                — overlay de imagem com zoom/pan
 * TOOLS                   — ícones de ferramentas (tool-ico, pc-tools…)
 * MODAL SYSTEM            — modal-bg, modal-box, inputs, botões
 * NAV                     — topbar morphing + hamburger + drawer mobile
 * HERO                    — seção inicial, stats, feat-card
 * GALLERY                 — proj-grid, pcard, masonry, filtros
 * PROJECT VIEWER          — pv-*, vb-* (blocos renderizados)
 * CURATED                 — cv-* (mini-portfólio por prospect)
 * LEADS                   — leads-table, lead-*, filtros
 * ADMIN                   — adm-*, tr-*, stat-cards
 * BLOCK EDITOR            — ed-*, bw-*, bp-* (canvas + sidebar)
 * PRESENTATION MODE       — pres-* (modo tela cheia)
 * ──────────────────────────────────────────────────────────────────────────
 */
:root{
  --g:#c8f135;--p:#b94dff;
  --bg:#050505;--bg2:#090909;--bg3:#0d0d0d;--bg4:#111;--bg5:#161616;
  --bd:rgba(255,255,255,.07);--bd2:rgba(255,255,255,.13);
  --mt:rgba(240,240,240,.45);--ms:rgba(240,240,240,.8);
  --fd:'DM Sans',sans-serif;--fs:'Instrument Serif',serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gd:rgba(200,241,53,.08);--gb:rgba(200,241,53,.15);
  --r:8px;--rl:14px;--rxl:20px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--fd);background:var(--bg);color:#f0f0f0;overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--fd);cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:var(--fd);color:#f0f0f0;outline:none;}
select option{background:#111;}
::-webkit-scrollbar{width:3px;height:3px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#222;border-radius:2px;}

/* CURSOR */
#cdot{position:fixed;width:6px;height:6px;background:var(--g);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);box-shadow:0 0 6px rgba(200,241,53,.5);}
#cring{position:fixed;width:32px;height:32px;border:1.5px solid rgba(200,241,53,.3);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s;}
#cring.big{width:52px;height:52px;border-color:var(--g);}
@media(hover:none){#cdot,#cring{display:none;}body{cursor:auto;}}

/* BG */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");opacity:.5;}
.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;}
.bg-grid::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);}
.bg-orb-1{position:fixed;width:700px;height:700px;background:radial-gradient(circle,rgba(200,241,53,.05) 0%,transparent 65%);top:-200px;left:-150px;pointer-events:none;z-index:0;animation:orb1 22s ease-in-out infinite;}
.bg-orb-2{position:fixed;width:560px;height:560px;background:radial-gradient(circle,rgba(185,77,255,.04) 0%,transparent 65%);bottom:-150px;right:-100px;pointer-events:none;z-index:0;animation:orb2 28s ease-in-out infinite;}
@keyframes orb1{0%,100%{transform:translate(0,0);}50%{transform:translate(60px,80px);}}
@keyframes orb2{0%,100%{transform:translate(0,0);}50%{transform:translate(-50px,-60px);}}

/* ANIMS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes hb{0%,100%{transform:scale(1);}50%{transform:scale(1.4);}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,241,53,.4);}60%{box-shadow:0 0 0 6px rgba(200,241,53,0);}}
@keyframes sb{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* VIEWS */
.view{display:none;animation:fadeUp .35s var(--ease) both;}
.view.active{display:block;}
#view-edit.active{animation:none;}

/* NOTIF */
#notif{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:11px 22px;border-radius:var(--r);font-size:13px;font-weight:600;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s;white-space:nowrap;}
#notif.show{opacity:1;}
#notif.s{background:var(--g);color:#000;}
#notif.e{background:#ff4f4f;color:#fff;}

/* LIGHTBOX */
#lightbox{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:8000;display:none;align-items:center;justify-content:center;overflow:hidden;}
#lightbox.open{display:flex;animation:fadeIn .2s ease;}
#lightbox img{max-width:90vw;max-height:88vh;border-radius:10px;object-fit:contain;transform-origin:center;transition:transform .12s;cursor:zoom-in;-webkit-user-drag:none;user-select:none;}
#lightbox img.lbz{cursor:grab;}
#lightbox img.grabbing{cursor:grabbing!important;transition:none;}
#lb-close,#lb-prev,#lb-next{position:fixed;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;}
#lb-close{top:20px;right:20px;width:42px;height:42px;}
#lb-prev,#lb-next{top:50%;transform:translateY(-50%);width:46px;height:46px;}
#lb-prev{left:20px;}#lb-next{right:20px;}
#lb-close:hover,#lb-prev:hover,#lb-next:hover{background:rgba(255,255,255,.15);}
#lb-cap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);color:var(--mt);font-size:11px;}
#lb-zoom{position:fixed;bottom:16px;right:20px;display:flex;gap:6px;}
#lb-zoom button{width:34px;height:34px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:300;transition:background .2s;line-height:1;}
#lb-zoom button:hover{background:rgba(255,255,255,.2);}
/* Tool icons */
.tool-ico{object-fit:contain;border-radius:5px;display:block;flex-shrink:0;-webkit-user-drag:none;}
.pc-tools{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;align-items:center;}
.feat-tools{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 22px;align-items:center;}
.pv-tools{margin:20px 0 28px;}
.pv-tools-lbl{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin-bottom:10px;}
.pv-tool-badges{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;}
.pv-tool-item{display:flex;flex-direction:column;align-items:center;gap:4px;}
.pv-tool-lbl{font-size:9px;font-weight:500;color:var(--mt);text-align:center;max-width:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Tool selector sidebar */
.tool-sel{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;}
.tool-sel-btn{padding:8px 4px;border-radius:7px;border:2px solid var(--bd);background:rgba(255,255,255,.03);cursor:pointer;transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--fd);}
.tool-sel-btn:hover{border-color:var(--bd2);}
.tool-sel-btn.on{background:rgba(255,255,255,.06);}
.tool-sel-btn .t-lbl{font-size:8.5px;color:var(--mt);line-height:1.2;text-align:center;transition:color .18s;}

/* MODAL SYSTEM */
#modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:7000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:20px;}
#modal-bg.open{display:flex;animation:fadeIn .2s ease;}
.modal-box{background:var(--bg4);border:1px solid var(--bd2);border-radius:var(--rxl);width:460px;max-width:100%;max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;}
.modal-box.wide{width:680px;}
.modal-head{padding:28px 28px 0;position:relative;}
.modal-close{position:absolute;top:20px;right:20px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;color:var(--mt);transition:all .2s;}
.modal-close:hover{color:#f0f0f0;background:rgba(255,255,255,.1);}
.modal-title{font-size:18px;font-weight:800;letter-spacing:-.5px;margin-bottom:5px;}
.modal-sub{font-size:13px;color:var(--mt);font-weight:300;margin-bottom:0;}
.modal-body{padding:24px 28px;}
.modal-foot{padding:0 28px 28px;display:flex;gap:10px;justify-content:flex-end;}
.inp{width:100%;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:12px 16px;color:#f0f0f0;font-size:14px;transition:border-color .2s;}
.inp:focus{border-color:rgba(200,241,53,.4);}
.inp::placeholder{color:rgba(255,255,255,.18);}
textarea.inp{resize:vertical;line-height:1.6;font-weight:300;min-height:100px;}
.inp-label{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin-bottom:8px;display:block;}
.fgrp{margin-bottom:18px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.seg{display:flex;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;}
.seg-btn{flex:1;padding:9px;font-size:12px;font-weight:600;color:var(--mt);border:none;background:transparent;transition:all .2s;}
.seg-btn.on{background:var(--g);color:#000;}
.btn-g{background:var(--g);color:#000;border-radius:var(--r);padding:11px 22px;font-weight:700;font-size:13px;border:none;transition:opacity .2s,transform .15s;}
.btn-g:hover{opacity:.88;transform:translateY(-1px);}
.btn-gh{background:rgba(255,255,255,.05);border:1px solid var(--bd);color:var(--ms);border-radius:var(--r);padding:11px 22px;font-weight:600;font-size:13px;transition:all .2s;}
.btn-gh:hover{background:rgba(255,255,255,.09);border-color:var(--bd2);}


/* Rich text editor */
.rte-wrap{border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;background:var(--bg2);}
.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:7px 10px;border-bottom:1px solid var(--bd);background:var(--bg3);align-items:center;}
.rte-btn{width:28px;height:28px;border-radius:5px;background:transparent;border:none;color:var(--mt);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-weight:700;transition:all .15s;}
.rte-btn:hover{background:rgba(255,255,255,.1);color:#f0f0f0;}
.rte-btn.on{background:var(--gd);color:var(--g);}
.rte-sep{width:1px;height:18px;background:var(--bd);margin:0 3px;flex-shrink:0;}
.rte-font-sel{background:var(--bg2);border:1px solid var(--bd);border-radius:5px;color:#f0f0f0;font-size:11px;padding:4px 8px;height:28px;cursor:pointer;}
.rte-size-sel{background:var(--bg2);border:1px solid var(--bd);border-radius:5px;color:#f0f0f0;font-size:11px;padding:4px 6px;height:28px;width:54px;cursor:pointer;}
.rte-body{min-height:130px;padding:14px 16px;color:#f0f0f0;font-size:14px;line-height:1.7;outline:none;caret-color:var(--g);}
.rte-body:empty::before{content:attr(data-placeholder);color:rgba(255,255,255,.2);pointer-events:none;}
.rte-body b,.rte-body strong{font-weight:700;}
.rte-body i,.rte-body em{font-style:italic;}
.rte-body u{text-decoration:underline;}
.rte-body [style*="text-align:center"]{text-align:center;}
.rte-body [style*="text-align:right"]{text-align:right;}
.rte-body p{margin:0 0 6px 0;}
.rte-body p:last-child{margin-bottom:0;}

/* UZ */
.uz{border:2px dashed var(--bd);border-radius:var(--r);padding:28px;text-align:center;cursor:pointer;transition:all .25s;background:var(--bg2);position:relative;}
.uz:hover,.uz.drag{border-color:rgba(200,241,53,.4);background:rgba(200,241,53,.02);}
.uz input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.uz-icon{display:flex;justify-content:center;margin-bottom:10px;opacity:.35;}
.uz p{font-size:13px;color:var(--mt);}
.uz span{color:var(--g);font-weight:600;}
.up-prog{display:none;align-items:center;gap:10px;padding:10px 14px;background:var(--gd);border:1px solid var(--gb);border-radius:var(--r);font-size:12px;color:var(--g);font-weight:600;margin-top:10px;}
.up-prog.show{display:flex;}
.spin{width:14px;height:14px;border:2px solid rgba(200,241,53,.3);border-top-color:var(--g);border-radius:50%;animation:spin .7s linear infinite;}
.img-prev{margin-top:10px;border-radius:var(--r);overflow:hidden;border:1px solid var(--bd);aspect-ratio:16/9;background:var(--bg5);display:none;}
.img-prev.show{display:block;}
.img-prev img{width:100%;height:100%;object-fit:cover;}
.or-div{display:flex;align-items:center;gap:10px;margin:12px 0;}
.or-div::before,.or-div::after{content:'';flex:1;height:1px;background:var(--bd);}
.or-div span{font-size:10px;color:var(--mt);font-weight:600;letter-spacing:.5px;}

/* Grid image slots */
.grid-slots{display:grid;gap:8px;margin-top:10px;}
.grid-slot{position:relative;}
.grid-slot-img{width:100%;height:auto;border-radius:6px;display:none;}
.grid-slot-img.show{display:block;}
.grid-slot-ph{width:100%;min-height:70px;aspect-ratio:4/3;background:var(--bg3);border:1px dashed var(--bd);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--mt);cursor:pointer;position:relative;}
.grid-slot-ph input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.grid-slot-rm{position:absolute;top:4px;right:4px;width:20px;height:20px;background:rgba(0,0,0,.8);border:none;color:#fff;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;}
.grid-slot-url{font-size:11px;margin-top:4px;}

/* NAV morphing pill */
nav{position:fixed;top:0;left:0;right:0;z-index:500;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px);background:linear-gradient(180deg,rgba(12,12,12,.72) 0%,rgba(5,5,5,.58) 100%);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 0 0 rgba(255,255,255,.04),inset 0 1px 0 0 rgba(255,255,255,.07);transition:all .45s var(--ease);}
nav.scrolled{top:10px;left:50%;right:auto;transform:translateX(-50%);width:min(720px,calc(100% - 32px));border-radius:16px;border:1px solid rgba(255,255,255,.09);padding:0 22px;height:52px;background:linear-gradient(180deg,rgba(18,18,18,.78) 0%,rgba(8,8,8,.68) 100%);backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);box-shadow:0 8px 32px rgba(0,0,0,.4),0 1px 0 0 rgba(255,255,255,.05),inset 0 1px 0 0 rgba(255,255,255,.09);}
.nav-logo{display:flex;align-items:center;cursor:pointer;text-decoration:none;}
.nav-logo img{height:24px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:2px;}

/* ── Hamburger button ── */
#nav-ham{display:none;width:36px;height:36px;border-radius:var(--r);border:1px solid var(--bd);background:rgba(255,255,255,.04);color:#f0f0f0;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
#nav-ham:hover{background:rgba(255,255,255,.09);border-color:var(--bd2);}
#nav-ham svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none;}

/* ── Mobile drawer ── */
#nav-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:490;flex-direction:column;}
#nav-drawer.open{display:flex;}
#nav-drawer-bg{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);}
#nav-drawer-panel{position:relative;z-index:1;margin:0;padding:80px 28px 36px;background:var(--bg3);border-bottom:1px solid var(--bd2);display:flex;flex-direction:column;gap:6px;animation:slideDown .25s var(--ease) both;}
@keyframes slideDown{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:none;}}
.nd-link{width:100%;text-align:left;padding:13px 16px;border-radius:var(--r);border:1px solid transparent;background:transparent;color:var(--ms);font-size:15px;font-weight:500;font-family:var(--fd);cursor:pointer;transition:all .2s;}
.nd-link:hover,.nd-link.on{background:rgba(255,255,255,.05);border-color:var(--bd);color:#f0f0f0;}
.nd-link.on{color:var(--g);}
.nd-sep{height:1px;background:var(--bd);margin:6px 0;}
.nd-wa{width:100%;padding:13px 16px;border-radius:var(--r);background:#25D366;border:none;color:#fff;font-size:15px;font-weight:700;font-family:var(--fd);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;}
.nd-wa svg{width:18px;height:18px;fill:#fff;flex-shrink:0;}

@media(max-width:640px){
  .nav-links{display:none;}
  #nav-ham{display:flex;}
  /* Esconder btn-wa e btn-adm na topbar — ficam no drawer */
  #btn-wa{display:none!important;}
  #btn-adm{padding:7px 12px;font-size:11px;}
}
.nl{color:var(--mt);font-size:12px;font-weight:500;padding:7px 13px;border-radius:var(--r);border:1px solid transparent;transition:all .2s;}
.nl:hover{color:#f0f0f0;border-color:var(--bd);background:rgba(255,255,255,.04);}
.nl.on{color:var(--g);}
.nav-r{display:flex;align-items:center;gap:6px;}
/* Voltar — ghost sem borda, mínimo */
#btn-back{background:transparent;border:none;color:rgba(240,240,240,.45);border-radius:var(--r);padding:7px 12px;font-size:12px;font-weight:500;display:none;align-items:center;gap:5px;transition:all .2s;}
#btn-back:hover{color:#f0f0f0;background:rgba(255,255,255,.06);}
#btn-back svg{width:13px;height:13px;}
/* Admin — fantasma bem discreto */
#btn-adm{background:transparent;border:1px solid rgba(255,255,255,.1);color:rgba(240,240,240,.38);border-radius:var(--r);padding:6px 13px;font-size:11px;font-weight:600;letter-spacing:.02em;transition:all .2s;}
#btn-adm:hover{border-color:var(--bd2);color:rgba(240,240,240,.75);background:rgba(255,255,255,.04);}
#btn-adm.on{background:var(--gd);border-color:var(--gb);color:var(--g);}
/* WA float — pill com texto, igual ao site principal */
#wa-float{position:fixed;bottom:28px;right:28px;z-index:600;background:#25D366;border-radius:50px;display:flex;align-items:center;gap:12px;padding:12px 20px 12px 14px;box-shadow:0 4px 24px rgba(37,211,102,.35);transition:transform .2s var(--ease),box-shadow .2s;cursor:pointer;border:none;white-space:nowrap;}
#wa-float:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(37,211,102,.5);}
#wa-float svg{width:24px;height:24px;fill:#fff;flex-shrink:0;}
.waf-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;}
.waf-title{font-family:var(--fd);font-size:13px;font-weight:700;color:#fff;line-height:1;}
.waf-sub{font-family:var(--fd);font-size:10px;font-weight:400;color:rgba(255,255,255,.8);line-height:1;}
.waf-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#fff;border-radius:50%;animation:waf-blink 2s ease-in-out infinite;}
@keyframes waf-blink{0%,100%{opacity:1;}50%{opacity:.3;}}
@media(max-width:640px){
  .waf-text{display:none;}
  #wa-float{width:52px;height:52px;padding:0;border-radius:50%;bottom:20px;right:16px;justify-content:center;align-items:center;}
  #wa-float svg{width:22px;height:22px;}
  .waf-dot{top:6px;right:6px;width:7px;height:7px;}
}
/* WA nav — lime verde, CTA primário */
#btn-wa{background:var(--g);border:1px solid var(--g);color:#050505;border-radius:var(--r);padding:8px 16px;font-size:12px;font-weight:700;transition:all .2s;display:flex;align-items:center;gap:7px;white-space:nowrap;}
#btn-wa:hover{background:#d4ff47;border-color:#d4ff47;transform:translateY(-1px);}
#btn-wa svg{width:13px;height:13px;fill:#050505;flex-shrink:0;}
/* WA CTA projeto — editorial, dois-colunas */
.wa-cta-block{margin-top:80px;padding:56px 52px;background:rgba(255,255,255,.02);border:1px solid var(--bd2);border-radius:var(--rxl);position:relative;overflow:hidden;}
.wa-cta-block::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 120% at 0% 50%,rgba(200,241,53,.06) 0%,transparent 60%);pointer-events:none;}
.wa-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;}
.wa-cta-copy{flex:1;}
.wa-cta-eyebrow{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--g);margin-bottom:14px;}
.wa-cta-h{font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:-2px;line-height:.97;margin-bottom:12px;}
.wa-cta-sub{color:var(--mt);font-size:14px;line-height:1.6;}
.wa-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;background:var(--g);color:#050505;border:none;border-radius:var(--r);padding:16px 30px;font-size:14px;font-weight:800;cursor:pointer;transition:all .2s;font-family:var(--fd);}
.wa-cta-btn:hover{background:#d4ff47;transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,241,53,.25);}
.wa-cta-btn svg{width:18px;height:18px;fill:#050505;flex-shrink:0;}
@media(max-width:720px){.wa-cta-inner{flex-direction:column;}.wa-cta-block{padding:40px 28px;}.wa-cta-btn{width:100%;justify-content:center;}}
/* Portal CTA */
.portal-block{margin-top:24px;padding:48px 52px;border:1px solid var(--bd2);border-radius:var(--rxl);position:relative;overflow:hidden;}
.portal-block.is-client{background:rgba(185,77,255,.04);border-color:rgba(185,77,255,.2);}
.portal-block.not-client{background:rgba(255,255,255,.02);}
.portal-block::before{content:'';position:absolute;inset:0;pointer-events:none;}
.portal-block.is-client::before{background:radial-gradient(ellipse 60% 100% at 100% 50%,rgba(185,77,255,.07) 0%,transparent 60%);}
.portal-block.not-client::before{background:radial-gradient(ellipse 70% 120% at 100% 50%,rgba(185,77,255,.05) 0%,transparent 60%);}
.portal-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.portal-copy{flex:1;}
.portal-eyebrow{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--p);margin-bottom:14px;}
.portal-h{font-size:clamp(22px,3vw,36px);font-weight:900;letter-spacing:-1.5px;line-height:1.05;margin-bottom:10px;}
.portal-sub{color:var(--mt);font-size:14px;line-height:1.6;}
.portal-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;align-items:flex-end;}
.portal-btn-main{display:inline-flex;align-items:center;gap:10px;background:var(--p);color:#fff;border:none;border-radius:var(--r);padding:14px 28px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--fd);white-space:nowrap;}
.portal-btn-main:hover{background:#c966ff;transform:translateY(-2px);box-shadow:0 10px 28px rgba(185,77,255,.3);}
.portal-btn-ghost{background:transparent;border:1px solid var(--bd);color:var(--mt);border-radius:var(--r);padding:10px 20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--fd);white-space:nowrap;}
.portal-btn-ghost:hover{border-color:rgba(185,77,255,.4);color:var(--p);}
@media(max-width:720px){.portal-inner{flex-direction:column;}.portal-block{padding:36px 24px;}.portal-actions{width:100%;align-items:stretch;}.portal-btn-main,.portal-btn-ghost{justify-content:center;}}
/* ── CURATED VIEW ── */
#view-curated{position:relative;z-index:1;min-height:100dvh;}
.cv-wrap{max-width:1000px;margin:0 auto;padding:0 32px 120px;}
.cv-hero{min-height:56vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 64px;}
.cv-eyebrow{font-size:9px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--g);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.cv-eyebrow::before{content:'';width:20px;height:1.5px;background:var(--g);display:block;}
.cv-company{font-size:clamp(48px,8vw,100px);font-weight:900;letter-spacing:-4px;line-height:.92;margin-bottom:20px;}
.cv-name{font-size:17px;font-weight:300;color:var(--mt);margin-bottom:36px;}
.cv-msg{font-size:17px;font-style:italic;color:rgba(240,240,240,.75);line-height:1.75;border-left:2.5px solid var(--g);padding-left:22px;max-width:580px;font-family:var(--fs);}
.cv-feat{margin:16px 0 60px;border-radius:var(--rxl);overflow:hidden;cursor:pointer;position:relative;display:block;}
.cv-feat-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.cv-feat:hover .cv-feat-img{transform:scale(1.03);}
.cv-feat-info{position:absolute;bottom:0;left:0;right:0;padding:32px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 100%);}
.cv-feat-lbl{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g);margin-bottom:8px;}
.cv-feat-title{font-size:clamp(20px,3vw,32px);font-weight:900;letter-spacing:-1px;color:#fff;}
.cv-section-lbl{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--mt);margin:0 0 24px;display:flex;align-items:center;gap:12px;}
.cv-section-lbl::before{content:'';width:20px;height:1.5px;background:var(--g);display:block;}
.cv-expiry{text-align:center;margin-top:80px;font-size:11px;color:rgba(255,255,255,.2);letter-spacing:.5px;}
.cv-err{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;gap:12px;padding:40px;}
.cv-err-icon{font-size:52px;margin-bottom:8px;}
.cv-err-title{font-size:28px;font-weight:900;letter-spacing:-1px;}
.cv-err-sub{font-size:15px;color:var(--mt);}
/* ── CURATED ADMIN ── */
.cl-hd{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin:40px 0 16px;display:flex;align-items:center;justify-content:space-between;}
.cl-table{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;}
.cl-th,.cl-tr{display:grid;grid-template-columns:2fr 60px 90px 90px 100px 130px;padding:11px 20px;align-items:center;gap:8px;}
.cl-th{border-bottom:1px solid var(--bd);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);}
.cl-tr{border-bottom:1px solid var(--bd);transition:background .15s;}
.cl-tr:last-child{border-bottom:none;}
.cl-tr:hover{background:rgba(255,255,255,.02);}
.cl-badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:4px;display:inline-block;}
.cl-badge.active{background:var(--gd);color:var(--g);}
.cl-badge.expired{background:rgba(255,195,75,.1);color:rgba(255,195,75,1);}
.cl-badge.revoked{background:rgba(255,80,80,.08);color:#ff5050;}
.cl-acts{display:flex;gap:4px;}
/* ── CURATED MODAL ── */
.cl-proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;max-height:220px;overflow-y:auto;padding-right:4px;}
.cl-proj-btn{padding:9px 10px;border-radius:var(--r);border:1.5px solid var(--bd);background:var(--bg2);cursor:pointer;font-family:var(--fd);transition:all .15s;text-align:left;}
.cl-proj-btn:hover{border-color:var(--bd2);}
.cl-proj-btn.on{border-color:var(--g);background:var(--gd);}
.cl-proj-btn .cpt{font-size:11px;font-weight:700;color:#f0f0f0;line-height:1.2;display:block;}
.cl-proj-btn .cpc{font-size:9px;color:var(--mt);margin-top:2px;display:block;}
.cl-proj-btn.on .cpt{color:var(--g);}
@media(max-width:640px){.cv-wrap{padding:0 20px 80px;}.cv-hero{padding:100px 0 48px;}.cv-company{letter-spacing:-2px;}.cl-proj-grid{grid-template-columns:repeat(2,1fr);}}
/* WA analytics */
.wa-section-hd{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin:36px 0 16px;display:flex;align-items:center;gap:8px;}
.wa-table{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;}
.wa-th{display:grid;grid-template-columns:2fr 90px 130px;padding:11px 22px;border-bottom:1px solid var(--bd);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);}
.wa-tr{display:grid;grid-template-columns:2fr 90px 130px;padding:14px 22px;border-bottom:1px solid var(--bd);align-items:center;}
.wa-tr:last-child{border-bottom:none;}
.wa-n{font-size:14px;font-weight:800;color:#25D366;}
.wa-ago{font-size:11px;color:var(--mt);}

/* ══ HERO ══ */
#sec-hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 48px 120px;overflow:hidden;text-align:center;z-index:1;}
.ho{position:absolute;border-radius:50%;pointer-events:none;}
.ho1{width:700px;height:700px;background:radial-gradient(circle,rgba(200,241,53,.07) 0%,transparent 65%);top:-15%;left:-10%;animation:orb1 18s ease-in-out infinite;}
.ho2{width:560px;height:560px;background:radial-gradient(circle,rgba(185,77,255,.05) 0%,transparent 65%);bottom:-8%;right:-8%;animation:orb2 24s ease-in-out infinite;}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);}
.hero-c{position:relative;z-index:2;max-width:860px;}
.hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--g);margin-bottom:40px;opacity:0;animation:fadeUp .7s .1s var(--ease) forwards;}
.hbd{width:5px;height:5px;background:var(--g);border-radius:50%;animation:pulse 2.2s ease-in-out infinite;}
.hero-t{font-size:clamp(60px,9vw,128px);font-weight:900;letter-spacing:-4px;line-height:.94;margin-bottom:52px;}
.hero-t .row{display:block;opacity:0;transform:translateY(28px);animation:fadeUp .85s var(--ease) forwards;}
.hero-t .row:nth-child(1){animation-delay:.18s;}
.hero-t .row:nth-child(2){animation-delay:.32s;}
.hero-t .serif{font-family:var(--fs);font-style:italic;font-weight:400;color:var(--g);letter-spacing:-2px;}
.hero-ctas{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .9s .52s var(--ease) forwards;}
.bt-g{background:var(--g);color:#050505;border-radius:var(--r);padding:13px 26px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;transition:opacity .2s,transform .2s var(--ease);}
.bt-g:hover{opacity:.88;transform:translateY(-2px);}
.bt-gh{background:rgba(255,255,255,.04);border:1px solid var(--bd2);color:var(--ms);border-radius:var(--r);padding:13px 26px;font-weight:600;font-size:13px;transition:all .2s;}
.bt-gh:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-2px);}
.hero-stats{display:flex;margin-top:72px;opacity:0;animation:fadeUp .9s .7s var(--ease) forwards;border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;background:rgba(255,255,255,.02);backdrop-filter:blur(10px);}
.hs{padding:18px 28px;text-align:center;flex:1;border-right:1px solid var(--bd);}
.hs:last-child{border-right:none;}
.hs-n{font-size:26px;font-weight:900;letter-spacing:-1px;color:#f0f0f0;}
.hs-n .acc{color:var(--g);}
.hs-l{font-size:10px;font-weight:500;color:var(--mt);letter-spacing:.5px;margin-top:4px;}
.scroll-ind{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(240,240,240,.2);font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;opacity:0;animation:fadeUp .6s .95s ease both;}
.scroll-ind svg{animation:sb 1.8s ease infinite;}

/* ══ ABOUT ══ */
#sec-about{padding:120px clamp(24px,6vw,80px);max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.about-in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.sl{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--g);margin-bottom:20px;}
.sl::before{content:'';width:20px;height:1.5px;background:var(--g);}
.sh2{font-size:clamp(30px,4vw,54px);font-weight:800;letter-spacing:-2px;line-height:1.04;margin-bottom:24px;}
.sh2 .serif{font-family:var(--fs);font-style:italic;font-weight:400;color:var(--g);letter-spacing:0;}
.about-desc{font-size:15px;color:var(--mt);line-height:1.8;font-weight:300;margin-bottom:32px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:100px;padding:7px 16px;font-size:12px;font-weight:500;color:rgba(240,240,240,.55);transition:all .2s;}
.chip:hover{background:var(--gd);border-color:var(--gb);color:var(--g);}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ast{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rxl);padding:28px 24px;}
.ast:first-child{grid-column:1/-1;}
.ast-n{font-size:clamp(44px,6vw,72px);font-weight:900;letter-spacing:-3px;color:var(--g);line-height:1;}
.ast-l{font-size:13px;font-weight:300;color:var(--mt);margin-top:8px;line-height:1.5;}

/* ══ GALLERY ══ */
#sec-gallery{padding:60px clamp(24px,6vw,80px) 120px;max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.gal-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;gap:20px;flex-wrap:wrap;}
.gal-h{font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-2px;}
.gal-h .serif{font-family:var(--fs);font-style:italic;font-weight:400;color:var(--g);letter-spacing:0;}
.lt{display:flex;gap:4px;background:var(--bg4);border:1px solid var(--bd);border-radius:var(--r);padding:4px;}
.lt-b{background:none;border:none;color:var(--mt);border-radius:6px;padding:7px 10px;display:flex;align-items:center;transition:all .2s;}
.lt-b.on{background:var(--gd);color:var(--g);}
.filters{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
.cat-pills{display:flex;gap:6px;flex-wrap:wrap;flex:1;}
.cp{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:var(--mt);border-radius:var(--r);padding:7px 18px;font-size:12px;font-weight:600;transition:all .2s;}
.cp:hover{border-color:rgba(200,241,53,.3);color:#f0f0f0;}
.cp.on{background:var(--g);border-color:var(--g);color:#000;}
.srt{background:var(--bg4);border:1px solid var(--bd);color:var(--mt);border-radius:var(--r);padding:8px 14px;font-size:12px;}
.gi{color:var(--mt);font-size:11px;font-weight:500;margin-bottom:20px;}
.feat-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--bd);border-top:2px solid var(--g);border-radius:var(--rxl);overflow:hidden;cursor:pointer;margin-bottom:32px;background:var(--bg4);transition:border-color .3s,transform .3s,box-shadow .3s;}
.feat-card:hover{border-color:var(--gb);border-top-color:var(--g);transform:translateY(-4px);box-shadow:0 24px 64px rgba(0,0,0,.45);}
.fi{padding:48px 44px;display:flex;flex-direction:column;justify-content:space-between;}
.fc{position:relative;min-height:280px;overflow:hidden;}
.fc-blend{position:absolute;left:0;top:0;bottom:0;width:120px;background:linear-gradient(to right,var(--bg4),transparent);z-index:1;pointer-events:none;}
.fc img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.feat-card:hover .fc img{transform:scale(1.06);}
.fc .ph{width:100%;height:100%;min-height:280px;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:900;letter-spacing:-3px;color:rgba(255,255,255,.04);}
.fi-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g);background:var(--gd);border:1px solid var(--gb);padding:5px 11px;border-radius:4px;margin-bottom:14px;width:fit-content;}
.fi-badge svg{width:9px;height:9px;fill:var(--g);stroke:none;}
.fi-cat{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin-bottom:10px;}
.fi-title{font-size:clamp(22px,2.8vw,36px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin-bottom:16px;}
.fi-desc{font-size:13px;color:var(--mt);line-height:1.7;font-weight:300;}
.fi-divider{height:1px;background:var(--bd);margin:24px 0;}
.fi-meta{display:flex;gap:28px;margin-bottom:18px;}
.fi-mi{font-size:11px;color:var(--mt);}
.fi-mi strong{color:#f0f0f0;display:block;font-size:15px;font-weight:700;margin-bottom:2px;}
.fi-tags-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px;}
.fi-tag{font-size:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--mt);border-radius:4px;padding:3px 8px;}
.fi-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#050505;border:none;border-radius:var(--r);padding:13px 22px;font-size:13px;font-weight:800;cursor:pointer;font-family:var(--fd);transition:all .2s;width:fit-content;}
.fi-cta-btn:hover{background:#d4ff47;transform:translateY(-1px);}
.fi-cta-btn svg{width:13px;height:13px;}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px;}
.proj-masonry{columns:3 280px;gap:2px;}
.proj-masonry .pcard{break-inside:avoid;margin-bottom:2px;}
.pcard{position:relative;overflow:hidden;cursor:pointer;background:var(--bg4);}
.pc-cov{position:relative;aspect-ratio:4/3;overflow:hidden;}
.proj-masonry .pcard:nth-child(3n+2) .pc-cov{aspect-ratio:3/4;}
.proj-masonry .pcard:nth-child(5n) .pc-cov{aspect-ratio:16/9;}
.pc-cov img,.pc-cov .ph{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.ph{display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:900;letter-spacing:-2px;color:rgba(255,255,255,.05);}
.pcard:hover .pc-cov img,.pcard:hover .pc-cov .ph{transform:scale(1.06);}
.pc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.4) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity .35s;}
.pcard:hover .pc-ov{opacity:1;}
.ov-cat{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g);margin-bottom:6px;}
.ov-title{font-size:16px;font-weight:800;letter-spacing:-.4px;line-height:1.2;color:#fff;}
.ov-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:700;color:var(--g);}
.ov-cta svg{width:11px;height:11px;transition:transform .2s;}
.pcard:hover .ov-cta svg{transform:translateX(4px);}
.pc-info{padding:14px 16px;background:var(--bg4);border-top:1px solid var(--bd);}
.pc-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.pc-cat{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--g);}
.pc-yr{font-size:11px;color:var(--mt);}
.pc-title{font-size:14px;font-weight:700;letter-spacing:-.3px;margin-bottom:10px;}
.pc-foot{display:flex;align-items:center;justify-content:space-between;}
.vc{font-size:11px;color:var(--mt);display:flex;align-items:center;gap:5px;}
.vc svg{width:11px;height:11px;}
.lbtn{background:transparent;border:1px solid var(--bd);color:var(--mt);border-radius:100px;padding:4px 11px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:5px;transition:all .2s;}
.lbtn:hover{border-color:var(--gb);color:var(--g);}
.lbtn.liked{background:var(--gd);border-color:var(--gb);color:var(--g);}
.lbtn svg{width:11px;height:11px;}
.lbtn.liked svg{fill:var(--g);}
.like-icon.beat{animation:hb .3s ease;}
.bf{position:absolute;top:12px;left:12px;background:var(--gd);border:1px solid var(--gb);color:var(--g);font-size:9px;font-weight:700;letter-spacing:1px;padding:4px 9px;border-radius:4px;display:flex;align-items:center;gap:5px;}
.bf svg{width:9px;height:9px;fill:var(--g);stroke:none;}
.empty-msg{text-align:center;padding:80px 20px;color:var(--mt);}

/* ══ PROJECT VIEWER ══ */
#view-project{padding:0;position:relative;z-index:1;}
.pv-wrap{max-width:1000px;margin:0 auto;padding:100px 32px 120px;}
.back-btn{background:rgba(255,255,255,.04);border:1px solid var(--bd);color:var(--mt);border-radius:var(--r);padding:9px 18px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px;margin-bottom:48px;transition:all .2s;}
.back-btn:hover{color:#f0f0f0;border-color:var(--bd2);}
.back-btn svg{width:14px;height:14px;}
.pv-header{margin-bottom:32px;}
.pv-cat{display:inline-flex;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--g);background:var(--gd);border:1px solid var(--gb);padding:5px 12px;border-radius:4px;margin-bottom:18px;}
.pv-title{font-size:clamp(36px,6vw,72px);font-weight:900;letter-spacing:-3px;line-height:.96;}
.pv-meta{display:flex;border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;margin:28px 0;background:var(--bg4);}
.pvm{padding:14px 22px;flex:1;border-right:1px solid var(--bd);text-align:center;}
.pvm:last-child{border-right:none;}
.pvm-l{font-size:9px;font-weight:700;color:var(--mt);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px;}
.pvm-v{font-size:14px;font-weight:700;}
.pv-actions{display:flex;gap:10px;margin-bottom:40px;}
.pv-result{background:rgba(200,241,53,.05);border:1px solid rgba(200,241,53,.18);border-left:3px solid var(--g);border-radius:var(--rl);padding:24px 28px;margin-bottom:40px;}
.pv-result-lbl{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--g);margin-bottom:12px;}
.pv-result-txt{font-size:17px;font-weight:500;line-height:1.65;color:#f0f0f0;white-space:pre-wrap;}
.lbtn-lg{background:transparent;border:1px solid var(--bd);color:var(--mt);border-radius:var(--r);padding:9px 18px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:7px;transition:all .2s;}
.lbtn-lg:hover{border-color:var(--gb);color:var(--g);}
.lbtn-lg.liked{background:var(--gd);border-color:var(--gb);color:var(--g);}
.lbtn-lg svg{width:14px;height:14px;}
.lbtn-lg.liked svg{fill:var(--g);}

/* ── Block rendering in viewer ── */
.vblock{margin-bottom:0;}
.vb-image{margin:0 -32px;}
.vb-image img{width:100%;height:auto;display:block;cursor:zoom-in;-webkit-user-drag:none;}
.vb-image.contained{margin:32px 0;}
.vb-image.contained img{border-radius:12px;}
.vb-grid{display:grid;gap:3px;margin:0 -32px;}
.vb-grid img{cursor:zoom-in;width:100%;height:auto;display:block;-webkit-user-drag:none;}
.vb-text{padding:32px 0;}
.vb-text.heading{font-size:clamp(24px,4vw,44px);font-weight:900;letter-spacing:-2px;line-height:1.05;padding-bottom:8px;}
/* Reset cascade: parágrafos após o primeiro em heading recebem estilo de corpo */
.vb-text.heading > p ~ p{font-size:16px;font-weight:300;letter-spacing:normal;line-height:1.85;color:rgba(240,240,240,.75);}
/* Spans com inline styles preservam font-family; não herdam weight do bloco */
.vb-text span[style*="font-family"]{font-weight:inherit;}
.vb-text.body{font-size:16px;color:rgba(240,240,240,.75);line-height:1.85;font-weight:300;border-left:2px solid var(--g);padding-left:24px;padding-top:4px;padding-bottom:4px;}
.vb-text.quote{font-size:22px;font-style:italic;color:rgba(240,240,240,.7);line-height:1.6;border-left:3px solid var(--g);padding-left:24px;font-family:var(--fs);font-weight:400;}
/* Bloco com cor de fundo */
.vb-text.has-bg{padding:28px 32px;border-radius:14px;margin:8px 0;}
.vb-text.has-bg.body{border-left:none;padding-left:32px;}
.vb-video{margin:32px 0;}
.vb-video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;border:1px solid var(--bd);}
.vb-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.vb-divider{margin:48px 0;height:1px;background:rgba(255,255,255,.08);}
/* ── ANTES / DEPOIS ── */
.vb-ba{position:relative;overflow:hidden;border-radius:var(--rxl);margin:32px 0;cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;}
.vb-ba-after{position:relative;line-height:0;}
.vb-ba-after img{width:100%;height:auto;display:block;pointer-events:none;}
.vb-ba-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0);}
.vb-ba-before img{width:100%;height:100%;object-fit:cover;display:block;}
.vb-ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;}
.vb-ba-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 16px rgba(0,0,0,.4);color:#050505;pointer-events:none;}
.vb-ba-lbl{position:absolute;top:14px;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.55);padding:4px 10px;border-radius:4px;backdrop-filter:blur(6px);}
.vb-ba-lbl.l{left:14px;}.vb-ba-lbl.r{right:14px;}
/* Editor preview */
.bp-ba{display:flex;gap:3px;border-radius:8px;overflow:hidden;margin:6px 0;}
.bp-ba-half{flex:1;position:relative;line-height:0;}
.bp-ba-half img{width:100%;height:120px;object-fit:cover;display:block;}
.bp-ba-ph{width:100%;height:120px;background:var(--bg3);display:flex;align-items:center;justify-content:center;}
.bp-ba-tag{position:absolute;bottom:6px;left:6px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.6);padding:3px 7px;border-radius:3px;}
.bp-ba-div{width:3px;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
/* Modal slots */
.ba-slot{border:1.5px dashed var(--bd);border-radius:var(--r);overflow:hidden;position:relative;background:var(--bg2);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;margin-bottom:6px;}
.ba-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ba-slot input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.ba-slot-ph{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--mt);font-size:12px;pointer-events:none;}
.ba-slot-rm{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);border:none;border-radius:4px;color:#fff;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;}
/* ── CAROUSEL ── */
.vb-carousel{position:relative;overflow:hidden;margin:0 -32px;}
.vb-carousel-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:none;-ms-overflow-style:none;scrollbar-width:none;}
.vb-carousel-track::-webkit-scrollbar{display:none;}
.vb-carousel-track img{flex:none;height:220px;object-fit:cover;display:block;cursor:zoom-in;-webkit-user-drag:none;}
.vb-carousel-hint{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px;gap:8px;}
.vb-cr-count{font-size:11px;font-weight:600;color:var(--g);letter-spacing:.04em;font-variant-numeric:tabular-nums;}
.vb-cr-tip{font-size:11px;color:var(--g);display:flex;align-items:center;gap:5px;font-weight:600;animation:cr-pulse 2s ease-in-out infinite;}
.vb-cr-tip svg{flex-shrink:0;stroke:var(--g);}
@keyframes cr-pulse{0%,100%{opacity:.55;}50%{opacity:1;}}
@media(max-width:640px){
  .vb-carousel{margin:0 -20px;}
  .vb-carousel-track{scroll-snap-type:x mandatory;}
  .vb-carousel-track img{scroll-snap-align:start;width:82vw;height:auto;aspect-ratio:4/5;object-fit:contain;background:#0a0a0a;flex-shrink:0;border-radius:8px;margin-right:10px;}
  .vb-carousel-track img:first-child{margin-left:20px;}
  .vb-carousel-track img:last-child{margin-right:20px;}
  .vb-cr-tip{display:flex;}
}
@media(min-width:641px){
  .vb-carousel-track img{flex:1;min-width:0;}
}
/* Editor preview */
.bp-carousel{display:flex;gap:4px;overflow:hidden;padding:8px 0;position:relative;}
.bp-carousel img{height:72px;width:auto;object-fit:cover;border-radius:4px;flex-shrink:0;}
.bp-carousel-ph{height:72px;width:100px;background:var(--bg3);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bp-carousel-lbl{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--g);margin-bottom:6px;}

/* ── Bloco depoimento ── */
.vb-testimonial{margin:40px 0;padding:36px 40px;background:rgba(255,255,255,.025);border:1px solid var(--bd2);border-radius:var(--rxl);position:relative;overflow:hidden;}
.vb-testimonial::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--g),transparent);}
.vbt-quote{font-size:clamp(17px,2.2vw,22px);font-style:italic;font-family:var(--fs);color:rgba(240,240,240,.88);line-height:1.65;margin-bottom:28px;position:relative;}
.vbt-quote::before{content:'\201C';font-size:72px;line-height:0;color:var(--g);opacity:.35;position:absolute;top:20px;left:-8px;font-family:var(--fs);pointer-events:none;}
.vbt-author{display:flex;align-items:center;gap:14px;}
.vbt-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--bd2);flex-shrink:0;background:var(--bg3);}
.vbt-avatar-ph{width:44px;height:44px;border-radius:50%;background:var(--bg3);border:2px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vbt-avatar-ph svg{width:20px;height:20px;opacity:.3;}
.vbt-info{}
.vbt-name{font-size:14px;font-weight:700;color:#f0f0f0;line-height:1.2;}
.vbt-role{font-size:12px;color:var(--mt);margin-top:2px;font-weight:400;}
@media(max-width:640px){.vb-testimonial{padding:24px 22px;}.vbt-quote::before{display:none;}}
/* ── TIMELINE BLOCK ── */
.vb-timeline{margin:40px 0;}
.vbt-step{display:flex;gap:20px;position:relative;padding-bottom:36px;}
.vbt-step:last-child{padding-bottom:0;}
.vbt-step::before{content:'';position:absolute;left:19px;top:42px;bottom:0;width:1px;background:linear-gradient(to bottom,rgba(200,241,53,.25),transparent);pointer-events:none;}
.vbt-step:last-child::before{display:none;}
.vbt-num{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--g);color:var(--g);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg);letter-spacing:.5px;margin-top:2px;}
.vbt-body{flex:1;padding-top:7px;}
.vbt-stitle{font-size:17px;font-weight:800;letter-spacing:-.4px;margin-bottom:6px;color:#f0f0f0;}
.vbt-scontent{font-size:14px;color:var(--mt);line-height:1.7;}
/* Editor preview */
.bp-timeline{padding:14px 0;}
.bp-tl-lbl{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--g);margin-bottom:10px;}
.bp-tl-step{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
.bp-tl-n{width:22px;height:22px;border-radius:50%;border:1px solid rgba(200,241,53,.4);color:var(--g);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bp-tl-t{font-size:12px;font-weight:700;color:#f0f0f0;line-height:1.3;}
.bp-tl-c{font-size:11px;color:var(--mt);line-height:1.4;margin-top:1px;}
/* Modal step rows */
.tl-step-row{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-bottom:1px solid var(--bd);}
.tl-step-row:last-child{border-bottom:none;}
.tl-step-n{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(200,241,53,.4);color:var(--g);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:6px;}
.tl-step-fields{flex:1;display:flex;flex-direction:column;gap:6px;}
.vb-caption{font-size:11px;color:var(--mt);text-align:center;padding:8px 0 24px;font-weight:300;}
/* ── Texto viewer: paragraphs spacing ── */
.vb-text p{margin-bottom:0.7em;}
.vb-text p:last-child{margin-bottom:0;}
/* ── Vídeo local ── */
.vb-video video{width:100%;border-radius:12px;display:block;outline:none;background:#000;}
/* ── Color swatches no modal de texto ── */
.clr-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px;}
.clr-sw{width:26px;height:26px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:border-color .15s;flex-shrink:0;position:relative;}
.clr-sw.on{border-color:var(--g);}
.clr-sw.clr-clear{background:var(--bg2)!important;border:2px dashed var(--bd);}
.clr-sw.clr-clear.on{border-color:var(--g);}
.clr-sw.clr-custom{background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red)!important;}
.clr-sw title{display:none;}

/* Video upload progress */
#up-vid{display:none;align-items:center;gap:10px;padding:10px 14px;background:var(--gd);border:1px solid var(--gb);border-radius:var(--r);font-size:12px;color:var(--g);font-weight:600;margin-top:10px;}
#up-vid.show{display:flex;}
/* Related */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px;margin-top:16px;}
.rel-c{background:var(--bg4);overflow:hidden;cursor:pointer;transition:opacity .2s;}
.rel-c:hover{opacity:.8;}
.rel-cov{aspect-ratio:16/9;overflow:hidden;}
.rel-cov img,.rel-ph{width:100%;height:100%;object-fit:cover;}
.rel-ph{display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;letter-spacing:-1px;color:rgba(255,255,255,.05);}
.rel-b{padding:12px 14px;}
.rel-cat{font-size:9px;color:var(--g);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;}
.rel-title{font-size:13px;font-weight:700;letter-spacing:-.2px;}
.sec-lbl{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--mt);margin:48px 0 16px;display:flex;align-items:center;gap:10px;}
.sec-lbl::before{content:'';width:20px;height:1.5px;background:var(--g);}

/* ══ ADMIN ══ */
#view-admin{max-width:1100px;margin:0 auto;padding:100px 32px 100px;position:relative;z-index:1;}
.adm-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px;gap:16px;}
.adm-head h2{font-size:28px;font-weight:800;letter-spacing:-1.5px;}
.adm-head p{color:var(--mt);font-size:13px;margin-top:4px;}
.off-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,165,0,.07);border:1px solid rgba(255,165,0,.18);border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600;color:rgba(255,195,75,1);margin-top:8px;}
.off-badge svg{width:12px;height:12px;stroke:rgba(255,195,75,.8);}
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px;}
.sc{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rl);padding:22px 26px;}
.sc-n{font-size:34px;font-weight:900;letter-spacing:-2px;color:var(--g);}
.sc-l{color:var(--mt);font-size:12px;margin-top:4px;}
.adm-table{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;}
.th-row{display:grid;grid-template-columns:2.5fr 1fr 70px 70px 150px;padding:11px 22px;border-bottom:1px solid var(--bd);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);}
.tr-row{display:grid;grid-template-columns:2.5fr 1fr 70px 70px 150px;padding:15px 22px;border-bottom:1px solid var(--bd);align-items:center;transition:background .2s;}
.tr-row:last-child{border-bottom:none;}
.tr-row:hover{background:rgba(255,255,255,.02);}
.tr-title{font-size:14px;font-weight:700;letter-spacing:-.2px;}
.tr-cli{color:var(--mt);font-size:11px;margin-top:2px;}
.tr-cat{font-size:9px;color:var(--g);background:var(--gd);padding:4px 10px;border-radius:4px;display:inline-block;font-weight:700;letter-spacing:.5px;}
.tr-n{color:var(--mt);font-size:13px;}
.tr-acts{display:flex;gap:6px;}
.btn-ed{background:rgba(255,255,255,.05);border:1px solid var(--bd);color:#f0f0f0;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:background .2s;}
.btn-ed:hover{background:rgba(255,255,255,.1);}
.btn-dl{background:rgba(255,80,80,.07);border:1px solid rgba(255,80,80,.18);color:#ff5050;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;transition:background .2s;}
.btn-dl:hover{background:rgba(255,80,80,.14);}

/* ══ BLOCK EDITOR ══ */
#view-edit{display:none;flex-direction:column;height:100dvh;background:var(--bg);position:relative;z-index:10;}
#view-edit.active{display:flex;animation:none;}
.ed-header{height:56px;background:rgba(5,5,5,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0;z-index:100;}
.ed-back{color:var(--mt);border:1px solid var(--bd);border-radius:var(--r);padding:6px 14px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .2s;}
.ed-back:hover{color:#f0f0f0;border-color:var(--bd2);}
.ed-back svg{width:13px;height:13px;}
.ed-proj-title{flex:1;text-align:center;font-size:14px;font-weight:700;color:rgba(240,240,240,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ed-acts{display:flex;gap:8px;}
.ed-prev{background:rgba(255,255,255,.05);border:1px solid var(--bd);color:var(--mt);border-radius:var(--r);padding:6px 16px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .2s;}
.ed-prev:hover{color:#f0f0f0;border-color:var(--bd2);}
.ed-prev svg{width:13px;height:13px;}
.ed-pub{background:var(--g);color:#000;border-radius:var(--r);padding:6px 18px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;transition:opacity .2s;}
.ed-pub:hover{opacity:.88;}
.ed-pub svg{width:13px;height:13px;}
.ed-body{display:flex;flex:1;overflow:hidden;}

/* Canvas */
.ed-canvas{flex:1;overflow-y:auto;padding:40px 20px 120px;background:var(--bg);}
.ed-canvas-inner{max-width:800px;margin:0 auto;}

/* Block wrap in editor */
.bw{position:relative;display:flex;align-items:stretch;gap:10px;margin-bottom:4px;}
.bw:hover .bc-acts{opacity:1;}
.bw:hover .drag-h{opacity:1;}
.drag-h{width:22px;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:0;transition:opacity .2s;flex-shrink:0;padding:4px 0;}
.drag-h:active{cursor:grabbing;}
.drag-h svg{width:14px;height:14px;}
.sortable-ghost .bw-inner{opacity:.4;}
.sortable-ghost .drag-h,.sortable-ghost .bc-acts{opacity:0;}
.bw-inner{flex:1;border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;background:var(--bg4);cursor:pointer;transition:border-color .2s;}
.bw-inner:hover{border-color:var(--bd2);}
.bw-inner.active{border-color:rgba(200,241,53,.4);}
.bc-acts{position:absolute;right:-46px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;opacity:0;transition:opacity .2s;}
.bca{width:34px;height:34px;border-radius:var(--r);background:var(--bg4);border:1px solid var(--bd);color:var(--mt);display:flex;align-items:center;justify-content:center;transition:all .2s;}
.bca:hover{color:#f0f0f0;border-color:var(--bd2);}
.bca.del:hover{color:#ff5050;border-color:rgba(255,80,80,.3);background:rgba(255,80,80,.08);}
.bca svg{width:14px;height:14px;}

/* Block type previews in editor */
.bp-img{position:relative;overflow:hidden;}
.bp-img img{width:100%;max-height:360px;object-fit:cover;display:block;}
.bp-img-ph{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background:var(--bg3);}
.bp-img-ph svg{width:32px;height:32px;opacity:.15;}
.bp-img-fullbleed-badge{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.7);border:1px solid var(--bd);font-size:9px;font-weight:700;letter-spacing:1px;padding:4px 9px;border-radius:4px;color:var(--mt);}
.bp-text{padding:16px 20px;}
.bp-text .bpt-var{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--mt);margin-bottom:8px;}
.bp-text-h{font-size:clamp(20px,3vw,32px);font-weight:900;letter-spacing:-1px;line-height:1.1;}
.bp-text-b{font-size:14px;color:rgba(240,240,240,.65);line-height:1.7;font-weight:300;}
.bp-text-q{font-size:18px;font-style:italic;color:rgba(240,240,240,.65);border-left:2px solid var(--g);padding-left:14px;font-family:var(--fs);}
.bp-empty{font-style:italic;opacity:.35;font-size:13px;}
.bp-grid{display:grid;gap:2px;}
.bp-grid img{width:100%;height:auto;display:block;}
.bp-grid-ph{min-height:80px;aspect-ratio:4/3;background:var(--bg3);display:flex;align-items:center;justify-content:center;}
.bp-grid-ph svg{width:20px;height:20px;opacity:.15;}
.bp-video{padding:14px 18px;display:flex;align-items:center;gap:12px;}
.bp-video svg{width:20px;height:20px;flex-shrink:0;opacity:.35;}
.bp-video span{font-size:12px;color:var(--mt);font-style:italic;}
.bp-divider{height:1px;background:rgba(255,255,255,.07);margin:16px 20px;}
.bp-testimonial{padding:16px 20px;display:flex;flex-direction:column;gap:10px;}
.bp-tst-quote{font-size:13px;font-style:italic;color:rgba(240,240,240,.65);line-height:1.6;font-family:var(--fs);}
.bp-tst-author{display:flex;align-items:center;gap:10px;}
.bp-tst-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--bg3);border:1px solid var(--bd);flex-shrink:0;}
.bp-tst-avatar-ph{width:32px;height:32px;border-radius:50%;background:var(--bg3);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bp-tst-avatar-ph svg{width:14px;height:14px;opacity:.25;}
.bp-tst-name{font-size:12px;font-weight:700;color:rgba(240,240,240,.8);}
.bp-tst-role{font-size:10px;color:var(--mt);margin-top:1px;}

/* Add block area */
.add-zone{margin:4px 0;display:flex;align-items:center;gap:10px;padding:0 32px;opacity:0;transition:opacity .2s;}
.add-zone:hover{opacity:1;}
.bw:hover + .add-zone,.add-zone:hover{opacity:1;}
.add-zone-line{flex:1;height:1px;background:var(--bd);}
.add-zone-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--bd2);background:var(--bg4);color:var(--mt);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;transition:all .2s;cursor:pointer;}
.add-zone-btn:hover{border-color:var(--g);color:var(--g);background:var(--gd);}
.add-zone-first{opacity:1 !important;}

/* Empty canvas */
.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;border:2px dashed rgba(255,255,255,.07);border-radius:20px;padding:60px 40px;}
.canvas-empty-icon{width:52px;height:52px;border-radius:14px;background:var(--gd);border:1px solid var(--gb);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.canvas-empty-icon svg{width:24px;height:24px;}
.canvas-empty h3{font-size:18px;font-weight:800;letter-spacing:-.5px;margin-bottom:10px;}
.canvas-empty p{font-size:14px;color:var(--mt);margin-bottom:24px;font-weight:300;}

/* Media toolbar */
.mt-wrap{display:flex;justify-content:center;padding:12px 0;}
.media-tb{background:#111;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 12px;display:inline-flex;align-items:center;gap:4px;}
.mt-lbl{font-size:11px;color:rgba(255,255,255,.35);padding-right:8px;white-space:nowrap;font-weight:600;letter-spacing:.3px;}
.mt-sep{width:1px;height:20px;background:rgba(255,255,255,.1);margin:0 3px;}
.mt-btn{width:36px;height:36px;border-radius:9px;background:transparent;border:none;color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;transition:all .2s;cursor:pointer;position:relative;}
.mt-btn:hover{background:rgba(255,255,255,.1);color:#fff;}
.mt-btn svg{width:17px;height:17px;}
.mt-tip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#000;color:#fff;font-size:10px;font-weight:600;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s;}
.mt-btn:hover .mt-tip{opacity:1;}

/* Sidebar */
.ed-sidebar{width:300px;border-left:1px solid var(--bd);overflow-y:auto;background:var(--bg2);flex-shrink:0;}
.sb-section{padding:20px 22px;border-bottom:1px solid var(--bd);}
.sb-section:last-child{border-bottom:none;}
.sb-title{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);margin-bottom:14px;}
.sb-fgrp{margin-bottom:14px;}
.sb-fgrp:last-child{margin-bottom:0;}
.sb-label{font-size:10px;font-weight:600;color:var(--mt);margin-bottom:7px;display:block;}
.sb-inp{width:100%;background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r);padding:9px 12px;color:#f0f0f0;font-size:13px;transition:border-color .2s;}
.sb-inp:focus{border-color:rgba(200,241,53,.4);}
.sb-inp::placeholder{color:rgba(255,255,255,.18);}
.sb-sel{width:100%;background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r);padding:9px 12px;color:#f0f0f0;font-size:13px;}
.tags-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.ftag{font-size:10px;color:#f0f0f0;background:rgba(255,255,255,.07);border:1px solid var(--bd);border-radius:4px;padding:4px 8px;display:flex;align-items:center;gap:5px;font-weight:600;}
.ftag button{color:var(--mt);padding:0;display:flex;align-items:center;}
.ftag button svg{width:10px;height:10px;}
.swatches{display:flex;flex-wrap:wrap;gap:7px;}
.sw{width:32px;height:32px;border-radius:7px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s;font-size:11px;font-weight:900;}
.sw.on{border-color:var(--g);}
.tgl-row{display:flex;align-items:center;gap:12px;}
.tgl{position:relative;width:42px;height:22px;border-radius:11px;border:none;cursor:pointer;transition:background .2s;flex-shrink:0;}
.tgl-thumb{position:absolute;top:3px;width:16px;height:16px;border-radius:50%;transition:left .2s;}
.sb-cov-prev{margin-top:8px;border-radius:8px;overflow:hidden;border:1px solid var(--bd);aspect-ratio:16/9;background:var(--bg4);display:none;}
.sb-cov-prev.show{display:block;}
.sb-cov-prev img{width:100%;height:100%;object-fit:cover;}
.token-section{margin-top:12px;padding:12px;background:rgba(185,77,255,.06);border:1px solid rgba(185,77,255,.2);border-radius:var(--r);}
.token-url{font-size:10px;font-family:monospace;color:var(--ms);word-break:break-all;line-height:1.5;margin-bottom:10px;user-select:all;}
.token-actions{display:flex;gap:6px;}
.token-actions button{flex:1;font-size:11px;font-weight:600;padding:7px 8px;border-radius:6px;border:1px solid var(--bd);background:rgba(255,255,255,.05);color:var(--mt);cursor:pointer;transition:all .2s;}
.token-actions button:hover{border-color:rgba(185,77,255,.4);color:#f0f0f0;}
.tr-lock{font-size:10px;color:rgba(185,77,255,.9);margin-left:5px;}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .ed-sidebar{width:260px;}
  .bc-acts{right:-44px;}
}
@media(max-width:900px){
  .ed-sidebar{display:none;}
  .ed-canvas{padding:32px 16px 100px;}
  .bw{padding-left:0;}
  .drag-h{display:none;}
  .bc-acts{right:8px;top:8px;transform:none;flex-direction:row;}
  .bw:hover .bc-acts{opacity:1;}
  .about-in{grid-template-columns:1fr;gap:40px;}
  .feat-card{grid-template-columns:1fr;}
  .fc-blend{width:100%!important;height:80px;background:linear-gradient(to bottom,var(--bg4),transparent)!important;bottom:auto;}
  .pv-wrap{padding:80px 20px 80px;}
  .vb-image{margin:0;}
  .vb-image img{border-radius:0;}
  .vb-grid{margin:0;}
}
@media(max-width:720px){
  .proj-grid{grid-template-columns:1fr 1fr;}
  .proj-masonry{columns:1;}
  .stat-cards{grid-template-columns:1fr;}
  .th-row,.tr-row{grid-template-columns:1fr auto;}
  .th-row span:nth-child(3),.th-row span:nth-child(4),.tr-row>*:nth-child(3),.tr-row>*:nth-child(4){display:none;}
  .hero-stats{flex-direction:column;}
  .hs{border-right:none;border-bottom:1px solid var(--bd);}
  .hs:last-child{border-bottom:none;}
  #view-admin,#view-project{padding-top:80px;}
  .gal-top{flex-direction:column;align-items:flex-start;}
  .pvm{padding:10px 12px;}
}
@media(max-width:480px){
  .proj-grid{grid-template-columns:1fr;}
  /* Filtros: select desce para baixo das pills, largura total */
  .filters{flex-direction:column;align-items:stretch;}
  .cat-pills{flex:unset;}
  .srt{width:100%;box-sizing:border-box;}
  /* Ações da página de projeto: empilha verticalmente */
  .pv-actions{flex-direction:column;}
  .pv-actions .lbtn-lg{justify-content:center;}
  /* Back btn não fica achatado */
  .back-btn{width:100%;justify-content:center;box-sizing:border-box;}
  /* Hero subtítulo em mobile */
  .hero-sub{text-align:center;padding:0 8px;}
}
/* ══ MODO APRESENTAÇÃO ══ */
#pres-mode{display:none;position:fixed;inset:0;z-index:9000;background:#000;flex-direction:column;}
#pres-mode.open{display:flex;}
#pres-bar{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);}
#pres-bar-l{display:flex;align-items:center;gap:14px;}
#pres-title{font-size:13px;font-weight:700;color:rgba(240,240,240,.85);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;}
#pres-counter{font-size:11px;color:rgba(255,255,255,.3);font-weight:600;white-space:nowrap;}
#pres-bar-r{display:flex;align-items:center;gap:8px;}
.pres-ctrl{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;}
.pres-ctrl:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);}
.pres-ctrl svg{width:15px;height:15px;}
#pres-exit{background:rgba(255,60,60,.08);border-color:rgba(255,60,60,.2);color:rgba(255,100,100,.8);padding:0 14px;width:auto;gap:6px;font-size:12px;font-weight:700;}
#pres-exit:hover{background:rgba(255,60,60,.16);color:#ff6060;}
#pres-stage{flex:1;overflow:hidden;position:relative;}
#pres-slide{position:absolute;inset:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:48px 48px 80px;opacity:1;transition:opacity .22s var(--ease);}
#pres-slide.fading{opacity:0;}
#pres-slide-inner{width:100%;max-width:1080px;}
/* Blocos no modo apresentação — ligeiramente maiores */
#pres-slide-inner .vb-image{margin:0;}
#pres-slide-inner .vb-image img{border-radius:10px;width:100%;height:auto;max-height:82vh;object-fit:scale-down;display:block;-webkit-user-drag:none;}
#pres-slide-inner .vb-image.contained{margin:0;}
#pres-slide-inner .vb-grid{border-radius:10px;overflow:hidden;}
#pres-slide-inner .vb-text.heading{font-size:clamp(32px,5vw,64px);}
#pres-slide-inner .vb-text.body{font-size:17px;line-height:1.9;}
#pres-slide-inner .vb-text.quote{font-size:26px;}
#pres-slide-inner .vb-video-wrap{border-radius:10px;}
/* Setas laterais de navegação */
#pres-prev,#pres-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;z-index:2;}
#pres-prev{left:12px;}#pres-next{right:12px;}
#pres-prev:hover,#pres-next:hover{background:rgba(255,255,255,.16);color:#fff;}
#pres-prev svg,#pres-next svg{width:18px;height:18px;}
#pres-prev.hidden,#pres-next.hidden{opacity:0;pointer-events:none;}
/* Dots de progresso */
#pres-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2;}
.pres-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);transition:all .2s;cursor:pointer;}
.pres-dot.on{background:var(--g);width:18px;border-radius:3px;}
@media(max-width:640px){
  #pres-slide{padding:24px 16px 72px;}
  #pres-prev{left:4px;}#pres-next{right:4px;}
  #pres-title{max-width:160px;}
}

/* ── Contagem nas pills de categoria ── */
.cp-count{font-size:9px;font-weight:700;opacity:.55;margin-left:3px;}
.cp.on .cp-count{opacity:.7;}

/* ── Tags nos cards ── */
.pc-tags{display:flex;gap:4px;flex:1;overflow:hidden;}
.pc-tag{font-size:9px;font-weight:700;letter-spacing:.5px;background:rgba(255,255,255,.05);border:1px solid var(--bd);color:var(--mt);border-radius:4px;padding:3px 7px;cursor:pointer;white-space:nowrap;transition:all .2s;}
.pc-tag:hover{background:var(--gd);border-color:var(--gb);color:var(--g);}

/* ── BRIEFING BUTTON (nav) ── */
#btn-brief{background:transparent;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);color:rgba(240,240,240,.55);font-weight:500;font-size:12px;padding:7px 14px;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap;}
#btn-brief:hover{border-color:rgba(255,255,255,.28);color:#f0f0f0;}
#btn-brief svg{width:12px;height:12px;flex-shrink:0;opacity:.7;}
@media(max-width:640px){#btn-brief{display:none!important;}}

/* ── LEADS ADMIN SECTION ── */
.leads-hd{display:flex;justify-content:space-between;align-items:center;margin:40px 0 16px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);}
.leads-hd-l{display:flex;align-items:center;gap:10px;}
.leads-badge{background:rgba(200,241,53,.15);border:1px solid rgba(200,241,53,.3);color:var(--g);border-radius:20px;padding:2px 9px;font-size:10px;font-weight:800;letter-spacing:0;}
.leads-filter{display:flex;gap:4px;}
.lf-btn{background:transparent;border:1px solid var(--bd);border-radius:6px;color:var(--mt);font-size:10px;font-weight:700;padding:4px 10px;cursor:pointer;transition:all .18s;font-family:var(--fd);}
.lf-btn.on,.lf-btn:hover{background:rgba(255,255,255,.06);border-color:var(--bd2);color:#f0f0f0;}
.leads-table{background:var(--bg4);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;margin-bottom:12px;}
.leads-th{display:grid;grid-template-columns:2fr 1fr 1fr 90px 72px 120px;padding:10px 20px;border-bottom:1px solid var(--bd);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mt);}
.leads-tr{display:grid;grid-template-columns:2fr 1fr 1fr 90px 72px 120px;padding:14px 20px;border-bottom:1px solid var(--bd);align-items:start;transition:background .18s;gap:4px;}
.leads-tr:last-child{border-bottom:none;}
.leads-tr:hover{background:rgba(255,255,255,.02);}
.lead-name{font-size:13px;font-weight:700;letter-spacing:-.2px;line-height:1.3;}
.lead-co{font-size:11px;color:var(--mt);margin-top:1px;}
.lead-email{font-size:11px;color:var(--mt);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lead-cell{font-size:12px;color:var(--ms);}
.lead-cell.muted{color:var(--mt);}
.lead-ago{font-size:11px;color:var(--mt);}
.lead-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;width:fit-content;margin-top:6px;}
.lead-status.new{background:rgba(200,241,53,.12);border:1px solid rgba(200,241,53,.25);color:var(--g);}
.lead-status.read{background:rgba(255,255,255,.05);border:1px solid var(--bd);color:var(--mt);}
.lead-status.archived{background:rgba(255,80,80,.06);border:1px solid rgba(255,80,80,.15);color:#ff7070;}
.lead-acts{display:flex;gap:5px;flex-wrap:wrap;}
.lead-act{background:rgba(255,255,255,.04);border:1px solid var(--bd);color:var(--mt);border-radius:5px;padding:4px 9px;font-size:10px;font-weight:600;cursor:pointer;transition:all .18s;font-family:var(--fd);white-space:nowrap;}
.lead-act:hover{background:rgba(255,255,255,.09);color:#f0f0f0;border-color:var(--bd2);}
.lead-act.del:hover{background:rgba(255,80,80,.1);color:#ff5050;border-color:rgba(255,80,80,.25);}
.lead-msg{grid-column:1/-1;font-size:12px;color:rgba(240,240,240,.6);line-height:1.6;padding:10px 14px;background:var(--bg3);border-radius:var(--r);margin-top:4px;border:1px solid var(--bd);display:none;white-space:pre-wrap;}
.lead-msg.open{display:block;}
@media(max-width:900px){
  .leads-th{display:none;}
  .leads-tr{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px;}
  .lead-cell,.lead-ago{display:none;}
}