/* Public-page story and imagery. The approved welcome hero is intentionally untouched. */
.public-story-section { padding: clamp(3rem, 6vw, 5rem) 1.5rem; }
.public-story-section--blue { background: #edf4fa; border-block: 1px solid #d9e5ef; }
.public-story-inner { max-width: 1160px; margin-inline: auto; }
.public-story-heading { max-width: 850px; margin-bottom: 2rem; }
.public-story-heading h2, .public-story-split h2 { color: #193f68; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.18; font-weight: 350; letter-spacing: -.025em; margin: .5rem 0 1.15rem; }
.public-story-heading p, .public-story-split p, .public-story-benefits p { font-size: 1.05rem; line-height: 1.7; color: #465a70; }
.public-story-eyebrow { color: #127972; font-size: .78rem !important; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.public-story-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.public-story-art { margin: 0; min-width: 0; }
.public-story-art img { display: block; width: 100%; height: auto; border-radius: 16px; }
.public-product-image { margin: 1.75rem 0; background: white; border: 1px solid #bccfde; border-radius: 18px; overflow: hidden; box-shadow: 0 12px 28px #193f680c; }
.public-product-image a { display: block; }
.public-product-image a:focus-visible { outline: 3px solid #c99320; outline-offset: -4px; }
.public-product-image img { display: block; width: 100%; height: auto; }
.public-product-image figcaption { margin: 0; padding: .85rem 1.25rem; color: #56687b; font-size: .85rem; line-height: 1.5; border-top: 1px solid #e0e8f0; }
.public-story-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.6rem; margin: 2rem 0; }
.public-story-benefits article { padding-top: 1rem; border-top: 3px solid #cf961b; }
.public-story-benefits h3 { color: #193f68; font-size: 1.2rem; margin: 0 0 .7rem; font-weight: 650; }
.public-story-art--ap { max-width: 650px; margin: 2rem auto; }
.public-story-art--closing { max-width: 620px; margin: 2rem auto; }
.public-story-art--letter { margin: 2.5rem auto; max-width: 650px; }
.welcome-editorial__thinking { align-items: center; }
.welcome-editorial__thinking .public-story-art { align-self: center; }
.public-story-compact-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: center; gap: 3rem; max-width: 1100px; margin-inline: auto; text-align: left; }
.public-story-compact-hero .public-story-art { max-width: 380px; justify-self: end; }
.public-story-compact-hero .mkt-page-title { font-size: clamp(2.25rem,4vw,3.5rem); }
.public-story-compact-hero .mkt-page-subtitle { margin-inline: 0; }
.philosophy-page .about-page__image img { object-fit: contain; aspect-ratio: 3/2; }
.philosophy-page .public-story-split { gap: 2rem; }
.coach-engine-page__samples > p { max-width: 75ch; line-height: 1.75; color: #465a70; }
@media (max-width: 760px) {
  .public-story-split, .public-story-benefits, .public-story-compact-hero { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .public-story-compact-hero .public-story-art { max-width: 320px; justify-self: center; }
  .public-story-section { padding: 3rem 1.1rem; }
  .public-product-image figcaption { padding: .75rem; }
  .public-story-benefits { margin-block: 1.5rem; }
}
/* Give the lower-page stories a calmer, less poster-like scale. */
.welcome-editorial__thinking { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; padding-block: 4rem; }
.welcome-editorial__thinking h2 { max-width: none; font-size: clamp(1.9rem,3vw,2.7rem); }
.welcome-editorial__ap .welcome-editorial__ap-copy { max-width: 1160px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 3rem; text-align: left; }
.welcome-editorial__ap-copy > * { grid-column: 1; }
.welcome-editorial__ap-copy > .public-story-art--ap { grid-column: 2; grid-row: 1 / span 7; align-self: center; margin: 0; }
.welcome-editorial__ap h2 { font-size: clamp(1.9rem,3vw,2.7rem); }
.welcome-editorial__final > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem 3rem; }
.welcome-editorial__final > div > * { grid-column: 1; }
.welcome-editorial__final > div > .public-story-art--closing { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; }
.welcome-editorial__final h2 { font-size: clamp(1.9rem,3vw,2.7rem) !important; max-width: none; }
.welcome-editorial__final .welcome-editorial__final-tour { grid-column: 1 / -1; margin-top: 1.5rem; }
@media (max-width: 860px) {
 .welcome-editorial__thinking, .welcome-editorial__ap .welcome-editorial__ap-copy, .welcome-editorial__final > div { grid-template-columns: minmax(0,1fr); }
 .welcome-editorial__ap-copy > .public-story-art--ap, .welcome-editorial__final > div > .public-story-art--closing { grid-column: 1; grid-row: auto; max-width: 600px; margin: 1rem auto; }
}
.public-story-compact-hero h1 { font-weight: 200; color: #193f68; letter-spacing: -.04em; }
.faq-answer a { color: #0f766e; text-underline-offset: .2em; }
.faq-item summary:focus-visible { outline: 2px solid #c99320; outline-offset: 4px; }
.welcome-editorial__ap { padding: 4rem max(calc((100vw - 1160px) / 2), 1.25rem); }
.welcome-editorial__ap-copy > h2 { white-space: normal; }
/* Illustrations float directly on the page; product captures retain their frame. */
.public-story-art { background: transparent; border: 0; box-shadow: none; }
.public-story-art img { border-radius: 0; }
.public-story-art--ap img { border-radius: 16px; }
.public-product-image--small { width: 100%; max-width: 380px; justify-self: center; }
.public-story-text-link { color: #127972; font-weight: 650; text-underline-offset: .25em; }
.public-story-section--revision { background: #f7fafc; }
.public-image-note { display: block; width: fit-content; margin: .1rem auto .8rem; padding: .65rem .95rem; background: #fff3bf; color: #193f68; border-top: 3px solid #d69b23; box-shadow: 2px 4px 8px #193f6812; font-size: .95rem; font-weight: 650; transform: rotate(-1deg); }
.public-image-note [aria-hidden] { font-size: 1.35rem; margin-right: .3rem; }
.coach-engine-page__what .public-product-image--small { max-width: 354px; }
.coach-engine-page__samples .public-product-image { max-width: 880px; margin-inline: auto; }
@media (prefers-reduced-motion: reduce) { .public-image-note { transform: none; } }
/* A deliberate frame separates real product captures from the surrounding page. */
.public-product-image { padding: 10px 10px 0; background: #fff; border: 1px solid #9eb9cb; border-top: 4px solid #76a1b5; border-radius: 16px; box-shadow: 0 12px 28px #193f6818, 0 2px 5px #193f680b; }
.public-product-image img { border: 1px solid #d6e1e9; border-radius: 7px; box-sizing: border-box; }
.public-product-image figcaption { margin: 10px -10px 0; padding: 12px 16px; background: #edf4fa; color: #425c70; border-top: 1px solid #cbdce7; }
.public-product-image--detail { border-top-color: #147c76; }
/* Philosophy: alternate image placement, with readable text and quiet artwork. */
.philosophy-page .philosophy-visual-row { max-width: 1120px; margin-inline: auto; gap: clamp(2rem, 5vw, 4rem); }
.philosophy-visual-row .public-story-art { max-width: 480px; justify-self: center; width: 100%; }
.philosophy-visual-copy p { max-width: 60ch; }
.philosophy-page .philosophy-visual-row--reverse .philosophy-visual-copy { grid-column: 2; grid-row: 1; }
.philosophy-page .philosophy-visual-row--reverse > figure { grid-column: 1; grid-row: 1; }
.philosophy-page__closing .philosophy-visual-copy { text-align: left; }
@media (max-width: 760px) {
 .philosophy-page .philosophy-visual-row--reverse .philosophy-visual-copy, .philosophy-page .philosophy-visual-row--reverse > figure { grid-column: auto; grid-row: auto; }
 .philosophy-visual-row .public-story-art { max-width: 380px; }
}
/* Wide editorial headings break up the repeated half-and-half section rhythm. */
.welcome-editorial .public-story-heading h2,
.welcome-editorial .public-story-split h2,
.welcome-editorial .public-story-wide-heading h2 { font-weight: 200; }
.welcome-editorial .public-story-wide-heading { grid-column: 1 / -1; margin: 0; max-width: none; }
.welcome-editorial .public-story-wide-heading h2 { max-width: none; margin: .7rem 0 0; font-size: clamp(2.1rem, 3.6vw, 3.3rem); line-height: 1.18; letter-spacing: -.035em; color: #193f68; }
.welcome-editorial .welcome-editorial__thinking { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 3.5rem; row-gap: 2.5rem; }
.welcome-editorial__thinking .public-story-art { width: 100%; align-self: center; }
.welcome-editorial__thinking-intro { min-width: 0; }
.public-story-support-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 4rem; row-gap: 2.5rem; align-items: center; }
.public-story-support-copy p { font-size: 1.05rem; line-height: 1.7; color: #465a70; }
.public-story-support-layout .public-story-art { align-self: center; }
@media (max-width: 760px) {
 .welcome-editorial .welcome-editorial__thinking,
 .public-story-support-layout { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
 .public-story-wide-heading { grid-column: 1; }
 .public-story-support-layout .public-story-art { max-width: 580px; justify-self: center; }
}
@media (min-width: 1100px) {
 .welcome-editorial #welcome-thinking-heading { font-size: clamp(2.7rem, 3.25vw, 3rem); }
}

/* Let the AP headline lead across the full blue section. */
.welcome-editorial__ap-copy > .welcome-editorial__eyebrow,
.welcome-editorial__ap-copy > #welcome-ap-heading { grid-column: 1 / -1; }
.welcome-editorial #welcome-ap-heading { max-width: none; font-weight: 200; font-size: clamp(2.1rem, 3.6vw, 3.3rem); line-height: 1.18; letter-spacing: -.035em; margin-bottom: 2.5rem; }
.welcome-editorial__ap-copy > .public-story-art--ap { grid-row: 3 / span 5; }
@media (max-width: 860px) {
 .welcome-editorial__ap-copy > .public-story-art--ap { grid-row: auto; }
 .welcome-editorial #welcome-ap-heading { margin-bottom: 1.5rem; }
}

/* Pair each illustration with its invitation, level with the final copy line. */
.welcome-editorial .public-story-illustration-action { display: flex; flex-direction: column; align-items: center; justify-content: space-between; align-self: stretch; min-width: 0; gap: 1.25rem; }
.welcome-editorial .public-story-illustration-action .public-story-art { width: 100%; margin: -1.25rem 0 0; }
.welcome-editorial .public-story-illustration-action .welcome-editorial__section-invitation { margin: 0; padding: 0; text-align: center; }
.welcome-editorial__thinking-intro, .public-story-support-copy { align-self: stretch; }
.welcome-editorial__thinking-intro > p:last-of-type, .public-story-support-copy > p:last-of-type { margin-bottom: 0; }
@media (max-width: 760px) {
 .welcome-editorial .public-story-illustration-action .public-story-art { margin-top: 0; }
}
@media (min-width: 761px) {
 .welcome-editorial .public-story-illustration-action { position: relative; min-height: 0; }
 .welcome-editorial .public-story-illustration-action .public-story-art { position: absolute; inset: -2.5rem 0 4rem; margin: 0; height: auto; }
 .welcome-editorial .public-story-illustration-action .public-story-art img { width: 100%; height: 100%; object-fit: contain; }
 .welcome-editorial .public-story-illustration-action .welcome-editorial__section-invitation { position: absolute; bottom: 0; left: 0; right: 0; }
}
.welcome-editorial .public-story-illustration-action .welcome-editorial__section-invitation { display: flex; justify-content: center; width: 100%; }
@media (min-width: 761px) {
 .welcome-editorial .public-story-illustration-action .public-story-art { height: calc(100% - 2rem); align-self: auto; }
}
@media (min-width: 761px) {
 .welcome-editorial .public-story-illustration-action .public-story-art { top: -1.25rem; bottom: 4.5rem; height: calc(100% - 3.25rem); }
}
.welcome-editorial .public-story-illustration-action .welcome-editorial__section-invitation { align-items: center; margin: 0 !important; }
