/* Shared four-page layout; the existing identity, typography and palette remain. */
html { --section-header-height: 90px; scroll-padding-top: 0; }
.warm #main > [id], .warm #book-a-call { scroll-margin-top: var(--section-header-height); }
.warm #main > #services { scroll-margin-top: var(--section-header-height); border-top: 0; padding-top: var(--page-top-space); }
.warm #main > #credentials { scroll-margin-top: var(--section-header-height); }
.warm #consultation #book-a-call { scroll-margin-top: var(--section-header-height); }
.warm #site-nav { scroll-target-group: auto; }
.warm .section-links { display: flex; align-items: center; gap: clamp(.75rem,1.5vw,1.5rem); }
.warm #site #site-nav a[aria-current="location"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em; }
.warm #site #site-nav a:not(.button):is(:target-current,.is-current)[aria-current="location"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em; }
.warm #consultation .contact-inner { display: block; }
.warm #contact { padding-top: clamp(2.5rem,5vw,4rem); }
.warm #contact .contact-support-layout { margin-top: 0; }
@media(max-width:960px) {
 .warm .section-links { flex-direction: column; align-items: stretch; gap: .25rem; width: 100%; }
 .warm .section-links a { display: flex; align-items: center; min-height: 44px; }
}
html:not([data-js]) .warm .menu-button { display: none; }
@media(max-width:960px) {
 html:not([data-js]) .warm .header-inner { flex-wrap: wrap; }
 html:not([data-js]) .warm #site-nav { display: flex; position: static; width: 100%; padding: .5rem 0; box-shadow: none; flex-wrap: wrap; }
 html:not([data-js]) .warm .section-links { flex-direction: row; flex-wrap: wrap; gap: .25rem 1rem; }
}
.warm #site .eyebrow::before { margin: 0; width: 1.125rem; flex-basis: 1.125rem; }
.warm .page-intro { padding-block: 0 2rem; }
.warm .page-intro :is(h1,h2) { font: 400 clamp(2rem,4.5vw,3.5rem)/1.15 var(--heading); max-width: 23ch; margin: .5rem 0 1.25rem; }
.warm .page-intro > p:last-child { max-width: 65ch; color: var(--muted); font-size: 1.125rem; line-height: 1.65; }
.warm .process-grid p { color: #e5ece7; }
.warm .process-grid h3 { color: #fffefa; }
.warm #how-it-works .section-heading { margin-bottom: 1.5rem; }
.warm #how-it-works .process-grid li { border: 0; padding: 0; }
.warm #how-it-works .process-grid h3 { margin-bottom: .625rem; }
.warm .support-levels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.warm .support-level { padding: clamp(1.25rem,3vw,2rem); background: var(--soft); border: 1px solid var(--line); border-radius: 1rem; }
.warm .support-level h2 { font-size: 1.75rem; margin: .5rem 0 1rem; }
.warm .support-level p { line-height: 1.65; }
.warm .support-levels { align-items: start; }
.warm .support-level { display: flex; flex-direction: column; translate: 0 0; transition: border-color 180ms ease, box-shadow 180ms ease; }
html[data-js] .warm .support-level { cursor: pointer; }
.warm .support-level:is(:hover,:focus-within,:has(.support-examples[open])) { border-color: var(--orange-ui); box-shadow: 0 8px 24px #00000012; }
.warm .support-examples { margin-top: auto; padding-top: 1.5rem; }
.warm .support-examples > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; min-height: 44px; font-weight: 600; }
.warm .support-examples > summary > span { text-decoration: underline; text-underline-offset: .2em; }
.warm .support-examples > summary::-webkit-details-marker { display: none; }
.warm .support-examples > summary::after { content: '+'; font-size: 1.5rem; font-weight: 400; color: var(--orange-ui); }
.warm .support-examples[open] > summary::after { content: '−'; }
.warm .support-examples > summary:is(:hover,:focus-visible) { color: var(--orange-text); }
.warm .support-examples > summary:focus-visible { outline: 2px solid var(--orange-ui); outline-offset: 4px; }
.warm .support-examples .examples-open,.warm .support-examples[open] .examples-closed { display: none; }
.warm .support-examples[open] .examples-open { display: inline; }
.warm .support-examples ul { margin: .75rem 0 0; padding-left: 1.25rem; color: var(--muted); }
.warm .support-examples li { padding-left: .125rem; line-height: 1.65; }
.warm .support-examples li + li { margin-top: .625rem; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .warm .support-level { transition: translate 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
 .warm .support-level:hover { translate: 0 -3px; }
}
@media(min-width:961px) { .warm .support-level { min-height: 24rem; } }
.warm .capability-section { margin-top: clamp(2.5rem,6vw,4rem); }
.warm .capability-section > p { max-width: 65ch; }
.warm .capability-section h2 { font-size: clamp(1.75rem,3vw,2.5rem); }
.warm .support-terms { margin-top: 2rem; max-width: 65ch; color: var(--muted); }
.warm .capability-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2.5rem; margin-top: 2rem; }
.warm .capability-grid > div { border-top: 1px solid var(--line); padding-top: 1rem; }
.warm .capability-grid dt { font-weight: 600; font-size: 1.125rem; }
.warm .capability-grid dd { margin: .5rem 0 0; color: var(--muted); line-height: 1.65; }
.warm[data-public-page="services"] #services { border: 0; background: var(--paper); }
.warm #site .hero-actions .home-services-link { background: transparent; border-color: var(--accent); color: var(--accent); }
@media(min-width:1101px) {
 .warm[data-public-page="home"] .hero-actions { column-gap: clamp(2rem,4vw,3.5rem); }
}
.warm[data-public-page="home"] #credentials { background: var(--soft); border-top: 3px solid var(--accent); }
.warm[data-public-page="home"] .credentials-band { background: transparent; }
.warm[data-public-page="home"] .experience + .credentials-band { margin-top: 3rem; }
.warm[data-public-page="home"] .experience { grid-template-columns: 1fr; }
.warm[data-public-page="home"] #advocates { background: var(--soft); }
.warm #main { --page-top-space: 3.25rem; padding-top: var(--page-top-space); }
.warm[data-public-page="home"] #main { padding-top: max(0px, calc(var(--page-top-space) - var(--hero-top-inset, 1rem))); }
.warm #main > :first-child { padding-top: 0; }
.warm[data-public-page="home"] #credentials .section-heading h2 { font-size: clamp(2.125rem,1.4rem + 2.25vw,3.5rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 500; }
.warm #site-nav a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-underline-offset: .4em; }
.warm[data-public-page="home"] #faq .section-title h2 { font: 400 clamp(2rem,4vw,3rem)/1.2 var(--heading); margin: .75rem 0 1.5rem; }
.warm .advocate-bio-paragraph { line-height: 1.65; }
.warm[data-public-page="home"] .advocate-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
.warm .advocate-shared-experience { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 2rem; margin: 1rem 0 0; padding: 1rem 1.25rem; list-style: none; background: var(--paper); border-radius: var(--radius); font-size: .9375rem; line-height: 1.5; color: var(--muted); }
.warm .advocate-shared-experience strong { font-weight: 600; color: var(--accent); }
.warm .advocate-shared-experience li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: start; gap: .625rem; }
.warm .advocate-shared-experience svg { box-sizing: border-box; width: 2rem; height: 2rem; padding: .25rem; margin-top: -.25rem; color: var(--orange-detail); }
.warm .advocate-shared-experience { row-gap: 0; }
.warm .advocate-shared-experience li { padding-block: .75rem; }
.warm .advocate-shared-experience li:nth-child(n+3) { border-top: 1px solid var(--line); }
.warm .support-level,.warm .capability-grid > div { min-width: 0; }
/* One link treatment takes precedence over the older section-specific rules. */
.warm #site a:not(.button):not(.brand) {
 text-decoration: underline;
 text-decoration-color: currentColor !important;
 text-decoration-thickness: 1px;
 text-underline-offset: .2em;
}
.warm #site a:not(.button):not(.brand):is(:hover,:focus-visible) {
 color: var(--orange-text) !important;
 text-decoration: underline;
 text-decoration-color: currentColor !important;
 text-decoration-thickness: 2px;
}
.warm #site #site-nav a:not(.button) { text-decoration: none; }
.warm #site #site-nav a:not(.button)[aria-current="page"] {
 text-decoration: underline;
 text-decoration-thickness: 2px;
}
.warm #site .consultation-panel a:not(.button):is(:hover,:focus-visible) { color: #f5ae94 !important; }
.warm #site .suggested-time-link:is(:hover,:focus-visible) { background: transparent; border-color: #f5ae94; }
.warm #site .button:is(:hover,:focus-visible):not(:disabled) {
 background: var(--orange-text) !important;
 border-color: var(--orange-text) !important;
 color: #fffefa !important;
 text-decoration: none;
}
html[data-color-mode="dark"] .warm #site .button:is(:hover,:focus-visible):not(:disabled) { color: #14231c !important; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .warm .background-portrait > img { scale: 1; transition: scale 1000ms cubic-bezier(.2,.65,.3,1); }
 .warm .background-portrait:hover > img { scale: 1.035; }
}
@media(max-width:960px) {
 .warm .support-levels { grid-template-columns: 1fr; }
}
@media(max-width:700px) {
 .warm .advocate-shared-experience { grid-template-columns: 1fr; }
 .warm .advocate-shared-experience li:nth-child(2) { border-top: 1px solid var(--line); }
 .warm #main { --page-top-space: 2.75rem; }
 .warm[data-public-page="home"] #main { --hero-top-inset: .5rem; }
 html:not([data-js]) .warm .hero-actions .home-services-link { order: -1; }
 .warm .capability-grid { grid-template-columns: 1fr; }
 .warm .process-grid { gap: 1.5rem; }
 .warm .support-level { padding: 1.25rem; }
}

/* Keep the introduction footprint stable as examples expand below it. */
.warm .support-level { --support-padding: clamp(1.25rem,3vw,2rem); padding: var(--support-padding); }
.warm .support-intro { min-width: 0; }
@media(min-width:961px) {
 .warm .support-intro { min-height: calc(24rem - var(--support-padding) - var(--support-padding) - 1.5rem - 2.75rem - 2px); }
}
.warm .advocate-bio > h3 { margin-bottom: 1rem; }

/* Put the experience paragraph beside the portrait instead of in its own row. */
.warm .background-intro .experience { display: block; margin: 1.5rem 0 0; padding: 0; border: 0; }
.warm .background-intro .experience-content { max-width: none; }
.warm .background-intro .experience-content > p { margin: 0; }

.warm .team-experience-summary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.5rem 2rem; margin: 1.5rem 0 0; max-width: 48rem; padding-block: .25rem 1.25rem; border-bottom: 1px solid var(--line); color: var(--ink); }
.warm .team-experience-fact { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.warm .team-experience-fact + .team-experience-fact { padding-left: 2rem; border-left: 1px solid var(--line); }
.warm .team-experience-fact > strong { font-family: var(--heading); font-size: clamp(1.75rem,3.5vw,2.75rem); font-weight: 500; line-height: 1.1; letter-spacing: -.035em; color: var(--orange-display); }
.warm .team-experience-fact > strong em { font-weight: 400; }
.warm .team-experience-fact + .team-experience-fact > strong { color: var(--accent); }
.warm .team-experience-fact > span { max-width: 32ch; font-size: 1rem; line-height: 1.5; color: var(--muted); text-wrap: pretty; }
@media(max-width:480px) {
 .warm .team-experience-summary { gap: 1rem; }
 .warm .team-experience-fact + .team-experience-fact { padding-left: 1rem; }
 .warm .team-experience-fact > strong { font-size: 1.625rem; }
 .warm .team-experience-fact > span { font-size: .9375rem; }
}
@media(max-width:360px) {
 .warm .team-experience-summary { grid-template-columns: 1fr; }
 .warm .team-experience-fact + .team-experience-fact { padding-left: 0; padding-top: 1rem; border-left: 0; border-top: 1px solid var(--line); }
}
