/* Canonical case-study typography. First cascade layer owns typography,
   including legacy !important declarations in individual case stylesheets. */
@layer caseTypography {
 .storyboard-panel{
  --case-display-font:'Hepta Slab',Georgia,serif;
  --case-text-font:var(--portfolio-body,Arial,sans-serif);
  --case-title-size:48px;--case-lead-size:18px;--case-section-size:30px;
  --case-body-size:16px;--case-subhead-size:20px;
  --case-ink:#623521;--case-copy:rgb(98 53 33 / .76);--case-muted:rgb(98 53 33 / .6);
  --case-label-gap:20px;--case-title-gap:24px;--case-copy-gap:40px;
 }
 .bm-case:not(.bm-on-light) :is(.bm-hero-copy,#bm-organic){
  --case-ink:#f7f3ed;--case-copy:rgb(247 243 237 / .8);--case-muted:rgb(247 243 237 / .62);
 }
 .amtrak-opening-copy{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)!important;column-gap:64px!important}
 .amtrak-opening-copy .case-hero-stack{min-width:0}
 .storyboard-panel [data-case-type]{font-style:normal!important;text-align:left!important;text-indent:0!important;opacity:1!important}
 .storyboard-panel [data-case-type="hero-eyebrow"],.storyboard-panel [data-case-type="eyebrow"]{
  font-family:var(--case-text-font)!important;font-size:11px!important;font-weight:500!important;line-height:1.5!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--case-muted)!important;
  margin:0 0 var(--case-label-gap)!important;padding:0!important;max-width:none!important;
 }
 .storyboard-panel [data-case-type="hero-eyebrow"]::before,.storyboard-panel [data-case-type="hero-eyebrow"]::after{content:none!important;counter-increment:none!important}
 .storyboard-panel [data-case-type="hero-title"]{
  font-family:var(--case-display-font)!important;font-size:var(--case-title-size)!important;font-weight:400!important;
  line-height:1.18!important;letter-spacing:-.045em!important;text-transform:none!important;color:var(--case-ink)!important;
  margin:0 0 var(--case-title-gap)!important;padding:0!important;max-width:100%!important;text-wrap:balance;
 }
 .storyboard-panel [data-case-type="hero-lead"]{
  font-family:var(--case-text-font)!important;font-size:var(--case-lead-size)!important;font-weight:400!important;
  line-height:1.75!important;letter-spacing:0!important;text-transform:none!important;color:var(--case-copy)!important;
  margin:0 0 var(--case-copy-gap)!important;padding:0!important;max-width:62ch!important;text-wrap:pretty;
 }
 .storyboard-panel :is(h2,h3){font-family:var(--case-text-font)!important;font-weight:600!important;color:var(--case-ink)!important;text-transform:none!important}
 .storyboard-panel h2{font-size:var(--case-section-size)!important;line-height:1.25!important;letter-spacing:-.025em!important;margin:0 0 24px!important}
 .storyboard-panel h3{font-size:var(--case-subhead-size)!important;line-height:1.35!important;letter-spacing:-.015em!important;margin:0 0 16px!important}
 .storyboard-panel :is(.ba-copy,.ob-section-opening,.ob-feature-film,.ob-product-opening,.ob-resolution,.ob-watch,.bf-description,.bf-value-copy,.bf-values-intro,.amtrak-section-heading,.heller-scene-copy,.bm-section-heading)>p:not([data-case-type]):not(.ob-fine):not(.ba-note){
  font-family:var(--case-text-font)!important;font-size:var(--case-body-size)!important;font-weight:400!important;
  line-height:1.75!important;letter-spacing:0!important;color:var(--case-copy)!important;margin:0 0 24px!important;max-width:62ch;
 }
 .storyboard-panel :is(.story-meta,.ba-meta,.bf-hero-meta){margin-top:40px!important;gap:24px 40px}
 .storyboard-panel :is(.story-meta,.ba-meta,.bf-hero-meta) dt{font-family:var(--case-text-font)!important;font-size:11px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--case-muted)!important;margin:0 0 8px!important}
 .storyboard-panel :is(.story-meta,.ba-meta,.bf-hero-meta) dd{font-family:var(--case-text-font)!important;font-size:14px!important;font-weight:400!important;line-height:1.6!important;letter-spacing:0!important;color:var(--case-ink)!important;margin:0!important}
 .storyboard-panel :is(.amtrak-next-copy,.heller-next-copy) h2{font-family:var(--case-display-font)!important;font-size:32px!important;font-weight:400!important;line-height:1.2!important;margin:16px 0 24px!important}
 /* Review cards and embedded product UI retain their own native UI scale. */
 .storyboard-panel .ba-ios-review h3{font-size:15px!important;line-height:1.35!important;margin:0 0 6px!important}
 @media(max-width:650px){
  .amtrak-opening-copy{grid-template-columns:1fr!important}
  .storyboard-panel{--case-title-size:36px;--case-lead-size:16px;--case-section-size:26px;--case-body-size:15px;--case-subhead-size:18px;--case-label-gap:16px;--case-title-gap:20px;--case-copy-gap:32px}
  .storyboard-panel :is(.story-meta,.ba-meta,.bf-hero-meta){margin-top:32px!important}
  .storyboard-panel :is(.amtrak-next-copy,.heller-next-copy) h2{font-size:28px!important}
 }

 /* One navigation component, shared with the app's editorial chapter rail. */
 .storyboard-panel .case-side-nav{position:sticky!important;top:64px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:20px!important;padding:80px 0 36px!important;margin:0!important;border:0!important;background:none!important;align-self:start}
 .storyboard-panel .case-side-nav :is(button,a){position:relative!important;display:block!important;padding:4px 0 4px 20px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:400 13px/1.5 var(--portfolio-body)!important;letter-spacing:.055em!important;text-transform:uppercase!important;text-align:left!important;color:#77716b!important;cursor:pointer;transition:color .18s ease}
 .storyboard-panel .case-side-nav :is(button,a)::before{content:''!important;position:absolute!important;left:0!important;top:11px!important;width:6px!important;height:6px!important;border-radius:1px!important;background:#e11b0c!important;opacity:0!important;transition:opacity .18s ease}
 .storyboard-panel .case-side-nav :is(button,a):is([aria-current=location],[aria-current=page]){font-weight:600!important;color:#e11b0c!important}
 .storyboard-panel .case-side-nav :is(button,a):is([aria-current=location],[aria-current=page])::before{opacity:1!important}
 .storyboard-panel .case-side-nav :is(button,a):hover{color:#e11b0c!important}
 @media(max-width:1000px){.storyboard-panel .case-side-nav{position:static!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px 24px!important;padding:12px 0 32px!important}.storyboard-panel .case-side-nav :is(button,a){font-size:12px!important;min-height:36px;display:flex!important;align-items:center}.storyboard-panel .case-side-nav :is(button,a)::before{top:15px!important}}
 @media(prefers-reduced-motion:reduce){.storyboard-panel .case-side-nav :is(button,a),.storyboard-panel .case-side-nav :is(button,a)::before{transition:none}}
}

@layer caseTypography {
 .storyboard-panel [data-phone-caption]>figcaption,.storyboard-panel [data-phone-caption]>figcaption *,.storyboard-panel [data-phone-caption]>figcaption+p{ text-align:center!important; }
 .storyboard-panel [data-phone-caption]>figcaption{display:block!important;width:100%;justify-content:center!important;align-items:center!important}
}

/* Legacy cinematic cases use the same editorial text and rhythm as BeFreed. */
@layer caseTypography {
 .storyboard-panel{--case-section-space:84px;--case-grid-gap:72px;--case-caption-size:11px;--case-note-size:14px}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document p:not([data-case-type]){
  font-family:var(--case-text-font)!important;font-size:var(--case-body-size)!important;font-weight:400!important;font-style:normal!important;line-height:1.75!important;letter-spacing:0!important;color:var(--case-copy)!important;margin:0 0 24px!important;max-width:62ch!important;
 }
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document :is(ul,ol){font-family:var(--case-text-font)!important;font-size:var(--case-body-size)!important;font-weight:400!important;line-height:1.75!important;letter-spacing:0!important;color:var(--case-copy)!important}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document li{font-family:var(--case-text-font)!important;font-size:var(--case-body-size)!important;line-height:1.75!important;color:var(--case-copy)!important}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document :is(.heller-background-takeaway,.amtrak-interview-location){font-size:var(--case-note-size)!important;line-height:1.6!important;color:var(--case-muted)!important}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document figcaption{
  font-family:var(--case-text-font)!important;font-size:var(--case-caption-size)!important;font-weight:400!important;line-height:1.5!important;letter-spacing:.015em!important;color:var(--case-muted)!important;margin:24px 0 0!important;
 }
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document blockquote{font-family:var(--case-display-font)!important;font-size:22px!important;font-weight:400!important;line-height:1.5!important;letter-spacing:-.015em!important;color:var(--case-ink)!important;margin:24px 0!important}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .case-side-content>:is(.amtrak-scene,.heller-scene){min-height:0!important;padding-block:var(--case-section-space)!important}
 .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) :is(.amtrak-demo,.heller-scene-grid){gap:var(--case-grid-gap)!important}
 .storyboard-panel .amtrak-opening-copy{margin-top:80px!important}
 .storyboard-panel .heller-poster-hero{margin-bottom:80px!important}
 @media(max-width:850px){.storyboard-panel{--case-section-space:65px;--case-grid-gap:36px}}
 @media(max-width:650px){
  .storyboard-panel{--case-section-space:52px;--case-grid-gap:30px}
  .storyboard-panel .amtrak-opening-copy{margin-top:56px!important}
  .storyboard-panel .heller-poster-hero{margin-bottom:56px!important}
  .storyboard-panel:is(.amtrak-cinematic,.heller-cinematic) .story-document blockquote{font-size:20px!important}
 }
}

.storyboard-panel .case-side-nav a{text-decoration:none!important}
