
:root{--navy:#12294B;--navy-d:#0B1A31;--ink:#1A2233;--text:#3A4456;--muted:#5A6475;--line:#DDE2EA;--field:#C9D0DB;--soft:#F4F6F9;--sky:#A9BBD6;
--red:#9B2C24;--red-s:#FBEDEB;--amb:#7A4300;--amb-s:#FDF0DC;--oli:#5E5000;--oli-s:#F3EFD9;--grn:#1F6B45;--grn-s:#E3EFE8;
--sans:"Public Sans","Helvetica Neue",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;font-size:17px;line-height:1.6}
a{color:var(--navy)}a:hover{color:var(--navy-d)}
img{max-width:100%}[hidden]{display:none!important}
.wrap{max-width:1120px;margin:0 auto;padding-inline:24px}
h1,h2,h3{text-wrap:balance;margin:0;color:var(--navy);line-height:1.2}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:13px 20px;border-radius:6px;border:0;cursor:pointer;font:inherit;font-weight:700}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-d);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-ghost{border:1px solid var(--sky);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6C8BC0;outline-offset:2px}
/* header */
.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:14px}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.logo b{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.logo span{font-size:10.5px;font-weight:600;letter-spacing:.32em;color:var(--navy);margin-top:4px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:15px}
.nav a{text-decoration:none;color:var(--ink)}.nav a.ext{color:var(--muted)}
.nav a.btn{color:#fff;padding:10px 16px;font-weight:600}
/* hero */
.hero{background:var(--navy);color:#fff}
.hero .wrap{padding-block:64px 56px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end}
.hero-main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px}
.hero h1{color:#fff;font-size:clamp(32px,5vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.12}
.hero .eyebrow{color:var(--sky)}
.hero-lede{font-size:clamp(17px,2.2vw,20px);color:#DCE4F0;max-width:62ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.quote{flex:1 1 320px;min-width:0;margin:0;border-left:2px solid var(--sky);padding-left:22px;display:flex;flex-direction:column;gap:10px}
.quote blockquote{margin:0;font-size:19px;line-height:1.45;font-weight:500}
.quote figcaption{font-size:14px;color:var(--sky)}
.crumb{font-size:14px;color:var(--sky)}.crumb a{color:var(--sky)}
.title-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
/* sections */
.sec{padding-block:64px 8px;display:flex;flex-direction:column;gap:28px}
.sec-head{display:flex;flex-direction:column;gap:10px;max-width:68ch}
.sec-head h2{font-size:clamp(26px,3.5vw,34px);font-weight:800}
.sec-head p{color:var(--text)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:var(--soft);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:8px}
.card.bad{background:var(--red-s)}
.card h3{font-size:19px}.card p{font-size:15.5px;color:var(--text)}
.tag{font-size:13px;font-weight:700;letter-spacing:.04em}
.tag.ok{color:var(--grn)}.tag.no{color:var(--red)}
.note{font-size:15.5px;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:16px 20px}
.cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.city{text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;transition:border-color .15s}
.city:hover{border-color:var(--navy)}
.city-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.city-name{font-size:19px;font-weight:700;color:var(--navy)}
.city-plain{font-size:14.5px;color:var(--muted)}
.city-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.more{font-size:13px;color:var(--navy);font-weight:600}
.badge{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:4px;white-space:nowrap}
.b-red{background:var(--red-s);color:var(--red)}.b-amb{background:var(--amb-s);color:var(--amb)}.b-oli{background:var(--oli-s);color:var(--oli)}.b-tc{background:#E6ECF5;color:var(--navy)}
.grp-h{font-size:19px;color:var(--navy);margin:28px 0 4px}.grp-p{margin:0 0 12px;color:var(--muted,#555);font-size:15px}
.small{font-size:14px;color:var(--muted)}
.band{background:var(--soft);margin-top:64px}
.band .sec{padding-block:64px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.steps li{background:#fff;border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:10px}
.num{font-family:var(--mono);font-size:15px;color:#fff;background:var(--navy);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:18px}.steps p{font-size:15.5px;color:var(--text)}
.cta-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--navy);color:#fff;border-radius:8px;padding:24px 28px}
.cta-bar p{font-size:18px;max-width:60ch}
.split{display:flex;flex-wrap:wrap;gap:48px;padding-block:64px}
.split-intro{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.split-intro h2{font-size:clamp(26px,3.5vw,34px);font-weight:800}
.split-intro p{color:var(--text)}
/* forms */
.form{flex:999 1 480px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:16px;background:#fff}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.row.r31{grid-template-columns:2fr 1fr}
.fld{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:0}
.fld input,.fld select,.fld textarea{font:inherit;font-size:16px;font-weight:400;padding:11px 12px;border:1px solid var(--field);border-radius:6px;background:#fff;color:var(--ink);width:100%}
.opt{font-weight:400;color:var(--muted)}
.lbl{display:block;line-height:1.3}
.fld input,.fld select{height:48px;line-height:1.2}
.fld select{appearance:auto;padding-block:0}
.row{align-items:end}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text)}.chk input{margin-top:4px}
.hp{position:absolute;left:-9999px}
.err{color:var(--red);font-size:14px}
.ok-box{border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--grn-s)}
.ok-box h3{margin-bottom:6px}
/* lawyers */
.law{border-top:1px solid var(--line);margin-top:64px}
.law .split{padding-block:56px}
.dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14.5px;margin:8px 0 0}
.dl dt{color:var(--muted)}.dl dd{margin:0;font-family:var(--mono)}
.stages{flex:999 1 480px;min-width:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--navy)}
.stages li{padding:18px 20px 18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.stages li:nth-child(even){padding:18px 0 18px 20px}
.stages small{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.stages span{font-size:15px;color:var(--text)}
/* city page */
.cols{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;padding-block:56px}
.main{flex:999 1 580px;min-width:0;display:flex;flex-direction:column;gap:52px}
.main section{display:flex;flex-direction:column;gap:16px}
.main h2{font-size:clamp(24px,3vw,30px);font-weight:800}
.main p{color:var(--text)}
.side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.side .form{padding:24px;flex:none}
.side h2{font-size:21px;line-height:1.3}
.side p{font-size:15.5px;color:var(--text)}
.refs{background:var(--soft);border-radius:8px;padding:20px 24px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:16px}
th{background:var(--soft);text-align:left;padding:14px 18px;color:var(--navy)}
td{padding:14px 18px;border-top:1px solid var(--line)}
td.n{font-family:var(--mono)}
tr.hl td{background:var(--red-s);font-weight:600}tr.hl td.n{color:var(--red)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.checks li{display:flex;gap:14px;align-items:flex-start;background:var(--soft);border-radius:8px;padding:16px 18px}
.checks svg{flex-shrink:0;margin-top:2px}
.example{border:1px solid var(--line);border-radius:8px;padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.example dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.example dt{color:var(--muted);font-size:15px}.example dd{margin:0;font-family:var(--mono);font-size:20px}
.audit{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.audit li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.audit li > span:first-child{display:flex;flex-direction:column;gap:2px;flex:1 1 320px;min-width:0}
.st{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:4px;white-space:nowrap;align-self:center}
.st-ok{background:var(--grn-s);color:var(--grn)}.st-p{background:var(--soft);color:var(--muted);border:1px dashed var(--field)}
.pending{border:1px dashed var(--field);border-radius:8px;padding:16px 20px;font-size:15.5px;color:var(--text);background:#fff}

.fb{border:1px solid var(--line);border-radius:8px;background:var(--soft)}
.fb summary{cursor:pointer;padding:16px 20px;font-weight:600;color:var(--navy);list-style:none}
.fb summary::-webkit-details-marker{display:none}
.fb summary::before{content:"+ ";font-family:var(--mono)}
.fb[open] summary::before{content:"– "}
.fb .fb-form{border:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.fb .ok-box{border:0;border-radius:0 0 8px 8px}
/* footer */
.foot{background:var(--navy-d);color:#C4CEDD;margin-top:64px}
.foot .wrap{padding-block:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px}
.foot b{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}
.foot b span{font-size:11px;font-weight:600;letter-spacing:.3em}
.foot a{color:#fff}
.foot .l{display:flex;flex-direction:column;gap:6px;max-width:70ch}
.foot .r{display:flex;flex-direction:column;gap:6px}
@media (max-width:900px){.grid3,.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.side{position:static}}
@media (max-width:640px){.grid3,.steps,.cities,.row,.row.r31,.stages,.example dl{grid-template-columns:minmax(0,1fr)}
.stages li:nth-child(even){padding:18px 0}.nav a:not(.btn){display:none}.city{flex-direction:column;align-items:flex-start}.city-side{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Logo oficial do escritório (substitui o logotipo em texto) */
.top .logo{display:block;width:150px;height:47px;flex:none;background:url(/img/logo-navy.png) left center/contain no-repeat}
.top .logo b,.top .logo span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot .l b{display:block;width:160px;height:50px;font-size:0;line-height:0;color:transparent;background:url(/img/logo-footer.png) left center/contain no-repeat}
.foot .l b span{display:none}
@media (max-width:560px){.top .logo{width:124px;height:39px}}

/* modulação Tema 1.455 */
.modul{margin:32px 0 0;border:1px solid #F0D9B5;background:var(--amb-s);border-radius:8px;padding:22px 26px;display:flex;flex-direction:column;gap:10px;max-width:880px}
.modul .eyebrow{color:var(--amb)}.modul h2{font-size:22px}.modul p{color:var(--text);font-size:16px}
