@font-face {
  font-family: "Inter";
  src: url("assets/Inter-VariableFont.woff2") format("woff2-variations"), url("assets/Inter-VariableFont.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("assets/PlayfairDisplay-VariableFont.woff2") format("woff2-variations"), url("assets/PlayfairDisplay-VariableFont.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("assets/PlayfairDisplay-Italic-VariableFont.woff2") format("woff2-variations"), url("assets/PlayfairDisplay-Italic-VariableFont.woff2") format("woff2");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --river: #0d5b59;
  --river-dark: #153e3d;
  --river-deep: #092f2f;
  --river-light: #d8e8e4;
  --mint: #edf4f1;
  --sand: #f4efe7;
  --sand-dark: #e4dbce;
  --copper: #b68343;
  --copper-light: #d4ad78;
  --ink: #183432;
  --muted: #5d716e;
  --white: #fffefb;
  --line: rgba(24, 52, 50, .14);
  --container: 1180px;
  --side: max(24px, calc((100vw - var(--container)) / 2));
}

* { box-sizing: border-box; }
.responsive-picture { display: block; line-height: 0; }
.responsive-picture > img { display: block; max-width: 100%; }
.medical-image > .responsive-picture,
.location-photo > .responsive-picture,
.profile-hero-image > .responsive-picture,
.hub-doctor-photo > .responsive-picture,
.signoff-photo > .responsive-picture { width: 100%; height: 100%; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--white); color: var(--ink); font-family: "Inter", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
address { font-style: normal; }
::selection { background: var(--river); color: #fff; }

.skip-link { position: fixed; top: 8px; left: 8px; z-index: 200; padding: 10px 14px; background: var(--ink); color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 254, 251, .92); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: border-color .25s, box-shadow .25s; }
.site-header.scrolled { border-color: var(--line); box-shadow: 0 8px 28px rgba(24, 52, 50, .06); }
.header-inner { width: min(var(--container), calc(100% - 40px)); height: 86px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; gap: 13px; align-items: center; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.brand-name { display: grid; line-height: 1; }
.brand strong { font-size: 1.08rem; letter-spacing: .12em; }
.brand small { margin-top: 6px; color: var(--copper); font-size: .68rem; font-weight: 700; letter-spacing: .28em; }
.brand-mark { position: relative; width: 38px; height: 38px; display: block; }
.brand-mark i { position: absolute; border: 1.5px solid var(--river); border-radius: 50%; }
.brand-mark i:nth-child(1) { width: 30px; height: 30px; top: 0; left: 0; }
.brand-mark i:nth-child(2) { width: 17px; height: 17px; right: 0; top: 16px; border-color: var(--copper); }
.brand-mark i:nth-child(3) { width: 5px; height: 5px; left: 13px; top: 13px; background: var(--river); }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: .82rem; font-weight: 600; }
.main-nav a { position: relative; text-decoration: none; }
.main-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: var(--copper); transition: right .25s; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.nav-cta { padding: 12px 18px; border: 1px solid var(--river); border-radius: 99px; transition: background .2s, color .2s; }
.nav-cta:hover, .nav-cta:focus-visible { background: var(--river); color: #fff; }
.menu-toggle { display: none; }

.section { padding: 120px var(--side); }
.section-label { color: var(--copper); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.eyebrow { margin: 0 0 24px; color: var(--river); font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.eyebrow.light { color: var(--copper-light); }
.eyebrow span { display: inline-block; width: 28px; height: 1px; margin: 0 10px 3px 0; background: var(--copper); }
h1, h2, h3, p { text-wrap: pretty; }
h2 { margin: 0; font-size: clamp(2.8rem, 5.2vw, 5.6rem); font-weight: 500; line-height: .98; letter-spacing: -.065em; }
h1 em, h2 em { color: var(--river); font-family: "Playfair Display", Georgia, serif; font-weight: 500; letter-spacing: -.035em; }

.hero { min-height: calc(100vh - 86px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); width: min(var(--container), calc(100% - 40px)); margin: 0 auto; border-top: 1px solid var(--line); }
.hero-copy { align-self: center; padding: 72px 70px 80px 0; }
.hero h1 { margin: 0; max-width: 690px; font-size: clamp(3.4rem, 6vw, 6.2rem); font-weight: 500; line-height: .96; letter-spacing: -.068em; }
.lead { max-width: 610px; margin: 30px 0 0; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 4px; text-decoration: none; font-size: .87rem; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { background: var(--river); color: #fff; box-shadow: 0 12px 30px rgba(13, 91, 89, .18); }
.button-primary:hover, .button-primary:focus-visible { background: var(--river-dark); box-shadow: 0 15px 34px rgba(13, 91, 89, .24); }
.text-link { text-underline-offset: 5px; font-size: .88rem; font-weight: 600; }
.text-link span { margin-left: 7px; color: var(--copper); }
.trust-line { display: flex; gap: 18px; margin-top: 58px; color: var(--muted); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.trust-line span + span::before { content: "·"; margin-right: 18px; color: var(--copper); }
.hero-panel { position: relative; min-height: 650px; overflow: hidden; background: var(--river-light); }
.hero-panel::before { content: ""; position: absolute; inset: 26px; border: 1px solid rgba(13, 91, 89, .25); }
.river-line { position: absolute; width: 720px; height: 720px; left: -120px; top: -35px; border: 2px solid rgba(13, 91, 89, .55); border-radius: 47% 53% 62% 38%; transform: rotate(31deg); }
.river-line::after { content: ""; position: absolute; width: 510px; height: 610px; top: 55px; left: 70px; border: 1px solid rgba(182, 131, 67, .48); border-radius: 61% 39% 42% 58%; }
.panel-card { position: absolute; left: 72px; right: 60px; bottom: 76px; padding: 38px; background: rgba(255, 254, 251, .93); backdrop-filter: blur(10px); box-shadow: 0 28px 70px rgba(24, 52, 50, .14); }
.panel-kicker { display: block; margin-bottom: 18px; color: var(--copper); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; }
.panel-card strong { font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.panel-card p { max-width: 380px; margin: 20px 0 0; color: var(--muted); line-height: 1.65; }
.panel-seal { position: absolute; top: 62px; right: 52px; width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid var(--river); border-radius: 50%; color: var(--river); font-size: 1.1rem; font-weight: 600; letter-spacing: .16em; }

.intro { display: grid; grid-template-columns: 130px minmax(330px, .95fr) minmax(420px, 1.15fr); gap: 50px; border-bottom: 1px solid var(--line); }
.intro-heading h2 { font-size: clamp(3rem, 4.7vw, 5.1rem); }
.intro-content { padding-top: 50px; }
.intro-lead { margin: 0 0 44px; font-size: clamp(1.3rem, 2.2vw, 2rem); line-height: 1.45; letter-spacing: -.025em; }
.intro-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; color: var(--muted); line-height: 1.75; }
.intro-columns p { margin: 0; }

.care { background: var(--river-deep); color: #fff; }
.care-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; max-width: var(--container); margin: 0 auto 74px; }
.care-head h2 { max-width: 750px; }
.care-head > p { max-width: 500px; margin: 0 0 8px; color: #b8cfca; line-height: 1.75; }
.care-grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: var(--container); margin: 0 auto; border: 1px solid rgba(255,255,255,.15); }
.care-card { min-height: 490px; padding: 32px 28px; border-right: 1px solid rgba(255,255,255,.15); transition: background .25s, transform .25s; }
.care-card:last-child { border-right: 0; }
.care-card:hover { background: rgba(216, 232, 228, .08); transform: translateY(-5px); }
.card-number { display: block; margin-bottom: 80px; color: var(--copper-light); font-size: .72rem; letter-spacing: .12em; }
.care-card h3 { min-height: 70px; margin: 0 0 18px; font-size: 1.55rem; font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
.care-card p { margin: 0; color: #b8cfca; font-size: .9rem; line-height: 1.7; }
.care-card ul { margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.care-card li { position: relative; margin: 9px 0; padding-left: 15px; color: #e7f0ee; font-size: .78rem; }
.care-card li::before { content: ""; position: absolute; left: 0; top: .48em; width: 4px; height: 4px; background: var(--copper-light); border-radius: 50%; }

.treatments { display: grid; grid-template-columns: 130px minmax(360px, .86fr) minmax(520px, 1.14fr); gap: 50px; background: var(--sand); }
.treatment-heading h2 { font-size: clamp(3rem, 4.5vw, 4.9rem); }
.treatment-list { border-top: 1px solid var(--ink); }
.treatment-list > div { display: grid; grid-template-columns: 42px 1fr auto; gap: 18px; align-items: center; min-height: 72px; border-bottom: 1px solid rgba(24,52,50,.18); }
.treatment-list span { color: var(--copper); font-size: .68rem; }
.treatment-list strong { font-size: 1.02rem; font-weight: 600; }
.treatment-list small { color: var(--muted); font-size: .75rem; }
.clinical-note { grid-column: 3; max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.65; }

.medical { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr); gap: 0; padding: 0; background: var(--river); color: #fff; }
.medical-image { position: relative; min-height: 760px; overflow: hidden; background: var(--sand-dark); }
.medical-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,47,47,.34), transparent 40%); }
.medical-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.image-caption { position: absolute; z-index: 2; left: 34px; bottom: 30px; color: #fff; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.medical-copy { display: flex; flex-direction: column; justify-content: center; min-height: 760px; padding: 90px max(54px, calc((100vw - var(--container)) / 2)); }
.medical-copy h2 em { color: var(--copper-light); }
.credential { margin: 25px 0 26px; color: var(--copper-light); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.medical-copy > p:not(.eyebrow):not(.credential) { max-width: 610px; margin: 0 0 18px; color: #d4e1de; line-height: 1.75; }
.button-inverse { align-self: flex-start; margin-top: 22px; border-color: rgba(255,255,255,.45); color: #fff; }
.button-inverse:hover, .button-inverse:focus-visible { background: #fff; color: var(--river); }

.process { display: grid; grid-template-columns: 130px minmax(350px, .85fr) minmax(520px, 1.15fr); gap: 50px; }
.process-title h2 { font-size: clamp(3rem, 4.5vw, 4.9rem); }
.process-steps { margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.process-steps li { display: grid; grid-template-columns: 55px 1fr; gap: 24px; min-height: 145px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.process-steps li > span { color: var(--copper); font-size: .72rem; }
.process-steps h3 { margin: -3px 0 10px; font-size: 1.6rem; font-weight: 500; letter-spacing: -.035em; }
.process-steps p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.65; }

.editorial { display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: center; background: var(--mint); }
.editorial-copy { max-width: 700px; }
.editorial-copy h2 { font-size: clamp(3rem, 4.9vw, 5.3rem); }
.editorial-copy > p:last-child { max-width: 640px; margin: 32px 0 0; color: var(--muted); line-height: 1.75; }
.signature-card { position: relative; max-width: 500px; padding: 48px; background: var(--white); box-shadow: 0 28px 70px rgba(24,52,50,.08); }
.signature-card::before { content: ""; position: absolute; inset: 14px; border: 1px solid var(--line); pointer-events: none; }
.signature-label { display: block; margin-bottom: 65px; color: var(--copper); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.signature-card strong { display: block; margin-bottom: 18px; font-family: "Playfair Display", Georgia, serif; font-size: 2.3rem; font-style: italic; font-weight: 500; }
.signature-card p { margin: 0; color: var(--muted); line-height: 1.75; }
.signature-line { display: flex; justify-content: space-between; margin-top: 50px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; }

.location { display: grid; grid-template-columns: 1.1fr .9fr; gap: 0; padding: 0; background: var(--sand); }
.location-photo { min-height: 700px; overflow: hidden; }
.location-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(.96); }
.location-copy { display: flex; flex-direction: column; justify-content: center; min-height: 700px; padding: 90px max(54px, calc((100vw - var(--container)) / 2)); }
.location-copy h2 { font-size: clamp(3rem, 4.8vw, 5.2rem); }
.location-copy address { margin: 34px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.location-copy address strong { color: var(--ink); }
.contact-status { display: grid; gap: 7px; margin: 30px 0; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-status span { color: var(--copper); font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .17em; }
.contact-status strong { font-size: 1.05rem; }
.contact-status small { color: var(--muted); }
.location-copy .button { align-self: flex-start; }
.location-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.street-view-link { color: var(--river-dark); font-size: .86rem; font-weight: 700; text-underline-offset: 4px; }
.street-view-link:hover, .street-view-link:focus-visible { color: var(--ink); }

.faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.faq-heading h2 { font-size: clamp(3rem, 4.8vw, 5rem); }
.faq-list { border-top: 1px solid var(--ink); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: grid; grid-template-columns: 1fr 28px; gap: 18px; align-items: center; min-height: 88px; padding: 18px 0; cursor: pointer; font-weight: 600; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--copper); transition: transform .25s; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { max-width: 700px; margin: -4px 50px 28px 0; color: var(--muted); line-height: 1.75; }

.closing { position: relative; overflow: hidden; min-height: 570px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 24px; background: var(--river-deep); color: #fff; text-align: center; }
.closing p { position: relative; z-index: 2; margin: 0 0 28px; color: var(--copper-light); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.closing h2 { position: relative; z-index: 2; font-size: clamp(3.4rem, 7vw, 7.4rem); }
.closing h2 em { color: var(--copper-light); }
.button-light { position: relative; z-index: 2; margin-top: 40px; background: #fff; color: var(--river-deep); }
.closing-flow { position: absolute; width: 940px; height: 940px; top: -520px; border: 1px solid rgba(216,232,228,.18); border-radius: 58% 42% 54% 46%; transform: rotate(18deg); }
.closing-flow::after { content: ""; position: absolute; width: 740px; height: 820px; top: 80px; left: 90px; border: 1px solid rgba(182,131,67,.22); border-radius: 44% 56% 39% 61%; }

.site-footer { display: grid; grid-template-columns: 1.4fr .8fr .9fr; gap: 70px; padding: 76px var(--side) 28px; background: #082626; color: #d8e8e4; }
.brand-footer { color: #fff; }
.brand-footer .brand-mark i { border-color: #d8e8e4; }
.brand-footer .brand-mark i:nth-child(2) { border-color: var(--copper-light); }
.brand-footer .brand-mark i:nth-child(3) { background: #d8e8e4; }
.footer-brand p { max-width: 330px; margin: 24px 0 0; color: #91aaa5; line-height: 1.65; }
.footer-nav, .footer-info { display: flex; flex-direction: column; gap: 13px; }
.footer-nav strong, .footer-info strong { margin-bottom: 9px; color: var(--copper-light); font-size: .67rem; text-transform: uppercase; letter-spacing: .17em; }
.footer-nav a { width: fit-content; color: #b7cbc7; font-size: .82rem; text-decoration: none; }
.footer-nav a:hover { color: #fff; }
.footer-info p { margin: 0; color: #b7cbc7; font-size: .82rem; line-height: 1.75; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: #78918d; font-size: .66rem; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 4px; }

@media (max-width: 1050px) {
  .hub-doctor-lead { grid-template-columns: 220px 1fr; gap: 36px; }
  .hub-doctor-lead > .detail-text-link { grid-column: 2; }
  .main-nav { gap: 17px; font-size: .75rem; }
  .hero { grid-template-columns: 1fr .85fr; }
  .hero-copy { padding-right: 42px; }
  .intro, .treatments, .process { grid-template-columns: 90px 1fr 1.1fr; gap: 35px; }
  .care-card { min-height: 520px; }
}

@media (max-width: 900px) {
  .section { padding-top: 92px; padding-bottom: 92px; }
  .menu-toggle { position: relative; z-index: 61; display: grid; grid-template-columns: 25px; gap: 6px; align-items: center; padding: 10px 0 10px 15px; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
  .menu-toggle span { display: block; width: 25px; height: 1px; background: currentColor; transition: transform .25s; }
  .menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .menu-toggle[aria-expanded="true"] { color: #fff; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .main-nav { position: fixed; z-index: 60; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 24px; padding: 90px 10vw; background: var(--river-deep); color: #fff; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .25s, visibility .25s; }
  .main-nav.open { visibility: visible; opacity: 1; pointer-events: auto; }
  .main-nav a { font-size: clamp(1.5rem, 6vw, 2.4rem); font-weight: 500; }
  .main-nav .nav-cta { margin-top: 12px; border-color: rgba(255,255,255,.5); font-size: 1rem; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 62px 0 70px; }
  .hero-panel { min-height: 570px; }
  .intro { grid-template-columns: 70px 1fr; }
  .intro-content { grid-column: 2; padding-top: 0; }
  .care-head { grid-template-columns: 1fr; gap: 35px; }
  .care-grid { grid-template-columns: 1fr 1fr; }
  .care-card:nth-child(2) { border-right: 0; }
  .care-card:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.15); }
  .care-card { min-height: 430px; }
  .treatments, .process { grid-template-columns: 70px 1fr; }
  .treatment-list, .process-steps, .clinical-note { grid-column: 2; }
  .medical { grid-template-columns: 1fr; }
  .medical-image, .medical-copy { min-height: 680px; }
  .medical-copy { padding: 80px var(--side); }
  .editorial { grid-template-columns: 1fr; gap: 60px; }
  .signature-card { justify-self: end; width: min(100%, 540px); }
  .location { grid-template-columns: 1fr; }
  .location-photo { min-height: 520px; }
  .location-copy { min-height: auto; padding: 80px var(--side); }
  .faq { grid-template-columns: .75fr 1.25fr; gap: 50px; }
}

@media (max-width: 640px) {
  :root { --side: 20px; }
  .header-inner { width: calc(100% - 32px); height: 76px; }
  .hero { width: calc(100% - 32px); }
  .hero-copy { padding-top: 46px; }
  .hero h1 { font-size: clamp(3.1rem, 15vw, 4.5rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 19px; }
  .trust-line { flex-wrap: wrap; row-gap: 8px; margin-top: 44px; }
  .trust-line span + span::before { display: none; }
  .hero-panel { min-height: 510px; }
  .panel-card { left: 22px; right: 22px; bottom: 32px; padding: 28px; }
  .panel-seal { top: 42px; right: 36px; }
  .intro, .treatments, .process { grid-template-columns: 1fr; gap: 34px; }
  .intro-content, .treatment-list, .process-steps, .clinical-note { grid-column: 1; }
  .intro-columns { grid-template-columns: 1fr; gap: 14px; }
  .care-grid { grid-template-columns: 1fr; }
  .care-card { min-height: auto; padding: 30px 24px 36px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .care-card:last-child { border-bottom: 0; }
  .card-number { margin-bottom: 55px; }
  .care-card h3 { min-height: auto; }
  .treatment-list > div { grid-template-columns: 35px 1fr; padding: 14px 0; }
  .treatment-list small { grid-column: 2; margin-top: -12px; }
  .medical-image { min-height: 590px; }
  .medical-copy { min-height: auto; }
  .signature-card { padding: 38px 30px; }
  .location-photo { min-height: 400px; }
  .faq { grid-template-columns: 1fr; gap: 45px; }
  .closing { min-height: 520px; }
  .site-footer { grid-template-columns: 1fr; gap: 44px; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Refinamento visual — identidade Minchio Dermatologia */
:root {
  --river: #0b5b58;
  --river-dark: #104643;
  --river-deep: #062f2e;
  --river-light: #dcebe7;
  --mint: #eef5f2;
  --sand: #f5efe6;
  --sand-dark: #ded3c4;
  --copper: #a9783f;
  --copper-light: #d4ad78;
  --ink: #163735;
  --muted: #607572;
  --white: #fffdfa;
  --line: rgba(22, 55, 53, .13);
  --container: 1240px;
  --shadow-soft: 0 24px 70px rgba(16, 70, 67, .10);
  --shadow-deep: 0 34px 90px rgba(5, 39, 38, .22);
}

body {
  background:
    radial-gradient(circle at 8% 8%, rgba(220, 235, 231, .42), transparent 27rem),
    var(--white);
  font-size: 16px;
}

main { overflow: clip; }

.site-header {
  background: rgba(255, 253, 250, .82);
  border-bottom-color: rgba(22, 55, 53, .06);
  backdrop-filter: blur(22px) saturate(135%);
}

.site-header.scrolled {
  background: rgba(255, 253, 250, .94);
  box-shadow: 0 10px 40px rgba(6, 47, 46, .08);
}

.header-inner { height: 92px; }
.brand { gap: 15px; }
.brand-mark { width: 42px; height: 42px; }
.brand-mark i:nth-child(1) { width: 34px; height: 34px; }
.brand-mark i:nth-child(2) { width: 19px; height: 19px; top: 18px; }
.brand-mark i:nth-child(3) { left: 15px; top: 15px; }
.brand strong { font-size: 1.12rem; }
.brand small { margin-top: 7px; }
.main-nav { gap: 30px; }
.main-nav a { transition: color .2s ease; }
.main-nav a:not(.nav-cta):hover { color: var(--river); }
.nav-cta { padding: 13px 21px; background: rgba(255,255,255,.55); }

.section { padding-top: clamp(108px, 9vw, 148px); padding-bottom: clamp(108px, 9vw, 148px); }
.section-label {
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid rgba(169, 120, 63, .25);
  border-radius: 999px;
  background: rgba(255,255,255,.42);
}
.eyebrow { margin-bottom: 27px; }
.eyebrow span { width: 38px; background: linear-gradient(90deg, var(--copper), transparent); }
h2 { line-height: .96; }

.button {
  min-height: 56px;
  padding: 0 27px;
  border-radius: 999px;
  letter-spacing: .01em;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}

.button-primary {
  background: linear-gradient(135deg, #0c615d, #0a4c49);
  box-shadow: 0 15px 34px rgba(11, 91, 88, .20), inset 0 1px rgba(255,255,255,.16);
}

.button-primary:hover, .button-primary:focus-visible {
  background: linear-gradient(135deg, #104b48, #073a38);
  box-shadow: 0 18px 42px rgba(11, 91, 88, .28);
}

.hero {
  position: relative;
  min-height: calc(100vh - 92px);
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  gap: clamp(30px, 4vw, 66px);
  width: min(var(--container), calc(100% - 64px));
  border-top: 0;
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 480px;
  height: 480px;
  left: -330px;
  top: 80px;
  border: 1px solid rgba(169, 120, 63, .16);
  border-radius: 48% 52% 58% 42%;
  transform: rotate(20deg);
}

.hero-copy { position: relative; padding: 86px 0 96px; }
.hero h1 { max-width: 760px; font-size: clamp(3.75rem, 6.25vw, 6.75rem); line-height: .92; }
.hero h1 em { text-shadow: 0 10px 40px rgba(11,91,88,.08); }
.lead { max-width: 625px; margin-top: 34px; font-size: clamp(1rem, 1.35vw, 1.2rem); }
.hero-actions { margin-top: 42px; }
.text-link { text-decoration-color: rgba(169,120,63,.45); transition: color .2s ease, text-decoration-color .2s ease; }
.text-link:hover { color: var(--river); text-decoration-color: var(--copper); }

.trust-line { gap: 9px; margin-top: 54px; }
.trust-line span {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
}
.trust-line span + span::before { display: none; }

.hero-panel {
  align-self: center;
  min-height: min(680px, calc(100vh - 140px));
  border: 1px solid rgba(11, 91, 88, .12);
  border-radius: 30px 30px 116px 30px;
  background:
    radial-gradient(circle at 80% 8%, rgba(255,255,255,.86), transparent 22%),
    linear-gradient(145deg, #e8f2ef 0%, #c8ded8 100%);
  box-shadow: var(--shadow-soft);
}

.hero-panel::before { inset: 18px; border-radius: 20px 20px 98px 20px; }
.hero-panel::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  right: -95px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(169,120,63,.12);
  filter: blur(1px);
}

.river-line { left: -95px; top: -15px; border-color: rgba(11,91,88,.42); }
.river-line::after { border-color: rgba(169,120,63,.48); }
.panel-card {
  left: 48px;
  right: 48px;
  bottom: 48px;
  padding: 38px 40px 32px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 22px;
  background: rgba(255, 253, 250, .88);
  box-shadow: 0 25px 70px rgba(6,47,46,.16);
  backdrop-filter: blur(18px) saturate(120%);
}
.panel-card strong { font-family: "Playfair Display", Georgia, serif; font-weight: 500; }
.panel-card p { margin-top: 17px; }
.panel-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.panel-proof span { padding: 7px 10px; border-radius: 999px; background: var(--mint); color: var(--river-dark); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.panel-seal { top: 42px; right: 38px; width: 92px; height: 92px; background: rgba(255,253,250,.28); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 7px rgba(255,255,255,.26); }

.intro { position: relative; border-bottom: 0; }
.intro::after { content: ""; position: absolute; left: var(--side); right: var(--side); bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent); }
.intro-content { padding-top: 45px; }
.intro-lead { position: relative; padding-left: 27px; }
.intro-lead::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .15em; width: 2px; border-radius: 2px; background: linear-gradient(var(--copper), rgba(169,120,63,.18)); }
.intro-columns { gap: 38px; }
.intro-columns p { padding-top: 22px; border-top: 1px solid var(--line); }

.care {
  position: relative;
  background:
    radial-gradient(circle at 12% 10%, rgba(34, 112, 107, .36), transparent 30rem),
    radial-gradient(circle at 88% 92%, rgba(169,120,63,.16), transparent 27rem),
    var(--river-deep);
}
.care::before { content: ""; position: absolute; top: 0; right: 8%; width: 1px; height: 100%; background: linear-gradient(transparent, rgba(255,255,255,.09), transparent); }
.care-head { margin-bottom: 66px; }
.care-head > p { padding-left: 28px; border-left: 1px solid rgba(212,173,120,.45); }
.care-grid { gap: 16px; border: 0; }
.care-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 500px;
  padding: 30px 28px 34px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(8px);
}
.care-card:last-child { border-right: 1px solid rgba(255,255,255,.13); }
.care-card::after { content: ""; position: absolute; left: 28px; right: 100%; top: 0; height: 2px; background: var(--copper-light); transition: right .35s ease; }
.care-card:hover { background: rgba(255,255,255,.075); border-color: rgba(212,173,120,.33); box-shadow: 0 24px 55px rgba(0,0,0,.12); }
.care-card:hover::after { right: 28px; }
.card-number { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 76px; border: 1px solid rgba(212,173,120,.35); border-radius: 50%; }
.care-card h3 { font-family: "Playfair Display", Georgia, serif; font-size: 1.72rem; }
.care-card ul { margin-top: auto; }

.treatments {
  position: relative;
  background:
    radial-gradient(circle at 95% 5%, rgba(255,255,255,.7), transparent 24rem),
    linear-gradient(135deg, #f7f2ea, #efe6da);
}
.treatments::before { content: ""; position: absolute; width: 370px; height: 370px; left: -270px; bottom: 80px; border: 1px solid rgba(169,120,63,.14); border-radius: 57% 43% 48% 52%; }
.treatment-list { display: grid; gap: 8px; border-top: 0; }
.treatment-list > div {
  min-height: 76px;
  padding: 0 19px;
  border: 1px solid rgba(22,55,53,.10);
  border-radius: 14px;
  background: rgba(255,253,250,.58);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.treatment-list > div:hover { transform: translateX(5px); border-color: rgba(11,91,88,.24); background: rgba(255,253,250,.92); box-shadow: 0 12px 30px rgba(16,70,67,.07); }
.treatment-list span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(169,120,63,.10); }
.treatment-list small { padding: 7px 10px; border-radius: 999px; background: rgba(220,235,231,.58); }
.clinical-note { padding: 18px 20px; border-left: 2px solid var(--copper); background: rgba(255,253,250,.46); }

.medical {
  align-items: stretch;
  padding: 32px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.08), transparent 24rem),
    linear-gradient(135deg, #0b5b58, #073b3a 68%, #062f2e);
}
.medical-image {
  min-height: 720px;
  border-radius: 30px 30px 120px 30px;
  box-shadow: var(--shadow-deep);
}
.medical-image::before { content: ""; position: absolute; z-index: 2; inset: 18px; border: 1px solid rgba(255,255,255,.32); border-radius: 19px 19px 99px 19px; pointer-events: none; }
.medical-image::after { background: linear-gradient(to top, rgba(6,47,46,.55), transparent 52%); }
.medical-image img { transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.medical-image:hover img { transform: scale(1.025); }
.image-caption { left: 42px; bottom: 38px; padding: 9px 12px; border-radius: 999px; background: rgba(6,47,46,.54); backdrop-filter: blur(8px); }
.medical-copy { min-height: 720px; padding: clamp(70px, 8vw, 112px) clamp(46px, 7vw, 100px); }
.medical-copy > p:not(.eyebrow):not(.credential) { font-size: 1.02rem; }
.credential { width: fit-content; padding: 9px 13px; border: 1px solid rgba(212,173,120,.35); border-radius: 999px; background: rgba(0,0,0,.08); }
.button-inverse { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.05); backdrop-filter: blur(8px); }

.process { background: linear-gradient(180deg, var(--white), #faf8f2); }
.process-steps { display: grid; gap: 10px; border-top: 0; }
.process-steps li {
  min-height: 132px;
  padding: 25px 26px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255,255,255,.74);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.process-steps li:hover { transform: translateX(5px); border-color: rgba(11,91,88,.22); box-shadow: 0 14px 38px rgba(16,70,67,.07); }
.process-steps li > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--mint); }
.process-steps h3 { font-family: "Playfair Display", Georgia, serif; font-size: 1.78rem; }

.editorial {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.9), transparent 23rem),
    linear-gradient(135deg, #f0f7f4, #e5f0ec);
}
.editorial::before { content: ""; position: absolute; width: 540px; height: 540px; left: -350px; top: -330px; border: 1px solid rgba(11,91,88,.15); border-radius: 45% 55% 52% 48%; }
.signature-card {
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 25px;
  box-shadow: 0 32px 80px rgba(16,70,67,.12);
  transform: rotate(1.25deg);
  transition: transform .35s ease, box-shadow .35s ease;
}
.signature-card:hover { transform: rotate(0); box-shadow: 0 38px 90px rgba(16,70,67,.16); }
.signature-card::before { inset: 13px; border-radius: 16px; }
.signature-label { width: fit-content; padding: 8px 11px; border-radius: 999px; background: var(--sand); }

.location {
  align-items: center;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(42px, 6vw, 84px);
  padding: 44px var(--side);
  background:
    radial-gradient(circle at 90% 88%, rgba(220,235,231,.55), transparent 25rem),
    var(--sand);
}
.location-photo {
  position: relative;
  height: 650px;
  min-height: 650px;
  border-radius: 30px 30px 105px 30px;
  box-shadow: var(--shadow-soft);
}
.location-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,47,46,.58), transparent 48%); pointer-events: none; }
.location-photo img { filter: saturate(.82) contrast(.98); transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.location-photo:hover img { transform: scale(1.025); }
.location-photo-badge { position: absolute; z-index: 2; left: 32px; right: 32px; bottom: 30px; display: flex; align-items: end; justify-content: space-between; gap: 28px; color: #fff; }
.location-photo-badge span { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.location-photo-badge strong { max-width: 330px; font-family: "Playfair Display", Georgia, serif; font-size: 1.45rem; font-weight: 500; text-align: right; }
.location-copy { min-height: auto; padding: 72px 0; }
.location-copy address { font-size: 1.03rem; }
.location-copy address strong { display: inline-block; margin-bottom: 5px; font-family: "Playfair Display", Georgia, serif; font-size: 1.32rem; font-weight: 600; }
.contact-status { padding: 20px 22px; border: 1px solid rgba(22,55,53,.10); border-radius: 16px; background: rgba(255,253,250,.64); }
.location-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 20px; }
.street-view-link { text-decoration-color: rgba(169,120,63,.55); transition: color .2s ease, text-decoration-color .2s ease; }

.faq { background: var(--white); }
.faq-list { display: grid; gap: 10px; border-top: 0; }
.faq details { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.68); transition: border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.faq details[open] { border-color: rgba(11,91,88,.22); background: #fff; box-shadow: 0 15px 38px rgba(16,70,67,.07); }
.faq summary { min-height: 84px; padding: 18px 22px; }
.faq summary span { width: 32px; height: 32px; background: var(--mint); }
.faq details p { margin: -2px 62px 27px 22px; }

.closing {
  min-height: 620px;
  background:
    radial-gradient(circle at 50% 120%, rgba(22,111,106,.50), transparent 34rem),
    radial-gradient(circle at 84% 10%, rgba(169,120,63,.13), transparent 24rem),
    var(--river-deep);
}
.closing h2 { max-width: 1120px; line-height: .9; }
.button-light { min-width: 210px; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.closing-flow { width: 1060px; height: 1060px; top: -620px; }

.site-footer {
  padding-top: 86px;
  background: linear-gradient(135deg, #052827, #041f1f);
}
.footer-nav a { position: relative; padding-bottom: 2px; }
.footer-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--copper-light); transition: right .25s ease; }
.footer-nav a:hover::after { right: 0; }

.reveal { transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }

@media (max-width: 1050px) {
  .hero { width: min(var(--container), calc(100% - 40px)); grid-template-columns: minmax(0, 1fr) minmax(390px, .88fr); gap: 34px; }
  .panel-card { left: 30px; right: 30px; bottom: 32px; }
  .care-grid { gap: 12px; }
  .care-card { padding-inline: 23px; }
  .location { gap: 46px; }
}

@media (max-width: 900px) {
  .header-inner { height: 84px; }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { padding: 72px 0 78px; }
  .hero-panel { min-height: 610px; border-radius: 28px 28px 90px 28px; }
  .care-grid { gap: 14px; }
  .care-card { min-height: 430px; }
  .medical { grid-template-columns: 1fr; padding: 24px; }
  .medical-image { min-height: 690px; border-radius: 26px 26px 92px 26px; }
  .medical-copy { min-height: auto; padding: 78px var(--side); }
  .signature-card { transform: none; }
  .location { grid-template-columns: 1fr; padding: 30px var(--side) 80px; }
  .location-photo { height: 540px; min-height: 540px; }
  .location-copy { padding: 45px 0 0; }
  .faq { grid-template-columns: 1fr; gap: 55px; }
}

@media (max-width: 640px) {
  :root { --side: 20px; }
  .header-inner { height: 76px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-mark i:nth-child(1) { width: 31px; height: 31px; }
  .brand-mark i:nth-child(2) { width: 17px; height: 17px; top: 16px; }
  .brand-mark i:nth-child(3) { left: 13px; top: 13px; }
  .section { padding-top: 88px; padding-bottom: 88px; }
  .hero { width: calc(100% - 28px); }
  .hero-copy { padding: 55px 2px 66px; }
  .hero h1 { font-size: clamp(3.2rem, 16vw, 4.75rem); }
  .lead { line-height: 1.68; }
  .trust-line { gap: 7px; }
  .trust-line span { padding: 7px 10px; font-size: .62rem; }
  .hero-panel { min-height: 535px; border-radius: 22px 22px 68px 22px; }
  .hero-panel::before { inset: 12px; border-radius: 14px 14px 56px 14px; }
  .panel-card { left: 18px; right: 18px; bottom: 20px; padding: 28px 25px 24px; border-radius: 17px; }
  .panel-card strong { font-size: 2.05rem; }
  .panel-proof { margin-top: 20px; }
  .panel-seal { top: 30px; right: 26px; width: 76px; height: 76px; }
  .intro-lead { padding-left: 21px; }
  .care-grid { gap: 11px; }
  .care-card, .care-card:last-child { min-height: auto; padding: 27px 24px 33px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; }
  .card-number { margin-bottom: 50px; }
  .treatment-list > div { min-height: 82px; padding: 14px 15px; }
  .treatment-list small { width: fit-content; padding: 5px 8px; }
  .clinical-note { margin-top: 22px; }
  .medical { padding: 14px; }
  .medical-image { min-height: 565px; border-radius: 21px 21px 72px 21px; }
  .medical-image::before { inset: 11px; border-radius: 13px 13px 61px 13px; }
  .medical-copy { padding: 70px 12px 74px; }
  .process-steps li { grid-template-columns: 46px 1fr; gap: 16px; padding: 23px 20px; }
  .signature-card { padding: 39px 29px; border-radius: 21px; }
  .location { padding: 18px 14px 72px; gap: 22px; }
  .location-photo { height: 410px; min-height: 410px; border-radius: 22px 22px 68px 22px; }
  .location-photo-badge { left: 22px; right: 22px; bottom: 21px; align-items: flex-start; flex-direction: column; gap: 8px; }
  .location-photo-badge strong { font-size: 1.2rem; text-align: left; }
  .location-copy { padding: 50px 6px 0; }
  .location-actions { align-items: flex-start; flex-direction: column; }
  .faq details p { margin-right: 22px; }
  .closing { min-height: 550px; }
}

@media (prefers-reduced-motion: reduce) {
  .medical-image img, .location-photo img { transform: none !important; }
}

/* Segunda passagem — composição editorial e microacabamentos */
.brand-ribbon {
  position: relative;
  width: min(var(--container), calc(100% - 64px));
  margin: 24px auto 0;
  padding: 20px 24px;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--river-dark);
}
.brand-ribbon::before, .brand-ribbon::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; width: 46px; pointer-events: none; }
.brand-ribbon::before { left: 0; background: linear-gradient(90deg, var(--white), transparent); }
.brand-ribbon::after { right: 0; background: linear-gradient(-90deg, var(--white), transparent); }
.brand-ribbon > div { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 36px); white-space: nowrap; }
.brand-ribbon span { font-size: .66rem; font-weight: 750; text-transform: uppercase; letter-spacing: .15em; }
.brand-ribbon i { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 5px rgba(169,120,63,.09); }

.main-nav a.is-active:not(.nav-cta) { color: var(--river); }
.main-nav a.is-active:not(.nav-cta)::after { right: 0; }
.button span { transition: transform .22s ease; }
.button:hover span, .button:focus-visible span { transform: translate(2px, -2px); }
.street-view-link span { display: inline-block; transition: transform .22s ease; }
.street-view-link:hover span, .street-view-link:focus-visible span { transform: translate(2px, -2px); }

.river-line { animation: river-breathe 15s ease-in-out infinite; transform-origin: 48% 52%; }
@keyframes river-breathe {
  0%, 100% { transform: rotate(31deg) scale(1); }
  50% { transform: rotate(34deg) scale(1.035); }
}

.care-card:nth-child(2), .process-steps li:nth-child(2) { --delay: 75ms; }
.care-card:nth-child(3), .process-steps li:nth-child(3) { --delay: 150ms; }
.care-card:nth-child(4), .process-steps li:nth-child(4) { --delay: 225ms; }
.reveal { transition-delay: var(--delay, 0ms); }

.treatment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; }
.treatment-list > div {
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  min-height: 124px;
  padding: 21px 20px;
  column-gap: 13px;
  row-gap: 7px;
}
.treatment-list span { grid-row: 1 / 3; align-self: start; margin-top: 1px; }
.treatment-list strong { align-self: end; font-size: 1.05rem; }
.treatment-list small { grid-column: 2; align-self: start; justify-self: start; padding: 0; background: transparent; line-height: 1.45; }
.clinical-note { margin-top: 24px; }

.process {
  grid-template-columns: 130px minmax(0, 1fr);
  row-gap: 58px;
}
.process-title { grid-column: 2; max-width: 900px; }
.process-title h2 { max-width: 850px; }
.process-steps {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.process-steps li {
  display: flex;
  flex-direction: column;
  gap: 58px;
  min-height: 285px;
  padding: 27px 25px 29px;
}
.process-steps li > div { margin-top: auto; }
.process-steps h3 { margin: 0 0 13px; }
.process-steps p { font-size: .9rem; }
.process-steps li::after { content: ""; width: 34px; height: 1px; margin-top: 7px; background: linear-gradient(90deg, var(--copper), transparent); }

.signature-card::after {
  content: "CRM-ES\A 15578";
  position: absolute;
  top: 31px;
  right: 31px;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(169,120,63,.42);
  border-radius: 50%;
  color: var(--copper);
  font-size: .57rem;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .12em;
  white-space: pre-line;
  box-shadow: inset 0 0 0 6px rgba(169,120,63,.06);
}

.faq summary { position: relative; }
.faq summary::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 2px; border-radius: 2px; background: var(--copper); transform: scaleY(0); transition: transform .25s ease; }
.faq details[open] summary::before { transform: scaleY(1); }

.closing::after {
  content: "CD";
  position: absolute;
  z-index: 0;
  right: -3vw;
  bottom: -17vw;
  color: rgba(255,255,255,.027);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(22rem, 42vw, 44rem);
  font-style: italic;
  line-height: 1;
  letter-spacing: -.12em;
  pointer-events: none;
}

@media (max-width: 1050px) {
  .brand-ribbon { width: calc(100% - 40px); }
  .brand-ribbon > div { justify-content: flex-start; overflow: hidden; }
  .treatment-list { grid-template-columns: 1fr; }
  .treatment-list > div { min-height: 105px; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-steps li { min-height: 250px; }
}

@media (max-width: 900px) {
  .brand-ribbon { margin-top: 30px; }
  .process { grid-template-columns: 1fr; row-gap: 44px; }
  .process-title, .process-steps { grid-column: 1; }
  .treatment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .treatment-list > div { min-height: 118px; }
}

@media (max-width: 640px) {
  .brand-ribbon { width: calc(100% - 28px); margin-top: 18px; padding: 17px 16px; }
  .brand-ribbon > div { gap: 18px; }
  .brand-ribbon span:nth-of-type(n+4), .brand-ribbon i:nth-of-type(n+3) { display: none; }
  .treatment-list { grid-template-columns: 1fr; }
  .treatment-list > div { grid-template-columns: 34px 1fr; grid-template-rows: auto auto; min-height: 105px; padding: 18px 16px; }
  .treatment-list small { grid-column: 2; margin-top: 0; }
  .process-steps { grid-template-columns: 1fr; }
  .process-steps li { min-height: 220px; gap: 42px; }
  .signature-card::after { top: 25px; right: 25px; width: 62px; height: 62px; font-size: .52rem; }
  .closing::after { right: -16vw; bottom: -16vw; }
}

@media (prefers-reduced-motion: reduce) {
  .river-line { animation: none; }
  .reveal { transition-delay: 0ms; }
}

/* Acervo e canais da responsabilidade técnica */
.knowledge {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: clamp(58px, 8vw, 112px);
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(34,112,107,.34), transparent 29rem),
    radial-gradient(circle at 95% 88%, rgba(169,120,63,.16), transparent 28rem),
    #073b39;
  color: #fff;
}
.knowledge::before { content: ""; position: absolute; width: 610px; height: 610px; left: -410px; bottom: -390px; border: 1px solid rgba(255,255,255,.10); border-radius: 47% 53% 58% 42%; transform: rotate(28deg); }
.knowledge-intro { align-self: start; }
.knowledge-intro h2 { font-size: clamp(3.2rem, 4.8vw, 5.3rem); }
.knowledge-intro h2 em { color: var(--copper-light); }
.knowledge-intro > p:last-of-type { max-width: 540px; margin: 32px 0 0; color: #c2d5d1; line-height: 1.78; }
.knowledge-author { display: flex; align-items: center; gap: 15px; margin-top: 36px; padding-top: 27px; border-top: 1px solid rgba(255,255,255,.14); }
.knowledge-author > span { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(212,173,120,.52); border-radius: 50%; color: var(--copper-light); font-family: "Playfair Display", Georgia, serif; font-style: italic; }
.knowledge-author div { display: grid; gap: 5px; }
.knowledge-author strong { font-size: .87rem; }
.knowledge-author small { color: #9fb8b3; font-size: .69rem; line-height: 1.45; }

.knowledge-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.resource-card {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 29px 27px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(9px);
  transition: transform .28s ease, border-color .28s ease, background .28s ease, box-shadow .28s ease;
}
.resource-card::before { content: ""; position: absolute; width: 130px; height: 130px; right: -74px; top: -72px; border: 1px solid rgba(212,173,120,.26); border-radius: 50%; transition: transform .35s ease; }
.resource-card:hover, .resource-card:focus-visible { transform: translateY(-6px); border-color: rgba(212,173,120,.42); background: rgba(255,255,255,.085); box-shadow: 0 24px 55px rgba(0,0,0,.16); }
.resource-card:hover::before { transform: scale(1.18); }
.resource-type { color: var(--copper-light); font-size: .61rem; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; }
.resource-card > strong { max-width: 300px; margin-top: 55px; font-family: "Playfair Display", Georgia, serif; font-size: 1.75rem; font-weight: 500; line-height: 1.12; }
.resource-card p { margin: 16px 0 30px; color: #b8ceca; font-size: .82rem; line-height: 1.65; }
.resource-card b { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.12); color: #edf5f3; font-size: .72rem; }
.resource-card b i { color: var(--copper-light); font-style: normal; transition: transform .22s ease; }
.resource-card:hover b i { transform: translate(3px, -3px); }
.resource-card:nth-child(2) { --delay: 70ms; }
.resource-card:nth-child(3) { --delay: 140ms; }
.resource-card:nth-child(4) { --delay: 210ms; }

.channel-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: -26px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.14); }
.channel-row > a { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; min-height: 82px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.04); color: #fff; text-decoration: none; transition: background .22s ease, border-color .22s ease, transform .22s ease; }
.channel-row > a:hover, .channel-row > a:focus-visible { transform: translateY(-3px); border-color: rgba(212,173,120,.36); background: rgba(255,255,255,.08); }
.channel-monogram { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(212,173,120,.35); border-radius: 13px; color: var(--copper-light); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.channel-row a > span:nth-child(2) { min-width: 0; display: grid; gap: 5px; }
.channel-row small { color: #9fb8b3; font-size: .61rem; text-transform: uppercase; letter-spacing: .12em; }
.channel-row strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.channel-row b { color: var(--copper-light); font-size: .82rem; }

.footer-social { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 11px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.09); }
.footer-social a { color: #9fb8b3; font-size: .72rem; text-decoration: none; transition: color .2s ease; }
.footer-social a:hover, .footer-social a:focus-visible { color: #fff; }

@media (max-width: 1050px) {
  .knowledge { grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 48px; }
  .resource-card { min-height: 345px; padding-inline: 23px; }
  .channel-row { grid-template-columns: 1fr 1fr; }
  .channel-row > a:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .knowledge { grid-template-columns: 1fr; gap: 62px; }
  .knowledge-intro { max-width: 690px; }
  .resource-card { min-height: 315px; }
  .channel-row { margin-top: -16px; }
}

@media (max-width: 640px) {
  .knowledge { gap: 52px; }
  .knowledge-resources { grid-template-columns: 1fr; }
  .resource-card { min-height: 300px; }
  .resource-card > strong { margin-top: 45px; }
  .channel-row { grid-template-columns: 1fr; margin-top: -8px; }
  .channel-row > a:last-child { grid-column: auto; }
}

/* Direção super premium — luxo editorial com contenção */
.button { border-radius: 7px; }

.site-header:not(.scrolled) {
  background: var(--river-deep);
  border-bottom-color: rgba(255,255,255,.09);
  color: #fff;
}
.site-header:not(.scrolled) .brand { color: #fff; }
.site-header:not(.scrolled) .brand small { color: var(--copper-light); }
.site-header:not(.scrolled) .brand-mark i { border-color: #dbe9e6; }
.site-header:not(.scrolled) .brand-mark i:nth-child(2) { border-color: var(--copper-light); }
.site-header:not(.scrolled) .brand-mark i:nth-child(3) { background: #dbe9e6; }
.site-header:not(.scrolled) .main-nav a { color: #ecf4f2; }
.site-header:not(.scrolled) .main-nav a:not(.nav-cta)::after { background: var(--copper-light); }
.site-header:not(.scrolled) .nav-cta { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.035); }
.site-header:not(.scrolled) .nav-cta:hover { border-color: #fff; background: #fff; color: var(--river-deep); }
.site-header:not(.scrolled) .menu-toggle { color: #fff; }

.hero {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 92px);
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .78fr);
  gap: clamp(54px, 7vw, 110px);
  margin: 0;
  padding: 30px var(--side) 58px;
  background:
    radial-gradient(circle at 18% 22%, rgba(27,112,107,.32), transparent 31rem),
    radial-gradient(circle at 74% 88%, rgba(169,120,63,.13), transparent 30rem),
    var(--river-deep);
  color: #fff;
}
.hero::before {
  z-index: 0;
  width: 680px;
  height: 680px;
  left: -430px;
  top: -60px;
  border-color: rgba(212,173,120,.13);
}
.hero-copy { z-index: 1; max-width: 820px; padding: 92px 0 104px; }
.hero .eyebrow { color: var(--copper-light); }
.hero .eyebrow span { background: linear-gradient(90deg, var(--copper-light), transparent); }
.hero h1 { max-width: 830px; color: #f8fbfa; font-size: clamp(4rem, 6.4vw, 7.15rem); font-weight: 450; letter-spacing: -.075em; }
.hero h1 em { color: var(--copper-light); text-shadow: none; }
.hero .lead { max-width: 650px; color: #bdcfcb; font-size: clamp(1.02rem, 1.35vw, 1.19rem); }
.hero .button-primary { background: #f8f5ee; color: var(--river-deep); box-shadow: 0 18px 50px rgba(0,0,0,.20); }
.hero .button-primary:hover, .hero .button-primary:focus-visible { background: var(--copper-light); color: var(--river-deep); box-shadow: 0 20px 58px rgba(0,0,0,.28); }
.hero .text-link { color: #eef5f3; text-decoration-color: rgba(212,173,120,.60); }
.hero .text-link:hover { color: var(--copper-light); }
.hero .trust-line { max-width: 660px; gap: 0; margin-top: 64px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.15); color: #a8bfba; }
.hero .trust-line span { padding: 0 18px; border: 0; border-radius: 0; background: transparent; }
.hero .trust-line span:first-child { padding-left: 0; }
.hero .trust-line span + span { border-left: 1px solid rgba(212,173,120,.35); }

.hero-panel {
  align-self: center;
  min-height: min(720px, calc(100vh - 150px));
  border: 1px solid rgba(212,173,120,.28);
  border-radius: 260px 260px 26px 26px;
  background:
    radial-gradient(circle at 50% 17%, rgba(255,255,255,.96), transparent 19rem),
    linear-gradient(155deg, #e7f1ee, #bcd5cf);
  box-shadow: 0 46px 110px rgba(0,0,0,.28);
}
.hero-panel::before { inset: 16px; border-color: rgba(11,91,88,.24); border-radius: 244px 244px 18px 18px; }
.hero-panel::after {
  content: "MINCHIO";
  width: auto;
  height: auto;
  left: 0;
  right: 0;
  top: 118px;
  bottom: auto;
  border-radius: 0;
  background: transparent;
  color: rgba(7,59,57,.09);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(3rem, 4.6vw, 5.2rem);
  font-style: italic;
  font-weight: 500;
  text-align: center;
  letter-spacing: .02em;
}
.hero-panel .river-line { width: 680px; height: 680px; left: -105px; top: 26px; border-color: rgba(11,91,88,.34); }
.hero-panel .river-line::after { border-color: rgba(169,120,63,.43); }
.hero-panel .panel-card {
  left: 34px;
  right: 34px;
  bottom: 34px;
  padding: 34px 36px 29px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background: rgba(6,47,46,.94);
  color: #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.25);
}
.hero-panel .panel-card p { color: #bcd0cc; }
.hero-panel .panel-proof { border-top-color: rgba(255,255,255,.13); }
.hero-panel .panel-proof span { border: 1px solid rgba(212,173,120,.22); border-radius: 2px; background: transparent; color: #d9e5e2; }
.hero-panel .panel-seal { top: 58px; right: 50%; width: 88px; height: 88px; margin-right: -44px; border-color: var(--river); background: rgba(255,255,255,.38); color: var(--river-deep); box-shadow: inset 0 0 0 7px rgba(255,255,255,.30); }

.brand-ribbon {
  width: 100%;
  margin: 0;
  padding: 24px var(--side);
  border: 0;
  background: var(--copper-light);
  color: var(--river-deep);
}
.brand-ribbon::before { background: linear-gradient(90deg, var(--copper-light), transparent); }
.brand-ribbon::after { background: linear-gradient(-90deg, var(--copper-light), transparent); }
.brand-ribbon i { background: var(--river-deep); box-shadow: none; }

.section-label { border: 0; border-radius: 0; background: transparent; padding: 0 0 9px; border-bottom: 1px solid rgba(169,120,63,.42); }

.care-grid { gap: 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.care-card, .care-card:last-child {
  min-height: 520px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.14);
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}
.care-card:last-child { border-right: 0; }
.care-card:hover { transform: none; border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.045); box-shadow: none; }
.care-card::after { left: 0; right: 100%; }
.care-card:hover::after { right: 0; }
.card-number { border-radius: 2px; }

.treatment-list { gap: 0; border-top: 1px solid rgba(22,55,53,.30); }
.treatment-list > div {
  min-height: 120px;
  border: 0;
  border-bottom: 1px solid rgba(22,55,53,.16);
  border-radius: 0;
  background: transparent;
}
.treatment-list > div:hover { transform: none; border-color: rgba(22,55,53,.22); background: rgba(255,255,255,.38); box-shadow: none; }
.treatment-list span { border-radius: 2px; }
.clinical-note { border-radius: 0; }

.process-steps { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-steps li {
  min-height: 300px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.process-steps li:last-child { border-right: 0; }
.process-steps li:hover { transform: none; border-color: var(--line); background: rgba(220,235,231,.26); box-shadow: none; }
.process-steps li > span { border-radius: 2px; }

.signature-card { border-radius: 2px; transform: none; }
.signature-card::before { border-radius: 0; }
.signature-label, .credential { border-radius: 2px; }
.contact-status { border-radius: 2px; }

.resource-card { border-radius: 4px; background: rgba(255,255,255,.025); }
.channel-row > a, .channel-monogram { border-radius: 3px; }

.faq-list { gap: 0; border-top: 1px solid var(--ink); }
.faq details { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.faq details[open] { border-color: var(--line); background: rgba(220,235,231,.24); box-shadow: none; }
.faq summary span { border-radius: 2px; }

@media (max-width: 1050px) {
  .hero { grid-template-columns: minmax(0, 1fr) minmax(380px, .75fr); gap: 42px; }
  .hero-panel .panel-card { left: 25px; right: 25px; bottom: 25px; }
  .care-card { padding-inline: 23px; }
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 0; }
  .hero-copy { max-width: 760px; padding: 82px 0 76px; }
  .hero-panel { width: min(100%, 650px); min-height: 690px; justify-self: center; border-radius: 240px 240px 24px 24px; }
  .care-grid { gap: 0; }
  .care-card, .care-card:last-child { border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
  .care-card:nth-child(2n) { border-right: 0; }
  .process-steps { gap: 0; }
  .process-steps li { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .process-steps li:nth-child(2n) { border-right: 0; }
}

@media (max-width: 640px) {
  .site-header:not(.scrolled) .brand strong { color: #fff; }
  .hero { width: 100%; padding: 0 18px 34px; }
  .hero-copy { padding: 64px 0 70px; }
  .hero h1 { font-size: clamp(3.35rem, 16vw, 4.85rem); line-height: .91; }
  .hero .lead { color: #c1d0cd; }
  .hero .hero-actions { gap: 22px; }
  .hero .trust-line { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 52px; padding-top: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .hero .trust-line span, .hero .trust-line span:first-child { padding: 12px 10px; border: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .hero .trust-line span:nth-child(odd) { padding-left: 0; border-right: 1px solid rgba(255,255,255,.12); }
  .hero-panel { min-height: 560px; border-radius: 170px 170px 18px 18px; }
  .hero-panel::before { inset: 11px; border-radius: 159px 159px 12px 12px; }
  .hero-panel::after { top: 94px; font-size: 3.05rem; }
  .hero-panel .panel-seal { top: 35px; width: 74px; height: 74px; margin-right: -37px; }
  .hero-panel .panel-card { left: 17px; right: 17px; bottom: 17px; padding: 27px 24px 23px; }
  .hero-panel .panel-card strong { font-size: 1.86rem; }
  .brand-ribbon { width: 100%; margin: 0; padding: 20px 18px; }
  .care-card, .care-card:last-child { min-height: auto; border: 0; border-bottom: 1px solid rgba(255,255,255,.15); border-radius: 0; }
  .treatment-list > div { min-height: 108px; }
  .process-steps li, .process-steps li:nth-child(2n) { min-height: 230px; border: 0; border-bottom: 1px solid var(--line); }
  .resource-card { border-radius: 3px; }
}

/* Páginas complementares — arquitetura editorial para SEO local */
.intro-detail-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 34px;
  color: var(--river-dark);
  font-size: .82rem;
  font-weight: 750;
  text-underline-offset: 5px;
}
.intro-detail-link span { color: var(--copper); }
.care-card { display: flex; flex-direction: column; }
.care-link {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 24px;
  color: var(--copper-light);
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.45;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.care-card ul + .care-link { margin-top: auto; }
.care-link span { transition: transform .2s ease; }
.care-link:hover span, .care-link:focus-visible span { transform: translateX(4px); }
.medical-links { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 22px; }
.medical-links .button { margin-top: 0; }
.medical-external-link { color: #d4e1de; font-size: .8rem; font-weight: 700; text-underline-offset: 5px; }
.medical-external-link span { margin-left: 5px; color: var(--copper-light); }

.detail-page { background: var(--white); }
.detail-hero {
  position: relative;
  isolation: isolate;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr);
  gap: clamp(60px, 9vw, 150px);
  align-items: end;
  padding: clamp(84px, 10vw, 145px) var(--side) clamp(82px, 9vw, 128px);
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 25%, rgba(27,112,107,.27), transparent 30rem),
    radial-gradient(circle at 92% 90%, rgba(182,131,67,.14), transparent 28rem),
    var(--river-deep);
  color: #fff;
}
.detail-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(63vw, 850px);
  aspect-ratio: 1;
  right: -25vw;
  top: -34%;
  border: 1px solid rgba(212,173,120,.15);
  border-radius: 47% 53% 58% 42%;
  transform: rotate(28deg);
}
.detail-hero-copy { max-width: 920px; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 66px; color: #a9c0bc; font-size: .67rem; text-transform: uppercase; letter-spacing: .13em; }
.breadcrumb a { color: #d8e8e4; text-decoration: none; }
.breadcrumb a:hover { color: var(--copper-light); }
.breadcrumb span:last-child { color: var(--copper-light); }
.detail-hero h1 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(3.5rem, 6.2vw, 7.15rem);
  font-weight: 500;
  line-height: .91;
  letter-spacing: -.068em;
}
.detail-hero h1 em { color: var(--copper-light); }
.detail-lead { max-width: 750px; margin: 34px 0 0; color: #c5d6d2; font-size: clamp(1rem, 1.55vw, 1.25rem); line-height: 1.75; }
.detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 39px; }
.detail-actions .button { margin-top: 0; }
.detail-text-link { color: inherit; font-size: .78rem; font-weight: 750; text-underline-offset: 5px; }
.detail-text-link span { margin-left: 7px; color: var(--copper-light); }
.detail-hero-aside { align-self: end; padding: 32px 0 4px 30px; border-left: 1px solid rgba(212,173,120,.42); }
.detail-index { display: block; margin-bottom: 28px; color: var(--copper-light); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.detail-hero-aside p { margin: 0; color: #b9ccc8; font-size: .87rem; line-height: 1.75; }
.detail-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.detail-tags span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); color: #e5efed; font-size: .61rem; text-transform: uppercase; letter-spacing: .1em; }

.detail-overview {
  display: grid;
  grid-template-columns: 130px minmax(320px, .85fr) minmax(420px, 1.15fr);
  gap: clamp(35px, 5vw, 72px);
  border-bottom: 1px solid var(--line);
}
.detail-overview-title h2 { font-size: clamp(3rem, 4.65vw, 5.15rem); }
.detail-overview-copy { padding-top: 44px; }
.detail-emphasis { margin: 0 0 42px; padding-left: 26px; border-left: 2px solid var(--copper); font-size: clamp(1.23rem, 1.85vw, 1.72rem); line-height: 1.5; letter-spacing: -.025em; }
.detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.detail-columns p { margin: 0; padding-top: 19px; border-top: 1px solid var(--line); color: var(--muted); font-size: .91rem; line-height: 1.75; }

.detail-topics { background: var(--river-deep); color: #fff; }
.detail-section-head { display: grid; grid-template-columns: 1fr minmax(270px, .45fr); column-gap: 70px; max-width: var(--container); margin: 0 auto 70px; }
.detail-section-head .eyebrow { grid-column: 1 / -1; }
.detail-section-head h2 { font-size: clamp(3.2rem, 5vw, 5.5rem); }
.detail-section-head h2 em { color: var(--copper-light); }
.detail-section-head > p:last-child { align-self: end; max-width: 430px; margin: 0 0 9px; color: #b8cbc7; line-height: 1.75; }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); max-width: var(--container); margin: 0 auto; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.topic-item { min-height: 305px; padding: 32px 30px 37px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.topic-item > span { display: block; margin-bottom: 58px; color: var(--copper-light); font-size: .65rem; letter-spacing: .14em; }
.topic-item h3 { margin: 0 0 16px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.42rem, 2vw, 2rem); font-weight: 500; letter-spacing: -.025em; }
.topic-item p { margin: 0; color: #aec4bf; font-size: .82rem; line-height: 1.75; }

.detail-journey { display: grid; grid-template-columns: minmax(340px, .84fr) minmax(510px, 1.16fr); gap: clamp(60px, 9vw, 130px); background: var(--sand); }
.detail-journey-title h2 { font-size: clamp(3.15rem, 4.7vw, 5.25rem); }
.detail-journey-list { margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.detail-journey-list li { display: grid; grid-template-columns: 55px 1fr; gap: 22px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.detail-journey-list li > span { padding-top: 4px; color: var(--copper); font-size: .66rem; letter-spacing: .1em; }
.detail-journey-list h3 { margin: 0 0 9px; font-size: 1.32rem; font-weight: 600; letter-spacing: -.025em; }
.detail-journey-list p { max-width: 600px; margin: 0; color: var(--muted); font-size: .87rem; line-height: 1.7; }
.detail-address { margin-top: 34px; color: var(--muted); font-size: 1rem; line-height: 1.9; }
.detail-address strong { color: var(--ink); font-size: 1.08rem; }
.detail-contact-note { max-width: 420px; margin: 26px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; line-height: 1.65; }
.detail-location-card { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 70px); border: 1px solid rgba(24,52,50,.2); background: rgba(255,255,255,.42); }
.detail-location-card > span { color: var(--copper); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.detail-location-card h3 { max-width: 510px; margin: 25px 0 18px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 3.4vw, 3.35rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.detail-location-card p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.75; }
.detail-location-card .button { align-self: flex-start; margin-top: 32px; }

.detail-faq { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); gap: clamp(60px, 9vw, 130px); }
.detail-faq-heading h2 { font-size: clamp(3.1rem, 4.7vw, 5.2rem); }
.detail-page .faq-list { border-top: 1px solid var(--ink); }
.detail-page .faq-list details { border-bottom: 1px solid var(--line); }
.detail-page .faq-list summary { display: grid; grid-template-columns: 1fr 29px; gap: 20px; align-items: center; min-height: 92px; padding: 20px 0; cursor: pointer; font-weight: 650; line-height: 1.4; list-style: none; }
.detail-page .faq-list summary::-webkit-details-marker { display: none; }
.detail-page .faq-list summary span { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid var(--line); color: var(--copper); transition: transform .25s; }
.detail-page .faq-list details[open] summary span { transform: rotate(45deg); }
.detail-page .faq-list details p { max-width: 720px; margin: -2px 52px 30px 0; color: var(--muted); font-size: .91rem; line-height: 1.75; }

.medical-signoff { display: grid; grid-template-columns: 105px minmax(360px, 1fr) auto; gap: 40px; align-items: center; padding-top: 72px; padding-bottom: 72px; background: var(--river); color: #fff; }
.signoff-mark { width: 84px; height: 84px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); color: var(--copper-light); font-family: "Playfair Display", Georgia, serif; font-size: 1.4rem; font-style: italic; }
.signoff-photo { position: relative; width: 96px; height: 120px; display: block; overflow: hidden; border: 1px solid rgba(255,255,255,.38); box-shadow: 0 18px 38px rgba(0,0,0,.2); }
.signoff-photo::after { content: ""; position: absolute; inset: 0; border: 5px solid rgba(255,255,255,.08); pointer-events: none; }
.signoff-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 20%; transition: transform .35s ease; }
.signoff-photo:hover img, .signoff-photo:focus-visible img { transform: scale(1.035); }
.medical-signoff > div:nth-child(2) > span { display: block; margin-bottom: 9px; color: var(--copper-light); font-size: .63rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.medical-signoff h2 { margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 3.2vw, 3.25rem); font-style: italic; letter-spacing: -.03em; }
.medical-signoff p { margin: 9px 0 0; color: #d5e3e0; font-size: .79rem; }
.medical-signoff small { display: block; max-width: 690px; margin-top: 13px; color: #a7c0bb; font-size: .68rem; line-height: 1.55; }
.medical-signoff .detail-text-link { max-width: 230px; color: #fff; }

.related-section { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); gap: clamp(60px, 9vw, 130px); background: var(--mint); }
.related-section h2 { font-size: clamp(3rem, 4.35vw, 4.85rem); }
.related-grid { border-top: 1px solid var(--ink); }
.related-grid a { display: grid; grid-template-columns: 45px 1fr auto; gap: 18px; align-items: center; min-height: 102px; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.related-grid a > span { color: var(--copper); font-size: .65rem; }
.related-grid strong { font-size: 1.05rem; }
.related-grid small { max-width: 210px; color: var(--muted); font-size: .7rem; line-height: 1.5; text-align: right; }
.related-grid a:hover strong, .related-grid a:focus-visible strong { color: var(--river); }
.detail-closing { min-height: 530px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 24px; background: var(--river-deep); color: #fff; text-align: center; }
.detail-closing p { margin: 0 0 25px; color: var(--copper-light); font-size: .66rem; font-weight: 750; text-transform: uppercase; letter-spacing: .17em; }
.detail-closing h2 { font-size: clamp(3.3rem, 6.5vw, 6.8rem); }
.detail-closing h2 em { color: var(--copper-light); }
.detail-closing .button { margin-top: 38px; }
.detail-footer { border-top: 1px solid rgba(255,255,255,.08); }

.profile-hero { min-height: 760px; display: grid; grid-template-columns: minmax(360px, .82fr) minmax(480px, 1.18fr); background: var(--river-deep); color: #fff; }
.profile-hero-image { position: relative; min-height: 760px; overflow: hidden; }
.profile-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,47,47,.55), transparent 55%); }
.profile-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; filter: saturate(.82) contrast(.97); }
.profile-hero-image > span { position: absolute; z-index: 1; left: 34px; bottom: 32px; color: #fff; font-size: .64rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.profile-hero-copy { align-self: center; padding: 80px max(var(--side), 7vw); }
.profile-hero-copy .breadcrumb { margin-bottom: 58px; }
.profile-hero h1 { margin: 0; font-size: clamp(4rem, 7.3vw, 8rem); font-weight: 500; line-height: .85; letter-spacing: -.07em; }
.profile-hero h1 em { color: var(--copper-light); }
.profile-credential { margin: 29px 0 0; color: var(--copper-light); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .17em; }
.profile-editorial { display: grid; grid-template-columns: minmax(350px, .85fr) minmax(510px, 1.15fr); gap: clamp(60px, 9vw, 130px); background: var(--sand); }
.profile-editorial-copy h2 { font-size: clamp(3rem, 4.7vw, 5.15rem); }
.profile-editorial-copy > p:last-child { max-width: 610px; margin: 30px 0 0; color: var(--muted); line-height: 1.75; }
.profile-editorial-list { margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.profile-editorial-list li { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.profile-editorial-list li > span { color: var(--copper); font-size: .65rem; }
.profile-editorial-list strong { font-size: 1.05rem; }
.profile-editorial-list p { margin: 7px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.profile-channels { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); gap: clamp(60px, 9vw, 130px); background: var(--river-deep); color: #fff; }
.profile-channels h2 { font-size: clamp(3rem, 4.45vw, 5rem); }
.profile-channels h2 em { color: var(--copper-light); }
.profile-channel-links { border-top: 1px solid rgba(255,255,255,.22); }
.profile-channel-links a { display: grid; grid-template-columns: 45px 1fr auto; gap: 18px; align-items: center; min-height: 102px; border-bottom: 1px solid rgba(255,255,255,.14); color: #fff; text-decoration: none; }
.profile-channel-links a > span { color: var(--copper-light); font-size: .64rem; }
.profile-channel-links strong { font-size: 1.05rem; }
.profile-channel-links small { color: #a9c1bc; font-size: .72rem; }
.profile-channel-links a:hover strong { color: var(--copper-light); }

@media (max-width: 1050px) {
  .detail-overview { grid-template-columns: 90px 1fr 1.08fr; gap: 34px; }
  .detail-hero { grid-template-columns: minmax(0, 1.25fr) minmax(250px, .55fr); gap: 55px; }
  .medical-signoff { grid-template-columns: 90px 1fr; }
  .medical-signoff > a { grid-column: 2; }
}

@media (max-width: 900px) {
  .detail-hero { min-height: auto; grid-template-columns: 1fr; align-items: start; padding-top: 90px; }
  .detail-hero-aside { max-width: 650px; padding-left: 25px; }
  .detail-overview, .detail-journey, .detail-faq, .related-section, .profile-editorial, .profile-channels { grid-template-columns: 1fr; }
  .detail-overview .section-label { width: 100%; }
  .detail-overview-copy { padding-top: 5px; }
  .detail-section-head { grid-template-columns: 1fr; }
  .detail-section-head .eyebrow { grid-column: auto; }
  .detail-section-head > p:last-child { margin-top: 28px; }
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .related-grid, .profile-channel-links { width: 100%; }
  .profile-hero { grid-template-columns: .85fr 1.15fr; }
  .profile-hero-copy { padding: 64px 38px; }
  .profile-hero h1 { font-size: clamp(3.8rem, 9vw, 6rem); }
}

@media (max-width: 640px) {
  .medical-links { align-items: flex-start; flex-direction: column; }
  .detail-hero { padding: 64px 18px 76px; }
  .breadcrumb { margin-bottom: 48px; }
  .detail-hero h1 { font-size: clamp(3.3rem, 15vw, 4.7rem); }
  .detail-lead { margin-top: 27px; }
  .detail-actions { align-items: flex-start; flex-direction: column; gap: 21px; }
  .detail-overview, .detail-topics, .detail-journey, .detail-faq, .related-section, .profile-editorial, .profile-channels { padding-left: 18px; padding-right: 18px; }
  .detail-columns { grid-template-columns: 1fr; gap: 15px; }
  .detail-section-head { margin-bottom: 48px; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic-item { min-height: auto; padding: 28px 25px 34px; }
  .topic-item > span { margin-bottom: 38px; }
  .medical-signoff { grid-template-columns: 1fr; gap: 25px; padding: 58px 18px; }
  .medical-signoff > a { grid-column: auto; }
  .related-grid a, .profile-channel-links a { grid-template-columns: 34px 1fr; min-height: 94px; }
  .related-grid small, .profile-channel-links small { grid-column: 2; margin-top: -12px; text-align: left; }
  .detail-closing { min-height: 440px; padding-left: 18px; padding-right: 18px; }
  .profile-hero { grid-template-columns: 1fr; }
  .profile-hero-image { min-height: 520px; }
  .profile-hero-copy { padding: 68px 18px 78px; }
  .profile-hero h1 { font-size: clamp(4rem, 19vw, 5.3rem); }
  .detail-location-card { padding: 32px 24px; }
}

/* Acervo temático — condições, procedimentos e conteúdo educativo */
.treatment-list strong a { color: inherit; text-decoration-color: rgba(182,131,67,.45); text-underline-offset: 5px; }
.treatment-list strong a:hover, .treatment-list strong a:focus-visible { color: var(--river); text-decoration-color: var(--copper); }
.treatment-hub-link {
  grid-column: 3;
  display: grid;
  grid-template-columns: 145px 1fr 30px;
  gap: 22px;
  align-items: center;
  margin-top: 34px;
  padding: 24px 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}
.treatment-hub-link > span { color: var(--copper); font-size: .64rem; font-weight: 750; text-transform: uppercase; letter-spacing: .14em; }
.treatment-hub-link strong { font-family: "Playfair Display", Georgia, serif; font-size: 1.25rem; font-weight: 500; }
.treatment-hub-link b { color: var(--copper); font-size: 1.3rem; transition: transform .2s ease; }
.treatment-hub-link:hover b { transform: translateX(5px); }

.topic-hub-hero {
  min-height: 700px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .5fr);
  gap: clamp(70px, 10vw, 160px);
  align-items: end;
  padding: clamp(90px, 11vw, 150px) var(--side) clamp(82px, 9vw, 125px);
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(24,111,106,.27), transparent 30rem),
    radial-gradient(circle at 88% 90%, rgba(182,131,67,.13), transparent 26rem),
    var(--river-deep);
  color: #fff;
}
.topic-hub-copy { max-width: 900px; }
.topic-hub-hero h1 { margin: 0; font-size: clamp(4.1rem, 8vw, 9rem); font-weight: 500; line-height: .84; letter-spacing: -.075em; }
.topic-hub-hero h1 em { color: var(--copper-light); }
.topic-hub-aside { padding: 32px 0 4px 30px; border-left: 1px solid rgba(212,173,120,.44); }
.topic-hub-aside > span { color: var(--copper-light); font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.topic-hub-aside p { margin: 22px 0; color: #b7cbc7; font-size: .86rem; line-height: 1.75; }
.topic-hub-aside a { color: #fff; font-size: .76rem; font-weight: 750; text-underline-offset: 5px; }
.topic-hub-aside a b { margin-left: 8px; color: var(--copper-light); }

.topic-catalog { background: var(--sand); }
.hub-doctor-lead { position: relative; z-index: 2; width: min(var(--container), calc(100% - 48px)); min-height: 360px; display: grid; grid-template-columns: 280px minmax(420px,1fr) auto; gap: clamp(38px,6vw,90px); align-items: center; margin: -66px auto 0; padding: 32px clamp(34px,5vw,72px) 32px 32px; background: #fff; box-shadow: 0 28px 72px rgba(13,47,45,.16); }
.hub-doctor-photo { height: 296px; display: block; overflow: hidden; }
.hub-doctor-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 20%; transition: transform .4s ease; }
.hub-doctor-photo:hover img, .hub-doctor-photo:focus-visible img { transform: scale(1.025); }
.hub-doctor-lead h2 { margin: 14px 0 18px; color: var(--river); font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.6rem,4.4vw,4.9rem); font-weight: 500; line-height: .9; letter-spacing: -.055em; }
.hub-doctor-lead h2 em { color: var(--copper-dark); }
.hub-doctor-lead > div > p:not(.eyebrow) { max-width: 610px; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.75; }
.hub-doctor-lead small { display: block; margin-top: 17px; color: var(--copper-dark); font-size: .62rem; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; }
.hub-doctor-lead > .detail-text-link { max-width: 210px; }
.topic-catalog-dark { background: var(--river-deep); color: #fff; }
.catalog-heading { display: grid; grid-template-columns: minmax(350px, 1.1fr) minmax(260px, .45fr); gap: 60px; align-items: end; max-width: var(--container); margin: 0 auto 66px; }
.catalog-heading > span { grid-column: 1 / -1; color: var(--copper); font-size: .67rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.catalog-heading h2 { font-size: clamp(3.15rem, 5vw, 5.55rem); }
.catalog-heading h2 em { color: var(--river); }
.topic-catalog-dark .catalog-heading h2 em { color: var(--copper-light); }
.catalog-heading p { max-width: 430px; margin: 0 0 8px; color: var(--muted); line-height: 1.75; }
.topic-catalog-dark .catalog-heading p { color: #adc3be; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); max-width: var(--container); margin: 0 auto; border-top: 1px solid rgba(24,52,50,.2); border-left: 1px solid rgba(24,52,50,.2); }
.topic-catalog-dark .catalog-grid { border-color: rgba(255,255,255,.16); }
.catalog-card { min-height: 340px; display: flex; flex-direction: column; padding: 31px 30px; border-right: 1px solid rgba(24,52,50,.2); border-bottom: 1px solid rgba(24,52,50,.2); color: inherit; text-decoration: none; transition: background .22s ease; }
.catalog-card-visual { min-height: 490px; overflow: hidden; }
.catalog-card-visual > picture { width: calc(100% + 60px); height: 190px; display: block; margin: -31px -30px 26px; overflow: hidden; }
.catalog-card-visual > picture > img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.catalog-card-visual:hover > picture > img, .catalog-card-visual:focus-visible > picture > img { transform: scale(1.025); }
.catalog-card.catalog-card-visual > span { margin-bottom: 28px; }
.topic-catalog-dark .catalog-card { border-color: rgba(255,255,255,.16); }
.catalog-card:hover, .catalog-card:focus-visible { background: rgba(255,255,255,.44); }
.topic-catalog-dark .catalog-card:hover, .topic-catalog-dark .catalog-card:focus-visible { background: rgba(255,255,255,.045); }
.catalog-card > span { margin-bottom: 64px; color: var(--copper); font-size: .65rem; letter-spacing: .13em; }
.topic-catalog-dark .catalog-card > span { color: var(--copper-light); }
.catalog-card h3 { margin: 0 0 15px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.55rem, 2.3vw, 2.25rem); font-weight: 500; line-height: 1.05; letter-spacing: -.035em; }
.catalog-card p { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.7; }
.topic-catalog-dark .catalog-card p { color: #adc2bd; }
.catalog-card b { margin-top: auto; padding-top: 24px; color: var(--river); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.topic-catalog-dark .catalog-card b { color: var(--copper-light); }
.catalog-grid-compact { grid-template-columns: repeat(3, 1fr); }

.topic-article-hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .48fr);
  gap: clamp(65px, 9vw, 145px);
  align-items: end;
  padding: clamp(82px, 9vw, 125px) var(--side) clamp(76px, 8vw, 112px);
  background:
    radial-gradient(circle at 12% 24%, rgba(26,108,104,.27), transparent 29rem),
    var(--river-deep);
  color: #fff;
}
.topic-article-hero-copy { max-width: 920px; }
.topic-article-hero h1 { margin: 0; font-size: clamp(3.65rem, 6.4vw, 7.3rem); font-weight: 500; line-height: .89; letter-spacing: -.07em; }
.topic-article-hero h1 em { color: var(--copper-light); }
.topic-feature-image { position: relative; z-index: 2; width: min(var(--container), calc(100% - 48px)); margin: -72px auto 0; overflow: visible; background: #fff; box-shadow: 0 26px 70px rgba(13,47,45,.16); }
.topic-feature-image > picture { width: 100%; aspect-ratio: 3 / 2; display: block; overflow: hidden; }
.topic-feature-image > picture > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.topic-feature-image figcaption { min-height: 94px; display: grid; grid-template-columns: minmax(170px,.45fr) minmax(320px,1fr) auto; gap: 30px; align-items: center; padding: 22px 28px; border: 1px solid rgba(24,52,50,.13); border-top: 0; }
.topic-feature-image figcaption > span { color: var(--river); font-family: "Playfair Display", Georgia, serif; font-size: 1.12rem; font-style: italic; }
.topic-feature-image figcaption p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.topic-feature-image figcaption > small { color: var(--copper-dark); font-size: .58rem; font-weight: 750; text-transform: uppercase; letter-spacing: .14em; white-space: nowrap; }
.topic-article-note { padding: 29px 0 2px 28px; border-left: 1px solid rgba(212,173,120,.44); }
.topic-article-note > span { color: var(--copper-light); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.topic-article-note p { margin: 20px 0 0; color: #b9ccc8; font-size: .86rem; line-height: 1.75; }

.topic-article-intro { display: grid; grid-template-columns: 130px minmax(330px, .85fr) minmax(420px, 1.15fr); gap: clamp(36px, 5vw, 72px); border-bottom: 1px solid var(--line); }
.topic-article-title h2 { font-size: clamp(3rem, 4.65vw, 5.2rem); }
.topic-article-copy { padding-top: 42px; }
.topic-article-copy > p:last-child { margin: 0; color: var(--muted); line-height: 1.78; }

.topic-point-section { background: var(--river-deep); color: #fff; }
.topic-point-heading { max-width: var(--container); margin: 0 auto 62px; }
.topic-point-heading h2 { font-size: clamp(3.2rem, 5vw, 5.5rem); }
.topic-point-heading h2 em { color: var(--copper-light); }
.topic-point-grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: var(--container); margin: 0 auto; border-top: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
.topic-point-grid article { min-height: 315px; padding: 31px 28px 35px; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.topic-point-grid article > span { display: block; margin-bottom: 61px; color: var(--copper-light); font-size: .64rem; letter-spacing: .13em; }
.topic-point-grid h3 { margin: 0 0 15px; font-family: "Playfair Display", Georgia, serif; font-size: 1.65rem; font-weight: 500; letter-spacing: -.03em; }
.topic-point-grid p { margin: 0; color: #adc3be; font-size: .81rem; line-height: 1.72; }

.topic-source-note { display: grid; grid-template-columns: 170px 1fr auto; gap: 34px; align-items: center; padding: 34px var(--side); background: var(--copper-light); color: var(--river-deep); }
.topic-source-note > span { font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.topic-source-note p { max-width: 730px; margin: 0; font-size: .82rem; line-height: 1.65; }
.topic-source-note a { font-size: .72rem; font-weight: 750; text-underline-offset: 4px; }

.topic-faq { display: grid; grid-template-columns: minmax(310px, .72fr) minmax(520px, 1.28fr); gap: clamp(60px, 9vw, 130px); background: var(--sand); }
.topic-faq-heading h2 { font-size: clamp(3.1rem, 4.7vw, 5.2rem); }
.topic-related { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(520px, 1.3fr); gap: clamp(60px, 9vw, 130px); background: var(--mint); }
.topic-related h2 { font-size: clamp(3rem, 4.4vw, 4.9rem); }
.topic-related > div { border-top: 1px solid var(--ink); }
.topic-related > div a { min-height: 83px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); text-decoration: none; }
.topic-related > div strong { font-size: 1.03rem; }
.topic-related > div span { color: var(--copper); font-size: 1.1rem; transition: transform .2s ease; }
.topic-related > div a:hover strong { color: var(--river); }
.topic-related > div a:hover span { transform: translateX(5px); }

@media (max-width: 1050px) {
  .topic-article-intro { grid-template-columns: 90px 1fr 1.05fr; gap: 34px; }
  .topic-point-grid article { padding-inline: 23px; }
  .topic-source-note { grid-template-columns: 140px 1fr; }
  .topic-source-note a { grid-column: 2; }
}

@media (max-width: 900px) {
  .treatment-hub-link { grid-column: 2; }
  .topic-hub-hero, .topic-article-hero { grid-template-columns: 1fr; min-height: auto; }
  .topic-feature-image { margin-top: -34px; }
  .topic-feature-image figcaption { grid-template-columns: 1fr auto; }
  .topic-feature-image figcaption p { grid-column: 1 / -1; grid-row: 2; }
  .topic-hub-aside, .topic-article-note { max-width: 650px; }
  .catalog-heading { grid-template-columns: 1fr; }
  .catalog-heading > span { grid-column: auto; }
  .catalog-heading p { margin-top: -25px; }
  .catalog-grid { grid-template-columns: 1fr 1fr; }
  .topic-article-intro, .topic-faq, .topic-related { grid-template-columns: 1fr; }
  .topic-article-copy { padding-top: 0; }
  .topic-point-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .treatment-hub-link { grid-column: 1; grid-template-columns: 1fr 24px; padding: 22px 0; }
  .treatment-hub-link > span { grid-column: 1 / -1; }
  .topic-hub-hero, .topic-article-hero { padding: 64px 18px 75px; }
  .hub-doctor-lead { width: 100%; grid-template-columns: 1fr; gap: 25px; margin-top: 0; padding: 18px 18px 38px; box-shadow: none; }
  .hub-doctor-photo { height: min(118vw, 470px); }
  .hub-doctor-lead > .detail-text-link { grid-column: auto; }
  .topic-feature-image { width: 100%; margin-top: 0; box-shadow: none; }
  .topic-feature-image figcaption { grid-template-columns: 1fr; gap: 9px; padding: 20px 18px 24px; }
  .topic-feature-image figcaption p { grid-column: auto; grid-row: auto; }
  .topic-feature-image figcaption > small { margin-top: 4px; }
  .topic-hub-hero h1 { font-size: clamp(4.15rem, 20vw, 5.9rem); }
  .topic-article-hero h1 { font-size: clamp(3.35rem, 15vw, 4.75rem); }
  .topic-catalog, .topic-article-intro, .topic-point-section, .topic-faq, .topic-related { padding-left: 18px; padding-right: 18px; }
  .catalog-heading p { margin-top: 0; }
  .catalog-grid, .topic-point-grid { grid-template-columns: 1fr; }
  .catalog-card { min-height: 300px; padding: 27px 24px; }
  .catalog-card-visual { min-height: 455px; }
  .catalog-card-visual > picture { width: calc(100% + 48px); margin: -27px -24px 24px; }
  .catalog-card > span { margin-bottom: 50px; }
  .topic-point-grid article { min-height: auto; padding: 27px 24px 33px; }
  .topic-point-grid article > span { margin-bottom: 42px; }
  .topic-source-note { grid-template-columns: 1fr; gap: 16px; padding: 30px 18px; }
  .topic-source-note a { grid-column: auto; }
}

/* Rede local de parceiros */
.network-preview {
  display: grid;
  grid-template-columns: minmax(340px, .85fr) minmax(520px, 1.15fr);
  gap: clamp(60px, 9vw, 130px);
  align-items: center;
  background: var(--mint);
}
.network-preview h2 { font-size: clamp(3rem, 4.8vw, 5.25rem); }
.network-preview-copy > p:last-of-type { max-width: 650px; margin: 30px 0 0; color: var(--muted); line-height: 1.75; }
.network-preview-link {
  min-height: 220px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 25px;
  align-items: end;
  padding: 38px;
  border: 1px solid rgba(24,52,50,.2);
  background: rgba(255,255,255,.7);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.network-preview-link:hover, .network-preview-link:focus-visible { transform: translateY(-4px); background: #fff; box-shadow: 0 22px 50px rgba(24,52,50,.09); }
.network-preview-link small { grid-column: 1 / -1; align-self: start; color: var(--copper-dark); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .14em; }
.network-preview-link strong { max-width: 500px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 3.1vw, 3.2rem); font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.network-preview-link b { color: var(--copper); font-size: 1.6rem; transition: transform .2s ease; }
.network-preview-link:hover b { transform: translateX(6px); }

.partner-hero-logo {
  min-height: 270px;
  display: grid;
  place-items: center;
  margin: 0 0 26px;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.95);
}
.partner-hero-logo img { width: min(100%, 250px); max-height: 170px; object-fit: contain; }
.partner-hero-logo img.partner-logo-tall { max-width: 145px; max-height: 205px; }
.partner-hero-logo img.partner-logo-wide { max-width: 285px; }

.partner-catalog { background: var(--sand); }
.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: var(--container);
  margin: 0 auto;
  border-top: 1px solid rgba(24,52,50,.2);
  border-left: 1px solid rgba(24,52,50,.2);
}
.partner-card {
  min-height: 455px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border-right: 1px solid rgba(24,52,50,.2);
  border-bottom: 1px solid rgba(24,52,50,.2);
  background: rgba(255,255,255,.38);
}
.partner-logo-stage { height: 150px; display: grid; place-items: center; margin-bottom: 32px; padding: 20px; background: #fff; }
.partner-logo-stage img { width: min(100%, 190px); max-height: 105px; object-fit: contain; }
.partner-logo-stage img.partner-logo-tall { width: auto; max-height: 118px; }
.partner-logo-stage img.partner-logo-wide { width: min(100%, 235px); }
.partner-card > span { color: var(--copper-dark); font-size: .64rem; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; }
.partner-card h3 { margin: 12px 0 13px; font-family: "Playfair Display", Georgia, serif; font-size: 1.8rem; font-weight: 500; letter-spacing: -.035em; }
.partner-card p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.7; }
.partner-card a { width: fit-content; margin-top: auto; padding-top: 25px; color: var(--river); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; text-underline-offset: 5px; }
.partner-card-featured { grid-column: span 2; }

.partner-principles { background: var(--river-deep); color: #fff; }
.partner-principles .topic-point-grid p { color: #adc3be; }
.partner-facts-section { background: var(--sand); }
.partner-facts-grid, .partner-unit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: var(--container);
  margin: 0 auto;
  border-top: 1px solid rgba(24,52,50,.2);
  border-left: 1px solid rgba(24,52,50,.2);
}
.partner-fact, .partner-unit {
  min-height: 190px;
  padding: 31px 30px;
  border-right: 1px solid rgba(24,52,50,.2);
  border-bottom: 1px solid rgba(24,52,50,.2);
  background: rgba(255,255,255,.42);
}
.partner-fact > span, .partner-unit > span { display: block; margin-bottom: 18px; color: var(--copper-dark); font-size: .64rem; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; }
.partner-fact h3, .partner-unit h3 { margin: 0 0 12px; font-family: "Playfair Display", Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.partner-fact p, .partner-fact address, .partner-unit p { margin: 0; color: var(--muted); font-style: normal; font-size: .82rem; line-height: 1.72; }
.partner-fact a, .partner-unit a { color: var(--river); font-weight: 700; text-underline-offset: 4px; }
.partner-unit { min-height: 270px; }
.partner-unit-grid .partner-unit:first-child:last-child { grid-column: 1 / -1; }
.partner-notice { max-width: var(--container); margin: 32px auto 0; padding: 25px 28px; border-left: 3px solid var(--copper); background: var(--mint); color: var(--muted); font-size: .82rem; line-height: 1.7; }
.partner-notice strong { color: var(--ink); }
.partner-source { padding: 31px var(--side); background: var(--copper-light); color: var(--river-deep); }
.partner-source > div { max-width: var(--container); display: grid; grid-template-columns: 165px 1fr; gap: 34px; margin: 0 auto; }
.partner-source strong { font-size: .65rem; text-transform: uppercase; letter-spacing: .14em; }
.partner-source p { margin: 0; font-size: .8rem; line-height: 1.7; }
.partner-source a { color: inherit; font-weight: 700; text-underline-offset: 4px; }
.partner-doctor-link { display: inline-block; margin-top: 18px; }

@media (max-width: 900px) {
  .network-preview { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: 1fr 1fr; }
  .partner-card-featured { grid-column: auto; }
}

@media (max-width: 640px) {
  .network-preview, .partner-catalog, .partner-facts-section { padding-left: 18px; padding-right: 18px; }
  .network-preview-link { min-height: 205px; padding: 28px 24px; }
  .partner-grid, .partner-facts-grid, .partner-unit-grid { grid-template-columns: 1fr; }
  .partner-card { min-height: 410px; padding: 24px; }
  .partner-fact, .partner-unit { min-height: auto; padding: 26px 24px; }
  .partner-source { padding: 28px 18px; }
  .partner-source > div { grid-template-columns: 1fr; gap: 14px; }
}

/* Ícones editoriais dos cuidados — desenhados em CSS para não adicionar downloads. */
.service-glyph {
  position: relative;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: block;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--copper);
  box-shadow: inset 0 0 0 5px rgba(212,173,120,.06);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.service-glyph i {
  position: absolute;
  display: block;
  box-sizing: border-box;
}
.care-card .service-glyph { margin-bottom: 15px; color: var(--copper-light); }
.care-card .service-glyph + .card-number {
  width: auto;
  height: auto;
  display: block;
  margin-bottom: 42px;
  border: 0;
  color: rgba(255,255,255,.62);
}
.catalog-card > .service-glyph { margin-bottom: 14px; }
.catalog-card > .catalog-number { margin-bottom: 30px; }
.catalog-card.catalog-card-visual > .service-glyph { margin-bottom: 12px; }
.catalog-card.catalog-card-visual > .catalog-number { margin-bottom: 24px; }
.topic-catalog-dark .service-glyph { color: var(--copper-light); }
.care-card:hover .service-glyph,
.catalog-card:hover .service-glyph,
.catalog-card:focus-visible .service-glyph {
  background: rgba(212,173,120,.11);
  transform: translateY(-2px);
}

.service-glyph--clinical i:nth-child(1) { width: 24px; height: 3px; left: 14px; top: 25px; border-radius: 4px; background: currentColor; }
.service-glyph--clinical i:nth-child(2) { width: 3px; height: 24px; left: 25px; top: 14px; border-radius: 4px; background: currentColor; }
.service-glyph--clinical i:nth-child(3) { width: 6px; height: 6px; right: 8px; top: 8px; border: 1px solid currentColor; border-radius: 50%; }

.service-glyph--face i:nth-child(1) { width: 24px; height: 31px; left: 14px; top: 10px; border: 1.5px solid currentColor; border-radius: 48% 48% 50% 50%; }
.service-glyph--face i:nth-child(2) { width: 3px; height: 3px; left: 20px; top: 21px; border-radius: 50%; background: currentColor; box-shadow: 10px 0 0 currentColor; }
.service-glyph--face i:nth-child(3) { width: 12px; height: 7px; left: 20px; top: 28px; border-bottom: 1.5px solid currentColor; border-radius: 0 0 50% 50%; }

.service-glyph--surgery i:nth-child(1) { width: 29px; height: 3px; left: 12px; top: 25px; border-radius: 4px 0 0 4px; background: currentColor; transform: rotate(-38deg); }
.service-glyph--surgery i:nth-child(2) { width: 9px; height: 9px; left: 10px; top: 31px; border: 1.5px solid currentColor; border-radius: 50%; }
.service-glyph--surgery i:nth-child(3) { width: 14px; height: 1px; left: 29px; top: 17px; background: currentColor; transform: rotate(-38deg); }

.service-glyph--hair i:nth-child(1) { width: 28px; height: 18px; left: 12px; top: 12px; border-top: 1.5px solid currentColor; border-radius: 50%; }
.service-glyph--hair i:nth-child(2) { width: 1.5px; height: 25px; left: 20px; top: 20px; border-radius: 2px; background: currentColor; transform: rotate(-9deg); }
.service-glyph--hair i:nth-child(3) { width: 1.5px; height: 25px; left: 32px; top: 20px; border-radius: 2px; background: currentColor; transform: rotate(9deg); }

.service-glyph--acne i:nth-child(1) { width: 7px; height: 7px; left: 14px; top: 15px; border: 1.5px solid currentColor; border-radius: 50%; }
.service-glyph--acne i:nth-child(2) { width: 5px; height: 5px; left: 31px; top: 14px; border-radius: 50%; background: currentColor; }
.service-glyph--acne i:nth-child(3) { width: 9px; height: 9px; left: 23px; top: 29px; border: 1.5px solid currentColor; border-radius: 50%; box-shadow: 12px 5px 0 -3px currentColor; }

.service-glyph--pigment i:nth-child(1) { width: 22px; height: 22px; left: 11px; top: 15px; border: 1.5px solid currentColor; border-radius: 50%; }
.service-glyph--pigment i:nth-child(2) { width: 20px; height: 20px; left: 23px; top: 13px; border: 1.5px solid currentColor; border-radius: 50%; }
.service-glyph--pigment i:nth-child(3) { width: 5px; height: 5px; left: 29px; top: 33px; border-radius: 50%; background: currentColor; }

.service-glyph--sensitive i:nth-child(1),
.service-glyph--sensitive i:nth-child(2),
.service-glyph--sensitive i:nth-child(3) { width: 27px; height: 9px; left: 13px; border-top: 1.5px solid currentColor; border-radius: 50%; transform: rotate(-5deg); }
.service-glyph--sensitive i:nth-child(1) { top: 15px; }
.service-glyph--sensitive i:nth-child(2) { top: 23px; left: 15px; }
.service-glyph--sensitive i:nth-child(3) { top: 31px; }

.service-glyph--nail i:nth-child(1) { width: 23px; height: 30px; left: 15px; top: 11px; border: 1.5px solid currentColor; border-radius: 12px 12px 8px 8px; }
.service-glyph--nail i:nth-child(2) { width: 15px; height: 8px; left: 19px; top: 29px; border-top: 1px solid currentColor; border-radius: 50%; }
.service-glyph--nail i:nth-child(3) { width: 3px; height: 3px; left: 25px; top: 18px; border-radius: 50%; background: currentColor; }

.service-glyph--injectable i:nth-child(1) { width: 28px; height: 9px; left: 12px; top: 22px; border: 1.5px solid currentColor; border-radius: 2px; transform: rotate(-35deg); }
.service-glyph--injectable i:nth-child(2) { width: 12px; height: 1.5px; left: 7px; top: 34px; background: currentColor; transform: rotate(-35deg); transform-origin: right center; }
.service-glyph--injectable i:nth-child(3) { width: 11px; height: 4px; left: 34px; top: 14px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-35deg); }

.service-glyph--layers i:nth-child(1),
.service-glyph--layers i:nth-child(2),
.service-glyph--layers i:nth-child(3) { width: 28px; height: 10px; left: 12px; border-bottom: 1.5px solid currentColor; border-radius: 50%; transform: skewX(-14deg); }
.service-glyph--layers i:nth-child(1) { top: 12px; }
.service-glyph--layers i:nth-child(2) { top: 21px; left: 14px; }
.service-glyph--layers i:nth-child(3) { top: 30px; }

.service-glyph--laser i:nth-child(1) { width: 7px; height: 7px; left: 23px; top: 23px; border-radius: 50%; background: currentColor; }
.service-glyph--laser i:nth-child(2) { width: 20px; height: 20px; left: 16px; top: 16px; border: 1px solid currentColor; border-radius: 50%; }
.service-glyph--laser i:nth-child(3) { width: 34px; height: 1px; left: 9px; top: 26px; background: currentColor; }
.service-glyph--laser::before,
.service-glyph--laser::after { content: ""; position: absolute; width: 1px; height: 34px; left: 26px; top: 9px; background: currentColor; }
.service-glyph--laser::after { transform: rotate(45deg); }

.service-glyph--clinic i:nth-child(1) { width: 27px; height: 29px; left: 13px; top: 12px; border: 1.5px solid currentColor; border-radius: 2px; }
.service-glyph--clinic i:nth-child(2) { width: 8px; height: 12px; left: 23px; top: 29px; border: 1px solid currentColor; border-bottom: 0; }
.service-glyph--clinic i:nth-child(3) { width: 4px; height: 4px; left: 19px; top: 18px; border: 1px solid currentColor; box-shadow: 10px 0 0 -1px transparent, 10px 0 0 0 currentColor; }

@media (max-width: 640px) {
  .care-card .service-glyph + .card-number { margin-bottom: 31px; }
  .catalog-card > .catalog-number,
  .catalog-card.catalog-card-visual > .catalog-number { margin-bottom: 24px; }
}

/* Próximo passo visível nas páginas de temas. */
.patient-next-step {
  width: min(calc(100% - 48px), var(--container));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 54px;
  box-sizing: border-box;
  margin: 72px auto;
  padding: 62px 64px;
  border-left: 4px solid var(--copper-light);
  background: var(--river-deep);
  color: #fff;
}
.patient-next-step h2 {
  max-width: 760px;
  margin: 14px 0 19px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.3rem, 5vw, 4.8rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}
.patient-next-step h2 em { color: var(--copper-light); font-weight: 400; }
.patient-next-step > div > p:last-child { max-width: 650px; margin: 0; color: #b7ccc7; line-height: 1.75; }
.patient-next-step .button { white-space: nowrap; }

@media (max-width: 760px) {
  .patient-next-step {
    width: calc(100% - 36px);
    grid-template-columns: 1fr;
    align-items: start;
    gap: 32px;
    margin: 48px auto;
    padding: 42px 26px;
  }
  .patient-next-step .button { width: 100%; box-sizing: border-box; text-align: center; }
}

/* Conversão regional e atendimento no Norte Capixaba. */
.regional-reach {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: clamp(55px, 9vw, 130px);
  align-items: center;
  background: var(--river-deep);
  color: #fff;
}
.regional-reach h2 {
  max-width: 800px;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
}
.regional-reach h2 em { color: var(--copper-light); }
.regional-reach-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: 30px 0 31px;
  color: #bdd0cc;
  line-height: 1.78;
}
.regional-cities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.16);
  border-left: 1px solid rgba(255,255,255,.16);
}
.regional-cities span {
  min-height: 76px;
  display: flex;
  align-items: center;
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: #e6efed;
  font-size: .76rem;
  letter-spacing: .025em;
}
.contact-status a { color: inherit; text-decoration: none; }
.footer-contact-link { display: inline-block; margin-top: 13px; color: var(--copper-light); font-size: .8rem; font-weight: 750; text-underline-offset: 5px; }

.conversion-dock {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  max-width: calc(100vw - 44px);
  filter: drop-shadow(0 17px 34px rgba(3,28,28,.23));
}
.conversion-dock [hidden] { display: none !important; }
.conversion-dock__near,
.conversion-dock__social-row {
  display: flex;
  align-items: center;
  gap: 9px;
}
.conversion-dock__button {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px 8px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.conversion-dock__button:hover,
.conversion-dock__button:focus-visible,
.conversion-dock__social:hover,
.conversion-dock__social:focus-visible { transform: translateY(-3px); }
.conversion-dock__button--whatsapp { background: #167c4d; }
.conversion-dock__badge {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(4,47,33,.08);
}
.conversion-dock__badge img,
.conversion-dock__social img { display: block; }
.conversion-dock__button > span:last-child { display: grid; gap: 3px; }
.conversion-dock__button small { color: rgba(255,255,255,.72); font-size: .58rem; text-transform: uppercase; letter-spacing: .13em; }
.conversion-dock__button strong { font-size: .78rem; letter-spacing: -.01em; }
.conversion-dock__social-row {
  min-height: 58px;
  padding: 8px 9px 8px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: var(--river-deep);
  color: #fff;
}
.conversion-dock__social-row-label { margin-right: 3px; font-size: .7rem; font-weight: 700; }
.conversion-dock__social {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 4px 12px rgba(0,0,0,.13);
  text-decoration: none;
  transition: transform .2s ease;
}
.conversion-dock__social--youtube { background: #fff; }

@media (max-width: 900px) {
  .regional-reach { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .regional-cities { grid-template-columns: 1fr; }
  .conversion-dock {
    right: 18px;
    bottom: max(16px, env(safe-area-inset-bottom));
    max-width: calc(100vw - 36px);
  }
  .conversion-dock__button { min-height: 55px; }
  .conversion-dock__social-row { min-height: 52px; }
  .conversion-dock__social-row-label { display: none; }
}
