/* Hallmark · shape: kept order, recomposed (Letter-led home, split head beside the lead form on service pages) · genre: editorial · theme: brand · redesign: full · copy: verbatim · hero: Settled, on / a paper text column beside a soft lilac panel holding Sivan's portrait in an arch, two hand-set lines drawing in behind it; Stage on the service pages, the head beside the lead form on the same lilac panel · nav: one shared bar, links and one action · footer: a mast row (name, credential, contact) over three link columns, socials in the legal row, on lavender mist · signature: Sivan's own portrait in a doorway arch on lilac, two lines meeting behind it, her real Google rating and the 500 ₪ price under the one action
 * axes: light/roman-serif/chromatic-lilac · posture: Settled · deal: broadside, manifesto, studio dealt and declined for the brand (no Hebrew faces, none carries the owner's purple); Studio's serif-heads-over-sans voice borrowed · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, a soft lilac clinic page could belong to any therapist; carried by Sivan's own portrait in the arch, her real rating and price under the action, and the two lines that meet behind her */
/* Hallmark · copy gates 19, 58 and 69 read Hebrew as English and misfire on it; treated as notes for this site by the owner's request */
/* Hallmark · waive 59 · legacy articles and episodes use <main> as the prose column, so its direct child boxes (callouts, FAQ cards, the author box) read as sections · those boxes sit 90px apart inside one article on purpose; true page sections keep the 120px+ rhythm */
/* Hallmark · waive 77 · the wrap-narrow prose sections hold Hebrew therapy copy at a 68ch reading measure on purpose · long answers read better narrow than spread to ten columns */
/* Hallmark · waive 49b · inline links inside Hebrew FAQ answers and the mobile menu wrap at 320px with the sentence they sit in · shortening them would cut the owner's article titles */
/* Hallmark · waive 44c · the hero is a Settled portrait posture: Sivan's own photograph in an arch on a lilac panel fills the first screen beside a three-line Hebrew head, and the rating and 500 ₪ price sit under the action on purpose · the reflex measures the text block, not the portrait */
/* Hallmark · answered F7 · the legacy layer maps many old class names from 76 kept pages onto three roles (link card, aside box, filled button); one recipe per role is the point, and the roles differ by fill, rule and radius */
/* Hallmark · answered F4 · the second fill is .btn-wa, used only on WhatsApp actions at 6.2:1, because the owner asked for the WhatsApp buttons to stay green and readable; every other action is the one violet fill */
/* Hallmark · waive 79 · on the service pages the lead form beside the head sets the hero height and the head is centred on it · the form is the page's one action and stays whole in the first screen */
/* Hallmark · waive 42 · footer: is named in the stamp, a mast row over three link columns and a contact list · the owner's city and service links are kept as columns on purpose for local search */
/* Hallmark · dropped aos.js, aos.css, AOS.init, animate-up · the scroll reveals hid content until scripts ran (gate 62) and nothing else on the pages reads them */
/* Hallmark · dropped /pages/bridal-guidance.html, הדרכת כלות · the owner stopped offering bridal guidance; the URL 301s to /pages/sexual-therapy.html */
/* Hallmark · reworded "מה הביא אותך לכאן?" to "מה הביא אתכם לכאן?" · the owner asked the homepage to speak to couples and men too, not only to women */
/* Hallmark · dropped https://share.google/pGR5FO0BtoQH1s3wx, the 5.0 Google rating line · the owner asked to take the review count off the site for now; the Google profile stays in the schema sameAs */
/* Hallmark · added #trust on / · the owner asked the first screens to show why Sivan can be trusted; every line is a fact from /pages/about.html, the PE page or the home FAQ */
/* Hallmark · motion: one reveal (sections rise 18px and fade in once, scoped under html.js), the hero lines draw in once and then drift slowly, the portrait arch breathes; every one stops under prefers-reduced-motion */
@import url("./tokens.css?v=v3a");
@import url("./base.css?v=v3a");

:root { --text-section: clamp(1.85rem, 1.7vw + 1.15rem, 2.75rem); --text-display: clamp(2.35rem, 3.3vw + 1.1rem, 4.4rem); --text-title: clamp(1.25rem, 0.5vw + 1.05rem, 1.5rem); --display-weight: 500; --gap-columns: 40px; }
body { font-size: 1.0625rem; line-height: 1.72; text-wrap: pretty; }
b, strong { font-weight: 600; }
h1, h2 { text-wrap: balance; }
h1, h2, h3, h4 { color: var(--color-ink); line-height: 1.18; }
h4 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); }
a { color: var(--color-ink-2); transition: color var(--dur-short) var(--ease-out); }
a:hover { color: var(--color-rose); }
.container { max-width: var(--container); }
.wrap-narrow { max-width: 760px; margin-inline: 0 auto; }
.section { padding-block: var(--space-3xl); }
.section--blush { background: var(--color-paper-2); }
.section--lav { background: var(--color-paper-3); }
.section--plum { background: var(--color-lilac); color: var(--color-ink); --color-on-dark: var(--color-ink); --color-on-dark-2: var(--color-ink-2); }
.section--plum h2, .section--plum h3 { color: var(--color-ink); }
.section--plum a:not(.btn) { color: var(--color-ink-2); }
.section-head { margin-bottom: var(--space-xl); max-width: 680px; }
.section-head h2::after { content: ""; display: block; width: 56px; height: 2px; margin-top: var(--space-md); background: var(--color-rose); border-radius: 2px; transform-origin: right center; }
.section-head p { color: var(--color-muted); margin-top: var(--space-sm); font-size: var(--text-lead); line-height: 1.5; }
.section--plum .section-head p { color: var(--color-ink-2); }
.muted { color: var(--color-muted); }
.prose p + p { margin-top: var(--space-md); }
.prose h2 { margin-top: var(--space-2xl); margin-bottom: var(--space-md); }
.prose h2:first-child { margin-top: 0; }
.prose > div + div { margin-top: var(--space-2xl); }
.prose h3 { margin-top: var(--space-xl); margin-bottom: var(--space-xs); }
.prose ul { margin: var(--space-md) 0 0; padding-inline-start: 1.25em; }
.prose li + li { margin-top: var(--space-xs); }
.todo { background: var(--color-rose-soft); color: var(--color-rose); font-weight: 600; padding: 0 var(--space-2xs); border-radius: var(--space-2xs); }

/* Focus: one ring colour on every surface, all of them light now */
.course :focus-visible, .section--plum :focus-visible, .site-footer :focus-visible, .form-card :focus-visible { outline-color: var(--color-focus); }

/* Buttons: one violet fill, one quiet outline, one WhatsApp */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: var(--space-sm) var(--space-lg); border-radius: var(--radius-pill); font-family: var(--font-body); font-weight: 600; font-size: 1.0625rem; line-height: 1.2; white-space: nowrap; text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none; }
.btn-primary { background: var(--color-accent); color: var(--color-accent-ink); }
.btn-primary:hover { background: var(--color-accent-hover); color: var(--color-accent-ink); }
.btn-secondary, .btn-outline { background: transparent; color: var(--color-ink-2); border-color: var(--color-lilac-2); }
.btn-secondary:hover, .btn-outline:hover { background: var(--color-paper-3); color: var(--color-ink); border-color: var(--color-ink-2); }
.section--plum .btn-primary, .on-plum .btn-primary { background: var(--color-accent); color: var(--color-accent-ink); }
.section--plum .btn-primary:hover { background: var(--color-accent-hover); color: var(--color-accent-ink); }
.btn-wa { background: var(--color-wa); color: var(--color-accent-ink); }
.btn-wa:hover { background: var(--color-wa-hover); color: var(--color-accent-ink); }
.btn-wa-outline { background: transparent; color: var(--color-wa); border-color: var(--color-wa); }
.btn-wa-outline:hover { background: var(--color-wa); color: var(--color-accent-ink); }
.btn-block { width: 100%; }
.text-link { font-weight: 600; color: var(--color-ink-2); text-decoration: underline; text-decoration-color: var(--color-lilac-2); text-decoration-thickness: 2px; text-underline-offset: 0.22em; transition: color var(--dur-short) var(--ease-out), text-decoration-color var(--dur-short) var(--ease-out); }
.text-link:hover { color: var(--color-ink); text-decoration-color: var(--color-rose); }

/* Nav (shared on every page) */
.navbar { position: sticky; top: 0; z-index: var(--z-sticky-nav); background: var(--color-paper); border-bottom: var(--rule-hair) solid var(--color-rule); }
.navbar::after { content: ""; position: absolute; inset-inline: 0; top: 100%; height: 18px; background: linear-gradient(var(--color-shadow), transparent); opacity: 0; pointer-events: none; transition: opacity var(--dur-long) var(--ease-out); }
.navbar.is-scrolled::after { opacity: 1; }
.navbar-content { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: 68px; }
.navbar-logo { font-family: var(--font-display); font-weight: 500; font-size: 1.55rem; color: var(--color-ink-2); text-decoration: none; white-space: nowrap; }
.navbar-menu { display: flex; align-items: center; gap: var(--space-lg); margin: 0; padding: 0; list-style: none; }
.nav-item { position: relative; }
.nav-link { white-space: nowrap; display: inline-flex; align-items: center; gap: var(--space-2xs); min-height: 44px; color: var(--color-ink); font-weight: 600; font-size: 1rem; text-decoration: none; cursor: pointer; background: none; border: 0; padding: 0; transition: color var(--dur-short) var(--ease-out); }
.nav-link:hover, .nav-link[aria-current="page"] { color: var(--color-rose); }
.nav-link i { font-size: 0.7em; }
.dropdown { position: absolute; top: 100%; inset-inline-start: 0; min-width: 240px; padding: var(--space-xs); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); box-shadow: var(--shadow-card); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), visibility var(--dur-short); }
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown { opacity: 1; visibility: visible; transform: none; }
.dropdown a { display: flex; align-items: center; gap: var(--space-xs); min-height: 44px; padding: var(--space-xs) var(--space-sm); border-radius: var(--space-xs); color: var(--color-ink); text-decoration: none; transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out); }
.dropdown a:hover { background: var(--color-paper-3); color: var(--color-ink-2); }
.dropdown a i { color: var(--color-muted); width: 1.1em; }
.nav-cta { min-height: 44px; padding-block: var(--space-xs); font-size: 1rem; }
.mobile-menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: none; border: var(--rule-hair) solid var(--color-rule); border-radius: var(--space-xs); color: var(--color-ink-2); font-size: 1.2rem; cursor: pointer; }
.mobile-menu-btn:hover { background: var(--color-paper-3); }
.mobile-menu-panel { display: none; position: fixed; inset-inline: 0; top: 68px; z-index: var(--z-dropdown); max-height: calc(100dvh - 68px); overflow-y: auto; flex-direction: column; gap: var(--space-2xs); padding: var(--space-md) var(--gutter) var(--space-xl); background: var(--color-paper); border-bottom: var(--rule-hair) solid var(--color-rule); }
.mobile-menu-panel a { display: flex; align-items: center; min-height: 44px; color: var(--color-ink); font-weight: 600; font-size: 1.0625rem; text-decoration: none; }
.menu-group { margin-top: var(--space-sm); font-size: var(--text-sm); color: var(--color-muted); }
.menu-rule { border-top: var(--rule-hair) solid var(--color-rule); margin-top: var(--space-xs); }

/* Hero */
.hero { position: relative; display: grid; align-items: center; min-height: min(calc(100svh - 68px), 860px); padding-block: var(--space-2xl); background: var(--color-paper); }
.hero > .container { position: relative; z-index: 1; width: 100%; }
.hero-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: center; }
.hero-content { max-width: 640px; }
.hero h1, .text-hero { font-size: var(--text-display); max-width: 15ch; line-height: 1.12; }
.hero-lead { margin-top: var(--space-lg); font-size: var(--text-lead); line-height: 1.6; color: var(--color-muted); max-width: 46ch; }
.cta-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-lg); margin-top: var(--space-xl); }
.proof { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: var(--space-lg) 0 0; padding: 0; list-style: none; font-size: 1rem; color: var(--color-ink); }
.proof li { display: inline-flex; align-items: center; gap: var(--space-xs); }
.proof li + li { padding-inline-start: var(--space-lg); border-inline-start: var(--rule-hair) solid var(--color-lilac-2); }
.proof .fa-star { color: var(--color-star); }
.proof a { color: inherit; text-decoration: underline; text-decoration-color: var(--color-field); text-underline-offset: 0.2em; }
.proof strong { font-weight: 600; }
.hero-photo { margin: 0; }
.hero-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: var(--radius-photo); background: var(--color-paper-3); }
.hero-photo figcaption { margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-ink-2); text-align: center; }
.hero-id { display: none; }
.only-mobile { display: none; }

/* The two lines behind the portrait: drawn once, then a slow drift */
.hero-art { position: absolute; z-index: 0; inset-block: 0; inset-inline-end: 0; width: max(calc(var(--gutter) + 420px), calc(50% - 140px)); pointer-events: none; overflow: hidden; }
.hero-art svg { position: absolute; inset: -6% -10%; width: 120%; height: 112%; }
.hero-art path { fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; vector-effect: non-scaling-stroke; }
.hero-art .line-a { stroke: var(--color-line-1); }
.hero-art .line-b { stroke: var(--color-line-2); }
.hero-art .drift-a { transform-box: fill-box; transform-origin: center; animation: drift-a 16s var(--ease-in-out) 3s infinite alternate; }
.hero-art .drift-b { transform-box: fill-box; transform-origin: center; animation: drift-b 19s var(--ease-in-out) 3s infinite alternate; }
.hero-art .line-a { animation: draw 2.8s var(--ease-soft) 0.3s both; }
.hero-art .line-b { animation: draw 3.2s var(--ease-soft) 0.7s both; }
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes drift-a { from { transform: translate(0, 0) rotate(0deg); } to { transform: translate(-14px, 10px) rotate(-2.5deg); } }
@keyframes drift-b { from { transform: translate(0, 0) rotate(0deg); } to { transform: translate(12px, -12px) rotate(2deg); } }

/* Hero entrance: self-running from visible, the head itself only moves */
@keyframes rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes settle { from { transform: translateY(10px); } to { transform: none; } }
.hero-content > h1, .hero-content > .hero-id { animation: settle 1.1s var(--ease-out) both; }
.hero-content > .hero-lead, .hero-content > .hero-subtitle { animation: rise 1s var(--ease-out) 0.15s both; }
.hero-content > .hero-who, .hero-content > .trust-badges { animation: rise 1s var(--ease-out) 0.25s both; }
.hero-content > .cta-buttons, .hero-content > .proof, .hero-content > .hero-person { animation: rise 1s var(--ease-out) 0.35s both; }
.hero-photo, .hero-form-wrapper { animation: rise 1.2s var(--ease-out) 0.2s both; }

/* Letter intro (homepage) */
.letter { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.45rem, 1.1vw + 1.1rem, 2rem); line-height: 1.5; color: var(--color-ink-2); }
.letter::before { content: ""; display: block; width: 44px; height: 54px; margin-bottom: var(--space-md); border: 2px solid var(--color-rose); border-bottom: 0; border-radius: var(--radius-arch); }
.letter strong { color: var(--color-ink); font-weight: 500; }
.letter p + p { margin-top: var(--space-md); }

/* Course band: a lilac strip framed by two hairlines, no dark field */
.course { position: relative; background: var(--color-lilac); color: var(--color-ink); padding-block: var(--space-2xl); border-block: var(--rule-hair) solid var(--color-lilac-2); }
.course-inner { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--gap-columns); align-items: center; }
.course h2 { color: var(--color-ink); font-size: clamp(1.55rem, 1.2vw + 1.15rem, 2.2rem); max-width: 26ch; }
.course p { color: var(--color-ink); margin-top: var(--space-sm); max-width: 62ch; }
.course .course-when { color: var(--color-ink-2); font-weight: 600; margin-top: var(--space-xs); }
.course .btn-primary { background: var(--color-accent); color: var(--color-accent-ink); }
.course .btn-primary:hover { background: var(--color-accent-hover); color: var(--color-accent-ink); }
.course-inner > div:last-child { justify-self: end; }

/* Entry index: numbered rows, serif numerals in mauve */
.entry-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--gap-columns); margin: 0; padding: 0; list-style: none; counter-reset: entry; }
.entry-list li { counter-increment: entry; border-top: var(--rule-hair) solid var(--color-rule); }
.entry-list a { position: relative; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-2xs) var(--space-md); padding: var(--space-lg) 0; color: var(--color-ink); text-decoration: none; }
.entry-list a::before { content: counter(entry, decimal-leading-zero); grid-row: span 2; font-family: var(--font-display); font-weight: 500; font-size: 1.6rem; color: var(--color-rose); line-height: 1.1; }
.entry-list a::after { content: ""; position: absolute; inset-inline: 0; top: -1px; height: 2px; background: var(--color-ink-2); transform: scaleX(0); transform-origin: right center; transition: transform var(--dur-long) var(--ease-out); }
.entry-list a:hover::after, .entry-list a:focus-visible::after { transform: scaleX(1); }
.entry-list h3 { transition: color var(--dur-short) var(--ease-out); }
.entry-list a:hover h3 { color: var(--color-ink-2); }
.entry-list p { color: var(--color-muted); }

/* Offer cards: soft paper on paper, an arch-cut top, one lift on hover */
.offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--space-lg) var(--gap-columns); }
.offer-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.treatment-block { margin-top: var(--space-3xl); padding-top: var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
.offer { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-xl); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: 48px 48px var(--radius-card) var(--radius-card); box-shadow: var(--shadow-card); transition: transform var(--dur-long) var(--ease-out); }
.offer:hover { transform: translateY(-4px); }
.offer h3 { font-size: var(--text-title); }
.offer p { flex: 1; color: var(--color-ink); }
.offer .btn { align-self: flex-start; }
.offer-note { margin-top: var(--space-lg); color: var(--color-muted); }
.area-links { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: var(--space-md) 0 0; padding: 0; list-style: none; }

/* Content library */
.lib-head { margin: var(--space-2xl) 0 var(--space-md); font-size: var(--text-title); color: var(--color-ink-2); }
.lib-head:first-of-type { margin-top: 0; }
.lib-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: var(--space-md) var(--gap-columns); }
.lib-item { display: block; padding: var(--space-lg); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); color: var(--color-ink); text-decoration: none; transition: border-color var(--dur-short) var(--ease-out); }
.lib-item:hover { border-color: var(--color-ink-2); color: var(--color-ink); }
.lib-item h4 { color: var(--color-ink-2); font-size: 1.15rem; margin-bottom: var(--space-2xs); }
.lib-item p { color: var(--color-muted); font-size: 1rem; }
.lib-more { margin-top: var(--space-md); }

/* FAQ */
.faq-list { display: flex; flex-direction: column; max-width: 800px; margin-inline: 0 auto; border-top: var(--rule-hair) solid var(--color-rule); }
.faq-item { border-bottom: var(--rule-hair) solid var(--color-rule); }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); min-height: 56px; padding: var(--space-md) 0; font-family: var(--font-display); font-weight: 500; font-size: 1.2rem; color: var(--color-ink); cursor: pointer; list-style: none; transition: color var(--dur-short) var(--ease-out); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; flex-shrink: 0; display: grid; place-items: center; width: 32px; height: 32px; border: var(--rule-hair) solid var(--color-lilac-2); border-radius: 50%; font-family: var(--font-body); font-size: 1.25rem; line-height: 1; color: var(--color-rose); transition: transform var(--dur-long) var(--ease-out); }
.faq-item[open] summary::after { content: "+"; transform: rotate(45deg); }
.faq-item summary:hover { color: var(--color-ink-2); }
.faq-answer, .faq-item > p { padding: 0 0 var(--space-lg); color: var(--color-ink); line-height: 1.75; max-width: 68ch; }
.faq-item[open] > .faq-answer, .faq-item[open] > p { animation: rise 0.6s var(--ease-out) both; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: center; }
.contact-grid h2 { color: var(--color-ink); }
.contact-grid .lead-p { margin-top: var(--space-md); font-size: var(--text-lead); color: var(--color-ink); }
.contact-grid .proof { color: var(--color-ink); }
.contact-grid .proof .fa-star { color: var(--color-star); }
.contact-grid .proof a { text-decoration-color: var(--color-field); }
.form-card { padding: var(--space-xl); background: var(--color-card); color: var(--color-ink); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.form-card h2, .form-card .form-title, .hero-form-card .form-title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-title); color: var(--color-ink); margin-bottom: var(--space-md); }
.field { display: block; margin-bottom: var(--space-md); }
.field span { display: block; margin-bottom: var(--space-2xs); font-weight: 600; font-size: 1rem; color: var(--color-ink); }
.field input, .field textarea, .form-card input:not([type="hidden"]) { width: 100%; height: 48px; padding: 0 var(--space-md); background: var(--color-card); color: var(--color-ink); border: var(--rule-hair) solid var(--color-field); border-radius: var(--space-sm); font-size: 1.0625rem; transition: border-color var(--dur-short) var(--ease-out); }
.field input::placeholder { color: var(--color-muted); }
.field input:hover { border-color: var(--color-ink-2); }
.field input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 1px; border-color: var(--color-ink-2); }
.field input:disabled { background: var(--color-paper-2); cursor: not-allowed; }
.field input:invalid:not(:placeholder-shown) { border-color: var(--color-error); }
.form-or { margin: var(--space-md) 0; text-align: center; font-size: 1rem; color: var(--color-muted); }
.form-note { margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); text-align: center; }

/* About band */
.about-inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--gap-columns); align-items: center; }
.about-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: var(--radius-arch); border: 6px solid var(--color-card); }
.about-section .about-text p { color: var(--color-ink) !important; }
.credential-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs) var(--gap-columns); margin: var(--space-lg) 0 0; padding: 0; list-style: none; }
.credential-list li { display: flex; align-items: baseline; gap: var(--space-xs); }
.credential-list i { color: var(--color-rose); }

/* Pain rows (couples) */
.pain-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--gap-columns); }
.pain-item { padding: var(--space-lg) 0; border-top: var(--rule-hair) solid var(--color-rule); }
.pain-item h3 { margin-bottom: var(--space-xs); }
.pain-item p { color: var(--color-muted); }

/* Chips row of related links */
.chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
.chips a { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-xs) var(--space-md); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-pill); color: var(--color-ink-2); font-weight: 600; font-size: 1rem; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out); }
.chips a:hover { background: var(--color-paper-3); border-color: var(--color-ink-2); color: var(--color-ink); }
.crosslink { max-width: 760px; padding: var(--space-lg); margin-bottom: var(--space-xl); background: var(--color-rose-soft); border-radius: var(--radius-card); }
.crosslink h3 { margin-bottom: var(--space-xs); }
.crosslink p { margin-bottom: var(--space-sm); }

/* Points row */
.points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg) var(--gap-columns); margin: 0; padding: 0; list-style: none; }
.points li { padding-top: var(--space-md); border-top: 2px solid var(--color-ink-2); }
.points h3 { margin-bottom: var(--space-xs); }
.points p { color: var(--color-muted); }
.facts { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-xl); margin: var(--space-xl) 0 0; padding: 0; list-style: none; font-weight: 600; color: var(--color-ink-2); }
.facts li { display: inline-flex; align-items: center; gap: var(--space-xs); }
.facts i { color: var(--color-rose); }
.steps { margin: var(--space-lg) 0 0; padding: 0; list-style: none; counter-reset: step; }
.steps li { counter-increment: step; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-md); padding: var(--space-lg) 0; border-top: var(--rule-hair) solid var(--color-lilac-2); }
.steps li::before { content: counter(step); display: grid; place-items: center; width: 40px; height: 40px; border: var(--rule-hair) solid var(--color-rose); border-radius: 50%; font-family: var(--font-display); font-weight: 500; font-size: 1.15rem; color: var(--color-rose); }

/* Footer: a mast row over three link columns, socials in the legal row, on lavender mist */
.site-footer { background: var(--color-paper-3); color: var(--color-ink); padding-block: var(--space-2xl) var(--space-lg); font-size: 1rem; border-top: var(--rule-hair) solid var(--color-lilac-2); }
.site-footer h3, .site-footer h4 { font-family: var(--font-display); font-weight: 500; line-height: 1.3; color: var(--color-ink); font-size: 1.1rem; margin-bottom: var(--space-sm); }
.site-footer a { color: var(--color-ink-2); text-decoration: none; }
.site-footer a:hover { color: var(--color-ink); text-decoration: underline; }
.footer-mast-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--space-lg) var(--gap-columns); padding-bottom: var(--space-xl); border-bottom: var(--rule-hair) solid var(--color-lilac-2); }
.site-footer .footer-name { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.9rem, 1.5vw + 1.3rem, 2.6rem); line-height: 1.1; color: var(--color-ink-2); margin-bottom: var(--space-sm); }
.footer-reg { margin-top: var(--space-sm); color: var(--color-ink-2); }
.footer-contact { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: 0; padding: 0; list-style: none; font-weight: 600; color: var(--color-ink); }
.footer-contact a { color: var(--color-ink); }
.footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg) var(--gap-columns); padding-block: var(--space-xl); }
.footer-grid ul { margin: 0; padding: 0; list-style: none; line-height: 2; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-md); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-lilac-2); color: var(--color-muted); }
.footer-legal .social-bar { margin: 0; justify-content: flex-start; }
.social-bar { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-lg); }
.social-bar a { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 44px; padding: var(--space-xs) var(--space-md); border: var(--rule-hair) solid var(--color-lilac-2); border-radius: var(--radius-pill); font-weight: 600; font-size: 1rem; text-decoration: none; transition: border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out); }
.site-footer .social-bar a:hover { background: var(--color-card); border-color: var(--color-ink-2); text-decoration: none; }
.related-band { padding-block: var(--space-2xl); background: var(--color-paper-2); }

/* Mobile sticky bar and floating WhatsApp */
.mobile-sticky-footer, .mobile-sticky, .mobile-footer { display: none; position: fixed; inset-inline: 0; bottom: 0; z-index: var(--z-sticky); gap: var(--space-xs); padding: var(--space-xs) var(--space-md) calc(var(--space-xs) + env(safe-area-inset-bottom)); background: var(--color-paper); border-top: var(--rule-hair) solid var(--color-rule); }
.sticky-btn, .mf-btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; border-radius: var(--radius-pill); color: var(--color-accent-ink); font-weight: 600; font-size: 1.0625rem; text-decoration: none; }
.sticky-call { background: var(--color-accent); }
.sticky-wa { background: var(--color-wa); }
.sticky-call:hover, .sticky-wa:hover { color: var(--color-accent-ink); }
.floating-wa { position: fixed; bottom: var(--space-lg); inset-inline-end: var(--space-lg); z-index: var(--z-raised); display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--color-wa); color: var(--color-accent-ink); font-size: 1.75rem; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out); }
.floating-wa:hover { background: var(--color-wa-hover); color: var(--color-accent-ink); }

/* Inner-page hero with form: the head on paper, the form on the lilac panel */
.hero-section { min-height: 0; padding-block: var(--space-2xl); overflow: hidden; isolation: isolate; }
.hero-section::after { content: ""; position: absolute; z-index: -1; inset-block: 0; inset-inline-end: 0; width: max(calc(var(--gutter) + 420px), calc(42% - 40px)); background: var(--color-lilac); border-end-start-radius: 160px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: center; }
.trust-badges { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: 0 0 var(--space-lg); padding: 0; list-style: none; color: var(--color-ink-2); font-weight: 600; font-size: 1rem; }
.trust-badges li { display: inline-flex; align-items: center; gap: var(--space-xs); }
.trust-badges i { color: var(--color-rose); }
.hero-subtitle { margin-top: var(--space-lg); font-size: var(--text-lead); line-height: 1.6; color: var(--color-muted); max-width: 46ch; }
.hero-subtitle + .trust-badges { margin-top: var(--space-lg); }
.hero-person { display: flex; align-items: center; gap: var(--space-md); margin-top: var(--space-xl); }
.hero-person img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; box-shadow: 0 0 0 4px var(--color-card), 0 0 0 5px var(--color-lilac-2); }
.hero-person p { font-size: 1rem; color: var(--color-muted); }
.hero-person strong { display: block; color: var(--color-ink); font-size: 1.0625rem; }
.hero-form-card { padding: var(--space-xl); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.hero-form-card .proof { justify-content: center; margin-top: var(--space-md); font-size: 0.95rem; }

/* Banner hero */
.hero-banner { min-height: 0; padding-block: var(--space-2xl); background: var(--color-paper-2); }
.hero-banner .hero-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
.hero-banner .hero-photo img { aspect-ratio: 1; }
.hero-banner .hero-photo { max-width: 340px; justify-self: end; }

/* Home hero: paper text column beside a soft lilac panel; the portrait stands in an arch */
.hero--split { overflow: hidden; isolation: isolate; }
.hero--split::after { content: ""; position: absolute; z-index: -1; inset-block: 0; inset-inline-end: 0; width: max(calc(var(--gutter) + 420px), calc(50% - 140px)); background: var(--color-lilac); border-end-start-radius: 200px; }
.hero--split .hero-photo { position: relative; width: 100%; max-width: 360px; justify-self: end; padding: var(--space-lg) 0; }
.hero--split .hero-photo img { position: relative; border-radius: var(--radius-arch); border: 8px solid var(--color-card); box-shadow: var(--shadow-card); }
.hero--split .hero-photo::before { content: ""; position: absolute; inset: calc(var(--space-lg) - 14px) -14px auto; aspect-ratio: 0.812; border: var(--rule-hair) solid var(--color-ink-2); border-radius: var(--radius-arch); opacity: 0.35; animation: breathe 7s var(--ease-in-out) 1.5s infinite alternate; }
@keyframes breathe { from { transform: scale(1); opacity: 0.35; } to { transform: scale(1.025); opacity: 0.6; } }
.hero--split .hero-photo figcaption { color: var(--color-ink-2); }
.hero-cred { margin-top: var(--space-md); font-size: 0.95rem; color: var(--color-muted); }
.hero-cred.only-mobile { display: none; }
.hero-who { margin-top: var(--space-sm); font-weight: 600; color: var(--color-ink-2); }

/* Two-up compositions */
.hello-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--gap-columns); align-items: start; }
.hello-grid .letter p + p { margin-top: var(--space-md); }
.pair-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gap-columns); align-items: start; }
.pair-panel { padding: var(--space-xl); background: var(--color-card); border-radius: 48px 48px var(--radius-card) var(--radius-card); box-shadow: var(--shadow-card); }
.pair-lead { margin: var(--space-sm) 0 var(--space-lg); font-size: var(--text-lead); line-height: 1.5; }
.row-list { margin: 0; padding: 0; list-style: none; border-top: var(--rule-hair) solid var(--color-lilac-2); }
.row-list li { padding: var(--space-lg) 0; border-bottom: var(--rule-hair) solid var(--color-lilac-2); }
.row-list h3 { margin-bottom: var(--space-2xs); }
.row-list p { color: var(--color-muted); margin-bottom: var(--space-xs); }
.note-panel { padding: var(--space-xl); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-lilac-2); border-radius: 48px 48px var(--radius-card) var(--radius-card); }
.note-panel::before { content: ""; display: block; width: 36px; height: 44px; margin-bottom: var(--space-md); border: 2px solid var(--color-rose); border-bottom: 0; border-radius: var(--radius-arch); }
.note-panel h2 { font-size: var(--text-title); margin-bottom: var(--space-sm); }
.note-panel p + p { margin-top: var(--space-sm); }
.split-prose { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--gap-columns); align-items: start; }
.split-prose > h2 { position: sticky; top: calc(68px + var(--space-lg)); }
.split-prose .prose, .split-prose .steps { max-width: 68ch; }
.steps-note { margin-top: var(--space-md); }
.faq-layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--gap-columns); align-items: start; }
.faq-layout .section-head { position: sticky; top: calc(68px + var(--space-lg)); margin-bottom: 0; }
.faq-layout .faq-list { max-width: none; margin: 0; }
.section-head p .text-link { font-size: inherit; }

/* Trust: who she is, set as a ledger beside its head, then how a first meeting goes on the lilac */
.trust { background: var(--color-paper); padding-block: var(--space-3xl) var(--space-2xl); }
.trust-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--gap-columns); align-items: start; }
.trust-head h2 { font-size: var(--text-section); }
.trust-head h2::after { content: ""; display: block; width: 56px; height: 2px; margin-top: var(--space-md); background: var(--color-rose); border-radius: 2px; }
.trust-head p { margin-top: var(--space-md); font-size: var(--text-lead); line-height: 1.55; color: var(--color-muted); max-width: 45ch; }
.cred-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--gap-columns); margin: 0; }
.cred-ledger > div { padding: var(--space-lg) 0; border-top: var(--rule-hair) solid var(--color-lilac-2); }
.cred-ledger dt { font-family: var(--font-display); font-weight: 500; font-size: var(--text-title); line-height: 1.25; color: var(--color-ink-2); }
.cred-ledger dd { margin: var(--space-xs) 0 0; color: var(--color-ink); max-width: 46ch; }
.first-meeting { margin-top: var(--space-2xl); padding: var(--space-xl); background: var(--color-lilac); border-radius: 48px 48px var(--radius-card) var(--radius-card); }
.first-meeting h3 { font-size: var(--text-title); color: var(--color-ink); }
.meet-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg) var(--gap-columns); margin: var(--space-lg) 0 0; padding: 0; list-style: none; counter-reset: meet; }
.meet-steps li { counter-increment: meet; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-sm); color: var(--color-ink); }
.meet-steps li::before { content: counter(meet); font-family: var(--font-display); font-weight: 500; font-size: 1.6rem; line-height: 1.1; color: var(--color-ink-2); }
.meet-steps strong { color: var(--color-ink); }
@media (max-width: 991px) {
  .trust { padding-block: var(--space-2xl); }
  .trust-grid, .meet-steps { grid-template-columns: minmax(0, 1fr); }
  .first-meeting { padding: var(--space-lg); border-radius: 32px 32px var(--radius-card) var(--radius-card); }
}
@media (max-width: 40rem) { .cred-ledger { grid-template-columns: minmax(0, 1fr); } }

/* Legacy templates (city, article, episode, book and one-off pages), moved onto the shared system.
   Their markup is kept as it was; these rules give the old class names the new look. */
.legacy section, .legacy .section { padding-block: var(--space-2xl); }
.legacy h1 { font-size: clamp(2rem, 2.6vw + 1.1rem, 3.4rem); line-height: 1.15; max-width: 22ch; }
.legacy h2 { font-size: var(--text-section); line-height: 1.15; margin-bottom: var(--space-md); }
.legacy :where(p, ul, ol, div) + h2 { margin-top: var(--space-xl); }
.legacy section p { max-width: 70ch; }
.legacy .u-center p, .legacy .u-center > ul { margin-inline: auto; }
.legacy h3 { margin-bottom: var(--space-xs); }
.legacy p + p, .legacy p + ul, .legacy ul + p, .legacy p + ol { margin-top: var(--space-md); }
.legacy ul:not([class]), .legacy ol:not([class]) { padding-inline-start: 1.25em; margin: var(--space-md) 0 0; }
.legacy ul:not([class]) li + li, .legacy ol:not([class]) li + li { margin-top: var(--space-xs); }
.legacy .highlight { color: inherit; font-weight: inherit; }
.legacy .center-text, .legacy .text-center { text-align: center; }

/* Utilities that replace the old inline styles */
.u-center { text-align: center; }
.u-center > p, .u-center > h2, .u-center > h3, .u-center > .u-row { margin-inline: auto; }
.u-narrow { max-width: 800px; margin-inline: auto; }
.u-muted { color: var(--color-muted); }
.u-small { font-size: var(--text-sm); }
.u-ink2 { color: var(--color-ink-2); }
.u-rose { color: var(--color-rose); }
.u-strong { font-weight: 600; }
.u-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-sm); }
.u-row-center { justify-content: center; }
.u-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-md) var(--gap-columns); }
.band-lav { background: var(--color-paper-3); }
.band-mist { background: var(--color-paper-2); }
.band-lilac { background: var(--color-lilac); }
.l-card { display: block; padding: var(--space-lg); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); color: var(--color-ink); text-decoration: none; }
a.l-card { transition: border-color var(--dur-short) var(--ease-out), transform var(--dur-long) var(--ease-out); }
a.l-card:hover { border-color: var(--color-ink-2); color: var(--color-ink); transform: translateY(-3px); }
.l-card + .l-card { margin-top: var(--space-md); }
.u-grid > .l-card + .l-card { margin-top: 0; }
.chip, .legacy .cta-chip, .legacy .city-card { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-xs) var(--space-md); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-pill); color: var(--color-ink-2); font-weight: 600; font-size: 1rem; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out); }
.chip:hover, .legacy .cta-chip:hover, .legacy .city-card:hover { background: var(--color-paper-3); border-color: var(--color-ink-2); color: var(--color-ink); }
.u-pill { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 44px; padding: var(--space-xs) var(--space-lg); border: var(--rule-hair) solid var(--color-lilac-2); border-radius: var(--radius-pill); color: var(--color-ink-2); font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out); }
.u-pill:hover { background: var(--color-paper-3); border-color: var(--color-ink-2); color: var(--color-ink); }
.u-bg-accent { background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent); }
.u-bg-accent:hover { background: var(--color-accent-hover); color: var(--color-accent-ink); }
.u-bg-wa { background: var(--color-wa); color: var(--color-accent-ink); border-color: var(--color-wa); }
.u-bg-wa:hover { background: var(--color-wa-hover); color: var(--color-accent-ink); }

/* Legacy chrome: the short landing-page header and the old nav variants */
.lp-header { background: var(--color-paper); border-bottom: var(--rule-hair) solid var(--color-rule); }
.header-inner, .nav-inner, .nav-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: 68px; }
.legacy .logo { font-family: var(--font-display); font-weight: 500; font-size: 1.55rem; color: var(--color-ink-2); text-decoration: none; white-space: nowrap; }
.legacy .nav-header { border-bottom: var(--rule-hair) solid var(--color-rule); }
.legacy .nav-header, .legacy .nav-inner:not(.container) { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.back-link { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 44px; color: var(--color-ink-2); font-weight: 600; text-decoration: none; }
.back-link:hover { color: var(--color-rose); }
.legacy .navbar .btn-white { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-xs) var(--space-lg); border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-accent-ink); font-weight: 600; text-decoration: none; white-space: nowrap; }
@media (max-width: 1099px) { .legacy .navbar .btn-white { display: none; } }

/* Legacy heroes */
.legacy .hero-section, .about-hero, .episode-hero, .podcast-hero, .book-hero, .page-header, .article-header, .legacy .hero { position: relative; padding-block: var(--space-2xl); background: var(--color-paper-3); }
.legacy .hero-section { background: var(--color-paper); }
.about-hero, .episode-hero, .podcast-hero, .page-header, .article-header { text-align: start; }
.article-title { font-size: clamp(2rem, 2.4vw + 1.1rem, 3.2rem); }
.article-subtitle, .about-hero p, .page-header p, .podcast-hero p, .episode-hero p { margin-top: var(--space-md); font-size: var(--text-lead); color: var(--color-muted); max-width: 60ch; }
.article-meta, .episode-meta { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin-top: var(--space-lg); color: var(--color-muted); font-size: 1rem; }
.meta-item { display: inline-flex; align-items: center; gap: var(--space-xs); }
.meta-item .fas, .meta-item .far { color: var(--color-rose); }
.episode-badge, .hero-badge, .legacy .badge, .stage-badge { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--color-ink-2); font-weight: 600; font-size: 1rem; }
.legacy .trust-badges { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: 0 0 var(--space-lg); }
.legacy .badge .fas, .legacy .badge .far, .episode-badge .fas { color: var(--color-rose); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); }
.legacy .hero-form-card input:not([type="hidden"]):not([style*="display"]) { display: block; width: 100%; height: 48px; margin-bottom: var(--space-md); padding: 0 var(--space-md); background: var(--color-card); color: var(--color-ink); border: var(--rule-hair) solid var(--color-field); border-radius: var(--space-sm); font-size: 1.0625rem; }
.legacy .hero-form-card select, .legacy .hero-form-card textarea { display: block; width: 100%; min-height: 48px; margin-bottom: var(--space-md); padding: var(--space-xs) var(--space-md); background: var(--color-card); color: var(--color-ink); border: var(--rule-hair) solid var(--color-field); border-radius: var(--space-sm); font: inherit; }
.legacy .hero-form-card input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 1px; }
.legacy .submit-btn, .legacy .cta-btn, .newsletter-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: var(--space-sm) var(--space-lg); background: var(--color-accent); color: var(--color-accent-ink); border: 0; border-radius: var(--radius-pill); font-weight: 600; font-size: 1.0625rem; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out); }
.legacy .submit-btn:hover, .legacy .cta-btn:hover, .newsletter-btn:hover { background: var(--color-accent-hover); }
.legacy .submit-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.legacy .wa-divider { margin: var(--space-md) 0; text-align: center; color: var(--color-muted); }
.legacy .wa-btn-main, .btn-whatsapp, .whatsapp-btn, .ms-wa { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); width: 100%; min-height: 48px; padding: 0 var(--space-lg); line-height: 1.2; background: transparent; color: var(--color-wa); border: 2px solid var(--color-wa); border-radius: var(--radius-pill); font-weight: 600; text-decoration: none; transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out); }
.legacy .wa-btn-main:hover, .btn-whatsapp:hover, .whatsapp-btn:hover, .ms-wa:hover { background: var(--color-wa); color: var(--color-accent-ink); }
.btn-whatsapp, .whatsapp-btn, .ms-wa { width: auto; }

/* Section heads and common bands */
.legacy .section-header, .legacy .section-title { max-width: 680px; margin-bottom: var(--space-xl); }
.legacy .section-header p { margin-top: var(--space-sm); color: var(--color-muted); font-size: var(--text-lead); }
.legacy h2.section-title::after, .legacy .section-header h2::after { content: ""; display: block; width: 56px; height: 2px; margin-top: var(--space-md); background: var(--color-rose); border-radius: 2px; }
.legacy .pain-section, .legacy .slow-section, .legacy .summary-section { background: var(--color-paper-2); }
.legacy .faq-section { background: var(--color-paper); }
.legacy .about-section { background: var(--color-lilac); }
.about-content p + p { margin-top: var(--space-md); }
.legacy .about-img img { border-radius: var(--radius-arch); }
.legacy .pain-item { padding: var(--space-lg) 0; }
.legacy .pain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 0 var(--gap-columns); }
.legacy .credential-list .fas { color: var(--color-rose); }
.legacy .social-bar p { margin-bottom: var(--space-sm); color: var(--color-muted); }
.legacy .social-bar .u-pill { color: var(--color-ink-2); background: var(--color-card); }
.legacy .social-bar .u-pill:hover { background: var(--color-paper-3); }
.legacy .mobile-sticky .sticky-btn { color: var(--color-accent-ink); }

/* Article body */
.container-narrow { width: 100%; max-width: 820px; margin-inline: auto; padding-inline: var(--gutter); }
.content-wrapper { padding-block: var(--space-2xl); font-size: 1.125rem; line-height: 1.8; }
.content-wrapper h2 { margin-top: var(--space-2xl); }
.content-wrapper h3 { margin-top: var(--space-lg); }
.content-wrapper > p, .content-wrapper li { max-width: 68ch; }
.highlight-box, .tips-box, .quote-box, .warning-box, .warn-box, .medical-box, .halacha-box, .case-box, .identity-box, .loneliness-box, .social-pressure-box, .stage-box, .step-box, .cta-box, .share-box, .author-box, .media-note, .disclaimer, .admission-note, .legacy .note, .research-quote, .story-quote, .excerpt-box, .footer-note { margin-block: var(--space-lg); padding: var(--space-lg); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-lilac); border-radius: var(--radius-card); }
.quote-box, .research-quote, .story-quote, .legacy .quote { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.55; color: var(--color-ink-2); }
.warning-box, .warn-box, .medical-box { background: var(--color-rose-soft); border-color: var(--color-line-2); }
.author-box { display: flex; flex-wrap: wrap; gap: var(--space-lg); align-items: center; background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); }
.author-box img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; }
.legacy .divider { border: 0; border-top: var(--rule-hair) solid var(--color-lilac-2); margin-block: var(--space-xl); }
.related-articles, .related-links { margin-block: var(--space-xl); }
.related-links { padding-inline-start: 1.25em; }

/* Cards: one containment layer; anything nested inside a card lies flat */
.legacy :where(.tip-card, .article-card, .cta-card, .tool-card, .press-card, .stage-card, .finding-card, .meaning-card, .benefit-card, .model-card, .author-card, .audience-card, .series-card, .service-card, .treatment-card, .purchase-card, .t-card, .svc-card, .workshop-card, .main-card, .profile-card, .structure-card, .card) { display: block; padding: var(--space-lg); background: var(--color-card); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); color: var(--color-ink); text-decoration: none; }
.legacy :where(.audience-item, .topic-item, .how-item, .process-step, .stat-item, .stat-box, .curr-item, .selftalk-item, .accordion-item) { padding: var(--space-md) 0; border-top: var(--rule-hair) solid var(--color-lilac-2); }
.legacy :is(.submit-btn, .wa-btn-main):active, :is(.btn-cta, .btn-listen, .buy-btn, .buy-btn-small, .strip-btn, .cta-big, .newsletter-btn, .chip, .u-pill, .filter-btn, .tab-btn, .l-card, .legacy .cta-btn):active { transform: translateY(1px); }
.legacy a:where(.article-card, .cta-card, .press-card, .series-card, .svc-card, .t-card, .card) { transition: border-color var(--dur-short) var(--ease-out), transform var(--dur-long) var(--ease-out); }
.legacy a:where(.article-card, .cta-card, .press-card, .series-card, .svc-card, .t-card, .card):hover { border-color: var(--color-ink-2); transform: translateY(-3px); color: var(--color-ink); }
.legacy :where(.tip-card, .article-card, .cta-card, .press-card, .finding-card, .profile-card, .card, .l-card, .highlight-box, .tips-box, .author-box) :where(.tip-card, .card, .l-card, .highlight-box, .tips-box, .quote-box, .stat-box, .audience-item, .topic-item) { padding: 0; background: none; border: 0; border-radius: 0; }
.legacy .cta-card.primary { background: var(--color-lilac); border-color: var(--color-lilac-2); }
.card-img img, .legacy .card-img { width: 100%; border-radius: var(--space-sm); }
.legacy :where(.tip-icon, .cta-card-icon, .finding-icon, .benefit-icon, .card-icon, .pc-icon, .t-icon, .wc-icon, .mc-icon, .safe-icon, .cover-icon, .quote-icon, .icon) { color: var(--color-rose); font-size: 1.5rem; margin-bottom: var(--space-xs); }
.legacy :where(.tip-number, .tool-number, .step-num, .ps-num, .hn, .stat-number) { font-variant-numeric: tabular-nums; font-family: var(--font-display); font-weight: 500; font-size: 1.6rem; color: var(--color-rose); }
.legacy .tag, .legacy .read-more, .legacy .cta-link, .legacy .svc-more { display: inline-block; margin-top: var(--space-xs); color: var(--color-ink-2); font-weight: 600; font-size: 1rem; }
.legacy :where(.tips-grid, .related-articles .grid, .articles-grid, .cta-cards, .cities-grid, .findings-grid, .meanings-grid, .stats-grid, .topics-grid, .audience-grid, .purchase-grid, .svc-grid, .how-grid, .workshop-grid, .model-grid, .grid-cards, .grid, .research-stats, .press-list, .series-list, .process-steps) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--space-md) var(--gap-columns); margin-block: var(--space-lg); }

.legacy :where(.tip-icon, .cta-card-icon, .finding-icon, .benefit-icon, .card-icon, .pc-icon, .t-icon, .wc-icon, .mc-icon, .safe-icon, .cover-icon, .quote-icon, .icon, .pc-logo):not([class*="fa-"]):empty { display: none; }
.card-kind, .stage-age, .episode-source, .hero-note, .book-note { display: block; margin-bottom: var(--space-xs); color: var(--color-rose); font-size: 1rem; font-weight: 600; }
.episode-source .fas, .episode-source .fab { margin-inline-end: var(--space-xs); }
.press-outlet > span + span { border-inline-start: var(--rule-hair) solid var(--color-lilac-2); margin-inline-start: var(--space-xs); padding-inline-start: var(--space-xs); }
.legacy .pc-logo { color: var(--color-rose); font-size: 1.5rem; }
.legacy .cities-grid { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.legacy .hero { display: block; min-height: 0; }
.legacy :is(.hero, .podcast-hero, .page-header, .about-hero, .episode-hero, .book-hero, .article-header) + .container { padding-block: var(--space-2xl); }
.legacy .hero h1 { font-size: clamp(2rem, 2.6vw + 1.1rem, 3.4rem); }
.legacy .hero p { margin-top: var(--space-md); font-size: var(--text-lead); color: var(--color-muted); max-width: 60ch; }
.legacy .intro, .legacy .series-desc { margin-block: var(--space-xl); max-width: 75ch; margin-inline: auto; }
.legacy :is(.l-card, .press-card, .article-card, .tip-card, .cta-card, .series-card, .finding-card, .card, .svc-card, .t-card) :is(h2, h3) { font-size: var(--text-title); line-height: 1.3; max-width: none; }
.legacy .press-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-md); align-items: start; }
.legacy .press-outlet { display: block; margin-bottom: var(--space-xs); color: var(--color-muted); font-size: 1rem; }
.u-stack { display: flex; flex-direction: column; gap: var(--space-sm); }
.legacy li.u-row { flex-wrap: nowrap; align-items: baseline; }
.legacy li.u-row > :last-child { flex: 1 1 auto; min-width: 0; }
.legacy details.l-card + details.l-card { margin-top: 0; }
.legacy details summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.legacy details[open] summary { margin-bottom: var(--space-xs); }
/* About: portrait beside the introduction */
.legacy .profile-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--gap-columns); align-items: center; }
.legacy .profile-img-col img { width: 100%; aspect-ratio: 0.812; object-fit: cover; object-position: 50% 20%; border-radius: var(--radius-arch); box-shadow: none; }
.legacy .quote { margin-bottom: var(--space-md); }
@media (max-width: 767px) {
  .legacy .profile-card { grid-template-columns: minmax(0, 1fr); }
  .legacy .profile-img-col { max-width: 300px; margin-inline: auto; }
}
/* Podcasts: series cover beside the episode list */
.legacy .series-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--gap-columns); margin-block: var(--space-xl); padding: var(--space-lg); }
.legacy .series-cover { display: grid; place-items: center; align-self: start; min-height: 220px; padding: var(--space-lg); background: var(--color-paper-3); border-radius: 96px 96px var(--radius-card) var(--radius-card); text-align: center; }
.legacy .series-cover h2 { font-size: var(--text-title); }
.legacy .series-content .listen-links { margin-block: var(--space-md); }
.legacy .episodes-list { display: grid; gap: var(--space-sm); margin-top: var(--space-md); }
.legacy .episodes-title { font-weight: 600; color: var(--color-ink-2); }
.legacy .spotify-embed { min-height: 152px; background: var(--color-paper-2); border-radius: var(--radius-card); }
@media (max-width: 767px) { .legacy .series-card { grid-template-columns: minmax(0, 1fr); } }
/* Page scripts that toggle .active (sexual-therapy accordion, free-chapters tabs) */
.legacy .accordion-content { max-height: 0; overflow: hidden; transition: max-height var(--dur-long) var(--ease-out); }
.legacy .accordion-item.active .accordion-content { max-height: 40rem; padding-bottom: var(--space-md); }
.legacy .accordion-item.active .accordion-header .fa-chevron-down { transform: rotate(180deg); }
.legacy .chapter-content { display: none; }
.legacy .chapter-content.active { display: block; }
.legacy .navbar + .container, .legacy .nav-header + .container, .legacy .lp-header + .container { padding-top: var(--space-xl); }
/* Book pages: cover beside the pitch */
.legacy .book-hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--gap-columns); align-items: center; padding-block: var(--space-xl); background: none; }
.legacy .book-img-wrapper { max-width: 360px; }
.legacy .book-img { width: 100%; }
.legacy .book-content { padding-block: var(--space-lg); }
.legacy .book-content .tagline { font-size: var(--text-lead); color: var(--color-ink-2); margin-top: var(--space-xs); }
.legacy .book-content h2.tagline { font-size: var(--text-section); color: var(--color-ink); }
.legacy .book-content .description { margin-top: var(--space-md); }
.legacy .book-content .actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
@media (max-width: 767px) { .legacy .book-hero { grid-template-columns: minmax(0, 1fr); } .legacy .book-img-wrapper { max-width: 240px; margin-inline: auto; } }
.legacy .hero-content > img:first-child { display: block; width: min(220px, 60%); margin: 0 auto var(--space-md); }
.legacy .input-group { margin-bottom: var(--space-sm); }
.legacy .cta-form input:not([type="hidden"]):not([type="checkbox"]), .legacy .newsletter-form input:not([type="hidden"]) { width: 100%; }
.legacy a:has(h2, h3, h4, p) { display: block; color: inherit; text-decoration: none; }
.legacy a:has(h2, h3, h4, p):hover :is(h2, h3, h4) { color: var(--color-rose); }
.legacy .hero-content h1 + h2 { margin-top: var(--space-md); font-family: var(--font-body); font-weight: 400; font-size: var(--text-lead); line-height: 1.6; color: var(--color-muted); max-width: 60ch; margin-inline: auto; }
.legacy .hero-content > img:not(:first-child) { display: block; width: min(100%, 360px); margin: var(--space-lg) auto; border-radius: var(--radius-arch); aspect-ratio: 0.812; object-fit: cover; object-position: 50% 20%; }
.legacy ul:not([class]):has(> li > [class*="fa-"]:first-child) { list-style: none; padding-inline-start: 0; }
.legacy li > [class*="fa-"]:first-child { color: var(--color-rose); margin-inline-end: var(--space-2xs); }
/* Render-check fixes: control heights, closed disclosures, tight boxes */
.legacy .doc-head { margin-bottom: var(--space-lg); padding-bottom: var(--space-md); border-bottom: var(--rule-hair) solid var(--color-rule); }
.legacy .doc-head .updated { margin-top: var(--space-xs); color: var(--color-muted); }
.legacy .accordion-content { display: none; }
.legacy .accordion-item.active .accordion-content { display: block; }
.legacy .accordion-header { min-height: 48px; padding-block: var(--space-xs); }
.legacy details:not([open]) > :not(summary) { display: none; }
.legacy details.l-card { padding-block: var(--space-sm); }
.legacy :is(.btn-primary, .btn-secondary) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-lg); }
.legacy form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) { min-height: 44px; padding-inline: var(--space-sm); }
.legacy button:is(.u-bg-wa, .u-bg-accent) { min-height: 44px; padding: 0 var(--space-md); border-radius: var(--radius-pill); }
.legacy :is(div, p, span).band-lilac, .legacy :is(div, p, span).band-lav { padding: var(--space-lg); border-radius: var(--radius-card); }
.legacy :is(p, span).band-lilac, .legacy :is(p, span).band-lav { padding: var(--space-xs) var(--space-sm); }
.legacy :where(p, ul, ol, div) + h3 { margin-top: var(--space-lg); }
.legacy .submit-btn { white-space: nowrap; }
@media (max-width: 400px) { .legacy .submit-btn { padding-inline: var(--space-sm); font-size: 1rem; } }
.legacy .cta-form .cta-btn { width: auto; padding-inline: var(--space-xl); }
.legacy .workshop-card, .legacy .grid-cards > * { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-sm); align-content: start; }
.legacy .workshop-card > [class*="icon"]:first-child, .legacy .grid-cards > * > [class*="icon"]:first-child { grid-row: 1; margin: 0; }
.legacy .workshop-card > :not(:first-child), .legacy .grid-cards > * > :not(:first-child) { grid-column: 1 / -1; }
.legacy .workshop-card > h3:nth-child(2), .legacy .grid-cards > * > h3:nth-child(2) { grid-column: 2; grid-row: 1; margin: 0; align-self: center; }
.legacy .hero-section .hero-content > img:first-child { width: min(110px, 40%); }
.legacy .hero-section .hero-content > img:not(:first-child) { width: min(100%, 160px); margin-block: var(--space-md); }
.legacy iframe:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.legacy .summary-section { padding: var(--space-xl) var(--space-lg); border-radius: var(--radius-card); }
.legacy .summary-section + .summary-section { margin-top: var(--space-lg); }
.legacy .hero-section:has(.hero-content > img) { padding-block: var(--space-xl); }
.legacy .hero-section:has(.hero-content > img) .hero-grid { align-items: start; }
.legacy .navbar .btn-primary { white-space: nowrap; }
@media (max-width: 360px) { .legacy .navbar .btn-primary { padding-inline: var(--space-sm); font-size: 0.95rem; } }
.legacy iframe:focus, .legacy iframe.has-focus { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.legacy :is(.spotify-embed, .youtube-embed):focus-within { box-shadow: 0 0 0 3px var(--color-focus); border-radius: var(--radius-card); }
/* Legacy buttons */
.strip-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: 0 var(--space-lg); line-height: 1.2; color: var(--color-ink-2); border: 2px solid var(--color-ink-2); border-radius: var(--radius-pill); font-weight: 600; text-decoration: none; white-space: nowrap; }
.strip-btn:hover { background: var(--color-paper-3); color: var(--color-ink); }
:is(.btn-cta, .btn-listen, .buy-btn, .buy-btn-small, .share-btn, .btn-soft, .cta-big, .read-sample, .btn-white) { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); min-height: 48px; padding: 0 var(--space-lg); line-height: 1.2; background: var(--color-accent); color: var(--color-accent-ink); border: 2px solid var(--color-accent); border-radius: var(--radius-pill); font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out); }
:is(.btn-cta, .btn-listen, .buy-btn, .buy-btn-small, .share-btn, .btn-soft, .cta-big, .read-sample, .btn-white):hover { background: var(--color-accent-hover); color: var(--color-accent-ink); }
:is(.btn-spotify, .btn-youtube, .btn-soft, .share-btn, .read-sample) { background: transparent; color: var(--color-ink-2); border-color: var(--color-lilac-2); }
:is(.btn-spotify, .btn-youtube, .btn-soft, .share-btn, .read-sample):hover { background: var(--color-paper-3); color: var(--color-ink); }
.legacy :where(.filter-btn, .tab-btn) { min-height: 44px; padding: var(--space-xs) var(--space-md); background: var(--color-card); color: var(--color-ink-2); border: var(--rule-hair) solid var(--color-lilac-2); border-radius: var(--radius-pill); font-weight: 600; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out); }
.legacy :where(.filter-btn, .tab-btn):hover, .legacy :where(.filter-btn, .tab-btn).active { background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent); }
.legacy .listen-links, .legacy .cta-chips, .legacy .final-cta-buttons, .legacy .hero-ctas, .legacy .excerpt-ctas, .legacy .share-btns, .legacy .author-links, .legacy .pc-links, .legacy .tabs, .legacy .filter-section { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-block: var(--space-md); }
.legacy .cta-section { margin-block: var(--space-xl); padding: var(--space-xl); background: var(--color-lilac); border-radius: 48px 48px var(--radius-card) var(--radius-card); }
.legacy .cta-section h2, .legacy .cta-section h3 { color: var(--color-ink); }
.legacy .accordion-header { display: flex; justify-content: space-between; gap: var(--space-md); width: 100%; min-height: 48px; padding: var(--space-sm) 0; background: none; border: 0; font-family: var(--font-display); font-weight: 500; font-size: 1.15rem; color: var(--color-ink); text-align: start; cursor: pointer; }
.legacy .spotify-embed iframe, .legacy .youtube-embed iframe, .legacy .youtube-embed { width: 100%; border: 0; border-radius: var(--radius-card); }
.legacy .newsletter-input, .legacy .cta-form input:not([type="hidden"]):not([type="checkbox"]), .legacy .newsletter-form input:not([type="hidden"]) { height: 48px; padding: 0 var(--space-md); border: var(--rule-hair) solid var(--color-field); border-radius: var(--space-sm); background: var(--color-card); color: var(--color-ink); }
.legacy .info-table { width: 100%; border-collapse: collapse; margin-block: var(--space-lg); }
.legacy .info-table th, .legacy .info-table td { padding: var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); text-align: start; }
.legacy .book-img, .legacy .book-img-wrapper img, .legacy .profile-img-col img { border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.legacy .timeline-section { background: var(--color-paper-2); }
.legacy .contact-banner { background: var(--color-lilac); padding-block: var(--space-2xl); text-align: center; }
.legacy .contact-banner .container > * + * { margin-top: var(--space-md); }
.legacy footer:not(.site-footer), .legacy .footer { padding-block: var(--space-xl); background: var(--color-paper-3); color: var(--color-muted); text-align: center; }
@media (max-width: 991px) {
  .legacy .mobile-sticky { display: flex; }
  .legacy .hero-grid { grid-template-columns: minmax(0, 1fr); }
}

/* The one reveal: scoped under html.js, so the page reads in full with scripting off */
.js .rv { opacity: 0; transform: translateY(18px); transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out); transition-delay: calc(var(--rv-i, 0) * 80ms); }
.js .rv.in { opacity: 1; transform: none; }
.js .section-head.rv h2::after { transform: scaleX(0); transition: transform 1.1s var(--ease-out) 0.3s; }
.js .section-head.rv.in h2::after { transform: scaleX(1); }

@media (max-width: 1099px) {
  .navbar-menu, .nav-cta { display: none; }
  .mobile-menu-btn { display: inline-flex; }
}
@media (max-width: 991px) {
  .mobile-sticky-footer, .mobile-sticky, .mobile-footer { display: flex; }
  body { padding-bottom: 72px; }
  .floating-wa { display: none; }
  .hero { min-height: 0; padding-block: var(--space-xl) var(--space-2xl); }
  .hero-layout, .hero-grid, .contact-grid, .about-inner, .course-inner, .hero-banner .hero-layout, .hello-grid, .pair-grid, .split-prose, .faq-layout, .offer-grid--2 { grid-template-columns: minmax(0, 1fr); }
  .course-inner > div:last-child { justify-self: start; }
  .split-prose > h2, .faq-layout .section-head { position: static; }
  .faq-layout .section-head { margin-bottom: var(--space-md); }
  .hero--split { background: var(--color-paper-3); }
  .hero--split::after, .hero-section::after { display: none; }
  .hero-section { background: var(--color-paper-3); }
  .hero-art { width: 100%; opacity: 0.5; }
  .hero-art svg { inset: 10% -30% -10% -30%; width: 160%; height: 100%; }
  .treatment-block { margin-top: var(--space-2xl); padding-top: var(--space-xl); }
  .pair-panel, .note-panel { padding: var(--space-lg); }
  .hero-photo, .hero-person { display: none; }
  .only-mobile { display: flex; }
  .hero-cred.only-mobile { display: block; }
  .cta-buttons .btn-primary { flex: 1 1 100%; }
  .hero-id { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-lg); }
  .hero-id img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; box-shadow: 0 0 0 3px var(--color-card), 0 0 0 4px var(--color-lilac-2); }
  .hero-id p { font-size: 0.95rem; line-height: 1.4; color: var(--color-muted); }
  .hero-id strong { display: block; color: var(--color-ink); font-size: 1.05rem; }
  .entry-list, .pain-grid, .points { grid-template-columns: minmax(0, 1fr); }
  .footer-mast-row { align-items: start; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-img { max-width: 240px; }
  .section { padding-block: var(--space-2xl); }
  .offer, .pair-panel, .note-panel { border-radius: 32px 32px var(--radius-card) var(--radius-card); }
}
@media (max-width: 40rem) {
  .credential-list, .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .cta-buttons .btn-primary { flex: 1 1 100%; }
  .form-card, .hero-form-card { padding: var(--space-lg); }
  .proof li + li { padding-inline-start: 0; border-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-art .line-a, .hero-art .line-b, .hero-art .drift-a, .hero-art .drift-b, .hero--split .hero-photo::before { animation: none; }
  .hero-content > *, .hero-photo, .hero-form-wrapper, .faq-item[open] > .faq-answer, .faq-item[open] > p { animation: none; }
  .js .rv, .js .rv.in { opacity: 1; transform: none; transition: none; }
  .js .section-head.rv h2::after { transform: none; transition: none; }
  .btn:hover, .offer:hover { transform: none; }
  .entry-list a::after, .faq-item summary::after { transition: none; }
  .legacy .accordion-content, a.l-card, .legacy a:where(.article-card, .cta-card, .press-card, .series-card, .svc-card, .t-card, .card) { transition: none; }
  a.l-card:hover, .legacy a:where(.article-card, .cta-card, .press-card, .series-card, .svc-card, .t-card, .card):hover { transform: none; }
}
