/* Páginas de serviço (/servicos/...) — complementa page.css */
.top-nav{display:flex;align-items:center;gap:clamp(14px,3vw,34px)}
.top-nav a{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);text-decoration:none;transition:color .25s}
.top-nav a:hover{color:#fff}
.sv-wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 var(--gutter)}
.sv-wrap.narrow{max-width:820px}
.sv-wrap.center{text-align:center}
main{flex:1}

/* topo da página */
.sv-hero{padding:clamp(40px,7vw,90px) 0 clamp(48px,7vw,90px);position:relative;overflow:hidden}
.sv-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 20% 30%,rgba(255,255,255,.07),transparent 70%);pointer-events:none}
.sv-hero .sv-wrap{position:relative}
.crumbs{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:34px}
.crumbs a{color:var(--text-2);text-decoration:none}
.crumbs a:hover{color:#fff}
.sv-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,8vw,5.6rem);line-height:1.02;letter-spacing:-.015em;margin-bottom:22px}
.sv-hero .lead{max-width:34em;font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--text-2)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.actions.center{justify-content:center}
.btn svg{width:16px;height:16px}

/* seções */
.sv-sec{padding:clamp(48px,7vw,96px) 0}
.sv-sec.alt{background:var(--bg-2);border-block:1px solid var(--line-soft)}
.sv-sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.15;margin-bottom:18px}
.sv-sec h2.big{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin-bottom:34px}
.sv-sec .eyebrow{margin-bottom:18px}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,6vw,80px);align-items:start}
.prose p{color:var(--text-2);font-size:clamp(1.02rem,1.3vw,1.14rem);margin-top:16px;max-width:38em;text-align:justify}
.who{border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);background:linear-gradient(170deg,var(--surface),var(--bg))}
.who h2{font-size:1.5rem;margin-bottom:14px}
.who ul{list-style:none;display:grid;gap:14px}
.who li{display:flex;gap:12px;color:var(--text-2);font-size:.98rem;line-height:1.55}
.who li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;border:1px solid #fff;color:#fff;display:grid;place-items:center;font-size:.66rem;margin-top:.15em}

/* bloco do serviço (mesmo estilo do cartão da página inicial) */
.svc-panel-static{border:1px solid var(--line);border-radius:26px;padding:clamp(22px,4vw,48px);background:linear-gradient(170deg,var(--surface),var(--bg))}
.svc-q{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.3;color:var(--text-2);margin:18px 0 30px;max-width:26em}
.svc-q strong{color:#fff;font-weight:500;font-style:italic}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.svc-col{border:1px solid var(--line);border-radius:18px;padding:24px;background:rgba(255,255,255,.02)}
.svc-col h4{display:flex;gap:14px;align-items:center;font-family:var(--sans);font-size:.95rem;font-weight:500;line-height:1.45;color:#fff}
.svc-col h4::before{content:"!";flex:none;width:30px;height:30px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font-weight:600;font-size:.9rem}
.svc-col.help h4::before{content:"✓"}
.svc-col ul{list-style:none;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:13px}
.svc-col li{display:flex;gap:12px;align-items:flex-start;color:var(--text-2);font-size:.95rem;line-height:1.5}
.svc-col li::before{content:"×";flex:none;width:18px;height:18px;margin-top:.12em;border-radius:50%;border:1px solid var(--text-3);display:grid;place-items:center;font-size:.8rem;line-height:1;color:var(--text-2)}
.svc-col.help li::before{content:"✓";border-color:#fff;color:#fff;font-size:.62rem}
.svc-gain{margin-top:30px}
.svc-gain h4{display:flex;align-items:center;gap:18px;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--text-2)}
.svc-gain h4::before,.svc-gain h4::after{content:"";flex:1;height:1px;background:var(--line)}
.svc-gain ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.svc-gain li{border:1px solid var(--line);border-radius:14px;padding:18px 12px;text-align:center;font-size:.9rem;line-height:1.4;color:#fff;background:rgba(255,255,255,.03);display:grid;place-items:center}
.svc-callout{margin-top:26px;border-radius:18px;background:#dcdcdc;color:#0a0a0a;padding:22px 28px}
.svc-callout b{display:block;font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:600;line-height:1.2}
.svc-callout span{display:block;margin-top:6px;font-size:.98rem;color:#2a2a2a}
.svc-callout strong{font-weight:600;color:#000}
.svc-q{font-size:clamp(1.05rem,2vw,1.45rem);letter-spacing:.03em;line-height:1.4}
.svc-col li,.svc-col h4,.svc-gain li,.svc-cta p{letter-spacing:.03em;font-size:.82rem}
.svc-callout b{font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:.02em}
.svc-callout span{font-size:.85rem;letter-spacing:.03em}
.svc-panel-static :is(.svc-q,.svc-col h4,.svc-col li,.svc-gain li,.svc-callout){text-transform:uppercase}
.svc-q{font-size:clamp(1.05rem,2vw,1.45rem);letter-spacing:.03em;line-height:1.4;margin-top:0}
.svc-col li,.svc-col h4,.svc-gain li{letter-spacing:.03em;font-size:.82rem}
.svc-callout b{font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:.02em}
.svc-callout span{font-size:.85rem;letter-spacing:.03em}
@media (max-width:760px){.svc-cols{grid-template-columns:1fr}.svc-gain ul{grid-template-columns:1fr 1fr}.svc-panel-static{border-radius:20px}}

/* como funciona */
.steps2{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps2 li{display:block}
.steps2 .dot{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;margin-bottom:18px;background:var(--bg)}
.steps2 h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;margin-bottom:8px}
.steps2 p{color:var(--text-2);font-size:.94rem}
@media (max-width:900px){.steps2{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}}
@media (max-width:560px){.steps2{grid-template-columns:1fr}}

/* perguntas frequentes (sem JavaScript) */
.faq2{border-top:1px solid var(--line)}
.faq2 details{border-bottom:1px solid var(--line)}
.faq2 summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-family:var(--serif);font-weight:500;font-size:clamp(1.25rem,2.4vw,1.55rem);line-height:1.25}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary::after{content:"+";flex:none;font-family:var(--sans);font-weight:300;font-size:1.6rem;color:var(--text-2);transition:transform .3s var(--ease)}
.faq2 details[open] summary::after{transform:rotate(45deg)}
.faq2 details p{color:var(--text-2);padding:0 0 24px;max-width:42em}

/* outros serviços */
.rels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rel{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--text-2);transition:color .3s,border-color .3s,background .3s,transform .3s var(--ease)}
.rel .n{font-family:var(--serif);font-style:italic;color:var(--text-3)}
.rel .t{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:#fff}
.rel svg{margin-left:auto;flex:none;width:16px;height:16px;opacity:.5;transition:transform .3s var(--ease),opacity .3s}
.rel:hover{border-color:#fff;background:rgba(255,255,255,.04);transform:translateY(-2px)}
.rel:hover svg{opacity:1;transform:translateX(4px)}
@media (max-width:900px){.rels{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rels{grid-template-columns:1fr}}

/* chamada final */
.sv-cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin-bottom:22px}
.sv-cta{padding:clamp(56px,8vw,110px) 0;border-top:1px solid var(--line-soft);position:relative;overflow:hidden}
.sv-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 55%,rgba(255,255,255,.08),transparent 70%);pointer-events:none}
.sv-cta .sv-wrap{position:relative}
.sv-cta h2 em{font-style:italic;color:var(--text-2);font-weight:400}
.sv-cta p{color:var(--text-2);max-width:32em;margin:0 auto}
.sv-cta .actions{margin-top:34px}

/* botão flutuante e aviso de cookies */
.fab{position:fixed;right:22px;bottom:22px;z-index:55;width:58px;height:58px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;box-shadow:0 14px 40px -10px rgba(0,0,0,.8);transition:transform .35s var(--ease),opacity .4s;opacity:0;pointer-events:none;transform:translateY(20px)}
.fab.show{opacity:1;pointer-events:auto;transform:none}
.fab:hover{transform:scale(1.08)}
.fab svg{width:26px;height:26px}
.consent{position:fixed;left:20px;bottom:20px;z-index:70;max-width:380px;background:rgba(22,22,22,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:0 20px 60px -20px #000;transform:translateY(30px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.consent.show{opacity:1;transform:none;pointer-events:auto}
.consent p{font-size:.86rem;color:var(--text-2);line-height:1.55}
.consent .row{display:flex;gap:10px;margin-top:16px}
.consent button{flex:1;padding:11px 16px;border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s}
.consent button:hover{border-color:#fff}
.consent button.ok{background:#fff;color:#000;border-color:#fff}
body.has-consent .fab{display:none}
.fab{opacity:1;pointer-events:auto;transform:none}
@media (max-width:760px){
  .top{padding:14px var(--gutter);gap:12px}
  .brand .logo-header{height:52px}
  .top-nav a:not(.back){display:none}
  .sv-hero .actions .btn,.sv-cta .actions .btn{width:100%;justify-content:center}
}

footer{padding-right:calc(var(--gutter) + 72px)}
