/* Editorial additions use the existing CoreCharge blue and type system. */
.brand-story-main { width:min(1120px,calc(100% - 64px)); margin:0 auto; padding:114px 0 88px; color:#101827; }
.brand-story-main p { color:#52647d; font-size:18px; line-height:1.75; }
.brand-story-main h1,.brand-story-main h2,.brand-story-main h3 { margin:0; text-wrap:balance; }
.brand-story-main h2 { font-size:clamp(27px,3vw,38px); line-height:1.23; letter-spacing:-.025em; }
.brand-story-main h3 { font-size:22px; line-height:1.35; }
.brand-story-main a:not(.cinema-button),.homepage-brand-story a { color:#1d4ed8; text-decoration:underline; text-underline-offset:5px; }
.brand-story-main a:focus-visible,.homepage-brand-story a:focus-visible { outline:3px solid #1d4ed8; outline-offset:5px; }
.brand-story-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:14px; color:#52647d; }
.brand-story-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:56px; padding:48px 0 64px; }
.brand-story-hero h1 { font-size:clamp(34px,4vw,58px); line-height:1.12; letter-spacing:-.04em; }
.brand-story-hero p { max-width:42ch; margin:22px 0 0; font-size:20px; line-height:1.55; }
.brand-story-hero img { width:100%; height:auto; display:block; border-radius:24px; background:#edf4fb; aspect-ratio:4/3; object-fit:contain; }
.brand-story-history { padding:32px 0 0; }
.brand-story-timeline { list-style:none; margin:40px 0 0; padding:0; }
.brand-story-timeline li { display:grid; grid-template-columns:190px 1fr; gap:52px; padding:0 0 42px; }
.brand-story-timeline li+li { padding-top:30px; border-top:1px solid #dce5f1; }
.brand-story-timeline .brand-story-year { margin:0; font-size:25px; line-height:1.4; font-weight:750; color:#1d4ed8; }
.brand-story-timeline li p:not(.brand-story-year) { margin:14px 0 0; max-width:72ch; }
.brand-story-main .brand-story-note { font-size:14px; line-height:1.7; margin:0; max-width:90ch; }
.brand-story-growth { padding:72px 0 60px; }
.brand-story-intro { max-width:78ch; margin:24px 0 36px; }
.brand-story-steps { counter-reset:story-stage; list-style:none; padding:0; margin:0 0 32px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.brand-story-steps li { counter-increment:story-stage; padding-top:18px; border-top:3px solid #1d4ed8; }
.brand-story-steps li::before { content:counter(story-stage,decimal-leading-zero); display:block; font-size:14px; color:#1d4ed8; margin-bottom:16px; }
.brand-story-steps h3 { font-size:20px; }
.brand-story-steps p { font-size:16px; margin:12px 0 0; }
.brand-story-links { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:28px; }
.brand-story-main .cinema-button { color:white; text-decoration:none; font-size:15px; min-height:50px; }
.brand-story-cases { padding:36px 0 54px; border-top:1px solid #dce5f1; }
.brand-story-cases p { max-width:75ch; margin:20px 0; }
.brand-story-future { padding:32px; border-radius:24px; background:#eff5fc; }
.brand-story-future .brand-story-status { display:inline-block; margin:0 0 16px; color:#1d4ed8; font-weight:700; font-size:14px; }
.brand-story-future h2 { font-size:26px; }
.brand-story-future>p:not(.brand-story-status) { font-size:16px; margin:18px 0 0; max-width:88ch; }
.brand-story-future .brand-story-links { font-size:14px; }
.brand-story-skip { position:fixed; top:8px; inset-inline-start:16px; z-index:100; transform:translateY(-160%); background:white; color:#1d4ed8; padding:12px 18px; border:2px solid #1d4ed8; }
.brand-story-skip:focus { transform:none; }
.homepage-brand-story { width:min(1120px,calc(100% - 64px)); margin:0 auto; padding:64px 0; display:block; }
.homepage-brand-story h2 { font-size:clamp(25px,2.7vw,38px); line-height:1.25; letter-spacing:-.025em; margin:0; text-wrap:balance; }
.homepage-brand-story h2 { margin-bottom:20px; max-width:880px; }
.homepage-brand-story p { max-width:880px; font-size:18px; line-height:1.75; color:#52647d; margin:0 0 22px; }
[dir="rtl"] .brand-story-main :is(h1,h2,h3),[dir="rtl"] .homepage-brand-story h2 { letter-spacing:0; }
[dir="rtl"] .brand-story-hero h1 { line-height:1.4; }
@media(max-width:760px) {
 .brand-story-main { width:calc(100% - 36px); padding:100px 0 56px; }
 .brand-story-hero { grid-template-columns:1fr; gap:28px; padding:30px 0 48px; }
 .brand-story-hero h1 { font-size:clamp(32px,8vw,48px); }
 .brand-story-hero p { font-size:18px; }
 .brand-story-hero img { max-width:560px; margin:auto; border-radius:18px; }
 .brand-story-main p { font-size:16px; }
 .brand-story-timeline li { grid-template-columns:1fr; gap:12px; padding-bottom:28px; }
 .brand-story-timeline li+li { padding-top:24px; }
 .brand-story-timeline .brand-story-year { font-size:22px; }
 .brand-story-main h3 { font-size:21px; }
 .brand-story-growth { padding:48px 0 40px; }
 .brand-story-steps { grid-template-columns:1fr; gap:24px; }
 .brand-story-steps li { border-top-width:2px; padding-top:14px; }
 .brand-story-steps li::before { margin-bottom:10px; }
 .brand-story-steps p { margin-top:10px; }
 .brand-story-cases { padding:30px 0 38px; }
 .brand-story-future { padding:24px; border-radius:18px; }
 .homepage-brand-story { width:calc(100% - 36px); padding:44px 0; grid-template-columns:1fr; gap:18px; }
 .homepage-brand-story p { font-size:16px; }
}
/* Homepage sections have explicit flex order; keep the story after Platform. */
.homepage-condensed #our-story { order:3; scroll-margin-top:94px; }
