/* ================================================================
   VOULTER · voulter.css — estilos de todas as páginas
   Editar aqui muda o site inteiro.
   ================================================================ */

  :root{
    --bg-0:#0B0C0E;
    --bg-1:#121316;
    --card:#1C1D21;
    --card-hover:#212227;
    --border:rgba(255,255,255,0.08);
    --text-hi:#F5F6F7;
    --text-mid:#A3A6AC;
    --text-low:#6C6F76;
    --accent-a:#22D3EE;
    --accent-b:#2563EB;
    --light-bg:#F5F5F7;
    --light-text:#111214;
    --light-mid:#5B5E66;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;
    background:var(--bg-0);
    color:var(--text-hi);
    -webkit-font-smoothing:antialiased;
    line-height:1.2;
  }
  .wrap{max-width:1230px;margin:0 auto;padding:0 40px;}
  a{color:inherit;text-decoration:none;}

  header{
    position:sticky;top:0;z-index:50;
    background:rgba(11,12,14,0.55);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .nav-bar{
    border-bottom:1px solid var(--border);
    overflow:hidden;
    max-height:44px;
    transition:max-height .4s ease, opacity .3s ease, border-color .4s ease;
  }
  .nav-bar .wrap{display:flex;justify-content:flex-end;height:44px;align-items:center;}
  nav{display:flex;align-items:center;gap:32px;}
  nav a{font-size:13px;color:var(--text-mid);font-weight:500;transition:color .2s;letter-spacing:0.3px;}
  nav a:hover{color:var(--text-hi);}
  .brand-bar{
    border-bottom:1px solid var(--border);
    transition:background .4s ease;
  }
  .brand-bar .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;transition:height .4s ease;}
  .logo{display:flex;align-items:center;gap:13px;}
  .logo-icon{height:28px;width:auto;flex-shrink:0;}
  .logo-mark{height:15px;width:auto;color:var(--text-hi);flex-shrink:0;}
  .header-right{display:flex;align-items:center;gap:28px;}
  .header-links{display:flex;align-items:center;gap:24px;font-size:13px;color:var(--text-mid);font-weight:500;}
  .header-links a:hover{color:var(--text-hi);}
  .contact-pill{
    display:flex;align-items:center;gap:8px;
    background:var(--accent-b);color:#fff;
    border-radius:12px;padding:9px 16px;
    font-size:14px;font-weight:700;letter-spacing:0.2px;
  }
  .contact-pill svg{width:16px;height:16px;flex-shrink:0;}

  header.is-scrolled{background:rgba(11,12,14,0.85);}
  header.is-scrolled .nav-bar{max-height:0;opacity:0;border-color:transparent;}
  header.is-scrolled .brand-bar .wrap{height:60px;}

  .btn-primary{
    display:inline-flex;align-items:center;gap:8px;
    background:#fff;color:#111;
    padding:15px 30px;border-radius:999px;
    font-weight:700;font-size:15px;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(255,255,255,0.15);}
  .btn-ghost{
    display:inline-flex;align-items:center;gap:8px;
    background:transparent;color:var(--text-hi);
    border:1px solid var(--border);
    padding:14px 28px;border-radius:999px;
    font-weight:600;font-size:15px;
  }

  .eyebrow{
    font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
    background:linear-gradient(90deg,var(--accent-a),var(--accent-b));
    -webkit-background-clip:text;background-clip:text;color:transparent;
    margin-bottom:20px;display:inline-block;
  }

  .hero{
    position:relative;
    min-height:92vh;
    display:flex;align-items:center;
    padding:160px 0 120px;
    overflow:hidden;
    background:#000;
  }
  .hero .wrap{width:100%;}
  .hero-media{
    position:absolute;inset:0;z-index:0;
    width:100%;height:100%;
    object-fit:cover;
  }
  .hero-media-fallback{
    position:absolute;inset:0;z-index:0;
    background:
      radial-gradient(ellipse 900px 500px at 50% 20%, rgba(37,99,235,0.30), transparent 60%),
      radial-gradient(ellipse 700px 400px at 30% 60%, rgba(34,211,238,0.16), transparent 60%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 64px),
      linear-gradient(180deg, #0B0C0E 0%, #0B0C0E 55%, #0E0F12 100%);
  }
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:
      linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.65) 100%);
    pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg, transparent 60%, var(--bg-0) 100%);
    pointer-events:none;
  }
  .hero-inner{position:relative;z-index:2;}
  .hero-content{max-width:1100px;text-align:left;}
  h1.hero-title{
    font-size:64px;font-weight:600;letter-spacing:-1.5px;line-height:1.12;
    margin-bottom:24px;
  }
  .hero-sub{font-size:19px;color:rgba(255,255,255,0.78);max-width:520px;margin:0 0 40px;font-weight:500;line-height:1.55;}
  .hero-cta-row{display:flex;align-items:center;justify-content:flex-start;gap:18px;}

  .hero-transition{
    text-align:center;font-size:15px;font-weight:600;color:var(--text-low);
    padding:48px 40px 0;letter-spacing:0.1px;
  }

  section{padding:120px 0;}
  .section-head{max-width:640px;margin-bottom:72px;}
  #depoimentos{padding-top:90px;padding-bottom:100px;}
  #depoimentos .section-head{margin-bottom:36px;}
  #stack{padding-top:100px;padding-bottom:0;}
  #servicos{padding-bottom:0;}
  #servicos .section-head{margin-bottom:40px;}
  .claim-block{
    max-width:720px;margin-bottom:64px;
    padding-left:22px;
    border-left:2px solid var(--accent-a);
  }
  .claim-block h3{font-size:26px;font-weight:700;letter-spacing:-0.4px;margin-bottom:12px;line-height:1.25;}
  .claim-block p{font-size:17px;color:var(--text-mid);line-height:1.6;font-weight:500;}

  .gov-block{
    position:relative;
    margin-top:112px;padding:88px 0 116px;
    overflow:hidden;
  }
  .gov-content{max-width:560px;position:relative;z-index:2;}
  .gov-media{position:absolute;z-index:1;inset:0;overflow:hidden;}
  .gov-media img{
    position:absolute;left:0;top:-11%;
    width:100%;height:122%;
    object-fit:cover;object-position:62% 22%;
    display:block;will-change:transform;
  }
  .gov-media::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg, #0B0C0E 0%, rgba(11,12,14,0.42) 11%, rgba(11,12,14,0) 27%),
      linear-gradient(90deg, rgba(11,12,14,0.95) 0%, rgba(11,12,14,0.86) 28%, rgba(11,12,14,0.42) 48%, rgba(11,12,14,0.04) 70%, rgba(11,12,14,0) 100%);
  }
  .gov-title{font-size:38px;font-weight:700;letter-spacing:-1px;line-height:1.18;margin-bottom:14px;}
  .gov-sub{font-size:17px;color:var(--text-mid);font-weight:500;margin-bottom:56px;}
  .gov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 40px;}
  .gov-item{padding-top:24px;border-top:1px solid var(--border);}
  .gov-item strong{display:block;font-size:16px;font-weight:700;margin-bottom:10px;letter-spacing:-0.1px;}
  .gov-item p{font-size:14.5px;color:var(--text-mid);line-height:1.55;font-weight:500;}
  .gov-note{
    margin-top:40px;padding-left:20px;
    border-left:2px solid var(--accent-a);
    font-size:16px;color:var(--text-hi);font-weight:600;line-height:1.55;max-width:640px;
  }
  .gov-foot{margin-top:28px;font-size:14.5px;color:var(--text-low);font-weight:500;}
  @media (max-width:1100px){
    .gov-block{padding:96px 0 88px;margin-top:88px;}
    .gov-title{font-size:30px;letter-spacing:-0.6px;}
    .gov-content{max-width:none;}
    .gov-media img{object-position:70% center;}
    .gov-media::after{
      background:
        linear-gradient(180deg, #0B0C0E 0%, rgba(11,12,14,0.70) 18%, rgba(11,12,14,0.80) 100%);
    }
  }
  @media (max-width:640px){
    .gov-grid{grid-template-columns:1fr;gap:30px;}
  }
  h2.section-title{font-size:44px;font-weight:700;letter-spacing:-1px;line-height:1.12;}
  .section-title.light{color:var(--light-text);}

  .cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .cards-row.cols-3{grid-template-columns:repeat(3,1fr);}
  .card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:20px;
    padding:36px 30px;
    transition:transform .25s ease, background .25s ease, border-color .25s ease;
  }
  .carousel-track{
    display:flex;gap:20px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    /* % é relativo à largura real renderizada (sem contar a barra de rolagem),
       diferente de vw — por isso alinha com .wrap com precisão, sem depender do navegador */
    padding:8px 40px 12px max(40px, calc(50% - 615px + 40px));
  }
  .carousel-track::-webkit-scrollbar{display:none;}
  .carousel-track .card{flex:0 0 340px;scroll-snap-align:start;}
  .carousel-nav{display:flex;gap:12px;margin-top:32px;}
  .carousel-arrow{
    width:44px;height:44px;border-radius:999px;
    background:var(--card);border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
    color:var(--text-hi);cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
  }
  .carousel-arrow:hover{background:var(--card-hover);border-color:rgba(255,255,255,0.18);}
  .carousel-arrow svg{width:18px;height:18px;}
  .card:hover{transform:translateY(-4px);background:var(--card-hover);border-color:rgba(255,255,255,0.16);}
  .card-icon{
    width:52px;height:52px;border-radius:14px;
    background:linear-gradient(135deg, rgba(34,211,238,0.16), rgba(37,99,235,0.16));
    border:1px solid rgba(34,211,238,0.25);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:28px;
  }
  .card-icon svg{width:24px;height:24px;stroke:var(--accent-a);}
  .card h3{font-size:19px;font-weight:700;margin-bottom:12px;letter-spacing:-0.2px;}
  .card p{font-size:14.5px;color:var(--text-mid);line-height:1.55;font-weight:500;}

  .infra{background:var(--light-bg);color:var(--light-text);}
  .infra .eyebrow{background:linear-gradient(90deg,#0EA5C4,#2563EB);-webkit-background-clip:text;background-clip:text;}
  .infra .section-sub{font-size:17px;color:var(--light-mid);max-width:600px;margin-top:20px;font-weight:500;line-height:1.6;}

  .infra-head-grid{display:grid;grid-template-columns:1fr auto;gap:72px;align-items:end;}
  .infra-head-grid .section-head{margin-bottom:0;}
  .infra-stat{text-align:right;padding-bottom:6px;}
  .infra-stat-number{
    display:block;font-size:66px;font-weight:700;letter-spacing:-2.5px;line-height:1;
    background:linear-gradient(135deg,#0EA5C4,#2563EB);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .infra-stat-label{display:block;font-size:14px;color:var(--light-mid);font-weight:500;margin-top:12px;letter-spacing:0.1px;}

  .infra-story{margin-top:96px;}
  .infra-story-title{font-size:22px;font-weight:700;color:var(--light-text);margin-bottom:44px;letter-spacing:-0.3px;}
  .infra-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  .infra-step{position:relative;padding-top:28px;border-top:1px solid rgba(0,0,0,0.13);}
  .infra-step::before{
    content:"";position:absolute;top:-5px;left:0;
    width:9px;height:9px;border-radius:50%;
    background:linear-gradient(135deg,#0EA5C4,#2563EB);
  }
  .infra-step-time{
    display:block;font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
    color:#0EA5C4;margin-bottom:12px;
  }
  .infra-step p{font-size:15px;color:var(--light-mid);line-height:1.55;font-weight:500;}
  .infra-step-final p{color:var(--light-text);font-weight:600;}

  @media (max-width:1100px){
    .infra-head-grid{grid-template-columns:1fr;gap:36px;}
    .infra-stat{text-align:left;}
    .infra-steps{grid-template-columns:repeat(2,1fr);gap:32px;}
  }
  @media (max-width:640px){
    .infra-steps{grid-template-columns:1fr;}
    .infra-stat-number{font-size:52px;}
  }

  .infra-bento{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:minmax(215px,auto);
    gap:20px;
    margin-top:72px;
  }
  .infra-bento .card{
    background:#fff;border:1px solid rgba(0,0,0,0.07);
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
    display:flex;flex-direction:column;justify-content:flex-end;
  }
  .infra-bento .card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.1);}
  .infra-bento .card h3{color:var(--light-text);}
  .infra-bento .card p{color:var(--light-mid);}

  .bento-servidor{
    grid-column:1 / 3;grid-row:1 / 3;padding:40px;
    background:#0B0C0E;
    border-color:rgba(0,0,0,0.12);
    display:flex;flex-direction:column;justify-content:flex-end;
    position:relative;overflow:hidden;
  }
  .bento-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
  .bento-bg img{
    position:absolute;left:0;top:-14%;
    width:100%;height:128%;
    object-fit:cover;display:block;
    will-change:transform;
  }
  @media (prefers-reduced-motion:reduce){
    .bento-bg img{top:0;height:100%;transform:none !important;}
  }
  .bento-servidor::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.45) 52%, rgba(0,0,0,0.88) 100%);
  }
  .bento-text{position:relative;z-index:2;}
  .infra-bento .bento-servidor h3{color:#fff;font-size:30px;}
  .infra-bento .bento-servidor p{color:rgba(255,255,255,0.82);max-width:360px;}
  .bento-servidor .card-icon{width:60px;height:60px;background:linear-gradient(135deg, rgba(14,165,196,0.16), rgba(37,99,235,0.16));border:1px solid rgba(14,165,196,0.25);}
  .bento-servidor .card-icon svg{width:28px;height:28px;}
  .bento-servidor h3{font-size:27px;margin-bottom:14px;letter-spacing:-0.3px;}
  .bento-servidor p{font-size:16px;max-width:360px;line-height:1.6;}

  .bento-backup{grid-column:3;grid-row:1;background:linear-gradient(135deg, rgba(88,169,255,0.12), rgba(0,33,68,0.03)), #fff;}
  .bento-espelhamento{grid-column:4;grid-row:1;background:linear-gradient(135deg, rgba(37,99,235,0.10), rgba(14,165,196,0.05)), #fff;}
  .bento-armazenamento{grid-column:3;grid-row:2;background:linear-gradient(135deg, rgba(14,165,196,0.10), rgba(88,169,255,0.05)), #fff;}
  .bento-colocation{grid-column:4;grid-row:2;background:linear-gradient(135deg, rgba(0,33,68,0.06), rgba(37,99,235,0.08)), #fff;}
  .bento-backup .card-icon, .bento-espelhamento .card-icon, .bento-armazenamento .card-icon, .bento-colocation .card-icon{
    background:linear-gradient(135deg, rgba(14,165,196,0.14), rgba(37,99,235,0.14));border:1px solid rgba(14,165,196,0.22);
  }

  @media (max-width:1100px){
    .infra-bento{grid-template-columns:repeat(2,1fr);}
    .bento-servidor{grid-column:1 / 3;grid-row:auto;}
    .bento-backup,.bento-espelhamento,.bento-armazenamento,.bento-colocation{grid-column:auto;grid-row:auto;}
  }
  @media (max-width:640px){
    .infra-bento{grid-template-columns:1fr;}
    .bento-servidor{grid-column:1;min-height:360px;}
  }

  .stack-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;}
  .stack-card{border-radius:24px;padding:56px 48px;}
  .stack-card.light{background:#fff;color:var(--light-text);border:1px solid rgba(0,0,0,0.07);box-shadow:0 1px 2px rgba(0,0,0,0.04);}
  .stack-card.light p{color:var(--light-mid);}
  .stack-card.light h3{color:var(--light-text);}
  .stack-card.dark{background:var(--card);border:1px solid var(--border);color:var(--text-hi);}
  .stack-card.dark p{color:var(--text-mid);}
  .stack-card h3{font-size:28px;font-weight:700;letter-spacing:-0.5px;margin:16px 0;line-height:1.2;}
  .stack-card p{font-size:16px;line-height:1.6;font-weight:500;max-width:440px;}

  .stack-showcase{
    margin-top:80px;
    padding:0 0 20px;
  }
  .stack-marquee{
    overflow:hidden;width:100%;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .stack-logos{
    display:flex;align-items:center;
    width:max-content;
    animation:stack-scroll 45s linear infinite;
  }
  .stack-marquee:hover .stack-logos{animation-play-state:paused;}
  .stack-logo-set{
    display:flex;align-items:center;
    gap:96px;
    padding-right:96px;
    flex-shrink:0;
  }
  @keyframes stack-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion:reduce){
    .stack-logos{animation:none;}
  }
  .stack-logos img.stack-logo-img{
    height:44px !important;width:auto !important;max-width:190px !important;object-fit:contain;
    filter:grayscale(1) brightness(0.75) contrast(1.1);opacity:0.75;
    transition:opacity .2s ease, filter .2s ease;
  }
  .stack-logos img.stack-logo-img.stack-logo-big{height:72px !important;max-width:250px !important;}
  .stack-logos img.stack-logo-img:hover{filter:grayscale(0) brightness(1) contrast(1);opacity:1;}

  @media (max-width:1100px){
    .stack-blocks{grid-template-columns:1fr;}
  }

  .about{position:relative;overflow:hidden;background:var(--bg-0);}
  .about::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(ellipse 900px 420px at 18% 0%, rgba(37,99,235,0.18), transparent 62%),
      radial-gradient(ellipse 600px 340px at 88% 70%, rgba(34,211,238,0.10), transparent 62%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.022) 0px, rgba(255,255,255,0.022) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(0deg, rgba(255,255,255,0.022) 0px, rgba(255,255,255,0.022) 1px, transparent 1px, transparent 64px);
  }
  .about .wrap{position:relative;z-index:2;}
  .about-head{max-width:900px;}
  .about-title{
    font-size:54px;font-weight:700;letter-spacing:-1.6px;line-height:1.14;
    margin-bottom:30px;
  }
  .about-body{font-size:19px;color:var(--text-mid);line-height:1.65;max-width:640px;font-weight:500;}
  .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:104px;}
  .principle{padding-top:28px;border-top:1px solid var(--border);}
  .principle-num{
    display:block;font-size:40px;font-weight:700;letter-spacing:-1.2px;line-height:1;margin-bottom:22px;
    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .principle h3{font-size:19px;font-weight:700;margin-bottom:10px;letter-spacing:-0.2px;}
  .principle p{font-size:15px;color:var(--text-mid);line-height:1.6;font-weight:500;}
  @media (max-width:1100px){
    .about-title{font-size:40px;letter-spacing:-1px;}
    .principles{grid-template-columns:1fr;gap:32px;margin-top:72px;}
  }

  .presence-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .presence-content{max-width:520px;}
  .section-sub-dark{font-size:17px;color:var(--text-mid);line-height:1.65;margin-top:20px;font-weight:500;max-width:480px;}
  .presence-tags{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;}
  .presence-tag{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--card);border:1px solid var(--border);
    border-radius:999px;padding:8px 18px;
    font-size:13px;font-weight:600;color:var(--text-hi);letter-spacing:0.2px;
  }
  .presence-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--accent-a),var(--accent-b));flex-shrink:0;}
  .presence-map svg{width:100%;height:auto;display:block;}

  @media (max-width:1100px){
    .presence-grid{grid-template-columns:1fr;gap:48px;}
    .presence-map{order:-1;max-width:420px;margin:0 auto;}
  }

  .light-section{background:var(--light-bg);color:var(--light-text);}
  .light-section .eyebrow{background:linear-gradient(90deg,#0EA5C4,#2563EB);-webkit-background-clip:text;background-clip:text;}
  .light-section h2.section-title{color:var(--light-text);}
  .light-section .section-sub-dark{color:var(--light-mid);}
  .light-section .card{
    background:#fff;border:1px solid rgba(0,0,0,0.07);
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
  }
  .light-section .card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.1);}
  .light-section .testimonial-quote{color:var(--light-text);}
  .light-section .testimonial-name{color:var(--light-text);}
  .light-section .testimonial-role{color:var(--light-mid);}
  .light-section .presence-tag{
    background:#fff;border:1px solid rgba(0,0,0,0.08);color:var(--light-text);
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
  }

  #depoimentos-track .testimonial-card{
    flex:0 0 380px;
    display:flex;flex-direction:column;justify-content:space-between;
    min-height:220px;
  }
  .testimonial-quote{font-size:17px;font-weight:500;line-height:1.55;color:var(--text-hi);font-style:italic;}
  .testimonial-author{margin-top:28px;display:flex;flex-direction:column;gap:2px;}
  .testimonial-name{font-size:14.5px;font-weight:700;color:var(--text-hi);}
  .testimonial-role{font-size:13px;color:var(--text-mid);font-weight:500;}

  footer{
    background:var(--bg-1);
    border-top:1px solid var(--border);
    padding:56px 0;
  }
  footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;}
  .footer-links{display:flex;align-items:center;gap:32px;font-size:14px;color:var(--text-mid);font-weight:500;}
  .footer-links a:hover{color:var(--text-hi);}

  @media (max-width:1100px){
    .cards-row, .infra .cards-row{grid-template-columns:repeat(2,1fr);}
    h1.hero-title{font-size:52px;}
    nav{display:none;}
  }

  @media (max-width:640px){
    .wrap{padding:0 24px;}
    .brand-bar .wrap{height:auto;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;row-gap:12px;}
    header.is-scrolled .brand-bar .wrap{height:auto;padding-top:12px;padding-bottom:12px;}
    .header-links{display:none;}
    .header-right{gap:12px;}
    .contact-pill{padding:8px 14px;font-size:13px;}
    .logo-icon{height:24px;}
    .logo-mark{height:13px;}

    footer .wrap{flex-direction:column;align-items:flex-start;gap:20px;}
    .footer-links{flex-wrap:wrap;gap:16px 24px;row-gap:16px;}
  }

  .section-cta{margin-top:52px;}

/* ================================================================
   PÁGINAS DE PRODUTO (Nuvem Privada e seguintes)
   ================================================================ */
/* ================================================================
     PÁGINA — Nuvem Privada
     ================================================================ */

  /* faixa com foto, no padrão do gov-block da home */
  .photo-block{position:relative;margin-top:0;padding:96px 0 116px;overflow:hidden;}
  .photo-content{max-width:560px;position:relative;z-index:2;}
  .photo-media{position:absolute;z-index:1;inset:0;overflow:hidden;}
  .photo-media img{
    position:absolute;left:0;top:-11%;width:100%;height:122%;
    object-fit:cover;object-position:62% 22%;display:block;will-change:transform;
  }
  .photo-media::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg, #0B0C0E 0%, rgba(11,12,14,0.42) 11%, rgba(11,12,14,0) 27%),
      linear-gradient(90deg, rgba(11,12,14,0.95) 0%, rgba(11,12,14,0.86) 28%, rgba(11,12,14,0.42) 48%, rgba(11,12,14,0.04) 70%, rgba(11,12,14,0) 100%);
  }
  .photo-title{font-size:38px;font-weight:700;letter-spacing:-1px;line-height:1.18;margin-bottom:14px;}
  .photo-sub{font-size:17px;color:var(--text-mid);font-weight:500;line-height:1.6;}
  .photo-list{margin-top:48px;display:grid;gap:30px;}
  .photo-list div{padding-top:22px;border-top:1px solid var(--border);}
  .photo-list strong{display:block;font-size:16px;font-weight:700;margin-bottom:8px;letter-spacing:-0.1px;}
  .photo-list p{font-size:14.5px;color:var(--text-mid);line-height:1.55;font-weight:500;}
  @media (max-width:1100px){
    .photo-content{max-width:none;}
    .photo-media img{object-position:70% center;}
    .photo-media::after{background:linear-gradient(180deg, #0B0C0E 0%, rgba(11,12,14,0.70) 18%, rgba(11,12,14,0.82) 100%);}
  }

  /* divisor do anexo técnico */
  .tech-gate{background:var(--bg-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .gate-grid{display:grid;grid-template-columns:1fr auto;gap:72px;align-items:end;}
  .gate-nums{display:flex;gap:56px;padding-bottom:6px;}
  .gate-num b{
    display:block;font-size:40px;font-weight:700;letter-spacing:-1.4px;line-height:1;
    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .gate-num span{display:block;font-size:13.5px;color:var(--text-mid);font-weight:500;margin-top:12px;max-width:170px;line-height:1.45;}
  .gate-foot{margin-top:44px;font-size:14.5px;color:var(--text-low);font-weight:500;}
  @media (max-width:1100px){
    .gate-grid{grid-template-columns:1fr;gap:44px;}
    .gate-nums{flex-wrap:wrap;gap:32px 48px;}
  }

  /* blocos técnicos: texto + diagrama */
  .tec{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
  .tec.inverso .tec-txt{order:2;}
  .tec-txt .eyebrow{margin-bottom:18px;}
  .tec-txt h2{font-size:38px;font-weight:700;letter-spacing:-1px;line-height:1.18;}
  .tec-txt .section-sub-dark{margin-top:16px;}
  .lista{margin:36px 0 0;padding:0;list-style:none;display:grid;gap:18px;}
  .lista li{padding-left:22px;position:relative;font-size:15.5px;color:var(--text-mid);line-height:1.55;font-weight:500;}
  .lista li::before{
    content:"";position:absolute;left:0;top:0.55em;width:7px;height:7px;border-radius:50%;
    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));
  }
  .lista b{color:var(--text-hi);font-weight:700;}
  .light-section .lista li{color:var(--light-mid);}
  .light-section .lista b{color:var(--light-text);}

  .dg{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:30px;}
  .light-section .dg{background:#fff;border-color:rgba(0,0,0,0.07);box-shadow:0 1px 2px rgba(0,0,0,0.04);}
  .dg-tit{
    font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
    color:var(--text-low);margin-bottom:16px;text-align:center;
  }
  .light-section .dg-tit{color:var(--light-mid);}
  .vms{display:flex;gap:10px;}
  .vm{
    flex:1;padding:18px 8px;text-align:center;border-radius:12px;
    background:rgba(255,255,255,0.06);border:1px solid var(--border);
    font-size:12.5px;font-weight:700;letter-spacing:0.4px;
  }
  .light-section .vm{background:#F5F5F7;border-color:rgba(0,0,0,0.07);}
  .iso{display:grid;grid-template-columns:2fr 1fr;gap:10px;}
  .iso-box{padding:12px;border-radius:14px;border:1px solid rgba(34,211,238,0.35);background:rgba(34,211,238,0.06);}
  .base-fisica{
    margin-top:10px;padding:15px;text-align:center;border-radius:12px;
    background:rgba(255,255,255,0.06);border:1px solid var(--border);
    font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  }
  .light-section .base-fisica{background:#F5F5F7;border-color:rgba(0,0,0,0.07);}

  .pilha{display:grid;gap:7px;}
  .camada{padding:13px 18px;border-radius:11px;font-size:14px;font-weight:600;}
  .c-cliente{background:rgba(34,211,238,0.10);border:1px solid rgba(34,211,238,0.30);color:#8ae3f6;}
  .c-voulter{background:rgba(37,99,235,0.12);border:1px solid rgba(37,99,235,0.35);color:#9dbcfb;}
  .pilha-rot{
    font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
    color:var(--text-low);margin:16px 0 9px;
  }
  .pilha-rot:first-child{margin-top:0;}

  .ondas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:center;}
  .onda b{display:block;font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-low);margin-bottom:12px;}
  .caixa{padding:16px 8px;border-radius:11px;font-size:12.5px;font-weight:700;}
  .c-atual{background:rgba(255,255,255,0.09);border:1px solid var(--border);}
  .c-vazio{border:1px dashed rgba(255,255,255,0.18);color:var(--text-low);}
  .c-novo{background:rgba(37,99,235,0.18);border:1px solid rgba(37,99,235,0.5);color:#b3cdfc;}
  .onda-seta{margin:9px 0;color:var(--text-low);font-size:14px;}

  .anel{padding:22px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,0.03);}
  .anel b{
    display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
    color:var(--text-low);margin-bottom:16px;text-align:center;
  }
  .nucleo{
    padding:34px 16px;border-radius:14px;text-align:center;font-weight:700;
    font-size:13px;letter-spacing:1.6px;text-transform:uppercase;
    background:linear-gradient(135deg, rgba(34,211,238,0.22), rgba(37,99,235,0.22));
    border:1px solid rgba(34,211,238,0.4);color:#cdeefb;
  }

  /* bento — copiado da home, mesmos valores */
  .infra-bento{
    display:grid;grid-template-columns:repeat(4,1fr);
    grid-auto-rows:minmax(215px,auto);gap:20px;margin-top:0;
  }
  .infra-bento .card{
    background:#fff;border:1px solid rgba(0,0,0,0.07);box-shadow:0 1px 2px rgba(0,0,0,0.04);
    display:flex;flex-direction:column;justify-content:flex-end;
  }
  .infra-bento .card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.1);}
  .infra-bento .card h3{color:var(--light-text);}
  .infra-bento .card p{color:var(--light-mid);}
  .bento-servidor{
    grid-column:1 / 3;grid-row:1 / 3;padding:40px;background:#0B0C0E;
    border-color:rgba(0,0,0,0.12);display:flex;flex-direction:column;justify-content:flex-end;
    position:relative;overflow:hidden;
  }
  .bento-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
  .bento-bg img{position:absolute;left:0;top:-14%;width:100%;height:128%;object-fit:cover;display:block;will-change:transform;}
  @media (prefers-reduced-motion:reduce){.bento-bg img{top:0;height:100%;transform:none !important;}}
  .bento-servidor::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.45) 52%, rgba(0,0,0,0.88) 100%);
  }
  .bento-text{position:relative;z-index:2;}
  .infra-bento .bento-servidor h3{color:#fff;font-size:27px;margin-bottom:14px;letter-spacing:-0.3px;}
  .infra-bento .bento-servidor p{color:rgba(255,255,255,0.82);max-width:360px;font-size:16px;line-height:1.6;}
  .bento-servidor .card-icon{width:60px;height:60px;background:linear-gradient(135deg, rgba(14,165,196,0.16), rgba(37,99,235,0.16));border:1px solid rgba(14,165,196,0.25);}
  .bento-servidor .card-icon svg{width:28px;height:28px;}
  .bento-backup{grid-column:3;grid-row:1;background:linear-gradient(135deg, rgba(88,169,255,0.12), rgba(0,33,68,0.03)), #fff;}
  .bento-espelhamento{grid-column:4;grid-row:1;background:linear-gradient(135deg, rgba(37,99,235,0.10), rgba(14,165,196,0.05)), #fff;}
  .bento-armazenamento{grid-column:3;grid-row:2;background:linear-gradient(135deg, rgba(14,165,196,0.10), rgba(88,169,255,0.05)), #fff;}
  .bento-colocation{grid-column:4;grid-row:2;background:linear-gradient(135deg, rgba(0,33,68,0.06), rgba(37,99,235,0.08)), #fff;}
  .bento-backup .card-icon,.bento-espelhamento .card-icon,.bento-armazenamento .card-icon,.bento-colocation .card-icon{
    background:linear-gradient(135deg, rgba(14,165,196,0.14), rgba(37,99,235,0.14));border:1px solid rgba(14,165,196,0.22);
  }
  @media (max-width:1100px){
    .infra-bento{grid-template-columns:repeat(2,1fr);}
    .bento-servidor{grid-column:1 / 3;grid-row:auto;}
    .bento-backup,.bento-espelhamento,.bento-armazenamento,.bento-colocation{grid-column:auto;grid-row:auto;}
  }
  @media (max-width:640px){
    .infra-bento{grid-template-columns:1fr;}
    .bento-servidor{grid-column:1;min-height:360px;}
  }

  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:64px;}
  .step{position:relative;padding-top:28px;border-top:1px solid var(--border);}
  .step::before{
    content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;
    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));
  }
  .step span{display:block;font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent-a);margin-bottom:12px;}
  .step h3{font-size:18px;font-weight:700;margin-bottom:10px;letter-spacing:-0.2px;}
  .step p{font-size:15px;color:var(--text-mid);line-height:1.55;font-weight:500;}

  .final-cta{text-align:center;}
  .final-cta h2{font-size:48px;font-weight:700;letter-spacing:-1.3px;line-height:1.12;max-width:20ch;margin:0 auto 36px;}
  .final-cta .hero-cta-row{justify-content:center;}

  @media (max-width:1100px){
    .cards-row,.cards-row.cols-3,.cards-row.cols-5{grid-template-columns:repeat(2,1fr);}
    .tec{grid-template-columns:1fr;gap:48px;}
    .tec.inverso .tec-txt{order:0;}
    .steps{grid-template-columns:repeat(2,1fr);}
    h1.hero-title{font-size:44px;}
    h2.section-title{font-size:34px;letter-spacing:-0.7px;}
    .tec-txt h2,.photo-title{font-size:30px;letter-spacing:-0.6px;}
    nav{display:none;}
  }
  @media (max-width:640px){
    .wrap{padding:0 24px;}
    .cards-row,.cards-row.cols-3,.cards-row.cols-5{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .ondas{grid-template-columns:1fr;}
    .brand-bar .wrap{height:auto;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;row-gap:12px;}
    header.is-scrolled .brand-bar .wrap{height:auto;padding-top:12px;padding-bottom:12px;}
    .header-links{display:none;}
    .header-right{gap:12px;}
    .contact-pill{padding:8px 14px;font-size:13px;}
    .logo-icon{height:24px;}
    .logo-mark{height:13px;}
    .final-cta h2{font-size:34px;}
    footer .wrap{flex-direction:column;align-items:flex-start;gap:20px;}
    .footer-links{flex-wrap:wrap;gap:16px 24px;}
  }
