/* Author's journal. A shared visual and motion system, September 2026. */
:root {
  --deep: #17162d;
  --purple: #4d2b8b;
  --blue: #98d4f4;
  --turquoise: #86d7cc;
  --yellow: #eed18a;
  --paper: #f3f6fa;
  --white: #fcfbff;
  --ink-muted: #535167;
  --line: #27223e2b;
  --motion-ease: cubic-bezier(.16,1,.3,1);
  --motion-fast: 180ms;
  --motion-control: 260ms;
  --motion-scene: 720ms;
  --section-space: clamp(40px,4.6vw,68px);
}
body { color: var(--deep); background: var(--paper); }
::selection { color: var(--deep); background: #a1e4d9; }
h1,h2,h3 { text-wrap: balance; }
a,button { touch-action: manipulation; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #188d83; outline-offset: 5px; }
.eyebrow,.section-number { letter-spacing: .035em; font-weight: 500; }
.site-header,.site-header.is-fixed,.detail-page .site-header {
  background: var(--deep); box-shadow: none; border-bottom: 1px solid #c4c0e124;
}
.site-header::after { height: 1px; }
.desktop-nav a { transition: color var(--motion-fast) ease; }
.desktop-nav a::after { background: var(--yellow); }
.brand .wordmark { letter-spacing: -.025em; }
.brand .wordmark span { color: var(--white); }
/* Small, identical feedback. Controls never chase the cursor. */
.button,.button[data-practice-cta],.site-header .header-cta[data-practice-cta] {
  border-radius: 12px; box-shadow: none; font-weight: 600;
  transition: background-color var(--motion-fast) ease,color var(--motion-fast) ease;
}
.button:hover,.button:active { transform: none; box-shadow: none; }
.button-yellow,.author-actions .button-purple { color: var(--deep); background: var(--yellow); }
.button-yellow:hover,.author-actions .button-purple:hover { background: #fae4ad; color: var(--deep); }
.button-purple { background: var(--purple); color: var(--white); }
.button-purple:hover { background: #6037a4; }
.button .cta-label,.button .cta-arrow { transform: none; }
.button:hover .cta-arrow,.button:focus-visible .cta-arrow { transform: translate(2px,-2px); }
.button::before { display: none; }
.button::after { opacity: .12; }
.button-ripple { background: currentColor; opacity: .12; }
.text-link,.author-more,.publication-read { transition: color var(--motion-fast) ease; }
.rail-controls button { border-radius: 50%; width: 44px; height: 44px; }
.rail-controls button:hover { transform: none; }
/* The name is a typographic signature: two words, one response. */
.author-hero {
  position: relative; background: var(--deep); overflow: clip;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  padding-top: 126px; padding-bottom: 44px; gap: clamp(32px,6vw,88px);
}
.author-hero::after { background: #23383f; inset: 0 0 0 63%; opacity: .55; }
.author-context { margin-top: 12px; font: 400 .9375rem/1.6 var(--sans); color: #bfc5d7; }
.author-copy h1.author-name { max-width: 100%; perspective: 1000px; letter-spacing: 0; }
.author-copy h1 .name-given,.author-copy h1 .name-family {
  width: fit-content; max-width: 100%; transform-origin: left center;
  transform: rotateX(var(--name-rx,0deg)) rotateY(var(--name-ry,0deg));
  transition: transform var(--motion-control) var(--motion-ease),color var(--motion-control) ease;
  text-shadow: 0 -1px 0 var(--name-edge),1px 1px 0 var(--name-side),2px 2px 0 var(--name-depth),3px 4px 0 var(--name-depth),4px 8px 12px #07091366;
}
.author-copy h1 .name-given {
  font: 600 clamp(2rem,3.5vw,3.25rem)/1.25 var(--sans); letter-spacing: .04em;
  --name-face: #9edfd4; --name-edge: #dbf7ef; --name-side: #5baca5; --name-depth: #2f666d;
  color: var(--name-face);
}
.author-copy h1 .name-family {
  font: 600 clamp(3.6rem,7.1vw,6rem)/1.04 var(--serif); letter-spacing: -.018em;
  color: #ded3ef; margin-top: 3px;
  --name-edge: #faf3ff; --name-side: #aaa0c0; --name-depth: #6c607f;
}
.author-name.name-engaged .name-family { color: #f3ddb0; }
.author-name.name-engaged .name-given { color: #c1eee4; }
.author-lead { max-width: 34em; font-size: clamp(1.0625rem,1.45vw,1.25rem); line-height: 1.6; margin-top: 24px; color: #e1dfed; }
.author-lead em { font-style: normal; border: 0; color: #f9f6fc; }
.author-services { display: grid; gap: 2px; max-width: 36em; font-size: 1.0625rem; line-height: 1.65; letter-spacing: 0; }
.author-services p { margin: 0; padding: 14px 18px; color: #e6e7f1; background: #23243a; }
.author-services p:nth-child(even) { background: #20333c; }
.author-services strong { font-weight: 600; color: #fff; }
.author-topics { gap: 0; margin-top: 19px; flex-wrap: wrap; }
.author-topics a { border: 0; border-radius: 0; background: none; padding: 4px 0; margin-right: 18px; border-bottom: 1px solid #9edfd46b; }
.author-topics a:hover { background: none; color: #c5eee5; border-color: #c5eee5; }
.author-footnote { margin-top: 23px; }
.author-footnote .author-signature { color: #bfc5d7; }
.author-portrait { max-width: 440px; }
.portrait-frame { border-radius: 14px 14px 0 0; box-shadow: none; transform: none; }
.portrait-frame img { height: clamp(300px,27vw,365px); object-position: 50% 58%; }
.portrait-frame::after { background: none; }
.author-contours { opacity: .82; }
.author-contours path:nth-child(-n+4) {
  stroke-width: 1.2;
  transform-box: view-box;
  transform-origin: 50% 43%;
  animation: portrait-current 14s ease-in-out infinite;
}
.author-contours path:nth-child(1) { stroke: var(--turquoise); opacity: .8; }
.author-contours path:nth-child(2) { stroke: var(--blue); opacity: .7; animation-duration: 18s; animation-delay: -5s; animation-direction: reverse; }
.author-contours path:nth-child(3) { stroke: var(--yellow); opacity: .6; animation-duration: 22s; animation-delay: -10s; }
.author-contours path:nth-child(4) { stroke: var(--turquoise); opacity: .65; animation-duration: 26s; animation-delay: -16s; animation-direction: reverse; }
.author-contours path:nth-child(n+5) { display: none; }
@keyframes portrait-current {
  0%,100% { transform: translate(-6px,2px) rotate(-3deg) scale(.99); }
  50% { transform: translate(6px,-5px) rotate(3deg) scale(1.02); }
}
@media (max-width:650px), (pointer:coarse) {
  .author-contours path:nth-child(-n+4) { animation-name: portrait-current-gentle; }
}
@keyframes portrait-current-gentle {
  0%,100% { transform: translate(-2px,1px) rotate(-1deg); }
  50% { transform: translate(2px,-2px) rotate(1deg) scale(1.015); }
}
.dialog-open .author-contours path { animation-play-state: paused; }
.author-portrait .portrait-mission { padding: 18px 0 0 18px; border-left: 1px solid #86d7cc73; }
.author-portrait .portrait-mission .mission-label { color: #acdace; font-size: .875rem; }
.portrait-mission p { font: 500 1.35rem/1.35 var(--serif); color: #e9e3ef; }
.portrait-mission strong { font-weight: 600; }
.portrait-mission a { border: 0; padding-top: 0; margin-top: 10px; color: #b9ddee; }
/* A real setting and a calm image frame instead of an ornamental portal. */
.hero.hero-acceptance { color: var(--deep); background: #e8eff4; }
.hero-acceptance .hero-image,.hero-acceptance .hero-shade,.acceptance-orbit { display: none; }
.hero-acceptance .hero-content { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); align-items: center; gap: clamp(30px,6vw,84px); padding: var(--section-space) var(--pad); }
.hero-acceptance .eyebrow { color: #476277; }
.hero-acceptance h2 { color: var(--deep); }
.hero-acceptance h2 em { color: var(--purple); }
.acceptance-lead { font: 500 clamp(1.25rem,1.65vw,1.5rem)/1.45 var(--serif); color: #302943; }
.acceptance-text { color: #49485e; max-width: 67ch; }
.acceptance-visual { max-width: 440px; margin: 0; }
.acceptance-image-stage { border-radius: 12px; overflow: hidden; transform: none; box-shadow: none; }
.hero-acceptance .acceptance-image-stage .acceptance-woman { border-radius: 0; width: 100%; height: auto; max-height: none; aspect-ratio: 4/5; object-fit: cover; animation: none; transform: translateY(var(--depth-y,0px)) scale(1.045); }
.acceptance-image-stage::after,.acceptance-visual::after { display: none; }
.acceptance-visual figcaption { position: static; color: #37354c; padding: 15px 0 0; font: 500 1.45rem/1.3 var(--serif); text-shadow: none; }
.acceptance-visual figcaption br { display: none; }
.acceptance-visual figcaption em { color: #3b6265; padding-left: .2em; }
.practice-layout .practice-art { border-radius: 12px; object-fit: cover; }
/* The existing mission gains one short, replayable story from the actual emblem. */
.mission-section { background: var(--paper); }
.mission-layout { gap: clamp(32px,5vw,72px); }
.mission-ornament { display: none; }
.brand-story { display: grid; grid-template-columns: 200px minmax(0,1fr); align-items: center; gap: 22px; margin: 26px 0 0; max-width: 520px; }
.brand-story-art { position: relative; aspect-ratio: 4/3; min-width: 0; border-radius: 12px; background: var(--deep); overflow: hidden; }
.brand-story-art img { width: 100%; height: 100%; object-fit: contain; display: block; }
.story-piece { position: absolute; inset: 9%; }
.story-piece--trail { clip-path: polygon(0 0,49% 0,49% 25%,72% 50%,100% 47%,100% 57%,26% 57%,26% 77%,0 77%); }
.story-piece--lotus { clip-path: polygon(0 77%,26% 77%,26% 57%,100% 57%,100% 100%,0 100%); }
.story-piece--heart { clip-path: polygon(49% 0,100% 0,100% 47%,72% 50%,49% 25%); }
.brand-story-label { font: 500 1.5rem/1.15 var(--serif); color: #3c3350; margin: 0 0 12px; }
.brand-story-label span { display: block; }
.brand-story-replay { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; border: 0; border-bottom: 1px solid #76608766; border-radius: 0; background: none; color: #574072; padding: 0; font: 500 .875rem/1.4 var(--sans); cursor: pointer; }
.brand-story-replay:disabled { opacity: .65; cursor: default; }
.brand-story-replay span { font-size: 1.3rem; }
.brand-story.story-playing .story-piece--trail { animation: story-trail 1800ms var(--motion-ease) both; }
.brand-story.story-playing .story-piece--lotus { animation: story-lotus 1800ms var(--motion-ease) both; }
.brand-story.story-playing .story-piece--heart { animation: story-heart 1800ms var(--motion-ease) both; }
@keyframes story-trail { 0% { opacity: .12; transform: translateY(7px); } 32%,100% { opacity: 1; transform: none; } }
@keyframes story-lotus { 0%,18% { opacity: .12; transform: translateY(6px); } 65%,100% { opacity: 1; transform: none; } }
@keyframes story-heart { 0%,43% { opacity: .12; transform: scale(.91); } 100% { opacity: 1; transform: none; } }
.mission-manifesto { background: #29203f; border: 0; box-shadow: none; border-radius: 12px; padding: 28px 32px 24px; }
.manifesto-mark { display: none; }
.mission-manifesto p { max-width: 64ch; }
/* One material language across the existing content. */
.request-card,.review-card,.contact-card { box-shadow: none; border-radius: 12px; }
.request-card { background: transparent; border-width: 0 0 1px; padding: 22px 0; }
.request-card:hover { transform: none; box-shadow: none; background: transparent; }
.request-grid { column-gap: 32px; row-gap: 10px; }
.icon-tile,.step-icon { background: none !important; box-shadow: none; border: 0; border-radius: 0; color: var(--purple); }
.request-card .icon-tile { width: 30px; height: 30px; margin-bottom: 14px; }
.request-card:hover .icon-tile { color: var(--purple); }
.approach-section { background: #262038; }
.approach-section .step-icon { color: var(--turquoise); }
.approach-tags span { border-radius: 0; border-width: 0 0 1px; padding-inline: 0; margin-right: 14px; }
.reviews-section { background: #302142; }
.review-card { background: transparent; border-color: #c8b7d44a; }
.review-topic { background: none; padding: 0; color: #c0e1de; }
.contacts-section { background: #204a50; }
.contact-card { background: none; }
.contact-card:hover { transform: none; background: #ffffff06; }
.contact-card .icon-tile { color: #b7e9dd; }
.closing { background: var(--yellow); }
/* Video: clean edges, stable labels and native horizontal rails. */
.video-section { background: #29203f; }
.long-videos .video-card { padding: 0 0 17px; border: 0; border-bottom: 1px solid #c4b4d547; border-radius: 0; background: none; }
.long-videos .video-thumb { border-radius: 12px; }
.long-videos .video-copy { padding: 0; }
.video-card button:hover .video-thumb img { transform: scale(1.018); }
.long-videos .video-copy h3 { font: 500 1.125rem/1.45 var(--sans); }
.video-card .duration,.shorts-badge,.catalog-format { backdrop-filter: none; background: #17162de8; color: #fff; }
.youtube-bridge { background: none; border-top: 1px solid #bfaecd40; border-bottom: 1px solid #bfaecd40; border-radius: 0; padding: 22px 0; }
/* Size the visible player before loading it. YouTube owns stream quality. */
.video-dialog:not(.is-short) {
  width: min(1440px,96vw,max(360px,calc((100dvh - 210px) * 16 / 9 + 40px)));
  padding: 48px 20px 22px;
}
.video-dialog:not(.is-short) #video-frame {
  width: 100%;
  aspect-ratio: 16/9;
  min-height: 200px;
  background: #100c20;
}
.video-dialog:not(.is-short) iframe { width: 100%; height: 100%; min-height: 200px; aspect-ratio: 16/9; }
.video-dialog-footer h2 { overflow-wrap: anywhere; }
.video-dialog-footer a { font-size: .875rem; padding-block: 4px; }
.video-quality-hint { margin-top: 12px; font-size: .875rem; line-height: 1.55; color: #cbd2e5; }
.video-dialog.is-short .video-quality-hint { display: none; }
@media (max-width:600px) {
  .video-dialog:not(.is-short) { width: 96vw; padding: 48px 10px 20px; }
}
.short-videos { grid-auto-columns: clamp(180px,22%,244px); gap: 20px; }
.short-videos .video-card { background: none; }
.short-videos .video-thumb { border-radius: 12px; }
.short-videos h3 { color: #eee8f4; }
.library-page { background: var(--paper); }
.library-main { padding-top: 32px; }
.library-heading { align-items: end; border-bottom: 1px solid var(--line); padding-bottom: 28px; margin-bottom: 24px; }
.library-heading h1 { font: 500 clamp(2.5rem,4.5vw,4.5rem)/1.05 var(--serif); letter-spacing: -.025em; }
.library-heading>p { color: #5a546b; }
.library-controls { background: transparent; border: 0; padding: 0; border-radius: 0; box-shadow: none; }
.video-search-row { max-width: 740px; }
.video-search-row input { border-radius: 10px 0 0 10px; background: #fff; border-color: #a69bb9; }
.video-search-row button { background: var(--purple); border-radius: 0 10px 10px 0; }
.catalog-filters { gap: 8px; }
.catalog-filters button { border-radius: 10px; font-size: .9375rem; }
.catalog-filters button[aria-pressed="true"] { color: #fff; background: var(--purple); border-color: var(--purple); }
.catalog-summary { border-top: 1px solid var(--line); padding-top: 18px; color: #5a546b; font-size: .875rem; }
.catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 24px; }
.catalog-card { background: none; border: 0; border-radius: 0; box-shadow: none; }
.catalog-card:hover { transform: none; box-shadow: none; }
.catalog-thumb { border-radius: 12px; overflow: hidden; background: #27233a; }
.catalog-card-copy { padding: 14px 0 18px; border-bottom: 1px solid var(--line); }
.catalog-kind { color: #5f5772; font-size: .875rem; }
.catalog-card-title { color: #292139; font: 500 1.125rem/1.45 var(--sans); }
.catalog-short .catalog-thumb { aspect-ratio: 3/4; }
.catalog-short .catalog-thumb img { object-fit: contain; }
.catalog-play-icon { background: #f6f4f9; color: var(--deep); box-shadow: none; }
/* Publications: a lead story and an edited list instead of identical boxes. */
.publications-section,.publication-index,.publication-main { background: var(--paper); }
.publication-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 36px; }
.publication-card { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; padding: 25px 0; box-shadow: none; }
.publication-card:hover { transform: none; box-shadow: none; border-color: #8b7ba4; }
.publication-card>a { display: grid; grid-template-columns: minmax(110px,.65fr) minmax(0,1fr); align-items: start; gap: 22px; }
.publication-card-image { aspect-ratio: 4/5; border-radius: 12px; }
.publication-card-image img,.publication-cover img,.publication-inline-image img { filter: saturate(.82) contrast(.98); }
.publication-card-arrow { display: none; }
.publication-card-copy { padding: 0; }
.publication-meta { font-size: .875rem; color: #625871; margin-bottom: 12px; }
.publication-card h3 { font: 600 clamp(1.5rem,1.9vw,1.8rem)/1.12 var(--serif); color: #32293e; margin-bottom: 12px; }
.publication-card-copy>p:not(.publication-meta) { color: #575269; font-size: .9375rem; }
.publication-read { border: 0; padding-top: 5px; font-size: .875rem; }
.publication-card--lead { grid-column: 1/-1; padding: 0 0 28px; margin-bottom: 4px; }
.publication-card--lead>a { grid-template-columns: minmax(0,1.18fr) minmax(0,1fr); align-items: center; gap: 36px; }
.publication-card--lead .publication-card-image { aspect-ratio: 16/9; }
.publication-card--lead h3 { font-size: clamp(2rem,3vw,3rem); }
.publication-card--lead .publication-card-copy>p:not(.publication-meta) { font-size: 1.0625rem; max-width: 48ch; }
.publications-section .publication-card:last-child { display: block; }
.publication-index-heading { gap: 42px; }
.publication-index h1 { font: 500 clamp(2.5rem,4.6vw,4.5rem)/1.06 var(--serif); }
.publication-filters { background: none; margin-bottom: 28px; }
.publication-filters label,#publication-count { font-size: .875rem; }
.publication-filters input,.publication-filters select { font-size: 1rem; }
.publication-filters input::placeholder { color: #71657e; opacity: 1; }
.publication-hero { align-items: start; grid-template-columns: minmax(0,1.22fr) minmax(0,1fr); gap: 44px; padding-bottom: 36px; }
.publication-main h1 { font: 500 clamp(2.25rem,4.1vw,4.125rem)/1.06 var(--serif); letter-spacing: -.025em; }
.publication-introduction .eyebrow { color: #695479; font-size: .875rem; }
.publication-deck { color: #575268; font-size: 1.125rem; line-height: 1.6; max-width: 52ch; }
.publication-byline small { color: #696078; font-size: .875rem; }
.publication-cover { border-radius: 12px; box-shadow: none; }
.publication-cover img { aspect-ratio: 4/3; }
.publication-reading-layout { grid-template-columns: 210px minmax(0,70ch); gap: clamp(32px,5vw,80px); }
.publication-prose { color: #383245; }
.publication-prose>p { font-size: 1.125rem; line-height: 1.8; margin-bottom: 20px; }
.publication-prose>p:first-child { font-size: 1.25rem; line-height: 1.65; }
.publication-prose>h2 { font-size: clamp(1.9rem,2.6vw,2.6rem); margin: 38px 0 18px; }
.publication-prose>blockquote { background: none; border: 0; border-block: 1px solid #88739466; border-radius: 0; padding: 24px 0; margin-block: 30px; }
.publication-prose>blockquote p { font: 500 clamp(1.7rem,2.5vw,2.2rem)/1.35 var(--serif); color: #4b315f; }
.publication-toc a { font-size: .875rem; color: #685975; }
.publication-toc a[aria-current="location"] { color: var(--purple); font-weight: 600; border-bottom-color: #644185; }
.publication-video-shortcut { font-size: .875rem; }
.publication-inline-image img { border-radius: 12px; }
.publication-inline-image figcaption { font-size: .875rem; color: #6c6177; }
.publication-source { background: #e5eaf2; border: 0; border-radius: 12px; }
.publication-source .eyebrow,.publication-next small { font-size: .875rem; color: #665570; }
.publication-source-actions .button,.publication-source-actions .text-link { font-size: .9375rem; }
.publication-next span { font-size: 1.4rem; }
.reading-body p { max-width: 70ch; }

/* Practice pages: one reading column and one image, with no sidebar funnel. */
.program-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,.9fr); grid-template-areas: "intro visual" "body visual"; column-gap: clamp(32px,5vw,72px); max-width: 1240px; margin: auto; align-items: start; }
.program-intro { grid-area: intro; min-width: 0; }
.program-page .program-intro h1 { margin-top: 0; font-size: clamp(2.5rem,4.25vw,4rem); line-height: 1.08; overflow-wrap: break-word; hyphens: auto; }
.program-page .program-intro .lead { font-size: clamp(1.1875rem,1.8vw,1.45rem); line-height: 1.5; margin-bottom: 20px; max-width: 45ch; }
.program-format { font-size: .9375rem; line-height: 1.6; color: #4d2b8b; border-block: 1px solid var(--line); padding-block: 13px; margin-bottom: 30px; }
.program-body { grid-area: body; min-width: 0; max-width: 70ch; }
.program-body p, .program-body ul, .program-body ol { font-size: 1.0625rem; line-height: 1.8; }
.program-body h2 { font-size: clamp(1.9rem,2.7vw,2.5rem); margin: 42px 0 16px; line-height: 1.15; text-wrap: balance; }
.program-body h3 { font: 600 clamp(1.6rem,2.25vw,2rem)/1.2 var(--serif); color: var(--deep); margin: 0 0 15px; text-wrap: balance; }
.program-body strong { font-weight: 600; }
.program-visual { grid-area: visual; position: sticky; top: 112px; align-self: start; margin: 4px 0 0; min-width: 0; }
.program-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; max-height: calc(100svh - 144px); object-fit: cover; border-radius: 12px; }
.program-session { border-top: 1px solid var(--line); margin-top: 32px; padding-top: 28px; }
.program-session h3 span { display: block; font: 600 .875rem/1.5 var(--sans); color: #4d2b8b; margin-bottom: 8px; }
.program-body .program-outcome { margin: 20px 0 0; padding: 18px 20px; background: #e1efec; color: #203c3b; border-radius: 12px; }
.program-module { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.program-steps { padding-left: 25px; margin: 0 0 24px; }
.program-steps li { padding-left: 6px; margin-block: 12px; }
.program-steps li::marker { color: #4d2b8b; font-weight: 600; }
.program-care { margin-top: 28px; padding: 20px; background: #e8ebf2; color: #363349; border-radius: 12px; }
.program-action { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.program-action .button { min-height: 52px; white-space: normal; text-align: left; max-width: 100%; }
.program-action .button>span { flex-shrink: 0; }
@media (max-width: 950px) and (min-width: 651px) {
  .author-hero { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 28px; }
  .author-services { font-size: 1rem; }
  .author-services p { padding: 12px 14px; }
  .author-actions { flex-wrap: wrap; }
}
@media (max-width: 850px) {
  .program-layout { grid-template-columns: minmax(0,1fr); grid-template-areas: "intro" "visual" "body"; max-width: 70ch; row-gap: 28px; }
  .program-format { margin-bottom: 0; }
  .program-visual { position: static; margin: 0; }
  .program-visual img { aspect-ratio: 4/3; max-height: 400px; object-position: center top; }
  .program-visual img[src*="mentorship-path"] { object-position: center 55%; }
}
@media (max-width: 650px) {
  .author-services { font-size: 1rem; line-height: 1.65; }
  .author-services p { padding: 14px 16px; }
  .program-layout { row-gap: 24px; }
  .program-page .program-intro h1 { font-size: clamp(2.125rem,8.2vw,3rem); }
  .program-page .program-intro .lead { font-size: 1.1875rem; }
  .program-body h2 { margin-top: 32px; }
  .program-body p, .program-body ul, .program-body ol { font-size: 1.0625rem; line-height: 1.75; }
  .program-action .button { width: 100%; justify-content: space-between; }
  .program-body ul, .program-body ol { padding-left: 21px; }
  .program-body li { padding-left: 3px; }
}
.article-card { background: none; border: 0; box-shadow: none; border-radius: 0; padding-inline: 0; }
.article-card:hover { transform: none; box-shadow: none; }
.article-cover { border-radius: 12px; }
/* Reflow uses the same reading order. No text or interaction is clipped. */
@media (max-width:1000px) {
  .author-hero { gap: 32px; }
  .author-copy h1 .name-given { font-size: clamp(1.75rem,3.6vw,2.5rem); }
  .author-copy h1 .name-family { font-size: clamp(3.3rem,7.2vw,5rem); }
  .publication-card>a { grid-template-columns: 1fr; gap: 16px; }
  .publication-card-image { aspect-ratio: 3/2; }
  .publication-card--lead>a { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
  .publication-hero { gap: 30px; }
  .brand-story { grid-template-columns: 150px minmax(0,1fr); gap: 16px; }
}
@media (max-width:850px) {
  .hero-acceptance .hero-content { gap: 28px; }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .publication-hero { grid-template-columns: 1fr; gap: 24px; }
  .publication-cover { max-width: 720px; }
  .publication-cover img { aspect-ratio: 16/9; }
  .publication-reading-layout { grid-template-columns: minmax(0,1fr); max-width: 70ch; }
  .publication-sidebar { position: static; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
}
@media (max-width:650px) {
  .author-hero { grid-template-columns: minmax(0,1fr); padding-top: 109px; padding-bottom: 32px; gap: 28px; }
  .author-hero::after { display: none; }
  .author-copy h1 .name-given { font-size: clamp(1.75rem,6.5vw,2.5rem); letter-spacing: .04em; }
  .author-copy h1 .name-family { font-size: clamp(3.125rem,12.8vw,5rem); }
  .author-lead { margin-top: 20px; }
  .author-topics a { font-size: .875rem; margin-right: 16px; }
  .author-portrait { max-width: 440px; }
  .portrait-frame img { height: 300px; }
  .portrait-mission p { font-size: 1.25rem; }
  .hero-acceptance .hero-content { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .acceptance-visual { justify-self: start; max-width: 400px; }
  .hero-acceptance .acceptance-woman { max-height: none; }
  .acceptance-visual figcaption { font-size: 1.4rem; }
  .brand-story { grid-template-columns: 150px minmax(0,1fr); margin-top: 22px; }
  .brand-story-label { font-size: 1.35rem; }
  .mission-manifesto { padding: 23px; }
  .publication-grid { grid-template-columns: minmax(0,1fr); }
  .publication-card--lead { grid-column: auto; }
  .publication-card--lead>a { grid-template-columns: 1fr; gap: 18px; }
  .publication-card:not(.publication-card--lead)>a { grid-template-columns: 104px minmax(0,1fr); gap: 18px; }
  .publication-card:not(.publication-card--lead) .publication-card-image { aspect-ratio: 4/5; }
  .publication-card--lead h3 { font-size: 2.15rem; }
  .publication-card h3 { font-size: 1.625rem; }
  .publication-meta { gap: 4px 8px; }
  .publication-card:not(.publication-card--lead) .publication-card-copy>p:not(.publication-meta) { display: none; }
  .publication-reading-layout { gap: 24px; }
  .publication-prose>p { font-size: 1.0625rem; line-height: 1.75; }
  .publication-prose>p:first-child { font-size: 1.1875rem; }
  .publication-index-heading { grid-template-columns: 1fr; gap: 18px; }
  .library-heading { align-items: start; gap: 18px; }
  .catalog-grid { gap: 25px 16px; }
  .catalog-card-title { font-size: 1rem; line-height: 1.45; }
  .catalog-summary { flex-wrap: wrap; gap: 7px; }
  .catalog-short .catalog-thumb { aspect-ratio: 9/16; }
  .short-videos { grid-auto-columns: min(66vw,235px); }
  .video-search-row input { min-width: 0; }
  .video-search-row button { padding-inline: 14px; }
}
@media (max-width:420px) {
  .catalog-grid { grid-template-columns: minmax(0,1fr); }
  .catalog-short .catalog-thumb { max-height: 390px; }
  .brand-story { grid-template-columns: 138px minmax(0,1fr); gap: 16px; }
}
.motion-paused .name-given,.motion-paused .name-family,.motion-paused .story-piece { transform: none !important; animation: none !important; }
.motion-paused .acceptance-woman { transform: none !important; }
.document-hidden .story-piece,.motion-outside .story-piece { animation-play-state: paused !important; }
@media (prefers-reduced-motion:reduce) {
  .name-given,.name-family,.story-piece,.acceptance-woman { transform: none !important; animation: none !important; }
}
@media (forced-colors:active) {
  .author-copy h1 .name-given,.author-copy h1 .name-family { color: CanvasText; text-shadow: none; }
  .publication-toc a[aria-current] { text-decoration: underline; }
}
