/* Shared design vocabulary. Captured at theme scope before a section remaps colors. */
.pb-theme {
  --pbd-paper: var(--pb-bg, #fff);
  --pbd-ink: var(--pb-text, #18252b);
  --pbd-brand: var(--pb-primary, #1264ff);
  --pbd-on-brand: var(--pbd-fallback-on-brand, #fff);
  --pbd-on-ink: var(--pbd-fallback-on-ink, #fff);
  --pbd-tint: color-mix(in srgb, var(--pb-primary) 18%, var(--pb-bg));
  --pbd-step-label: .8125rem;
  --pbd-step-body: clamp(1rem, .96rem + .2vw, 1.125rem);
  --pbd-step-title: clamp(1.75rem, 1.3rem + 2vw, 3rem);
  --pbd-step-display: clamp(2.25rem, 1.45rem + 3.6vw, 5rem);
  --pbd-step-statement: clamp(2.75rem, 1.6rem + 4.5vw, 6rem);
  --pbd-line: color-mix(in srgb, var(--pb-primary) 22%, var(--pb-bg));
  --pbd-ease: cubic-bezier(.22, 1, .36, 1);
}
.pb-block { position: relative; isolation: isolate; }
.pb-block :where(h1,h2,h3) { text-wrap: balance; font-optical-sizing: auto; }
.pb-block :where(p,blockquote) { text-wrap: pretty; }
.pb-block :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.pb-block :where(input,textarea,select) { caret-color: var(--pb-primary); }
.pb-block ::selection { background: var(--pb-primary); color: var(--pbd-on-brand, #fff); }
.pb-block :where(a:not(.pb-btn)) { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.pb-block :where(a:not(.pb-btn)):hover { text-decoration-line: underline; }
.pb-block :where(.pb-btn) { min-height: 44px; transition: opacity 180ms, transform 180ms var(--pbd-ease); }
.pb-block .pb-btn:hover { opacity: .88; }
.pb-block .pb-btn:active { transform: translateY(1px); }

/* Tone is opt-in. Explicit section color fields remain authoritative. */
.pb-block[data-design-tone] {
  --pb-bg: var(--pbd-paper); --pb-text: var(--pbd-ink);
  --pb-muted: color-mix(in srgb, var(--pb-text) 78%, var(--pb-bg));
  --pb-border: color-mix(in srgb, var(--pb-text) 28%, var(--pb-bg));
  --pb-surface: color-mix(in srgb, var(--pbd-brand) 8%, var(--pb-bg));
  background-color: var(--pb-bg); color: var(--pb-text);
}
.pb-block[data-design-tone="tint"] { --pb-bg: var(--pbd-tint); }
.pb-block:is([data-design-tone="ink"],[data-design-tone="dark"]) { --pb-bg: var(--pbd-ink); --pb-text: var(--pbd-on-ink, #fff); --pb-primary: var(--pb-text); }
.pb-block[data-design-tone="brand"] { --pb-bg: var(--pbd-brand); --pb-text: var(--pbd-on-brand, #fff); --pb-primary: var(--pb-text); }
.pb-block[data-design-tone="image"] { --pb-bg: var(--pbd-ink); --pb-text: #fff; --pb-primary: #fff; }
.pb-block[data-design-tone] > :where(div,article,header,footer) { background-color: transparent !important; color: var(--pb-text); }
.pb-block[data-design-tone] :where(h1,h2,h3,h4,p,li,blockquote,dt,dd,summary,figcaption,label) { color: var(--pb-sec-text, var(--pb-text)); }
.pb-block:is([data-design-tone="ink"],[data-design-tone="dark"],[data-design-tone="brand"],[data-design-tone="image"]) .pb-btn--primary { background-color: var(--pb-text) !important; border-color: var(--pb-text) !important; color: var(--pb-bg) !important; }
@supports (color: contrast-color(red)) {
  .pb-theme { --pbd-on-brand: contrast-color(var(--pbd-brand)); --pbd-on-ink: contrast-color(var(--pbd-ink)); }
}

/* Rules sit at the section edge rather than adding a second container. */
.pb-block[data-design-rule]::before { content: ""; display: block; position: absolute; inset: 0 clamp(1rem, 4vw, 3rem) auto; border-top: 1px solid var(--pb-border); pointer-events: none; }
.pb-block[data-design-rule="double"]::before { border-top: 4px double var(--pb-border); }
.pb-block[data-design-rule="brand"]::before { width: clamp(3rem, 8vw, 8rem); border-top: 3px solid var(--pb-primary); }
.pb-block[data-design-rule="dashed"]::before { border-top-style: dashed; }

/* Quiet textures: decorative only, below content, never intercept controls. */
.pb-block[data-design-texture]::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .055; }
.pb-block[data-design-texture="dots"]::after { background-image: radial-gradient(currentColor .7px, transparent .8px); background-size: 9px 9px; }
.pb-block[data-design-texture="lines"]::after { background-image: repeating-linear-gradient(0deg, currentColor 0 1px, transparent 1px 8px); }
.pb-block[data-design-texture="grain"]::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E"); }

/* Media hooks preserve the existing stretch / focal-point contract. */
.pb-block[data-design-image] .pb-design-media { position: relative; }
.pb-block[data-design-image="frame"] :is(.pb-design-media,.pb-design-photo) { border: clamp(6px, 1vw, 14px) solid var(--pb-bg); outline: 1px solid var(--pb-border); }
.pb-block[data-design-image="offset"] :is(.pb-design-media,.pb-design-photo) { box-shadow: clamp(6px, 1.3vw, 18px) clamp(6px, 1.3vw, 18px) 0 var(--pbd-brand); }
.pb-block[data-design-image="arch"] :is(.pb-design-media,.pb-design-photo) { border-radius: 50% 50% 0 0 / 40% 40% 0 0 !important; overflow: hidden; }
.pb-block[data-design-image="mask"] :is(.pb-design-media,.pb-design-photo) { clip-path: ellipse(49% 49% at 50% 50%); }
.pb-block[data-design-image="overlap"] :is(.pb-design-media,.pb-design-photo) { z-index: 1; transform: translateY(-.75rem); box-shadow: 0 12px 24px -12px color-mix(in srgb, var(--pbd-ink) 35%, transparent); }
.pb-block[data-design-image="caption"] :is(.pb-design-media,.pb-design-photo) { border-bottom: 3px double var(--pb-primary); }
.pb-block[data-design-image="caption"] figcaption { padding-block: .75rem; border-bottom: 1px solid var(--pb-border); font-size: var(--pbd-step-label); letter-spacing: .04em; }
.pb-block[data-design-image="overlay"] :is(.pb-design-media,.pb-design-photo) { isolation: isolate; }
.pb-block[data-design-image="overlay"] .pb-design-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, color-mix(in srgb, var(--pbd-ink) 35%, transparent), transparent 70%); }

/* Cards change material, not the composition or reading order. */
.pb-block[data-design-card] .pb-design-card { min-width: 0; padding: clamp(1rem, 2.5vw, 2rem); border-radius: min(var(--pb-radius), 1rem); box-shadow: none; color: var(--pb-text); }
.pb-block[data-design-card="outline"] .pb-design-card { background: transparent; border: 1px solid var(--pb-border); }
.pb-block[data-design-card="tinted"] .pb-design-card { background: var(--pb-surface); border: 1px solid transparent; }
.pb-block[data-design-card="elevated"] .pb-design-card { background: var(--pb-bg); border: 1px solid var(--pb-border); box-shadow: 0 12px 28px -16px color-mix(in srgb, var(--pbd-ink) 35%, transparent); }
.pb-block[data-design-card="editorial"] .pb-design-card { background: transparent; border: 0; border-top: 1px solid var(--pb-text); border-radius: 0; padding-inline: 0; }
.pb-block[data-design-card="borderless"] .pb-design-card { background: transparent; border: 0; padding-inline: 0; }
.pb-block[data-design-card="image_top"] .pb-design-card { display: flex; flex-direction: column; background: var(--pb-bg); border: 1px solid var(--pb-border); overflow: hidden; }
.pb-block[data-design-card="image_top"] .pb-design-card > :is(img,.pb-design-media), .pb-block[data-design-card="image_top"] .pb-design-card > div > .pb-design-photo { order: -1; width: calc(100% + clamp(2rem, 5vw, 4rem)); max-width: none; margin: calc(-1 * clamp(1rem, 2.5vw, 2rem)) calc(-1 * clamp(1rem, 2.5vw, 2rem)) 1.25rem; flex: none; min-height: 12rem; aspect-ratio: 4/3; object-fit: cover; border-radius: 0; }

.pb-block[data-design-eyebrow] .pb-design-eyebrow { font-size: var(--pbd-step-label); letter-spacing: .1em; line-height: 1.5; font-weight: 600; color: var(--pb-text) !important; }
.pb-block[data-design-eyebrow="plain"] .pb-design-eyebrow { text-transform: none; letter-spacing: .02em; }
.pb-block[data-design-eyebrow="ruled"] .pb-design-eyebrow::before { content: ""; display: inline-block; width: 2.5rem; margin-inline-end: .75rem; border-top: 1px solid currentColor; vertical-align: middle; }
.pb-block[data-design-eyebrow="bracket"] .pb-design-eyebrow::before { content: "[ "; }
.pb-block[data-design-eyebrow="bracket"] .pb-design-eyebrow::after { content: " ]"; }
.pb-block[data-design-eyebrow="italic"] .pb-design-eyebrow { font-style: italic; text-transform: none; letter-spacing: 0; font-weight: 400; }
.pb-block[data-design-type] :where(h1,h2[data-pb-field="heading"],.p4-heading :is(h1,h2),.pb-p3__head :is(h1,h2),.pb-l__head :is(h1,h2)) { font-size: var(--pbd-heading-size) !important; line-height: 1.06; letter-spacing: -.035em; overflow-wrap: normal; }
.pb-block[data-design-type="compact"] { --pbd-heading-size: var(--pbd-step-title); }
.pb-block[data-design-type="display"] { --pbd-heading-size: var(--pbd-step-display); }
.pb-block[data-design-type="statement"] { --pbd-heading-size: var(--pbd-step-statement); }
.pb-block[data-design-numerals] .pb-design-number { font-size: var(--pbd-step-display); line-height: 1; letter-spacing: -.035em; }
.pb-block[data-design-numerals="editorial"] .pb-design-number { font-variant-numeric: oldstyle-nums; font-weight: 400; }
.pb-block[data-design-numerals="outline"] .pb-design-number { color: transparent; -webkit-text-stroke: 1px var(--pb-text); }
.pb-block[data-design-numerals="tabular"] .pb-design-number { font-variant-numeric: tabular-nums lining-nums; }
.pb-block[data-design-quote] :is(blockquote,.pb-design-quote:not(:has(blockquote))) { position: relative; padding-top: 3rem; }
.pb-block[data-design-quote] :is(blockquote,.pb-design-quote:not(:has(blockquote)))::before { content: "\201C"; position: absolute; top: -.1em; left: 0; font: 6rem/1 Georgia, serif; color: var(--pb-primary); }
.pb-block[data-design-quote="hanging"] :is(blockquote,.pb-design-quote:not(:has(blockquote))) { padding-inline-start: 2rem; }
.pb-block[data-design-quote="hanging"] :is(blockquote,.pb-design-quote:not(:has(blockquote)))::before { left: -.1em; }
.pb-block[data-design-icon] .pb-design-icon { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; padding: .65rem; flex: none; }
.pb-block[data-design-icon="bare"] .pb-design-icon { padding: 0; background: transparent; border: 0; border-radius: 0; }
.pb-block[data-design-icon="ring"] .pb-design-icon { border: 1px solid currentColor; border-radius: 50%; background: transparent; }
.pb-block[data-design-icon="tile"] .pb-design-icon { background: var(--pb-surface); border: 1px solid var(--pb-border); border-radius: min(var(--pb-radius), .5rem); }
.pb-block[data-design-icon="disc"] .pb-design-icon { background: var(--pbd-brand); color: var(--pbd-on-brand, #fff); border-radius: 50%; }

/* Progressive enhancement: unsupported browsers and reduced motion stay visible. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pb-block[data-design-card] .pb-design-card:has(a,button) { transition: transform 220ms var(--pbd-ease), box-shadow 220ms; }
  .pb-block[data-design-card] .pb-design-card:has(a,button):hover { transform: translateY(-3px); }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .pb-block:is([data-design-motion="fade"],[data-design-motion="rise"]) > :not(style,script,link) { animation: pbd-enter linear both; animation-timeline: view(); animation-range: entry 0% entry 80%; }
    .pb-block[data-design-motion="rise"] { --pbd-travel: 18px; }
    .pb-block[data-design-motion="reveal"] :is(.pb-design-media,.pb-design-photo) { animation: pbd-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 90%; }
  }
}
@keyframes pbd-enter { from { opacity: .3; translate: 0 var(--pbd-travel, 0); } to { opacity: 1; translate: 0 0; } }
@keyframes pbd-reveal { from { opacity: .4; scale: 1.025; } to { opacity: 1; scale: 1; } }
@media (prefers-reduced-motion: reduce) {
  .pb-block[data-design-motion] > *, .pb-block[data-design-motion] :is(.pb-design-media,.pb-design-photo) { animation: none !important; }
  .pb-block .pb-btn, .pb-block[data-design-card] .pb-design-card { transition: none; transform: none; }
}
@media (forced-colors: active) {
  .pb-block[data-design-texture]::after { display: none; }
  .pb-block[data-design-card] .pb-design-card { border: 1px solid CanvasText; }
  .pb-block[data-design-numerals="outline"] .pb-design-number { color: CanvasText; -webkit-text-stroke: 0; }
}
@media (max-width: 767px) {
  .pb-block[data-design-image="overlap"] :is(.pb-design-media,.pb-design-photo) { transform: translateY(-.35rem); }
}

.pb-block[data-design-image="overlay"] .pb-design-photo { filter: brightness(.85) saturate(.8); }
.pb-block[data-design-image="arch"] .pb-design-media img { border-radius: inherit !important; }

/* Existing compiled utility bundle need not be regenerated for this new fill. */
.pb-block .lc--overlay { background-color: var(--pb-text); }

/* Q3a: brand-derived materials apply even without an opt-in design tone. */
.pb-block {
  --pb-surface: color-mix(in srgb, var(--pb-primary) 12%, var(--pb-bg));
}
.pb-block :is(h1,h2,h3,h4) { overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.pb-block :is(a,p,li) { word-break: normal; }
.pb-block a { overflow-wrap: break-word; }
.pb-page-title { max-width:76rem;margin:2rem auto;padding-inline:1.25rem;font-size:var(--pbd-step-display);text-wrap:balance; }
/* Space for the longest heading word at 320px, without cutting it in two. */
@media(max-width:767px) {
  .pb-block[data-design-type] { --pbd-step-display:clamp(2.25rem,1.5rem + 3.5vw,3rem);--pbd-step-statement:clamp(2.75rem,1.75rem + 4vw,3.5rem); }
}
/* Each tile stays in authored order. Image, title and caption form one unit. */
.pb-block .pb-l__bento { grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch; }
.pb-block .pb-l__tile { justify-content:center;height:100%; }
.pb-block .pb-l__tile--wide { grid-column:auto; }
.pb-block .pb-l__tile--tall { grid-row:auto; }
.pb-block .pb-l__tile:has(>img) { justify-content:flex-start; }
.pb-block .pb-l__tile > img { flex:none;aspect-ratio:4/3;width:100%;height:auto;min-height:0;object-fit:cover; }
.pb-block .pb-l__tile:last-child:nth-child(odd) { grid-column:1/-1; }
.pb-block .pb-l__tile:has(>img):last-child:nth-child(odd) > img { max-height:28rem; }
/* Every row has full tracks; four days become 2x2 instead of 3+1. */
.pb-block .pb-l__days { grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch; }
.pb-block .pb-l__day:last-child:nth-child(odd) { grid-column:1/-1; }
.pb-block .pb-l__session { background:transparent;border-radius:0;border-bottom:1px solid var(--pb-border);padding-inline:0; }
.pb-block .pb-l__session > span { background:transparent;border-radius:0; }
.pb-block .pb-l__wall-cell { background:transparent; }
.pb-block .pb-p3__cards > .pb-p3__card-item:only-child { grid-column:1/-1; }
.pb-block .pb-p3__cards:has(>.pb-p3__card-item:nth-child(3n+1):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pb-block .pb-p3__cards:has(>.pb-p3__card-item:nth-child(3n+1):last-child) > .pb-p3__card-item:last-child:nth-child(odd) { grid-column:1/-1; }
/* Multi-photo cards share a crop and keep copy beside media centered. */
.pb-block .pb-p3__grid-card > .pb-p3__media { flex:none;--p3-ratio:4/3; }
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:first-child .pb-p3__media { flex:1; }
.pb-block .pb-l--team-bio_list .pb-l__team { align-items:center; }
@media(max-width:767px) {
  .pb-block .pb-l__bento,.pb-block .pb-l__days,
  .pb-block .pb-p3__cards:has(>.pb-p3__card-item:nth-child(3n+1):last-child) { grid-template-columns:minmax(0,1fr); }
  .pb-block .pb-l__tile { height:auto; }
}
/* Legacy and module grids get the same complete-row policy as package grids. */
@media(min-width:768px) {
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(3n+1):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(3n+1):last-child) > :last-child:nth-child(odd) { grid-column:1/-1; }
}
/* P4's post archive also handles incomplete final rows without blank tracks. */
.pb-block .p4-season-archive details>div:has(>:nth-child(3n+1):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pb-block .p4-season-archive details>div:has(>:nth-child(3n+1):last-child)>:last-child:nth-child(odd) { grid-column:1/-1; }
@media(max-width:767px) {
  .pb-block .p4-season-archive details>div:has(>:nth-child(3n+1):last-child) { grid-template-columns:minmax(0,1fr); }
}
/* Authored editorial module cards become an agenda, retaining real module data. */
.pb-block[data-design-card="editorial"]:is([data-block-type="events"],[data-block-type="groups"]) .pb-cols.grid { grid-template-columns:minmax(0,1fr); }
.pb-block .p4-choose--pathway .p4-choices:has(>:nth-child(3n+1):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pb-block .p4-choose--pathway .p4-choices:has(>:nth-child(3n+1):last-child)>:last-child:nth-child(odd) { grid-column:1/-1; }
/* Preserve component breakpoints in the narrow editor as well as on phones. */
@container(max-width:30rem) {
  .pb-block .pb-l__bento,.pb-block .pb-l__days { grid-template-columns:minmax(0,1fr); }
}
@container p3 (max-width:42rem) {
  .pb-block .pb-p3__cards:has(>.pb-p3__card-item:nth-child(3n+1):last-child) { grid-template-columns:minmax(0,1fr); }
}
@container(max-width:48rem) {
  .pb-block .p4-choose--pathway .p4-choices:has(>:nth-child(3n+1):last-child) { grid-template-columns:minmax(0,1fr); }
}

/* Visual loop 1: spacing must never replace a component's layout mode.
   The legacy theme applies flow-root to every spaced section, including grids. */
.pb-theme .pb-block[data-section-spacing] > :is(.pb-l,.pb-p2,.pb-p3,.p4) { display:block; }
.pb-theme .pb-block[data-section-spacing] > .pb-l--hero-full_bleed { display:flex; }
.pb-theme .pb-block[data-section-spacing] > .pb-side-row { display:grid; }
.pb-block :is(.pb-p3__prose,.pb-l__copy .prose) { font-size:var(--pbd-step-body); }
.pb-block :is(.pb-p3__spread,.p4-clock-row,.p4-scene-card,.pb-l__team) > * { min-width:0; }
.pb-block :is(.pb-p3__spread,.p4-clock-row,.p4-scene-card) { align-items:center; }
.pb-block .pb-p3__spread > article { align-self:stretch; display:flex; flex-direction:column; }
.pb-block .pb-p3__spread > article > .pb-p3__media { flex:1; }
.pb-block .pb-p3__spread > .pb-p3__contents { align-self:center; }
.pb-block .pb-p3__contents-row .pb-p3__thumb { margin-block:0; }
/* Grid, rather than newspaper columns, keeps the pull quote in its own track. */
.pb-block .pb-p3__editorial { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:var(--p3-gap); column-count:auto; column-rule:0; align-items:center; }
.pb-block .pb-p3__editorial:not(:has(>.pb-p3__pull)) { grid-template-columns:minmax(0,1fr); }
.pb-block .pb-p3__editorial > .pb-p3__pull { margin:0; padding:1.5rem; border:0; border-inline-start:1px solid var(--pb-border); }
/* Explicit editorial pricing: the main offer has room; alternatives read as a list. */
@media(min-width:768px) {
  .pb-block[data-design-card="editorial"] .pb-pricing-grid:has(>:nth-child(2):last-child) { grid-template-columns:minmax(0,3fr) minmax(0,2fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
  .pb-block[data-design-card="editorial"] .pb-pricing-grid:has(>:nth-child(2):last-child)>:last-child { height:auto; border-top:0; }
  .pb-block[data-design-card="editorial"] .pb-pricing-grid:has(>:nth-child(2):last-child)>:last-child a { background:transparent; color:var(--pb-text); text-align:left; padding-inline:0; text-decoration:underline; text-underline-offset:.25em; }
}
/* Complete small grids without forcing three or four authored items into twins. */
@media(min-width:768px) {
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1024px) {
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(5):last-child) { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(5):last-child)>* { grid-column:span 2; }
  .pb-block :is(.pb-cols.grid,.pb-l__grid):has(>:nth-child(5):last-child)>:nth-last-child(-n+2) { grid-column:span 3; }
}
/* Event/program rails must show complete titles on a phone, with no clipped peek. */
@media(max-width:767px) {
  .pb-block .pb-l--features-scroller .pb-l__grid { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; }
  .pb-block .pb-l--features-scroller .pb-l__feature { width:100%; min-width:0; border-top:1px solid var(--pb-border); padding-block:1.25rem; }
  .pb-block .pb-p3__editorial { grid-template-columns:minmax(0,1fr); }
  .pb-block .pb-p3__editorial > .pb-p3__pull { border-inline-start:0; border-top:1px solid var(--pb-border); padding-inline:0; }
}
@container p3 (max-width:42rem) {
  .pb-block .pb-p3__editorial { grid-template-columns:minmax(0,1fr); }
  .pb-block .pb-p3__editorial > .pb-p3__pull { border-inline-start:0; border-top:1px solid var(--pb-border); padding-inline:0; }
}
/* Existing editor spacing tokens remain authoritative on phones too. */
@media(max-width:640px) {
  .pb-theme .pb-block[data-section-spacing][style*="--pb-pt"] > :not(style,script,link) { padding-top:var(--pb-pt)!important; }
  .pb-theme .pb-block[data-section-spacing][style*="--pb-pb"] > :not(style,script,link) { padding-bottom:var(--pb-pb)!important; }
  .pb-theme .pb-block.pb-block--collapse-top > :not(style,script,link),.pb-theme .pb-block.pb-block--notop > :not(style,script,link) { padding-top:0!important; }
  .pb-theme .pb-block.pb-block--collapse-bottom > :not(style,script,link),.pb-theme .pb-block.pb-block--nobottom > :not(style,script,link) { padding-bottom:0!important; }
}

/* Consecutive stand-alone emphasis entries are a list, not one unbroken sentence. */
.pb-block .prose:has(>strong+strong):not(:has(>:not(strong))) > strong { display:block; padding-block:1rem; border-top:1px solid var(--pb-border); }
.pb-block .p4-item-text { line-height:1.6; max-width:65ch; }
/* Small card collections fill their row; intentional list variants stay lists. */
@container p3 (min-width:42.01rem) {
  .pb-p3:not(.pb-p3--p3_quick_bar):not(.pb-p3--p3_thumbnail_rows) .pb-p3__cards:has(>:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-p3--p3_ruled_grid .pb-p3__card-item:last-child:nth-child(odd) { grid-column:1/-1; }
}
@container(max-width:46rem) {
  .pb-block .pb-l--features-scroller .pb-l__grid { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; }
  .pb-block .pb-l--features-scroller .pb-l__feature { width:100%; min-width:0; border-top:1px solid var(--pb-border); padding-block:1.25rem; }
}

/* Visual loop 2: content may shrink inside every shared split, including the
   narrow editor. Long URLs wrap without forcing whole columns off the page. */
.pb-block :is(.pb-side-row,.pb-p3__split,.pb-p3__between,.pb-l__two,.p4-scene-card) > * { min-inline-size:0; }
.pb-block :is(.prose,.pb-p3__prose,.p4-item-text) { overflow-wrap:anywhere; }
.pb-block .pb-l__team-info > h3:first-child { margin-block-start:0; }
.pb-block .pb-p3__between > .pb-p3__copy { align-self:center; }
/* A single gallery image occupies the whole content track, with space reserved
   before a lazy image loads. Buttons and links use the same crop as editor images. */
.pb-block[data-block-type="gallery"] .pb-cols.grid:has(>figure:only-child) { grid-template-columns:minmax(0,1fr); }
.pb-block[data-block-type="gallery"] figure > :is(a,button) { display:block; inline-size:100%; }
.pb-block[data-block-type="gallery"] figure .pb-design-photo { display:block; }

/* The featured composition is one dominant photograph with a supporting list.
   Count-specific tracks prevent a three-item set from leaving two empty slots.
   At tablet width the lead spans the row; smaller items share complete rows. */
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards[data-item-count="2"] > :first-child { grid-row:auto; }
@container p3 (min-width:60.01rem) {
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards[data-item-count="3"] { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards[data-item-count="3"] > :first-child { grid-row:span 2; }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards[data-item-count="4"] { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards[data-item-count="4"] > :first-child { grid-row:span 3; }
}
@container p3 (min-width:42.01rem) and (max-width:60rem) {
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards > :first-child { grid-column:1/-1; grid-row:auto; }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards > :last-child:nth-child(even) { grid-column:1/-1; }
}
/* Keep every program photo on phones, including the supporting cards. */
@container p3 (max-width:42rem) {
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__cards { grid-template-columns:minmax(0,1fr); gap:0; }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item { grid-column:1/-1; grid-row:auto; }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:first-child { padding-block-end:2rem; }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) { padding-block:1.25rem; border-block-start:1px solid var(--pb-border); }
  .pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) .pb-p3__grid-card { block-size:auto; }
}

/* Audit 7 shared fixes: small indexes use complete ruled rows, with actions
   below titles on phones. No template key or custom palette is involved. */
.pb-block .pb-p3.pb-p3--p3_filter_grid .pb-p3__cards--text-index { grid-template-columns:minmax(0,1fr); gap:0; }
.pb-block .pb-p3__cards--text-index .pb-p3__grid-card { padding:1.5rem 0; border:0; border-block-start:1px solid var(--pb-border); background:transparent; }
.pb-block .pb-p3__cards--text-index h3 { font-size:var(--pbd-step-title); }
.pb-block .pb-p3__link { max-inline-size:100%; flex-wrap:wrap; }
.pb-block .pb-links { container-type:inline-size; }
.pb-block .pb-links__row { min-inline-size:0; }
.pb-block .pb-links__row > [data-pb-field] { min-inline-size:0; }
/* Filtered results have their own count: hidden cards cannot reserve a track. */
.pb-block .pb-p3__cards[data-visible-count="1"] { grid-template-columns:minmax(0,1fr); }
@container p3 (min-width:42.01rem) {
  .pb-block .pb-p3__cards[data-visible-count="2"],
  .pb-block .pb-p3__cards[data-visible-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block .pb-p3__cards[data-visible-count="3"],
  .pb-block .pb-p3__cards[data-visible-count="6"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pb-block .pb-p3__cards[data-visible-count="5"] { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .pb-block .pb-p3__cards[data-visible-count="5"] > :not([hidden]) { grid-column:span 2; }
  .pb-block .pb-p3__cards[data-visible-count="5"] > :nth-last-child(-n+2 of :not([hidden])) { grid-column:span 3; }
}
/* The authored editorial option gives a statement priority over its companion
   instead of reproducing another pair of identical feature columns. */
@container p3 (min-width:42.01rem) {
  .pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__cards:has(>:nth-child(2):last-child) { grid-template-columns:minmax(0,3fr) minmax(0,2fr); align-items:center; }
  .pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__card-item:first-child h3 { font-size:clamp(2rem,1rem + 3cqi,4rem); }
}
/* Body text and controls can shrink inside split columns without clipping. */
.pb-block :is(.pb-l__team-info,.pb-p2__copy,.pb-p3__card-copy,.p4-scene-copy) { min-inline-size:0; overflow-wrap:anywhere; }
.pb-block :is(.pb-l__team-info,.pb-p2__copy,.pb-p3__card-copy,.p4-scene-copy) :is(h1,h2,h3) { overflow-wrap:break-word; }
@media(max-width:767px) {
  .pb-block .pb-links[data-right-style="text"] .pb-links__row,
  .pb-block .pb-links[data-right-style="button"] .pb-links__row { align-items:flex-start; flex-wrap:wrap; gap:.5rem; }
  .pb-block .pb-links[data-right-style="text"] .pb-links__row > [data-pb-field],
  .pb-block .pb-links[data-right-style="button"] .pb-links__row > [data-pb-field] { flex-basis:100%; }
  .pb-block .pb-p3__contents-row .pb-p3__link { display:flex; inline-size:100%; }
}

/* Visual loop 3: center the actual copy, not a flex cell stretched to the photo.
   Keep captions with their photo and reserve the crop before images load. */
.pb-block .pb-p3__spread > .pb-p3__contents { margin-block:0; align-self:center; }
.pb-block .pb-p3__split > .pb-p3__copy,
.pb-block .pb-side-row > :not(.pb-side-media,.pb-side-collage),
.pb-block .p4-scene-card > .p4-scene-copy { align-self:center; }
.pb-block .pb-p3__prose:empty { display:none; }
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) { display:flex; align-items:center; }
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) .pb-p3__grid-card { inline-size:100%; block-size:auto; }
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) .pb-p3__card-copy { flex:none; }
.pb-block .pb-p3--p3_one_big_four_small .pb-p3__card-item:not(:first-child) .pb-p3__link { margin-block-start:.75rem; padding-block-start:0; }
/* Invitation details are a real grid track. Long copy grows the whole ticket. */
.pb-block .p4-choose--invitation .p4-choice { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,1fr); column-gap:clamp(1rem,3cqi,3rem); padding-inline:clamp(1.5rem,4cqi,4rem); }
.pb-block .p4-invitation-copy { display:grid; gap:1rem; min-inline-size:0; grid-column:1; }
.pb-block .p4-choose--invitation .p4-stub { position:static; grid-column:2; grid-row:1; inline-size:auto; align-self:stretch; padding:1rem 0 1rem clamp(1rem,2cqi,2rem); margin:0; font-size:1rem; overflow-wrap:anywhere; }
/* Small directories have no empty card track or redundant filter toolbar. */
.pb-block .p4-choices[data-item-count="1"] { grid-template-columns:minmax(0,1fr); }
.pb-block .p4-choose--pathway_finder .p4-choices[data-item-count="2"] { grid-template-columns:minmax(0,1fr); }
.pb-block .p4-choose--age_path .p4-choices[data-item-count="2"] .p4-choice { margin-inline:0; border-inline:0; border-block-start:1px solid var(--pb-border); }
/* An editorial pair has one lead statement, followed by a quieter full row. */
.pb-block[data-design-card="editorial"] .p4-choose--two_doors .p4-choices { grid-template-columns:minmax(0,1fr); border-inline:0; }
.pb-block[data-design-card="editorial"] .p4-choose--two_doors .p4-choice { border-inline:0; background:transparent; }
.pb-block[data-design-card="editorial"] .p4-choose--two_doors .p4-choice:first-child h3 { font-size:var(--pbd-step-title); }
.pb-block[data-design-card="editorial"] .p4-choose--two_doors .p4-choice + .p4-choice { border-block-start:1px solid var(--pb-border); }
/* Mobile affordances get their own line and never squeeze a title's last word. */
.pb-block .pb-links__row > :first-child { min-inline-size:0; overflow-wrap:anywhere; }
.pb-block :is(.pb-p3__link,.pb-btn) { max-inline-size:100%; white-space:normal; }
.pb-block .pb-p3__link { overflow-wrap:anywhere; }
.pb-block .pb-p3__link > span { flex-shrink:1; }
@media(max-width:640px) {
  .pb-block[data-block-type="links"] .pb-cols.grid > :last-child:nth-child(odd) { grid-column:1/-1; }
}
@container(max-width:48rem) {
  .pb-block .p4-choose--invitation .p4-choice { grid-template-columns:minmax(0,1fr); padding:1.5rem; }
  .pb-block .p4-choose--invitation .p4-stub { grid-column:1; grid-row:auto; border-inline-start:0; border-block-start:2px dashed currentColor; padding:1.5rem 0 0; margin-block-start:1rem; }
}

/* Apply text-action stacking in the editor's narrow canvas as well. */
@container(max-width:40rem) {
  .pb-block .pb-links[data-right-style="text"] .pb-links__row,
  .pb-block .pb-links[data-right-style="button"] .pb-links__row { align-items:flex-start; flex-wrap:wrap; gap:.5rem; }
  .pb-block .pb-links[data-right-style="text"] .pb-links__row > [data-pb-field],
  .pb-block .pb-links[data-right-style="button"] .pb-links__row > [data-pb-field] { flex-basis:100%; }
}

/* After filtering, seven/ten/etc. results must not leave a lone third track. */
@container p3 (min-width:42.01rem) {
  .pb-block .pb-p3__cards[data-visible-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block .pb-p3__cards[data-visible-columns="2"] > :nth-last-child(1 of :not([hidden])):nth-child(odd of :not([hidden])) { grid-column:1/-1; }
}

/* Visual loop 2 system: labels own an intrinsic track. A month/day abbreviation
   must never paint into the neighboring story, even with editorial numerals. */
.pb-block .pb-p3__contents-row { grid-template-columns:minmax(3rem,max-content) minmax(0,1fr); }
.pb-block .pb-p3--p3_lead_links .pb-p3__contents-row:has(.pb-p3__thumb) { grid-template-columns:minmax(2rem,max-content) minmax(3rem,5rem) minmax(0,1fr); }
.pb-block .pb-p3__contents-row > .pb-p3__num { max-inline-size:min(10ch,25cqi); white-space:normal; overflow-wrap:anywhere; }
/* Titles and short introductions share a vertical center, like photo splits. */
.pb-block .pb-p3__title-split { align-items:center; }
.pb-block .pb-p3__title-split > .pb-p3__head { margin-block-end:0; }
.pb-block .pb-l--team-bio_list .pb-l__team > .pb-side-media { align-self:stretch; }
/* A full-width scene's caption uses its full measure. Split scenes retain a
   readable column width beside the photograph. */
.pb-block .p4-scene--zoom .p4-scene-copy { max-inline-size:none; margin-inline:8%; }
/* Editorial is an existing editor option: lead with one statement, then keep
   supporting entries together. Ordinary directories keep their equal cards. */
@container p3 (min-width:42.01rem) {
  .pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__cards:has(>:nth-child(3):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__cards:has(>:nth-child(3):last-child)>:first-child { grid-column:1/-1; }
  .pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__card-item:first-child h3 { font-size:var(--pbd-step-title); }
}
@container(min-width:48.01rem) {
  .pb-block .p4-choose--age_path .p4-choices[data-item-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:clamp(2rem,5cqi,5rem); }
  .pb-block .p4-choose--age_path .p4-choices[data-item-count="2"] > * h3 { font-size:var(--pbd-step-title); }
  .pb-block[data-design-card="editorial"] .pb-l--timeline-vertical .pb-l__milestone { max-inline-size:none; display:grid; grid-template-columns:minmax(7rem,2fr) minmax(0,3fr) minmax(0,4fr); gap:1rem 2rem; align-items:center; }
  .pb-block[data-design-card="editorial"] .pb-l--timeline-vertical .pb-l__milestone > :is(p,h3) { margin:0; }
  .pb-block[data-design-card="editorial"] .pb-l--timeline-vertical .pb-l__milestone > img { grid-column:2/-1; }
  .pb-block[data-design-card="editorial"] .pb-l--timeline-vertical .pb-l__milestone:first-child h3 { font-size:var(--pbd-step-title); }
}
/* Two image rows keep a visible relationship on a phone. Mosaic retains its
   large plate followed by two supporting crops, rather than three equal tiles. */
@container(max-width:48rem) {
  .pb-block .p4-gallery--mosaic .p4-gallery-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block .p4-gallery--mosaic figure:nth-child(5n+1) { grid-row:auto; grid-column:1/-1; }
  .pb-block .p4-gallery--mosaic figure:nth-child(5n+1) img { aspect-ratio:4/3; }
  .pb-block .p4-gallery--mosaic figure:last-child:is(:nth-child(5n+2),:nth-child(5n+4)) { grid-column:1/-1; }
  .pb-block .p4-gallery--mosaic figure:only-child { grid-column:1/-1; }
  .pb-block .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(2):last-child) { display:grid; grid-template-columns:minmax(0,1fr); }
  .pb-block .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(2):last-child)>figure:last-child { inline-size:80%; justify-self:end; }
  .pb-block .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(2):last-child) img { height:auto; aspect-ratio:3/2; }
}
/* Static phone marquees show the complete authored phrase and omit clones.
   The animated desktop track keeps its original seamless-loop measurements. */
@media(max-width:640px), (prefers-reduced-motion:reduce) {
  .pb-block .pb-marquee { overflow:visible; mask-image:none; -webkit-mask-image:none; }
  .pb-block .pb-marquee .pb-marquee__track { inline-size:100%; flex-wrap:wrap; gap:1rem 2rem; padding-inline:0; animation:none; transform:none!important; }
  .pb-block .pb-marquee__track > * { flex:0 1 auto; max-inline-size:100%; margin-inline-end:0; white-space:normal; overflow-wrap:anywhere; }
  .pb-block .pb-marquee__track > [aria-hidden="true"] { display:none; }
}
@container(max-width:48rem) {
  .pb-block .pb-p2__marquee p { font-size:clamp(1.25rem,.75rem + 3cqi,2.25rem); white-space:normal; overflow-wrap:break-word; }
}

/* Four-column collections also close a lone final track. The special lead,
   thumbnail, quick-bar and filtered compositions own their own track policy. */
@container p3 (min-width:60.01rem) {
  .pb-block .pb-p3:not(.pb-p3--p3_one_big_four_small,.pb-p3--p3_thumbnail_rows,.pb-p3--p3_quick_bar,.pb-p3--p3_filter_grid) .pb-p3__cards[data-columns="4"][data-item-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pb-block .pb-p3:not(.pb-p3--p3_one_big_four_small,.pb-p3--p3_thumbnail_rows,.pb-p3--p3_quick_bar,.pb-p3--p3_filter_grid) .pb-p3__cards[data-columns="4"]:has(>:nth-child(4n+1):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb-block .pb-p3:not(.pb-p3--p3_one_big_four_small,.pb-p3--p3_thumbnail_rows,.pb-p3--p3_quick_bar,.pb-p3--p3_filter_grid) .pb-p3__cards[data-columns="4"]:has(>:nth-child(4n+1):last-child)>:last-child { grid-column:1/-1; }
}

/* Visual loop 3 system: editorial collections have one lead and an index.
   These are the existing editor's Editorial ruled controls, not template hooks. */
.pb-block[data-design-card="editorial"] .pb-l__days { grid-template-columns:minmax(0,1fr); gap:0; }
.pb-block[data-design-card="editorial"] .pb-l__day { min-inline-size:0; padding-block:1rem; }
.pb-block[data-design-card="editorial"] .pb-l__day h3 { margin-block:0; }
.pb-block[data-design-card="editorial"] .pb-l__day:first-child h3 { font-size:var(--pbd-step-title); }
.pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) .pb-l__session { margin:0; padding-block:.75rem; }
@container(min-width:46.01rem) {
  .pb-block[data-design-card="editorial"] .pb-l__days:has(>:nth-child(2)) { grid-template-columns:minmax(0,3fr) minmax(0,2fr); grid-template-rows:repeat(var(--pb-day-rows,1),auto); gap:0 clamp(2rem,5cqi,5rem); }
  .pb-block[data-design-card="editorial"] .pb-l__days > :first-child { grid-column:1; grid-row:1 / -1; align-self:start; }
  .pb-block[data-design-card="editorial"] .pb-l__days > :not(:first-child) { grid-column:2; }
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) .pb-l__session { grid-template-columns:minmax(0,1fr); gap:.5rem; }
}
/* A three-entry imprint reads down one measure rather than leaving the last
   project under an empty cell. The lead retains the larger heading. */
.pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__cards:has(>:nth-child(3):last-child) { grid-template-columns:minmax(0,1fr); }
.pb-block[data-design-card="editorial"] .pb-p3--p3_numbered_columns .pb-p3__cards:has(>:nth-child(3):last-child) > * { grid-column:1/-1; }
/* A three-work portfolio leads with one large plate, followed by a pair. */
.pb-block[data-design-card="editorial"] .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(3):last-child) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pb-block[data-design-card="editorial"] .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(3):last-child) > figure:first-child { grid-column:1/-1; }
.pb-block[data-design-card="editorial"] .p4-gallery--portfolio_rows .p4-gallery-items:has(>figure:nth-child(3):last-child) img { height:auto; aspect-ratio:3/2; }
/* Missing media must not leave an empty neighboring track. Every remaining
   split child may shrink; long words wrap instead of painting over a column. */
.pb-block .pb-side-row:not(:has(>.pb-side-media,>.pb-side-collage)) { grid-template-columns:minmax(0,1fr); }
.pb-block :is(.pb-p3__contents-row,.pb-l__session,.pb-l__feature,.pb-p3__text-row) > * { min-inline-size:0; }
.pb-block :is(.pb-p3__contents-row,.pb-l__session,.pb-l__feature,.pb-p3__text-row) :is(h3,h4,p,a) { overflow-wrap:anywhere; }
@container(max-width:30rem) {
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:1rem; border-top:1px solid var(--pb-border); }
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) h3 { border:0; font-size:1.125rem; }
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) .pb-l__session { grid-column:2; padding:0; border:0; }
  .pb-block .pb-p3__contents-row > .pb-p3__num { font-size:clamp(1.25rem,5cqi,2rem); }
}

/* Card fills own their foreground, independently of the enclosing section tone. */
.pb-block .pb-cta-card :is(h1,h2,p) { color:var(--pb-cta-ink,var(--pbd-on-brand)) !important; }
.pb-newsletter-fields { display:flex;flex-wrap:wrap;gap:.75rem; }
.pb-newsletter-fields input[type="email"] { flex:1 1 16rem;min-width:min(100%,16rem); }
.pb-newsletter-fields button { flex:0 0 auto; }
.pb-block .pb-l__gift strong { font-size:clamp(2rem,1.5rem + 2vw,3rem); }
.pb-block .p4-price { font-size:clamp(1.75rem,1.25rem + 2vw,2.5rem); }

/* S3: the existing Design controls opt into these responsive corrections. */
.pb-l__backdrop--positioned { object-position:var(--pb-hero-pos,center); }
.pb-block[data-design-tone] .pb-l__timeline::before { background:var(--pb-border); }
.pb-block:is([data-design-type="display"],[data-design-type="statement"]) .p4-invitation-copy .p4-item-text,
.pb-block:is([data-design-type="display"],[data-design-type="statement"]) .p4-choose--invitation .p4-stub { font-size:clamp(1.125rem,1rem + .8vw,1.75rem); line-height:1.5; }
@media(max-width:767px) {
  .pb-l__backdrop--positioned { object-position:var(--pb-hero-pos-mobile,var(--pb-hero-pos,center)); }
  .pb-block:is([data-design-tone],[data-design-numerals],[data-design-type]) [id] .pbstep-item { flex-direction:row !important; align-items:flex-start !important; gap:1.1rem; text-align:left !important; }
  .pb-block:is([data-design-tone],[data-design-numerals],[data-design-type]) [id] .pbstep-item .pbstep-badgewrap { margin-bottom:0 !important; }
  .pb-block:is([data-design-tone],[data-design-card],[data-design-type],[data-design-image]) [id] .tm-name { font-size:1.05rem !important; }
  .pb-block:is([data-design-tone],[data-design-card],[data-design-type],[data-design-image]) [id] :is(.tm-role,.tm-blurb) { font-size:.9rem !important; }
}
@container(max-width:46rem) {
  .pb-block .pb-l--timeline-alternating .pb-l__milestone:nth-child(even) { width:auto; margin-left:0; padding:0 0 2rem 2rem; }
}
@container(max-width:30rem) {
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) { grid-template-columns:minmax(0,1fr); gap:.5rem; }
  .pb-block[data-design-card="editorial"] .pb-l__day:not(:first-child) .pb-l__session { grid-column:1; }
  .pb-block .pb-l__session--short-time { grid-template-columns:minmax(3rem,max-content) minmax(0,1fr); gap:.75rem; }
  .pb-block .pb-l__session--short-time > span { max-inline-size:6.5rem; overflow-wrap:anywhere; }
}
