/*
Theme Name: Nucci Design
Theme URI: https://nuccidesign.com.br
Author: Nucci Design Agência Digital
Author URI: https://nuccidesign.com.br
Description: Tema oficial da Nucci Design – Agência Digital. Site de vendas de web sites com design dark, inspirador e persuasivo.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
License URI: https://nuccidesign.com.br
Text Domain: nuccidesign
Tags: dark, agency, digital, one-page, responsive
*/

/* ===== NUCCI DESIGN – ESTILOS PRINCIPAIS ===== */
:root {
  --red: #CC0000; --red-bright: #FF1A1A;
  --dark: #0a0a0a; --dark2: #111111; --dark3: #1a1a1a;
  --gray: #888888; --gray-light: #bbbbbb; --white: #f0f0f0;
  --chrome: linear-gradient(135deg, #aaa 0%, #fff 40%, #888 60%, #ccc 100%);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--dark); color:var(--white); font-family:'Rajdhani',sans-serif; overflow-x:hidden; }
::-webkit-scrollbar{width:4px} ::-webkit-scrollbar-track{background:var(--dark2)} ::-webkit-scrollbar-thumb{background:var(--red);border-radius:2px}

nav { position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(204,0,0,0.3);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:100px; }
.nav-logo { display:flex;align-items:center;gap:14px; }
.nav-logo img { height:92px;border-radius:6px; }
.nav-logo a img { height:92px;border-radius:6px; }
.nav-links { display:flex;gap:36px;list-style:none; }
.nav-links a { color:var(--gray-light);text-decoration:none;font-family:'Rajdhani',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.12em;text-transform:uppercase;position:relative;transition:color 0.3s; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transition:transform 0.3s; }
.nav-links a:hover { color:#fff; }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-cta { background:var(--red) !important;color:#fff !important;padding:8px 22px;border-radius:3px;font-weight:700 !important; }
.nav-cta:hover { background:var(--red-bright) !important; }
.nav-cta::after { display:none !important; }

#inicio { min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:80px 5% 60px; }
.hero-bg { position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(204,0,0,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(204,0,0,.06) 0%,transparent 60%),#0a0a0a; }
.hero-grid { position:absolute;inset:0;opacity:.04;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:60px 60px; }
.hero-content { position:relative;z-index:2;max-width:720px;animation:heroIn 1s ease both; }
@keyframes heroIn { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.hero-eyebrow { display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:22px;animation:heroIn 1s .1s ease both; }
.hero-eyebrow span { display:inline-block;width:32px;height:2px;background:var(--red); }
.hero-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,8vw,100px);line-height:.92;letter-spacing:.02em;color:#fff;margin-bottom:10px;animation:heroIn 1s .2s ease both; }
.hero-title .chrome { background:var(--chrome);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.hero-title .accent { color:var(--red);-webkit-text-fill-color:var(--red); }
.hero-title .dim { color:var(--gray); }
.hero-sub { font-size:clamp(16px,2.2vw,22px);color:var(--gray-light);font-weight:400;line-height:1.6;margin-bottom:40px;max-width:560px;animation:heroIn 1s .35s ease both; }
.hero-sub strong { color:#fff;font-weight:600; }
.hero-btns { display:flex;gap:16px;flex-wrap:wrap;animation:heroIn 1s .5s ease both; }
.btn-primary { background:var(--red);color:#fff;padding:14px 34px;font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border:none;border-radius:3px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,transform .15s; }
.btn-primary:hover { background:var(--red-bright);transform:translateY(-2px); }
.btn-secondary { background:transparent;color:var(--gray-light);padding:14px 34px;font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);border-radius:3px;cursor:pointer;text-decoration:none;display:inline-block;transition:border-color .2s,color .2s,transform .15s; }
.btn-secondary:hover { border-color:var(--red);color:#fff;transform:translateY(-2px); }
.hero-stats { display:flex;gap:48px;margin-top:64px;border-top:1px solid rgba(255,255,255,.06);padding-top:36px;animation:heroIn 1s .6s ease both; }
.stat-num { font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--red);line-height:1; }
.stat-label { font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-top:4px; }
.hero-visual { position:absolute;right:5%;top:50%;transform:translateY(-50%);width:min(420px,40vw);animation:heroIn 1.2s .3s ease both;opacity:.85; }
.hero-visual img { width:100%;border-radius:12px;box-shadow:0 0 80px rgba(204,0,0,.25),0 0 200px rgba(204,0,0,.08); }

section { padding:100px 5%; }
.section-label { display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:16px; }
.section-label::before { content:'';display:block;width:28px;height:2px;background:var(--red); }
.section-title { font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:.02em;color:#fff;margin-bottom:18px; }
.section-title .dim { color:var(--gray); }
.section-desc { font-size:16px;color:var(--gray-light);line-height:1.7;max-width:520px; }
.red-divider { height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);border:none;margin:0; }

#servicos { background:var(--dark2); }
.services-header { display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:60px; }
.services-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px; }
.service-card { background:var(--dark3);padding:40px 32px;border:1px solid transparent;position:relative;overflow:hidden;transition:border-color .3s,background .3s; }
.service-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s; }
.service-card:hover { border-color:rgba(204,0,0,.2);background:#1e1e1e; }
.service-card:hover::before { transform:scaleX(1); }
.service-icon { font-size:32px;margin-bottom:20px; }
.service-num { position:absolute;top:24px;right:28px;font-family:'Bebas Neue',sans-serif;font-size:56px;color:rgba(255,255,255,.03);line-height:1; }
.service-name { font-family:'Rajdhani',sans-serif;font-size:20px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;margin-bottom:10px; }
.service-text { font-size:14px;color:var(--gray);line-height:1.65; }

#quem-somos { background:var(--dark);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.about-timeline { display:flex;flex-direction:column;gap:0;margin-top:48px; }
.timeline-item { display:flex;gap:20px;padding-bottom:32px;position:relative; }
.timeline-item::before { content:'';position:absolute;left:15px;top:32px;bottom:0;width:1px;background:rgba(204,0,0,.2); }
.timeline-item:last-child::before { display:none; }
.timeline-dot { width:32px;height:32px;border-radius:50%;background:var(--dark3);border:2px solid var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:var(--red);font-weight:700; }
.timeline-year { font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--red);letter-spacing:.05em; }
.timeline-text { font-size:14px;color:var(--gray);line-height:1.6;margin-top:4px; }
.about-card-big { background:var(--dark3);border:1px solid rgba(204,0,0,.2);border-radius:8px;padding:48px 40px;position:relative;overflow:hidden; }
.about-card-big::after { content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),transparent); }
.about-big-num { font-family:'Bebas Neue',sans-serif;font-size:120px;line-height:1;background:var(--chrome);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:-10px; }
.about-big-label { font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:30px; }
.about-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:30px; }
.tag { background:rgba(204,0,0,.1);border:1px solid rgba(204,0,0,.3);color:var(--red);padding:5px 14px;border-radius:2px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600; }

#por-que { background:var(--dark2); }
.why-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:60px; }
.why-card { padding:32px 28px;background:var(--dark);border-radius:6px;border-left:3px solid var(--red);transition:transform .25s; }
.why-card:hover { transform:translateX(6px); }
.why-title { font-family:'Rajdhani',sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:10px; }
.why-text { font-size:14px;color:var(--gray);line-height:1.65; }

#orcamento { background:var(--dark); }
.budget-wrap { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:60px; }
.budget-info h3 { font-family:'Rajdhani',sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:14px; }
.budget-info p { font-size:14px;color:var(--gray);line-height:1.7;margin-bottom:28px; }
.plan-list { display:flex;flex-direction:column;gap:12px; }
.plan-item { display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--dark3);border:1px solid rgba(255,255,255,.05);border-radius:4px;transition:border-color .2s; }
.plan-item:hover { border-color:rgba(204,0,0,.3); }
.plan-dot { width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0; }
.plan-name { font-size:15px;font-weight:600;color:#fff;flex:1; }
.plan-price { font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--red); }
form { display:flex;flex-direction:column;gap:14px; }
form input,form textarea,form select { background:var(--dark3);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:14px 18px;color:#fff;font-family:'Rajdhani',sans-serif;font-size:15px;outline:none;transition:border-color .2s;resize:none; }
form input::placeholder,form textarea::placeholder { color:var(--gray); }
form input:focus,form textarea:focus,form select:focus { border-color:var(--red); }
form select option { background:var(--dark3); }
form textarea { min-height:110px; }

#contato { background:var(--dark2);text-align:center;padding:100px 5%; }
.contact-grid { display:flex;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:60px; }
.contact-item { display:flex;flex-direction:column;align-items:center;gap:10px; }
.contact-icon { width:54px;height:54px;border-radius:50%;background:rgba(204,0,0,.1);border:1px solid rgba(204,0,0,.3);display:flex;align-items:center;justify-content:center;font-size:22px; }
.contact-label { font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray); }
.contact-value { font-size:16px;font-weight:600;color:#fff;text-decoration:none;transition:color .2s; }
.contact-value:hover { color:var(--red); }

footer { background:#050505;border-top:1px solid rgba(204,0,0,.15);padding:36px 5%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px; }
.footer-brand { display:flex;align-items:center;gap:12px; }
.footer-brand img { height:38px;border-radius:5px; }
.footer-copy { font-size:12px;color:var(--gray);letter-spacing:.05em; }
.footer-copy strong { color:var(--red); }

.whatsapp-float { position:fixed;bottom:28px;right:28px;z-index:999;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);text-decoration:none;animation:waPulse 2.5s ease-in-out infinite;transition:transform .2s; }
.whatsapp-float:hover { transform:scale(1.1); }
.whatsapp-float svg { width:30px;height:30px;fill:#fff; }
@keyframes waPulse { 0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)} 50%{box-shadow:0 4px 36px rgba(37,211,102,.7),0 0 0 10px rgba(37,211,102,.08)} }

@media (max-width:900px) {
  #quem-somos { grid-template-columns:1fr;gap:40px; }
  .budget-wrap { grid-template-columns:1fr; }
  .hero-visual { display:none; }
  .hero-stats { gap:24px;flex-wrap:wrap; }
  .services-header { flex-direction:column;align-items:flex-start; }
}
/* ── HAMBÚRGUER ── */
.hamburger { display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:200; }
.hamburger span { display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media (max-width:700px) {
  nav { padding:0 5%;height:110px; }
  .nav-logo img { height:80px; }
  .nav-logo a img { height:80px; }
  .hamburger { display:flex; }
  .nav-links {
    max-height:0;
    overflow:hidden;
    flex-direction:column;
    gap:0;
    position:fixed;
    top:110px;
    left:0;
    right:0;
    background:rgba(10,10,10,0.98);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(204,0,0,0.3);
    padding:0;
    z-index:99;
    transition:max-height 0.35s ease, padding 0.35s ease;
  }
  .nav-links.open { max-height:500px;padding:16px 0 24px; }
  .nav-links li { width:100%; }
  .nav-links a { display:block;padding:14px 28px;font-size:16px;letter-spacing:0.1em;border-bottom:1px solid rgba(255,255,255,0.04); }
  .nav-links a::after { display:none; }
  .nav-cta { margin:16px 28px 0;text-align:center;border-radius:3px;padding:14px 28px !important; }
  .hero-title { font-size:48px; }
  #inicio { padding-top:130px; }
}
