/* Base compartilhada: tokens, tema, reset, cabeçalho, botões e rodapé. */
  :root{
    --bg:#121319;
    --bg-2:#191b24;
    --bg-3:#20222d;
    --primary:#CEFF4C;
    --primary-dim:#B8E83A;
    --navy:#21212B;
    --nav-bg:rgba(18,19,25,0.85);
    --accent-text:#CEFF4C;
    --bubble:#252732;
    --phone:#14151d;
    --phone-field:#1b1d27;
    --phone-notch:#0b0c11;
    --secondary:#047DB9;
    --secondary-text:#4FB6E8;
    --secondary-dim:#03608F;
    --text:#F5F5F2;
    --text-2:#9A9AA6;
    --text-3:#6B6B78;
    --border:rgba(255,255,255,0.08);
    --border-2:rgba(255,255,255,0.14);
  }
  [data-theme="light"]{
    --bg:#F6F7F9;
    --bg-2:#FFFFFF;
    --bg-3:#EEF0F4;
    --text:#14161C;
    --text-2:#4F5562;
    --text-3:#858B98;
    --border:rgba(20,22,28,0.09);
    --border-2:rgba(20,22,28,0.17);
    --nav-bg:rgba(246,247,249,0.88);
    --accent-text:#4A7600;
    --secondary-text:#047DB9;
    --bubble:#E9ECF1;
    --phone-field:#F3F4F7;
    color-scheme:light;
  }
  [data-theme="light"] .btn-primary{box-shadow:inset 0 0 0 1px rgba(33,33,43,0.12);}
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Montserrat',sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  .mono{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }
  .icon{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1380px;margin:0 auto;padding:0 28px;}
  section{padding:96px 0;}

  /* nav */
  html{scroll-padding-top:84px;}
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .25s ease,border-color .25s ease;
    background:var(--nav-bg);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  nav .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:18px;padding-bottom:18px;
  }
  .logo{display:flex;align-items:center;gap:10px;}
  .logo-img{height:44px;width:auto;display:block;}
  .logo-img-light{display:none;}
  [data-theme="light"] .logo-img-dark{display:none;}
  [data-theme="light"] .logo-img-light{display:block;}
  .logo-word{font-size:21px;}
  .logo-word b{font-weight:800;}
  .logo-word span{font-weight:300;color:var(--text-2);}
  .nav-actions{display:flex;align-items:center;gap:14px;}
  .theme-toggle{width:42px;height:42px;border-radius:10px;border:1px solid var(--border-2);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;}
  .theme-toggle:hover{border-color:var(--text-2);}
  .theme-toggle .icon-sun{display:none;}
  [data-theme="light"] .theme-toggle .icon-moon{display:none;}
  [data-theme="light"] .theme-toggle .icon-sun{display:block;}
  .nav-links{display:flex;gap:36px;font-size:17px;color:var(--text-2);}
  .nav-links a:hover,.nav-links a.current{color:var(--text);}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 22px;border-radius:8px;
    font-weight:600;font-size:17px;
    border:1px solid transparent;
    cursor:pointer;
  }
  .btn-primary{background:var(--primary);color:var(--navy);}
  .btn-primary:hover{background:var(--primary-dim);}
  .btn-ghost{border-color:var(--border-2);color:var(--text);}
  .btn-ghost:hover{border-color:var(--text-2);}
  nav.on-hero{background:transparent;backdrop-filter:none;border-bottom-color:transparent;}
  nav.on-hero .nav-links a{color:rgba(255,255,255,0.88);}
  nav.on-hero .nav-links a:hover{color:#fff;}
  nav.on-hero .theme-toggle{color:#fff;border-color:rgba(255,255,255,0.4);}
  [data-theme="light"] nav.on-hero .logo-img-dark{display:block;}
  [data-theme="light"] nav.on-hero .logo-img-light{display:none;}
  h1{
    font-size:55px;font-weight:800;line-height:1.08;letter-spacing:-0.02em;
    margin-bottom:22px;
  }
  h1 .hl{color:var(--accent-text);}

  footer{border-top:1px solid var(--border);background:var(--bg-2);padding:72px 0 0;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px;}
  .footer-brand p{font-size:16.5px;color:var(--text-2);margin:16px 0 24px;max-width:260px;line-height:1.6;}
  .footer-social{display:flex;gap:10px;}
  .footer-social a{
    width:36px;height:36px;border-radius:8px;border:1px solid var(--border-2);
    display:flex;align-items:center;justify-content:center;color:var(--text-2);
  }
  .footer-social a:hover{color:var(--accent-text);border-color:var(--accent-text);}
  .footer-col h5{font-size:14.5px;color:var(--text-3);margin-bottom:18px;}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
  .footer-col a{font-size:16.5px;color:var(--text-2);}
  .footer-col a:hover{color:var(--text);}
  .footer-contact li{display:flex;align-items:center;gap:9px;}
  .footer-contact i, .footer-contact svg{font-size:16.5px;color:var(--secondary);flex-shrink:0;}
  .footer-bottom{
    border-top:1px solid var(--border);padding:22px 0;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  }
  .footer-bottom p{font-size:15.5px;color:var(--text-3);}

  @media(max-width:860px){
    .footer-grid{grid-template-columns:1fr 1fr;row-gap:36px;}
    h1{font-size:38px;}
    .nav-links{display:none;}
    section{padding:64px 0;}
  }
  @media(max-width:560px){
    .wrap{padding:0 20px;}
    nav .wrap{padding-top:12px;padding-bottom:12px;}
    .logo-img{height:34px;}
    .nav-actions{gap:8px;}
    .theme-toggle{width:38px;height:38px;font-size:18px;}
    nav .btn{padding:10px 16px;font-size:14px;white-space:nowrap;}
    .footer-grid{grid-template-columns:1fr;}
    .footer-brand p{max-width:none;}
    .footer-col a{overflow-wrap:anywhere;}
  }
