:root{
    --navy:#020817;
    --navy-2:#050e21;
    --navy-3:#081228;
    --surface:#0a1730;
    --surface-2:#0d1d3d;
    --blue-dark:#063B78;
    --blue:#0878D1;
    --cyan:#00C8F5;
    --orange:#FF9800;
    --orange-light:#FFB52E;
    --ink:#F5F7FA;
    --ink-muted:rgba(245,247,250,.68);
    --ink-faint:rgba(245,247,250,.46);
    --border:rgba(245,247,250,.09);
    --border-strong:rgba(8,120,209,.4);
    --radius-lg:20px;
    --radius-md:14px;
    --radius-sm:10px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  }
  body{
    margin:0;
    background:var(--navy);
    color:var(--ink);
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--blue);color:#fff;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  img{max-width:100%;display:block;}

  .container{width:100%;max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px;}
  @media(min-width:768px){.container{padding-left:40px;padding-right:40px;}}

  .skip-link{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;border-radius:8px;z-index:999;}
  .skip-link:focus{left:16px;top:16px;}

  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--cyan);
  }
  .eyebrow::before{
    content:"";width:22px;height:1px;background:linear-gradient(90deg,var(--orange),var(--cyan));
  }
  .eyebrow.center{justify-content:center;}
  .eyebrow.center::before{display:none;}

  h1,h2,h3,h4{font-family:'Inter',sans-serif;letter-spacing:-.02em;margin:0;}
  .h2{font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.15;color:var(--ink);}
  .h3{font-size:clamp(20px,2.4vw,24px);font-weight:700;line-height:1.3;color:var(--ink);}
  .section-lead{color:var(--ink-muted);font-size:17px;line-height:1.7;max-width:640px;}
  .section-head{max-width:720px;margin-bottom:48px;}
  .section-head.center{max-width:680px;margin-left:auto;margin-right:auto;text-align:center;}

  .accent-blue{
    background:linear-gradient(135deg,var(--cyan),var(--blue));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }
  .accent-orange{
    background:linear-gradient(135deg,var(--orange),var(--orange-light));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  }

  section{position:relative;}
  .section-pad{padding:96px 0;}
  @media(max-width:768px){.section-pad{padding:64px 0;}}
  .alt-bg{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);}

  .tech-grid{
    position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(circle at 1px 1px, rgba(8,120,209,.35) 1px, transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 0%,transparent 75%);
            mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 0%,transparent 75%);
    opacity:.35;
  }

  /* ---------- Header ---------- */
  header.site-header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:18px 0;
    transition:background .3s ease, padding .3s ease, border-color .3s ease, box-shadow .3s ease;
    border-bottom:1px solid transparent;
  }
  header.site-header.scrolled{
    background:rgba(2,8,23,.86);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    padding:12px 0;
    border-bottom-color:var(--border);
    box-shadow:0 10px 30px -20px rgba(0,0,0,.6);
  }
  .brand{display:flex;align-items:center;gap:11px;}
  .brand img{width:34px;height:34px;filter:drop-shadow(0 0 10px rgba(0,200,245,.35));}
  .brand-word{font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--ink);}
  .brand-word span{color:var(--orange);}
  .brand-tag{display:block;font-size:9px;letter-spacing:.16em;color:var(--ink-faint);font-weight:700;margin-top:1px;}

  nav.main-nav{display:none;align-items:center;gap:40px;}
  nav.main-nav a{
    font-size:14.5px;font-weight:500;color:var(--ink-muted);
    position:relative;padding:6px 0;transition:color .2s;
  }
  nav.main-nav a:hover{color:var(--ink);}
  nav.main-nav a::after{
    content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
    background:linear-gradient(90deg,var(--cyan),var(--orange));
    transition:width .25s ease;
  }
  nav.main-nav a:hover::after{width:100%;}
  @media(min-width:1024px){nav.main-nav{display:flex;}}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 24px;border-radius:999px;font-weight:600;font-size:14.5px;
    border:1px solid transparent;white-space:nowrap;transition:transform .18s ease, box-shadow .18s ease, background .2s, border-color .2s, color .2s;
  }
  .btn:active{transform:scale(.97);}
  .btn-primary{
    background:var(--orange);color:var(--navy);box-shadow: 0 8px 24px -8px rgba(255,152,0,.55) ;
    color:#063B78;box-shadow:0 8px 24px -8px rgba(8,120,209,.65);
  }
  .btn-primary:hover{  background:var(--orange-light); box-shadow:0 10px 32px -6px rgba(255,152,0,.55);transform:translateY(-1px);}
  .btn-orange{
    background:linear-gradient(135deg,var(--orange),var(--orange-light));
    color:var(--navy);box-shadow:0 8px 24px -8px rgba(255,152,0,.55);
  }
  .btn-orange:hover{box-shadow:0 10px 32px -6px rgba(255,178,46,.55);transform:translateY(-1px);}
  .btn-outline{background:#0878D1;color:#fff;border-color:#0878D1;}
  .btn-outline:hover{background:#0669B8;border-color:#0669B8;}
  .btn-ghost-cyan{color:var(--cyan);background:rgba(0,200,245,.08);border-color:rgba(0,200,245,.25);}
  .btn-ghost-cyan:hover{background:rgba(0,200,245,.15);}
  .btn-lg{padding:16px 30px;font-size:15.5px;}
  .btn-wa{background:linear-gradient(135deg,#1fae5c,#128c43);color:#fff;}
  .btn-wa:hover{box-shadow:0 10px 28px -8px rgba(31,174,92,.6);transform:translateY(-1px);}

  .icon-btn{
    width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--border);background:rgba(255,255,255,.02);
  }
  @media (min-width:1024px)
  {
    #menuToggle{
        display:none !important;
    }
}
  #menuToggle{display:none !important;}

  #mobileMenu{
    position:fixed;inset:0 0 auto 0;top:0;z-index:99;
    background:var(--navy);
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    padding:96px 24px 32px;
    display:flex;flex-direction:column;gap:4px;
    border-bottom:1px solid var(--border);
    max-height:100vh;overflow:auto;
  }
  #mobileMenu.open{opacity:1;transform:translateY(0);pointer-events:auto;}
  #mobileMenu a{padding:14px 4px;font-size:17px;font-weight:600;border-bottom:1px solid var(--border);}
  #mobileMenu .btn{margin-top:18px;}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .reveal-stagger > *{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
  .reveal-stagger.in-view > *{opacity:1;transform:translateY(0);}
  .reveal-stagger.in-view > *:nth-child(1){transition-delay:.02s}
  .reveal-stagger.in-view > *:nth-child(2){transition-delay:.09s}
  .reveal-stagger.in-view > *:nth-child(3){transition-delay:.16s}
  .reveal-stagger.in-view > *:nth-child(4){transition-delay:.23s}
  .reveal-stagger.in-view > *:nth-child(5){transition-delay:.30s}
  .reveal-stagger.in-view > *:nth-child(6){transition-delay:.37s}

  /* ---------- Hero ---------- */
  .hero{padding:158px 0 96px;position:relative;overflow:hidden;}
  .hero::before{
    content:"";position:absolute;top:-220px;right:-160px;width:640px;height:640px;border-radius:50%;
    background:radial-gradient(circle,rgba(8,120,209,.32),transparent 68%);filter:blur(10px);pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;bottom:-260px;left:-200px;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,152,0,.14),transparent 70%);filter:blur(10px);pointer-events:none;
  }
  .hero-grid{display:grid;grid-template-columns:1fr;gap:52px;align-items:center;position:relative;z-index:1;}
  @media(min-width:1024px){.hero-grid{grid-template-columns:1fr .92fr;gap:44px;}}
  @media(max-width:1023px){.hero-visual{order:-1;}}

  .hero h1{
    font-size:clamp(30px,4.7vw,50px);font-weight:800;line-height:1.12;letter-spacing:-.025em;
    margin:20px 0 20px;color:var(--ink);
  }
  
  .hero h1 .period{ font-size: 0.54em;}
  .h2 .period{ font-size: 0.54em;}
  .hero p.lead{font-size:17.5px;line-height:1.75;color:var(--ink-muted);max-width:560px;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
  .hero-trust{display:flex;gap:26px;margin-top:44px;flex-wrap:wrap;}
  .hero-trust div{font-size:13px;color:var(--ink-faint);font-weight:500;max-width:170px;line-height:1.5;}
  .hero-trust strong{display:block;color:var(--ink);font-size:13.5px;font-weight:700;margin-bottom:2px;}

  /* hero visual: provided data-architecture image, treated as the centerpiece */
  .hero-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:20px;}
  .hero-visual-glow{
    position:absolute;inset:-6%;border-radius:40px;pointer-events:none;z-index:0;
    background:
      radial-gradient(circle at 22% 18%,rgba(0,200,245,.30),transparent 42%),
      radial-gradient(circle at 78% 30%,rgba(8,120,209,.24),transparent 46%),
      radial-gradient(circle at 55% 88%,rgba(255,152,0,.24),transparent 48%);
    filter:blur(18px);
    animation:heroGlowPulse 7s ease-in-out infinite;
  }
  @keyframes heroGlowPulse{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.035)}}
  .hero-visual-frame{
    position:relative;z-index:1;width:100%;max-width:420px;border-radius:28px;overflow:hidden;
    border:1px solid var(--border-strong);
    box-shadow:0 40px 90px -30px rgba(0,0,0,.75), 0 0 0 1px rgba(255,255,255,.03) inset;
    background:var(--navy-2);
    transition:transform .5s cubic-bezier(.2,.7,.3,1);
    will-change:transform;
  }
  .hero-visual-frame img{width:100%;height:auto;display:block;}
  .hero-visual-ring{
    position:absolute;z-index:1;border-radius:50%;border:1px dashed rgba(0,200,245,.22);
    inset:-9%;pointer-events:none;animation:heroRingSpin 46s linear infinite;
  }
  @keyframes heroRingSpin{to{transform:rotate(360deg)}}
  .hero-particle{
    position:absolute;border-radius:50%;pointer-events:none;z-index:2;
    background:radial-gradient(circle,#fff,rgba(255,255,255,0) 70%);
    opacity:.85;animation:heroParticle 6s ease-in-out infinite;
  }
  @keyframes heroParticle{0%,100%{transform:translateY(0) scale(1);opacity:.25}50%{transform:translateY(-18px) scale(1.3);opacity:.9}}

  .data-chip{
    position:absolute;z-index:3;padding:10px 15px;border-radius:14px;background:rgba(10,23,48,.92);
    border:1px solid var(--border-strong);box-shadow:0 20px 40px -20px rgba(0,0,0,.8);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--ink);
    animation:float 5s ease-in-out infinite;
  }
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .data-chip .ico{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,245,.15);color:var(--cyan);flex-shrink:0;}
  .data-chip.orange .ico{background:rgba(255,152,0,.18);color:var(--orange-light);}
  .chip-a{top:2%;left:-8%;animation-delay:.1s;}
  .chip-b{bottom:10%;right:-10%;animation-delay:1s;}
  .chip-c{top:48%;left:-13%;animation-delay:2s;}
  @media(max-width:640px){.data-chip{display:none;}}

  /* ---------- Cards ---------- */
  .card{
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--navy-3);
    border:1px solid var(--border);border-radius:var(--radius-md);
    padding:28px 26px;transition:border-color .25s ease, transform .25s ease, background .25s ease, box-shadow .25s ease;
  }
  .card:hover{border-color:var(--border-strong);transform:translateY(-5px);background:linear-gradient(180deg,rgba(8,120,209,.08),rgba(255,255,255,0)),var(--navy-3);box-shadow:0 20px 40px -26px rgba(0,200,245,.35);}
  .card-icon{
    width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:rgba(8,120,209,.14);border:1px solid rgba(8,120,209,.3);color:var(--cyan);margin-bottom:18px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .card:hover .card-icon{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 22px -10px rgba(0,200,245,.6);}
  .card-icon-orange{background:rgba(255,152,0,.14);border:1px solid rgba(255,152,0,.32);color:var(--orange-light);}
  .card:hover .card-icon-orange{box-shadow:0 10px 22px -10px rgba(255,152,0,.6);}
  .card h3{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:9px;}
  .card p{font-size:14.5px;line-height:1.65;color:var(--ink-muted);margin:0;}
  .card .learn{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--cyan);}
  .card .learn svg{transition:transform .2s;}
  .card:hover .learn svg{transform:translateX(3px);}

  /* ícone + título lado a lado (soluções, desafios, metodologia) */
  .card:has(> .card-icon),
  .card:has(> .step-idx){
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    column-gap:14px;
  }
  .card:has(> .card-icon) p,
  .card:has(> .step-idx) p{
    grid-column:1 / -1;
    margin-top:14px;
  }
  .card:has(> .card-icon) .learn,
  .card:has(> .step-idx) .learn{
    grid-column:1 / -1;
  }
  .card:has(> .step-idx) h3{
   overflow-wrap:break-word;
   font-size:15.5px;
  }
  .card:has(> .step-idx){
   min-width:0;
  }
  .grid-3{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:640px){.grid-3{grid-template-columns:repeat(3,1fr);}}
  .grid-4{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:640px){.grid-4{grid-template-columns:1fr 1fr;}}
  @media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr);}}
  .grid-5{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch;}
  @media(min-width:640px){.grid-5{grid-template-columns:1fr 1fr;}}
  @media(min-width:1024px){.grid-5{grid-template-columns:repeat(5,1fr);}}
  .grid-6{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:640px){.grid-6{grid-template-columns:1fr 1fr;}}
 



  /* ---------- Convergência (O problema) ---------- */
  .converge{margin-top:8px;}
  .source-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:800px;margin:0 auto;}
  .source-tag{
    display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;
    background:rgba(255,255,255,.03);border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--ink-muted);
    transition:border-color .25s, color .25s, transform .25s;
  }
  .source-tag:hover{border-color:var(--border-strong);color:var(--ink);transform:translateY(-2px);}
  .source-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);flex-shrink:0;}
  .source-tag:nth-child(3n+2) .dot{background:var(--orange);box-shadow:0 0 8px var(--orange);}
  .flow-line{position:relative;width:2px;height:76px;margin:26px auto;background:linear-gradient(180deg,rgba(0,200,245,.5),rgba(255,152,0,.5));border-radius:2px;overflow:hidden;}
  .flow-line .dot-run{position:absolute;left:50%;top:-10px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff;animation:flowDown 2.2s linear infinite;}
  @keyframes flowDown{0%{top:-10px;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
  .intel-hub{
    max-width:340px;margin:0 auto;text-align:center;padding:26px 30px;border-radius:24px;
    background:radial-gradient(120% 140% at 50% 0%,rgba(8,120,209,.22),var(--navy-3) 70%);
    border:1px solid var(--border-strong);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
  }
  .intel-hub .ico{
    width:54px;height:54px;border-radius:16px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,rgba(0,200,245,.22),rgba(255,152,0,.22));border:1px solid var(--border-strong);color:var(--cyan);
  }
  .intel-hub strong{display:block;font-size:15px;font-weight:800;letter-spacing:.04em;color:var(--ink);}
  .intel-hub span{display:block;font-size:13px;color:var(--ink-muted);margin-top:6px;line-height:1.5;}

  /* ---------- Transformação (fluxo) ---------- */
  .journey{display:flex;flex-direction:column;gap:0;position:relative;}
  .journey::before{
    content:"";
    position:absolute;
    top:42px;
    left:5%;right:5%;
    height:2px;
    background:linear-gradient(90deg, var(--blue) 0%, var(--blue) 80%, var(--orange) 80%, var(--orange) 100%);
    z-index:0;
    display:none;
  }
  @media(min-width:900px){ .journey::before{ display:block; } }
  @media(min-width:900px){.journey{flex-direction:row;align-items:stretch;justify-content:space-between;}}
  .journey-step{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 18px;position:relative;}
  .journey-num{
    width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-strong);
    display:flex;align-items:center;justify-content:center;color:var(--cyan);
    transition:transform .3s ease;
    position:relative;z-index:1;
  }
  .journey-step:hover .journey-num{transform:translateY(-3px) scale(1.06);}
  .journey-step:last-child .journey-num{
    background:linear-gradient(150deg,rgba(255,152,0,.28),var(--surface-2));
    border-color:rgba(255,152,0,.5);color:var(--orange-light);
  }
  .journey-step h4{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:.02em;}
  .journey-step p{font-size:12.5px;color:var(--ink-faint);margin:0;line-height:1.5;}
  .journey-arrow{display:none;align-items:center;color:var(--border-strong);padding:0 4px;}
  @media(min-width:900px){.journey-arrow{display:none;}}

  /* ---------- Metodologia ---------- */
  .steps-line{position:relative;}
  .steps-line::before{
    content:"";position:absolute;top:23px;left:0;right:0;height:1px;
    background:linear-gradient(90deg,rgba(8,120,209,0),var(--border-strong) 15%,var(--border-strong) 85%,rgba(8,120,209,0));
    display:none;
  }
  
  .step-card .step-idx{
    font-size:13px;font-weight:800;color:var(--navy);background:linear-gradient(135deg,var(--cyan),var(--blue));
    width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    position:relative;z-index:1;margin-bottom:18px;box-shadow:0 8px 20px -6px rgba(0,200,245,.5);
  }
  .step-card:nth-child(2n) .step-idx{
    background:linear-gradient(135deg,var(--orange),var(--orange-light));
    box-shadow:0 8px 20px -6px rgba(255,152,0,.5);
  }

  /* ---------- Desafios ---------- */
  .challenge-banner{
    margin-top:44px;text-align:center;padding:30px 24px;border-radius:20px;
    background:linear-gradient(90deg,rgba(8,120,209,.10),rgba(255,152,0,.10));
    border:1px solid var(--border);
  }
  .challenge-banner p{font-size:clamp(19px,2.4vw,25px);font-weight:800;letter-spacing:-.01em;margin:0;}

  /* ---------- Projetos (carrossel horizontal) ---------- */
  .projects-shell{position:relative;}
  .projects-track{
    display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 4px 26px;
    scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;cursor:grab;
    -webkit-overflow-scrolling:touch;
  }
  .projects-track.dragging{cursor:grabbing;scroll-snap-type:none;}
  .projects-track::-webkit-scrollbar{height:7px;}
  .projects-track::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;}
  .projects-track::-webkit-scrollbar-track{background:transparent;}
  .project-card{
    flex:0 0 auto;width:min(460px,85vw);scroll-snap-align:start;border-radius:22px;overflow:hidden;
    background:var(--navy-3);border:1px solid var(--border);display:flex;flex-direction:column;
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .project-card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:0 26px 50px -28px rgba(0,200,245,.4);}
  .project-card-head{
    height:240px;position:relative;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(120% 140% at 20% 0%,rgba(8,120,209,.4),var(--navy-2) 70%);
  }
  .project-card-head.orange{background:radial-gradient(120% 140% at 80% 0%,rgba(255,152,0,.35),var(--navy-2) 70%);}
  .project-card-head .ico{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--cyan);}
  .project-card-head.orange .ico{color:var(--orange-light);}
  .project-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;cursor:zoom-in;transition:transform .3s ease;}
  .project-card:hover .project-card-img{transform:scale(1.04);}
  .project-card-gallery{position:absolute;inset:0;overflow:hidden;z-index:0;}
  .project-card-gallery-track{display:flex;height:100%;width:100%;transition:transform .4s ease;}
  .project-card-gallery-track .project-card-img{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;}
  .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(2,8,23,.65);border:1px solid var(--border);color:#fff;font-size:18px;line-height:1;cursor:pointer;}
  .gallery-prev{left:10px;}
  .gallery-next{right:10px;}
  .gallery-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2;}
  .gallery-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);}
  .gallery-dot.active{background:#fff;}
  .project-badge{position:absolute;top:12px;left:12px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:rgba(2,8,23,.65);border:1px solid var(--border);padding:5px 10px;border-radius:999px;z-index:1;}
  .project-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
  .project-card-body h3{font-size:16.5px;font-weight:800;color:var(--ink);}
  .project-line{font-size:13px;line-height:1.55;color:var(--ink-muted);}
  .project-line b{color:var(--ink);font-weight:700;}
  .project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
  .project-tag{font-size:11px;font-weight:700;color:var(--cyan);background:rgba(0,200,245,.08);border:1px solid rgba(0,200,245,.25);padding:4px 9px;border-radius:999px;}
  .projects-nav{display:flex;gap:10px;justify-content:flex-end;margin-bottom:18px;}
  .projects-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s,transform .2s;}
  .projects-nav button:hover{border-color:var(--border-strong);background:rgba(8,120,209,.12);transform:translateY(-2px);}

  /* ---------- CTA final ---------- */
  .cta-final{
    border-radius:28px;position:relative;overflow:hidden;padding:64px 36px;text-align:center;
    background:radial-gradient(120% 140% at 50% 0%, #0a1f42 0%, var(--navy) 65%);
    border:1px solid var(--border-strong);
  }
  .cta-final .tech-grid{opacity:.5;}

  /* ---------- Form ---------- */
  .form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:38px 32px;position:relative;overflow:hidden;}
  label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-muted);margin-bottom:7px;letter-spacing:.02em;}
  .field{margin-bottom:18px;}
  input[type=text],input[type=email],input[type=tel],select,textarea{
    width:100%;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;
    padding:13px 14px;color:var(--ink);font-size:14.5px;font-family:inherit;transition:border-color .2s, background .2s;
  }
  input::placeholder,textarea::placeholder{color:var(--ink-faint);}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);background:rgba(0,200,245,.04);}
  select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300C8F5' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
  select option{background:#0a1730;color:var(--ink);}
  textarea{resize:vertical;min-height:96px;}
  .form-row-2{display:grid;grid-template-columns:1fr;gap:0;}
  @media(min-width:640px){.form-row-2{grid-template-columns:1fr 1fr;gap:0 16px;}}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-faint);line-height:1.6;margin:6px 0 22px;}
  .consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--cyan);flex-shrink:0;}
  .consent a{color:var(--cyan);font-weight:600;}
  .form-success{display:none;text-align:center;padding:40px 10px;}
  .form-success.show{display:block;}
  .form-success .ico{width:64px;height:64px;border-radius:50%;background:rgba(0,200,245,.12);border:1px solid rgba(0,200,245,.35);display:flex;align-items:center;justify-content:center;color:var(--cyan);margin:0 auto 18px;}

  /* ---------- Footer ---------- */
  footer{background:var(--navy);border-top:1px solid var(--border);padding:64px 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:44px;}
  @media(min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
  .footer-col h5{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;}
  .footer-col a{display:block;font-size:14px;color:var(--ink-muted);margin-bottom:12px;transition:color .2s;}
  .footer-col a:hover{color:var(--cyan);}
  .footer-bottom{display:flex;flex-direction:column;gap:16px;justify-content:space-between;align-items:flex-start;margin-top:52px;padding-top:28px;border-top:1px solid var(--border);font-size:12.5px;color:var(--ink-faint);}
  @media(min-width:768px){.footer-bottom{flex-direction:row;align-items:center;}}
  .footer-bottom .legal a{display:inline;margin-right:18px;color:var(--ink-faint);}
  .footer-bottom .legal a:hover{color:var(--cyan);}
  .social-row{display:flex;gap:10px;}

  /* ---------- Modal ---------- */
  .modal-overlay{position:fixed;inset:0;background:rgba(2,8,23,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;}
  .modal-overlay.open{display:flex;}
  .modal-box{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;max-width:640px;width:100%;max-height:82vh;overflow:auto;padding:34px;}
  .modal-box h3{font-size:20px;font-weight:800;margin-bottom:16px;}
  .modal-box p, .modal-box li{font-size:13.5px;line-height:1.75;color:var(--ink-muted);}
  .modal-box ul{padding-left:18px;margin:12px 0;}
  .badge-note{font-size:11px;color:var(--ink-faint);border-top:1px solid var(--border);margin-top:18px;padding-top:14px;}

  /* ---------- Lightbox (imagem de projeto ampliada) ---------- */
  .lightbox-box{background:transparent;border:none;box-shadow:none;max-width:92vw;max-height:92vh;padding:0;display:flex;align-items:center;justify-content:center;}
  .lightbox-box img{max-width:92vw;max-height:92vh;border-radius:12px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);}

  /* ---------- WhatsApp flutuante ---------- */
  .whatsapp-float{
    position:fixed;
    right:24px;bottom:24px;
    width:60px;height:60px;
    border-radius:50%;
    background:linear-gradient(135deg,#25D366,#128C43);
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    box-shadow:0 10px 30px -8px rgba(18,140,67,.6);
    z-index:150;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .whatsapp-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 36px -8px rgba(18,140,67,.75);}
  @media(max-width:640px){.whatsapp-float{width:52px;height:52px;right:16px;bottom:16px;}}