
html{scroll-behavior:smooth} body{margin:0}

/* Layout: herói marinho com brasão e marca em caixa alta entre filetes dourados; seções claras com filetes finos, como papelaria de escritório tradicional. Visual único por escolha (não alterna tema). */
:root{
  color-scheme: light;
  --navy:#0D1A2B; --navy-2:#132840; --navy-3:#1B3655;
  --gold:#B8925A; --gold-hi:#E2C48F; --gold-lo:#8A6A3B;
  --paper:#F5F6F7; --white:#FFFFFF; --ink:#152234; --muted:#5E6B7A; --line:#DCE1E6;
  --wordmark:"Cinzel", "Trajan Pro", Georgia, serif;
  --display:"Cormorant Garamond", Garamond, Georgia, serif;
  --body:"Jost", "Futura", "Century Gothic", "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}
body{background:var(--paper); color:var(--ink); font-family:var(--body); font-weight:400; font-size:16.5px; line-height:1.65; -webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
.container{max-width:1120px; margin:0 auto; padding-inline:clamp(16px,5vw,48px)}
.gold-text{background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 55%,var(--gold-lo) 100%); -webkit-background-clip:text; background-clip:text; color:transparent}
.eyebrow{font-family:var(--wordmark); font-size:12px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold)}

/* Topo */
.top{position:sticky; position:-webkit-sticky; top:env(safe-area-inset-top,0px); z-index:5; background:rgba(13,26,43,.94); backdrop-filter:blur(6px); border-bottom:1px solid rgba(184,146,90,.25)}
.top .container{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:14px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand img{width:38px; height:38px; flex:none}
.brand span{font-family:var(--wordmark); font-size:13px; letter-spacing:.22em; color:#E9EDF2; white-space:nowrap}
.top{isolation:isolate}
.nav{display:flex; align-items:center; gap:26px; font-size:13px; letter-spacing:.14em; text-transform:uppercase}
.nav a,.dd-btn{color:#C9D1DB; text-decoration:none; padding-block:6px; border-bottom:1px solid transparent}
.nav a:hover,.dd-btn:hover{color:var(--gold-hi)}
.nav > a[aria-current="page"],.dd-btn[aria-current="page"]{color:var(--gold-hi); border-bottom-color:var(--gold)}
.dd{position:relative}
.dd-btn{background:none; border-top:0; border-left:0; border-right:0; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; display:flex; align-items:center; gap:7px}
.dd-btn svg{width:10px; height:10px; transition:transform .2s}
.dd-menu{position:absolute; top:calc(100% + 16px); left:-20px; min-width:270px; margin:0; padding:8px 0; list-style:none; background:var(--navy); border:1px solid rgba(184,146,90,.3); border-top:2px solid var(--gold); box-shadow:0 18px 40px rgba(0,0,0,.35); display:none}
.dd-menu::before{content:""; position:absolute; left:0; right:0; top:-20px; height:20px}
.dd-menu a{display:block; padding:11px 20px; border:0; letter-spacing:.1em; font-size:12.5px}
.dd-menu a:hover{background:rgba(255,255,255,.04)}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{display:block}
.dd:hover .dd-btn svg,.dd.open .dd-btn svg{transform:rotate(180deg)}
.burger{display:none; background:none; border:1px solid rgba(184,146,90,.5); color:var(--gold-hi); width:42px; height:42px; cursor:pointer; place-items:center; flex:none}
.burger svg{width:20px; height:20px}

/* Abas */
.ph{position:relative; overflow:hidden; color:#E9EDF2; background:radial-gradient(700px 360px at 6% 0%, rgba(58,96,140,.5), transparent 65%), linear-gradient(160deg,var(--navy-3),var(--navy-2) 55%,var(--navy-3))}
.ph::after{content:""; position:absolute; inset:0; pointer-events:none; background:none}
.ph .container{position:relative; z-index:1; padding-block:clamp(40px,6vw,72px)}
.ph h1{font-family:var(--display); font-weight:500; font-size:clamp(2.1rem,4.6vw,3.3rem); line-height:1.08; margin:12px 0 0}
.ph p.sub{margin:14px 0 0; color:#DCE3EB; font-weight:400; max-width:62ch; font-size:1.05rem}
.shortcuts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px)}
.sc{display:grid; gap:8px; align-content:start; background:var(--white); border:1px solid var(--line); border-top:2px solid var(--gold); padding:24px 24px 26px; text-decoration:none; min-width:0}
.sc .eyebrow{font-size:11px}
.sc strong{font-family:var(--display); font-weight:600; font-size:1.35rem; color:var(--navy); line-height:1.2}
.sc span.more{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lo)}
.sc:hover strong{color:var(--gold-lo)}
.card{scroll-margin-top:96px; transition:box-shadow .6s}
.card.flash{animation:flash 1.8s ease-out}
@keyframes flash{0%,40%{box-shadow:0 0 0 2px var(--gold), 0 12px 30px rgba(184,146,90,.25)}100%{box-shadow:0 0 0 0 transparent}}
.ctastrip{background:var(--white); border-top:1px solid var(--line)}
.ctastrip .container{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding-block:clamp(32px,5vw,48px)}
.ctastrip p{margin:0; font-family:var(--display); font-weight:600; font-size:clamp(1.35rem,2.6vw,1.75rem); color:var(--navy)}
.ctastrip .btn.solid{color:var(--navy)}
.bio p{margin:0 0 16px; max-width:62ch}
.bio p:last-child{margin-bottom:0}
.pillars{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); margin-top:clamp(36px,5vw,56px)}
.pillar{padding:22px 22px 0 0; display:grid; gap:6px; align-content:start; min-width:0}
.pillar + .pillar{padding-left:22px; border-left:1px solid var(--line)}
.pillar h3{font-family:var(--display); font-weight:600; font-size:1.25rem; margin:0; color:var(--navy)}
.pillar p{margin:0; color:var(--muted); font-size:.96rem}
.sub-h{font-family:var(--wordmark); font-weight:600; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--navy); margin:0 0 14px}

/* Herói */
.hero{position:relative; overflow:hidden; color:#E9EDF2;
  background:
    radial-gradient(900px 520px at 8% 0%, rgba(58,96,140,.55), transparent 65%),
    radial-gradient(1200px 600px at 80% -10%, rgba(226,196,143,.10), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(27,54,85,.9), transparent 60%),
    linear-gradient(160deg,var(--navy-3) 0%,var(--navy-2) 50%,var(--navy-3) 100%)}
.hero::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:none}
.hero .container{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,5vw,64px); align-items:center; padding-block:clamp(56px,9vw,112px)}
.hero h1{font-family:var(--display); font-weight:500; font-size:clamp(2.3rem,5.2vw,3.9rem); line-height:1.08; margin:18px 0 0; text-wrap:balance}
.hero h1 em{font-style:italic; color:var(--gold-hi)}
.hero p.lead{margin-top:22px; max-width:56ch; color:#DCE3EB; font-weight:400; font-size:1.1rem; line-height:1.7}
.cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px}
.btn{display:inline-flex; align-items:center; gap:10px; font-family:var(--body); font-size:13px; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; padding:14px 22px; border:1px solid var(--gold); cursor:pointer; background:transparent; color:var(--gold-hi)}
.btn.solid{background:linear-gradient(180deg,var(--gold-hi),var(--gold)); color:var(--navy); border-color:transparent; font-weight:500}
.btn:hover{filter:brightness(1.06)}

/* Brasão + marca */
.crest{display:grid; justify-items:center; gap:18px; text-align:center}
.crest img{width:min(320px,72vw); height:auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}
.contact-sec{background:#FFFFFF}
.contact-wrap{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:center}
.contact-main{min-width:0}
.contact-seal{display:grid; justify-items:center}
.contact-seal img{width:min(280px,64vw); height:auto}
@media (max-width:900px){ .contact-wrap{grid-template-columns:minmax(0,1fr)} }
.wordmark{font-family:var(--wordmark); font-weight:600; font-size:clamp(1.15rem,2.4vw,1.55rem); letter-spacing:.14em; line-height:1.25}
.rule{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; width:100%; max-width:360px}
.rule i{height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.rule b{width:6px; height:6px; transform:rotate(45deg); background:var(--gold)}
.subword{font-family:var(--wordmark); font-size:11.5px; letter-spacing:.34em; color:#C9D1DB; text-transform:uppercase}

/* Seções */
.section{padding-block:clamp(56px,8vw,96px)}
.section + .section{border-top:1px solid var(--line)}
.head{display:grid; gap:10px; max-width:720px; margin-bottom:clamp(28px,4vw,44px)}
.head h2{font-family:var(--display); font-weight:600; font-size:clamp(1.9rem,3.6vw,2.6rem); line-height:1.12; margin:0; text-wrap:balance; color:var(--navy)}
.head p{color:var(--muted); margin:0; max-width:62ch}

.cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px)}
.card{background:var(--white); border:1px solid var(--line); border-top:2px solid var(--gold); padding:28px 26px 30px; display:grid; gap:14px; align-content:start; min-width:0}
.card svg{width:34px; height:34px}
.card h3{font-family:var(--wordmark); font-weight:600; font-size:15px; letter-spacing:.12em; text-transform:uppercase; margin:0; color:var(--navy)}
.card ul{margin:0; padding:0; list-style:none; display:grid; gap:9px; color:var(--muted); font-size:.97rem}
.card li{display:grid; grid-template-columns:12px minmax(0,1fr); gap:10px}
.card li::before{content:""; width:5px; height:5px; margin-top:.62em; transform:rotate(45deg); background:var(--gold)}
.tools{margin-top:26px; display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; font-size:13.5px; color:var(--muted)}
.tools span{border:1px solid var(--line); background:var(--white); padding:6px 12px; color:var(--ink)}

/* Método (sequência real → numeração romana) */
.steps{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border-top:1px solid var(--line)}
.step{padding:26px 22px 4px 0; display:grid; gap:8px; align-content:start; min-width:0}
.step + .step{padding-left:22px; border-left:1px solid var(--line)}
.step .n{font-family:var(--display); font-style:italic; font-size:2rem; line-height:1; color:var(--gold)}
.step h3{font-family:var(--display); font-weight:600; font-size:1.3rem; margin:0; color:var(--navy)}
.step p{margin:0; color:var(--muted); font-size:.96rem}

/* Formação */
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start}
.quote{font-family:var(--display); font-size:clamp(1.35rem,2.4vw,1.7rem); line-height:1.35; color:var(--navy); margin:0}
.quote::before{content:"“"; display:block; font-size:3.2rem; line-height:.6; color:var(--gold); margin-bottom:10px}
.list{display:grid; gap:0; margin:0; padding:0; list-style:none}
.list li{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding-block:16px; border-bottom:1px solid var(--line)}
.list li:first-child{border-top:1px solid var(--line)}
.list strong{font-weight:500; display:block}
.list small{color:var(--muted); font-size:.92rem}
.badge{align-self:center; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lo); border:1px solid var(--gold); padding:4px 8px; white-space:nowrap}

/* Faixa marinho */
.band{background:linear-gradient(160deg,var(--navy),var(--navy-3)); color:#E9EDF2}
.band .container{display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(20px,4vw,40px); align-items:center; padding-block:clamp(40px,6vw,64px)}
.band svg{width:56px; height:56px}
.band h2{font-family:var(--display); font-weight:500; font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 6px; line-height:1.15}
.band p{margin:0; color:#DCE3EB; max-width:60ch}

/* Contato */
.contact{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(16px,2.4vw,28px)}
.ct{background:var(--white); border:1px solid var(--line); padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0}
.ct .k{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted)}
.ct .v{font-family:var(--display); font-weight:600; font-size:clamp(1.3rem,2.4vw,1.6rem); color:var(--navy); user-select:all; overflow-wrap:anywhere}
.ct .go{flex:none; font-family:var(--body); font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; padding:11px 16px; background:linear-gradient(180deg,var(--gold-hi),var(--gold)); color:var(--navy); font-weight:500; white-space:nowrap}
.ct .go:hover{filter:brightness(1.06)}
.ct.wa{justify-content:center; border:0; background:none; padding:0}
.ct.wa .go{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; box-sizing:border-box; padding:18px 20px; font-size:13px; white-space:normal; text-align:center}
@media (max-width:420px){ .ct{flex-direction:column; align-items:flex-start} }

footer{background:var(--navy); color:#93A0B0; font-size:13px}
footer .container{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-block:26px}
footer b{font-family:var(--wordmark); font-weight:600; letter-spacing:.18em; color:#E9EDF2}

@media (max-width:900px){
  .hero .container,.split{grid-template-columns:minmax(0,1fr)}
  .crest{order:-1}
  .cards{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(3){padding-left:0; border-left:0}
  .top .container{flex-wrap:wrap; row-gap:0; padding-bottom:0}
  .nav{order:3; width:100%; display:flex; justify-content:space-between; gap:12px; overflow-x:auto; scrollbar-width:none; border-top:1px solid rgba(255,255,255,.07); margin-top:12px; font-size:11px; letter-spacing:.06em}
  .nav::-webkit-scrollbar{display:none}
  .nav a{flex:none; padding-block:12px 10px; border-bottom-width:2px}
  .shortcuts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .step,.step + .step{padding-left:0; border-left:0; border-top:1px solid var(--line)}
  .step:first-child{border-top:0}
  .contact{grid-template-columns:minmax(0,1fr)}
  .pillars{grid-template-columns:minmax(0,1fr)}
  .pillar,.pillar + .pillar{padding-left:0; border-left:0; padding-bottom:18px; border-bottom:1px solid var(--line)}
  .band .container{grid-template-columns:minmax(0,1fr)}
  .brand span{font-size:11px; letter-spacing:.16em}
}
@media (prefers-reduced-motion:no-preference){
  .crest img{animation:glint 1.2s ease-out both}
  @keyframes glint{from{filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(.85)}to{filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)) brightness(1)}}
}
.faq{display:grid; gap:0; border-top:1px solid var(--line); max-width:860px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer; list-style:none; padding:18px 36px 18px 0; position:relative; font-family:var(--display); font-weight:600; font-size:1.2rem; color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+"; position:absolute; right:4px; top:14px; font-size:1.5rem; color:var(--gold)}
.faq-item[open] summary::after{content:"−"}
.faq-item p{margin:0 0 18px; color:var(--muted); max-width:70ch}
.card h2.card-h{font-family:var(--wordmark); font-weight:600; font-size:15px; letter-spacing:.12em; text-transform:uppercase; margin:0; color:var(--navy)}
.ph-split{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(24px,5vw,64px); align-items:center}
.portrait{margin:0; position:relative; width:clamp(170px,22vw,250px)}
.portrait::before{content:""; position:absolute; inset:-10px 10px 10px -10px; border:1px solid var(--gold); pointer-events:none}
.portrait img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; position:relative; box-shadow:0 16px 36px rgba(0,0,0,.35)}
.bio-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,64px); align-items:center}
.photo{margin:0; position:relative}
.photo img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-bottom:2px solid var(--gold)}
.formacao{margin-top:clamp(40px,6vw,64px)}
.list.two{grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(24px,4vw,48px)}
.list.two li:nth-child(2){border-top:1px solid var(--line)}
@media (max-width:900px){
  .ph-split{grid-template-columns:minmax(0,1fr)}
  .portrait{order:-1; width:170px; margin-left:10px}
  .bio-grid{grid-template-columns:minmax(0,1fr)}
  .photo{max-width:420px}
}
@media (max-width:560px){
  .photo{display:none}
  .list.two{grid-template-columns:minmax(0,1fr)}
  .list.two li:nth-child(2){border-top:0}
}

/* v3: abertura com foto, resumo, serviços detalhados */
.creds{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:6px; color:#E9EDF2; font-size:.98rem}
.creds li{display:grid; grid-template-columns:12px minmax(0,1fr); gap:10px; align-items:baseline}
.creds li::before{content:""; width:6px; height:6px; transform:rotate(45deg) translateY(-2px); background:var(--gold-hi)}
.wa-btn svg{flex:none}
.btn.dark{color:var(--navy); border-color:var(--navy)}
.hero-photo{margin:0; position:relative; justify-self:center; width:min(360px,78vw)}
.frame{position:relative}
.frame::before{content:""; position:absolute; inset:-12px 12px 12px -12px; border:1px solid var(--gold); pointer-events:none}
.frame img:first-child{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; position:relative; box-shadow:0 18px 40px rgba(0,0,0,.4)}
.hero-seal{position:absolute; right:-22px; bottom:-18px; width:84px; height:84px; filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.hero-photo figcaption{position:relative; display:grid; gap:2px; margin-top:22px; padding-left:2px}
.hero-photo figcaption b{font-family:var(--wordmark); font-weight:600; letter-spacing:.16em; font-size:14px; color:#F2F4F7}
.hero-photo figcaption span{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-hi)}
.summary{background:var(--white)}
.sum-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,48px)}
.sum{display:grid; gap:14px; align-content:start; min-width:0}
.sum-list{list-style:none; margin:0; padding:0; display:grid; gap:0; border-top:1px solid var(--line)}
.sum-list li{padding:11px 0; border-bottom:1px solid var(--line); display:grid; gap:1px}
.sum-list strong{font-weight:500; color:var(--navy)}
.sum-list small{color:var(--muted); font-size:.9rem}
.mini-steps{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.mini-steps li{display:grid; grid-template-columns:34px minmax(0,1fr); align-items:baseline; padding:11px 0; border-bottom:1px solid var(--line); color:var(--navy); font-weight:500}
.mini-steps span{font-family:var(--display); font-style:italic; color:var(--gold); font-size:1.15rem}
.more{font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lo); text-decoration:none}
.more:hover{color:var(--navy)}
.areas{display:grid; gap:clamp(28px,4vw,44px)}
.area{background:var(--white); border:1px solid var(--line); border-top:2px solid var(--gold); padding:clamp(22px,3vw,34px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr); gap:clamp(20px,3.5vw,44px); scroll-margin-top:96px}
.area-head{display:grid; gap:12px; align-content:start}
.area-head svg{width:36px; height:36px}
.area-head p{margin:0; color:var(--muted)}
.area-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 32px}
.blk{min-width:0}
.blk h3{margin:0 0 8px; font-family:var(--body); font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-lo)}
.blk ul{margin:0; padding:0; list-style:none; display:grid; gap:7px; font-size:.96rem; color:var(--ink)}
.blk li{display:grid; grid-template-columns:12px minmax(0,1fr); gap:8px}
.blk li::before{content:""; width:5px; height:5px; margin-top:.62em; transform:rotate(45deg); background:var(--gold)}

.area.flash{animation:flash 1.8s ease-out}
.badge.done{color:var(--muted); border-color:var(--line)}
@media (max-width:900px){
  .sum-grid{grid-template-columns:minmax(0,1fr)}
  .area{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(odd){padding-left:0; border-left:0}
  .step:nth-child(even){padding-left:22px; border-left:1px solid var(--line)}
  .hero-photo{width:min(210px,56vw); margin:8px 0 6px 12px; justify-self:start; order:-1}
  .hero-seal{width:60px; height:60px; right:-14px; bottom:-12px}
  .hero-photo figcaption{display:none}
}
@media (max-width:560px){
  .area-grid{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .step:nth-child(even){padding-left:0; border-left:0}
}


html,body{overflow-x:clip}

/* Logotipos 3D */
.logo-fade{-webkit-mask-image:radial-gradient(closest-side,#000 90%,transparent 100%); mask-image:radial-gradient(closest-side,#000 90%,transparent 100%)}
.hero-logo{margin:0; justify-self:center; width:min(460px,40vw)}
.hero-logo img{display:block; width:100%; height:auto; -webkit-mask-image:radial-gradient(closest-side,#000 88%,transparent 100%); mask-image:radial-gradient(closest-side,#000 88%,transparent 100%); filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}
.contact-seal img{width:min(320px,70vw)}
@media (max-width:900px){ .hero-logo{order:-1; width:min(240px,62vw); margin-top:4px} }

.scale-ic{color:var(--gold)}
.band .scale-ic{width:84px; height:84px; color:var(--gold-hi); stroke-width:1.4}
.area-head .scale-ic{width:38px; height:38px}
.contact-seal img{-webkit-mask-image:none; mask-image:none}
@media (max-width:900px){
  .hero .container{padding-top:64px; row-gap:36px}
  .hero-logo{order:-1; width:min(240px,60vw); margin:0 auto; justify-self:center; align-self:center}
}
html{background:var(--navy)}
.portrait img{object-position:50% 0}
.area-grid .blk.deliver{grid-column:1 / -1}
.btn.dark svg{flex:none}

/* ===== v4: site em várias páginas ===== */
.skip{position:absolute; left:-9999px; top:0; background:var(--gold); color:var(--navy); padding:10px 14px; z-index:10}
.skip:focus{left:12px; top:12px}
.nav .m-only{display:none}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
.hero p.lead + p.lead{margin-top:12px}
.chips{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.chips li{display:flex; align-items:center; gap:9px; border:1px solid rgba(184,146,90,.55); padding:8px 14px; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:#E9EDF2}
.chips li::before{content:""; width:6px; height:6px; transform:rotate(45deg); background:var(--gold-hi); flex:none}
.creds-strip{background:var(--white); border-bottom:1px solid var(--line)}
.creds-strip .container{display:flex; flex-wrap:wrap; gap:10px 34px; padding-block:18px; font-size:.95rem; color:var(--muted)}
.creds-strip span{display:flex; align-items:center; gap:10px}
.creds-strip span::before{content:""; width:5px; height:5px; transform:rotate(45deg); background:var(--gold)}

/* Públicos */
.aud{display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:clamp(16px,2.4vw,28px)}
.aud .card{gap:12px}
.aud .card.main{background:linear-gradient(165deg,var(--navy-3),var(--navy)); color:#E9EDF2; border-color:var(--navy-3)}
.aud .card.main h3{color:var(--gold-hi)}
.aud .card.main p,.aud .card.main li{color:#DCE3EB}
.aud .card p{margin:0; color:var(--muted)}
.aud .tag{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-lo)}
.aud .card.main .tag{color:var(--gold)}
.aud .card .more{margin-top:6px}
.aud .card.main .more{color:var(--gold-hi)}

/* Cards de áreas na home */
.svc{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px)}
.svc a.card{text-decoration:none; color:inherit}
.svc a.card:hover h3{color:var(--gold-lo)}
.svc .card p{margin:0; color:var(--muted)}

/* Etapas com resultado */
.step .res{margin-top:6px; font-size:.88rem; color:var(--ink); border-top:1px dashed var(--line); padding-top:8px}
.step .res b{font-weight:500; color:var(--gold-lo); letter-spacing:.06em}

/* Página de serviço */
.crumbs{font-size:12.5px; letter-spacing:.08em; color:#AEB9C6; margin:0 0 14px}
.crumbs a{color:#C9D1DB; text-decoration:none}
.crumbs a:hover{color:var(--gold-hi)}
.ph .cta{margin-top:26px}
.ph .btn.dark{color:var(--gold-hi); border-color:var(--gold)}
.prose{max-width:70ch}
.prose p{margin:0 0 16px}
.prose h2{font-family:var(--display); font-weight:600; font-size:clamp(1.6rem,3vw,2.1rem); line-height:1.15; color:var(--navy); margin:40px 0 12px}
.prose h3{font-family:var(--display); font-weight:600; font-size:1.35rem; color:var(--navy); margin:28px 0 8px}
.prose ul,.prose ol{margin:0 0 18px; padding-left:1.2em; display:grid; gap:6px}
.prose li::marker{color:var(--gold)}
.checklist{list-style:none; margin:0; padding:0; display:grid; gap:0; border-top:1px solid var(--line); max-width:860px}
.checklist li{display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; padding:15px 0; border-bottom:1px solid var(--line)}
.checklist li::before{content:""; width:14px; height:14px; margin-top:.35em; border:1px solid var(--gold); background:linear-gradient(135deg,transparent 45%,var(--gold) 46%,var(--gold) 54%,transparent 55%)}
.checklist strong{font-weight:500; color:var(--navy)}
.trio{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line)}
.trio > div{padding:24px 24px 4px 0; display:grid; gap:8px; align-content:start; min-width:0}
.trio > div + div{padding-left:24px; border-left:1px solid var(--line)}
.trio h3{font-family:var(--display); font-weight:600; font-size:1.35rem; margin:0; color:var(--navy)}
.trio p{margin:0; color:var(--muted)}
.trio .n{font-family:var(--display); font-style:italic; font-size:1.8rem; line-height:1; color:var(--gold)}
.limits{display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px 22px; background:#FBF8F2; border:1px solid #E7DCC8; border-left:3px solid var(--gold); padding:clamp(20px,3vw,30px); max-width:920px}
.limits svg{width:30px; height:30px; color:var(--gold-lo)}
.limits h2,.limits h3{font-family:var(--display); font-weight:600; font-size:1.45rem; color:var(--navy); margin:0 0 8px}
.limits p{margin:0 0 10px; color:var(--ink)}
.limits p:last-child{margin-bottom:0}
.example{background:var(--white); border:1px solid var(--line); max-width:920px}
.example .ex-h{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:16px 24px; border-bottom:1px solid var(--line)}
.example .ex-h strong{font-family:var(--display); font-weight:600; font-size:1.3rem; color:var(--navy)}
.example .ex-h span{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-lo); border:1px solid var(--gold); padding:4px 8px}
.example ol{list-style:none; margin:0; padding:6px 24px 10px; counter-reset:ex}
.example li{counter-increment:ex; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; padding:14px 0; border-bottom:1px solid var(--line)}
.example li:last-child{border-bottom:0}
.example li::before{content:counter(ex,upper-roman); font-family:var(--display); font-style:italic; font-size:1.25rem; color:var(--gold)}
.example li b{display:block; font-weight:500; color:var(--navy)}
.example li p{margin:2px 0 0; color:var(--muted); font-size:.97rem}
.example .ex-f{padding:14px 24px 18px; border-top:1px solid var(--line); font-size:.9rem; color:var(--muted); background:var(--paper)}
.tbl{width:100%; border-collapse:collapse; font-size:.95rem; margin:8px 0 2px}
.tbl th,.tbl td{border-bottom:1px solid var(--line); padding:8px 10px 8px 0; text-align:left; vertical-align:top}
.tbl th{font-weight:500; color:var(--muted); font-size:12px; letter-spacing:.1em; text-transform:uppercase}
.tbl td.num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.tbl-wrap{overflow-x:auto}

/* Artigos */
.posts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,28px)}
.posts a.card{text-decoration:none; color:inherit}
.posts a.card h3{font-family:var(--display); font-weight:600; font-size:1.35rem; letter-spacing:0; text-transform:none; line-height:1.2}
.posts a.card:hover h3{color:var(--gold-lo)}
.posts .card p{margin:0; color:var(--muted); font-size:.96rem}
.meta{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lo)}
.ph .meta{color:var(--gold)}
.disclaimer{font-size:.9rem; color:var(--muted); border-top:1px solid var(--line); padding-top:16px; margin-top:32px}
.related{margin-top:36px; display:grid; gap:10px}
.related a{color:var(--navy)}

/* Formulário */
.form-wrap{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start}
.form{background:var(--white); border:1px solid var(--line); border-top:2px solid var(--gold); padding:clamp(22px,3vw,34px); display:grid; gap:18px}
.form h2{font-family:var(--display); font-weight:600; font-size:1.7rem; color:var(--navy); margin:0}
.row2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
.field{display:grid; gap:6px; min-width:0}
.field label,.field legend{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:500}
.field label i{font-style:normal; color:var(--gold-lo)}
.field input,.field select,.field textarea{font:inherit; font-size:16px; color:var(--ink); background:#FCFCFD; border:1px solid #C9D1DB; border-radius:0; padding:12px 13px; width:100%; min-width:0}
.field textarea{min-height:150px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold); outline-offset:0; border-color:var(--gold)}
.field small{color:var(--muted); font-size:.85rem}
.consent{display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; font-size:.92rem; color:var(--muted); align-items:start}
.consent input{width:18px; height:18px; margin-top:3px; accent-color:var(--navy)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form button.btn.solid{justify-self:start; border:0; font-size:13.5px; padding:16px 26px}
.side{display:grid; gap:18px}
.side .ct.wa{display:block}
.side h3{font-family:var(--display); font-weight:600; font-size:1.3rem; color:var(--navy); margin:0 0 6px}
.side p{margin:0; color:var(--muted)}
.side .box{background:var(--white); border:1px solid var(--line); padding:20px 22px}
.side .box ul{margin:8px 0 0; padding-left:1.1em; color:var(--muted); display:grid; gap:4px}

@media (max-width:900px){
  .aud,.svc,.posts{grid-template-columns:minmax(0,1fr)}
  .trio{grid-template-columns:minmax(0,1fr)}
  .trio > div,.trio > div + div{padding-left:0; border-left:0; border-top:1px solid var(--line)}
  .trio > div:first-child{border-top:0}
  .form-wrap{grid-template-columns:minmax(0,1fr)}
  .nav .dd{display:none}
  .nav .m-only{display:inline-block}
}
@media (max-width:560px){
  .row2{grid-template-columns:minmax(0,1fr)}
  .limits{grid-template-columns:minmax(0,1fr)}
  .example ol{padding-inline:18px} .example .ex-h,.example .ex-f{padding-inline:18px}
  .chips li{font-size:11.5px; padding:7px 11px}
  .tbl{font-size:.85rem} .tbl th,.tbl td{padding-right:6px} .example .tbl-wrap{padding-inline:18px !important}
}

/* Transição entre páginas: cortina marinho com selo */
.curtain{position:fixed; inset:0; z-index:20; pointer-events:none; display:grid; place-items:center; visibility:hidden;
  background:radial-gradient(600px 400px at 50% 45%, #22406A, transparent 70%), linear-gradient(160deg,#1B3655,#0D1A2B)}
.curtain::before{content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:linear-gradient(180deg,transparent,var(--gold-hi),var(--gold),transparent); box-shadow:0 0 18px rgba(226,196,143,.55)}
.curtain img{width:clamp(240px,min(40vw,62vh),440px); height:auto; opacity:0}
html.arriving .curtain{visibility:visible}
html.arriving .curtain img{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .curtain.cover{visibility:visible; transform-origin:right center; animation:curIn .6s cubic-bezier(.77,0,.18,1) both}
  .curtain.cover img{animation:sealIn .55s cubic-bezier(.2,.8,.2,1) .12s both}
  .curtain.reveal{visibility:visible; transform-origin:left center; animation:curOut .75s cubic-bezier(.77,0,.18,1) .1s both}
  .curtain.reveal img{opacity:1; animation:sealOut .35s ease-in both}
  .curtain.reveal::before{left:auto; right:0}
  @keyframes curIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes curOut{from{transform:scaleX(1)}to{transform:scaleX(0)}}
  @keyframes sealIn{from{opacity:0; transform:scale(.8) rotate(-12deg)}to{opacity:1; transform:none}}
  @keyframes sealOut{from{opacity:1; transform:none}to{opacity:0; transform:scale(1.08)}}
  html.entered main > section:first-child .container{animation:pageIn .9s cubic-bezier(.16,.84,.3,1) both}
  html.entered main > section:nth-child(2) .container{animation:pageIn .9s cubic-bezier(.16,.84,.3,1) .08s both}
  @keyframes pageIn{from{opacity:0; transform:translateX(70px)}to{opacity:1; transform:none}}
}
@media (prefers-reduced-motion:reduce){ html.arriving .curtain{visibility:hidden} }
.steps.s4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){ .steps.s4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .steps.s4{grid-template-columns:minmax(0,1fr)} }
.ph .sub:empty{display:none}
.form-status{margin:0; font-size:.95rem}
.form-status:empty{display:none}
.form-status.err{color:#9B2C2C; border-left:3px solid #9B2C2C; padding:8px 12px; background:#FBEFEF}
.form-ok{background:var(--white); border:1px solid var(--line); border-top:2px solid var(--gold); padding:clamp(26px,4vw,44px); display:grid; gap:10px; align-content:start}
.form-ok:focus{outline:none}
.form-ok h2{font-family:var(--display); font-weight:600; font-size:1.9rem; color:var(--navy); margin:0}
.form-ok h2::before{content:""; display:block; width:38px; height:38px; margin-bottom:14px; border:1px solid var(--gold); border-radius:50%; background:radial-gradient(circle,transparent 55%,transparent 56%), linear-gradient(transparent,transparent); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%23B8925A' stroke-width='1.8'/%3E%3C/svg%3E"); background-size:22px; background-repeat:no-repeat; background-position:center}
.form-ok p{margin:0; color:var(--ink); font-size:1.05rem}
.form-ok p.small{color:var(--muted); font-size:.95rem}
