/* Approved editorial refinements; the hero photo frame and crop stay intact. */
.warm #main > section { padding-block: var(--section-space); }
.warm .hero-descriptor { margin: 1rem 0 0; max-width: 50ch; font-size: 1rem; line-height: 1.5; font-weight: 500; }
.warm .hero-descriptor + .hero-intro { margin-top: 1rem; }
.warm #about .about-copy {
  border-left: 2px solid var(--orange-detail);
  padding-left: clamp(1.25rem, 3vw, 2rem);
}
.warm .founder-signoff { margin-top: 1.5rem; }
.warm .founder-signoff strong { display: block; font: italic 400 1.5rem/1.3 var(--heading); }
.warm .founder-signoff span { display: block; font-size: .8125rem; color: var(--muted); margin-top: .375rem; }
.warm #about .about-copy .text-link { display: inline-flex; margin-top: 1.25rem; }

/* Phrase breaks are reserved for wide layouts. Smaller screens wrap naturally. */
@media(min-width:1101px) {
  .warm .hero-copy h1 { text-wrap: balance; max-width: none; font-size: clamp(2.5rem, 6.55vw - 1.5rem, 3.75rem); letter-spacing: -.045em; }
  .warm .headline-phrase { display: block; }
  .warm .headline-phrase + .headline-phrase { margin-top: .04em; }
}
.warm .experience-content { max-width: 62ch; }
@media(min-width:701px) {
  .warm .experience {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }
}
.warm .experience-content > p { max-width: 58ch; }
.warm .experience .experience-list li { max-width: 62ch; text-wrap: pretty; }
.warm .about-copy p, .warm .faq-list details > p { max-width: 58ch; }

.warm .advocate-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.warm .advocate-photo {
  /* 40% of a 4:5 frame's height equals half its width: a circular arch. */
  border-radius: 50% 50% 0 0 / 40% 40% 0 0;
  border: 1px solid var(--line);
  border-bottom: 0;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 5;
  background: var(--soft);
}
.warm .advocate-bio {
  padding: 1.25rem 1.5rem 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--card-radius) var(--card-radius);
}
.warm .advocate-bio > h3 { font-size: clamp(1.5rem, 1.2rem + .625vw, 1.7rem); line-height: 1.15; font-weight: 500; }
.warm #about { background: var(--soft); }
.warm #how-it-works { background: var(--paper); }

.warm .brand-flourish { display: flex; align-items: flex-end; gap: .375rem; margin-top: 1.5rem; pointer-events: none; }
.warm .brand-flourish img { width: 3rem; height: 3rem; object-fit: contain; opacity: .78; }
.warm .brand-flourish::after { content: ''; width: 5rem; height: 1px; background: var(--orange-detail); margin-bottom: .625rem; }

/* Reuse coral for labels and two focal accents rather than recoloring body copy. */
.warm .eyebrow { color: var(--orange-text); }
html[data-public-appearance] .warm .hero-copy h1 .headline-action,
.warm .founder-signoff strong { color: var(--orange-text); }
.warm :is(.meeting-bundle-section,.consultation-panel) .eyebrow { color: #e6c48e; }

/* A compact four-column qualifications band, independent of the 14-years block. */
.warm .credential-grid.credentials-band {
  grid-template-columns: 1.25fr 1.35fr 1fr 1fr;
  gap: 0;
  border-block: 1px solid var(--line);
}
.warm .credentials-band .credential-column { min-width: 0; padding: 1.5rem; }
.warm .credentials-band .credential-column:first-child { padding-left: 0; }
.warm .credentials-band .credential-column:last-child { padding-right: 0; }
.warm .credentials-band .credential-column + .credential-column { border-left: 1px solid var(--line); }
.warm .credentials-band .credential-identity { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; }
.warm .credentials-band .credential-seal { display: block; width: auto; height: auto; border: 0; border-radius: 0; margin: 0; font-size: clamp(3.5rem, 3rem + 1vw, 4.5rem); line-height: 1; letter-spacing: -.065em; }
.warm .credentials-band .credential-seal span { display: block; font-size: .6875rem; font-weight: 600; line-height: 1.5; letter-spacing: .06em; margin-top: .75rem; }
.warm .credentials-band .credential-identity h3 { font-family: var(--font-body); font-size: .8125rem; font-weight: 400; line-height: 1.6; color: var(--muted); margin: 0; text-wrap: pretty; }
.warm .credentials-band .credential-explanation p { font-size: .9375rem; line-height: 1.6; color: var(--muted); }
.warm .credentials-band .credential-column:not(.credential-identity) h3 { font-family: var(--font-body); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.5; margin-bottom: 1rem; }
.warm .credentials-band .education-list li { border: 0; padding: 0; margin-bottom: .75rem; }
.warm .credentials-band .education-list li:last-child { margin-bottom: 0; }
.warm .credentials-band .education-list strong { font-size: .875rem; line-height: 1.5; }
.warm .credentials-band :is(.education-list span,.education-list small,.certification-list li) { font-size: .8125rem; line-height: 1.5; }
.warm .credentials-band .certification-list { gap: .625rem; }
.warm .credentials-band .certification-list li { display: block; }
@media(min-width:701px) and (max-width:1100px) {
  .warm .credential-grid.credentials-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .warm .credentials-band .credential-column:nth-child(odd) { border-left: 0; padding-left: 0; }
  .warm .credentials-band .credential-column:nth-child(even) { padding-right: 0; }
  .warm .credentials-band .credential-column:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media(max-width:700px) {
  .warm .credential-grid.credentials-band { grid-template-columns: 1fr; }
  .warm .credentials-band .credential-column { padding: 1.25rem 0; }
  .warm .credentials-band .credential-column + .credential-column { border-left: 0; border-top: 1px solid var(--line); }
  .warm .credentials-band :is(.education-list span,.education-list small,.certification-list li) { font-size: .875rem; }
}

/* Parent-facing context from the preview, adapted to the current palette. */
.warm .hero { padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.warm .family-reassurance { position: relative; isolation: isolate; overflow: hidden; background: #385a48; color: #fffefa; }
.warm .family-reassurance::after { content: ''; position: absolute; width: 26rem; height: 26rem; border: 1px solid #9bb19f; border-radius: 50%; right: -12rem; bottom: -15rem; opacity: .55; z-index: -1; }
.warm .family-reassurance .eyebrow { color: #e6c48e; }
.warm .family-reassurance h2 { max-width: 35ch; color: #fffefa; }
html[data-public-appearance] .warm .family-reassurance h2 em { color: #e6c48e; }
.warm .family-reassurance .reassurance-inner > p:not(.eyebrow) { max-width: 62ch; margin-top: 1.75rem; line-height: 1.75; }
.warm .family-reassurance .reassurance-button,
html[data-color-mode="dark"] .warm .family-reassurance .reassurance-button { display: inline-flex; margin-top: 1.75rem; background: #f8f6ef !important; border-color: #f8f6ef !important; color: #385a48 !important; }
@media(hover:hover) and (pointer:fine) {
  .warm .family-reassurance .reassurance-button:hover,
  html[data-color-mode="dark"] .warm .family-reassurance .reassurance-button:hover { background: #e7ecdf !important; border-color: #e7ecdf !important; }
}
.warm .family-reassurance a:focus-visible { outline-color: #fffefa; }
.warm #how-it-works { background: #385a48; color: #fffefa; }
.warm .first-conversation-panel { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.7fr); gap: clamp(2rem, 4vw, 3rem); background: var(--surface); color: var(--ink); padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--card-radius); }
.warm .consultation-host { min-width: 0; }
.warm .consultation-host-portrait { width: 100%; aspect-ratio: 4 / 5; border-radius: 50% 50% .625rem .625rem / 40% 40% .625rem .625rem; overflow: hidden; background: var(--soft); }
.warm .consultation-host-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.warm .consultation-host > p { margin-top: 1rem; font-size: .9375rem; }
.warm .consultation-host > p :is(strong,span) { display: block; }
.warm .consultation-host > p span { margin-top: .25rem; font-size: .8125rem; color: var(--muted); }
.warm .first-conversation-copy { min-width: 0; }
.warm .first-conversation-copy > p:not(.eyebrow) { color: var(--muted); max-width: 68ch; margin-top: 1.25rem; }
.warm .consultation-outcomes { counter-reset: consultation-step; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.warm .consultation-outcomes li { counter-increment: consultation-step; position: relative; border-top: 1px solid var(--line); padding: 1rem 0 1rem 3rem; }
.warm .consultation-outcomes li::before { content: counter(consultation-step, decimal-leading-zero); position: absolute; top: .875rem; left: 0; font: 400 1.75rem/1.2 var(--heading); color: var(--orange-display); }
.warm .consultation-outcomes h3 { font-family: var(--font-body); font-size: 1rem; line-height: 1.5; font-weight: 600; }
.warm .consultation-outcomes p { font-size: .9375rem; color: var(--muted); margin-top: .25rem; }
.warm .first-conversation-copy .consultation-boundary { font-size: .875rem; line-height: 1.7; }
.warm .first-conversation-action { margin-top: 1.5rem; }
.warm .first-conversation-copy .consultation-availability-note { font-size: .875rem; line-height: 1.65; }
.warm .service-steps { margin-top: clamp(2.5rem, 5vw, 4rem); }
.warm #how-it-works .service-steps .eyebrow { color: #e6c48e; }
.warm #how-it-works .service-steps .step-icon { color: #e6c48e; }
.warm #how-it-works .service-steps .process-grid p { color: #e5ece7; }
@media(max-width:900px) {
  .warm .first-conversation-panel { grid-template-columns: 1fr; }
  .warm .consultation-host { width: min(100%, 18rem); margin-inline: auto; }
}
@media(max-width:700px) {
  .warm .first-conversation-panel { padding: 1.5rem; gap: 2rem; }
  .warm .first-conversation-action .button { width: 100%; }
}

html[data-public-appearance] .warm .hero-copy h1 em { color: inherit; }

/* One founder bio keeps the full qualifications and school experience together. */
.warm #about .about-grid { display: block; }
.warm #about .section-title { max-width: 55rem; }
.warm #about .about-copy { max-width: 66ch; margin-top: 2rem; }
.warm #about .about-copy p + p { margin-top: 1rem; }
.warm #about .merged-credentials { margin-top: 3rem; min-width: 0; }
.warm #about .experience { margin-top: 3rem; }
@media(min-width:901px) {
  .warm #about .about-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 0 3rem; }
  .warm #about .section-title { grid-column: 1; }
  .warm #about .about-copy { grid-column: 2; margin-top: 0; }
  .warm #about .merged-credentials { grid-column: 1 / -1; }
}

.warm .service-steps .process-grid p { margin-top: .75rem; font-size: 1rem; line-height: 1.65; }
.warm .service-steps .process-grid p strong { font-weight: 600; color: #fffefa; }
.warm .service-steps .process-grid li { padding-bottom: 0; }
@media(max-width:700px) {
  .warm .service-steps .process-grid { gap: 1.25rem; }
  .warm .service-steps .process-grid li { display: grid; grid-template-columns: 1.5rem minmax(0,1fr); gap: .875rem; align-items: start; }
  .warm .service-steps .process-grid p { margin-top: 0; }
}

.warm :is(#contact,#consultation) .compact-consultation { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.75rem 2.5rem; }
.warm :is(#contact,#consultation) .compact-consultation h2 { font-size: clamp(1.5rem,2.2vw,2rem); max-width: none; margin: 0; line-height: 1.2; }
.warm :is(#contact,#consultation) .compact-consultation .button { margin: 0; flex-shrink: 0; }
.warm :is(#contact,#consultation) .compact-consultation::before, .warm :is(#contact,#consultation) .compact-consultation::after { display: none; }
@media(max-width:700px) {
 .warm :is(#contact,#consultation) .compact-consultation { flex-direction: column; align-items: flex-start; padding: 1.5rem; gap: 1.25rem; }
 .warm :is(#contact,#consultation) .compact-consultation .button { width: 100%; }
}

@media(min-width:701px) {
 .warm :is(#contact,#consultation) .compact-consultation { justify-content: center; gap: clamp(6rem, 11.25vw, 9rem); }
}

.warm #how-it-works .service-steps { margin-top: 0; }
.warm #how-it-works .first-conversation-panel { margin-top: clamp(2.5rem, 5vw, 4rem); }

.warm #contact .contact-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1rem; min-width: 0; }
.warm #contact .contact-form-actions .button { margin-top: 0; }
.warm #contact .contact-form-actions .contact-spam-check { flex: 0 1 300px; min-width: min(300px,100%); max-width: 100%; }
.contact-draft-note:empty, .contact-form-status:empty { display: none; }

.warm :is(#contact,#consultation) .compact-consultation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); align-items: center; gap: 1.5rem 2.5rem; max-inline-size: 1040px; margin-inline: auto; padding: clamp(1rem, 3vw, 2rem); scroll-margin-top: 6rem; }
.warm :is(#contact,#consultation) .compact-consultation h2 { font-size: clamp(1.75rem, 2.5vw, 2.5rem); }
.warm :is(#contact,#consultation) .booking-calendar-copy p { margin-block: .75rem 0; line-height: 1.65; color: #e5ece7; }
.warm .booking-calendar { display: block; inline-size: 100%; min-inline-size: 0; border-radius: .625rem; background: #fff; color: #102e26; color-scheme: light; }
.warm .booking-calendar > p { padding: 1.5rem; }
.warm :is(#contact,#consultation) .compact-consultation .booking-calendar-fallback { display: block; margin-top: .5rem; font-size: .875rem; line-height: 1.6; }
.warm :is(#contact,#consultation) .calendar-fallback-link { color: #fffefa; text-decoration: underline; text-underline-offset: .2em; }
.warm :is(#contact,#consultation) .calendar-fallback-link:focus-visible { outline: 2px solid #fffefa; outline-offset: 4px; }
.warm :is(#contact,#consultation) .compact-consultation .booking-calendar-fallback[hidden] { display: none; }
.warm #suggested-call-times { margin-block-start: 1.5rem; }
.warm #suggested-call-times:empty { display: none; }
.warm #suggested-call-times h3 { font-family: var(--font-body); font-size: 1rem; line-height: 1.5; margin: 0 0 .75rem; color: #fffefa; }
.warm .suggested-times-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: flex-start; gap: .625rem; }
.warm .suggested-time-link { display: inline-flex; align-items: center; max-inline-size: 100%; min-block-size: 48px; padding: .625rem 1rem; border: 1px solid #9bb19f; border-radius: .5rem; color: #fffefa; font-size: 1rem; line-height: 1.5; text-decoration: none; }
.warm .suggested-time-link:hover { background: #fffefa; color: #102e26; }
.warm .suggested-time-link:focus-visible { outline: 2px solid #fffefa; outline-offset: 3px; }
.warm :is(#contact,#consultation) .booking-calendar-copy .suggested-times-zone,
.warm :is(#contact,#consultation) .booking-calendar-copy .suggested-times-status { font-size: .875rem; line-height: 1.6; }
.warm .service-call-invitation { margin-block-start: clamp(2.5rem, 5vw, 4rem); }
.warm .service-call-bar { display: flex; align-items: center; justify-content: center; gap: clamp(6rem, 11.25vw, 9rem); padding: 1.75rem 2.5rem; }
.warm .service-call-bar h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); max-width: none; margin: 0; line-height: 1.2; }
.warm .service-call-bar .button { margin: 0; flex-shrink: 0; background: #fffefa; color: #102e26; }
.warm .service-call-bar .button:focus-visible { outline-color: #fffefa; }
@media(max-width:700px) {
 .warm .service-call-bar { flex-direction: column; align-items: flex-start; padding: 1.5rem; gap: 1.25rem; }
 .warm .service-call-bar .button { width: 100%; }
}
@media(max-width:1000px) {
 .warm :is(#contact,#consultation) .compact-consultation { grid-template-columns: 1fr; gap: .875rem; }
 .warm .booking-calendar { max-inline-size: 480px; margin-inline: auto; }
}
