:root{
    /* cores extraídas do logo e das peças da Domínio */
    --azul:#18426C;
    --azul-esc:#0C2B48;
    --azul-tinta:#071E32;
    --azul-claro:#2A6094;
    --vermelho:#C22D1F;
    --vermelho-esc:#9A2214;
    --vermelho-claro:#E8503F;
    --branco:#FFFFFF;
    --papel:#F1F3F5;
    --cinza:#E2E6EA;
    --texto:#2E3E4D;
    --texto-fraco:#66798C;
    --zap:#128C5E;
  }
  *{box-sizing:border-box;}
  body{
    background:var(--papel);
    color:var(--texto);
    font-family:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size:17.5px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,h5{
    font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
    font-variation-settings:"wdth" 112;
    color:var(--azul-esc);margin:0;line-height:.96;letter-spacing:-.025em;
    text-transform:uppercase;text-wrap:balance;font-weight:800;
  }
  h1{font-size:clamp(2.3rem,5.4vw,4.3rem);}
  h2{font-size:clamp(1.9rem,4.4vw,3.4rem);}
  h3{font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.02;}
  h4{font-size:1.08rem;line-height:1.1;font-variation-settings:"wdth" 100;}
  p{margin:0;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  ul{margin:0;padding:0;list-style:none;}

  .mono{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;letter-spacing:.06em;}
  .eyebrow{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 80;font-weight:700;
    font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;color:var(--vermelho);
    display:inline-flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:26px;height:4px;background:var(--vermelho);display:block;}
  .eyebrow.on-dark{color:#FF7B66;}
  .eyebrow.on-dark::before{background:var(--vermelho);}

  .wrap{max-width:1220px;margin:0 auto;padding-inline:22px;}
  section{padding-block:clamp(56px,7.5vw,104px);}
  .lead{font-size:clamp(1.05rem,1.7vw,1.26rem);color:var(--texto);max-width:58ch;line-height:1.55;}
  .band-dark .lead,.band-red .lead{color:#C7D8E6;}
  .band-red .lead{color:#FFD9D3;}

  /* fita de sinalização azul/vermelha */
  .tape{height:12px;background:repeating-linear-gradient(135deg,var(--vermelho) 0 16px,var(--azul) 16px 32px);}
  .tape.red{background:repeating-linear-gradient(135deg,var(--azul) 0 16px,var(--vermelho) 16px 32px);}

  /* ---------- NAV ---------- */
  header.nav{position:sticky;top:0;z-index:60;background:var(--branco);border-bottom:3px solid var(--azul);}
  .nav-in{display:flex;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap;}
  .brand img{height:36px;width:auto;}
  .nav-links{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap;}
  .nav-links a{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 88;font-size:.75rem;font-weight:700;
    letter-spacing:.05em;text-transform:uppercase;color:var(--azul-esc);
    text-decoration:none;padding:8px 8px;white-space:nowrap;border-bottom:3px solid transparent;
  }
  .nav-links a:hover{color:var(--vermelho);border-bottom-color:var(--vermelho);}
  .nav-links a.on{color:var(--vermelho);border-bottom-color:var(--vermelho);}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 95;
    font-weight:800;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
    padding:16px 26px;border:3px solid transparent;cursor:pointer;line-height:1;
    transition:background .14s ease,color .14s ease,transform .12s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-red{background:var(--vermelho);color:#fff;}
  .btn-red:hover{background:var(--vermelho-esc);}
  .btn-blue{background:var(--azul);color:#fff;}
  .btn-blue:hover{background:var(--azul-esc);}
  .btn-wa{background:var(--zap);color:#fff;}
  .btn-wa:hover{background:#0E7550;}
  .btn-ghost{border-color:#fff;color:#fff;background:transparent;}
  .btn-ghost:hover{background:#fff;color:var(--azul-esc);}
  .btn-outline{border-color:var(--azul);color:var(--azul);background:transparent;}
  .btn-outline:hover{background:var(--azul);color:#fff;}
  .btn-sm{padding:11px 14px;font-size:.72rem;letter-spacing:.06em;}
  .burger{display:none;margin-left:auto;background:var(--azul);border:none;padding:11px 13px;cursor:pointer;}
  .burger span{display:block;width:20px;height:3px;background:#fff;margin:4px 0;}

  /* ---------- HERO ---------- */
  .hero{position:relative;background:var(--azul-tinta);overflow:hidden;}
  .hero-img{position:absolute;inset:0;}
  .hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:.8;}
  .hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(102deg,rgba(7,30,50,.95) 8%,rgba(7,30,50,.78) 44%,rgba(12,43,72,.25) 100%);
  }
  .hero-in{position:relative;z-index:2;padding-block:clamp(64px,9vw,132px);}
  .hero h1{color:#fff;max-width:17ch;}
  .hero h1 em{font-style:normal;color:var(--vermelho-claro);}
  .hero p{color:#CBDCE9;max-width:50ch;margin-top:22px;font-size:clamp(1.02rem,1.6vw,1.22rem);}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}

  /* faixa de números — vermelho Domínio */
  .stats{background:var(--vermelho);}
  .stats ul{display:grid;grid-template-columns:repeat(4,1fr);}
  .stats li{padding:26px 24px;border-left:2px solid rgba(255,255,255,.28);}
  .stats li:first-child{border-left:none;padding-left:0;}
  .stats .n{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 112;font-weight:800;
    font-size:clamp(1.7rem,3vw,2.5rem);color:#fff;line-height:1;text-transform:uppercase;letter-spacing:-.02em;
  }
  .stats .t{font-size:.92rem;color:#FFD9D3;margin-top:8px;display:block;line-height:1.35;}

  /* ---------- TRIAGEM ---------- */
  .doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
  .door{
    position:relative;background:var(--azul-esc);overflow:hidden;text-decoration:none;
    display:flex;flex-direction:column;transition:transform .18s ease;
  }
  .door:hover{transform:translateY(-5px);}
  .door .ph{aspect-ratio:4/3;overflow:hidden;background:var(--azul);}
  .door .ph img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
  .door:hover .ph img{transform:scale(1.06);}
  .door .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .door .kicker{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 80;font-weight:700;
    font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--vermelho-claro);
  }
  .door h3{color:#fff;}
  .door p{font-size:.96rem;color:#B3C8D8;}
  .door .go{
    margin-top:auto;padding-top:14px;font-family:"Archivo",sans-serif;font-weight:800;
    font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  }
  .door .go::after{content:" →";color:var(--vermelho-claro);}

  /* ---------- SERVIÇOS ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px;}
  .svc{position:relative;display:block;text-decoration:none;overflow:hidden;aspect-ratio:1/1.06;background:var(--azul-esc);}
  .svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .5s ease,opacity .3s ease;}
  .svc:hover img{transform:scale(1.06);opacity:.6;}
  .svc-ov{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(7,30,50,0) 32%,rgba(7,30,50,.92) 88%);
    display:flex;flex-direction:column;justify-content:flex-end;padding:20px;gap:6px;
  }
  .svc h4{color:#fff;font-size:1.22rem;font-variation-settings:"wdth" 100;}
  .svc span.d{font-size:.9rem;color:#B3C8D8;line-height:1.35;}
  .svc .mark{
    position:absolute;top:0;left:0;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 80;
    font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
    color:#fff;background:var(--vermelho);padding:7px 12px;
  }
  .svc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--vermelho);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .svc:hover::after{transform:scaleX(1);}

  /* ---------- BANDAS ---------- */
  .band-dark{background:var(--azul);color:#C7D8E6;}
  .band-dark h2,.band-dark h3,.band-dark h4{color:#fff;}
  .band-deep{background:var(--azul-tinta);color:#C7D8E6;}
  .band-deep h2,.band-deep h3,.band-deep h4{color:#fff;}
  .band-red{background:var(--vermelho);color:#FFD9D3;}
  .band-red h2,.band-red h3,.band-red h4{color:#fff;}
  .band-white{background:var(--branco);}

  .split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4.4vw,64px);align-items:center;}
  .split.rev{direction:rtl;}
  .split.rev > *{direction:ltr;}
  .split .fig{position:relative;overflow:hidden;margin:0;}
  .split .fig img{width:100%;aspect-ratio:4/3.1;object-fit:cover;}
  .split .fig figcaption{
    position:absolute;left:0;bottom:0;background:var(--vermelho);color:#fff;
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;font-weight:700;
    font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;
  }
  .stack{display:flex;flex-direction:column;gap:18px;}

  /* ---------- ETAPAS ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;border-top:5px solid var(--vermelho);}
  .step{padding:26px 24px 28px;border-left:1px solid var(--cinza);}
  .band-dark .step,.band-deep .step{border-left-color:rgba(255,255,255,.2);}
  .step:first-child{border-left:none;padding-left:0;}
  .step .n{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 112;font-weight:800;
    font-size:2.4rem;line-height:1;color:var(--vermelho);display:block;
  }
  .step h4{margin:12px 0 8px;}
  .step p{font-size:.95rem;color:var(--texto-fraco);}
  .band-dark .step p,.band-deep .step p{color:#A9C0D2;}

  /* ---------- CONFORMIDADE ---------- */
  .seals{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:36px;background:rgba(255,255,255,.18);}
  .seal{background:var(--azul);padding:22px 18px;display:flex;flex-direction:column;gap:8px;}
  .seal .s{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100;font-weight:800;
    font-size:1.32rem;color:#fff;text-transform:uppercase;letter-spacing:-.01em;
  }
  .seal .d{font-size:.86rem;color:#A9C0D2;line-height:1.35;}
  .band-deep .seal{background:var(--azul-esc);}
  .nrs{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px;}
  .nr{display:flex;gap:12px;align-items:baseline;background:var(--vermelho);padding:16px 20px;flex:1;min-width:240px;}
  .nr b{font-family:"Archivo",sans-serif;font-weight:800;color:#fff;font-size:1.16rem;letter-spacing:.02em;}
  .nr span{font-size:.88rem;color:#FFD9D3;}

  /* ---------- LISTAS ---------- */
  .checks li{position:relative;padding-left:30px;margin-bottom:12px;font-size:1rem;}
  .checks li::before{content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;background:var(--vermelho);}
  .checks li b{color:var(--azul-esc);font-weight:600;}
  .band-dark .checks li b,.band-deep .checks li b{color:#fff;}

  /* ---------- FRASE ---------- */
  .quote{
    border-left:8px solid var(--vermelho);padding:4px 0 4px 24px;margin-top:10px;
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 105;font-weight:800;
    font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.06;color:var(--azul-esc);
    letter-spacing:-.02em;text-transform:uppercase;
  }
  .band-dark .quote,.band-deep .quote{color:#fff;}
  .band-red .quote{color:#fff;border-left-color:#fff;}

  /* ---------- FAQ ---------- */
  .faq{margin-top:28px;border-top:3px solid var(--azul);}
  .faq details{border-bottom:1px solid var(--cinza);}
  .faq summary{
    cursor:pointer;list-style:none;padding:18px 0;font-family:"Archivo",sans-serif;font-weight:700;
    font-size:1.02rem;color:var(--azul-esc);display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";color:var(--vermelho);font-size:1.5rem;font-weight:800;line-height:1;}
  .faq details[open] summary::after{content:"–";}
  .faq p{padding:0 0 20px;font-size:.98rem;max-width:70ch;}

  /* ---------- CTA ---------- */
  .cta-band{background:var(--vermelho);position:relative;overflow:hidden;}
  .cta-in{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:center;}
  .cta-in h2{color:#fff;}
  .cta-in p{color:#FFD9D3;margin-top:14px;max-width:46ch;font-size:1.06rem;}
  .cta-actions{display:flex;flex-direction:column;gap:10px;}
  .cta-actions .btn-white{background:#fff;color:var(--vermelho);}
  .cta-actions .btn-white:hover{background:var(--azul-esc);color:#fff;}
  .cta-note{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 85;font-weight:700;
    font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#FFD9D3;text-align:center;
  }

  /* ---------- FORM ---------- */
  .form{background:var(--azul-esc);padding:28px;display:flex;flex-direction:column;gap:16px;}
  .form h4{color:#fff;font-size:1.4rem;}
  .field{display:flex;flex-direction:column;gap:7px;}
  .field label{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;font-size:.74rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:#8FB0C9;
  }
  .field input,.field select,.field textarea{
    font-family:inherit;font-size:1rem;padding:13px 14px;border:2px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);color:#fff;
  }
  .field input::placeholder,.field textarea::placeholder{color:#7D9BB4;}
  .field select{color:#fff;}
  .field select option{color:#111;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--vermelho);outline-offset:0;border-color:transparent;}
  .form small{color:#8FB0C9;font-size:.84rem;}

  /* ---------- CONTATO ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
  .contact-list{display:flex;flex-direction:column;gap:0;margin-top:28px;}
  .contact-item{border-top:2px solid var(--cinza);padding:16px 0;}
  .contact-item .k{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;font-size:.74rem;font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:var(--vermelho);
  }
  .contact-item .v{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100;font-weight:800;font-size:1.4rem;
    color:var(--azul-esc);margin-top:4px;text-transform:uppercase;letter-spacing:-.02em;
  }
  .contact-item a{text-decoration:none;}
  .contact-item a:hover{color:var(--vermelho);}

  /* ---------- PÁGINA INTERNA ---------- */
  .page-head{background:var(--azul);position:relative;overflow:hidden;}
  .page-head .bg{position:absolute;inset:0;}
  .page-head .bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.55;}
  .page-head::after{content:"";position:absolute;inset:0;background:linear-gradient(98deg,rgba(7,30,50,.94) 20%,rgba(12,43,72,.7) 60%,rgba(12,43,72,.35));}
  .page-head-in{position:relative;z-index:2;padding-block:clamp(46px,6vw,84px);}
  .crumb{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;font-weight:700;font-size:.76rem;
    letter-spacing:.16em;text-transform:uppercase;color:#8FB0C9;margin-bottom:18px;
  }
  .crumb a{text-decoration:none;}
  .crumb a:hover{color:#fff;}
  .page-head h1{color:#fff;max-width:16ch;font-size:clamp(2.1rem,5.2vw,4rem);}
  .page-head p{color:#CBDCE9;max-width:54ch;margin-top:18px;font-size:1.08rem;}

  .two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,58px);align-items:start;}
  .side-card{background:var(--azul-esc);color:#B3C8D8;padding:26px;position:sticky;top:86px;}
  .side-card h4{color:#fff;margin-bottom:12px;font-size:1.25rem;}
  .side-card p{font-size:.95rem;color:#A9C0D2;}
  .side-card .btn{width:100%;margin-top:12px;}
  .side-list li{font-size:.95rem;border-top:1px solid rgba(255,255,255,.16);}
  .side-list li:first-child{border-top:none;}
  .side-list a{
    text-decoration:none;font-family:"Archivo",sans-serif;font-weight:700;color:#fff;
    display:block;padding:11px 0;font-size:.92rem;
  }
  .side-list a:hover{color:var(--vermelho-claro);}

  .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px;}
  .gal figure{position:relative;overflow:hidden;margin:0;}
  .gal img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .gal figcaption{
    position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(7,30,50,.94));
    color:#fff;font-size:.86rem;padding:26px 14px 12px;
  }

  .mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:34px;background:var(--cinza);}
  .mini{background:var(--branco);border-top:5px solid var(--vermelho);padding:24px;}
  .band-dark .mini,.band-deep .mini{background:var(--azul-esc);}
  .mini h4{margin-bottom:8px;}
  .mini p{font-size:.96rem;color:var(--texto-fraco);}
  .band-dark .mini p{color:#A9C0D2;}

  /* ---------- FOOTER ---------- */
  footer.ft{background:var(--azul-tinta);color:#9BB6CB;padding-block:60px 26px;}
  .ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
  .ft h5{
    font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 82;font-size:.78rem;font-weight:700;
    letter-spacing:.2em;text-transform:uppercase;color:var(--vermelho-claro);margin:0 0 16px;
  }
  .ft a{text-decoration:none;font-size:.95rem;display:block;padding:5px 0;}
  .ft a:hover{color:#fff;}
  .ft img.logo{height:44px;background:#fff;padding:6px 12px;}
  .ft .small{font-size:.9rem;line-height:1.65;margin-top:16px;}
  .ft-bottom{
    border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:20px;
    display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.82rem;color:#6E8BA3;
  }

  /* ---------- WHATSAPP FLUTUANTE ---------- */
  .wa-float{
    position:fixed;right:20px;bottom:20px;z-index:70;display:block;line-height:0;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,.35));transition:transform .15s ease;
  }
  .wa-float img{width:64px;height:64px;}
  .wa-float:hover{transform:scale(1.06);}

  @media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;}}

  @media (max-width:1120px){
    .nav-links{display:none;width:100%;flex-direction:column;order:3;padding-bottom:10px;}
    .nav-links.open{display:flex;}
    .nav-links a{padding:12px 4px;border-bottom:1px solid var(--cinza);}
    .burger{display:block;}
  }
  @media (max-width:940px){
    .doors,.svc-grid,.steps,.seals,.gal,.stats ul{grid-template-columns:repeat(2,1fr);}
    .steps{border-top:none;}
    .step,.step:first-child{border-left:none;border-top:5px solid var(--vermelho);padding-left:0;}
    .split,.cta-in,.contact-grid,.two-col{grid-template-columns:1fr;}
    .split.rev{direction:ltr;}
    .side-card{position:static;}
    .ft-grid{grid-template-columns:1fr 1fr;}
    .stats li{border-left:none;padding-left:0;border-top:2px solid rgba(255,255,255,.28);}
    .stats li:first-child,.stats li:nth-child(2){border-top:none;}
  }
  @media (max-width:640px){
    body{font-size:16.5px;}
    .doors,.svc-grid,.seals,.gal,.mini-grid,.stats ul{grid-template-columns:1fr;}
    .stats li,.stats li:nth-child(2){border-top:2px solid rgba(255,255,255,.28);}
    .stats li:first-child{border-top:none;}
    .nav .btn{display:none;}
    .wa-float img{width:56px;height:56px;}
  }
