/* Home-only editorial layer. Shared modules and assistant styles stay untouched. */
.home-page { --home-bg:#f7f5ef; --home-surface:#fffefa; --home-ink:#252e2b; --home-muted:#59645e; --home-green:#17654c; --home-green-hover:#104b39; --home-terra:#97573e; --home-line:#d8ded5; --home-tint:#e9eee5; background:var(--home-bg); }
:root[data-theme="dark"] .home-page { --home-bg:#19221f; --home-surface:#222e28; --home-ink:#f3f1e9; --home-muted:#c1cbc1; --home-green:#98d2b3; --home-green-hover:#b7e6cb; --home-terra:#e2aa8c; --home-line:#415247; --home-tint:#24342c; }
.home-page :is(.home-header,main,.home-footer) { color:var(--home-ink); font-family:Arial,Helvetica,sans-serif; }
.home-shell { width:min(1180px,100%); padding-inline:32px; margin-inline:auto; }
.home-page main { flex:1; }
.home-page main:focus { outline:none; }
.home-page :is(.home-header,main,.home-footer) a { color:inherit; text-decoration:none; }
.home-page :is(.home-header,main,.home-footer) :is(a,button):focus-visible,.home-skip:focus-visible { outline:3px solid var(--home-terra); outline-offset:5px; border-radius:3px; }
.home-skip { position:fixed; left:16px; top:12px; padding:12px 18px; z-index:10001; transform:translateY(-160%); background:var(--home-ink); color:var(--home-bg); }
.home-skip:focus { transform:none; }
.home-header { background:var(--home-bg); border-bottom:1px solid var(--home-line); position:sticky; top:0; z-index:1000; }
.home-header-inner { min-height:88px; display:flex; align-items:center; gap:26px; }
.home-brand { display:flex; align-items:center; gap:10px; margin-right:auto; white-space:nowrap; font-size:16px; font-weight:600; letter-spacing:-.3px; }
.home-brand img { flex-shrink:0; }
.home-brand small { display:block; margin-top:4px; font-size:9px; font-weight:500; letter-spacing:2.3px; }
.home-nav { display:flex; align-items:center; gap:23px; font-size:13px; }
.home-page .home-nav > a:not(.home-button):hover,.home-page .home-footer a:hover { text-decoration:underline; text-underline-offset:6px; }
.home-header-tools { display:flex; gap:10px; align-items:center; }
.home-header .theme-toggle { margin:0; width:44px; height:44px; font-size:18px; color:var(--home-ink); }
.home-menu-toggle { display:none; background:transparent; color:var(--home-ink); width:44px; height:44px; font-size:24px; }
.home-page :is(.home-header,main) .home-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:16px 23px; min-height:50px; background:var(--home-green); color:var(--home-bg); border:1px solid var(--home-green); border-radius:3px; font-size:14px; font-weight:600; line-height:1.4; white-space:normal; transition:background .2s; }
.home-page :is(.home-header,main) .home-button:hover { background:var(--home-green-hover); border-color:var(--home-green-hover); }
.home-page .home-nav .home-button { padding:11px 15px; min-height:44px; font-size:12px; gap:14px; }
.home-page main .home-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; color:var(--home-green); font-size:14px; font-weight:600; padding-block:12px; text-underline-offset:5px; }
.home-page main .home-text-link:hover { text-decoration:underline; }
.home-hero { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:center; gap:72px; padding-block:92px 76px; }
.home-eyebrow { color:var(--home-terra); font-size:10px; line-height:1.6; letter-spacing:2.1px; font-weight:700; margin-bottom:23px; }
.home-dot { display:inline-block; width:6px; height:6px; background:var(--home-terra); border-radius:50%; margin-right:7px; vertical-align:middle; }
.home-page main :is(h1,h2) { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-2px; line-height:1.08; }
.home-page main h1 { font-size:clamp(46px,5.6vw,78px); margin:0 0 27px; }
.home-page main :is(h1,h2) em { font-weight:400; color:var(--home-green); }
.home-intro { font-size:17px; line-height:1.8; color:var(--home-muted); }
.home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.home-hero-note { font-size:11px; margin-top:24px; color:var(--home-muted); }
.home-editorial-note { border-left:1px solid var(--home-line); padding:20px 0 20px 30px; }
.home-note-number { color:var(--home-terra); font-size:9px; letter-spacing:1.8px; }
.home-editorial-note p { font-family:Georgia,'Times New Roman',serif; font-size:27px; line-height:1.3; margin:30px 0; }
.home-editorial-note em { color:var(--home-green); }
.home-note-rule { display:block; width:30px; height:1px; background:var(--home-terra); margin-bottom:20px; }
.home-editorial-note small { color:var(--home-muted); font-size:11px; line-height:1.8; }
.home-principles { border-block:1px solid var(--home-line); }
.home-principles > div { display:flex; align-items:center; justify-content:space-between; max-width:900px; padding-block:23px; gap:15px; }
.home-principles span { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--home-muted); }
.home-section { padding-block:86px; scroll-margin-top:110px; }
.home-section-heading { display:flex; justify-content:space-between; gap:48px; align-items:flex-end; margin-bottom:44px; }
.home-section-heading .home-eyebrow { margin-bottom:14px; }
.home-page main h2 { font-size:clamp(34px,3.5vw,48px); }
.home-section-heading > p { max-width:280px; color:var(--home-muted); font-size:14px; line-height:1.8; }
.home-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--home-line); }
.home-service { display:flex; flex-direction:column; align-items:flex-start; padding:28px 30px 10px; border-right:1px solid var(--home-line); }
.home-service:first-child { padding-left:0; }
.home-service:last-child { border-right:0; padding-right:0; }
.home-index { color:var(--home-terra); font-size:11px; letter-spacing:1px; display:block; margin-bottom:24px; }
.home-page main h3 { font-size:19px; font-weight:500; letter-spacing:-.3px; line-height:1.4; }
.home-service p { font-size:14px; color:var(--home-muted); line-height:1.8; margin:16px 0 19px; }
.home-service .home-text-link { margin-top:auto; font-size:12px; }
.home-about-band { background:var(--home-tint); scroll-margin-top:90px; }
.home-about { display:grid; grid-template-columns:300px minmax(0,1fr); align-items:center; gap:95px; padding-block:70px; }
.home-about figure { margin:0; }
.home-about img { display:block; width:100%; height:340px; object-fit:cover; border-radius:12px; }
.home-about figcaption { font-size:10px; letter-spacing:.5px; color:var(--home-muted); margin-top:14px; }
.home-about h2 { margin-bottom:24px; }
.home-about p:not(.home-eyebrow) { font-size:14px; line-height:1.9; color:var(--home-muted); margin-bottom:15px; max-width:510px; }
.home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; margin:0; padding:0; }
.home-steps li { border-top:1px solid var(--home-line); padding-top:22px; }
.home-steps .home-index { margin-bottom:16px; }
.home-steps p { color:var(--home-muted); font-size:14px; line-height:1.8; margin-top:12px; }
.home-journal { background:var(--home-tint); }
.home-journal .home-section-heading { align-items:flex-end; }
.home-page #blog-carousel { gap:24px; }
.home-page .home-carousel .blog-post { flex:0 0 calc((100% - 48px)/3); width:auto; min-width:0; background:var(--home-surface); box-shadow:none; border:1px solid var(--home-line); border-radius:4px; overflow:hidden; }
.home-page .home-carousel .blog-post > a { display:flex; flex-direction:column; height:100%; color:var(--home-ink); }
.home-page .home-carousel .blog-post img { display:block; width:100%; height:165px; object-fit:cover; }
.home-page .home-carousel .blog-content { padding:22px; display:flex; flex-direction:column; flex:1; }
.home-page .home-carousel .blog-title { font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:400; line-height:1.25; letter-spacing:-.4px; color:var(--home-ink); margin-bottom:14px; }
.home-page .home-carousel .blog-excerpt { color:var(--home-muted)!important; font-size:13px; line-height:1.7; margin-bottom:20px; }
.home-page .home-carousel .btn-read { align-self:flex-start; margin-top:auto; padding:5px 0; background:transparent; border-radius:0; border-bottom:1px solid var(--home-green); color:var(--home-green); font-size:12px; }
.home-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.home-carousel-controls > span { font-size:11px; color:var(--home-muted); }
.home-carousel-controls > div { display:flex; gap:8px; }
.home-page .home-carousel .carousel-btn { position:static; transform:none; width:44px; height:44px; border:1px solid var(--home-line); background:var(--home-surface); color:var(--home-ink); border-radius:50%; font-size:20px; }
.home-page .home-carousel .carousel-btn:disabled { opacity:.4; cursor:default; }
.home-contact { border:1px solid var(--home-line); padding:52px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.home-contact p:not(.home-eyebrow) { color:var(--home-muted); max-width:450px; font-size:14px; line-height:1.8; margin-top:24px; }
.home-contact-action { display:flex; flex-direction:column; align-items:center; gap:16px; flex-shrink:0; }
.home-contact-action > span { color:var(--home-muted); font-size:10px; }
.home-footer { border-top:1px solid var(--home-line); padding-block:35px 65px; }
.home-footer-inner { display:flex; justify-content:space-between; gap:36px; align-items:flex-start; }
.home-footer-brand { font-family:Georgia,'Times New Roman',serif; font-size:22px; }
.home-footer p { font-size:11px; line-height:1.8; color:var(--home-muted); margin-top:9px; }
.home-footer nav { display:flex; gap:22px; font-size:12px; padding-top:7px; }
.home-footer .home-copyright { margin-top:0; }
@media(max-width:1050px) { .home-nav { gap:14px; } .home-header-inner { gap:14px; } .home-brand { font-size:14px; } .home-hero { gap:35px; } .home-about { gap:55px; } }
@media(max-width:900px) {
 .home-header-inner { min-height:76px; }
 .home-menu-toggle { display:block; }
 .home-nav { display:none; position:absolute; inset:75px 0 auto; background:var(--home-bg); border-bottom:1px solid var(--home-line); padding:20px 32px 26px; box-shadow:0 12px 15px #0000000c; }
 .home-nav[data-open="true"] { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .home-nav > a { padding:14px 0; min-height:44px; }
 .home-nav .home-nav-cta { margin-top:15px; }
 .home-hero { grid-template-columns:minmax(0,1fr); padding-block:65px 55px; }
 .home-editorial-note { display:none; }
 .home-about { grid-template-columns:240px minmax(0,1fr); gap:35px; }
 .home-page main h2 { font-size:36px; }
 .home-service { padding-inline:20px; }
 .home-contact { padding:35px; }
 .home-footer-inner { flex-wrap:wrap; }
}
@media(max-width:650px) {
 .home-shell { padding-inline:22px; }
 .home-brand { font-size:14px; }
 .home-brand small { font-size:8px; letter-spacing:1.8px; }
 .home-header-inner { gap:8px; }
 .home-header-tools { gap:1px; }
 .home-hero { padding-block:52px 45px; }
 .home-page main h1 { font-size:48px; letter-spacing:-1.9px; }
 .home-eyebrow { font-size:9px; letter-spacing:1.6px; margin-bottom:22px; }
 .home-intro { font-size:15px; line-height:1.8; }
 .home-desktop-break { display:none; }
 .home-actions { align-items:flex-start; flex-direction:column; gap:8px; margin-top:25px; }
 .home-hero-note { font-size:10px; line-height:1.6; }
 .home-principles > div { gap:7px; padding-block:18px; }
 .home-principles span { font-size:8px; letter-spacing:.7px; }
 .home-section { padding-block:55px; scroll-margin-top:95px; }
 .home-section-heading { flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:30px; }
 .home-section-heading > p { max-width:none; }
 .home-page main h2 { font-size:35px; letter-spacing:-1.3px; }
 .home-services { grid-template-columns:minmax(0,1fr); }
 .home-service,.home-service:first-child,.home-service:last-child { border-right:0; border-bottom:1px solid var(--home-line); padding:24px 0; }
 .home-index { margin-bottom:16px; }

 .home-service p { margin-block:12px; }
 .home-about { grid-template-columns:minmax(0,1fr); gap:35px; padding-block:45px; }
 .home-about figure { max-width:260px; }
 .home-about img { height:290px; }
 .home-steps { grid-template-columns:minmax(0,1fr); gap:26px; }
 .home-page .home-carousel .blog-post { flex-basis:100%; }
 .home-page .home-carousel .blog-post img { height:180px; }
 .home-carousel-controls > span { max-width:180px; line-height:1.6; }
 .home-contact { padding:28px 22px; flex-direction:column; align-items:flex-start; gap:28px; }
 .home-contact-action { align-items:flex-start; }
 .home-contact h2 { font-size:32px; }
 .home-footer { padding-bottom:110px; }
 .home-footer-inner,.home-footer nav { flex-direction:column; gap:22px; }
 .home-footer nav { gap:0; }
 .home-footer nav a { min-height:44px; display:flex; align-items:center; }
}
@media(prefers-reduced-motion:reduce) { .home-page :is(.home-header,main,.home-footer) *, .home-page #blog-carousel { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Override legacy contact ID rules without touching shared CSS. */
.home-page #contato h2 { font-size:clamp(34px,3.5vw,48px); font-weight:400; background:none; -webkit-text-fill-color:currentColor; text-shadow:none; text-align:left; margin-bottom:0; }
.home-page #contato p { font-size:14px; color:var(--home-muted); }
.home-page #contato .home-eyebrow { color:var(--home-terra); font-size:10px; margin-top:0; margin-bottom:23px; }
@media(max-width:650px) { .home-page #contato h2 { font-size:32px; } .home-page #contato .home-eyebrow { font-size:9px; } }
/* Final readability refinements, scoped to the existing Home components. */
.home-hero-note { font-size:13px; }
.home-eyebrow { font-size:11px; }
.home-note-number { font-size:11px; }
.home-editorial-note small { font-size:13px; }
.home-about figcaption { font-size:12px; }
.home-service .home-text-link { font-size:14px; }
.home-page .home-carousel .blog-excerpt { font-size:14px; }
.home-page .home-carousel .btn-read { font-size:14px; }
.home-carousel-controls > span { font-size:13px; }
.home-contact-action > span { font-size:12px; }
.home-footer p { font-size:13px; }
.home-footer nav { font-size:14px; }
.home-page #contato .home-eyebrow { font-size:11px; }
@media(max-width:650px) {
 .home-hero-note { font-size:12px; }
 .home-eyebrow,.home-page #contato .home-eyebrow { font-size:10px; }
 .home-principles span { font-size:10px; letter-spacing:.4px; }
 .home-brand small { font-size:9px; }
 .home-service-break { display:none; }
 .home-section-heading > p,.home-service p,.home-about p:not(.home-eyebrow),.home-steps p,.home-page #contato p:not(.home-eyebrow) { font-size:15px; }
 .home-carousel-controls > span { max-width:190px; }
}

/* Block A: local icons and footer credit; hero rules remain unchanged. */
.home-services .home-index,.home-steps .home-index { display:flex; align-items:center; gap:12px; }
.home-services .home-care-icon,.home-steps .home-care-icon { width:24px; height:24px; flex:none; color:var(--home-green); }
.home-footer .home-credit { font-size:12px; line-height:1.6; margin-top:12px; }

/* Four soft reading accents; the card remains the only interactive link. */
.home-page .home-carousel .blog-post:nth-child(4n+1) { --read-bg:#e4eee5; --read-ink:#24543d; }
:root[data-theme="dark"] .home-page .home-carousel .blog-post:nth-child(4n+1) { --read-bg:#293e32; --read-ink:#c4e1cd; }
.home-page .home-carousel .blog-post:nth-child(4n+2) { --read-bg:#f3e5dd; --read-ink:#713d2c; }
:root[data-theme="dark"] .home-page .home-carousel .blog-post:nth-child(4n+2) { --read-bg:#49352d; --read-ink:#f0cfbb; }
.home-page .home-carousel .blog-post:nth-child(4n+3) { --read-bg:#e4edf5; --read-ink:#304e6b; }
:root[data-theme="dark"] .home-page .home-carousel .blog-post:nth-child(4n+3) { --read-bg:#293c4d; --read-ink:#c8ddef; }
.home-page .home-carousel .blog-post:nth-child(4n+4) { --read-bg:#f3e4eb; --read-ink:#743d56; }
:root[data-theme="dark"] .home-page .home-carousel .blog-post:nth-child(4n+4) { --read-bg:#45313d; --read-ink:#efcddd; }
.home-page .home-carousel .blog-post .btn-read { display:inline-block; padding:8px 12px; border:0; border-radius:6px; background:var(--read-bg); color:var(--read-ink); font-size:14px; line-height:1.4; }
.home-page .home-carousel .blog-post > a:is(:hover,:focus-visible) .btn-read { background:var(--read-bg); color:var(--read-ink); text-decoration:underline; text-underline-offset:3px; }

/* Editorial signature below the article carousel. */
.home-carousel-controls > .home-journal-signature {
  display: inline-grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.6;
}
.home-journal-signature::before {
  content: "";
  width: 18px;
  height: 1px;
  margin-top: .8em;
  background: var(--home-green);
  opacity: .45;
}

/* Matching editorial notes for care paths and consultation steps. */
.home-section-heading > .home-section-note::before { content:""; display:block; width:32px; height:1px; margin-bottom:14px; background:#A7C9B2; }
