/* FlowBrand: editorial brand artifacts within the shared product-page family. */
.page-flowbrand .fb-editorial { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(30px, 4vw, 64px); align-items: center; }
.page-flowbrand .fb-editorial-reverse .fb-scene { order: 2; }
.page-flowbrand .fb-scene { margin: 0; min-width: 0; }
.page-flowbrand .fb-scene img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: 16px; }
.page-flowbrand .fb-scene figcaption { margin-top: 14px; color: var(--pd-muted); font-size: 13px; line-height: 1.7; }
.page-flowbrand .fb-research-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.page-flowbrand .fb-research { display: flex; flex-direction: column; border-top: 1px solid var(--pd-line); padding-top: 20px; min-width: 0; }
.page-flowbrand .fb-editorial .fb-research h3 { font-size: 20px; margin-bottom: 8px; }
.page-flowbrand .fb-editorial .fb-research p { margin: 0; }
.page-flowbrand .fb-index { display: block; color: var(--pd-accent-text); font-size: 13px; font-weight: 600; letter-spacing: .08em; margin-bottom: 24px; }
.page-flowbrand :is(.fb-research,.fb-stages,.fb-materials,.fb-reading) h3 { color: var(--pd-ink); font-size: 22px; font-weight: 600; line-height: 1.45; margin-bottom: 16px; }
.page-flowbrand :is(.fb-research,.fb-stages,.fb-materials) p { font-size: 16px; line-height: 1.75; color: var(--pd-muted); }
.page-flowbrand .fb-artifacts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.page-flowbrand .fb-artifact { background: var(--pd-white); border: 1px solid var(--pd-line); border-radius: 12px; padding: 28px; margin: 0; min-width: 0; }
.page-flowbrand .fb-artifact-top { padding-bottom: 24px; }
.page-flowbrand .fb-artifact h3 { font-size: 25px; line-height: 1.4; font-weight: 600; color: var(--pd-ink); }
.page-flowbrand .fb-artifact-top p { margin: 14px 0 0; color: var(--pd-muted); font-size: 16px; line-height: 1.8; }
.page-flowbrand .fb-example { border-top: 1px solid var(--pd-line); }
.page-flowbrand .fb-example summary { cursor: pointer; padding: 18px 0 0; color: var(--pd-accent-text); font-size: 16px; line-height: 1.7; font-weight: 500; }
.page-flowbrand .fb-example summary:focus-visible { outline: 2px solid var(--pd-accent-text); outline-offset: 6px; border-radius: 4px; }
.page-flowbrand .fb-example[open] summary { padding-bottom: 20px; }
.page-flowbrand .fb-example figure { margin: 0; }
.page-flowbrand .fb-example figcaption { margin-top: 14px; color: var(--pd-muted); font-size: 13px; line-height: 1.7; }
.page-flowbrand .fb-canvas { margin: 0; }
.page-flowbrand .fb-canvas > div { padding: 16px 0; border-bottom: 1px solid var(--pd-line); }
.page-flowbrand :is(.fb-canvas,.fb-house-pillars) dt { font-size: 16px; line-height: 1.55; font-weight: 600; color: var(--pd-ink); margin-bottom: 10px; }
.page-flowbrand :is(.fb-canvas,.fb-house-pillars) dd { font-size: 16px; line-height: 1.8; color: var(--pd-muted); margin: 0; }
.page-flowbrand .fb-house-roof { border-left: 3px solid var(--pd-accent); color: var(--pd-ink); padding: 8px 0 8px 16px; font-size: 18px; line-height: 1.65; }
.page-flowbrand .fb-house-pillars { margin: 8px 0; }
.page-flowbrand .fb-house-pillars > div { padding: 16px 0; border-bottom: 1px solid var(--pd-line); }
.page-flowbrand .fb-house-base { padding-top: 14px; color: var(--pd-muted); font-size: 16px; line-height: 1.75; }
.page-flowbrand .fb-scope-note { padding: 22px 0 0; margin-top: 30px; border-top: 1px solid var(--pd-line); font-size: 16px; line-height: 1.75; color: var(--pd-muted); max-width: 950px; }
.page-flowbrand .fb-stages { list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; padding: 0; margin: 0; }
.page-flowbrand .fb-stages li { border-top: 2px solid var(--pd-accent); padding-top: 24px; }
.page-flowbrand .fb-stages h3 { font-size: 20px; }
.page-flowbrand .fb-materials { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: center; padding: 28px 0; border-block: 1px solid var(--pd-line); margin-top: 48px; }
.page-flowbrand .fb-materials .pd-button { max-width: 260px; }
.page-flowbrand .fb-subheading { font-size: clamp(24px,2.4vw,32px); color: var(--pd-ink); line-height: 1.5; font-weight: 600; margin: 58px 0 26px; }
.page-flowbrand .fb-handoff { margin-top: 64px; padding-top: 1px; }
.page-flowbrand .fb-handoff dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.page-flowbrand .fb-handoff dl > div { border-top: 1px solid var(--pd-line); padding-top: 20px; }
.page-flowbrand .fb-handoff dt { color: var(--pd-accent-text); font-size: 18px; font-weight: 600; margin-bottom: 14px; }
.page-flowbrand .fb-handoff dd { color: var(--pd-muted); font-size: 16px; line-height: 1.75; margin: 0; }
.page-flowbrand .fb-reading { margin-top: 56px; border-top: 1px solid var(--pd-line); padding-top: 28px; }
.page-flowbrand .fb-reading h3 { font-size: 17px; }
.page-flowbrand .fb-reading ul { display: flex; flex-wrap: wrap; gap: 14px 28px; list-style: none; padding: 0; margin: 0; }
.page-flowbrand .fb-reading a { color: var(--pd-accent-text); font-size: 16px; line-height: 1.8; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) {
  .page-flowbrand .fb-editorial { gap: 30px; }
  .page-flowbrand :is(.fb-stages,.fb-handoff dl) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-flowbrand .fb-artifact { padding: 22px; }
  .page-flowbrand .fb-materials { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 767px) {
  .page-flowbrand .fb-editorial { grid-template-columns: minmax(0,1fr); }
  .page-flowbrand .fb-editorial-reverse .fb-scene { order: initial; }
  .page-flowbrand :is(.fb-research-grid,.fb-artifacts,.fb-stages,.fb-handoff dl) { grid-template-columns: 1fr; gap: 30px; }
  .page-flowbrand .fb-index { margin-bottom: 16px; }
  .page-flowbrand .fb-handoff { margin-top: 44px; }
}

.page-flowbrand .fb-position h3 { font-size: clamp(23px, 2vw, 28px); line-height: 1.35; margin: 18px 0; }
.page-flowbrand .fb-position-statement { font-size: 20px; line-height: 1.65; color: var(--pd-ink); padding-bottom: 24px; margin: 0; border-bottom: 1px solid var(--pd-line); }
.page-flowbrand .fb-position dl { margin: 0 0 24px; }
.page-flowbrand .fb-position dl > div { padding: 16px 0; border-bottom: 1px solid var(--pd-line); }
.page-flowbrand .fb-position dt { color: var(--pd-ink); font-size: 16px; margin-bottom: 4px; }
.page-flowbrand .fb-position dd { color: var(--pd-muted); font-size: 16px; line-height: 1.65; margin: 0; }
.page-flowbrand :is(.fb-position > a,.fb-continuation a) { color: var(--pd-accent-text); font-size: 16px; line-height: 1.75; text-decoration: underline; text-underline-offset: 4px; }
.page-flowbrand .fb-governance-list { display: block; }
.page-flowbrand .fb-governance-list li { display: grid; grid-template-columns: 40px minmax(160px, .7fr) minmax(0, 1.6fr); gap: 24px; align-items: baseline; padding: 24px 0; border-top: 1px solid var(--pd-line); }
.page-flowbrand .fb-governance-list :is(h3,.fb-index) { margin: 0; }
.page-flowbrand .fb-governance-list p { margin: 0; }
.page-flowbrand .fb-handoff .fb-subheading { margin-top: 20px; }
@media (max-width: 1100px) {
  .page-flowbrand .fb-governance-list li { grid-template-columns: 32px minmax(0,1fr); gap: 8px 16px; }
  .page-flowbrand .fb-governance-list p { grid-column: 2; }
}
