.video-shell { width: min(960px, calc(100% - 40px)); margin: 0 auto; padding: 44px 0 64px; }
.video-page-heading { margin-bottom: 28px; }
.video-page-heading h1 { font-size: clamp(32px, 4vw, 44px); line-height: 1.3; letter-spacing: -.035em; }
.video-page-heading p { color: var(--brand-muted); margin: 10px 0 0; line-height: 1.7; }
.video-feature { overflow: hidden; border: 1px solid var(--brand-line); border-radius: var(--radius-md); background: var(--white); }
.video-intro { padding: 28px 32px 24px; }
.video-intro h2 { margin: 0 0 12px; font-size: clamp(22px, 3vw, 28px); line-height: 1.4; color: var(--brand-ink); }
.video-intro p { max-width: 52em; margin: 0; color: var(--brand-muted); line-height: 1.85; }
.video-frame { margin: 0; aspect-ratio: 16 / 9; background: var(--brand-paper); }
.video-frame video { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.video-frame video:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: -3px; }
.video-followup { padding: 24px 32px 32px; }
.video-transcript { border-bottom: 1px solid var(--brand-line); }
.video-transcript summary { cursor: pointer; min-height: 48px; padding: 10px 0 16px; color: var(--brand-ink); font-weight: 700; }
.video-transcript-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; padding: 8px 0 24px; max-width: 48em; }
.video-actions { margin-top: 24px; }
.video-actions .button { background: var(--brand-ink); color: var(--brand-paper); border-radius: 10px; min-height: 48px; }
.video-actions .button:hover { background: var(--brand-ink-hover); }
@media (max-width: 760px) {
  .video-shell { padding: 28px 0 40px; }
  .video-page-heading { margin-bottom: 22px; }
  .video-intro { padding: 22px 20px; }
  .video-followup { padding: 16px 20px 24px; }
  .video-actions .button { display: flex; justify-content: center; width: 100%; }
}

/* Direct video landing: player, title and short summary fit the mobile first screen. */
.video-detail { padding-top: 24px; }
.video-detail .video-frame { margin: 8px 8px 6px; overflow: hidden; border: 1.25px solid #d8d5cf; border-radius: 18px; box-shadow: 0 2px 8px rgba(32, 52, 66, .06); }
.video-detail .video-intro h1 { margin: 0 0 8px; font-size: clamp(22px, 3vw, 28px); line-height: 1.4; }
.video-detail .video-intro { padding: 20px 24px 12px; }
.video-share h2 { font-size: 19px; margin: 0 0 12px; }
.video-share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.video-share-actions .button { min-height: 44px; border: 1px solid var(--brand-line); border-radius: 8px; padding: 10px 14px; background: var(--brand-paper); color: var(--brand-ink); }
.video-share-actions [hidden] { display: none; }
.video-share-link { display: block; margin-top: 14px; font-size: 14px; }
.video-share-link input { display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 6px; padding: 8px; border: 1px solid var(--brand-line); border-radius: 6px; font-size: 14px; }
.video-share-status { min-height: 24px; margin: 8px 0 12px; font-size: 14px; }
@media (max-width: 760px) {
  .video-detail { width: calc(100% - 24px); padding: 12px 0 32px; }
  .video-detail .video-intro { padding: 14px 16px 8px; }
  .video-detail .video-intro p { line-height: 1.6; font-size: 14px; }
  .video-detail .video-followup { padding: 12px 16px 20px; }
  .video-detail-document .header-inner { padding: 8px 0; }
  .video-detail-document .site-header nav { display: flex; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 12px; }
  .video-detail-document .site-header nav a { flex: 0 0 auto; min-height: 40px; white-space: nowrap; }
}

/* Registry portrait media uses the same native player, without cropping. */
.video-frame[data-video-portrait] { aspect-ratio: 9 / 16; width: min(100%, 420px); margin-inline: auto; }
.video-frame[data-video-portrait] video { aspect-ratio: 9 / 16; }
.video-detail .video-frame[data-video-portrait] { width: min(calc(100% - 16px), 420px); margin-inline: auto; }

/* Content Hub V0.2 — scoped editorial layout, existing FinCat tokens. */
.hub-shell { width:min(1080px, calc(100% - 48px)); padding-top:44px; }
.hub-kicker { margin:0 0 12px; color:var(--brand-gold-on-light); font-size:12px; font-weight:700; letter-spacing:.12em; line-height:1.7; }
.hub-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding-bottom:32px; }
.hub-heading h1 { margin:0; font-size:clamp(36px,5vw,52px); letter-spacing:-.04em; line-height:1.25; }
.hub-heading > div > p:last-child { color:var(--brand-muted); line-height:1.7; margin:12px 0 0; font-size:17px; }
.hub-mobile-break { display:none; }
.hub-jump { display:flex; flex-wrap:wrap; gap:20px; border-bottom:1px solid var(--brand-line); }
.hub-jump a { padding:12px 0; min-height:44px; font-size:14px; text-decoration:none; }
.hub-jump span { color:var(--brand-muted); font-size:12px; margin-left:4px; }
.hub-latest { display:grid; grid-template-columns:1.15fr 1fr; background:#f0ece2; border-radius:16px; overflow:hidden; }
.hub-feature-copy { padding:clamp(24px,4vw,48px); align-self:center; }
.hub-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; font-size:12px; color:var(--brand-muted); line-height:1.8; }
.hub-meta a { text-underline-offset:4px; }
.hub-feature-copy h3 { margin:20px 0 16px; font-size:clamp(26px,3vw,38px); line-height:1.45; letter-spacing:-.025em; }
.hub-feature-copy h3 a { text-decoration:none; }
.hub-feature-copy > p { color:var(--brand-muted); line-height:1.85; font-size:15px; }
.hub-watch { display:inline-flex; align-items:center; gap:16px; padding:12px 18px; min-height:48px; margin-top:12px; background:var(--brand-ink); color:var(--brand-paper); text-decoration:none; border-radius:6px; font-weight:600; }
.hub-watch:hover { background:var(--brand-ink-hover); }
.hub-feature-cover { position:relative; display:flex; justify-content:center; background:#e5e0d5; min-height:360px; padding:24px; overflow:hidden; }
.hub-feature-cover img { display:block; width:100%; height:100%; max-height:420px; object-fit:contain; align-self:center; }
.hub-cover-label { position:absolute; left:20px; bottom:16px; background:var(--brand-ink); color:var(--brand-paper); font-size:11px; padding:6px 10px; border-radius:3px; }
.hub-section { padding-top:48px; scroll-margin-top:24px; }
.hub-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.hub-section h2 { margin:0 0 20px; font-size:26px; line-height:1.4; letter-spacing:-.02em; }
.hub-section-heading h2 { margin:0; }
.hub-section-heading .hub-kicker { margin-bottom:6px; }
.hub-section-heading > p { font-size:14px; color:var(--brand-muted); margin:0 0 4px; }
.hub-series-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.hub-series-card { padding:22px 0 6px; border-top:2px solid var(--brand-gold); text-decoration:none; display:flex; flex-direction:column; }
.hub-series-number { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--brand-gold-on-light); }
.hub-series-number > span { font-size:24px; font-family:Georgia,serif; }
.hub-series-number small { color:var(--brand-muted); font-size:12px; }
.hub-series-card h3 { font-size:21px; margin:20px 0 10px; line-height:1.5; }
.hub-series-card p { margin:0 0 20px; color:var(--brand-muted); font-size:14px; line-height:1.8; }
.hub-text-link { font-size:14px; font-weight:600; margin-top:auto; display:flex; justify-content:space-between; padding:8px 0; }
.hub-video-list { list-style:none; margin:0; padding:0; }
.hub-video-row { display:grid; grid-template-columns:160px minmax(0,1fr); gap:24px; padding:24px 0; border-top:1px solid var(--brand-line); align-items:center; }
.hub-row-cover { background:#eeeae0; border-radius:6px; overflow:hidden; }
.hub-row-cover img { display:block; width:100%; height:100px; object-fit:contain; }
.hub-video-row h3 { font-size:20px; margin:8px 0; line-height:1.5; }
.hub-video-row h3 a { text-decoration:none; }
.hub-video-row h3 a:hover,.hub-feature-copy h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.hub-series-tag { color:var(--brand-muted); font-size:13px; text-underline-offset:4px; }
.hub-ending { border-top:1px solid var(--brand-line); margin-top:32px; padding-top:28px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:15px; }
.hub-ending p { margin:0; color:var(--brand-muted); }
.hub-ending a { min-height:44px; display:flex; align-items:center; gap:16px; }
.hub-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; margin-bottom:18px; color:var(--brand-muted); }
.hub-breadcrumb a { display:inline-flex; align-items:center; min-height:36px; text-underline-offset:4px; }
.hub-series-heading { border-bottom:1px solid var(--brand-line); padding:18px 0 32px; }
.hub-series-heading h1 { font-size:clamp(28px,4vw,42px); line-height:1.4; margin:0 0 14px; }
.hub-series-heading > p:not(.hub-kicker) { color:var(--brand-muted); line-height:1.8; }
.hub-back { display:inline-flex; align-items:center; min-height:48px; margin-top:32px; font-size:14px; text-underline-offset:4px; }
.hub-topic-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; min-height:48px; border-bottom:1px solid var(--brand-line); text-decoration:none; line-height:1.7; }
.hub-topic-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.hub-topic-links small { display:block; color:var(--brand-muted); font-size:12px; margin-bottom:4px; }
.video-detail { width:min(960px,calc(100% - 48px)); }
.video-detail .video-feature { background:transparent; border:0; border-radius:0; }
.video-detail .video-frame { background:#e9e5dc; box-shadow:none; border-radius:10px; border:0; margin:0; }
.video-detail .video-frame[data-video-portrait] { width:min(100%,310px); margin:0 auto; }
.video-detail .video-feature:has([data-video-portrait]) { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:0 32px; align-items:start; }
.video-detail .video-feature:has([data-video-portrait]) .video-frame { grid-row:span 2; }
.video-detail .video-intro { padding:24px 0 8px; }
.video-detail .video-feature:has([data-video-portrait]) .video-intro { padding-top:8px; }
.video-detail .video-intro h1 { font-size:clamp(23px,3vw,30px); margin:12px 0; }
.video-detail .video-followup { padding:8px 0 0; min-width:0; }
.video-share { margin-top:24px; }
.video-share h2 { font-size:17px; }
.video-share-status { margin-bottom:0; min-height:22px; }
.video-transcript { margin-bottom:20px; }
.video-transcript summary { padding:12px 0; }
.video-module { padding-top:28px; margin-top:28px; border-top:1px solid var(--brand-line); }
.video-module h2 { font-size:20px; margin:0 0 12px; line-height:1.5; }
.video-module > p { line-height:1.85; margin:0; max-width:48em; color:var(--brand-muted); }
.video-takeaway { border:0; border-left:3px solid var(--brand-gold); padding:6px 0 6px 22px; margin-top:40px; }
.video-takeaway h2 { font-size:12px; color:var(--brand-gold-on-light); margin-bottom:10px; }
.video-takeaway > p { font-size:clamp(20px,3vw,26px); line-height:1.65; color:var(--brand-ink); }
.video-defense > .hub-kicker { margin-bottom:6px; font-size:12px; color:var(--brand-gold-on-light); }
.video-defense details { background:#f0ece2; border-radius:8px; margin-top:16px; padding:0 24px; }
.video-defense summary { padding:20px 0; min-height:48px; cursor:pointer; font-weight:600; line-height:1.7; }
.video-defense summary small { display:block; font-size:12px; color:var(--brand-muted); margin-bottom:8px; font-weight:400; }
.video-defense summary span { font-size:17px; }
.video-defense-body { padding:0 0 22px; }
.video-defense-body h3 { font-size:14px; margin:0 0 8px; }
.video-defense-body p { margin:0; line-height:1.85; }
.video-condition { margin:18px 0 12px; padding:16px 0 0; border-top:1px solid #d4cec0; color:var(--brand-muted); }
.video-condition h4 { font-size:12px; margin:0 0 8px; }
.video-condition p { font-size:14px; }
.hub-source { display:inline-flex; align-items:center; min-height:44px; font-size:13px; text-underline-offset:4px; line-height:1.7; }
.video-sequence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:1px solid var(--brand-line); margin-top:32px; padding-top:24px; }
.video-sequence a { text-decoration:none; line-height:1.7; min-height:48px; }
.video-sequence small { display:block; color:var(--brand-muted); margin-bottom:8px; }
.video-sequence span { font-size:16px; }
.video-shell :is(a,button,summary,input):focus-visible { outline:3px solid var(--brand-focus); outline-offset:4px; }
@media (max-width:760px) {
  .hub-shell { width:calc(100% - 40px); padding:28px 0 40px; }
  .hub-heading { display:block; padding-bottom:22px; }
  .hub-heading h1 { font-size:36px; }
  .hub-heading > div > p:last-child { font-size:16px; }
  .hub-jump { margin-top:18px; justify-content:space-between; gap:12px; }
  .hub-latest { display:flex; flex-direction:column; border-radius:10px; }
  .hub-feature-copy { padding:24px; }
  .hub-feature-copy h3 { font-size:27px; margin:14px 0; }
  .hub-feature-copy > p { font-size:14px; line-height:1.8; margin-bottom:12px; }
  .hub-watch { margin-top:4px; }
  .hub-feature-cover { min-height:0; padding:20px; }
  .hub-feature-cover img { width:auto; max-width:100%; height:260px; }
  .hub-section { padding-top:36px; }
  .hub-section-heading { display:block; margin-bottom:18px; }
  .hub-section h2 { font-size:24px; }
  .hub-section-heading > p { margin-top:8px; }
  .hub-series-grid { grid-template-columns:1fr; gap:16px; }
  .hub-series-card { display:block; padding:16px 0 4px; }
  .hub-series-card h3 { margin:10px 0 6px; font-size:21px; }
  .hub-series-card p { margin:0 0 6px; }
  .hub-series-number > span { font-size:20px; }
  .hub-video-row { grid-template-columns:88px minmax(0,1fr); gap:14px; padding:18px 0; align-items:start; }
  .hub-row-cover img { height:86px; }
  .hub-video-row h3 { font-size:17px; margin:4px 0 8px; }
  .hub-meta { gap:4px 10px; }
  .hub-ending { display:block; font-size:14px; }
  .hub-ending a { margin-top:8px; }
  .video-detail { width:calc(100% - 32px); padding-top:8px; }
  .hub-breadcrumb { margin-bottom:10px; gap:6px; }
  .video-detail .video-feature:has([data-video-portrait]) { display:block; }
  .video-detail .video-frame[data-video-portrait] { width:min(100%,calc(50svh * 9 / 16)); max-width:310px; }
  .video-detail .video-intro, .video-detail .video-feature:has([data-video-portrait]) .video-intro { padding:16px 0 8px; }
  .video-detail .video-intro h1 { font-size:23px; line-height:1.4; margin:8px 0; }
  .video-detail .video-intro p { line-height:1.8; }
  .video-detail .video-followup { padding:4px 0 0; }
  .video-detail-document .header-inner { min-height:0; gap:8px; }
  .video-share-actions .button { padding:10px 12px; }
  .video-module { margin-top:24px; padding-top:24px; }
  .video-takeaway { padding:4px 0 4px 16px; margin-top:32px; }
  .video-defense details { padding:0 18px; }
  /* V0.2A: preserve content; distinguish response from secondary conditions. */
  .video-defense summary { padding:24px 0; }
  .video-defense-body { padding-bottom:28px; }
  .video-defense-body h3 { margin:0 0 14px; font-size:14px; line-height:1.7; font-weight:700; }
  .video-defense-body > p { font-size:16px; line-height:2; }
  .video-condition { margin:28px 0 18px; padding-top:22px; }
  .video-condition h4 { margin:0 0 12px; font-size:13px; line-height:1.7; font-weight:600; }
  .video-condition p { font-size:15px; line-height:2.05; }

  .video-sequence { gap:16px; }
  .video-sequence span { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .video-shell *, .video-shell *::before, .video-shell *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}


.hub-feature-copy h3, .video-intro h1, .hub-series-heading h1 { text-wrap:balance; }
