/* MAIA CONTABILIDADE — v04 | Adaptação visual do NTW Arcoverde V44.
   FUNDOS INDEPENDENTES. CSS original preservado. Todos os 28 tons do projeto
   participam do sistema de cores, com predominância NTW e acentos Maia. */
:root{
  --ntw-blue-950:#000816;--ntw-blue-900:#00142D;--ntw-blue-850:#001C44;
  --ntw-blue-760:#003F7F;--ntw-blue-aux:#002D5A;--ntw-blue-ui:#3078AA;
  --ntw-blue-light:#007FBE;--ntw-cyan-300:#AADFF3;--ntw-cyan-200:#D7F5FF;
  --ntw-muted:#B9D0DA;--ntw-cyan-pearl:#DEF1F8;--ntw-white:#FFFFFF;
  --ntw-gold:#F2B35B;--ntw-gold-light:#FFCA76;
  --maia-navy-950:#000B24;--maia-navy-900:#011736;--maia-navy-850:#011F42;
  --maia-navy-800:#012851;--maia-navy-700:#013261;
  --maia-ivory:#F7F4EF;--maia-white:#FEFEFE;
  --maia-gold-900:#8C581C;--maia-gold-800:#A06F33;--maia-gold-700:#B08145;
  --maia-gold-600:#C0955A;--maia-gold-500:#D3AA6B;
  --maia-gold-400:#E3BF81;--maia-gold-300:#F3D49B;
  --gold:#D3AA6B;
}
/* Cabeçalho NTW mantido, com logo Maia sem fundo branco. */
.site-header{height:90px;padding:8px 22px 8px 12px;border-color:rgba(211,170,107,.35)}
.site-header::after{background:linear-gradient(105deg,var(--maia-gold-900),var(--maia-gold-500),var(--ntw-gold-light),var(--ntw-cyan-200),var(--ntw-white),var(--maia-gold-300),var(--maia-gold-700));opacity:.77}
.brand-shell{height:73px;width:264px;gap:8px;padding:4px 15px 4px 7px;border-color:rgba(211,170,107,.38);
  background:linear-gradient(125deg,var(--maia-navy-950),var(--ntw-blue-aux) 65%,var(--maia-navy-900))}
.brand img{width:69px;height:69px;max-height:69px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 7px rgba(227,191,129,.22))}
.brand-label{display:flex;flex-direction:column;font-size:25px;font-family:Georgia,'Times New Roman',serif;letter-spacing:.13em;font-weight:700;color:var(--maia-ivory);line-height:1.08}
.brand-label small{color:var(--maia-gold-400);font-family:'Manrope',sans-serif;font-size:9px;font-weight:700;letter-spacing:.28em;margin-top:5px}
.main-nav a:hover,.main-nav a:focus-visible{box-shadow:0 0 0 1px rgba(211,170,107,.44),0 0 34px rgba(170,223,243,.12)}
/* Hero: imagem original de fundo mantida + luz dourada Maia. */
.hero{background:radial-gradient(circle at 81% 24%,rgba(0,127,190,.29),transparent 34%),var(--ntw-blue-950)}
.hero::before{background:radial-gradient(circle at 74% 28%,rgba(243,212,155,.10),transparent 29%),radial-gradient(circle at 26% 31%,rgba(170,223,243,.16),transparent 31%),linear-gradient(90deg,rgba(0,8,22,.30),rgba(0,28,68,.05),rgba(0,8,22,.30))}
.hero-eyebrow,.services-eyebrow,.about-eyebrow,.contact-eyebrow{color:var(--maia-gold-400);text-shadow:0 0 22px rgba(211,170,107,.23)}
.hero-eyebrow::after,.services-eyebrow::after,.about-eyebrow::after,.contact-eyebrow::after{background:linear-gradient(90deg,var(--maia-gold-500),rgba(211,170,107,0))}
.hero-copy h1{font-size:clamp(29px,4.05vw,55px);line-height:1.075;letter-spacing:-.046em}
.hero-subtitle{font-size:clamp(15.5px,1.27vw,18.5px)}
.hero-visual img{filter:drop-shadow(0 28px 46px rgba(0,0,0,.64)) drop-shadow(-20px 0 34px rgba(1,40,81,.28)) drop-shadow(0 0 22px rgba(227,191,129,.10)) saturate(1.03) contrast(1.03)}
.portrait-light{background:radial-gradient(circle at 42% 23%,rgba(222,241,248,.26),rgba(170,223,243,.14) 30%,rgba(1,50,97,.12) 51%,transparent 74%),radial-gradient(circle at 70% 46%,rgba(243,212,155,.21),transparent 39%)}
/* Botões animados herdados: acrescentar faixa metálica dourada sem perder os cianos NTW. */
.hero-btn{width:min(300px, calc(100vw - 48px));background:var(--maia-navy-850)}
.hero-btn span{background:linear-gradient(110deg,var(--maia-navy-950),var(--ntw-blue-850) 52%,var(--maia-navy-800));color:var(--maia-white);text-shadow:0 0 12px rgba(0,6,20,.80)}
.hero-btn:hover span{color:var(--maia-gold-300)}
.hero-btn::before,.hero-btn::after{
  background:linear-gradient(45deg,var(--maia-navy-950),var(--maia-navy-800),var(--ntw-blue-760),var(--ntw-blue-ui),var(--ntw-blue-light),var(--ntw-cyan-300),var(--ntw-cyan-200),var(--maia-gold-900),var(--maia-gold-700),var(--maia-gold-500),var(--ntw-gold),var(--ntw-gold-light),var(--maia-gold-400),var(--maia-gold-300),var(--maia-navy-700),var(--maia-navy-950));
  background-size:200% 200%;background-position:var(--btn-bgpos)
}
/* Cards com arte ORIGINAL (1080px PNG sem recodificar). Fundo da imagem claro;
   painel de texto harmonizado com esse fundo, mantendo hover, reveal e moldura NTW. */
.services-sticky{border-color:rgba(211,170,107,.29);background:linear-gradient(165deg,rgba(1,31,66,.79),rgba(0,12,30,.78))}
.services-sticky::before{background:linear-gradient(135deg,rgba(243,212,155,.50),rgba(170,223,243,.18),rgba(1,50,97,.36))}
.service-card{background:var(--maia-ivory);border-color:rgba(211,170,107,.55);box-shadow:0 22px 62px rgba(0,0,0,.33),0 10px 32px rgba(1,40,81,.21)}
.service-card::before{opacity:.38;background:radial-gradient(circle at 89% 9%,rgba(243,212,155,.19),transparent 26%);z-index:1}
.service-card:hover,.service-card:focus-within{border-color:var(--maia-gold-400);box-shadow:0 32px 85px rgba(0,0,0,.42),0 0 25px rgba(211,170,107,.19)}
.service-card img{background:var(--maia-ivory);border-bottom:1px solid rgba(176,129,69,.37);filter:none}
.service-copy{background:linear-gradient(160deg,var(--maia-ivory),var(--maia-white) 60%,var(--ntw-cyan-pearl));padding:20px 23px 23px}
.service-copy p{color:var(--maia-navy-800);font-weight:600;line-height:1.64}
/* Seção Sobre: card e moldura da referência, brilho ciano+dourado para a foto. */
.about-portrait{background:var(--maia-navy-950);border-color:rgba(211,170,107,.46)}
.about-portrait::before,.about-portrait::after{background-image:linear-gradient(90deg,transparent 0%,var(--maia-navy-850) 12%,var(--ntw-blue-ui) 25%,var(--ntw-cyan-300) 35%,var(--maia-gold-700) 44%,var(--maia-gold-500) 50%,var(--maia-gold-400) 56%,var(--ntw-cyan-200) 68%,var(--maia-navy-850) 88%,transparent 100%)}
.about-portrait img{object-position:center 37%}
.about-copy{border-color:rgba(211,170,107,.31);background:linear-gradient(150deg,rgba(1,40,81,.73),rgba(0,13,31,.73))}
.about-copy::before{background:linear-gradient(135deg,rgba(211,170,107,.51),rgba(255,255,255,.12),rgba(170,223,243,.40))}
.about-copy .about-lead{color:var(--maia-white)}
/* Contato: manter todos os cards animados, mapa modal e acessibilidade do NTW. */
.contact-shell{border-color:rgba(211,170,107,.32)}
.contact-shell::before{background:linear-gradient(135deg,rgba(211,170,107,.60),rgba(255,255,255,.12),rgba(170,223,243,.28))}
.contact-brand{width:clamp(180px,20vw,270px);top:clamp(22px,2vw,30px);right:clamp(22px,2.8vw,38px);opacity:1;filter:drop-shadow(0 10px 25px rgba(0,0,0,.27))}
.contact-heading{max-width:min(740px,calc(100% - 288px));padding-right:12px}
.contact-heading h2{font-size:clamp(30px,3.75vw,51px)}
.contact-card{border-color:rgba(211,170,107,.24)}
.contact-card:hover,.contact-card:focus-visible{border-color:rgba(243,212,155,.57)}
.contact-icon{color:var(--maia-gold-400);border-color:rgba(211,170,107,.36);background:linear-gradient(135deg,rgba(211,170,107,.19),rgba(170,223,243,.08))}
.contact-anim-layer{border-color:rgba(211,170,107,.34)}
.contact-card em{overflow-wrap:anywhere}
.contact-map-close:hover,.contact-map-close:focus-visible{color:var(--maia-gold-300)}
.site-footer-shell::before{background:linear-gradient(135deg,rgba(211,170,107,.55),rgba(170,223,243,.30),rgba(1,50,97,.20))}
.site-footer a,.site-footer a:hover,.site-footer a:focus-visible,.site-footer a:active,.site-footer a:visited{color:var(--maia-gold-400)}
@media(max-width:1080px){
  .contact-heading{max-width:740px}
}
@media(max-width:760px){
  .site-header{height:67px;top:12px;width:calc(100% - 24px);padding:7px 10px;overflow:visible}
  .brand-shell{width:179px;height:51px;padding:3px 8px 3px 4px;gap:5px}
  .brand img{width:47px;height:47px;max-height:47px}
  .brand-label{font-size:18px}
  .brand-label small{font-size:7px;letter-spacing:.18em;margin-top:3px}
  .main-nav{top:78px}
  .hero{padding-top:111px}
  .hero-copy h1{font-size:clamp(28px,7.4vw,39px);line-height:1.08;letter-spacing:-.04em}
  .hero-subtitle{font-size:14.9px;line-height:1.57}
  .service-copy{padding:18px 21px 21px}
  .contact-brand{width:min(175px,48vw);margin:0 auto 20px;top:auto;right:auto}
  .contact-heading{max-width:100%;padding-right:0}
  .contact-heading h2{font-size:clamp(30px,7.5vw,40px)}
}
@media(max-width:420px){
  .brand-shell{width:162px}
  .brand-label{font-size:17px}
  .brand-label small{font-size:6.4px}
  .hero-copy h1{font-size:clamp(27px,7.4vw,33px)}
}
.contact-map-dialog{background:linear-gradient(140deg,var(--ntw-blue-900),var(--maia-navy-900))}
/* Legibilidade fiel do logo original: superfícies marfim sobre as áreas escuras,
   sem recolorir o azul-marinho impresso na própria marca. */
.brand-shell{background:linear-gradient(120deg,var(--maia-white),var(--maia-ivory) 72%,var(--maia-gold-300));border-color:var(--maia-gold-600);box-shadow:inset 0 1px 0 var(--ntw-white),0 12px 26px rgba(0,0,0,.25)}
.brand-label{color:var(--maia-navy-800)}
.brand-label small{color:var(--maia-gold-800)}
.contact-brand{width:clamp(170px,17vw,210px);top:22px;right:35px;background:linear-gradient(145deg,var(--maia-white),var(--maia-ivory));border:1px solid var(--maia-gold-600);border-radius:28px;padding:8px;box-shadow:0 18px 38px rgba(0,0,0,.30),0 0 20px rgba(192,149,90,.11)}
.contact-heading{max-width:min(740px,calc(100% - 246px))}
.contact-card strong{color:var(--ntw-white)}
.contact-card em{color:var(--ntw-muted)}
.services-grid{scroll-margin-top:110px}
@media(max-width:1080px){.contact-brand{width:180px}.contact-heading{max-width:100%}}
@media(max-width:760px){.contact-brand{width:min(178px,51vw);margin:0 auto 24px;border-radius:24px}.contact-heading{max-width:100%}}
@media(prefers-reduced-motion:reduce){
  .hero-btn,.about-portrait{animation:none}
}

/* V02: permitir clique em toda a superficie de ambos CTAs. */
.hero-btn::before,.hero-btn::after,.hero-btn span::before{pointer-events:none}


/* Elemento PICTURE nao deve mudar o layout flex original no desktop. */
.hero-visual picture{display:contents;}

/* V04 — correções específicas, partindo integralmente da V02.
   O BG da Hero permanece o ORIGINAL da V02 (sem versão mobile adicional). */
@media(max-width:760px){
  /* Pessoa sem as margens transparentes da arte quadrada; escala real ampliada. */
  .hero-visual{width:100%;min-width:0;min-height:0;margin:4px 0 0;align-items:flex-end;justify-content:center;overflow:visible;transform:none;}
  .hero-visual picture{position:relative;display:block;z-index:3;flex:0 0 auto;width:min(100%,390px);margin:0 auto;}
  .hero-visual picture img{display:block;width:100%;height:auto;max-height:none;max-width:100%;min-width:0;margin:0 auto -11px;object-fit:contain;object-position:center bottom;transform:scaleX(-1);}
  .hero-visual::after{height:23%;bottom:-2%;}
  .hero-bottom-fade{height:128px;}
  /* O quadro da Hero aparece logo no primeiro desenho, sem atraso perceptível. */
  .hero .reveal{opacity:1;transform:none;transition:none;}
  .hero .reveal-late{transition-delay:0s;}
  /* O cabeçalho dos parágrafos não pode ampliar a coluna além da imagem. */
  .about-inner{grid-template-columns:minmax(0,1fr);justify-items:stretch;}
  .about-portrait,.about-copy{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;}
  .about-copy{overflow-wrap:break-word;word-break:normal;}
  .about-copy h2{max-width:100%;font-size:clamp(27px,7.6vw,38px);overflow-wrap:break-word;}
  /* Logo centralizado sem deslocamento por right:35px; espaço após sombra. */
  .contact-brand{position:relative;top:auto;right:auto;left:auto;display:block;width:min(168px,48vw);margin:0 auto 42px;padding:6px;border-radius:20px;filter:none;box-shadow:0 5px 11px rgba(0,0,0,.16),0 0 12px rgba(211,170,107,.08);}
  .contact-heading{max-width:100%;padding-right:0;}
  .contact-eyebrow{position:relative;z-index:4;}
}
@media(max-width:420px){
  .hero-visual picture{width:min(100%,375px);}
}
@media(max-width:350px){
  .hero-visual picture{width:100%;}
  .about-copy h2{font-size:27px;letter-spacing:-.05em;}
}

/* V05 — correção isolada do botão da seção Sobre no mobile */
@media(max-width:760px){
  .about-cta-wrap{
    width:100%;
    margin:24px 0 20px;
    text-align:center;
  }
  .about-cta-wrap .hero-btn-wrap{
    display:block;
    width:100%;
    max-width:100%;
    margin:0;
    -webkit-box-reflect:none;
  }
  .about-cta-wrap .hero-btn{
    display:block;
    width:min(100%,300px);
    max-width:100%;
    margin:0 auto;
  }
}
