/* ==========================================================================
   Audicon — folha principal
   Regra greppável: nenhum hex e nenhum font-family fora de tokens.css.
   Motivo-assinatura: a margem vermelha do livro-razão (filete vertical +
   pautado horizontal fino + numeral em mono na lateral).
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:clamp(16px,1.02vw,17.5px);line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.015em}
.num{font-family:var(--mono);font-feature-settings:"tnum";letter-spacing:-.02em}
.shell{width:var(--shell);margin-inline:auto}

.skip{position:absolute;left:-9999px}
.skip:focus{left:14px;top:14px;z-index:99;background:var(--brand-red);color:var(--paper-0);padding:10px 16px;border-radius:4px}
:focus-visible{outline:2px solid var(--brand-red);outline-offset:3px}

/* ---------- kicker: o filete de margem em miniatura ---------- */
.kick{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  color:var(--navy-600);padding-left:13px;position:relative;margin-bottom:18px;
}
.kick::before{content:"";position:absolute;left:0;top:.16em;bottom:.16em;width:3px;background:var(--margin-rule)}
.kick--light{color:var(--paper-300)}

.lede{font-size:clamp(17px,1.35vw,19.5px);color:var(--ink-soft);max-width:56ch}

/* ---------------------------------- botões --------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px;
  padding:14px 24px;border-radius:2px;text-decoration:none;border:1.5px solid transparent;
  transition:transform .18s,background .18s,color .18s,border-color .18s;
}
.btn:hover{transform:translateY(-2px)}
.btn--red{background:var(--red-btn);color:var(--paper-0)}
.btn--red:hover{background:var(--red-700)}
.btn--ghost{border-color:currentColor;color:var(--paper-200)}
.btn--ghost:hover{background:var(--paper-0);color:var(--navy-900);border-color:var(--paper-0)}
.btn--redline{border-color:var(--brand-red);color:var(--paper-0)}
.btn--redline:hover{background:var(--red-btn)}
.btn--zap{background:var(--zap);color:var(--navy-900);padding:11px 18px;font-size:14.5px}
.btn--zap:hover{background:var(--zap-hover)}
.btn--full{width:100%;justify-content:center}
/* CTA de WhatsApp: verde oficial + tinta escura (branco sobre #25D366 = 1,98 e reprova) */
.btn--wapp{background:var(--zap);color:var(--navy-900)}
.btn--wapp:hover{background:var(--zap-hover)}

/* =================================== HEADER ================================ */
.hd{position:sticky;top:0;z-index:60;background:var(--paper-100);border-bottom:1px solid var(--rule)}
.hd.is-stuck{box-shadow:0 1px 0 var(--rule),0 10px 30px -22px var(--navy-900)}
.hd__in{width:var(--shell);margin-inline:auto;display:flex;align-items:center;gap:26px;height:74px}
.lockup{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.lockup__tx{display:flex;flex-direction:column;line-height:1}
.lockup__tx b{font-size:21px;font-weight:400;letter-spacing:.03em;color:var(--navy-900)}
.lockup__tx i{font-style:normal;font-size:9.5px;letter-spacing:.19em;color:var(--ink-soft);margin-top:3px}

.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__lk,.nav__btn{
  font:inherit;font-size:15px;font-weight:500;color:var(--navy-900);background:none;border:0;
  cursor:pointer;padding:9px 14px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;position:relative;
}
.nav__lk::after,.nav__btn::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--brand-red);
  transform:scaleX(0);transform-origin:left;transition:transform .25s;
}
.nav__lk:hover::after,.nav__btn:hover::after,.nav__item.is-open .nav__btn::after{transform:scaleX(1)}
.nav__item.is-open .nav__btn svg{transform:rotate(180deg)}
.nav__btn svg{transition:transform .25s}
.hd__cta{flex-shrink:0}

/* ---------------------------------- mega ---------------------------------- */
.mega{
  position:absolute;left:0;right:0;top:100%;background:var(--paper-50);
  border-top:1px solid var(--rule);border-bottom:3px solid var(--brand-red);
  box-shadow:0 26px 44px -30px var(--navy-900);
}
.mega[hidden]{display:none}
.mega__in{width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:34px 0 26px}
.mega__col{padding:0 26px;border-left:1px solid var(--rule)}
.mega__col:first-child{padding-left:0;border-left:0}
.mega__kick{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink-soft);margin-bottom:16px}
.mega__kick em{font-family:var(--mono);font-style:normal;color:var(--red-700);margin-right:7px}
.mega__col a{display:block;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--rule)}
.mega__col a:last-child{border-bottom:0}
.mega__col a b{display:block;font-size:15.5px;font-weight:700;color:var(--navy-900)}
.mega__col a span{display:block;font-size:13px;color:var(--ink-soft);margin-top:1px}
.mega__col a:hover b{color:var(--brand-red)}
.mega__foot{width:var(--shell);margin:0 auto;padding:0 0 20px;font-size:14px;color:var(--ink-soft)}
.mega__foot a{color:var(--red-700);font-weight:700}

.burger{display:none;width:42px;height:42px;background:none;border:1px solid var(--rule);border-radius:2px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:18px;height:1.5px;background:var(--navy-900);transition:transform .25s,opacity .25s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.2px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.2px) rotate(-45deg)}
.drawer{background:var(--paper-50);border-bottom:3px solid var(--brand-red)}
.drawer[hidden]{display:none}
.drawer__in{width:var(--shell);margin-inline:auto;padding:20px 0 28px}
.drawer__in a{display:block;padding:10px 0;text-decoration:none;font-weight:500;border-bottom:1px solid var(--rule)}
.drawer__in .mega__kick{margin:20px 0 6px}
.drawer__in hr{border:0;border-top:1px solid var(--rule-strong);margin:18px 0}

/* ==================================== HERO ================================= */
.hero{position:relative;background:var(--navy-900);color:var(--paper-100);overflow:hidden}
.hero__grain{
  position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:repeating-linear-gradient(to bottom,transparent 0 43px,rgba(246,243,236,.055) 43px 44px);
}
.hero__in{position:relative;padding:clamp(64px,9vw,118px) 0 clamp(52px,7vw,86px)}
/* o filete de margem + numeração do razão */
.ledger{position:absolute;left:-34px;top:clamp(64px,9vw,118px);bottom:0;width:22px;display:none;flex-direction:column;gap:22px;border-right:2px solid var(--brand-red);padding-right:9px;align-items:flex-end}
.ledger span{font-family:var(--mono);font-size:10px;color:rgba(246,243,236,.34)}
@media(min-width:1120px){.ledger{display:flex}}

.hero__h1{font-size:clamp(36px,5.6vw,74px);letter-spacing:-.028em;max-width:22ch;text-wrap:balance}
.hero__em{color:var(--red-400);font-style:italic}
.hero__sub{margin-top:26px;max-width:52ch;font-size:clamp(16.5px,1.3vw,19px);color:var(--paper-300)}
.hero__sub b{color:var(--paper-0)}
.hero__cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.hero__facts{display:flex;gap:clamp(24px,4vw,58px);flex-wrap:wrap;margin-top:clamp(44px,6vw,72px);padding-top:24px;border-top:1px solid rgba(246,243,236,.18)}
.hero__facts dt{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,236,.5)}
.hero__facts dd{font-size:19px;font-weight:700;color:var(--paper-100);margin-top:5px}

/* ============================ SEÇÕES CLARAS ================================ */
.sec__hd{max-width:60ch;margin-bottom:clamp(30px,4vw,46px)}
.sec__hd h2{font-size:clamp(29px,3.9vw,50px);margin-bottom:16px}

.caso{padding:clamp(64px,8vw,110px) 0;background:var(--bg)}
.caso__wrap{border-top:2px solid var(--navy-900)}
.caso__tabs{display:flex;flex-wrap:wrap;gap:0}
.caso__tabs button{
  font:inherit;font-size:15px;font-weight:700;cursor:pointer;padding:16px 22px;
  background:none;border:0;border-right:1px solid var(--rule);color:var(--ink-soft);position:relative;
}
.caso__tabs button::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--brand-red);transform:scaleX(0);transition:transform .3s}
.caso__tabs button[aria-selected="true"]{color:var(--navy-900);background:var(--paper-50)}
.caso__tabs button[aria-selected="true"]::before{transform:scaleX(1)}
.caso__panel{display:grid;grid-template-columns:1.55fr .95fr;gap:clamp(26px,4vw,56px);background:var(--paper-50);padding:clamp(28px,3.6vw,46px);border-bottom:1px solid var(--rule)}
.caso__eyebrow{font-size:12px;color:var(--red-700);letter-spacing:.1em;margin-bottom:12px}
.caso__body h3{font-size:clamp(24px,2.8vw,34px);margin-bottom:14px}
.caso__body p{color:var(--ink-soft)}
.caso__list{list-style:none;margin-top:22px;border-top:1px solid var(--rule)}
.caso__list li{padding:11px 0 11px 26px;border-bottom:1px solid var(--rule);position:relative;font-size:15.5px}
.caso__list li::before{content:"";position:absolute;left:0;top:1.05em;width:11px;height:2px;background:var(--brand-red)}
.caso__side{background:var(--navy-900);color:var(--paper-100);padding:clamp(22px,2.4vw,30px);align-self:start}
.caso__sideKick{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-300);margin-bottom:12px}
.caso__side blockquote{font-size:15.5px;line-height:1.55;padding-left:14px;border-left:2px solid var(--brand-red);margin-bottom:22px;color:var(--paper-200)}
.caso__fine{font-size:13.5px;color:var(--paper-300);margin-top:13px;text-align:center}
.caso__fine a{color:var(--paper-0)}

/* ================================== CAMPO ================================== */
/* quebra de ritmo: bloco escuro, grade assimétrica, sangria à direita */
.campo{background:var(--navy-800);color:var(--paper-100);padding:clamp(64px,8vw,112px) 0;position:relative;overflow:hidden}
.campo::after{content:"";position:absolute;right:0;top:0;bottom:0;width:38%;background:repeating-linear-gradient(114deg,transparent 0 26px,rgba(226,52,54,.10) 26px 28px);pointer-events:none}
.campo__in{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,5vw,72px);align-items:start;position:relative;z-index:1}
.campo__h2{font-size:clamp(27px,3.5vw,45px);margin-bottom:22px}
.campo__em{color:var(--red-400);font-style:italic}
.campo__tx p{color:var(--paper-300);margin-bottom:15px;max-width:48ch}
.campo__tx b{color:var(--paper-0)}
.campo__tx .btn{margin-top:14px}
.campo__grid{list-style:none;display:grid;gap:0;border-top:1px solid rgba(246,243,236,.2)}
.campo__grid li{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(246,243,236,.2);align-items:baseline}
.campo__grid span{font-size:14px;font-weight:700;color:var(--red-400)}
.campo__grid b{font-size:17px;color:var(--paper-0);display:block}
.campo__grid i{font-style:normal;font-size:14.5px;color:var(--paper-300);display:block;margin-top:4px;grid-column:2}

/* ================================ SERVIÇOS ================================= */
.serv{padding:clamp(64px,8vw,110px) 0;background:var(--bg-alt)}
.serv__list{list-style:none;counter-reset:s;border-top:2px solid var(--navy-900)}
.serv__list li{display:grid;grid-template-columns:96px 1fr;gap:clamp(14px,2vw,30px);padding:24px 0;border-bottom:1px solid var(--rule);transition:background .2s,padding-left .25s}
.serv__list li:hover{background:var(--paper-100);padding-left:12px}
.serv__n{font-size:13px;color:var(--red-700);font-weight:700;padding-top:5px}
.serv__list h3{font-size:clamp(19px,1.9vw,24px);margin-bottom:5px}
.serv__list p{color:var(--ink-soft);font-size:16px;max-width:64ch}
.serv__list a{color:var(--red-700);font-weight:700}

/* ================================== CASA =================================== */
.casa{padding:clamp(64px,8vw,110px) 0}
.casa__in{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,68px);align-items:start}
.casa__in h2{font-size:clamp(27px,3.5vw,44px);margin-bottom:20px}
.casa__in>div:first-child>p{margin-bottom:14px;color:var(--ink-soft)}
.casa__card{background:var(--navy-900);color:var(--paper-100);padding:clamp(24px,2.6vw,34px);border-top:3px solid var(--brand-red)}
.casa__kick{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-300);margin-bottom:6px}
.casa__addr{font-size:17px;line-height:1.5}
.casa__card hr{border:0;border-top:1px solid rgba(246,243,236,.2);margin:18px 0}
.casa__card a{color:var(--paper-0)}

/* ================================= CONTATO ================================= */
.contato{background:var(--navy-900);color:var(--paper-100);padding:clamp(64px,8vw,110px) 0}
.contato__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,68px);align-items:center}
.contato__h2{font-size:clamp(28px,3.6vw,46px);margin-bottom:18px}
.contato__in p{color:var(--paper-300);max-width:46ch}
.contato__btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.contato__map a{display:block;text-decoration:none;background:var(--navy-800);border:1px solid rgba(246,243,236,.22);border-left:3px solid var(--brand-red);padding:clamp(24px,2.6vw,34px);transition:background .2s,transform .2s}
.contato__map a:hover{background:var(--navy-700);transform:translateY(-3px)}
.contato__pin{display:block;width:15px;height:15px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--brand-red);margin-bottom:18px}
.contato__map b{display:block;font-size:18px;color:var(--paper-0)}
.contato__map>a>span{display:block;color:var(--paper-300);font-size:15px;margin-top:3px}
.contato__map em{display:inline-block;font-style:normal;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--red-400);margin-top:16px}

/* ================================== FOOTER ================================= */
.ft{background:var(--navy-900);color:var(--paper-300);padding-top:clamp(40px,5vw,60px);border-top:1px solid rgba(246,243,236,.16)}
.ft__in{display:flex;gap:34px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;padding-bottom:34px}
.ft__brand{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.55}
.ft__brand b{color:var(--paper-0);font-size:15.5px}
.ft__nav,.ft__soc{display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.ft__in a{text-decoration:none}
.ft__in a:hover{color:var(--paper-0)}
.ft__base{border-top:1px solid rgba(246,243,236,.16);padding:18px 0;font-size:13px}

/* ============================== WHATSAPP FIXO ============================== */
.zap{position:fixed;right:18px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:var(--zap);color:var(--navy-900);display:grid;place-items:center;
  box-shadow:0 12px 26px -10px var(--navy-900);transition:transform .2s}
.zap:hover{transform:scale(1.08)}

/* ================================= ANIMAÇÃO ================================ */
.rv{opacity:0;transform:translateY(20px)}
.is-ready .rv{will-change:opacity,transform}

/* ================================ RESPONSIVO =============================== */
@media(max-width:960px){
  .caso__panel,.campo__in,.casa__in,.contato__in{grid-template-columns:1fr}
  .campo::after{display:none}
  .caso__side{order:-1}
}
@media(max-width:820px){
  .nav,.hd__cta{display:none}
  .burger{display:flex}
  .hd__in{justify-content:space-between;height:64px}
  .serv__list li{grid-template-columns:58px 1fr}
  .caso__tabs button{flex:1 1 46%;font-size:14px;padding:13px 12px;border-bottom:1px solid var(--rule)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
