/* ════════════════════════════════════════════════════════════
   Pulso Consulting — Sistema visual tech minimal nórdico
   Paleta: off-white frio, cinzas, preto. Zero accent colorido.
   ════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#FAFAFA;
  --bg-alt:#F4F4F5;
  --surface:#FFFFFF;
  --text:#18181B;
  --text-muted:#52525B;
  --text-faint:#71717A;
  --border:#E4E4E7;
  --border-strong:#D4D4D8;
  --accent:#18181B;
  --accent-hover:#27272A;
  --radius-sm:4px;
  --radius:6px;
  --font:'Inter',system-ui,-apple-system,sans-serif;
}

html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:var(--font);color:var(--text);line-height:1.7;background:var(--bg);overflow-x:hidden;width:100%;position:relative;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--text);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--text-muted)}
.container{max-width:1140px;margin:0 auto;padding:0 24px}

/* ─── NAVBAR ─────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(250,250,250,0.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .2s}
nav.scrolled{border-bottom-color:var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto;padding:14px 24px}
.nav-logo{display:flex;align-items:center;gap:10px;color:var(--text);min-width:0;flex-shrink:1}
.nav-logo .pulse-icon{width:28px;height:28px;flex-shrink:0}
.nav-logo .pulse-icon svg{width:100%;height:100%}
.brand-text{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand-main{font-size:1.05rem;font-weight:700;letter-spacing:-0.3px;color:var(--text)}
.brand-sub{font-size:0.62rem;font-weight:500;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:3px}
.nav-links{display:flex;gap:32px;align-items:center;list-style:none}
.nav-links a{color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-cta{background:var(--accent);color:var(--surface) !important;padding:8px 16px;border-radius:var(--radius);font-weight:500;font-size:.85rem;transition:background .15s}
.nav-cta:hover{background:var(--accent-hover);color:var(--surface) !important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.hamburger span{width:22px;height:1.5px;background:var(--text);transition:all .3s}

/* ─── PAGE HEADER (todas as páginas internas) ────────────── */
.page-header{padding:140px 0 72px;background:var(--bg);position:relative;text-align:left}
.page-header.centered{text-align:center}
.page-header .container{position:relative;z-index:1}
.page-header .eyebrow{display:inline-block;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.page-header h1{font-size:2.75rem;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-1.5px;margin-bottom:16px;max-width:780px}
.page-header.centered h1{margin-left:auto;margin-right:auto}
.page-header > .container > p{color:var(--text-muted);font-size:1.05rem;max-width:640px;line-height:1.65}
.page-header.centered > .container > p{margin:0 auto}

/* ─── HERO (homepage) ───────────────────────────────────── */
.hero{padding:140px 0 96px;background:var(--bg);position:relative}
.hero .container{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center}
.hero-eyebrow{display:inline-block;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-bottom:22px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.hero-text h1{font-size:3.25rem;font-weight:700;color:var(--text);line-height:1.08;letter-spacing:-1.8px;margin-bottom:24px}
.hero-text h1 span{color:var(--text-muted);font-weight:400}
.hero-text .tagline{font-size:1.05rem;color:var(--text-muted);margin-bottom:32px;max-width:480px;line-height:1.65}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.hero-visual{display:flex;justify-content:center;align-items:center}
.hero-card{background:var(--surface);border-radius:var(--radius);padding:32px;border:1px solid var(--border);max-width:420px;width:100%}
.hero-card .pulse-anim{display:flex;align-items:center;justify-content:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.hero-card .pulse-anim svg{width:200px}
.hero-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;text-align:left}
.stat-item .stat-num{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-0.5px;font-variant-numeric:tabular-nums;line-height:1}
.stat-item .stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:6px;font-weight:500;line-height:1.4}

/* ─── BUTTONS ───────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--radius);font-weight:500;font-size:.92rem;transition:all .15s;cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:var(--font);letter-spacing:-0.1px;line-height:1.4}
.btn-primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-hover);color:var(--surface);border-color:var(--accent-hover)}
.btn-outline{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
.btn-outline:hover{background:var(--bg-alt);color:var(--text);border-color:var(--text)}
.btn-ghost{background:transparent;color:var(--text);border-color:transparent}
.btn-ghost:hover{background:var(--bg-alt);color:var(--text)}
.btn-arrow{display:inline-block;transition:transform .2s}
.btn:hover .btn-arrow{transform:translateX(2px)}

/* ─── SECTIONS GENÉRICAS ─────────────────────────────────── */
section{padding:96px 0}
.section-alt{background:var(--surface)}
.section-bg-alt{background:var(--bg-alt)}
.section-header{max-width:680px;margin:0 auto 56px;text-align:left}
.section-header.centered{text-align:center}
.section-header h2{font-size:2.25rem;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:-1px;line-height:1.15}
.section-header p{color:var(--text-muted);font-size:1.02rem;line-height:1.65}
.section-tag{display:inline-block;color:var(--text-muted);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:2.5px;margin-bottom:14px}

/* ─── TRUST BAR ──────────────────────────────────────────── */
.trust-bar{padding:28px 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust-inner{display:flex;justify-content:center;gap:40px;align-items:center;flex-wrap:wrap}
.trust-item{font-size:.82rem;color:var(--text-muted);font-weight:500;letter-spacing:0.1px;display:inline-flex;align-items:center;gap:10px}
.trust-item::before{content:'';width:4px;height:4px;background:var(--text-faint);border-radius:50%;flex-shrink:0}

/* ─── ABOUT BRIEF (homepage) ─────────────────────────────── */
.about-brief{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-brief-text h3{font-size:1.65rem;color:var(--text);margin-bottom:18px;font-weight:700;letter-spacing:-0.5px;line-height:1.25}
.about-brief-text p{margin-bottom:16px;color:var(--text-muted);font-size:.98rem;line-height:1.7}
.about-brief-text .btn-outline{margin-top:14px}
.about-brief-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.brief-card{background:var(--bg);border-radius:var(--radius);padding:22px;border:1px solid var(--border);transition:border-color .15s,background .15s}
.brief-card:hover{border-color:var(--border-strong)}
.brief-card .meta{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:500;margin-bottom:10px;font-variant-numeric:tabular-nums}
.brief-card h4{font-size:1rem;color:var(--text);font-weight:700;margin-bottom:6px;letter-spacing:-0.2px;line-height:1.3}
.brief-card p{font-size:.83rem;color:var(--text-muted);line-height:1.55;margin:0}

/* ─── SERVICES GRID ──────────────────────────────────────── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.service-card{background:var(--bg);padding:36px 32px;transition:background .15s;position:relative;display:flex;flex-direction:column}
.section-alt .service-card,.section-bg-alt .service-card{background:var(--surface)}
.service-card:hover{background:var(--surface)}
.section-alt .service-card:hover{background:var(--bg-alt)}
.service-num{font-size:.72rem;color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:1.5px;margin-bottom:28px;display:block}
.service-card h3{font-size:1.2rem;color:var(--text);margin-bottom:12px;font-weight:700;letter-spacing:-0.3px}
.service-card > p{color:var(--text-muted);font-size:.92rem;margin-bottom:20px;line-height:1.65}
.service-card ul{list-style:none;padding:0;margin-top:auto}
.service-card ul li{font-size:.86rem;color:var(--text-muted);padding:4px 0 4px 18px;position:relative;line-height:1.55}
.service-card ul li::before{content:'';position:absolute;left:0;top:13px;width:8px;height:1px;background:var(--text-faint)}

/* ─── TIMELINE (processo) ────────────────────────────────── */
.timeline{max-width:880px;margin:0 auto;position:relative}
.timeline::before{content:'';position:absolute;left:23px;top:8px;bottom:8px;width:1px;background:var(--border)}
.tl-step{display:grid;grid-template-columns:48px 1fr;gap:24px;margin-bottom:18px;position:relative}
.tl-step:last-child{margin-bottom:0}
.tl-num{width:48px;height:48px;background:var(--surface);border:1px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;color:var(--text);position:relative;z-index:1;font-variant-numeric:tabular-nums}
.tl-card{background:var(--surface);border-radius:var(--radius);padding:22px 26px;border:1px solid var(--border);transition:border-color .15s}
.tl-card:hover{border-color:var(--border-strong)}
.tl-card .tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.tl-card h3{font-size:1.05rem;color:var(--text);font-weight:700;letter-spacing:-0.3px}
.tl-card .tl-time{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;background:var(--bg-alt);padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--border)}
.tl-card .tl-desc{color:var(--text-muted);font-size:.92rem;margin-bottom:12px;line-height:1.65}
.tl-card .tl-deliv{font-size:.85rem;color:var(--text-muted);background:var(--bg);padding:12px 14px;border-radius:var(--radius-sm);border-left:2px solid var(--text-faint);line-height:1.55}
.tl-card .tl-deliv strong{color:var(--text);font-weight:600}

/* ─── DELIVERABLES GRID ──────────────────────────────────── */
.deliv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.deliv-card{background:var(--bg);padding:28px 26px;transition:background .15s}
.section-alt .deliv-card{background:var(--surface)}
.deliv-card:hover{background:var(--surface)}
.section-alt .deliv-card:hover{background:var(--bg-alt)}
.deliv-card .meta{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:500;margin-bottom:12px;font-variant-numeric:tabular-nums}
.deliv-card h4{font-size:1rem;color:var(--text);font-weight:700;margin-bottom:8px;letter-spacing:-0.2px}
.deliv-card p{font-size:.86rem;color:var(--text-muted);line-height:1.6}

/* ─── COMPROMISSO / PROMISE BLOCK ────────────────────────── */
.promise{background:var(--text);color:var(--surface);border-radius:var(--radius);padding:56px 48px;max-width:880px;margin:0 auto}
.promise h2{font-size:1.65rem;color:var(--surface);font-weight:700;margin-bottom:14px;letter-spacing:-0.5px}
.promise > p{color:rgba(255,255,255,0.65);font-size:1rem;max-width:640px;margin:0 0 22px;line-height:1.65}
.promise ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 32px;margin-top:24px;padding:24px 0 0;border-top:1px solid rgba(255,255,255,0.12)}
.promise ul li{position:relative;padding-left:22px;font-size:.9rem;color:rgba(255,255,255,0.85);line-height:1.55}
.promise ul li::before{content:'';position:absolute;left:0;top:11px;width:8px;height:1px;background:rgba(255,255,255,0.4)}

/* ─── CTA SECTION ────────────────────────────────────────── */
.cta-section{padding:96px 0;background:var(--text);color:var(--surface);text-align:center}
.cta-section h2{font-size:2.1rem;font-weight:700;margin-bottom:14px;letter-spacing:-0.9px;line-height:1.2;color:var(--surface)}
.cta-section p{font-size:1.02rem;color:rgba(255,255,255,0.65);margin-bottom:32px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.65}
.cta-section .btn-primary{background:var(--surface);color:var(--text);border-color:var(--surface)}
.cta-section .btn-primary:hover{background:var(--bg);color:var(--text);border-color:var(--bg)}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{background:var(--bg);color:var(--text-muted);padding:64px 0 32px;border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand .footer-logo{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:-0.3px;display:flex;align-items:center;gap:10px}
.footer-brand .footer-logo svg{width:24px;height:24px}
.footer-brand p{font-size:.88rem;line-height:1.65;color:var(--text-muted);max-width:340px}
.footer-col h4{color:var(--text);font-size:.78rem;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:1.5px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{color:var(--text-muted);font-size:.88rem;transition:color .15s}
.footer-col ul li a:hover{color:var(--text)}
.footer-meta{padding-top:28px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.footer-meta .copyright{font-size:.78rem;color:var(--text-faint)}
.footer-meta .badges{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.footer-meta .badges a{opacity:.65;transition:opacity .15s;filter:grayscale(1)}
.footer-meta .badges a:hover{opacity:1}
.footer-meta .badges img{height:30px;display:block}

/* ─── FORMS ──────────────────────────────────────────────── */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.75rem;font-weight:500;color:var(--text);margin-bottom:8px;text-transform:uppercase;letter-spacing:1.2px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font);font-size:.93rem;color:var(--text);transition:border-color .15s,background .15s;background:var(--surface)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--text);background:var(--surface)}
.form-group textarea{min-height:120px;resize:vertical;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-disclaimer{font-size:.78rem;color:var(--text-muted);text-align:left;margin-top:14px;line-height:1.55}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:992px){
  .hero .container{grid-template-columns:1fr}
  .hero-visual{display:none}
  .hero-text h1{font-size:2.5rem}
  .services-grid{grid-template-columns:1fr 1fr}
  .deliv-grid{grid-template-columns:1fr 1fr}
  .about-brief{grid-template-columns:1fr;gap:36px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;padding:24px;border-bottom:1px solid var(--border);gap:18px}
  .nav-links.active{display:flex}
  .hamburger{display:flex}
  .hero{padding:110px 0 64px}
  .page-header{padding:110px 0 56px}
  .hero-text h1,.page-header h1{font-size:2rem;letter-spacing:-1px}
  section{padding:64px 0}
  .cta-section{padding:64px 0}
  .services-grid,.deliv-grid{grid-template-columns:1fr}
  .section-header h2{font-size:1.65rem}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .about-brief-cards{grid-template-columns:1fr 1fr}
  .trust-inner{gap:24px;justify-content:flex-start;padding-left:8px}
  .timeline::before{left:23px}
  .promise{padding:40px 28px}
  .promise ul{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .brand-sub{display:none}
  .brand-main{font-size:1rem}
  .about-brief-cards{grid-template-columns:1fr}
}
