  :root{
    --navy-deep:#0A1628;
    --navy-panel:#0F2440;
    --navy-soft:#12294a;
    --navy-line:#1E3557;
    --accent:#3AA0FF;
    --accent-dim:#1E6FC4;
    --accent-glow:rgba(58,160,255,.35);
    --steel:#96A9C2;
    --paper:#EEF3F9;
    --white:#ffffff;
    --display:'Barlow Condensed',sans-serif;
    --body:'Inter',sans-serif;
    --mono:'JetBrains Mono',monospace;
    --radius:14px;
    --maxw:1200px;
    --ease:cubic-bezier(.22,1,.36,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{
    background:var(--navy-deep);
    color:var(--paper);
    font-family:var(--body);
    line-height:1.65;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  ul{list-style:none;}
  section{position:relative;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px);}

  h1,h2,h3,h4{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;}
  .accent{color:var(--accent);}

  .eyebrow{
    font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
    color:var(--accent);display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;
  }
  .eyebrow::before{content:'';width:28px;height:2px;background:var(--accent);border-radius:2px;}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:15px 30px;font-family:var(--body);font-weight:700;font-size:14px;
    letter-spacing:.03em;text-transform:uppercase;border-radius:999px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s,color .25s;
    border:1.5px solid transparent;cursor:pointer;
  }
  .btn-primary{background:var(--accent);color:var(--navy-deep);box-shadow:0 10px 30px -8px var(--accent-glow);}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px var(--accent-glow);background:#57b0ff;}
  .btn-ghost{border-color:var(--navy-line);color:var(--paper);}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px);}

  /* ===== HEADER ===== */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition:background .3s,border-color .3s,backdrop-filter .3s;
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(10,22,40,.82);backdrop-filter:blur(14px);
    border-bottom-color:var(--navy-line);
  }
  .nav-inner{
    max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px);
    height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .logo img{height:46px;width:auto;}
  nav.desktop ul{display:flex;gap:34px;align-items:center;}
  nav.desktop a{
    font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--steel);
    position:relative;padding:6px 0;transition:color .2s;
  }
  nav.desktop a:hover,nav.desktop a:focus-visible{color:var(--paper);}
  nav.desktop a::after{
    content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);
    border-radius:2px;transition:width .3s var(--ease);
  }
  nav.desktop a:hover::after,nav.desktop a:focus-visible::after{width:100%;}
  nav.desktop a.nav-cta{
    background:var(--accent);color:var(--navy-deep);padding:11px 22px;border-radius:999px;font-weight:700;
  }
  nav.desktop a.nav-cta::after{display:none;}
  nav.desktop a.nav-cta:hover{background:#57b0ff;color:var(--navy-deep);}

  .nav-toggle{
    display:none;width:44px;height:44px;border:1px solid var(--navy-line);border-radius:12px;
    background:rgba(15,36,64,.6);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;
  }
  .nav-toggle svg{width:20px;height:20px;stroke:var(--paper);fill:none;stroke-width:2;stroke-linecap:round;}
  .nav-toggle .ic-close{display:none;}
  .nav-toggle.open .ic-menu{display:none;}
  .nav-toggle.open .ic-close{display:block;}

  .drawer{
    position:fixed;inset:74px 0 auto 0;z-index:99;
    background:rgba(10,22,40,.97);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--navy-line);
    transform:translateY(-120%);transition:transform .4s var(--ease);
  }
  .drawer.open{transform:translateY(0);}
  .drawer ul{padding:14px clamp(20px,5vw,40px) 26px;}
  .drawer li+li{border-top:1px solid var(--navy-line);}
  .drawer a{display:block;padding:17px 4px;font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.03em;}
  .drawer a.nav-cta{margin-top:16px;text-align:center;background:var(--accent);color:var(--navy-deep);border-radius:999px;padding:15px;}

  /* ===== HERO ===== */
  .hero{
    min-height:100svh;display:flex;align-items:center;
    padding:110px 0 70px;overflow:hidden;
  }
  .hero::before{
    content:'';position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg,rgba(10,22,40,0),var(--navy-deep)),
      url('/img/hero-galpao.webp') center/cover no-repeat;
    filter:saturate(1.25) contrast(1.05);
  }
  .hero::after{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(110deg,rgba(10,22,40,.97) 0%,rgba(10,22,40,.9) 34%,rgba(10,22,40,.5) 60%,rgba(10,22,40,.2) 82%,transparent 100%),
      radial-gradient(ellipse 60% 50% at 12% 88%,var(--accent-glow),transparent 62%);
  }
  .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;width:100%;}
  .hero-kicker{font-family:var(--mono);font-size:12.5px;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:10px;}
  .hero-kicker::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);}
  h1.hero-title{font-size:clamp(40px,6.2vw,82px);color:var(--white);max-width:14ch;}
  .hero-lead{font-size:clamp(15px,1.6vw,18px);color:var(--steel);max-width:480px;margin-top:24px;}
  .hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}

  .hero-panel{
    background:linear-gradient(160deg,rgba(18,41,74,.85),rgba(15,36,64,.6));
    border:1px solid var(--navy-line);border-radius:var(--radius);
    padding:8px 26px;backdrop-filter:blur(6px);
    box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
  }
  .hero-panel .spec{padding:20px 0;border-bottom:1px solid var(--navy-line);}
  .hero-panel .spec:last-child{border-bottom:none;}
  .spec-num{font-family:var(--display);font-size:36px;font-weight:800;color:var(--white);display:block;line-height:1;}
  .spec-label{font-family:var(--mono);font-size:11px;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;margin-top:8px;display:block;}

  /* ===== SECTION SHELL ===== */
  .section{padding:clamp(64px,10vw,120px) 0;}
  .section-head{max-width:640px;margin-bottom:clamp(40px,6vw,68px);}
  .section-head h2{font-size:clamp(30px,4.4vw,52px);color:var(--white);}
  .section-head p{color:var(--steel);font-size:16px;margin-top:16px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head.center .eyebrow{justify-content:center;}

  .panel-bg{background:var(--navy-panel);}
  .divider{height:1px;background:repeating-linear-gradient(90deg,var(--accent) 0 10px,transparent 10px 22px);opacity:.35;}

  /* ===== ABOUT ===== */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,72px);align-items:center;}
  .about-copy p{color:var(--steel);margin-bottom:16px;font-size:16px;}
  .about-copy strong{color:var(--paper);}
  .value-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .value-card{
    background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:22px 20px;
    transition:transform .25s var(--ease),border-color .25s,background .25s;
  }
  .value-card:hover{transform:translateY(-4px);border-color:var(--accent-dim);background:var(--navy-panel);}
  .value-card .vnum{font-family:var(--mono);color:var(--accent);font-size:12px;display:block;margin-bottom:8px;}
  .value-card h4{font-size:17px;color:var(--white);margin-bottom:6px;}
  .value-card p{color:var(--steel);font-size:13.5px;line-height:1.5;}

  /* ===== SERVICES ===== */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .service-card{
    display:flex;flex-direction:column;gap:14px;
    background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:var(--radius);
    padding:20px;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
  }
  .service-card:hover{transform:translateY(-6px);border-color:var(--accent-dim);box-shadow:0 24px 50px -28px rgba(0,0,0,.8);}
  .service-card .simg{width:100%;aspect-ratio:16/10;border-radius:10px;overflow:hidden;border:1px solid var(--navy-line);}
  .service-card .simg img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}
  .service-card:hover .simg img{transform:scale(1.06);}
  .service-card h3{font-size:18px;color:var(--white);}
  .service-card p{color:var(--steel);font-size:13.5px;line-height:1.55;}
  .note-strip{display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:28px;border-top:1px solid var(--navy-line);}
  .note-strip span{font-size:22px;color:var(--accent);}
  .note-strip p{font-family:var(--mono);font-size:12.5px;color:var(--steel);letter-spacing:.04em;text-transform:uppercase;}

  /* ===== STRUCTURES ===== */
  .structures{
    background:linear-gradient(90deg,var(--navy-deep) 0%,rgba(10,22,40,.9) 42%,rgba(10,22,40,.4) 72%,rgba(10,22,40,.2) 100%),
      url('/img/estrutura-mezanino.webp') center right/cover no-repeat;
  }
  .structures-inner{max-width:640px;}
  .checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:8px;}
  .checklist li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:15px;color:var(--paper);font-weight:500;}
  .checkdot{width:24px;height:24px;border-radius:50%;flex-shrink:0;background:var(--navy-panel);border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;}
  .checkdot svg{width:12px;height:12px;stroke:var(--accent);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
  .cap-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px;}
  .cap-item{background:rgba(15,36,64,.72);backdrop-filter:blur(6px);border:1px solid var(--navy-line);border-radius:12px;padding:24px 16px;text-align:center;}
  .cap-item svg{display:block;width:40px;height:40px;stroke:var(--accent);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 12px;}
  .cap-item span{font-family:var(--display);font-weight:700;font-size:14px;text-transform:uppercase;color:var(--white);}

  /* ===== PROCESS ===== */
  .process-media{border:1px solid var(--navy-line);border-radius:var(--radius);overflow:hidden;margin-bottom:0;position:relative;z-index:1;}
  .process-media img{width:100%;height:auto;}
  .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:2;margin-top:-72px;margin-bottom:36px;}
  @media (max-width:700px){
    .process-grid{margin-top:-40px;}
  }
  .pstep{
    background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:24px 18px;text-align:center;
    transition:transform .25s var(--ease),border-color .25s;
  }
  .pstep:hover{transform:translateY(-5px);border-color:var(--accent-dim);}
  .pcircle{width:66px;height:66px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--accent-dim),var(--accent));box-shadow:0 10px 24px -10px var(--accent-glow);}
  .pcircle svg{width:30px;height:30px;stroke:var(--white);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .pnum{font-family:var(--mono);font-size:10px;color:var(--steel);letter-spacing:.14em;display:block;margin-bottom:6px;}
  .plabel{font-family:var(--display);font-weight:700;font-size:14px;text-transform:uppercase;color:var(--white);}
  .process-note{text-align:center;max-width:620px;margin:48px auto 0;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:20px;color:var(--white);}

  /* ===== DIFF ===== */
  .diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .diff-card{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:26px 22px;transition:transform .25s var(--ease),border-color .25s;text-align:center;}
  .diff-card:hover{transform:translateY(-5px);border-color:var(--accent-dim);}
  .diff-card-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;}
  .diff-card svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
  .diff-card h4{font-size:17px;color:var(--white);margin:0;}
  .diff-card p{color:var(--steel);font-size:13.5px;}
  .diff-banner{margin-top:16px;text-align:center;padding:clamp(36px,6vw,60px) 24px;border:1px solid var(--navy-line);border-radius:var(--radius);background:linear-gradient(160deg,var(--navy-panel),var(--navy-deep));}
  .diff-banner p{font-family:var(--display);font-size:clamp(17px,2.6vw,36px);font-weight:800;text-transform:uppercase;color:var(--white);width:100%;margin:0 auto;white-space:nowrap;text-align:center;}
  @media (max-width:700px){
    .diff-banner p{white-space:normal;max-width:26ch;font-size:clamp(18px,5vw,26px);}
  }

  /* ===== PRODUCTS ===== */
  .products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:52px;}
  .product-card{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:12px;padding:22px 20px;transition:transform .25s var(--ease),border-color .25s,background .25s;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;}
  .product-card:hover{transform:translateY(-5px);border-color:var(--accent-dim);background:var(--navy-panel);}
  .product-card svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
  .product-card span{font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase;color:var(--white);}
  .brands-label{font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;margin-bottom:22px;}
  .brands-row{
    display:flex;flex-wrap:nowrap;
    padding-top:32px;border-top:1px solid var(--navy-line);
    overflow:hidden;position:relative;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  }
  .brands-track{display:flex;align-items:center;flex-shrink:0;gap:clamp(24px,5vw,48px);padding-right:clamp(24px,5vw,48px);animation:brandsSlide 22s linear infinite;}
  .brand-logo{height:28px;width:auto;max-width:130px;flex-shrink:0;filter:brightness(0) saturate(100%) invert(72%) sepia(9%) saturate(573%) hue-rotate(179deg) brightness(92%) contrast(88%);opacity:.7;transition:filter .3s,opacity .3s;}
  .brand-logo:hover{filter:none;opacity:1;}
  .brand-swap{position:relative;display:inline-block;flex-shrink:0;height:38px;}
  .brand-swap .brand-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);height:38px;margin:0;}
  .brand-swap .brand-logo:first-child{position:relative;top:auto;transform:none;filter:brightness(0) saturate(100%) invert(72%) sepia(9%) saturate(573%) hue-rotate(179deg) brightness(92%) contrast(88%);opacity:.7;transition:opacity .3s;}
  .brand-swap:hover .brand-logo:first-child{opacity:0;}
  .brand-logo--hover{filter:none !important;opacity:0;pointer-events:none;transition:opacity .3s;}
  .brand-swap:hover .brand-logo--hover{opacity:1;}
  .brand-swap--lg{height:52px;}
  .brand-swap--lg .brand-logo{height:52px;}
  .brands-row:hover .brands-track{animation-play-state:paused;}
  @keyframes brandsSlide{
    from{transform:translateX(0);}
    to{transform:translateX(-100%);}
  }
  @media (prefers-reduced-motion:reduce){
    .brands-track{animation:none !important;}
  }

  /* ===== CTA / CONTACT ===== */
  .cta{background:var(--navy-panel);padding:clamp(64px,10vw,120px) 0 0;overflow:hidden;}
  .cta-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,6vw,70px);align-items:start;padding-bottom:80px;}
  .cta-inner h2{font-size:clamp(32px,4.6vw,54px);color:var(--white);margin-bottom:20px;}
  .cta-inner > div > p{color:var(--steel);font-size:16px;max-width:460px;margin-bottom:30px;}
  .contact-card{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:var(--radius);padding:28px;}
  .contact-list li{padding:14px 0;border-bottom:1px solid var(--navy-line);display:flex;gap:14px;align-items:flex-start;font-family:var(--mono);font-size:14px;color:var(--paper);}
  .contact-list li:first-child{padding-top:0;}
  .contact-list li:last-child{border-bottom:none;}
  .contact-list .ci{color:var(--accent);flex-shrink:0;font-size:16px;}
  .contact-list a:hover{color:var(--accent);}
  footer{border-top:1px solid var(--navy-line);padding:26px 0;}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .footer-inner p{font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.04em;}
  .footer-inner .fl{color:var(--accent);}
  .footer-legal{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:14px;margin-top:14px;border-top:1px solid var(--navy-line);}
  .footer-legal a,.footer-legal button{font-family:var(--mono);font-size:11.5px;color:var(--steel);letter-spacing:.03em;background:none;border:none;cursor:pointer;padding:0;text-decoration:none;font-weight:400;}
  .footer-legal a:hover,.footer-legal button:hover{color:var(--accent);}

  /* ===== FAB WhatsApp / phone ===== */
  .fab{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;background:var(--accent);color:var(--navy-deep);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding:14px 20px;border-radius:999px;box-shadow:0 14px 34px -10px var(--accent-glow);transition:transform .25s var(--ease);}
  .fab:hover{transform:translateY(-3px);}
  .fab svg{width:20px;height:20px;fill:var(--navy-deep);}

  /* ===== reveal (only when JS is active) ===== */
  html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  html.js .reveal.in{opacity:1;transform:none;}

  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

  /* ===== responsive ===== */
  @media (max-width:980px){
    nav.desktop{display:none;}
    .nav-toggle{display:flex;}
    .hero-inner{grid-template-columns:1fr;gap:40px;}
    .about-grid,.cta-inner{grid-template-columns:1fr;}
    .services-grid,.diff-grid{grid-template-columns:repeat(2,1fr);}
    .products-grid,.cap-strip{grid-template-columns:repeat(2,1fr);}
    .process-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .services-grid,.diff-grid,.products-grid,.value-cards,.checklist,.cap-strip,.process-grid{grid-template-columns:1fr;}
    .hero-actions{flex-direction:column;align-items:stretch;}
    .footer-inner{flex-direction:column;align-items:flex-start;}
    .fab span{display:none;}
    .fab{padding:14px;}
  }
