:root{
      --bg:#f5f9f9;
      --bg-2:#eef4f4;
      --surface:#ffffff;
      --line:#e0eaea;
      --line-soft:#eaf1f1;
      --text:#0b1f26;
      --muted:#587680;
      --ink:#061821;
      --ink-2:#0a2735;
      --brand:#145572;
      --teal:#048a94;
      --tiff:#04b5b1;
      --tiff-soft:#e3f6f4;
      --on-dark:#e9f5f4;
      --on-dark-muted:#93b6b8;
      --radius:20px;
    }
    *{ box-sizing:border-box; }
    body{
      margin:0; background:var(--bg); color:var(--text);
      font-family:'Plus Jakarta Sans',-apple-system,sans-serif;
      font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
    }
    img{ max-width:100%; display:block; }
    a{ color:inherit; text-decoration:none; }
    h1,h2,h3,h4{ font-family:'Sora',-apple-system,sans-serif; margin:0; letter-spacing:-.03em; font-weight:600; text-wrap:balance; }
    .mono{ font-family:'IBM Plex Mono',monospace; font-variant-numeric:tabular-nums; }
    .wrap{ max-width:1200px; margin:0 auto; padding:0 28px; }

    .eyebrow{
      display:inline-flex; align-items:center; gap:9px;
      font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.12em;
      text-transform:uppercase; color:var(--teal);
      background:var(--tiff-soft); border:1px solid rgba(4,138,148,.18);
      padding:7px 14px; border-radius:999px; margin-bottom:22px;
    }
    .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--tiff); }

    /* ============ NAV ============ */
    .navwrap{ position:relative; z-index:50; background:var(--surface); border-bottom:1px solid var(--line); }
    .nav{
      width:100%; max-width:1200px; margin:0 auto;
      display:flex; align-items:center; justify-content:space-between; gap:24px;
      padding:16px 28px;
    }
    .nav img.logo{ height:42px; width:auto; }
    .navlinks{ display:flex; gap:6px; }
    .navlinks a{
      font-size:14px; font-weight:500; color:var(--muted);
      padding:8px 14px; border-radius:999px; transition:background .18s, color .18s;
    }
    .navlinks a:hover{ background:var(--bg-2); color:var(--text); }
    .btn{
      display:inline-flex; align-items:center; gap:9px;
      font-family:'Plus Jakarta Sans'; font-size:14.5px; font-weight:600;
      padding:12px 22px; border-radius:999px; border:1px solid transparent;
      transition:transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .18s, background .18s, color .18s;
      white-space:nowrap;
    }
    .btn svg{ width:16px; height:16px; }
    .btn-brand{ background:var(--brand); color:#fff; box-shadow:0 10px 24px -12px rgba(20,85,114,.8); }
    .btn-brand:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(20,85,114,.85); }
    .btn-light{ background:#fff; color:var(--ink); }
    .btn-light:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(0,0,0,.5); }
    .btn-ghost-d{ border-color:rgba(233,245,244,.24); color:var(--on-dark); }
    .btn-ghost-d:hover{ border-color:var(--tiff); color:var(--tiff); }
    .btn-wa{ background:#25D366; color:#08301a; }
    .btn-wa:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -12px rgba(37,211,102,.7); }

    /* ============ HERO ============ */
    .hero{ position:relative; padding:104px 0 0; background:var(--ink); overflow:hidden; }
    .hero .glow-a, .hero .glow-b, .hero .grid-bg{ position:absolute; pointer-events:none; }
    .hero .grid-bg{
      inset:0;
      background-image:
        linear-gradient(rgba(233,245,244,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(233,245,244,.045) 1px, transparent 1px);
      background-size:64px 64px;
      mask-image:radial-gradient(120% 90% at 50% 0%, #000 20%, transparent 75%);
      -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 20%, transparent 75%);
    }
    .hero .glow-a{ top:-260px; right:-140px; width:720px; height:720px; border-radius:50%; background:radial-gradient(circle, rgba(4,181,177,.30), transparent 62%); filter:blur(10px); }
    .hero .glow-b{ bottom:-360px; left:-200px; width:760px; height:760px; border-radius:50%; background:radial-gradient(circle, rgba(20,85,114,.55), transparent 65%); }
    .hero-inner{ position:relative; z-index:2; }
    .hero .eyebrow{ background:rgba(4,181,177,.12); border-color:rgba(4,181,177,.3); color:var(--tiff); }
    .hero-grid{ display:flex; gap:64px; align-items:flex-end; padding-bottom:64px; flex-wrap:wrap; }
    .hero-lead{ flex:1.35; min-width:320px; }
    .hero h1{
      color:#fff; font-size:70px; line-height:1.02; font-weight:700; letter-spacing:-.04em;
      margin-bottom:0; max-width:16ch;
    }
    .hero h1 .grad{
      background:linear-gradient(96deg, var(--tiff) 10%, #7fe3dd 90%);
      -webkit-background-clip:text; background-clip:text; color:transparent;
    }
    .hero-aside{ flex:1; min-width:280px; padding-bottom:6px; }
    .hero-aside p{ color:var(--on-dark-muted); font-size:16.5px; margin:0 0 26px; max-width:34ch; }
    .hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
    .stat-strip{
      position:relative; z-index:2; display:flex; gap:14px; flex-wrap:wrap;
      padding-bottom:56px;
    }
    .stat{
      flex:1; min-width:180px;
      background:rgba(233,245,244,.05); border:1px solid rgba(233,245,244,.11);
      border-radius:16px; padding:22px 24px;
      backdrop-filter:blur(6px);
      transition:transform .2s cubic-bezier(.2,.7,.3,1), border-color .2s, background .2s;
    }
    .stat:hover{ transform:translateY(-4px); border-color:rgba(4,181,177,.45); background:rgba(4,181,177,.08); }
    .stat b{
      display:block; font-family:'Sora'; font-weight:600; font-size:38px; line-height:1.1;
      letter-spacing:-.035em; color:#fff; font-variant-numeric:tabular-nums;
    }
    .stat span{ font-size:13px; color:var(--on-dark-muted); }
    .hero-fade{ position:relative; z-index:2; height:1px; }

    /* ============ MARQUEE ============ */
    .clients{ background:var(--bg); padding:44px 0 40px; overflow:hidden; border-bottom:1px solid var(--line-soft); }
    .clients-label{
      display:block; text-align:center; font-family:'IBM Plex Mono',monospace;
      font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin-bottom:26px;
    }
    .marquee{
      position:relative; overflow:hidden;
      mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
      -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    }
    .track{ display:flex; align-items:center; gap:16px; width:max-content; animation:slide 45s linear infinite; }
    .marquee:hover .track{ animation-play-state:paused; }
    @keyframes slide{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
    .chip{
      flex-shrink:0; width:178px; height:102px;
      display:flex; align-items:center; justify-content:center;
      background:var(--surface); border:1px solid var(--line-soft); border-radius:18px; padding:14px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
    }
    .chip:hover{ transform:translateY(-4px); border-color:rgba(4,138,148,.35); box-shadow:0 16px 30px -18px rgba(6,24,33,.5); }
    /* caixa de exibição idêntica para todos: 2:1, igual ao canvas dos arquivos tratados */
    .chip img{ width:148px; height:74px; object-fit:contain; }

    /* ============ SECTIONS ============ */
    .sec{ padding:104px 0; }
    .sec-head{ max-width:640px; margin-bottom:52px; }
    .sec-head h2{ font-size:44px; line-height:1.08; margin-bottom:16px; }
    .sec-head p{ color:var(--muted); font-size:16.5px; margin:0; }
    .sec-head h2 em{ font-style:normal; color:var(--teal); }

    /* pillars */
    .pillars{ display:flex; gap:16px; flex-wrap:wrap; }
    .pillar{
      flex:1; min-width:250px;
      background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
      padding:30px 28px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
    }
    .pillar:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -26px rgba(6,24,33,.42); border-color:rgba(4,138,148,.3); }
    .pillar .ico{
      width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center;
      background:linear-gradient(140deg, var(--tiff), var(--teal)); margin-bottom:20px;
    }
    .pillar .ico svg{ width:22px; height:22px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .pillar h3{ font-size:19px; margin-bottom:9px; }
    .pillar p{ font-size:14.5px; color:var(--muted); margin:0; }

    /* bento services */
    .bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
    .card{
      background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
      padding:30px 28px; display:flex; flex-direction:column; gap:12px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
      position:relative; overflow:hidden;
    }
    .card:hover{ transform:translateY(-5px); box-shadow:0 24px 48px -28px rgba(6,24,33,.45); border-color:rgba(4,138,148,.3); }
    .card.span3{ grid-column:span 3; }
    .card.span2{ grid-column:span 2; }
    .card .num{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--teal); letter-spacing:.1em; }
    .card h3{ font-size:21px; }
    .card.span2 h3{ font-size:18px; }
    .card p{ font-size:14.5px; color:var(--muted); margin:0; }
    .card .ico{
      width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center;
      background:var(--tiff-soft); border:1px solid rgba(4,138,148,.16); margin-bottom:4px;
    }
    .card .ico svg{ width:21px; height:21px; stroke:var(--teal); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .card.feature{ background:linear-gradient(150deg, var(--ink-2), var(--ink)); border-color:rgba(233,245,244,.1); }
    .card.feature h3{ color:#fff; }
    .card.feature p{ color:var(--on-dark-muted); }
    .card.feature .num{ color:var(--tiff); }
    .card.feature .ico{ background:rgba(4,181,177,.14); border-color:rgba(4,181,177,.3); }
    .card.feature .ico svg{ stroke:var(--tiff); }

    /* estrutura técnica: TI + compliance */
    .duo{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
    .panel{
      flex:1; min-width:320px;
      border-radius:var(--radius); padding:34px 32px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s;
    }
    .panel:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -28px rgba(6,24,33,.4); }
    .panel.dark{ background:linear-gradient(155deg, var(--ink-2), var(--ink)); color:var(--on-dark); }
    .panel.dark h3{ color:#fff; }
    .panel.light{ background:var(--surface); border:1px solid var(--line); }
    .panel .ico{
      width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:20px;
    }
    .panel.dark .ico{ background:rgba(4,181,177,.14); border:1px solid rgba(4,181,177,.3); }
    .panel.light .ico{ background:var(--tiff-soft); border:1px solid rgba(4,138,148,.16); }
    .panel .ico svg{ width:22px; height:22px; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .panel.dark .ico svg{ stroke:var(--tiff); }
    .panel.light .ico svg{ stroke:var(--teal); }
    .panel h3{ font-size:23px; margin-bottom:12px; }
    .panel .sub{ font-size:15px; margin:0 0 22px; }
    .panel.dark .sub{ color:var(--on-dark-muted); }
    .panel.light .sub{ color:var(--muted); }
    .plist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
    .plist li{ display:flex; gap:12px; font-size:14.5px; line-height:1.55; }
    .plist li::before{
      content:''; flex-shrink:0; width:7px; height:7px; border-radius:2px; margin-top:8px;
      background:var(--tiff);
    }
    .panel.dark .plist li{ color:var(--on-dark); }
    .panel.light .plist li{ color:var(--muted); }
    .panel.light .plist li::before{ background:var(--teal); }

    /* stack de ferramentas */
    .stack{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px 32px; }
    .stackrow{ display:flex; gap:22px; align-items:baseline; padding:16px 0; border-top:1px solid var(--line-soft); flex-wrap:wrap; }
    .stackrow:first-child{ border-top:none; padding-top:0; }
    .stackrow .lbl{
      flex:0 0 200px; font-family:'IBM Plex Mono',monospace; font-size:11px;
      letter-spacing:.11em; text-transform:uppercase; color:var(--muted);
    }
    .pills{ flex:1; display:flex; gap:8px; flex-wrap:wrap; }
    .pill{
      font-size:13.5px; font-weight:500; color:var(--text);
      background:var(--bg-2); border:1px solid var(--line); border-radius:999px; padding:6px 14px;
    }

    /* setores */
    .sectors{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
    .sector{
      background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:32px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
    }
    .sector:hover{ transform:translateY(-5px); box-shadow:0 24px 48px -28px rgba(6,24,33,.42); border-color:rgba(4,138,148,.3); }
    .sector.wide{ grid-column:span 2; background:linear-gradient(150deg, var(--ink-2), var(--ink)); border-color:rgba(233,245,244,.1); }
    .sector.wide h3{ color:#fff; }
    .sector.wide .stag{ color:var(--tiff); }
    .sector .stag{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.11em; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
    .sector h3{ font-size:22px; margin-bottom:8px; }
    .sector > p{ font-size:14.5px; color:var(--muted); margin:0 0 22px; max-width:62ch; }
    .sector.wide > p{ color:var(--on-dark-muted); }
    .projgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
    .proj{ border-top:1px solid var(--line); padding-top:14px; }
    .sector.wide .proj{ border-color:rgba(233,245,244,.16); }
    .proj b{
      display:block; font-family:'Sora'; font-weight:600; font-size:26px; letter-spacing:-.03em;
      color:var(--teal); font-variant-numeric:tabular-nums; margin-bottom:4px;
    }
    .sector.wide .proj b{ color:var(--tiff); }
    .proj .pname{ font-size:13.5px; font-weight:600; margin-bottom:3px; }
    .sector.wide .proj .pname{ color:#fff; }
    .proj .pdesc{ font-size:12.5px; color:var(--muted); line-height:1.5; }
    .sector.wide .proj .pdesc{ color:var(--on-dark-muted); }
    .slist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
    .slist li{ font-size:13.5px; color:var(--muted); display:flex; gap:10px; line-height:1.5; }
    .slist li::before{ content:''; flex-shrink:0; width:6px; height:6px; border-radius:2px; margin-top:7px; background:var(--teal); }
    @media (max-width:1000px){
      .sectors{ grid-template-columns:1fr; }
      .sector.wide{ grid-column:span 1; }
      .projgrid{ grid-template-columns:repeat(2,1fr); }
      .stackrow .lbl{ flex:0 0 100%; }
    }
    @media (max-width:560px){ .projgrid{ grid-template-columns:1fr; } }

    /* cases */
    .cases{ background:var(--ink); color:var(--on-dark); position:relative; overflow:hidden; }
    .cases .glow{ position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:900px; height:520px; background:radial-gradient(ellipse, rgba(4,138,148,.35), transparent 65%); pointer-events:none; }
    .cases .sec-head{ position:relative; z-index:2; }
    .cases .sec-head h2{ color:#fff; }
    .cases .sec-head p{ color:var(--on-dark-muted); }
    .cases .eyebrow{ background:rgba(4,181,177,.12); border-color:rgba(4,181,177,.3); color:var(--tiff); }
    .caselist{ position:relative; z-index:2; border-top:1px solid rgba(233,245,244,.12); }
    .caserow{
      display:flex; align-items:center; gap:28px; padding:24px 8px;
      border-bottom:1px solid rgba(233,245,244,.12);
      transition:background .18s, padding-left .18s;
    }
    .caserow:hover{ background:rgba(4,181,177,.06); padding-left:18px; }
    .caserow .client{ flex:0 0 190px; font-family:'Sora'; font-weight:600; font-size:17px; color:#fff; letter-spacing:-.02em; }
    .caserow .qty{ flex:0 0 150px; font-family:'IBM Plex Mono',monospace; font-size:24px; font-weight:600; color:var(--tiff); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
    .caserow .place{ flex:1; font-size:14.5px; color:var(--on-dark); }
    .caserow .method{ flex:0 0 240px; font-size:13.5px; color:var(--on-dark-muted); text-align:right; }
    .caselist .head{ padding:0 8px 14px; display:flex; gap:28px; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark-muted); }
    .caselist .head span:nth-child(1){ flex:0 0 190px; }
    .caselist .head span:nth-child(2){ flex:0 0 150px; }
    .caselist .head span:nth-child(3){ flex:1; }
    .caselist .head span:nth-child(4){ flex:0 0 240px; text-align:right; }

    /* team */
    .team{ display:flex; gap:16px; flex-wrap:wrap; }
    .person{
      flex:1; min-width:320px;
      display:flex; gap:26px; align-items:flex-start;
      background:var(--surface); border:1px solid var(--line); border-radius:26px; padding:34px;
      transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
    }
    .person:hover{ transform:translateY(-4px); box-shadow:0 24px 46px -28px rgba(6,24,33,.42); border-color:rgba(4,138,148,.3); }
    .person .ring{
      width:88px; height:88px; border-radius:50%; flex-shrink:0; padding:3px;
      background:linear-gradient(140deg, var(--tiff), var(--brand));
    }
    .person .ring .inner{
      width:100%; height:100%; border-radius:50%; background:var(--ink);
      display:flex; align-items:center; justify-content:center;
      font-family:'Sora'; font-weight:600; font-size:26px; color:#fff; letter-spacing:-.03em;
    }
    .person .who{ flex:1; min-width:0; }
    .person h3{ font-size:22px; margin-bottom:6px; }
    .person .role{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--teal); letter-spacing:.08em; text-transform:uppercase; margin-bottom:13px; }
    .person p{ font-size:14.5px; color:var(--muted); margin:0; }
    @media (max-width:560px){
      .person{ flex-direction:column; align-items:center; text-align:center; }
    }

    /* CTA */
    .cta{
      position:relative; overflow:hidden; border-radius:28px; padding:66px 52px;
      background:linear-gradient(130deg, var(--ink) 5%, var(--brand) 60%, var(--teal) 105%);
      display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
    }
    .cta .orb{ position:absolute; right:-120px; top:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(4,181,177,.45), transparent 62%); pointer-events:none; }
    .cta .t{ position:relative; z-index:2; }
    .cta h2{ color:#fff; font-size:38px; line-height:1.1; margin-bottom:12px; max-width:20ch; }
    .cta p{ color:rgba(233,245,244,.8); margin:0; font-size:16px; max-width:42ch; }
    .cta .a{ position:relative; z-index:2; }

    /* footer */
    footer{ background:var(--ink); color:var(--on-dark); padding:72px 0 32px; margin-top:104px; }
    .fgrid{ display:flex; gap:48px; flex-wrap:wrap; }
    .fcol{ flex:1; min-width:200px; }
    .fcol.brandcol{ flex:1.5; }
    .flogo{ background:#fff; padding:12px 16px; border-radius:14px; display:inline-flex; margin-bottom:20px; }
    .flogo img{ height:28px; width:auto; }
    footer h4{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-dark-muted); margin:0 0 16px; }
    footer p{ font-size:14px; color:var(--on-dark-muted); margin:0 0 6px; }
    footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
    footer li{ font-size:14px; color:var(--on-dark-muted); }
    footer ul a:hover{ color:var(--tiff); }
    .fbot{
      margin-top:56px; padding-top:22px; border-top:1px solid rgba(233,245,244,.12);
      display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
      font-size:12.5px; color:var(--on-dark-muted);
    }

    .fab{
      position:fixed; bottom:24px; right:24px; z-index:60;
      width:58px; height:58px; border-radius:50%; background:#25D366;
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 14px 32px -10px rgba(37,211,102,.65);
      transition:transform .2s cubic-bezier(.2,.7,.3,1);
    }
    .fab:hover{ transform:translateY(-4px) scale(1.05); }
    .fab svg{ width:29px; height:29px; }

    @media (max-width:1000px){
      .bento{ grid-template-columns:repeat(2,1fr); }
      .card.span3, .card.span2{ grid-column:span 1; }
      .hero h1{ font-size:52px; }
      .sec-head h2{ font-size:34px; }
      .navlinks{ display:none; }
    }
    @media (max-width:680px){
      .bento{ grid-template-columns:1fr; }
      .hero h1{ font-size:40px; }
      .hero{ padding-top:72px; }
      .caserow{ flex-wrap:wrap; gap:8px 20px; }
      .caserow .client{ flex:0 0 100%; }
      .caserow .method{ text-align:left; flex:1; }
      .caselist .head{ display:none; }
      .cta{ padding:44px 28px; }
      .cta h2{ font-size:28px; }
    }

/* ===================== PÁGINAS INTERNAS ===================== */

/* menu com submenu */
.navlinks .has-sub{ position:relative; }
.navlinks .has-sub > a::after{ content:'▾'; margin-left:6px; font-size:11px; opacity:.7; }
.subnav{
  position:absolute; top:calc(100% + 10px); left:0; min-width:250px;
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:8px; display:none; flex-direction:column; gap:2px;
  box-shadow:0 22px 44px -22px rgba(6,24,33,.35); z-index:60;
}
.navlinks .has-sub:hover .subnav, .navlinks .has-sub:focus-within .subnav{ display:flex; }
.subnav a{ padding:9px 14px; border-radius:10px; font-size:13.5px; white-space:nowrap; }
.navtoggle{
  display:none; background:none; border:1px solid var(--line); border-radius:12px;
  padding:9px 12px; cursor:pointer; color:var(--text);
}
.navtoggle svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; }
.mobilemenu{ display:none; border-top:1px solid var(--line); background:var(--surface); }
.mobilemenu.open{ display:block; }
.mobilemenu ul{ list-style:none; margin:0; padding:14px 28px 20px; display:flex; flex-direction:column; gap:2px; max-width:1200px; margin:0 auto; }
.mobilemenu a{ display:block; padding:11px 0; font-size:15px; font-weight:500; border-bottom:1px solid var(--line-soft); }
.mobilemenu .sub a{ padding-left:18px; font-size:14px; color:var(--muted); }

/* hero de página interna */
.phero{
  background:linear-gradient(165deg, var(--ink) 10%, var(--ink-2) 100%);
  color:var(--on-dark); position:relative; overflow:hidden;
  padding:76px 0 72px;
}
.phero .glow{
  position:absolute; top:-220px; right:-120px; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(4,181,177,.26), transparent 62%); pointer-events:none;
}
.phero .wrap{ position:relative; z-index:2; }
.phero .eyebrow{ background:rgba(4,181,177,.12); border-color:rgba(4,181,177,.3); color:var(--tiff); }
.phero h1{ color:#fff; font-size:52px; line-height:1.06; letter-spacing:-.035em; max-width:22ch; margin-bottom:18px; }
.phero p{ color:var(--on-dark-muted); font-size:17px; margin:0; max-width:60ch; }
.crumb{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--on-dark-muted); margin-bottom:18px;
}
.crumb a{ color:var(--on-dark-muted); }
.crumb a:hover{ color:var(--tiff); }

/* corpo de texto das páginas internas */
.prose{ max-width:760px; }
.prose h2{ font-size:30px; margin:0 0 16px; }
.prose h3{ font-size:21px; margin:36px 0 10px; }
.prose p{ font-size:16.5px; color:var(--muted); margin:0 0 18px; line-height:1.7; }
.prose p strong{ color:var(--text); font-weight:600; }
.prose ul{ margin:0 0 22px; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.prose ul li{ display:flex; gap:12px; font-size:16px; color:var(--muted); line-height:1.6; }
.prose ul li::before{ content:''; flex-shrink:0; width:7px; height:7px; border-radius:2px; margin-top:9px; background:var(--teal); }
.callout{
  background:var(--tiff-soft); border:1px solid rgba(4,138,148,.2); border-radius:var(--radius);
  padding:26px 28px; margin:8px 0 26px;
}
.callout p{ margin:0; color:var(--text); font-size:15.5px; }
.split{ display:flex; gap:56px; align-items:flex-start; flex-wrap:wrap; }
.split .main{ flex:1.6; min-width:320px; }
.split .side{ flex:1; min-width:270px; }
.sidecard{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:28px;
  position:sticky; top:24px;
}
.sidecard h4{ font-size:18px; margin:0 0 10px; }
.sidecard p{ font-size:14px; color:var(--muted); margin:0 0 18px; }

/* métodos (meios de aplicação) */
.methods{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.method{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px;
  transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
}
.method:hover{ transform:translateY(-5px); box-shadow:0 24px 48px -28px rgba(6,24,33,.42); border-color:rgba(4,138,148,.3); }
.method .ico{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--tiff-soft); border:1px solid rgba(4,138,148,.16); margin-bottom:18px; }
.method .ico svg{ width:22px; height:22px; stroke:var(--teal); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.method h3{ font-size:21px; margin-bottom:14px; }
.mrow{ display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid var(--line-soft); font-size:14px; }
.mrow:first-of-type{ border-top:none; }
.mrow .k{ color:var(--muted); }
.mrow .v{ font-weight:600; }
.bars{ display:flex; gap:4px; }
.bars i{ width:9px; height:9px; border-radius:2px; background:var(--line); display:block; }
.bars i.on{ background:var(--teal); }

/* clientes: grade completa */
.cgrid{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.cgrid .chip{ width:auto; }
.namegrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:16px; }
.namecard{
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px 18px;
  font-size:14.5px; font-weight:500;
}

/* contato */
.contactgrid{ display:flex; gap:16px; flex-wrap:wrap; }
.ccard{
  flex:1; min-width:250px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px;
  transition:transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, border-color .2s;
}
.ccard:hover{ transform:translateY(-5px); box-shadow:0 24px 48px -28px rgba(6,24,33,.42); border-color:rgba(4,138,148,.3); }
.ccard .ico{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--tiff-soft); border:1px solid rgba(4,138,148,.16); margin-bottom:18px; }
.ccard .ico svg{ width:22px; height:22px; stroke:var(--teal); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ccard h3{ font-size:19px; margin-bottom:8px; }
.ccard p{ font-size:14.5px; color:var(--muted); margin:0 0 6px; }
.ccard a.big{ font-family:'Sora'; font-weight:600; font-size:19px; color:var(--brand); letter-spacing:-.02em; }
.ccard a.big:hover{ color:var(--teal); }
.mapwrap{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); margin-top:16px; }
.mapwrap iframe{ width:100%; height:340px; border:0; display:block; }

@media (max-width:1000px){
  .navtoggle{ display:inline-flex; }
  .methods{ grid-template-columns:1fr; }
  .cgrid{ grid-template-columns:repeat(3,1fr); }
  .namegrid{ grid-template-columns:repeat(2,1fr); }
  .phero h1{ font-size:38px; }
  .sidecard{ position:static; }
}
@media (max-width:560px){
  .cgrid{ grid-template-columns:repeat(2,1fr); }
  .namegrid{ grid-template-columns:1fr; }
  .phero h1{ font-size:31px; }
  .prose h2{ font-size:25px; }
}
