:root{--navy:#1B2F6E;
--deep:#12204A;
--gold:#C9A96E;
--cream:#F7F6F2;
--grey:#7A8CA0;
--ink:#43516a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:110px}
body{margin:0;
background:var(--cream);
color:var(--ink);
font:16px/1.75 Inter,Arial,sans-serif}
a{color:inherit;
text-decoration:none}
a:hover{text-decoration:underline;
text-underline-offset:5px}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:"Playfair Display",Georgia,serif;
font-weight:500;
color:var(--navy);
line-height:1.16;
letter-spacing:-.035em}
h1{font-size:clamp(40px,4.5vw,68px);
margin-bottom:25px}
h2{font-size:clamp(32px,3.4vw,48px);
margin-bottom:25px}
h3{font-size:20px;
line-height:1.4;
color:var(--navy);
font-weight:600}
p{margin-bottom:22px}
.container{width:min(1180px,calc(100% - 64px));
margin:auto}
.header{background:var(--navy);
border-bottom:1px solid #ffffff24}
.nav{min-height:106px;
display:flex;
align-items:center;
justify-content:space-between;
gap:25px}
.brand{color:white;
letter-spacing:.12em;
font-size:21px;
font-weight:600;
line-height:1.25;
white-space:nowrap}
.brand span{display:block;
color:var(--gold);
font-size:10px;
letter-spacing:.42em;
margin-top:8px}
.nav nav{display:flex;
gap:24px;
align-items:center;
color:#e6e9f0;
font-size:12px}
.nav nav a{padding:12px 0}
.hero{background:var(--navy);
color:#d7deee;
padding:80px 0 86px}
.hero-grid{display:grid;
grid-template-columns:1.5fr 1fr;
gap:70px;
align-items:center}
.hero h1,.hero h2{color:white}
.hero em{font-style:normal;
color:var(--gold)}
.eyebrow{font:600 11px/1.6 Inter,Arial,sans-serif;
letter-spacing:.18em;
color:#80612c;
margin-bottom:20px}
.hero .eyebrow,.contact .eyebrow,.health-card .eyebrow,.calculator-feature .eyebrow{color:var(--gold)}
.lead{font-size:17px;
max-width:640px;
line-height:1.8}
.actions{display:flex;
gap:24px;
align-items:center;
flex-wrap:wrap;
margin-top:32px}
.button{display:inline-flex;
align-items:center;
justify-content:space-between;
gap:28px;
background:var(--gold);
color:var(--deep);
padding:16px 23px;
border:1px solid var(--gold);
border-radius:4px;
font-size:14px;
font-weight:600;
line-height:1.5}
.button:hover{background:#dfc28e;
text-decoration:none}
.button span{font-size:20px}
.text-link{font-size:13px;
color:white;
font-weight:600;
display:inline-block;
padding:12px 0}
.text-link span{margin-left:14px}
.dark{color:var(--navy)}
.hero-note{font-size:11px;
color:#c2cbdf;
margin-top:24px;
margin-bottom:0}
.hero-panel{padding:35px;
background:linear-gradient(145deg,#ffffff0b,#12204a66);
border:1px solid #c9a96e55;
border-radius:120px 120px 8px 8px;
text-align:center}
.monogram{font:500 78px "Playfair Display",Georgia,serif;
color:var(--gold);
display:block;
margin:0 auto 22px;
border-bottom:1px solid #c9a96e55;
padding-bottom:20px;
max-width:150px}
.hero-panel h2{font-size:29px;
line-height:1.35}
.hero-panel .eyebrow{font-size:9px}
.panel-row{text-align:left;
border-top:1px solid #ffffff22;
padding:14px 0;
font-size:12px}
.panel-row span{color:var(--gold);
margin-right:14px}
.signature{font:italic 26px "Playfair Display",Georgia,serif;
color:var(--gold);
margin:25px 0 0}
.signature span{font:10px Inter,Arial,sans-serif;
display:block;
color:#c2cbdf;
margin-top:7px}
.trust{background:#eae8e0;
border-bottom:1px solid #dddcd6}
.trust .container{display:flex;
justify-content:space-between;
gap:18px;
padding:21px 0;
font-size:12px;
color:var(--navy)}
.trust span:before{content:"✦";
color:#80612c;
margin-right:12px}
.section{padding:95px 0}
.section-intro{display:grid;
grid-template-columns:1.2fr 1fr;
gap:70px;
align-items:center;
margin-bottom:38px}
.section-intro p:last-child{max-width:440px}
.services{display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px}
.card{padding:30px;
background:white;
border:1px solid #1b2f6e1a;
border-radius:6px;
display:flex;
flex-direction:column}
.number{color:#80612c;
font-size:12px;
letter-spacing:.06em;
display:block;
margin-bottom:24px}
.card p{font-size:14px}
.card h3{margin-bottom:14px}
.card a{color:var(--navy);
font-size:12px;
font-weight:600;
margin-top:auto;
padding-top:10px}
.card a span{float:right}
.health-card{grid-column:1/-1;
background:var(--navy);
padding:32px 35px;
display:flex;
justify-content:space-between;
align-items:center;
gap:35px;
border-radius:6px;
color:#d7deee}
.health-card h3{color:white;
font:500 29px "Playfair Display",Georgia,serif;
margin-bottom:10px}
.health-card p{max-width:640px;
font-size:14px;
margin-bottom:0}
.health-card .eyebrow{margin-bottom:10px;
font-size:10px}
.outline{background:transparent;
color:var(--gold);
flex-shrink:0}
.outline:hover{color:var(--deep)}
.about{background:#eeece5}
.split{display:grid;
grid-template-columns:1fr 1.2fr;
gap:90px;
align-items:center}
.identity{padding:42px;
background:var(--navy);
color:#d7deee;
max-width:400px;
border-radius:5px}
.identity .eyebrow{color:var(--gold)}
.identity-name{font:500 76px/1.05 "Playfair Display",Georgia,serif;
color:white;
margin:30px 0}
.identity-name span{display:block;
font:11px Inter,Arial,sans-serif;
letter-spacing:.35em;
color:var(--gold);
margin-top:22px}
.identity-line{height:1px;
background:var(--gold);
width:65px;
margin:30px 0}
.identity>p:last-child{font-size:13px;
margin:0}
.benefits{display:grid;
grid-template-columns:repeat(5,1fr);
gap:28px;
margin-top:45px}
.benefits article{border-top:1px solid #c9a96e;
padding-top:25px}
.benefits h3{font-size:16px}
.benefits p{font-size:13px}
.process{background:#eeece5}
.steps{list-style:none;
margin:45px 0 0;
padding:0;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:35px}
.steps li{border-top:1px solid #c9a96e;
padding-top:25px}
.steps .number{font:36px "Playfair Display",Georgia,serif}
.steps h3{font-size:17px}
.steps p{font-size:14px}
.tool-card{padding:32px;
border:1px solid #d7d7d0;
border-radius:6px;
background:white}
.tool-card h3{font:500 28px "Playfair Display",Georgia,serif}
.tool-card p{font-size:14px}
.contact{text-align:center;
background:var(--deep);
color:#d7deee}
.contact h2{color:white;
max-width:850px;
margin:0 auto 25px}
.contact .button{margin-top:10px}
footer{background:var(--navy);
color:#d7deee;
padding:42px 0}
.footer-inner{display:flex;
justify-content:space-between;
gap:30px;
align-items:center}
.footer-inner p{font-size:12px;
margin:0}
.footer-inner>div{display:flex;
gap:24px;
font-size:12px;
color:var(--gold)}
.skip{position:absolute;
top:-100px;
left:15px;
padding:12px;
background:white;
z-index:10}
.skip:focus{top:10px}
:focus-visible{outline:3px solid #a87424;
outline-offset:5px}
.hero :focus-visible,.header :focus-visible,.contact :focus-visible,footer :focus-visible{outline-color:#f0ce91}
.menu-toggle{color:white;
border:1px solid #ffffff66;
background:transparent;
padding:8px 12px;
border-radius:4px}
.health-hero h1{max-width:940px}
.health-hero .lead{max-width:670px}
.breadcrumb{font-size:12px;
display:inline-block;
margin-bottom:35px;
color:#d7deee}
.audiences{display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:48px}
.audiences span{border:1px solid #ffffff40;
border-radius:30px;
padding:7px 14px;
font-size:12px}
.two-cards{display:grid;
grid-template-columns:1fr 1fr;
gap:24px}
.comparison article{padding:25px 0;
border-top:1px solid #c9a96e}
.comparison article:last-child{padding-bottom:0}
.comparison p{margin-bottom:0}
.source-link{font-size:12px;
text-decoration:underline;
color:var(--navy)}
.calculator-feature{background:var(--navy);
color:#d7deee;
text-align:center}
.calculator-feature h2{color:white;
max-width:850px;
margin:0 auto 26px}
.calculator-feature p{max-width:680px;
margin:0 auto 30px}
.calculator-feature .disclaimer{font-size:12px;
margin:24px auto 0;
max-width:700px}
.narrow{max-width:800px}
details{border-top:1px solid #cecec5;
padding:20px 0}
details:last-child{border-bottom:1px solid #cecec5}
summary{cursor:pointer;
color:var(--navy);
font-weight:600;
padding:5px 0}
details p{margin-top:18px;
margin-bottom:0;
font-size:14px}
@media(min-width:1001px){.menu-toggle{display:none}
}
@media(max-width:1000px){.nav{flex-wrap:wrap;
padding:22px 0;
min-height:88px}
.menu-toggle:not([hidden]){display:block}
.nav nav{width:100%;
flex-wrap:wrap;
gap:10px 24px}
.nav nav[data-collapsed="true"]{display:none}
.hero-grid{gap:35px;
grid-template-columns:1.4fr 1fr}
.hero-panel{padding:26px}
.services{grid-template-columns:repeat(2,1fr)}
.split{gap:45px}
.benefits{grid-template-columns:repeat(3,1fr)}
.steps{grid-template-columns:repeat(2,1fr)}
.health-card{flex-direction:column;
align-items:flex-start}
.section-intro{gap:35px}
}
@media(max-width:680px){.container{width:calc(100% - 40px)}
.hero{padding:50px 0}
.hero-grid,.split,.section-intro,.two-cards{grid-template-columns:1fr;
gap:32px}
.hero-panel{border-radius:80px 80px 6px 6px;
margin-top:12px}
.hero-panel h2{font-size:28px}
.hero-panel .monogram{font-size:62px}
.section{padding:62px 0}
.services{grid-template-columns:1fr}
.card{padding:25px}
.trust .container{flex-direction:column;
gap:7px;
font-size:11px}
.health-card{padding:28px 25px;
gap:22px}
.health-card .button{width:100%;
flex-shrink:1}
.identity{max-width:none}
.identity-name{font-size:64px}
.benefits,.steps{grid-template-columns:1fr;
gap:16px}
.benefits article{padding-top:20px}
.benefits .number{margin-bottom:12px}
.benefits p{margin-bottom:10px}
.steps li{padding-top:20px}
.steps .number{margin-bottom:14px}
.footer-inner{flex-direction:column;
align-items:flex-start}
.section-intro{margin-bottom:28px}
.actions{align-items:flex-start;
flex-direction:column;
gap:12px}
.button{max-width:100%}
.nav nav{flex-direction:column;
align-items:flex-start;
gap:0}
.nav nav a{width:100%;
padding:10px 0}
.brand{font-size:18px}
.contact h2 br{display:none}
.health-hero h1 br{display:none}
.audiences{margin-top:34px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

/* Service pages share the visual language established on the home page. */
.breadcrumbs { display: flex;
 gap: 12px;
 font-size: 12px;
 margin-bottom: 28px;
 }

.service-hero h1 { font-size: clamp(38px, 4vw, 60px);
 }

.service-hero .hero-grid { grid-template-columns: 1.65fr 1fr;
 gap: 60px;
 }

.service-hero .hero-panel { border-radius: 90px 90px 6px 6px;
 }

.service-content { max-width: 1000px;
 }

.service-content > p { max-width: 780px;
 }

.service-content h2 { max-width: 850px;
 }

.service-steps { list-style: none;
 padding: 0;
 margin: 0;
 }

.service-steps li { display: flex;
 align-items: start;
 gap: 28px;
 border-top: 1px solid #c9a96e;
 padding: 24px 0;
 }

.service-steps .number { font: 32px/1.2 'Playfair Display', Georgia, serif;
 flex: 0 0 42px;
 margin: 0;
 }

.service-steps h3 { font-size: 18px;
 margin-bottom: 10px;
 }

.service-steps p { font-size: 14px;
 margin-bottom: 0;
 }

.service-process { align-items: start;
 margin-bottom: 0;
 }

.feature-list { display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 16px;
 padding: 0;
 list-style: none;
 margin: 30px 0;
 }

.feature-list li { background: white;
 border: 1px solid #1b2f6e1a;
 padding: 22px 24px;
 border-radius: 5px;
 color: var(--navy);
 }

.feature-list a { text-decoration: underline;
 text-underline-offset: 4px;
 }

.feature-cards { display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 20px;
 }

.feature-cards .card:last-child:nth-child(odd) { grid-column: 1 / -1;
 }

.feature-cards p:last-child { margin-bottom: 0;
 }

.related { padding: 55px 0;
 }

.related h2 { font-size: 32px;
 }

.related-link { transition: border-color .2s;
 }

.related-link:hover { border-color: #80612c;
 text-decoration: none;
 }

.related-link h3 span { float: right;
 }

.related-link p { margin-bottom: 0;
 }

.footer-services { border-top: 1px solid #ffffff33;
 margin-top: 34px;
 padding-top: 25px;
 }

.footer-services .eyebrow { color: var(--gold);
 font-size: 10px;
 }

.footer-services nav { display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px 24px;
 font-size: 12px;
 }

.floating-contact { position: fixed;
 z-index: 50;
 right: 20px;
 bottom: 20px;
 display: flex;
 align-items: center;
 gap: 9px;
 border: 1px solid var(--gold);
 border-radius: 30px;
 padding: 12px 16px;
 background: var(--deep);
 color: white;
 box-shadow: 0 4px 18px #12204a33;
 font-size: 12px;
 }

.floating-contact:hover { text-decoration: none;
 background: var(--navy);
 }

footer { padding-bottom: 100px;
 }

.chat-launcher { position: fixed;
 bottom: 20px;
 left: 20px;
 z-index: 50;
 border: 1px solid var(--gold);
 background: var(--deep);
 color: white;
 border-radius: 30px;
 padding: 13px 18px;
 cursor: pointer;
 font: 12px Inter, Arial, sans-serif;
 }

.chat-status { position: fixed;
 bottom: 80px;
 left: 20px;
 max-width: min(300px, calc(100% - 40px));
 background: white;
 color: var(--ink);
 padding: 14px;
 z-index: 51;
 border: 1px solid #c9a96e;
 border-radius: 5px;
 font-size: 13px;
 }

.services-complete { grid-template-columns: repeat(12, 1fr);
 }

.services-complete > .card { grid-column: span 3;
 }

.services-complete > .card:nth-child(n+5) { grid-column: span 4;
 }

.services .card h3 a { font-size: inherit;
 padding: 0;
 }

@media (max-width: 1000px) {
  .service-hero .hero-grid { gap: 30px;
 grid-template-columns: 1.5fr 1fr;
 }

  .services-complete { grid-template-columns: 1fr 1fr;
 }

  .services-complete > .card, .services-complete > .card:nth-child(n+5) { grid-column: auto;
 }

  .services-complete > .card:nth-child(7) { grid-column: 1 / -1;
 }

  .footer-services nav { grid-template-columns: 1fr 1fr;
 }

}

@media (max-width: 680px) {
  .service-hero .hero-grid { grid-template-columns: 1fr;
 }

  .service-hero .hero-panel { max-width: none;
 }

  .feature-list, .feature-cards, .services-complete { grid-template-columns: 1fr;
 }

  .services-complete > .card:nth-child(7) { grid-column: auto;
 }

  .footer-services nav { grid-template-columns: 1fr;
 }

  .floating-contact { right: 12px;
 bottom: 12px;
 padding: 12px;
 }

  .floating-contact span { display: none;
 }

  .service-steps li { gap: 18px;
 }

  .feature-list li { padding: 18px;
 }

  .service-process .button { margin-bottom: 15px;
 }

}

@media (prefers-reduced-motion: reduce) { .related-link { transition: none;
 }
 }


/* Central MEI and its three service journeys. */
.mei-hero h1{max-width:900px}
.mei-hero .lead{max-width:800px}
.mei-hero-support{max-width:760px;color:#d7deee;font-size:14px}
.mei-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.mei-choice{min-width:0;padding:30px;gap:0}
.mei-choice h3{font:500 28px/1.25 'Playfair Display',Georgia,serif;margin:0 0 20px}
.mei-choice .eyebrow{font-size:10px;color:#80612c;min-height:32px;margin-bottom:15px}
.mei-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid #C9A96E;border-radius:50%;color:#1B2F6E;margin-bottom:26px}
.mei-choice .button{margin-top:auto;padding:15px 16px;font-size:13px;gap:12px;color:#12204A}
.mei-problems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.mei-problems .card{min-width:0}
.mei-card-actions{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.mei-card-actions .button{padding:15px 16px;gap:12px;font-size:13px;color:#12204A;width:100%}
.mei-card-actions .text-link{font-size:12px}
.mei-navigation{display:flex;gap:12px 24px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;font-size:12px;line-height:1.6}
.mei-navigation a{padding:8px 0;color:#1B2F6E}
.mei-navigation a[aria-current="page"]{font-weight:700;border-bottom:2px solid #80612c}
.mei-crosscall{background:#eeece5}
.mei-crosscall .container{max-width:1000px}
.mei-crosscall p{max-width:760px}
.mei-optional{font-size:13px;max-width:760px;margin:25px auto 0}
.mei-continuity .actions{justify-content:center}
.services-mei-hub>.card,.services-mei-hub>.card:nth-child(n+5){grid-column:span 4}
@media(max-width:1000px){.mei-choices{gap:16px}.mei-choice{padding:24px}.mei-choice h3{font-size:25px}.mei-problems{grid-template-columns:repeat(2,minmax(0,1fr))}.services-mei-hub>.card,.services-mei-hub>.card:nth-child(n+5){grid-column:auto}}
@media(max-width:800px){.mei-choices{grid-template-columns:1fr}.mei-choice .eyebrow{min-height:0}.mei-choice h3{font-size:28px}.mei-choice .button{align-self:flex-start}.mei-choices p{max-width:650px}}
@media(max-width:680px){.mei-problems{grid-template-columns:1fr}.mei-navigation{gap:8px 18px}.mei-continuity .actions{align-items:center}.mei-continuity .button{width:100%;justify-content:center}.mei-choice{padding:25px}}


/* Final audit: comfortable targets and focus without animation. */
.mei-navigation a,.nav nav a,.footer-services nav a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}.card a:not(.button){min-height:44px;display:inline-flex;align-items:center;gap:12px}.card h3 a{font-size:inherit}.card a span{float:none;margin-left:auto}.footer-services nav{row-gap:4px}#conteudo:focus{outline:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Identificação profissional confirmada pelo titular. */
.footer-inner>.professional-identity{display:block}
.footer-inner .professional-registration{margin:.75rem 0 0;font-size:.875rem;line-height:1.5;color:#F7F6F2}
.professional-about{line-height:1.7}
