*{box-sizing:border-box}
:root{
  --ink:#1f2029;
  --muted:#686a75;
  --purple:#17133d;
  --purple2:#251c60;
  --gold:#f2a52b;
  --gold-dark:#9b650e;
  --paper:#f6f5f0;
  --white:#fff;
  --line:#dedcd5;
  --container:min(1180px,calc(100% - 42px));
  --ease:cubic-bezier(.2,.75,.25,1);
}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:var(--container);margin:auto}
.top{
  position:fixed;z-index:30;top:0;left:0;width:100%;height:76px;
  display:flex;align-items:center;
  background:rgba(255,255,255,.90);
  border-bottom:1px solid rgba(31,32,41,.08);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px}
.top__brand img{width:188px;max-height:48px;object-fit:contain}
.top__actions{display:flex;align-items:center;gap:9px}
.top__back{padding:11px 14px;color:#585a65;font-size:.78rem;font-weight:700}
.top__cta,.button{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:0 18px;border-radius:999px;font-size:.78rem;font-weight:800;transition:.3s var(--ease)
}
.top__cta{color:#fff;background:var(--purple)}
.top__cta:hover,.button--dark:hover{transform:translateY(-2px);background:#302472}
.hero{
  position:relative;min-height:720px;display:grid;align-items:end;
  padding:150px 0 82px;color:#fff;background-size:cover;background-position:center;
  isolation:isolate
}
.hero::before{
  position:absolute;z-index:-1;inset:0;content:"";
  background:
    linear-gradient(90deg,rgba(10,12,43,.96) 0%,rgba(10,12,43,.84) 38%,rgba(10,12,43,.24) 76%),
    linear-gradient(0deg,rgba(8,10,37,.88),transparent 58%)
}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:rgba(255,255,255,.58);font-size:.73rem;font-weight:700}
.breadcrumb a:hover{color:#fff}
.eyebrow{display:block;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.16em}
.hero .eyebrow{margin-top:34px}
.hero h1{
  max-width:920px;margin:18px 0 0;
  font-size:clamp(3.1rem,7vw,6.7rem);line-height:.91;letter-spacing:-.065em
}
.hero__lead{
  max-width:760px;margin:25px 0 0;color:rgba(255,255,255,.77);
  font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.72
}
.section{padding:104px 0}
.intro-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:76px;align-items:start}
.intro-grid h2,.section-head h2{
  margin:15px 0 0;font-size:clamp(2rem,4.2vw,3.65rem);line-height:1.02;letter-spacing:-.055em
}
.copy p{margin:0;color:var(--muted);font-size:1rem;line-height:1.82}
.copy p+p{margin-top:18px}
.commitments{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)
}
.commitment{min-width:0}
.commitment span{display:block;color:var(--gold-dark);font-size:.64rem;font-weight:800;letter-spacing:.1em}
.commitment strong{display:block;margin-top:8px;font-size:.84rem;line-height:1.42}
.scope{background:#fff}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:55px;align-items:end}
.section-head p{margin:0;color:var(--muted);line-height:1.72}
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:50px}
.scope-card{
  min-height:260px;padding:25px;border:1px solid var(--line);border-radius:22px;background:var(--paper);
  transition:.32s var(--ease)
}
.scope-card:hover{transform:translateY(-5px);border-color:rgba(242,165,43,.48);box-shadow:0 22px 48px rgba(20,17,55,.08)}
.scope-card__num{color:var(--gold-dark);font-size:.66rem;font-weight:800;letter-spacing:.08em}
.scope-card h3{margin:49px 0 0;font-size:1.08rem;line-height:1.25;letter-spacing:-.02em}
.scope-card p{margin:10px 0 0;color:var(--muted);font-size:.83rem;line-height:1.62}
.method{color:#fff;background:var(--purple)}
.method .section-head p{color:rgba(255,255,255,.63)}
.method .section-head h2{color:#fff}
.method-track{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:1px solid rgba(255,255,255,.13)}
.method-step{position:relative;min-height:280px;padding:27px 23px 25px;border-right:1px solid rgba(255,255,255,.11)}
.method-step:last-child{border-right:0}
.method-step span{color:var(--gold);font-size:.7rem;font-weight:800}
.method-step h3{margin:82px 0 0;font-size:1.08rem}
.method-step p{margin:11px 0 0;color:rgba(255,255,255,.61);font-size:.82rem;line-height:1.62}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:48px}
.benefit{
  min-height:230px;padding:27px;border-radius:22px;background:#fff;border:1px solid var(--line)
}
.benefit span{display:block;width:34px;height:4px;border-radius:99px;background:var(--gold)}
.benefit h3{margin:53px 0 0;font-size:1.12rem}
.benefit p{margin:11px 0 0;color:var(--muted);font-size:.86rem;line-height:1.66}
.cta{
  padding:82px 0;color:#fff;
  background:
    radial-gradient(circle at 82% 20%,rgba(242,165,43,.18),transparent 28%),
    var(--purple)
}
.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.cta h2{max-width:780px;margin:0;font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.02;letter-spacing:-.055em}
.cta p{max-width:650px;margin:16px 0 0;color:rgba(255,255,255,.63);line-height:1.7}
.button--gold{flex:0 0 auto;color:#20184f;background:var(--gold);box-shadow:0 14px 34px rgba(242,165,43,.18)}
.button--gold:hover{transform:translateY(-2px);background:#ffb63e}
.footer{padding:26px 0;background:#0d0b26;color:rgba(255,255,255,.48)}
.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer img{width:150px;filter:brightness(0) invert(1);opacity:.82}
.footer small{font-size:.7rem;line-height:1.5}
@media(max-width:900px){
  .intro-grid,.section-head{grid-template-columns:1fr;gap:28px}
  .scope-grid{grid-template-columns:1fr 1fr}
  .method-track{grid-template-columns:1fr 1fr}
  .method-step:nth-child(2){border-right:0}
  .method-step{border-bottom:1px solid rgba(255,255,255,.11)}
  .benefit-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  :root{--container:min(100% - 28px,1180px)}
  .top{height:68px}
  .top__brand img{width:148px}
  .top__back{display:none}
  .top__cta{min-height:40px;padding:0 14px;font-size:.7rem}
  .hero{min-height:610px;padding:125px 0 56px;background-position:center}
  .hero::before{
    background:
      linear-gradient(0deg,rgba(9,11,40,.97) 0%,rgba(9,11,40,.77) 55%,rgba(9,11,40,.26) 100%)
  }
  .hero .eyebrow{margin-top:25px}
  .hero h1{font-size:clamp(2.55rem,13vw,4rem);line-height:.94}
  .hero__lead{font-size:.94rem;line-height:1.62}
  .section{padding:72px 0}
  .intro-grid{gap:25px}
  .intro-grid h2,.section-head h2{font-size:2rem;line-height:1.06}
  .copy p{font-size:.92rem;line-height:1.72}
  .commitments{grid-template-columns:1fr;gap:15px}
  .scope-grid{grid-template-columns:1fr;margin-top:36px}
  .scope-card{min-height:0;padding:21px}
  .scope-card h3{margin-top:32px}
  .method-track{grid-template-columns:1fr;margin-top:38px}
  .method-step{min-height:0;padding:23px 4px;border-right:0}
  .method-step h3{margin-top:31px}
  .benefit-grid{margin-top:36px}
  .benefit{min-height:0;padding:22px}
  .benefit h3{margin-top:34px}
  .cta{padding:64px 0}
  .cta__inner{align-items:stretch;flex-direction:column}
  .button--gold{width:100%}
  .footer .wrap{align-items:center;flex-direction:column;text-align:center}
}

/* =========================================================
   V22 — ESCALA TIPOGRÁFICA MAIS CORPORATIVA
   ========================================================= */
.hero h1{
  max-width:860px !important;
  font-size:clamp(2.55rem,5.1vw,5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.052em !important;
}
.intro-grid h2,
.section-head h2{
  font-size:clamp(1.8rem,3.35vw,3rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
}
.cta h2{
  font-size:clamp(1.9rem,3.8vw,3.1rem) !important;
  line-height:1.05 !important;
}
@media(max-width:700px){
  .hero h1{
    font-size:clamp(2.1rem,10.5vw,3.15rem) !important;
    line-height:1 !important;
    letter-spacing:-.047em !important;
  }
  .intro-grid h2,
  .section-head h2{
    font-size:1.78rem !important;
    line-height:1.08 !important;
  }
  .cta h2{
    font-size:1.9rem !important;
  }
}

/* =========================================================
   V81 — SERVICE PAGES / UX UI EDITORIAL PREMIUM
   ========================================================= */
body.service-page{background:#f7f6f2;color:var(--ink)}
body.service-page .top{height:78px;background:rgba(255,255,255,.88);box-shadow:0 10px 35px rgba(19,17,49,.035)}
body.service-page .top__brand img{width:184px}

body.service-page .hero{
  min-height:0 !important;
  padding:142px 0 76px !important;
  color:var(--ink) !important;
  background:
    radial-gradient(circle at 89% 20%,rgba(242,165,43,.10),transparent 25%),
    linear-gradient(180deg,#fff 0%,#faf9f5 100%) !important;
  overflow:hidden;
}
body.service-page .hero::before{display:none !important}
body.service-page .hero::after{
  content:"";position:absolute;inset:78px 0 auto auto;width:42vw;height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,165,43,.34));pointer-events:none
}
body.service-page .hero__grid{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.68fr);
  gap:clamp(56px,7vw,105px);align-items:center
}
body.service-page .hero__copy{min-width:0;padding:18px 0}
body.service-page .breadcrumb{color:#858691;font-size:.72rem;gap:9px}
body.service-page .breadcrumb a{color:#686a75}
body.service-page .breadcrumb a:hover{color:var(--purple)}
body.service-page .hero .eyebrow{margin-top:30px;color:var(--gold-dark)}
body.service-page .hero h1{
  max-width:790px !important;margin:17px 0 0 !important;color:#1c1d25 !important;
  font-size:clamp(3rem,4.7vw,4.85rem) !important;line-height:.98 !important;
  letter-spacing:-.058em !important;text-wrap:balance
}
body.service-page .hero__lead{
  max-width:720px;margin:25px 0 0;color:#646772 !important;
  font-size:1.04rem;line-height:1.78
}
body.service-page .hero__media{margin:0;position:relative;justify-self:end;width:min(100%,430px)}
body.service-page .hero__media::before{
  content:"";position:absolute;z-index:0;left:-18px;bottom:-18px;width:44%;height:44%;
  border-left:1px solid rgba(242,165,43,.62);border-bottom:1px solid rgba(242,165,43,.62);border-radius:0 0 0 28px
}
body.service-page .hero__media-frame{
  position:relative;z-index:1;padding:10px;border:1px solid rgba(31,32,41,.10);border-radius:30px;
  background:#fff;box-shadow:0 28px 75px rgba(23,19,61,.13)
}
body.service-page .hero__media-frame img{
  display:block;width:100%;height:auto;max-height:525px;object-fit:contain;object-position:center;
  border-radius:22px;background:#eeece6
}

body.service-page .section{padding:88px 0}
body.service-page .section:not(.scope):not(.method){background:#f7f6f2}
body.service-page .intro-grid{
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:clamp(52px,7vw,92px);align-items:start
}
body.service-page .intro-grid>div:first-child{position:sticky;top:112px}
body.service-page .intro-grid h2,
body.service-page .section-head h2{
  max-width:620px;margin:14px 0 0 !important;font-size:clamp(2.2rem,3.35vw,3.25rem) !important;
  line-height:1.08 !important;letter-spacing:-.048em !important;text-wrap:balance
}
body.service-page .copy{max-width:760px}
body.service-page .copy p{color:#626570;font-size:1rem;line-height:1.88}
body.service-page .copy p+p{margin-top:20px}
body.service-page .commitments{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px;padding-top:0;border-top:0
}
body.service-page .commitment{
  padding:17px 16px 18px;border:1px solid #e2e0d9;border-radius:16px;background:rgba(255,255,255,.72)
}
body.service-page .commitment span{font-size:.61rem;line-height:1.4}
body.service-page .commitment strong{margin-top:9px;font-size:.79rem;line-height:1.5;font-weight:700}

body.service-page .scope{background:#fff !important;border-top:1px solid #ebe9e3;border-bottom:1px solid #ebe9e3}
body.service-page .section-head{
  grid-template-columns:minmax(0,1.12fr) minmax(310px,.68fr);gap:clamp(44px,7vw,95px);align-items:end
}
body.service-page .section-head>p{max-width:520px;justify-self:end;color:#6a6c76;font-size:.93rem;line-height:1.78}
body.service-page .scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px}
body.service-page .scope-card{
  min-height:225px;padding:24px 24px 25px;border-color:#e6e3dc;border-radius:20px;background:#faf9f6;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset
}
body.service-page .scope-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 20px 46px rgba(23,19,61,.07)}
body.service-page .scope-card h3{margin:38px 0 0;font-size:1.06rem;line-height:1.35}
body.service-page .scope-card p{font-size:.82rem;line-height:1.68}

body.service-page .method{padding:92px 0;background:var(--purple) !important}
body.service-page .method .section-head{align-items:end}
body.service-page .method-track{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:45px;border-top:0
}
body.service-page .method-step{
  min-height:210px;padding:25px 26px;border:1px solid rgba(255,255,255,.12) !important;border-radius:19px;
  background:rgba(255,255,255,.045);transition:.3s var(--ease)
}
body.service-page .method-step:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);border-color:rgba(242,165,43,.32) !important}
body.service-page .method-step h3{margin:52px 0 0;font-size:1.08rem;line-height:1.35}
body.service-page .method-step p{max-width:440px;font-size:.84rem;line-height:1.72}

body.service-page .benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:42px}
body.service-page .benefit{
  min-height:205px;padding:25px 25px 27px;border-color:#e3e1da;border-radius:20px;background:#fff;
  box-shadow:0 15px 38px rgba(23,19,61,.04)
}
body.service-page .benefit h3{margin:43px 0 0;font-size:1.07rem;line-height:1.35}
body.service-page .benefit p{font-size:.84rem;line-height:1.7}

body.service-page .cta{padding:72px 0}
body.service-page .cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:center}
body.service-page .cta h2{max-width:760px;font-size:clamp(2rem,3.3vw,3.15rem) !important;line-height:1.07 !important}
body.service-page .cta p{font-size:.94rem;line-height:1.75}
body.service-page .button--gold{min-height:48px;padding:0 23px}

@media(max-width:1000px){
  body.service-page .hero__grid{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:42px}
  body.service-page .hero h1{font-size:clamp(2.75rem,5.4vw,4rem) !important}
  body.service-page .intro-grid{gap:44px}
  body.service-page .commitments{grid-template-columns:1fr}
  body.service-page .scope-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  body.service-page .top{height:68px}
  body.service-page .hero{padding:112px 0 62px !important}
  body.service-page .hero__grid{grid-template-columns:1fr;gap:38px}
  body.service-page .hero__media{justify-self:start;width:min(100%,420px)}
  body.service-page .hero h1{font-size:clamp(2.35rem,10vw,3.35rem) !important;line-height:1.02 !important}
  body.service-page .hero__lead{font-size:.96rem;line-height:1.72}
  body.service-page .hero__media-frame{border-radius:24px;padding:8px}
  body.service-page .hero__media-frame img{max-height:none;border-radius:18px}
  body.service-page .section{padding:68px 0}
  body.service-page .intro-grid,body.service-page .section-head{grid-template-columns:1fr;gap:26px}
  body.service-page .intro-grid>div:first-child{position:static}
  body.service-page .intro-grid h2,body.service-page .section-head h2{font-size:2rem !important;line-height:1.1 !important}
  body.service-page .section-head>p{justify-self:start;max-width:680px}
  body.service-page .scope-grid,body.service-page .method-track,body.service-page .benefit-grid{grid-template-columns:1fr}
  body.service-page .scope-card,body.service-page .method-step,body.service-page .benefit{min-height:0}
  body.service-page .method-step h3{margin-top:30px}
  body.service-page .cta__inner{grid-template-columns:1fr;gap:30px}
  body.service-page .button--gold{width:100%}
}
/* V88 — acessibilidade: link de salto visível apenas ao receber foco */
.skip-link{position:fixed;left:16px;top:-90px;z-index:9999;padding:12px 16px;border-radius:14px;background:#fff;color:#17132e;font:700 .86rem/1 Inter,sans-serif;box-shadow:0 14px 40px rgba(0,0,0,.18);transition:top .2s ease}
.skip-link:focus{top:16px;outline:3px solid #d9a72f;outline-offset:3px}


/* =========================================================
   V94 — PADRÃO TIPOGRÁFICO MOBILE DAS PÁGINAS DE SERVIÇO
   Somente <= 700px. Desktop permanece intacto.
   ========================================================= */
@media (max-width:700px){
  main h1,
  main h2,
  main h3,
  main h4,
  main p{
    text-align:left !important;
  }

  main .eyebrow,
  main [class*="eyebrow"]{
    justify-content:flex-start !important;
    text-align:left !important;
  }

  main h1,
  main h2,
  main h3,
  main p{
    margin-left:0;
    margin-right:0;
  }

  .mobile-title-break{
    display:block !important;
    width:100% !important;
    height:0 !important;
  }
}
