/* =====================================================
   VÉRDE AGÊNCIA — Public Site Styles
   ===================================================== */

:root {
  --lime:      #B8FF00;
  --lime-dark: #8ACC00;
  --black:     #080808;
  --black2:    #111111;
  --black3:    #1A1A1A;
  --white:     #F4F4F0;
  --gray:      #2A2A2A;
  --gray2:     #444;
  --text:      #CCCCCC;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: 'Barlow', sans-serif; overflow-x: hidden; cursor: none; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb { background: var(--lime); border-radius: 2px; }

/* ── CURSOR ── */
.cursor        { width:10px;height:10px;background:var(--lime);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:transform .1s; }
.cursor-follow { width:36px;height:36px;border:1.5px solid var(--lime);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:all .15s ease;opacity:.6; }

/* ── LOADER ── */
#loader { position:fixed;inset:0;background:var(--black);z-index:99990;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:opacity .6s,visibility .6s; }
#loader.hidden { opacity:0;visibility:hidden; }
.loader-logo { font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:6px; }
.loader-logo span { color:var(--lime); }
.loader-bar { width:200px;height:2px;background:var(--gray); }
.loader-fill { height:100%;background:var(--lime);width:0%;transition:width .05s linear; }

/* ── NAV ── */
nav { position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;transition:all .4s ease; }
nav.scrolled { background:rgba(8,8,8,.92);backdrop-filter:blur(16px);border-bottom:1px solid #1f1f1f;padding:14px 48px; }
.nav-logo { font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:4px;color:var(--white);text-decoration:none; }
.nav-logo span { color:var(--lime); }
.nav-links { display:flex;gap:36px;list-style:none; }
.nav-links a { font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text);text-decoration:none;transition:color .3s;position:relative; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--lime);transition:width .3s; }
.nav-links a:hover { color:var(--lime); }
.nav-links a:hover::after { width:100%; }
.nav-admin-btn { background:transparent;border:1px solid var(--gray2);color:var(--text);padding:9px 20px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:none;transition:all .3s;font-family:'Barlow',sans-serif; }
.nav-admin-btn:hover { border-color:var(--lime);color:var(--lime); }
.burger { display:none;flex-direction:column;gap:5px;cursor:none;background:none;border:none; }
.burger span { width:26px;height:2px;background:var(--white);transition:all .3s;display:block; }

/* ── MOBILE MENU ── */
#mobileMenu { display:none;position:fixed;inset:0;background:var(--black);z-index:999;align-items:center;justify-content:center;flex-direction:column;gap:32px; }
#mobileMenu a { font-size:38px;font-family:'Bebas Neue';letter-spacing:4px;color:var(--white);text-decoration:none;transition:color .3s; }
#mobileMenu a:hover { color:var(--lime); }
.mob-close-btn { background:none;border:1px solid #333;color:var(--text);padding:12px 24px;cursor:none;font-family:'Barlow';font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-top:16px; }

/* ── HERO ── */
#hero { min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0 48px; }
.hero-bg { position:absolute;inset:0;background:var(--black); }
.hero-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(184,255,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,255,0,.04) 1px,transparent 1px);background-size:60px 60px;animation:gridPulse 6s ease-in-out infinite; }
@keyframes gridPulse { 0%,100%{opacity:.5}50%{opacity:1} }
.hero-orb { position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(184,255,0,.12) 0%,transparent 70%);border-radius:50%;right:-100px;top:50%;transform:translateY(-50%);animation:orbFloat 8s ease-in-out infinite;pointer-events:none; }
@keyframes orbFloat { 0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-55%) scale(1.08)} }
.hero-content { position:relative;z-index:2;max-width:1200px;width:100%; }
.hero-tag { font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--lime);margin-bottom:28px;display:flex;align-items:center;gap:12px;opacity:0;animation:fadeUp .8s .2s forwards; }
.hero-tag::before { content:'';width:40px;height:1px;background:var(--lime); }
.hero-h1 { font-family:'Bebas Neue',sans-serif;font-size:clamp(72px,12vw,160px);line-height:.92;letter-spacing:-2px;opacity:0;animation:fadeUp .8s .4s forwards; }
.hero-h1 .accent { color:var(--lime); }
.hero-sub { font-size:16px;font-weight:300;color:var(--text);max-width:480px;line-height:1.7;margin-top:28px;opacity:0;animation:fadeUp .8s .6s forwards; }
.hero-ctas { display:flex;gap:16px;margin-top:44px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s forwards; }
.btn-primary { background:var(--lime);color:var(--black);padding:16px 36px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;cursor:none;text-decoration:none;display:inline-block;position:relative;overflow:hidden;transition:transform .2s;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px)); }
.btn-primary::before { content:'';position:absolute;inset:0;background:var(--black);transform:translateX(-101%);transition:transform .4s ease; }
.btn-primary span { position:relative;z-index:1; }
.btn-primary:hover::before { transform:translateX(0); }
.btn-primary:hover span { color:var(--lime); }
.btn-secondary { background:transparent;color:var(--white);padding:15px 36px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--gray2);cursor:none;text-decoration:none;display:inline-block;transition:all .3s; }
.btn-secondary:hover { border-color:var(--lime);color:var(--lime); }
.hero-stats { position:absolute;right:48px;bottom:60px;display:flex;gap:48px;z-index:2;opacity:0;animation:fadeUp .8s 1s forwards; }
.stat-item { text-align:right; }
.stat-num { font-family:'Bebas Neue',sans-serif;font-size:48px;color:var(--lime);line-height:1; }
.stat-label { font-size:11px;letter-spacing:2px;color:var(--text);text-transform:uppercase; }
.scroll-indicator { position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeUp .8s 1.2s forwards;z-index:2; }
.scroll-line { width:1px;height:50px;background:linear-gradient(var(--lime),transparent);animation:scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine { 0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom} }
.scroll-text { font-size:9px;letter-spacing:3px;color:var(--text);text-transform:uppercase; }
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)} }

/* ── TICKER ── */
.ticker-wrap { background:var(--lime);padding:14px 0;overflow:hidden; }
.ticker { display:flex;animation:ticker 25s linear infinite;white-space:nowrap; }
.ticker-item { font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--black);padding:0 32px;display:flex;align-items:center;gap:32px; }
.ticker-item::after { content:'✦';font-size:10px; }
@keyframes ticker { 0%{transform:translateX(0)}100%{transform:translateX(-50%)} }

/* ── SECTIONS ── */
section { padding:120px 48px; }
.section-tag { font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--lime);margin-bottom:16px;display:flex;align-items:center;gap:12px; }
.section-tag::before { content:'';width:30px;height:1px;background:var(--lime); }
.section-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:1px; }
.section-title em { color:var(--lime);font-style:normal; }
.reveal { opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* ── SERVICES ── */
#services { background:var(--black); }
.services-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:72px;flex-wrap:wrap;gap:24px; }
.services-desc { font-size:16px;color:var(--text);max-width:340px;line-height:1.7; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.service-card { background:var(--black2);padding:44px 36px;position:relative;overflow:hidden;transition:all .4s ease;border:1px solid transparent; }
.service-card::before { content:'';position:absolute;top:0;left:0;width:0;height:3px;background:var(--lime);transition:width .4s ease; }
.service-card:hover { border-color:#222;transform:translateY(-4px); }
.service-card:hover::before { width:100%; }
.service-num { font-family:'Bebas Neue',sans-serif;font-size:56px;color:var(--gray2);line-height:1;margin-bottom:20px;transition:color .3s; }
.service-card:hover .service-num { color:var(--lime);opacity:.4; }
.service-icon { font-size:32px;margin-bottom:20px; }
.service-name { font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px; }
.service-desc { font-size:14px;color:var(--text);line-height:1.7; }
.service-arrow { position:absolute;bottom:32px;right:32px;font-size:20px;color:var(--gray2);transition:all .3s; }
.service-card:hover .service-arrow { color:var(--lime);transform:translate(4px,-4px); }

/* ── PORTFOLIO ── */
#portfolio { background:var(--black);padding-top:0; }
.portfolio-header { margin-bottom:56px; }
.portfolio-filter { display:flex;gap:8px;margin-top:32px;flex-wrap:wrap; }
.filter-btn { padding:9px 22px;background:transparent;border:1px solid var(--gray2);color:var(--text);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:none;transition:all .3s;font-family:'Barlow',sans-serif; }
.filter-btn.active,.filter-btn:hover { background:var(--lime);border-color:var(--lime);color:var(--black); }
.portfolio-grid { display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:8px; }
.portfolio-item { position:relative;overflow:hidden;cursor:none;background:var(--black2); }
.portfolio-item.wide { grid-column:span 2; }
.portfolio-item.tall { grid-row:span 2; }
.portfolio-img { width:100%;height:100%;object-fit:cover;transition:transform .6s ease; }
.portfolio-item:hover .portfolio-img { transform:scale(1.06); }
.portfolio-overlay { position:absolute;inset:0;background:linear-gradient(135deg,rgba(184,255,0,.9) 0%,rgba(8,8,8,.9) 100%);opacity:0;transition:opacity .4s ease;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:32px; }
.portfolio-item:hover .portfolio-overlay { opacity:1; }
.portfolio-cat { font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--black);margin-bottom:8px; }
.portfolio-title { font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--black);text-transform:uppercase; }
.portfolio-placeholder { width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--black3);color:var(--gray2);gap:12px; }
.portfolio-placeholder .ph-icon { font-size:40px; }
.portfolio-placeholder .ph-text { font-size:13px;letter-spacing:2px;text-transform:uppercase; }

/* ── ABOUT ── */
#about { background:var(--black2); }
.about-wrap { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.about-img-wrap { position:relative;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));overflow:hidden; }
.about-img { width:100%;height:520px;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.1);transition:filter .6s; }
.about-img-wrap:hover .about-img { filter:grayscale(0%) contrast(1); }
.about-badge { position:absolute;bottom:-24px;right:-24px;background:var(--lime);color:var(--black);padding:28px 32px;font-family:'Bebas Neue',sans-serif;text-align:center; }
.about-badge-num { font-size:52px;line-height:1; }
.about-badge-text { font-size:13px;letter-spacing:2px; }
.about-year-line { position:absolute;top:24px;left:-24px;background:var(--black);border:1px solid #222;padding:12px 20px;display:flex;align-items:center;gap:10px; }
.ayl-dot { width:8px;height:8px;background:var(--lime);border-radius:50%;animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5} }
.ayl-text { font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text); }
.about-body { font-size:16px;color:var(--text);line-height:1.8;margin-top:28px; }
.about-skills { margin-top:40px;display:flex;flex-direction:column;gap:20px; }
.skill-bar-header { display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px; }
.skill-bar-header span:last-child { color:var(--lime); }
.skill-bar-track { height:3px;background:var(--gray);position:relative; }
.skill-bar-fill { height:100%;background:var(--lime);width:0%;transition:width 1.4s cubic-bezier(.16,1,.3,1); }

/* ── PROMOTIONS ── */
#promotions { background:var(--black); }
.promos-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px; }
.promo-card { background:var(--black2);border:1px solid #1a1a1a;padding:36px;position:relative;overflow:hidden;transition:all .4s; }
.promo-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lime),var(--lime-dark));transform:scaleX(0);transform-origin:left;transition:transform .4s; }
.promo-card:hover { border-color:#2a2a2a;transform:translateY(-6px); }
.promo-card:hover::after { transform:scaleX(1); }
.promo-badge { display:inline-block;background:var(--lime);color:var(--black);font-size:10px;font-weight:900;letter-spacing:3px;text-transform:uppercase;padding:5px 12px;margin-bottom:20px; }
.promo-title { font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;text-transform:uppercase;line-height:1.1;margin-bottom:12px; }
.promo-desc { font-size:14px;color:var(--text);line-height:1.7;margin-bottom:24px; }
.promo-price { font-family:'Bebas Neue',sans-serif;font-size:44px;color:var(--lime); }
.promo-price-sub { font-size:12px;color:var(--text);margin-top:-4px; }
.promo-cta { display:inline-block;margin-top:20px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--white);text-decoration:none;border-bottom:1px solid var(--gray2);padding-bottom:4px;transition:all .3s;cursor:none; }
.promo-cta:hover { color:var(--lime);border-color:var(--lime); }
.promo-glow { position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:radial-gradient(circle,rgba(184,255,0,.12) 0%,transparent 70%);border-radius:50%; }

/* ── CLIENTS ── */
#clients { background:var(--black2);padding:80px 48px; }
.clients-title { text-align:center;font-size:13px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--text);margin-bottom:48px; }
.clients-track-wrap { overflow:hidden; }
.clients-track { display:flex;gap:80px;align-items:center;animation:clientsScroll 20s linear infinite;white-space:nowrap; }
.client-logo { font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:3px;color:var(--gray2);transition:color .3s; }
.client-logo:hover { color:var(--lime); }
@keyframes clientsScroll { 0%{transform:translateX(0)}100%{transform:translateX(-50%)} }

/* ── TESTIMONIALS ── */
#testimonials { background:var(--black); }
.testimonials-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px; }
.testimonial-card { background:var(--black2);padding:40px;border:1px solid #1a1a1a; }
.testimonial-quote { font-size:64px;line-height:.5;color:var(--lime);font-family:'Bebas Neue',sans-serif;margin-bottom:24px;display:block; }
.testimonial-text { font-size:16px;color:var(--text);line-height:1.8;font-style:italic;margin-bottom:28px; }
.testimonial-author { display:flex;align-items:center;gap:16px; }
.author-avatar { width:46px;height:46px;border-radius:50%;background:var(--gray);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--lime);border:2px solid var(--lime); }
.author-name { font-weight:700;font-size:15px; }
.author-role { font-size:12px;color:var(--text); }

/* ── CONTACT ── */
#contact { background:var(--black2); }
.contact-wrap { display:grid;grid-template-columns:1fr 1.2fr;gap:80px; }
.contact-desc { font-size:16px;color:var(--text);line-height:1.8;margin-top:28px; }
.contact-items { margin-top:44px;display:flex;flex-direction:column;gap:28px; }
.contact-item { display:flex;gap:20px;align-items:flex-start; }
.contact-icon { width:46px;height:46px;background:var(--gray);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border:1px solid #2a2a2a; }
.contact-item-text p:first-child { font-weight:700;font-size:14px;letter-spacing:1px; }
.contact-item-text p:last-child { font-size:14px;color:var(--text);margin-top:2px; }
.contact-form { display:flex;flex-direction:column;gap:16px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.form-group { display:flex;flex-direction:column;gap:8px; }
.form-label { font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text); }
.form-input,.form-select,.form-textarea { background:var(--black);border:1px solid #2a2a2a;color:var(--white);padding:14px 18px;font-size:14px;font-family:'Barlow',sans-serif;transition:border-color .3s;outline:none; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:var(--lime); }
.form-textarea { resize:vertical;min-height:130px; }
.form-select { appearance:none;cursor:none; }
.form-select option { background:var(--black2); }
.form-submit { width:100%;background:var(--lime);color:var(--black);padding:18px;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;border:none;cursor:none;font-family:'Barlow',sans-serif;transition:all .3s; }
.form-submit:hover { background:var(--lime-dark); }
.form-success { display:none;background:rgba(184,255,0,.1);border:1px solid var(--lime);padding:16px;font-size:14px;color:var(--lime);text-align:center; }

/* ── FOOTER ── */
footer { background:var(--black);border-top:1px solid #111;padding:80px 48px 40px; }
.footer-top { display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px; }
.footer-logo { font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:4px; }
.footer-logo span { color:var(--lime); }
.footer-tagline { font-size:14px;color:var(--text);margin-top:12px;line-height:1.7;max-width:260px; }
.footer-social { display:flex;gap:10px;margin-top:28px; }
.social-btn { width:38px;height:38px;border:1px solid #2a2a2a;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text);text-decoration:none;transition:all .3s;cursor:none; }
.social-btn:hover { border-color:var(--lime);color:var(--lime);background:rgba(184,255,0,.05); }
.footer-col-title { font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px;color:var(--white); }
.footer-links { list-style:none;display:flex;flex-direction:column;gap:12px; }
.footer-links a { font-size:14px;color:var(--text);text-decoration:none;transition:color .3s; }
.footer-links a:hover { color:var(--lime); }
.footer-bottom { border-top:1px solid #1a1a1a;padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text); }

/* ── TOAST ── */
.toast { position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--black2);border:1px solid var(--lime);padding:14px 28px;font-size:13px;font-weight:600;letter-spacing:1px;color:var(--lime);z-index:99000;opacity:0;transition:all .4s;pointer-events:none; }
.toast.show { opacity:1;transform:translateX(-50%) translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .about-wrap{grid-template-columns:1fr}
  .about-img{height:380px}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-item.wide{grid-column:span 1}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  nav,.nav.scrolled{padding:18px 24px}
  .nav-links{display:none}
  .burger{display:flex}
  section{padding:80px 24px}
  #hero{padding:0 24px}
  .hero-stats{position:static;margin-top:40px;justify-content:flex-start}
  .services-grid{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr;grid-auto-rows:240px}
  .portfolio-item.tall{grid-row:span 1}
  .promos-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
