@font-face {
      font-family: 'Inter Tight';
      src: url('./fonts/InterTight-VariableFont_wght.ttf') format('truetype');
      font-weight: 100 900;
      font-style: normal;
      font-display: swap;
    }

    @font-face {
      font-family: 'Inter Tight';
      src: url('./fonts/InterTight-Italic-VariableFont_wght.ttf') format('truetype');
      font-weight: 100 900;
      font-style: italic;
      font-display: swap;
    }

    :root {
      --blue:      #0043EB;
      --blue-dark: #002ba3;
      --blue-deep: #001466;
      --white:     #ffffff;
      --off:       #f5f7ff;
      --ink:       #060d1f;
      --muted:     #5a6480;
      --border:    #265ef8;
      --ease: cubic-bezier(.4,0,.2,1);
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    html.menu-locked { overflow: hidden; }
    body {
      font-family: 'Inter Tight', Arial, Helvetica, sans-serif;
      background: var(--white);
      color: var(--ink);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    .svg-symbols { display:none; }

    /* NAV */
    nav {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 200;
      padding: 0 5%;
      height: 92px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      background: #011E72;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .nav-right { display:flex; justify-content:flex-start; align-items:center; gap:12px; padding-left:34px; }
    .logo { display:flex; align-items:center; text-decoration:none; }
    .logo-img { width:86px; height:86px; display:block; object-fit:cover; object-position:center 38%; }
    .logo-dot { width:8px; height:8px; background:#fff; border-radius:50%; display:inline-block; animation:pulse 2s infinite; }
    @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }
    .menu { display:flex; list-style:none; gap:40px; justify-content:center; }
    .menu a { color:rgba(255,255,255,.82); text-decoration:none; font-weight:600; font-size:15px; letter-spacing:.01em; transition:color .25s; position:relative; }
    .menu a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:#fff; transition:width .3s var(--ease); }
    .menu a:hover { color:#fff; }
    .menu a:hover::after { width:100%; }
    .nav-socials { display:flex; gap:8px; align-items:center; }
    .nav-social-link { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; color:#fff; text-decoration:none; transition:all .25s var(--ease); box-shadow:0 8px 18px rgba(0,0,0,.16); }
    .nav-social-link:nth-child(1) { background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 8%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
    .nav-social-link:nth-child(2) { background:#1769ff; }
    .nav-social-link:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.22); }
    .nav-social-link svg { width:15px; height:15px; fill:currentColor; }
    .hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; background:none; border:none; cursor:pointer; padding:6px; border-radius:8px; transition:background .2s; }
    .hamburger:hover { background:rgba(255,255,255,.12); }
    .hamburger span { display:block; width:100%; height:2px; background:#fff; border-radius:2px; transition:all .35s var(--ease); transform-origin:center; }
    .hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
    .hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .mobile-menu { display:none; position:fixed; top:92px; left:0; right:0; background:#011E72; z-index:199; padding:0; max-height:0; overflow:hidden; transition:max-height .4s var(--ease),padding .4s var(--ease); border-bottom:1px solid rgba(255,255,255,.08); }
    .mobile-menu.open { max-height:600px; padding:16px 0 24px; }
    .mobile-menu ul { list-style:none; display:flex; flex-direction:column; }
    .mobile-menu ul li a { display:block; padding:16px 6%; color:rgba(255,255,255,.85); text-decoration:none; font-size:17px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.06); transition:all .2s; }
    .mobile-menu ul li:last-child a { border-bottom:none; }
    .mobile-menu ul li a:hover { color:#fff; background:rgba(255,255,255,.06); padding-left:8%; }
    .mobile-menu-cta { margin:16px 6% 0; display:block; padding:16px; background:#fff; color:var(--blue) !important; text-align:center; border-radius:10px; font-size:16px; font-weight:800; text-decoration:none; transition:all .2s; }
    .mobile-menu-cta:hover { background:rgba(255,255,255,.9); }
    .mobile-socials { display:flex; gap:12px; padding:20px 6% 0; }
    .mobile-social-link { display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.8); text-decoration:none; font-size:13px; font-weight:700; transition:all .2s; }
    .mobile-social-link:hover { background:rgba(255,255,255,.15); color:#fff; }
    .mobile-social-link svg { width:15px; height:15px; fill:currentColor; flex-shrink:0; }

    /* HERO */
    .hero { position:relative; background:var(--blue) url('banner-netuno.png') center center/cover no-repeat; min-height:100vh; display:flex; align-items:center; padding:100px 5% 0; overflow:hidden; }
    .hero-overlay { position:absolute; inset:0; background:rgba(0,29,110,0.50); z-index:1; }
    .hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; z-index:2; }
    .hero-blob { position:absolute; top:-20%; right:-10%; width:700px; height:700px; background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%); pointer-events:none; animation:blob-float 8s ease-in-out infinite; z-index:2; }
    @keyframes blob-float { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-30px) scale(1.04)} }
    .hero-container { display:flex; flex-direction:column; align-items:center; text-align:center; width:100%; max-width:900px; margin:0 auto; z-index:10; position:relative; }
    .hero-content { display:flex; flex-direction:column; align-items:center; }
    .titulo { font-size:clamp(45px,8vw,79px); font-weight:900; line-height:.95; letter-spacing:-.02em;  margin-bottom:28px; background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:drop-shadow(0 0 20px rgba(255,255,255,0.15)) drop-shadow(0 0 40px rgba(255,255,255,0.1)); }
    .titulo em { font-style:italic; }
    .hero-subtitle { color:rgba(255,255,255,.78); font-size:18px; font-weight:400; max-width:560px; line-height:1.65; margin-bottom:44px; text-align:center; }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
    .btn-hero-main { padding:16px 36px; background:#fff; color:var(--blue); font-size:15px; font-weight:800; border-radius:10px; text-decoration:none; transition:all .3s var(--ease); box-shadow:0 8px 24px rgba(0,0,0,.18); }
    .btn-hero-main:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.22); }
    .luz { position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:100%; height:300px; background:linear-gradient(180deg,transparent 0%,var(--white) 100%); pointer-events:none; z-index:5; }

    /* TRUST BAR */
    .trust-bar { padding:0; background:var(--ink); overflow:hidden; display:flex; align-items:stretch; }
    .marquee-track { display:flex; width:max-content; animation:marquee 20s linear infinite; }
    .marquee-track:hover { animation-play-state:paused; }
    @keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
    .marquee-item { padding:18px 40px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; display:flex; align-items:center; gap:20px; white-space:nowrap; }
    .marquee-item .sep { width:4px; height:4px; background:var(--blue); border-radius:50%; }

    /* SECTIONS */
    section { padding:130px 5%; display:flex; flex-direction:column; align-items:center; position:relative; overflow:hidden; }
    .section-header { text-align:center; margin-bottom:80px; max-width:760px; position:relative; z-index:2; }
    .section-tag { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:18px; }
    h2.section-title { font-size:clamp(36px,4vw,52px); font-weight:900; letter-spacing:-.03em; line-height:1.05; color:var(--ink); margin-bottom:18px; }
    h2.section-title span { color:var(--blue); }
    p.section-subtitle { font-size:18px; color:var(--muted); line-height:1.7; }
    .bg-claro { background:var(--off); }

    /* ═══════════════════════════════════════════
       BACKGROUNDS ARTÍSTICOS
    ═══════════════════════════════════════════ */

   /* SOLUÇÕES — mesmo background do PORTFÓLIO */
#solucoes{
  background: var(--off);
}

#solucoes .art-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}

#solucoes .art-bg::before{
  content:'';
  position:absolute;
  inset:0;

  background-image:
    repeating-linear-gradient(
      -55deg,
      transparent,
      transparent 28px,
      rgba(0,67,235,0.04) 28px,
      rgba(0,67,235,0.04) 29px
    );
}

#solucoes .art-bg::after{
  content:'';
  position:absolute;

  top:-120px;
  left:-80px;

  width:500px;
  height:500px;

  background:
    radial-gradient(
      circle,
      rgba(0,67,235,0.08) 0%,
      transparent 65%
    );

  border-radius:50%;
}

.solution-art-orbit {
  position:absolute;
  bottom:-40px;
  right:-60px;
  width:520px;
  opacity:0.045;
}

#solucoes > *:not(.art-bg){
  position:relative;
  z-index:2;
}

    /* VISIBILIDADE — pressão de mercado + Google/IA */
    #visibilidade {
      background:linear-gradient(135deg,#050817 0%,#001466 55%,#011E72 100%);
      color:#fff;
    }
    #visibilidade .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden;
    }
    #visibilidade .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size:54px 54px;
      opacity:.65;
    }
    #visibilidade .art-bg::after {
      content:'';
      position:absolute; inset:0;
      background-image:repeating-linear-gradient(
        -55deg,
        transparent,
        transparent 34px,
        rgba(0,208,132,.08) 34px,
        rgba(0,208,132,.08) 35px
      );
      opacity:.35;
    }
    #visibilidade > *:not(.art-bg) { position:relative; z-index:2; }
    #visibilidade .section-tag { color:#7fffd4; }
    #visibilidade h2.section-title { color:#fff; max-width:860px; margin-left:auto; margin-right:auto; letter-spacing:0; }
    #visibilidade h2.section-title span { color:#ff4d5e; text-shadow:0 0 22px rgba(255,77,94,.24); }
    #visibilidade p.section-subtitle { color:rgba(255,255,255,.72); }
    .visibility-grid {
      width:100%;
      max-width:1200px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:24px;
      align-items:stretch;
      position:relative;
      z-index:2;
    }
    .visibility-copy {
      min-height:100%;
      padding:46px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:16px;
      background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
      backdrop-filter:blur(24px) saturate(170%);
      -webkit-backdrop-filter:blur(24px) saturate(170%);
      box-shadow:0 24px 70px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .visibility-alert {
      display:inline-flex;
      width:max-content;
      padding:8px 14px;
      border-radius:8px;
      background:rgba(0,208,132,.12);
      border:1px solid rgba(127,255,212,.3);
      color:#7fffd4;
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      margin-bottom:24px;
    }
    .visibility-copy h3 {
      color:#fff;
      font-size:clamp(28px,3vw,42px);
      font-weight:900;
      line-height:1.05;
      letter-spacing:0;
      margin-bottom:22px;
    }
    .visibility-copy p {
      color:rgba(255,255,255,.72);
      font-size:17px;
      line-height:1.75;
      max-width:620px;
    }
    .visibility-link {
      width:max-content;
      margin-top:34px;
      padding:15px 24px;
      border-radius:10px;
      background:#fff;
      color:var(--blue);
      font-size:14px;
      font-weight:900;
      text-decoration:none;
      transition:all .3s var(--ease);
      box-shadow:0 14px 30px rgba(0,0,0,.2);
    }
    .visibility-link:hover {
      transform:translateY(-3px);
      box-shadow:0 20px 38px rgba(0,0,0,.26);
    }
    .visibility-cards {
      display:grid;
      gap:16px;
    }
    .visibility-card {
      padding:28px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      background:rgba(255,255,255,.075);
      backdrop-filter:blur(18px) saturate(150%);
      -webkit-backdrop-filter:blur(18px) saturate(150%);
      transition:transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
    }
    .visibility-card:hover {
      transform:translateY(-5px);
      border-color:rgba(127,255,212,.44);
      background:rgba(255,255,255,.11);
    }
    .visibility-num {
      color:#7fffd4;
      font-size:14px;
      font-weight:900;
      letter-spacing:.12em;
      margin-bottom:16px;
    }
    .visibility-card h4 {
      color:#fff;
      font-size:22px;
      font-weight:850;
      letter-spacing:0;
      margin-bottom:10px;
    }
    .visibility-card p {
      color:rgba(255,255,255,.68);
      font-size:16px;
      line-height:1.7;
    }

    /* QUEM SOMOS */
    #quem-somos {
      background:var(--white);
    }
    #quem-somos .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0;
    }
    #quem-somos .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image:radial-gradient(circle, rgba(0,67,235,.14) 1px, transparent 1px);
      background-size:34px 34px;
      mask-image:linear-gradient(90deg, transparent 0%, black 22%, black 78%, transparent 100%);
      -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 22%, black 78%, transparent 100%);
    }
    #quem-somos > *:not(.art-bg) { position:relative; z-index:2; }
    .about-grid {
      width:100%;
      max-width:1200px;
      display:grid;
      grid-template-columns:.86fr 1.14fr;
      gap:54px;
      align-items:center;
    }
    .about-card {
      min-height:520px;
      padding:42px;
      border:1px solid rgba(38,94,248,.36);
      border-radius:18px;
      background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.04));
      backdrop-filter:blur(24px) saturate(170%);
      -webkit-backdrop-filter:blur(24px) saturate(170%);
      box-shadow:0 22px 58px rgba(0,67,235,.12), inset 0 1px 0 rgba(255,255,255,.38);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      overflow:hidden;
      position:relative;
    }
    .about-card::before {
      content:'';
      position:absolute;
      inset:0;
      background-image:linear-gradient(rgba(0,67,235,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,67,235,.05) 1px, transparent 1px);
      background-size:42px 42px;
    }
    .about-card > * { position:relative; z-index:1; }
    .about-logo {
      width:150px;
      height:150px;
      object-fit:cover;
      object-position:center 38%;
      border-radius:18px;
      background:#011E72;
      box-shadow:0 18px 44px rgba(0,20,102,.2);
    }
    .about-card-content span {
      color:var(--blue);
      display:block;
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:16px;
    }
    .about-card-content h3 {
      color:var(--ink);
      font-size:clamp(28px,3vw,40px);
      font-weight:900;
      line-height:1.05;
      letter-spacing:0;
      margin-bottom:18px;
    }
    .about-card-content p {
      color:var(--muted);
      font-size:16px;
      line-height:1.7;
    }
    .about-copy {
      max-width:650px;
    }
    .about-copy .section-header { text-align:left; }
    .about-copy h2.section-title {
      text-align:left;
      letter-spacing:0;
    }
    .about-copy p.section-subtitle {
      text-align:left;
      max-width:620px;
    }
    .about-points {
      margin-top:38px;
      display:grid;
      gap:14px;
    }
    .about-point {
      padding:20px 22px;
      border:1px solid rgba(38,94,248,.28);
      border-radius:12px;
      background:rgba(255,255,255,.68);
      box-shadow:0 14px 34px rgba(0,67,235,.08);
      display:grid;
      gap:6px;
    }
    .about-point strong {
      color:var(--ink);
      font-size:16px;
      font-weight:850;
    }
    .about-point span {
      color:var(--muted);
      font-size:14px;
      line-height:1.6;
    }

    /* DEPOIMENTOS */
    #depoimentos {
      background:var(--off);
    }
    #depoimentos .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden;
    }
    #depoimentos .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image:repeating-linear-gradient(
        -55deg,
        transparent,
        transparent 28px,
        rgba(0,67,235,0.04) 28px,
        rgba(0,67,235,0.04) 29px
      );
    }
    #depoimentos > *:not(.art-bg) { position:relative; z-index:2; }
    #depoimentos h2.section-title { letter-spacing:0; }
    .testimonial-grid {
      width:100%;
      max-width:1200px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
    }
    .testimonial-card {
      margin:0;
      min-height:300px;
      padding:36px 32px;
      border:1px solid rgba(38,94,248,.42);
      border-radius:14px;
      background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.03)) !important;
      backdrop-filter:blur(24px) saturate(170%);
      -webkit-backdrop-filter:blur(24px) saturate(170%);
      box-shadow:0 18px 50px rgba(0,67,235,.10), inset 0 1px 0 rgba(255,255,255,.35);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
    }
    .testimonial-card:hover {
      transform:translateY(-6px);
      border-color:var(--blue);
      box-shadow:0 24px 60px rgba(0,67,235,.16);
    }
    .quote-mark {
      color:var(--blue);
      font-size:54px;
      font-weight:900;
      line-height:.75;
      margin-bottom:18px;
    }
    .testimonial-card p {
      color:var(--ink);
      font-size:17px;
      line-height:1.65;
      font-weight:600;
      letter-spacing:0;
    }
    .testimonial-card cite {
      display:block;
      font-style:normal;
      margin-top:30px;
      color:var(--muted);
      font-size:13px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    /* METODOLOGIA — grid de pontos + glow */
    #sobre {
      background: var(--white);
    }
    #sobre .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0;
    }
    #sobre .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image: radial-gradient(circle, rgba(0,67,235,0.18) 1px, transparent 1px);
      background-size: 32px 32px;
      mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
    }
    #sobre .art-bg::after {
      content:'';
      position:absolute;
      top:50%; left:50%;
      transform:translate(-50%,-50%);
      width:700px; height:700px;
      background: radial-gradient(circle, rgba(0,67,235,0.06) 0%, transparent 65%);
    }
    #sobre > *:not(.art-bg) { position:relative; z-index:2; }

    /* PORTFÓLIO — linhas diagonais + blob */
    #portfolio {
      background: var(--off);
    }
    #portfolio .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden;
    }
    #portfolio .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image: repeating-linear-gradient(
        -55deg,
        transparent,
        transparent 28px,
        rgba(0,67,235,0.04) 28px,
        rgba(0,67,235,0.04) 29px
      );
    }
    #portfolio .art-bg::after {
      content:'';
      position:absolute;
      top:-120px; left:-80px;
      width:500px; height:500px;
      background: radial-gradient(circle, rgba(0,67,235,0.08) 0%, transparent 65%);
      border-radius:50%;
    }
    #portfolio > *:not(.art-bg) { position:relative; z-index:2; }

  /* FAQ — mesmo fundo de bolinhas da METODOLOGIA */
#faq {
  background: var(--white);
}

#faq .art-bg {
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}

#faq .art-bg::before {
  content:'';
  position:absolute;
  inset:0;

  background-image:
    radial-gradient(
      circle,
      rgba(0,67,235,.18) 1px,
      transparent 1px
    );

  background-size:32px 32px;

  mask-image:
    radial-gradient(
      ellipse 80% 80% at 50% 50%,
      black 30%,
      transparent 100%
    );

  -webkit-mask-image:
    radial-gradient(
      ellipse 80% 80% at 50% 50%,
      black 30%,
      transparent 100%
    );
}

#faq > *:not(.art-bg) {
  position:relative;
  z-index:2;
}

    /* CONTATO — mantém o padrão de grid já existente no cta-wrap */
    #contato { background: var(--white); }
    #contato.contact-section { padding-bottom:0; }
    #contato .art-bg {
      position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden;
    }
    #contato .art-bg::before {
      content:'';
      position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(0,67,235,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,67,235,0.03) 1px, transparent 1px);
      background-size:52px 52px;
    }
    #contato > *:not(.art-bg) { position:relative; z-index:2; }

    /* ═══════════════════════════════════════════ */

    /* SOLUÇÕES */
    .grid-solucoes { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; width:100%; max-width:1200px; background:transparent; border:none; position:relative; z-index:2; }
    .card-solucao { background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.03)) !important; backdrop-filter:blur(24px) saturate(170%); -webkit-backdrop-filter:blur(24px) saturate(170%); border:1px solid rgba(0,67,235,.42); border-radius:5px; padding:52px 44px; transition:all .35s var(--ease); position:relative; overflow:hidden; box-shadow:0 18px 50px rgba(0,67,235,.10), inset 0 1px 0 rgba(255,255,255,.35); }
    .card-solucao:hover { transform:translateY(-6px); box-shadow:0 18px 50px rgba(0,67,235,.14); }
    .card-solucao::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
    .card-solucao:hover { background:linear-gradient(135deg, rgba(0,67,235,.16), rgba(255,255,255,.05)) !important; }
    .card-solucao:hover::before { transform:scaleX(1); }
    .card-num { font-size:11px; font-weight:800; letter-spacing:.12em; color:var(--blue); margin-bottom:20px; }
    .card-solucao h3 { font-size:22px; font-weight:800; color:var(--ink); letter-spacing:-.02em; margin-bottom:14px; }
    .card-solucao p { color:var(--muted); font-size:15px; line-height:1.7; }
    .destaque-prazo { display:inline-flex; align-items:center; gap:6px; margin-top:24px; padding:8px 16px; background:rgba(0,67,235,.08); color:var(--blue); font-weight:800; border-radius:8px; font-size:13px; }
    .destaque-prazo::before { content:''; width:6px; height:6px; background:var(--blue); border-radius:50%; animation:pulse 1.5s infinite; }

    /* PROCESSO */
    .processo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:100%; max-width:1200px; position:relative; z-index:2; }
    .etapa-item { background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.03)) !important; backdrop-filter:blur(24px) saturate(170%); -webkit-backdrop-filter:blur(24px) saturate(170%); padding:36px 32px; border-radius:16px; border:1px solid rgba(38,94,248,.42); position:relative; overflow:hidden; transition:all .3s var(--ease); box-shadow:0 18px 50px rgba(0,67,235,.10), inset 0 1px 0 rgba(255,255,255,.35); }
    .etapa-item::after { content:''; position:absolute; inset:0; background:rgba(0,67,235,.78); transform:scaleY(0); transform-origin:bottom; transition:transform .4s var(--ease); z-index:0; }
    .etapa-item:hover { border-color:var(--blue); }
    .etapa-item:hover::after { transform:scaleY(1); }
    .etapa-item:hover .numero-etapa, .etapa-item:hover h4, .etapa-item:hover p { color:#fff; position:relative; z-index:1; }
    .etapa-item > * { position:relative; z-index:1; transition:color .3s; }
    .numero-etapa { font-size:44px; font-weight:900; color:var(--border); line-height:1; margin-bottom:20px; letter-spacing:-.02em; }
    .etapa-item h4 { font-size:18px; font-weight:800; color:var(--ink); margin-bottom:10px; letter-spacing:-.01em; }
    .etapa-item p { color:var(--muted); font-size:14px; line-height:1.65; }

    /* PORTFOLIO */
    .portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:100%; max-width:1200px; position:relative; z-index:2; }
    .portfolio-item { margin:0; background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.03)) !important; backdrop-filter:blur(24px) saturate(170%); -webkit-backdrop-filter:blur(24px) saturate(170%); border:1px solid rgba(38,94,248,.42); border-radius:12px; aspect-ratio:4/3; position:relative; overflow:hidden; cursor:pointer; transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease); box-shadow:0 18px 50px rgba(0,67,235,.10), inset 0 1px 0 rgba(255,255,255,.35); }
    .portfolio-item:hover { transform:translateY(-6px); border-color:var(--blue); box-shadow:0 24px 60px rgba(0,67,235,.18); }
    .portfolio-item img { width:100%; height:100%; display:block; object-fit:cover; object-position:top center; transition:transform .5s var(--ease), filter .35s var(--ease); }
    .portfolio-item:hover img { transform:scale(1.04); filter:saturate(1.08); }
    .portfolio-cta { margin-top:42px; padding:17px 38px; background:var(--blue); color:#fff; font-size:15px; font-weight:800; border-radius:10px; text-decoration:none; transition:all .3s var(--ease); box-shadow:0 12px 28px rgba(0,67,235,.22); position:relative; z-index:2; }
    .portfolio-cta:hover { background:var(--blue-dark); transform:translateY(-3px); box-shadow:0 18px 36px rgba(0,67,235,.28); }

    /* FAQ */
    .faq-container { width:100%; max-width:800px; display:flex; flex-direction:column; gap:12px; position:relative; z-index:2; }
    details { background:linear-gradient(135deg, rgba(0,67,235,.10), rgba(255,255,255,.03)) !important; backdrop-filter:blur(24px) saturate(170%); -webkit-backdrop-filter:blur(24px) saturate(170%); border:1px solid rgba(38,94,248,.42); border-radius:14px; overflow:hidden; transition:border-color .3s, background .3s, box-shadow .3s; box-shadow:0 18px 50px rgba(0,67,235,.10), inset 0 1px 0 rgba(255,255,255,.35); }
    details[open] { border-color:var(--blue); }
    summary { padding:26px 28px; font-size:17px; font-weight:700; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--ink); letter-spacing:-.01em; gap:20px; }
    summary::-webkit-details-marker { display:none; }
    .summary-icon { width:32px; height:32px; border-radius:8px; background:rgba(255,255,255,.18); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(38,94,248,.35); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px; color:var(--blue); font-weight:300; transition:all .3s; }
    details[open] .summary-icon { background:var(--blue); color:#fff; border-color:var(--blue); }
    details p { padding:0 28px 28px; color:var(--muted); font-size:15px; line-height:1.75; }

    /* CTA */
    .cta-wrap { width:100%; max-width:1200px; position:relative; overflow:hidden; border-radius:28px; background:var(--blue); z-index:2; }
    .cta-grid-bg { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:50px 50px; }
    .cta-glow { position:absolute; bottom:-40%; right:-10%; width:500px; height:500px; background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%); pointer-events:none; }
    .cta-box { position:relative; z-index:2; padding:90px 5%; display:flex; flex-direction:column; align-items:center; text-align:center; color:#fff; }
    .cta-tag { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:20px; }
    .cta-box h2 { font-size:clamp(34px,4vw,52px); font-weight:900; letter-spacing:-.03em; line-height:1.05; color:#fff; margin-bottom:18px; max-width:700px; }
    .cta-box p { font-size:18px; opacity:.8; max-width:520px; line-height:1.65; margin:0 auto; }
    .botoes-contato { display:flex; justify-content:center; gap:14px; margin-top:44px; flex-wrap:wrap; }
    .btn { padding:17px 38px; font-size:15px; font-weight:800; border-radius:10px; text-decoration:none; transition:all .3s var(--ease); letter-spacing:-.01em; }
    .btn-branco { background:var(--white); color:var(--blue); box-shadow:0 8px 24px rgba(0,0,0,.18); }
    .btn-branco:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(0,0,0,.24); }
    .btn-outline { background:transparent; border:1.5px solid rgba(255,255,255,.35); color:#fff; }
    .btn-outline:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.6); }

    /* FOOTER */
    footer { padding:40px 5%; background:var(--ink); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; border-top:1px solid rgba(255,255,255,.06); }
    .footer-logo { display:flex; align-items:center; }
    .footer-logo-img { width:96px; height:96px; display:block; object-fit:cover; object-position:center 38%; }
    .footer-center { display:flex; flex-direction:column; align-items:center; gap:14px; }
    .footer-links { display:flex; gap:28px; justify-content:center; }
    .footer-links a { color:rgba(255,255,255,.4); font-size:13px; text-decoration:none; font-weight:500; transition:color .2s; }
    .footer-links a:hover { color:rgba(255,255,255,.8); }
    .footer-socials { display:flex; gap:8px; }
    .footer-social-link { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:8px; color:#fff; text-decoration:none; transition:all .25s var(--ease); box-shadow:0 8px 18px rgba(0,0,0,.18); }
    .footer-social-link:nth-child(1) { background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 8%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
    .footer-social-link:nth-child(2) { background:#1769ff; }
    .footer-social-link:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.24); }
    .footer-social-link svg { width:15px; height:15px; fill:currentColor; }
    .footer-copy { color:rgba(255,255,255,.25); font-size:12px; justify-self:end; }

    /* SCROLL REVEAL */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
    .reveal.visible { opacity:1; transform:none; }
    .reveal-d1 { transition-delay:.1s; }
    .reveal-d2 { transition-delay:.2s; }
    .reveal-d3 { transition-delay:.3s; }
    .reveal-d4 { transition-delay:.4s; }
    .reveal-d5 { transition-delay:.5s; }
    .reveal-d6 { transition-delay:.6s; }

    /* RESPONSIVE */
    @media (max-width:1024px) {
      .menu { display:none; }
      .hamburger { display:flex; }
      .mobile-menu { display:block; }
      .nav-right { gap:8px; }
      .visibility-grid { grid-template-columns:1fr; }
      .about-grid { grid-template-columns:1fr; gap:36px; }
      .about-card { min-height:auto; gap:72px; }
      .testimonial-grid { grid-template-columns:1fr 1fr; }
      .portfolio-grid { grid-template-columns:1fr 1fr; }
      .processo-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:640px) {
      nav { grid-template-columns:1fr auto; }
      .nav-socials { display:none; }
      .visibility-copy { padding:32px 24px; }
      .visibility-copy h3 { font-size:30px; }
      .visibility-link { width:100%; text-align:center; }
      .visibility-card { padding:24px; }
      .about-card { padding:30px 24px; border-radius:16px; }
      .about-logo { width:120px; height:120px; }
      .about-point { padding:18px; }
      .testimonial-grid { grid-template-columns:1fr; }
      .testimonial-card { min-height:auto; padding:30px 24px; }
      .portfolio-grid { grid-template-columns:1fr; }
      .processo-grid { grid-template-columns:1fr; }
      h2.section-title { font-size:32px; }
      .grid-solucoes { background:transparent; gap:16px; border:none; }
      .card-solucao { border-radius:16px; border:1px solid var(--border); }
      footer { grid-template-columns:1fr; gap:20px; }
      .footer-logo, .footer-copy { justify-self:center; }
      .footer-links { flex-wrap:wrap; justify-content:center; }
      section { padding:80px 5%; }
      .titulo { font-size:clamp(40px,11vw,60px); }
    }
