/* Self-hosted fonts (extracted from Google Fonts, latin subset) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/inter.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url('/fonts/manrope.woff2') format('woff2');
}

:root{
    color-scheme: light;
    --paper:#FFFFFF;
    --paper-alt:#F3F5F7;
    --paper-raise:#FFFFFF;
    --ink:#2B2B2B;
    --muted:#6B6F73;
    --line:#E3E6E9;
    --accent:#009FE3;
    --accent-deep:#026F9E;
    --accent-soft:#E4F5FC;
    --brand-dark:#232323;
    --brand-dark-2:#1A1A1A;
    --brand-surface:#2E2E2E;
    --on-dark:#FFFFFF;
    --on-dark-muted:#B7BABD;
    --radius-s:8px;
    --radius-m:14px;
    --shadow-1:0 1px 2px rgba(30,30,30,0.05), 0 10px 28px -14px rgba(30,30,30,0.18);
    --font-display:"Manrope","Helvetica Neue",Arial,sans-serif;
    --font-body:"Inter","Segoe UI",Arial,sans-serif;
  }
  /* Site com paleta fixa por decisão da cliente (2026-09-10) — não adapta ao
     prefers-color-scheme do sistema/navegador do visitante. */

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.14;text-wrap:balance;margin:0;}
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  .eyebrow{font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-deep);}
  .eyebrow.on-dark{color:#5FCBF5;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
  section{padding:60px 0;}
  @media (max-width:720px){ section{padding:40px 0;} .wrap{padding:0 20px;} }

  /* ---------- Skip link (acessibilidade) ---------- */
  .skip-link{position:absolute;left:-999px;top:auto;background:var(--accent);color:#fff;padding:12px 18px;border-radius:0 0 8px 0;font-weight:700;font-size:14px;z-index:100;text-decoration:none;}
  .skip-link:focus{left:0;top:0;}

  .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;padding:12px 20px;border-radius:var(--radius-s);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;white-space:nowrap;}
  .btn:active{transform:translateY(1px);}
  .btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
  .btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1);}
  .btn-primary:hover{background:var(--accent-deep);}
  .btn-ghost-dark{background:transparent;color:var(--on-dark);border-color:rgba(255,255,255,0.35);}
  .btn-ghost-dark:hover{border-color:rgba(255,255,255,0.7);}
  .btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-outline:hover{border-color:var(--accent);color:var(--accent-deep);}
  .btn-sm{padding:9px 15px;font-size:13.5px;}

  header.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);}
  .nav-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;}
  .logo{display:flex;align-items:center;text-decoration:none;}
  .logo img{height:30px;width:auto;}
  nav.primary{display:flex;gap:26px;}
  nav.primary a{font-size:14.5px;font-weight:500;text-decoration:none;color:var(--muted);padding:6px 0;border-bottom:2px solid transparent;}
  nav.primary a:hover{color:var(--ink);border-color:var(--line);}
  nav.primary a[aria-current="page"]{color:var(--ink);border-color:var(--accent);}
  .nav-cta{display:flex;align-items:center;gap:10px;}
  .nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:var(--radius-s);width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex:none;}
  .nav-toggle svg{width:20px;height:20px;}
  .nav-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
  @media (max-width:900px){
    nav.primary{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 20px 14px;box-shadow:var(--shadow-1);}
    nav.primary.is-open{display:flex;}
    nav.primary a{padding:12px 0;border-bottom:1px solid var(--line);}
    nav.primary a:last-child{border-bottom:none;}
    .nav-toggle{display:flex;}
  }
  @media (max-width:520px){ .nav-cta .btn-sm{padding:9px 12px;font-size:12.5px;} }

  /* ---------- Breadcrumb ---------- */
  .breadcrumb{padding:14px 0;}
  .breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--muted);}
  .breadcrumb li{display:flex;align-items:center;gap:10px;}
  .breadcrumb li:not(:last-child)::after{content:"/";color:var(--line);}
  .breadcrumb a{text-decoration:none;color:var(--muted);}
  .breadcrumb a:hover{color:var(--accent-deep);}
  .breadcrumb li[aria-current="page"]{color:var(--ink);font-weight:600;}

  /* ---------- Hero (full-bleed photo, usada na Home) ---------- */
  .hero{position:relative;overflow:hidden;color:var(--on-dark);padding:96px 0 64px;min-height:78vh;display:flex;align-items:center;}
  .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 35%;z-index:0;}
  .hero-scrim{position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(100deg, rgba(13,15,17,.95) 0%, rgba(13,15,17,.88) 32%, rgba(13,15,17,.58) 56%, rgba(13,15,17,.22) 78%, rgba(13,15,17,.06) 100%),
      linear-gradient(0deg, rgba(13,15,17,.65) 0%, rgba(13,15,17,.1) 30%, rgba(13,15,17,.05) 70%, rgba(13,15,17,.4) 100%);
  }
  .hero .wrap{position:relative;z-index:2;}
  .hero-inner{max-width:600px;}
  .hero h1{font-size:clamp(2rem, 3.6vw, 2.85rem);letter-spacing:-0.01em;color:#fff;}
  .hero h1 em{font-style:normal;color:#5FCBF5;}
  .hero-sub{margin-top:16px;font-size:16.5px;color:var(--on-dark-muted);max-width:54ch;line-height:1.6;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
  .hero-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;}
  .hero-trust li{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--on-dark-muted);border:1px solid rgba(255,255,255,0.22);border-radius:100px;padding:6px 12px;backdrop-filter:blur(4px);background:rgba(0,0,0,0.15);}
  .hero-trust svg{width:13px;height:13px;flex:none;color:#5FCBF5;}
  @media (max-width:720px){ .hero{padding:64px 0 48px;min-height:auto;} .hero-bg{object-position:75% 30%;} }

  /* ---------- Page hero (usada nas páginas internas — com ou sem foto de fundo) ---------- */
  .page-hero{position:relative;background:var(--brand-dark);color:var(--on-dark);padding:56px 0 44px;overflow:hidden;}
  .page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(480px 320px at 100% 0%, rgba(0,159,227,0.22), transparent 70%);}
  .page-hero > .wrap{position:relative;}
  .page-hero.has-photo{padding:92px 0 60px;min-height:52vh;display:flex;align-items:center;}
  .page-hero.has-photo::after{content:none;}
  .page-hero.has-photo .wrap{position:relative;z-index:2;}
  @media (max-width:720px){ .page-hero.has-photo{padding:72px 0 44px;min-height:auto;} }
  .page-hero .eyebrow.on-dark{margin-bottom:8px;display:block;}
  .page-hero h1{font-size:clamp(1.7rem,3vw,2.3rem);color:#fff;max-width:46ch;}
  .page-hero p.lede{margin-top:14px;color:var(--on-dark-muted);font-size:15.5px;max-width:56ch;line-height:1.6;}
  .page-hero .breadcrumb{padding-top:0;margin-bottom:6px;}
  .page-hero .breadcrumb a, .page-hero .breadcrumb li{color:var(--on-dark-muted);}
  .page-hero .breadcrumb li[aria-current="page"]{color:#fff;}
  .page-hero .breadcrumb li:not(:last-child)::after{color:rgba(255,255,255,0.3);}

  /* ---------- Stat band (white) ---------- */
  .stat-band{background:var(--paper);border-bottom:1px solid var(--line);padding:36px 0;}
  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  @media (max-width:860px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }
  .stat{border-left:3px solid var(--accent);padding-left:14px;}
  .stat b{display:block;font-family:var(--font-display);font-size:clamp(1.6rem,2.6vw,2.1rem);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-0.02em;}
  .stat span{display:block;margin-top:4px;font-size:13px;color:var(--muted);}

  .section-head{max-width:660px;margin-bottom:34px;}
  .section-head h2{font-size:clamp(1.5rem,2.3vw,1.95rem);margin-top:8px;}
  .section-head p{margin-top:12px;color:var(--muted);font-size:15.5px;line-height:1.6;}

  /* ecosystem */
  .ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media (max-width:820px){ .ecosystem-grid{grid-template-columns:1fr;} }
  .eco-card{background:var(--paper-raise);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-m);padding:22px;box-shadow:var(--shadow-1);}
  .eco-card h3{margin-top:12px;font-size:17px;}
  .eco-card p{margin-top:8px;color:var(--muted);font-size:13.5px;line-height:1.55;}
  .brand-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:6px;}
  .brand-hinfoluz{background:var(--accent-soft);color:var(--accent-deep);}
  .brand-evolua{background:var(--brand-dark);color:#fff;}

  /* cases */
  .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media (max-width:860px){ .cases-grid{grid-template-columns:1fr;} }
  .case-card{background:var(--paper-raise);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;}
  .case-card .tag{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-deep);font-weight:700;}
  .case-card h3{margin-top:8px;font-size:16.5px;font-family:var(--font-display);}
  .case-card p{margin-top:8px;color:var(--muted);font-size:13.5px;line-height:1.55;}
  .case-card.pending{border-style:dashed;}
  .case-card.pending .tag{color:var(--muted);}

  /* solutions bento (usado na Home e no hub /solucoes/) */
  .bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media (max-width:980px){ .bento{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .bento{grid-template-columns:1fr;} }
  .pillar{grid-column:span 2;background:var(--paper-raise);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-m);padding:22px 22px 18px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:border-color .15s ease, transform .15s ease;}
  a.pillar:hover{border-color:var(--accent);transform:translateY(-2px);}
  @media (max-width:980px){ .pillar{grid-column:span 2;} }
  @media (max-width:560px){ .pillar{grid-column:span 1;} }
  .pillar-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;}
  .pillar-icon svg{width:21px;height:21px;}
  .pillar h3{font-size:18px;}
  .pillar p.desc{color:var(--muted);font-size:14px;line-height:1.55;}
  .pillar-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:4px;}
  .pillar-list li{font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:4px 10px;}
  .pillar-more{margin-top:6px;font-size:13px;font-weight:700;color:var(--accent-deep);}

  /* sectors */
  .sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media (max-width:980px){ .sector-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .sector-grid{grid-template-columns:1fr;} }
  .sector{background:var(--paper-raise);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-m);padding:20px;text-decoration:none;color:inherit;display:block;transition:border-color .15s ease;}
  a.sector:hover{border-color:var(--accent);}
  .sector .ico{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
  .sector .ico svg{width:18px;height:18px;}
  .sector .tag{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-deep);font-weight:700;}
  .sector h4{margin-top:8px;font-size:16px;font-family:var(--font-display);font-weight:800;}
  .sector p{margin-top:6px;font-size:13.5px;color:var(--muted);line-height:1.5;}

  /* why + authority */
  .why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start;}
  @media (max-width:920px){ .why-grid{grid-template-columns:1fr;gap:30px;} }
  .why-list{display:flex;flex-direction:column;gap:18px;}
  .why-item{display:flex;gap:14px;}
  .why-item .ico{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex:none;}
  .why-item .ico svg{width:17px;height:17px;}
  .why-item h4{font-size:15.5px;font-family:var(--font-display);font-weight:800;}
  .why-item p{margin-top:4px;color:var(--muted);font-size:13.5px;line-height:1.55;}
  .proof-card{background:var(--brand-dark);color:var(--on-dark);border-radius:var(--radius-m);padding:26px;position:relative;overflow:hidden;}
  .proof-card::after{content:"";position:absolute;inset:0;background:radial-gradient(300px 200px at 100% 0%, rgba(0,159,227,0.22), transparent 70%);}
  .proof-card > *{position:relative;}
  .proof-card h3{color:#fff;margin-top:8px;font-size:19px;}
  .proof-card p{margin-top:10px;color:var(--on-dark-muted);font-size:14px;line-height:1.6;}

  /* about */
  .about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  @media (max-width:700px){ .about-grid{grid-template-columns:1fr;} }
  .about-card{border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;background:var(--paper-raise);display:flex;gap:14px;}
  .about-card .ico{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex:none;}
  .about-card .ico svg{width:17px;height:17px;}
  .about-card p{margin-top:6px;font-size:13.5px;color:var(--muted);line-height:1.55;}
  .team-line{margin-top:24px;font-size:14px;color:var(--muted);border-left:3px solid var(--accent);padding-left:14px;}
  .partner-logos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 30px;margin-top:20px;}
  .partner-logos img{height:30px;width:auto;max-width:110px;object-fit:contain;filter:grayscale(1) opacity(0.75);transition:filter .15s ease;}
  .partner-logos img:hover{filter:none;}
  .partner-chip{font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-weight:600;}

  /* careers slim strip */
  .careers-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 26px;}
  .careers-strip h3{font-size:17px;font-family:var(--font-display);}
  .careers-strip span{display:block;color:var(--muted);font-size:13.5px;margin-top:3px;}

  /* faq accordion */
  .faq-list{display:flex;flex-direction:column;}
  details.faq-item{border-bottom:1px solid var(--line);padding:16px 0;}
  details.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-display);font-weight:700;font-size:15.5px;}
  details.faq-item summary::-webkit-details-marker{display:none;}
  details.faq-item summary .chev{flex:none;width:20px;height:20px;color:var(--accent);transition:transform .2s ease;}
  details.faq-item[open] summary .chev{transform:rotate(180deg);}
  details.faq-item .faq-a{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.65;max-width:66ch;}

  /* contact */
  .contact{background:var(--brand-dark);color:var(--on-dark);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
  @media (max-width:920px){ .contact-grid{grid-template-columns:1fr;gap:30px;} }
  .contact h2{color:#fff;}
  .contact-sub{margin-top:12px;color:var(--on-dark-muted);font-size:15px;max-width:46ch;line-height:1.6;}
  .contact-list{margin-top:22px;display:flex;flex-direction:column;gap:14px;}
  .contact-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--on-dark-muted);}
  .contact-list .ico{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;flex:none;color:#5FCBF5;}
  .contact-list svg{width:16px;height:16px;}
  .contact-list a{color:var(--on-dark);text-decoration:none;font-weight:700;}
  .contact-list a:hover{text-decoration:underline;}
  form.quote{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius-m);padding:22px;}
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
  .field label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--on-dark-muted);font-weight:600;}
  .field input,.field select,.field textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-s);padding:10px 12px;color:#fff;font-family:var(--font-body);font-size:14.5px;}
  .field select option{color:var(--ink);background:#fff;}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,0.4);}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media (max-width:480px){ .field-row{grid-template-columns:1fr;} }
  form.quote .btn-primary{width:100%;justify-content:center;margin-top:4px;}
  .form-note{margin-top:10px;font-size:12px;color:var(--on-dark-muted);text-align:center;}

  footer.site{background:var(--brand-dark-2);color:var(--on-dark-muted);border-top:1px solid rgba(255,255,255,0.08);padding:40px 0 24px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;}
  @media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  .footer-grid h5{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5FCBF5;margin-bottom:12px;font-weight:700;}
  .footer-grid ul{display:flex;flex-direction:column;gap:8px;}
  .footer-grid a{font-size:13.5px;color:var(--on-dark-muted);text-decoration:none;}
  .footer-grid a:hover{color:#fff;}
  .footer-logo img{height:26px;width:auto;filter:brightness(0) invert(1);}
  .footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;}
  .social-icons{display:flex;gap:10px;margin-top:14px;}
  .social-icons a{width:34px;height:34px;border-radius:100px;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:var(--on-dark-muted);transition:background-color .15s ease, color .15s ease;}
  .social-icons a:hover{background:var(--accent);color:#fff;}
  .social-icons svg{width:16px;height:16px;}

  .wa-fab{position:fixed;right:20px;bottom:20px;z-index:50;background:var(--accent);color:#fff;border-radius:100px;padding:12px 17px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;text-decoration:none;box-shadow:0 12px 26px -10px rgba(0,159,227,0.6);}
  .wa-fab svg{width:16px;height:16px;}

  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
