/* Home of the "Curvatura em cor" skin (owner-approved canvas, ported 2026-10-01). Markup: lib/home-curvatura.php.
   Loaded on the front page only, after site-curvatura.css, whose tokens, pills, wrap, section heads, rows and line
   bundles it reuses (see 03-notes/curvatura-port-20261001/foundation.md). The canvas draws 1440 px and the first
   phone screens; everything between and beyond is designed here with the same hand.
   Breakpoints: 1280 (name set on the curve), 1024 (hero composition, clinic strip to the screen edge), 1180 (four
   pills a row), 1100 (six covers a row), 900 (two columns), 640 (phone). */

/* ---------- ground rules for the home main (style.css sets 1.95 line height, 24px paragraph margins, 300 weight) */
.mph-site .mpc-home { display: block; background: var(--mpc-ground); color: var(--mpc-ink); font-size: 17px; font-weight: 400; line-height: 1.5; letter-spacing: 0; }
.mpc-home :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, figcaption, blockquote) { margin: 0; padding: 0; }
.mpc-home :where(ul, ol) { list-style: none; }
.mpc-home :where(img) { display: block; max-width: 100%; height: auto; }
.mpc-home :where(section) { position: relative; }
.mpc-home .mpc-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mpc-home .mpc-kicker { font-size: 15px; }
/* photos: square, no shadow, cropped by their own box */
.mpc-home .mpc-photo { display: block; overflow: hidden; background: #E3E5EC; }
.mpc-home .mpc-photo img { width: 100%; height: 100%; object-fit: cover; }
/* a photo's picture element (WebP first, the JPEG img as fallback: marcuspai_cv_home_img()) takes no box, so the
   img is laid out by its figure exactly as a bare img was. The hero's picture keeps its own box (see the hero). */
.mpc-home picture { display: contents; }
html body:is(#mpc, .mpc-site) :is(.mpc-step-num, .mpc-levar-num) { font-family: var(--mpc-display) !important; }
/* the shared layer sets every caption to 15px, weight 300, muted, with five .mph-site and !important; the home's
   captions are the canvas's (event names in ink 600, sources in muted 400) */
html body:is(#mpc, .mpc-site) .mpc-home figcaption { font-weight: 400 !important; }
html body:is(#mpc, .mpc-site) .mpc-home :is(.mpc-aulas-main, .mpc-press-list) figcaption { color: var(--mpc-ink) !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1.4 !important; }
html body:is(#mpc, .mpc-site) .mpc-home .mpc-press-list figcaption { font-size: 16px !important; }

/* ---------- hero */
.mpc-home .mpc-hero { overflow: hidden; }
.mpc-home .mpc-hero-in { position: relative; }
.mpc-home .mpc-hero-copy { position: relative; z-index: 1; }
html body:is(#mpc, .mpc-site) .mpc-hero-title { line-height: 1.06 !important; text-wrap: initial; }
.mpc-home .mpc-hero-lead { color: var(--mpc-muted); line-height: 1.5; }
.mpc-home .mpc-hero-who { color: var(--mpc-ink); font-size: 15px; font-weight: 600; line-height: 1.45; text-wrap: balance; }
.mpc-home .mpc-hero-photo { position: relative; z-index: 1; overflow: hidden; background: #E3E5EC; }
.mpc-home .mpc-hero-photo picture { display: block; width: 100%; height: 100%; }
.mpc-home .mpc-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.mpc-home .mpc-hero-kicker text { font-size: 15px; font-weight: 600; letter-spacing: 0.04em; fill: var(--mpc-ink); }

/* from 1024 px: the canvas composition, copy on the left, the photo on the right, the lines between them. One design
   unit (--u) is 1/1344 of the wrap, so the title, the photo and the line bundle keep the canvas proportions and are
   exactly the canvas at 1440 px and wider. The bundle hangs from the bottom of the hero (60 units below it, as on the
   canvas, where the hero is 840 units tall) and the copy keeps a reserve under it, so where the text and the pills
   do not shrink with the unit the hero grows and the lines move down with it: they never reach the copy. */
@media (min-width: 1024px) {
	.mpc-home .mpc-hero-in { container-type: inline-size; }
	.mpc-home .mpc-hero-grid { --u: min(calc((100vw - 2 * var(--mpc-pad)) / 1344), 1px); display: grid; grid-template-columns: calc(var(--u) * 700) minmax(0, 1fr); align-items: start; min-height: calc(var(--u) * 840); padding-top: calc(var(--u) * 32); }
	@supports (width: 1cqw) { .mpc-home .mpc-hero-grid { --u: calc(100cqw / 1344); } }
	.mpc-home .mpc-hero-stage { display: contents; }
	.mpc-home .mpc-hero .mpc-wave--hero { left: -3.5714%; top: auto; bottom: calc(var(--u) * -60); width: 107.1429%; height: auto; margin-left: 0; }
	.mpc-home .mpc-hero .mpc-wave--hero-phone { display: none; }
	.mpc-home .mpc-hero-copy { padding-bottom: calc(var(--u) * 270); }
	html body:is(#mpc, .mpc-site) .mpc-hero-title { font-size: calc(var(--u) * 74); }
	.mpc-home .mpc-hero-lead { max-width: max(calc(var(--u) * 540), min(440px, 100% - 40px)); margin-top: 28px; font-size: clamp(18px, calc(var(--u) * 20), 20px); }
	.mpc-home .mpc-hero-actions { margin-top: 36px; }
	/* the name line is drawn on the curve (SVG text, hidden from assistive tech); this is the same line as real text */
	.mpc-home .mpc-hero-who { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	.mpc-home .mpc-hero-photo { justify-self: end; width: calc(var(--u) * 480); aspect-ratio: 480 / 680; }
	/* the SVG scales with the wrap; its text is set back to 15 CSS px */
	@supports (font-size: calc(15px / tan(atan2(1px, 1px)))) { .mpc-home .mpc-hero-kicker text { font-size: calc(15px / tan(atan2(var(--u), 1px))); } }
}
/* just under the canvas width the same 15 px line is longer against the scaled curve: tighter tracking keeps it off the bend */
@media (min-width: 1280px) and (max-width: 1379px) { .mpc-home .mpc-hero-kicker text { letter-spacing: 0.005em; } }
/* 1024 to 1279: against the smaller curve the 15 px name line would run into the bend, so it is plain text under the
   buttons and the curve carries no text. The pills do not shrink with the unit: from 1200 px they tighten to keep a
   clear distance from the lines, and under 1200 px they stack as two pills of one width. */
@media (min-width: 1024px) and (max-width: 1279px) {
	.mpc-home .mpc-hero-kicker { display: none; }
	.mpc-home .mpc-hero-copy { padding-bottom: calc(var(--u) * 240); }
	.mpc-home .mpc-hero-lead { margin-top: 24px; }
	.mpc-home .mpc-hero-actions { gap: 12px; margin-top: 32px; }
	.mpc-home .mpc-hero-who { position: static; width: auto; height: auto; max-width: min(440px, 100% - 40px); margin: 28px 0 0; overflow: visible; clip: auto; clip-path: none; white-space: normal; }
}
@media (min-width: 1200px) and (max-width: 1279px) { html body:is(#mpc, .mpc-site) .mpc-hero-actions .mpc-pill { gap: 10px !important; padding-inline: 20px !important; } }
@media (min-width: 1024px) and (max-width: 1199px) { .mpc-home .mpc-hero-actions { flex-direction: column; align-items: stretch; width: max-content; max-width: 100%; } }

/* tablet: copy, the bundle hugging the right edge and sweeping under the copy, then the photo across the wrap */
@media (min-width: 641px) and (max-width: 1023px) {
	.mpc-home .mpc-hero-stage { position: relative; padding: 32px 0 250px; }
	.mpc-home .mpc-hero .mpc-wave--hero { left: auto; right: -553px; top: auto; bottom: -62px; margin-left: 0; }
	.mpc-home .mpc-hero .mpc-wave--hero-phone, .mpc-home .mpc-hero-kicker { display: none; }
	.mpc-home .mpc-hero-copy { max-width: calc(100% - 164px); }
	html body:is(#mpc, .mpc-site) .mpc-hero-title { font-size: clamp(44px, 6.4vw, 64px); }
	.mpc-home .mpc-hero-lead { max-width: 540px; margin-top: 24px; font-size: 19px; }
	.mpc-home .mpc-hero-actions { margin-top: 32px; }
	.mpc-home .mpc-hero-who { margin-top: 28px; }
	.mpc-home .mpc-hero-photo { aspect-ratio: 16 / 9; }
}

/* phone: Mobile.dc.html. The 390 px bundle scales with the screen and is anchored to the end of the copy. */
@media (max-width: 640px) {
	.mpc-home .mpc-hero-stage { position: relative; padding: 24px 0 85.6vw; }
	.mpc-home .mpc-hero .mpc-wave--hero, .mpc-home .mpc-hero-kicker { display: none; }
	.mpc-home .mpc-hero .mpc-wave--hero-phone { left: calc(-1 * var(--gutter)); top: auto; bottom: -7.7vw; width: 100vw; height: auto; }
	html body:is(#mpc, .mpc-site) .mpc-hero-title { font-size: min(34px, 8.72vw); line-height: 1.1 !important; }
	.mpc-home .mpc-hero-lead { max-width: 74.4vw; margin-top: 20px; font-size: 18px; }
	.mpc-home .mpc-hero-actions { gap: 12px; margin-top: 28px; }
	/* the pills run over the lines: the outline pill gets the ground behind its label */
	html body:is(#mpc, .mpc-site) .mpc-hero .mpc-pill--ghost:not(:hover):not(:focus-visible) { background: var(--mpc-ground) !important; }
	.mpc-home .mpc-hero-who { max-width: 74.4vw; margin-top: 28px; }
	.mpc-home .mpc-hero-who-name { display: block; }
	.mpc-home .mpc-hero-who-sep { display: none; }
	.mpc-home .mpc-hero-photo { aspect-ratio: 358 / 420; }
}

/* ---------- identification strip */
.mpc-home .mpc-ident { position: relative; z-index: 2; background: var(--mpc-ground); }
.mpc-home .mpc-ident-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 16px; border-top: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-ident-main { margin-top: 8px; color: var(--mpc-ink); font-size: 17px; font-weight: 600; line-height: 1.4; }
.mpc-home .mpc-ident-sub { margin-top: 2px; color: var(--mpc-muted); font-size: 15px; line-height: 1.4; }
.mpc-home .mpc-ident .mph-tel { white-space: nowrap; }
@media (max-width: 1023px) { .mpc-home .mpc-ident-list { margin-top: 32px; } }
@media (max-width: 1023px) { .mpc-home .mpc-ident-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 640px) {
	.mpc-home .mpc-ident-list { gap: 20px 16px; padding-top: 14px; }
	.mpc-home .mpc-ident-main { margin-top: 6px; font-size: 16px; line-height: 1.35; }
	.mpc-home .mpc-ident-sub { line-height: 1.35; }
	.mpc-home .mpc-ident-long { display: none; }
	.mpc-home .mpc-ident-item--medico { order: 1; }
	.mpc-home .mpc-ident-item--agendamento { order: 2; }
	.mpc-home .mpc-ident-item--especialidades { order: 3; grid-column: 1 / -1; }
	.mpc-home .mpc-ident-item--atendimento { order: 4; grid-column: 1 / -1; }
}
@media (max-width: 340px) { .mpc-home .mpc-ident-list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Onde dói? Staircase of route pills over the vermilion bundle (the pills are opaque) */
.mpc-home .mpc-onde { overflow: hidden; padding: clamp(72px, 10vw, 144px) 0 clamp(64px, 10.4vw, 150px); }
.mpc-home .mpc-onde-stage { position: relative; margin-top: 56px; }
.mpc-home .mpc-onde .mpc-wave--onde { top: -150px; }
.mpc-home .mpc-onde .mpc-wave--onde-phone { display: none; }
.mpc-home .mpc-onde-list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 36px; align-items: start; }
.mpc-home .mpc-onde-list li { margin-top: calc(var(--i) * 64px); }
html body:is(#mpc, .mpc-site) .mpc-onde-list .mpc-pill--route { display: flex !important; justify-content: space-between !important; width: 100%; text-align: left; white-space: nowrap; }
@media (min-width: 1180px) and (max-width: 1339px) {
	.mpc-home .mpc-onde-list { gap: 44px 20px; }
	html body:is(#mpc, .mpc-site) .mpc-onde-list .mpc-pill--route { gap: 10px !important; padding-inline: 20px !important; font-size: 17px !important; }
}
/* tablet: two staircases side by side; the bundle scales with the screen */
@media (min-width: 641px) and (max-width: 1179px) {
	.mpc-home .mpc-onde { padding-bottom: max(96px, 15vw); }
	.mpc-home .mpc-onde-stage { margin-top: 40px; }
	.mpc-home .mpc-onde .mpc-wave--onde { top: -23vw; width: 133vw; height: auto; margin-left: -66.5vw; }
	.mpc-home .mpc-onde-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; gap: 12px 24px; }
	.mpc-home .mpc-onde-list li { width: 79%; margin: 0 0 0 calc(var(--i) * 7%); }
	html body:is(#mpc, .mpc-site) .mpc-onde-list .mpc-pill--route { min-height: 60px !important; padding-inline: 24px !important; font-size: 18px !important; }
}
@media (min-width: 641px) and (max-width: 767px) {
	.mpc-home .mpc-onde-list { gap: 12px 20px; }
	.mpc-home .mpc-onde-list li { width: 86%; margin-left: calc(var(--i) * 4.66%); }
	html body:is(#mpc, .mpc-site) .mpc-onde-list .mpc-pill--route { gap: 10px !important; padding-inline: 20px !important; font-size: 17px !important; }
}
/* phone: Mobile.dc.html, one staircase repeated twice */
@media (max-width: 640px) {
	.mpc-home .mpc-onde { padding: 72px 0 64px; }
	.mpc-home .mpc-onde-stage { margin-top: 32px; }
	.mpc-home .mpc-onde .mpc-wave--onde { display: none; }
	.mpc-home .mpc-onde .mpc-wave--onde-phone { display: block; left: calc(-1 * var(--gutter)); top: -15.4vw; width: 100vw; height: auto; }
	.mpc-home .mpc-onde-list { display: flex; flex-direction: column; gap: 12px; }
	.mpc-home .mpc-onde-list li { width: 80.44%; margin: 0 0 0 calc(var(--i) * 6.52%); }
}
@media (max-width: 359px) { html body:is(#mpc, .mpc-site) .mpc-onde-list .mpc-pill--route { padding-inline: 18px !important; font-size: 16px !important; gap: 8px !important; } }

/* ---------- Tratamentos não cirúrgicos */
.mpc-home .mpc-trat { padding: clamp(64px, 8.9vw, 128px) 0; }
.mpc-home .mpc-trat .mpc-lead { color: var(--mpc-body); }
.mpc-home .mpc-trat-group { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; margin-top: 72px; }
.mpc-home .mpc-trat-group + .mpc-trat-group { margin-top: 96px; }
.mpc-home .mpc-trat-group--flip { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.mpc-home .mpc-trat-group--flip .mpc-trat-photos { order: -1; }
.mpc-home .mpc-group-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding-bottom: 14px; border-bottom: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-group-count { flex: none; color: var(--mpc-muted); font-size: 15px; line-height: 1.4; }
.mpc-home .mpc-row-text { display: block; min-width: 0; }
.mpc-home .mpc-trat-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
.mpc-home .mpc-trat-photo--main { grid-column: 1 / -1; aspect-ratio: 536 / 420; }
.mpc-home .mpc-trat-photos--tecnologias .mpc-trat-photo--main { aspect-ratio: 536 / 360; }
.mpc-home .mpc-trat-photos--procedimentos .mpc-trat-photo--main img { object-position: 45% 50%; }
.mpc-home .mpc-trat-photo--agulhas, .mpc-home .mpc-trat-photo--marcacao { aspect-ratio: 262 / 300; }
/* Owner decision 2026-10-02 (board 2 #01): new photo in this slot (needling detail, a 3:2 frame): the crop keeps the needles and the hand */
.mpc-home .mpc-trat-photo--agulhas img { object-position: 32% 50%; }
.mpc-home .mpc-trat-photo--marcacao img { object-position: 60% 50%; }
.mpc-home .mpc-trat-photo--radial, .mpc-home .mpc-trat-photo--joelho { aspect-ratio: 262 / 220; }
.mpc-home .mpc-trat-photos--reabilitacao .mpc-photo img { object-position: 80% 50%; }
.mpc-home .mpc-trat-note { margin-top: 12px; color: var(--mpc-muted); font-size: 15px; line-height: 1.5; }
.mpc-home .mpc-trat-note a { display: inline-block; padding: 12px 0; color: var(--mpc-muted); text-decoration: underline; text-decoration-color: var(--mpc-accent); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.mpc-home .mpc-trat-note a:hover { color: var(--mpc-accent); }
.mpc-home .mpc-trat-all { margin-top: 64px; }
@media (max-width: 1099px) {
	.mpc-home .mpc-trat-group { gap: 40px; margin-top: 56px; }
	.mpc-home .mpc-trat-group + .mpc-trat-group { margin-top: 72px; }
}
/* stacked: title and rows first, the group's photos after them in one band */
@media (max-width: 899px) {
	.mpc-home .mpc-trat-group, .mpc-home .mpc-trat-group--flip { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.mpc-home .mpc-trat-group--flip .mpc-trat-photos { order: 0; }
	.mpc-home .mpc-trat-photos { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
	.mpc-home .mpc-trat-photos .mpc-photo { grid-column: auto; aspect-ratio: auto; height: clamp(200px, 32vw, 280px); }
	.mpc-home .mpc-trat-photos--reabilitacao { grid-template-columns: minmax(0, 1fr); }
	.mpc-home .mpc-trat-photos--reabilitacao .mpc-photo { height: auto; aspect-ratio: 16 / 9; }
	.mpc-home .mpc-trat-all { margin-top: 48px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-trat { padding: 64px 0 80px; }
	.mpc-home .mpc-trat .mpc-lead { margin-top: 20px; }
	.mpc-home .mpc-trat-group { margin-top: 36px; gap: 28px; }
	.mpc-home .mpc-trat-group + .mpc-trat-group { margin-top: 56px; }
	.mpc-home .mpc-group-head { gap: 12px; padding-bottom: 12px; }
	.mpc-home .mpc-trat-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.mpc-home .mpc-trat-photos .mpc-photo { height: auto; aspect-ratio: 1 / 1; }
	.mpc-home .mpc-trat-photos .mpc-trat-photo--main { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
	.mpc-home .mpc-trat-all { margin-top: 40px; }
}

/* ---------- Dr. Marcus Yu Bin Pai */
.mpc-home .mpc-medico { padding: clamp(64px, 8.4vw, 120px) 0 clamp(64px, 8.9vw, 128px); }
/* wide, zoomed-out portrait (owner: "low profile"): the whole upright 2:3 frame shows, the figure stays small in the atrium */
.mpc-home .mpc-medico-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.mpc-home .mpc-medico-photo { height: auto; aspect-ratio: 2 / 3; }
.mpc-home .mpc-medico-photo img { object-position: 50% 100%; }
.mpc-home .mpc-medico-lead { margin-top: 24px; color: var(--mpc-body); font-size: clamp(18px, 1.4vw, 20px); line-height: 1.5; }
.mpc-home .mpc-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin-top: 28px; }
.mpc-home .mpc-facts li { padding: 12px 0; border-top: 1px solid var(--mpc-rule); color: var(--mpc-ink); font-size: 16px; line-height: 1.4; }
.mpc-home .mpc-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--mpc-rule); }
.mpc-home .mpc-logos img { width: auto; height: calc(var(--h, 36px) * var(--logo-k, 1)); max-width: none; }
/* the five logos stay on one row where the column allows it, and break three and two (never four and one) where it does not */
@media (min-width: 1200px) and (max-width: 1399px) { .mpc-home .mpc-logos { --logo-k: .88; gap: 20px 24px; } }
@media (min-width: 900px) and (max-width: 1199px), (min-width: 441px) and (max-width: 662px) {
	/* a zero-height full-width item between the third and the fourth logo is the line break; it is also the row gap */
	.mpc-home .mpc-medico .mpc-logos { gap: 0 32px; }
	.mpc-home .mpc-logos::before { content: ''; order: 1; flex: 0 0 100%; height: 22px; }
	.mpc-home .mpc-logos li:nth-child(n + 4) { order: 2; }
}
.mpc-home .mpc-medico-actions { margin-top: 36px; }
@media (max-width: 1099px) { .mpc-home .mpc-medico-in { gap: 40px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-medico-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.mpc-home .mpc-medico-photo { max-width: 480px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-medico-in { gap: 32px; }
	.mpc-home .mpc-medico-photo { max-width: none; }
	.mpc-home .mpc-medico-lead { margin-top: 20px; }
	.mpc-home .mpc-logos { gap: 18px 28px; }
}
@media (max-width: 479px) {
	.mpc-home .mpc-facts { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Aulas, congressos e imprensa */
.mpc-home .mpc-aulas { padding: clamp(64px, 8.9vw, 128px) 0; }
.mpc-home .mpc-aulas-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; margin-top: 48px; }
.mpc-home .mpc-aulas-main .mpc-photo { aspect-ratio: 761 / 540; }
.mpc-home .mpc-aulas-main .mpc-photo img { object-position: 50% 40%; }
.mpc-home .mpc-aulas-main figcaption { margin-top: 12px; }
.mpc-home .mpc-talks { display: flex; flex-direction: column; gap: 24px; }
.mpc-home .mpc-talk { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: center; }
.mpc-home .mpc-talk .mpc-photo { aspect-ratio: 220 / 150; }
.mpc-home .mpc-talk-title { display: block; color: var(--mpc-ink); font-size: 17px; font-weight: 600; line-height: 1.35; }
.mpc-home .mpc-talk-meta { display: block; margin-top: 4px; color: var(--mpc-muted); font-size: 15px; line-height: 1.4; }
.mpc-home .mpc-aulas-actions { margin-top: 32px; }
.mpc-home .mpc-press { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; margin-top: 72px; padding-top: 28px; border-top: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-press-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.mpc-home .mpc-press-list .mpc-photo { aspect-ratio: 413 / 260; }
.mpc-home .mpc-press-list figcaption { margin-top: 10px; }
@media (max-width: 1199px) { .mpc-home .mpc-talk { grid-template-columns: 168px minmax(0, 1fr); gap: 16px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-aulas-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 40px; }
	.mpc-home .mpc-talk { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; }
	.mpc-home .mpc-press { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 56px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-aulas-grid { margin-top: 32px; }
	.mpc-home .mpc-aulas-main .mpc-photo { aspect-ratio: 4 / 3; }
	.mpc-home .mpc-talks { gap: 20px; }
	.mpc-home .mpc-talk { grid-template-columns: 34% minmax(0, 1fr); gap: 16px; }
	.mpc-home .mpc-talk .mpc-photo { aspect-ratio: 1 / 1; }
	.mpc-home .mpc-talk-title { font-size: 16px; }
	.mpc-home .mpc-press { margin-top: 48px; padding-top: 24px; }
	.mpc-home .mpc-press-list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.mpc-home .mpc-press-list .mpc-photo { aspect-ratio: 16 / 10; }
}

/* ---------- section heads with something on the right (a pill, a photo) */
.mpc-home .mpc-split-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: end; }
.mpc-home .mpc-split-lead { margin-top: 24px; color: var(--mpc-body); font-size: clamp(18px, 1.4vw, 20px); line-height: 1.5; }
.mpc-home .mpc-split-head-actions { justify-self: end; }
.mpc-home .mpc-split-head--photo .mpc-lead { max-width: 680px; color: var(--mpc-body); }
@media (max-width: 1099px) { .mpc-home .mpc-split-head { gap: 40px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-split-head { grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
	.mpc-home .mpc-split-head-actions { justify-self: start; }
}
@media (max-width: 640px) { .mpc-home .mpc-split-head-actions { justify-self: stretch; } }

/* ---------- Livros e capítulos: 6 x 2 covers; a snap row on phones */
.mpc-home .mpc-livros { padding: clamp(64px, 8.9vw, 128px) 0; }
.mpc-home .mpc-books { --book-h: min(220px, 15.2vw); display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 48px 28px; align-items: start; margin-top: 56px; }
.mpc-home .mpc-book-cover { display: flex; align-items: flex-end; height: var(--book-h); }
.mpc-home .mpc-book-cover img { width: auto; height: 100%; max-width: 100%; object-fit: contain; object-position: left bottom; filter: drop-shadow(0 10px 11px rgba(19, 21, 27, .16)); }
.mpc-home .mpc-book--cutout .mpc-book-cover img { filter: none; }
.mpc-home .mpc-book figcaption { margin-top: 14px; }
.mpc-home .mpc-book-title { display: block; color: var(--mpc-ink); font-size: 15px; font-weight: 600; line-height: 1.35; }
.mpc-home .mpc-book-meta { display: block; margin-top: 4px; color: var(--mpc-muted); font-size: 15px; line-height: 1.35; }
@media (max-width: 1099px) { .mpc-home .mpc-books { --book-h: min(220px, 22vw); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 28px; margin-top: 48px; } }
@media (max-width: 640px) {
	.mpc-home .mpc-books { --book-h: 190px; display: flex; gap: 20px; margin: 36px calc(-1 * var(--gutter)) 0; padding: 0 var(--gutter) 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: thin; scrollbar-color: #B6B9C4 transparent; }
	.mpc-home .mpc-books li { flex: 0 0 150px; scroll-snap-align: start; }
	.mpc-home .mpc-book-cover img { max-width: 150px; }
}

/* ---------- A clínica */
.mpc-home .mpc-clinica { padding: clamp(64px, 8.9vw, 128px) 0 clamp(56px, 7.8vw, 112px); border-top: 1px solid var(--mpc-rule); }
.mpc-home .mpc-clinica-top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: end; }
.mpc-home .mpc-clinica-lead { margin-top: 24px; color: var(--mpc-body); font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; }
.mpc-home .mpc-clinica .mpc-actions { margin-top: 28px; }
.mpc-home .mpc-clinica-photo { aspect-ratio: 751 / 520; }
.mpc-home .mpc-strip { --strip-h: 300px; display: flex; gap: 20px; margin-top: 48px; padding-bottom: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #B6B9C4 transparent; }
.mpc-home .mpc-strip li { flex: 0 0 auto; height: var(--strip-h); aspect-ratio: 4 / 3; scroll-snap-align: start; }
.mpc-home .mpc-strip li:nth-child(1) { aspect-ratio: 7 / 5; }
.mpc-home .mpc-strip li:nth-child(2) { aspect-ratio: 2 / 3; }
.mpc-home .mpc-strip li:nth-child(4) { aspect-ratio: 6 / 5; }
/* previous / next: two outlined circles under the strip, shown by the script from 1024 px up while the strip scrolls */
.mpc-home .mpc-strip-nav { display: none; }
html body:is(#mpc, .mpc-site) .mpc-strip-btn { width: 48px !important; height: 48px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; box-shadow: inset 0 0 0 1.5px var(--mpc-ink) !important; color: var(--mpc-ink) !important; cursor: pointer; }
html body:is(#mpc, .mpc-site) .mpc-strip-btn:not(:disabled):is(:hover, :focus-visible) { background: var(--mpc-ink) !important; color: var(--mpc-ground) !important; }
html body:is(#mpc, .mpc-site) .mpc-strip-btn:disabled { opacity: .32; cursor: default; }
.mpc-home .mpc-strip-btn--prev svg { transform: rotate(180deg); }
/* from 1024 px the strip runs to the right edge of the screen: the photo cut by the screen says there is more */
@media (min-width: 1024px) {
	.mpc-home .mpc-strip { margin-right: calc(-1 * max(var(--mpc-pad), (100vw - var(--max)) / 2)); padding-right: var(--mpc-pad); scroll-padding-inline: 0 var(--mpc-pad); }
	.mpc-home .mpc-strip-nav:not([hidden]) { display: flex; gap: 12px; margin-top: 12px; }
}
@media (max-width: 1099px) { .mpc-home .mpc-clinica-top { gap: 40px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-clinica-top { grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: start; }
	.mpc-home .mpc-strip { --strip-h: 260px; gap: 16px; margin-top: 16px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-clinica-photo { aspect-ratio: 4 / 3; }
	.mpc-home .mpc-strip { --strip-h: 220px; gap: 12px; margin: 12px calc(-1 * var(--gutter)) 0; padding: 0 var(--gutter) 16px; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); }
}

/* ---------- Doctoralia band */
.mpc-home .mpc-reviews { padding: 56px 0; border-top: 1px solid var(--mpc-rule); border-bottom: 1px solid var(--mpc-rule); }
.mpc-home .mpc-reviews-in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: center; }
.mpc-home .mpc-stars { display: flex; gap: 4px; color: var(--mpc-accent); }
.mpc-home .mpc-reviews-rate { margin-top: 12px; color: var(--mpc-ink); font-size: 18px; font-weight: 600; line-height: 1.4; }
.mpc-home .mpc-reviews-count { margin-top: 4px; color: var(--mpc-muted); font-size: 15px; line-height: 1.4; }
.mpc-home .mpc-reviews-link { margin-top: 6px; font-size: 15px; line-height: 1.4; }
.mpc-home .mpc-reviews-link a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--mpc-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--mpc-accent); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.mpc-home .mpc-reviews-link a:hover { color: var(--mpc-accent); }
.mpc-home .mpc-reviews-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.mpc-home .mpc-reviews blockquote { margin: 0; color: var(--mpc-ink); font-size: 17px; line-height: 1.5; quotes: none; }
.mpc-home .mpc-reviews blockquote::before { content: none; display: none; }
.mpc-home .mpc-reviews blockquote p { color: var(--mpc-ink); font-size: 17px; line-height: 1.5; }
.mpc-home .mpc-reviews figcaption { margin-top: 10px; color: var(--mpc-muted); font-size: 15px; line-height: 1.4; }
@media (max-width: 1099px) {
	.mpc-home .mpc-reviews-in { grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
	.mpc-home .mpc-reviews-list { gap: 28px; }
}
@media (max-width: 767px) {
	.mpc-home .mpc-reviews { padding: 48px 0; }
	.mpc-home .mpc-reviews-list { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--mpc-rule); }
	.mpc-home .mpc-reviews-list li { padding: 20px 0; border-bottom: 1px solid var(--mpc-rule); }
	.mpc-home .mpc-reviews-list li:last-child { padding-bottom: 0; border-bottom: 0; }
}

/* ---------- title on the left, list on the right: Artigos recentes and Perguntas frequentes */
.mpc-home .mpc-aside-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; }
.mpc-home .mpc-aside-head .mpc-actions { margin-top: 32px; }
.mpc-home .mpc-aside-body { border-top: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-artigos { padding: clamp(64px, 7.8vw, 112px) 0 clamp(64px, 8.4vw, 120px); }
.mpc-home .mpc-artigos .mpc-row { padding: 24px 0; }
.mpc-home .mpc-artigos .mpc-row-title { font-size: clamp(19px, 1.4vw, 20px); line-height: 1.35; }
/* dated row (canvas): date, title, circle; under 900 px the date sits above the title */
.mpc-home .mpc-row--dated { grid-template-columns: 120px minmax(0, 1fr) 48px; }
.mpc-home .mpc-row-date { color: var(--mpc-muted); font-size: 15px; line-height: 1.4; font-variant-numeric: tabular-nums; }
@media (max-width: 899px) {
	.mpc-home .mpc-row--dated { grid-template-columns: minmax(0, 1fr) 48px; grid-template-areas: "date circle" "text circle"; row-gap: 4px; }
	.mpc-home .mpc-row--dated .mpc-row-date { grid-area: date; }
	.mpc-home .mpc-row--dated .mpc-row-text { grid-area: text; }
	.mpc-home .mpc-row--dated .mpc-circle { grid-area: circle; align-self: center; }
}
@media (max-width: 640px) { .mpc-home .mpc-row--dated { grid-template-columns: minmax(0, 1fr) 44px; } }
@media (max-width: 1099px) { .mpc-home .mpc-aside-grid { gap: 40px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-aside-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.mpc-home .mpc-aside-head { display: contents; }
	.mpc-home .mpc-aside-head .mpc-title { order: 1; padding-bottom: 20px; }
	.mpc-home .mpc-aside-body { order: 2; }
	.mpc-home .mpc-aside-head .mpc-actions { order: 3; margin-top: 32px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-aside-head .mpc-title { padding-bottom: 16px; }
	.mpc-home .mpc-artigos .mpc-row { padding: 18px 0; }
	.mpc-home .mpc-aside-head .mpc-actions { margin-top: 28px; }
}

/* ---------- Como funciona a avaliação */
.mpc-home .mpc-como { padding: clamp(64px, 8.9vw, 128px) 0; }
.mpc-home .mpc-como-photo { aspect-ratio: 536 / 320; }
.mpc-home .mpc-como-photo img { object-position: 50% 35%; }
.mpc-home .mpc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 56px; }
.mpc-home .mpc-steps li { padding-top: 20px; border-top: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-step-num { display: block; color: var(--mpc-pain); font-size: 56px; font-weight: 300; line-height: 1; letter-spacing: 0; }
.mpc-home .mpc-step-title { margin-top: 24px; color: var(--mpc-ink); font-size: clamp(19px, 1.5vw, 21px); line-height: 1.3; }
.mpc-home .mpc-steps p { margin-top: 10px; color: var(--mpc-body); font-size: clamp(17px, 1.3vw, 18px); line-height: 1.5; }
.mpc-home .mpc-levar { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; margin-top: 80px; padding-top: 32px; border-top: 1.5px solid var(--mpc-ink); }
.mpc-home .mpc-levar-head p { margin-top: 18px; color: var(--mpc-body); font-size: 18px; line-height: 1.5; }
.mpc-home .mpc-levar-head .mpc-actions { margin-top: 28px; }
.mpc-home .mpc-levar-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; }
.mpc-home .mpc-levar-list li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; }
/* numeral in ink inside the vermilion ring: vermilion on white is 4:1, short of AA for 16px text */
.mpc-home .mpc-levar-num { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: var(--mpc-white); box-shadow: inset 0 0 0 1.5px var(--mpc-pain); color: var(--mpc-ink); font-size: 16px; font-weight: 400; line-height: 1; }
.mpc-home .mpc-levar-list h4 { color: var(--mpc-ink); font-size: 19px; line-height: 1.3; }
.mpc-home .mpc-levar-list p { margin-top: 6px; color: var(--mpc-body); font-size: 17px; line-height: 1.5; }
@media (max-width: 1099px) { .mpc-home .mpc-steps { gap: 28px; } .mpc-home .mpc-levar { gap: 40px; } }
@media (max-width: 899px) {
	.mpc-home .mpc-levar { grid-template-columns: minmax(0, 1fr); gap: 36px; margin-top: 64px; }
}
@media (max-width: 767px) {
	.mpc-home .mpc-steps { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 40px; }
	.mpc-home .mpc-step-num { font-size: 44px; }
	.mpc-home .mpc-step-title { margin-top: 16px; }
}
@media (max-width: 640px) {
	.mpc-home .mpc-como-photo { aspect-ratio: 3 / 2; }
	.mpc-home .mpc-levar { margin-top: 56px; padding-top: 28px; }
	.mpc-home .mpc-levar-list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* ---------- Perguntas frequentes: native details, round plus / minus */
.mpc-home .mpc-faq { padding: clamp(64px, 8.4vw, 120px) 0 clamp(72px, 10vw, 144px); }
.mpc-home .mpc-faq-item { border-bottom: 1px solid var(--mpc-rule); }
.mpc-home .mpc-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; cursor: pointer; list-style: none; }
.mpc-home .mpc-faq-item summary::-webkit-details-marker { display: none; }
.mpc-home .mpc-faq-item[open] summary { padding-bottom: 14px; }
.mpc-home .mpc-faq-q { color: var(--mpc-ink); font-size: clamp(19px, 1.5vw, 21px); line-height: 1.35; }
.mpc-home .mpc-faq-btn { display: flex; flex: none; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--mpc-ink); color: var(--mpc-ink); transition: background-color .15s ease, color .15s ease; }
.mpc-home .mpc-faq-btn .mpc-ico-minus, .mpc-home .mpc-faq-item[open] .mpc-faq-btn .mpc-ico-plus { display: none; }
.mpc-home .mpc-faq-item[open] .mpc-faq-btn .mpc-ico-minus { display: block; }
.mpc-home .mpc-faq-item[open] .mpc-faq-btn { background: var(--mpc-accent); color: var(--mpc-white); }
.mpc-home .mpc-faq-item summary:hover .mpc-faq-btn { background: var(--mpc-ink); color: var(--mpc-ground); }
.mpc-home .mpc-faq-a { padding-bottom: 24px; }
.mpc-home .mpc-faq-a p { max-width: 640px; color: var(--mpc-body); font-size: 18px; line-height: 1.55; }
@media (max-width: 640px) {
	.mpc-home .mpc-faq-item summary { gap: 16px; padding: 18px 0; }
	.mpc-home .mpc-faq-btn { width: 44px; height: 44px; }
	.mpc-home .mpc-faq-a p { font-size: 17px; }
}

/* ---------- phone: fixed booking bar (Mobile.dc.html). Shown by the script in lib/home-curvatura.php once the hero
   has scrolled away, hidden while the navy closing band is on screen. The footer keeps room for it. */
.mpc-home .mpc-bar { display: none; }
@media (max-width: 640px) {
	/* opaque ground: with a see-through bar the page text showed around the pill as grey ghost lines */
	.mpc-home .mpc-bar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--mpc-ground); box-shadow: 0 -1px 0 var(--mpc-rule); visibility: hidden; transform: translateY(100%); transition: transform .2s ease, visibility 0s linear .2s; }
	.mpc-home .mpc-bar.is-on { visibility: visible; transform: none; transition: transform .2s ease; }
	html body:is(#mpc, .mpc-site) .mpc-bar .mpc-pill { width: 100% !important; font-size: 18px !important; white-space: nowrap; }
	.mph-site.home .mph-ftr { padding-bottom: calc(40px + 84px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 359px) { html body:is(#mpc, .mpc-site) .mpc-bar .mpc-pill { gap: 10px !important; padding-inline: 16px !important; font-size: 16px !important; } }

/* ---------- print: no decoration, no fixed bar */
@media print { .mpc-home .mpc-wave, .mpc-home .mpc-bar, .mpc-home .mpc-strip-nav { display: none !important; } }
