/* Peixoto Soluções Jurídicas — Direção C · Moderno Institucional
   Fonte: Plus Jakarta Sans. Paleta: branco, gelo, azul-noite, azul institucional, bronze. */
:root{
  --white:#fff;
  --ice:#eef1f5;
  --ice-2:#f6f8fa;
  --ink:#0f1b2d;
  --ink-2:#16263d;
  --text-2:#4b5668;
  --blue:#1f4e79;
  --blue-dk:#173c5e;
  --blue-lt:#9cc3ea;
  --bronze:#9a6b2f;
  --bronze-lt:#d6a865;
  --wa:#128c4a;
  --wa-dk:#0d7a3f;
  --wa-brand:#25d366;
  --line:#e1e6ed;
  --line-dk:rgba(255,255,255,.12);
  --muted-dk:#b4bfce;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-sm:10px;
  --r:12px;
  --r-lg:20px;
  --r-photo:24px;
  --max:1240px;
  --header:84px;
  --shadow:0 1px 2px rgba(15,27,45,.04),0 8px 24px rgba(15,27,45,.06);
  --shadow-lg:0 2px 4px rgba(15,27,45,.04),0 18px 48px rgba(15,27,45,.12);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
strong,b{font-weight:700}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.ico{width:20px;height:20px;flex-shrink:0;display:inline-block}
.wrap{width:min(var(--max),100% - 96px);margin-inline:auto}
.skip{position:fixed;left:12px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r-sm);transform:translateY(-200%)}
.skip:focus{transform:none}

/* Tipografia */
h1{font-size:clamp(40px,4.6vw,66px);line-height:1.06;letter-spacing:-.035em;font-weight:780}
h2{font-size:clamp(32px,3.4vw,48px);line-height:1.1;letter-spacing:-.03em;font-weight:760}
h3{font-size:21px;line-height:1.3;letter-spacing:-.015em;font-weight:700}
h1 em,h2 em{font-style:normal;color:var(--blue)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:18px}
.eyebrow .rule{width:28px;height:2px;border-radius:2px;background:currentColor}
.lead{font-size:19px;line-height:1.65;color:var(--text-2);max-width:540px}
.lead strong{color:var(--ink)}
.section-head{margin-bottom:56px;max-width:760px}
.section-head.split{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end}
.section-sub{font-size:18px;color:var(--text-2);max-width:480px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:var(--r);font-weight:700;font-size:16px;letter-spacing:-.005em;border:1.5px solid transparent;transition:transform .2s var(--ease),background-color .2s,box-shadow .2s,border-color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-wa{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(31,78,121,.25)}
.btn-wa:hover{background:var(--blue-dk);box-shadow:0 12px 28px rgba(31,78,121,.32)}
.btn-wa .ico{color:#fff}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--ink)}
.btn-gold{background:#fff;color:var(--ink)}
.btn-gold:hover{background:var(--ice)}
.btn-block{width:100%}
.link-line{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:4px;transition:background-size .3s var(--ease)}
.link-line:hover{background-size:100% 2px}
.link-line .ico{width:18px;height:18px;transition:transform .2s}
.link-line:hover .ico{transform:translate(2px,-2px)}

/* Barra de progresso */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;width:100%;background:var(--blue);transform:scaleX(var(--p,0));transform-origin:0 50%}

/* Header */
.header{position:sticky;top:0;z-index:50;height:var(--header);background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,height .3s}
.header.scrolled{border-color:var(--line);box-shadow:0 4px 20px rgba(15,27,45,.05)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand-mark{width:40px;height:40px;border-radius:10px}
.brand-type{display:flex;flex-direction:column;font-weight:800;font-size:19px;letter-spacing:.12em;line-height:1}
.brand-type small{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);margin-top:5px}
nav{display:flex;align-items:center;gap:30px}
nav a{font-size:15px;font-weight:600;color:var(--text-2);transition:color .2s;position:relative}
nav a:not(.nav-cta)::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
nav a:not(.nav-cta):hover{color:var(--ink)}
nav a:not(.nav-cta):hover::after,nav a.active::after{transform:scaleX(1)}
nav a.active{color:var(--ink)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--r);background:var(--ink);color:#fff!important;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--blue);transform:translateY(-1px)}
.nav-cta .ico{width:18px;height:18px;color:var(--wa-brand)}
.menu-toggle{display:none}

/* Hero */
.scroll-cue{position:absolute;left:50%;bottom:22px;width:26px;height:42px;margin-left:-13px;border:2px solid var(--line);border-radius:14px}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--text-2);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:0;transform:translateY(12px)}100%{opacity:0}}

/* Seções */
main>section{padding-block:120px}

/* Prova / credenciais (escura) */
.proof{background:var(--ink);color:#fff}
.proof h2 em{color:var(--blue-lt)}
.proof .eyebrow{color:var(--bronze-lt)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk)}
.stat{padding:36px 28px 36px 0;display:flex;flex-direction:column;gap:10px}
.stat+.stat{padding-left:28px;border-left:1px solid var(--line-dk)}
.stat-num{font-size:clamp(44px,4.4vw,64px);font-weight:780;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat-label{font-size:15px;color:var(--muted-dk);max-width:230px}
.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px}
.proof-card{display:flex;flex-direction:column;gap:14px;padding:36px;border-radius:var(--r-lg);background:var(--ink-2);border:1px solid var(--line-dk);transition:transform .25s var(--ease),border-color .25s,background .25s}
a.proof-card:hover{transform:translateY(-3px);border-color:rgba(156,195,234,.45);background:#1a2d47}
.proof-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(156,195,234,.12);color:var(--blue-lt)}
.proof-icon .ico{width:24px;height:24px}
.proof-kicker{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-lt)}
.proof-card strong{font-size:34px;font-weight:780;letter-spacing:-.03em;line-height:1.1}
.proof-text{color:var(--muted-dk);font-size:16px}
.proof-link{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue-lt)}
.proof-link .ico{width:18px;height:18px;transition:transform .2s}
a.proof-card:hover .proof-link .ico{transform:translate(2px,-2px)}
.timeline li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding-block:16px;border-top:1px solid var(--line-dk)}
.timeline li:first-child{border-top:0;padding-top:4px}
.timeline span{font-weight:700;font-size:14px;color:var(--blue-lt);padding-top:2px}
.timeline p{font-weight:700;font-size:17px;line-height:1.4}
.timeline small{display:block;font-weight:500;font-size:14px;color:var(--muted-dk);margin-top:2px}

/* Áreas */
.featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.feature{display:flex;flex-direction:column;padding:40px;border-radius:var(--r-lg);background:var(--ice-2);border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent;background:#fff}
.feature-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.tag{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:rgba(31,78,121,.08);padding:7px 12px;border-radius:999px}
.num{font-size:14px;font-weight:700;color:var(--bronze);font-variant-numeric:tabular-nums}
.feature h3{font-size:clamp(26px,2.3vw,32px);letter-spacing:-.025em;margin-bottom:14px}
.feature>p{color:var(--text-2);max-width:500px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 32px}
.chips li{font-size:14px;font-weight:600;color:var(--ink);padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.feature-cta{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:var(--r);background:var(--ink);color:#fff;font-weight:700;font-size:15.5px;transition:background .2s}
.feature-cta .ico{color:var(--wa-brand)}
.feature-cta .arrow{margin-left:auto;color:#fff;width:18px;height:18px;transition:transform .2s}
.feature-cta:hover{background:var(--blue)}
.feature-cta:hover .arrow{transform:translate(2px,-2px)}
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.area{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:16px;border:1px solid var(--line);background:#fff;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.area:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cdd5df}
.area h3{font-size:20px}
.area p{font-size:15.5px;color:var(--text-2);line-height:1.6}
.area-go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--blue)}
.area-go .ico{width:16px;height:16px;transition:transform .2s}
.area:hover .area-go .ico{transform:translate(2px,-2px)}

/* Sobre */
.about{background:var(--ice)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:88px;align-items:center}
.about-photo{border-radius:var(--r-photo);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-lg);background:#dfe5ec}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform .8s var(--ease)}
.about-photo:hover img{transform:scale(1.025)}
.about-copy h2{margin-bottom:26px}
.about-copy>p{color:var(--text-2);margin-bottom:16px;max-width:580px}
.about-copy>p strong{color:var(--ink)}
.pull{margin:30px 0;padding:26px 28px;border-radius:16px;background:#fff;font-size:19px;line-height:1.55;font-weight:600;color:var(--ink);box-shadow:var(--shadow);position:relative}
.pull::before{content:'“';position:absolute;top:-18px;left:22px;font-size:64px;line-height:1;font-weight:800;color:var(--bronze)}
.sign{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #d5dce5}
.sign>span{display:flex;flex-direction:column;font-size:14px;color:var(--text-2)}
.sign b{font-size:17px;color:var(--ink)}

/* Processo */
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:s}
.steps::before{content:'';position:absolute;left:28px;right:28px;top:28px;height:2px;background:var(--line)}
.steps::after{content:'';position:absolute;left:28px;right:28px;top:28px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s}
.steps.is-in::after{transform:scaleX(1)}
.steps li{position:relative;z-index:1}
.step-n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--blue);color:var(--blue);font-weight:800;font-size:16px;margin-bottom:26px;box-shadow:0 0 0 8px #fff}
.steps h3{font-size:22px;margin-bottom:10px}
.steps p{color:var(--text-2);max-width:330px}

/* Empresas (escura com imagem) */
.business{position:relative;background:var(--ink);color:#fff;isolation:isolate;overflow:hidden}
.business::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,27,45,.97) 0%,rgba(15,27,45,.9) 55%,rgba(15,27,45,.78) 100%),url('assets/arquitetura.jpg') center/cover}
.business .eyebrow{color:var(--bronze-lt)}
.business h2{margin-bottom:22px}
.business h2 em{color:var(--blue-lt)}
.business .section-sub{color:var(--muted-dk);margin-bottom:34px}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.business .btn-gold .ico{color:var(--wa)}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.service{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line-dk);backdrop-filter:blur(4px);transition:background .25s,border-color .25s,transform .25s var(--ease)}
.service:hover{background:rgba(255,255,255,.08);border-color:rgba(156,195,234,.4);transform:translateY(-2px)}
.service .num{color:var(--bronze-lt)}
.service h3{font-size:19px;margin-bottom:6px}
.service p{font-size:15px;color:var(--muted-dk);line-height:1.55}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}
.faq-head{position:sticky;top:calc(var(--header) + 32px)}
.faq-head h2{margin-bottom:18px}
.faq-head .section-sub{margin-bottom:22px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-list details{border-radius:16px;border:1px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s}
.faq-list details[open]{border-color:#cdd5df;box-shadow:var(--shadow)}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;font-weight:700;font-size:17.5px}
.faq-a{padding:0 24px 22px;color:var(--text-2)}
.plus{position:relative;width:32px;height:32px;border-radius:50%;background:var(--ice);flex-shrink:0;transition:background .2s,transform .3s var(--ease)}
.plus::before,.plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease)}
.plus::after{transform:rotate(90deg)}
details[open] .plus{background:var(--blue);transform:rotate(180deg)}
details[open] .plus::before,details[open] .plus::after{background:#fff}
details[open] .plus::after{transform:rotate(0)}

/* Contato */
.contact{background:var(--ink);color:#fff}
.contact .eyebrow{color:var(--bronze-lt)}
.contact h2{margin-bottom:22px;font-size:clamp(36px,4vw,56px)}
.contact h2 em{color:var(--blue-lt)}
.contact .section-sub{color:var(--muted-dk)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.contact-alt{margin-top:40px;border-top:1px solid var(--line-dk)}
.contact-alt li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-block:18px;border-bottom:1px solid var(--line-dk)}
.contact-alt li>span:first-child{width:90px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dk)}
.contact-alt a{font-weight:600;overflow-wrap:anywhere}
.contact-alt a:hover{color:var(--blue-lt)}
#copy-email{border:1px solid var(--line-dk);background:transparent;color:#fff;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}
#copy-email:hover{border-color:var(--blue-lt)}
.copy-status{font-size:13px;color:var(--blue-lt)}
.contact-address{color:var(--muted-dk)}
.wa-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.wa-top{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.wa-top img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 22%}
.wa-top div{display:flex;flex-direction:column;line-height:1.35}
.wa-top b{font-size:16px}
.wa-top span{font-size:14px;color:var(--text-2)}
.wa-logo{margin-left:auto;width:30px;height:30px;color:var(--wa-brand)}
.wa-body{padding-block:22px}
.wa-body label{display:block;font-weight:700;font-size:15px;margin-bottom:10px}
.select{position:relative}
.select::after{content:'';position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);pointer-events:none}
select{appearance:none;-webkit-appearance:none;width:100%;min-height:54px;padding:0 44px 0 16px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--ice-2);font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s}
select:hover,select:focus{border-color:var(--blue)}
.wa-preview-label{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin:22px 0 10px}
.bubble{position:relative;padding:16px 18px;border-radius:14px 14px 4px 14px;background:#e3f7e9;color:#103a22;font-size:15.5px;line-height:1.55;margin-left:28px;transition:opacity .2s}
.bubble.swap{opacity:.35}
#contact-action{background:var(--wa);box-shadow:0 10px 24px rgba(18,140,74,.28)}
#contact-action:hover{background:var(--wa-dk)}
.wa-note{font-size:13.5px;color:var(--text-2);margin-top:14px;line-height:1.5}

/* Rodapé */
.footer{background:#0a1322;color:#fff;padding-block:56px 32px}
.footer .brand-type small{color:var(--muted-dk)}
.footer-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-bottom:36px;border-bottom:1px solid var(--line-dk)}
.footer-main>p{font-size:15px;color:var(--muted-dk)}
.footer .link-line{color:#fff}
.ico.up{transform:rotate(-45deg)}
.footer .link-line:hover .ico.up{transform:rotate(-45deg) translate(2px,-2px)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding-top:24px;font-size:14px;color:var(--muted-dk)}
.footer-bottom button{background:none;border:0;padding:0;color:#fff;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;padding:14px 20px 14px 16px;border-radius:999px;background:var(--wa);color:#fff;font-weight:700;font-size:15px;box-shadow:0 12px 32px rgba(18,140,74,.35);transform:translateY(140%);opacity:0;transition:transform .45s var(--ease),opacity .3s,background .2s}
.wa-float.show{transform:none;opacity:1}
.wa-float:hover{background:var(--wa-dk)}
.wa-float .ico{width:26px;height:26px}
.wa-float::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:pulse 2.8s ease-out infinite;pointer-events:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%,100%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}

/* Diálogo */
dialog{max-width:580px;width:calc(100% - 32px);border:0;border-radius:var(--r-lg);padding:40px;color:var(--ink);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:rgba(15,27,45,.6);backdrop-filter:blur(4px)}
dialog h2{font-size:32px;margin-bottom:18px}
dialog>p:not(.eyebrow){color:var(--text-2);margin-bottom:14px;font-size:16px}
dialog p a{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}
.dialog-close{position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--ice);font-size:24px;line-height:1}
.dialog-done{margin-top:8px;background:var(--ink);color:#fff}
.dialog-done:hover{background:var(--blue)}

/* Animações de rolagem (só com JS ativo e sem redução de movimento) */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
  .js [data-reveal="photo"]{transform:none;clip-path:inset(10% 10% 10% 10% round var(--r-photo));transition:clip-path 1.1s var(--ease),opacity .6s}
  .js [data-reveal="photo"] img{transform:scale(1.12);transition:transform 1.4s var(--ease)}
  .js [data-reveal="line"]{opacity:1;transform:none}
  .js [data-reveal].is-in{opacity:1;transform:none}
  .js [data-reveal="photo"].is-in{clip-path:inset(0 0 0 0 round var(--r-photo))}
  .js [data-reveal="photo"].is-in img{transform:none}
  .js [data-reveal="photo"].is-in:hover img{transform:scale(1.025);transition-duration:.8s}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .steps::after{transform:scaleX(1)}
}

/* Responsivo */
@media (max-width:1100px){
  .wrap{width:min(var(--max),100% - 64px)}
  nav{gap:22px}
  nav a[href="#duvidas"]{display:none}
  .about-grid,.business-grid,.contact-grid,.faq-grid{gap:56px}
  .areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding-right:20px}.stat+.stat{padding-left:20px}
}
@media (max-width:900px){
  :root{--header:72px}
  body{font-size:16.5px}
  main>section{padding-block:88px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:46px;height:46px;border-radius:var(--r);border:1px solid var(--line);background:#fff;position:relative;z-index:60}
  .menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease)}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  nav{position:fixed;inset:var(--header) 0 0;z-index:55;flex-direction:column;align-items:stretch;gap:0;padding:24px 32px calc(32px + env(safe-area-inset-bottom));background:#fff;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
  nav.open{opacity:1;visibility:visible;transform:none}
  nav a{font-size:22px;font-weight:700;color:var(--ink);padding:18px 0;border-bottom:1px solid var(--line)}
  nav a[href="#duvidas"]{display:block}
  nav a:not(.nav-cta)::after{display:none}
  .nav-cta{margin-top:24px;justify-content:center;padding:18px;font-size:17px;border:0!important}
  .scroll-cue{display:none}
  .section-head.split{grid-template-columns:1fr;gap:18px}
  .section-head{margin-bottom:40px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line-dk)}
  .proof-grid,.featured{grid-template-columns:1fr}
  .about-grid,.business-grid,.contact-grid,.faq-grid{grid-template-columns:1fr}
  .about-photo{aspect-ratio:4/4.2;max-width:560px}
  .faq-head{position:static}
  .steps{grid-template-columns:1fr;gap:36px}
  .steps::before,.steps::after{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}
  .steps::after{transform:scaleY(0);transform-origin:top}
  .steps.is-in::after{transform:scaleY(1)}
  .steps li{display:grid;grid-template-columns:56px 1fr;column-gap:22px}
  .step-n{grid-row:span 2;margin:0}
  .steps p{max-width:none}
}
@media (max-width:640px){
  :root{--header:66px}
  body{font-size:16px}
  .wrap{width:calc(100% - 40px)}
  main>section{padding-block:72px}
  h1{font-size:clamp(34px,9.6vw,44px)}
  h2{font-size:clamp(28px,8vw,36px)}
  .lead,.section-sub{font-size:16.5px}
  .brand-mark{width:36px;height:36px}
  .brand-type{font-size:16px}
  .brand-type small{font-size:9.5px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:26px 14px 26px 0}.stat+.stat{padding-left:14px}
  .stat:nth-child(3){padding-left:0}
  .stat-label{font-size:14px}
  .proof-card,.feature{padding:26px}
  .proof-card strong{font-size:28px}
  .timeline li{grid-template-columns:1fr;gap:2px}
  .areas{grid-template-columns:1fr;gap:14px}
  .area{padding:22px}
  .feature-cta{font-size:15px}
  .about-photo{border-radius:20px}
  .pull{font-size:17px;padding:22px}
  .sign .btn{width:100%}
  .services{grid-template-columns:1fr}
  .business .btn{width:100%}
  .faq-list summary{font-size:16.5px;padding:18px}
  .faq-a{padding:0 18px 18px}
  .wa-card{padding:20px}
  .bubble{margin-left:0}
  .contact-alt li>span:first-child{width:100%}
  .footer{padding-bottom:110px}
  .footer-bottom{flex-direction:column}
  .wa-float{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:center;padding:16px;font-size:16px}
  dialog{padding:28px 22px}
}

/* Ajustes */
[hidden]{display:none!important}
@media (max-width:900px){
  .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
}
.pt{margin-left:-.09em}
@media (max-width:1100px){.scroll-cue{display:none}}
@media (min-width:641px) and (max-width:900px){
  h1{font-size:clamp(44px,7.4vw,62px)}
  h2{font-size:clamp(34px,5.4vw,44px)}
  .about-photo{aspect-ratio:16/12;max-width:none}
  .about-photo img{object-position:50% 25%}
}

/* =========================================================
   v4 · Sóbrio e editorial
   Neutros quentes de pedra, azul-noite, bronze discreto.
   Sem elementos flutuantes, sem texturas tecnológicas.
   ========================================================= */
:root{
  --ice:#f4f3ef;      /* pedra clara */
  --ice-2:#f9f8f5;    /* papel */
  --line:#e3e0d8;
  --stone:#ebe8e1;
}
main>section{padding-block:112px}
.wa-float::before{display:none}
.scroll-cue{display:none}

/* Hero: fundo liso, foto limpa */
.btn-ghost{border-color:#d6d2c8;background:transparent}

/* Seções escuras com fotografia de arquitetura, discreta */
.proof,.contact{position:relative;isolation:isolate;overflow:hidden}
.proof::before,.contact::before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/arquitetura.jpg') center/cover no-repeat;opacity:.16;filter:grayscale(.35)}
.proof::after,.contact::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,27,45,.55),rgba(15,27,45,.92))}
.contact::before{background-position:right center;transform:scaleX(-1)}
.stats{border-color:rgba(255,255,255,.14)}
.stat+.stat{border-left-color:rgba(255,255,255,.14)}
.proof-card{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.12);border-radius:16px}
a.proof-card:hover{background:rgba(255,255,255,.06);border-color:rgba(214,168,101,.5)}
.proof-icon{background:transparent;border:1px solid rgba(214,168,101,.5);color:var(--bronze-lt);border-radius:50%}

/* Áreas: fundo pedra, cartões brancos com borda fina */
.practice{background:var(--ice)}
.feature{background:#fff;border:1px solid var(--line);box-shadow:none}
.feature:hover{box-shadow:0 18px 40px -24px rgba(15,27,45,.3);border-color:#d6d2c8}
.feature-head{justify-content:flex-start;gap:14px}
.feature-head .num{margin-left:auto}
.tag{background:transparent;border:1px solid var(--line);color:var(--text-2)}
.chips li{background:var(--ice-2);border-color:var(--line)}
.area{background:#fff;border:1px solid var(--line)}
.area:hover{box-shadow:0 14px 30px -20px rgba(15,27,45,.3);border-color:#d6d2c8}
.area-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.area-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--blue);flex-shrink:0;transition:border-color .25s,color .25s}
.area-icon .ico{width:21px;height:21px}
.area-icon.lg{width:52px;height:52px;border-color:var(--blue)}
.area-icon.lg .ico{width:24px;height:24px}
.area:hover .area-icon{border-color:var(--blue)}

/* Situações */
.cases{background:#fff}
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.case{display:flex;flex-direction:column;gap:12px;padding:36px 32px 32px;border-bottom:1px solid var(--line);transition:background .25s}
.case:not(:nth-child(3n+1)){border-left:1px solid var(--line)}
.case:hover{background:var(--ice-2)}
.case-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.case-tag{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze)}
.case h3{font-size:20px;line-height:1.3}
.case>p{font-size:15.5px;color:var(--text-2);line-height:1.6}
.case-path{margin-top:6px;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.55;color:var(--ink)}
.case-path span{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:4px}
.case-cta{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--blue)}
.case-cta .ico{width:16px;height:16px;transition:transform .2s}
.case:hover .case-cta .ico{transform:translate(2px,-2px)}
.cases-note{margin-top:28px;font-size:14px;color:var(--text-2)}

/* Depoimentos (aparece quando houver dados reais) */
.reviews{background:var(--ice)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.review{display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.stars{display:flex;gap:3px;color:var(--bronze)}
.stars .ico{width:17px;height:17px}
.review blockquote{font-size:17px;line-height:1.6;color:var(--ink)}
.review figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-2);padding-top:16px;border-top:1px solid var(--line)}
.review figcaption b{display:block;color:var(--ink);font-size:15px}
.review figcaption>span:last-child{display:flex;flex-direction:column}
.reviews-compact .section-head{margin-bottom:32px}
.reviews-compact .reviews-grid{gap:14px}
.reviews-compact .review{padding:24px;gap:16px}
.reviews-compact .review blockquote{font-size:16px}
.reviews-compact .review figcaption{padding-top:14px}
.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}
.reviews-score{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;justify-self:end}
.score-num{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1}
.score-label{font-size:15px;color:var(--text-2);width:100%}

/* Sobre: foto limpa, citação editorial */
.about{background:var(--ice-2);border-block:1px solid var(--line)}
.about-photo{box-shadow:0 30px 60px -30px rgba(15,27,45,.35)}
.pull{background:transparent;box-shadow:none;border-radius:0;padding:24px 0 0;margin:30px 0;border-top:1px solid var(--line);font-size:20px;font-weight:500;line-height:1.55}
.pull::before{content:'';position:static;display:block;width:40px;height:2px;background:var(--bronze);margin:-25px 0 22px;font-size:0}
.sign{border-top-color:var(--line)}

/* Processo: linha e números, sem decoração extra */
.process{background:#fff}
.step-n{box-shadow:0 0 0 8px #fff}

/* Empresas */
.business::before{background:linear-gradient(90deg,rgba(15,27,45,.97) 0%,rgba(15,27,45,.92) 55%,rgba(15,27,45,.85) 100%),url('assets/arquitetura.jpg') center/cover}
.service{border-radius:14px;backdrop-filter:none}

/* FAQ */
.faq{background:var(--ice)}
.faq-list details{border-color:var(--line)}
.faq-list details[open]{box-shadow:none;border-color:#d6d2c8}
.plus{background:var(--ice)}

/* Contato */
.wa-card{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}

@media (max-width:1100px){
  .cases-grid,.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case:not(:nth-child(3n+1)){border-left:0}
  .case:nth-child(2n){border-left:1px solid var(--line)}
}
@media (max-width:900px){
  .reviews-score{justify-self:start}
}
@media (max-width:640px){
  main>section{padding-block:72px}
  .cases-grid,.reviews-grid{grid-template-columns:1fr}
  .case{padding:28px 0}
  .case:nth-child(2n){border-left:0}
  .review{padding:22px}
  .pull{font-size:17.5px}
}
/* Depoimentos: prévia de layout */
.review.is-placeholder{border-style:dashed;border-color:#cfc9bc;background:var(--ice-2)}
.review.is-placeholder blockquote,.review.is-placeholder figcaption b{color:var(--text-2);font-style:italic}
.review.is-placeholder .avatar{background:#cfc9bc}
.reviews-preview-note{margin-top:24px;padding:14px 18px;border-radius:12px;border:1px dashed var(--bronze);color:var(--bronze);font-size:14px;background:#fff}
.reviews-preview-note code{font-family:ui-monospace,Menlo,monospace;font-size:13px}

/* Faixa das áreas (logo após o hero) */
.band{background:var(--ink);color:#fff;overflow:hidden;padding-block:22px;border-bottom:1px solid var(--line-dk)}
.band-track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.band-row{display:flex;align-items:center;gap:28px;padding-right:28px}
.band span{font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.band span:nth-child(4n+1){color:var(--blue-lt)}
.band i{width:8px;height:8px;border-radius:50%;background:var(--bronze-lt);flex-shrink:0}
.band:hover .band-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:640px){.band{padding-block:16px}.band span{font-size:16px}.band-row{gap:20px;padding-right:20px}}
@media (prefers-reduced-motion:reduce){.band-track{animation:none}}


/* Hero · fotografia original e desenho arquitetônico exclusivo. */
.hero{
  position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
  min-height:calc(100svh - var(--header));padding-block:56px 64px;
  border-bottom:1px solid var(--line);background:#f8f7f3;
}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/hero-arquitetura-clara.jpg') center/cover no-repeat;opacity:.66}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:'eyebrow visual' 'title visual' 'lead visual' 'actions visual' 'proof visual';column-gap:76px;row-gap:24px;align-items:center}
.hero-eyebrow{grid-area:eyebrow;margin:0;align-self:end}
.hero h1{grid-area:title;font-size:clamp(42px,4.6vw,64px);line-height:1.1;max-width:640px;text-wrap:balance}
.hero-lead{grid-area:lead;max-width:530px;font-size:18px}
.hero-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 0}
.hero-actions .btn{padding-inline:22px}
.hero-actions .btn-ghost .ico{width:16px;height:16px}
.hero-visual{grid-area:visual;position:relative;justify-self:end;align-self:center;width:100%;max-width:480px;margin:0}
.hero-photo{position:relative;width:100%;background:var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 20px 44px -28px rgba(15,27,45,.3)}
.hero-photo img{width:100%;height:520px;object-fit:cover;object-position:50% 34%}
.hero-badge{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-left:3px solid var(--bronze-lt);color:#fff;line-height:1.4}
.hero-badge b{font-size:14px;font-weight:600}
.hero-badge small{font-size:12px;color:#b4bfce;white-space:nowrap}
.hero-proof{grid-area:proof;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;margin:10px 0 0;padding:22px 0 0;border-top:1px solid #cec9be;gap:0;max-width:520px}
.hero-proof li{min-width:0;display:flex;align-items:center;gap:12px;padding:0 20px;border-right:1px solid #cec9be}
.hero-proof li:first-child{padding-left:0}
.hero-proof li:last-child{padding-right:0;border:0}
.hero-proof .ico{width:23px;height:23px;color:var(--bronze)}
.hero-proof li>span{display:flex;flex-direction:column;gap:4px;line-height:1.45}
.hero-proof b{font-size:14px;font-weight:750;color:var(--ink)}
.hero-proof small{font-size:12px;color:var(--text-2)}
.proof-nowrap{white-space:nowrap}

@media (min-width:901px) and (max-width:1100px){
  .hero-grid{column-gap:42px;row-gap:22px}
  .hero h1{font-size:48px}
  .hero-lead{font-size:17px}
  .hero-actions .btn{font-size:13px;padding-inline:14px;min-height:50px}
  .hero-proof li{padding-inline:12px;gap:8px}
  .hero-proof b{font-size:12px}
  .hero-proof small{font-size:11px}
  .hero-photo img{height:500px}
  .hero-badge{padding:16px 14px}
  .hero-badge b{font-size:12px}
}
@media (min-width:641px) and (max-width:900px){
  .hero{min-height:0;padding-block:38px 48px}
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-areas:'eyebrow eyebrow' 'title title' 'visual lead' 'visual actions' 'proof proof';column-gap:28px;row-gap:24px}
  .hero h1{font-size:clamp(40px,6vw,54px);max-width:700px;text-wrap:balance}
  .hero-visual{align-self:start}
  .hero-photo img{height:300px}
  .hero-badge{flex-direction:column;align-items:flex-start;gap:3px;padding:12px 16px}
  .hero-lead{align-self:end;font-size:17px}
  .hero-actions{align-self:start;flex-direction:column;margin:0}
  .hero-proof{max-width:none;margin:0}
}
@media (max-width:640px){
  .hero{min-height:0;padding-block:22px 32px}
  .hero::before{background-size:auto 100%;background-position:63% center;opacity:.56}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'eyebrow' 'title' 'visual' 'lead' 'actions' 'proof';gap:20px}
  .hero-eyebrow{font-size:10px;letter-spacing:.12em;gap:10px}
  .hero-eyebrow .rule{width:24px;height:1px}
  .hero h1{font-size:clamp(30px,8.7vw,38px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance;max-width:430px}
  .hero-visual{justify-self:stretch;max-width:none;margin-top:2px}
  .hero-photo img{height:clamp(248px,68vw,300px);object-position:50% 32%}
  .hero-badge{padding:12px 14px;gap:10px}
  .hero-badge b{font-size:12px}
  .hero-badge small{font-size:10px}
  .hero-lead{font-size:15px;line-height:1.65;margin-top:2px}
  .hero-actions{flex-direction:column;gap:6px;margin:0}
  .hero-actions .btn{min-height:52px;font-size:14px;padding-inline:14px}
  .hero-actions .btn-ghost{min-height:38px;border:0;font-size:12px;background:transparent}
  .hero-proof{max-width:none;margin:0;padding-top:18px}
  .hero-proof li{padding-inline:16px;gap:9px}
  .hero-proof .ico{width:18px;height:18px}
  .hero-proof b{font-size:12px;letter-spacing:-.02em}
  .hero-proof small{font-size:10px}
}
@media (max-width:359px){
  .hero h1{font-size:30px}
  .hero-photo img{height:240px}
  .hero-badge{padding-inline:10px}
  .hero-badge b{font-size:11px}
  .hero-proof li{padding-inline:10px;gap:7px}
  .hero-proof b{font-size:11px}
  .hero-proof small{font-size:9px}
}

/* Acessos às páginas de serviços, sem substituir a institucional. */
.service-links{display:flex;flex-direction:column;margin:24px 0 28px;border-top:1px solid var(--line)}
.service-links li{border-bottom:1px solid var(--line)}
.service-links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px;font-weight:650;color:var(--blue)}
.service-links a:hover{color:var(--ink)}
.service-links a span{font-size:18px;transition:transform .2s}
.service-links a:hover span{transform:translate(2px,-2px)}
