/* Editorial pages reuse the site's type, buttons, cards, FAQ and spacing tokens.
   Scoped to these two pages; approved home, catalog and services are unaffected. */
.story-page { color:var(--color-ink); margin-bottom:var(--section-space); }
.story-page h1,.story-page h2,.story-page h3 { font-family:var(--font-display); font-weight:400; text-transform:uppercase; }
.story-page h1 { font-size:54px; line-height:1.12; letter-spacing:-.015em; margin:0; }
.story-page h2 { color:var(--color-blue); font-size:46px; line-height:1.12; letter-spacing:-.015em; margin:0; }
.story-page h3 { font-size:22px; line-height:1.22; color:var(--color-warm-heading); margin:0; }
.story-page p { margin:0; }
.story-page .section-kicker { font-family:var(--font-body); font-size:13px; line-height:1.4; margin:0 0 10px; }
.story-page a:focus-visible { outline:3px solid var(--color-orange); outline-offset:5px; }
.story-hero { position:relative; padding:56px 48px 36px; margin-top:24px; border-radius:var(--radius-lg); color:white; background:radial-gradient(ellipse at 105% 110%,rgba(230,72,0,.38),transparent 52%),linear-gradient(115deg,var(--color-navy),var(--color-blue)); overflow:hidden; }
.story-hero h1 { color:white; }
.story-hero .section-kicker,.story-blue .section-kicker,.materials-video .section-kicker { color:#edbda9; }
.story-hero__copy { position:relative; z-index:1; }
.story-lead { border-left:3px solid var(--color-orange); padding-left:20px; margin-top:32px!important; font-size:20px; line-height:1.5; max-width:800px; }
.story-actions { display:flex; align-items:center; gap:32px; margin-top:40px; }
.story-light-link { color:white; font-size:16px; text-decoration:none; }
.story-light-link span { display:inline-block; margin-left:12px; transition:transform var(--motion-fast); }
.story-light-link:hover span { transform:translateY(4px); }
.story-hero__aside { position:absolute; right:48px; top:56px; opacity:.7; }
.partner-responsibility { display:grid; grid-template-columns:1fr 1fr; gap:32px; border-top:1px solid #ffffff30; margin-top:48px; padding-top:24px; }
.partner-responsibility p { font-size:16px; line-height:1.5; }
.partner-responsibility span { display:block; color:#c6c9e0; font-size:13px; margin-bottom:8px; }
.story-section { margin-top:var(--section-space); scroll-margin-top:120px; }
.story-heading { margin-bottom:40px; }
.story-grid { display:grid; gap:16px; }
.story-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.story-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.story-card { background:white; border-radius:var(--radius-md); padding:32px 28px; box-shadow:var(--shadow-low); }
.story-label { display:block; font-family:var(--font-body); font-size:12px; line-height:1.4; color:var(--color-orange-action); letter-spacing:.055em; text-transform:uppercase; margin:0 0 20px!important; }
.story-card p { font-size:16px; line-height:1.6; margin-top:20px; }
.story-card .faq__link { margin-top:24px; font-size:15px; }
.partner-route { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.partner-route li { background:white; border-radius:var(--radius-md); padding:32px; box-shadow:var(--shadow-low); border-top:4px solid var(--color-blue); }
.partner-route li:nth-child(2) { border-top-color:var(--color-orange); }
.partner-route__number { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-md); background:var(--color-blue); color:white; font:26px var(--font-display); margin-bottom:24px; }
.partner-route li:nth-child(2) .partner-route__number { background:var(--color-orange-action); }
.partner-route h3 { margin-bottom:20px; }
.partner-route li>p:last-child { font-size:16px; line-height:1.6; }
.story-blue { padding:48px; border-radius:var(--radius-lg); background:radial-gradient(ellipse at 105% 105%,rgba(230,72,0,.28),transparent 53%),linear-gradient(115deg,var(--color-navy),var(--color-blue)); color:white; }
.story-blue h2 { color:white; }
.partner-rates { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.partner-rates article { padding:32px; border-radius:var(--radius-md); background:white; color:var(--color-ink); }
.partner-rates h3 { font:500 18px/1.4 var(--font-body); text-transform:none; }
.partner-rates strong { display:block; font:72px/1 var(--font-display); color:var(--color-blue); margin:24px 0 12px; }
.partner-rates article:nth-child(2) strong { color:var(--color-orange-action); }
.partner-rates p { font-size:15px; line-height:1.5; }
.partner-payment { margin-top:32px; padding-top:24px; border-top:1px solid #ffffff30; }
.partner-payment strong { display:block; font:500 20px/1.4 var(--font-body); margin-bottom:8px; }
.partner-payment p { font-size:16px; line-height:1.6; color:#e3e5f2; }
.story-caption { font-size:18px; line-height:1.5; margin-bottom:24px!important; }
.partner-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.partner-examples article { background:white; border-top:4px solid var(--color-blue); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-low); }
.partner-examples article:nth-child(2) { border-top-color:var(--color-orange); }
.partner-examples span { font-size:16px; }
.partner-examples strong { display:block; font:36px/1.2 var(--font-display); color:var(--color-blue); margin:20px 0 12px; }
.partner-examples p,.story-note { font-size:14px; line-height:1.6; color:var(--color-muted); }
.story-note { margin-top:20px!important; }
.partner-support { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.partner-support .story-heading p:last-child { margin-top:24px; font-size:18px; line-height:1.6; }
.story-list { margin:0; padding:0; list-style:none; }
.story-list li { padding:20px 0 20px 24px; border-bottom:1px solid var(--color-line); position:relative; }
.story-list li:first-child { padding-top:0; }
.story-list li::before { content:''; position:absolute; left:0; top:29px; width:6px; height:6px; background:var(--color-orange); }
.story-list li:first-child::before { top:9px; }
.story-list strong { display:block; font:500 18px/1.4 var(--font-body); color:var(--color-warm-heading); margin-bottom:8px; }
.story-list span { font-size:16px; line-height:1.5; }
.story-page .faq { padding-bottom:0; }
.story-page .faq__shell { padding:48px; grid-template-columns:minmax(0,.72fr) minmax(520px,1.28fr); gap:48px; }
.story-page .faq__intro h2 { font-size:40px; line-height:1.15; }
.story-page .faq-item__question { font-family:var(--font-body); }
.story-final { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.story-final h2 { font-size:40px; }
.story-final p:last-child { margin-top:24px; font-size:18px; line-height:1.6; }
.story-final>.button { flex-shrink:0; }
.materials-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:48px; }
.materials-nav a { display:flex; align-items:center; gap:14px; padding:22px 20px; background:#ffffff10; border:1px solid #ffffff35; border-radius:var(--radius-md); color:white; text-decoration:none; font-size:16px; transition:background var(--motion-fast),border-color var(--motion-fast); }
.materials-nav a:hover { background:#ffffff20; border-color:#ffffff80; }
.materials-nav a span { font-size:12px; color:#b8bfeb; }
.materials-nav a b { margin-left:auto; font-size:20px; font-weight:400; }
.materials-empty { display:flex; gap:32px; align-items:center; padding:40px; background:white; border-radius:var(--radius-md); box-shadow:var(--shadow-low); }
.materials-empty__title { font-size:22px; font-weight:500; line-height:1.4; color:var(--color-warm-heading); margin-bottom:12px!important; }
.materials-empty p:not(.materials-empty__title) { font-size:17px; line-height:1.6; }
.materials-empty__label { margin-left:auto; align-self:flex-start; color:var(--color-muted); font-size:12px; padding:8px 12px; background:var(--color-soft); border-radius:var(--radius-sm); white-space:nowrap; }
.material-symbol { flex:none; width:90px; height:112px; border:2px solid #d7dcec; border-radius:8px; padding:26px 16px; position:relative; background:linear-gradient(135deg,#f4f6fc,white); }
.material-symbol::before { content:''; width:24px; height:4px; position:absolute; left:16px; top:14px; background:var(--color-orange); border-radius:2px; }
.material-symbol span { display:block; height:3px; margin:12px 0; background:#a9b4df; border-radius:2px; }
.material-symbol--article span:last-child { width:70%; }
.material-symbol--checklist span { margin-left:14px; position:relative; }
.material-symbol--checklist span::before { content:'✓'; position:absolute; left:-16px; top:-8px; color:var(--color-blue); font-size:15px; }
.materials-video { display:grid; grid-template-columns:1.15fr .85fr; overflow:hidden; border-radius:var(--radius-lg); background:linear-gradient(120deg,var(--color-navy),var(--color-blue)); color:white; }
.materials-video__copy { padding:48px; }
.materials-video h2 { color:white; }
.materials-video__lead { margin-top:24px!important; font-size:18px; line-height:1.6; }
.materials-video__status { display:flex; align-items:center; gap:18px; margin-top:32px; padding:24px 0; border-top:1px solid #ffffff30; border-bottom:1px solid #ffffff30; }
.materials-video__status>span { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:var(--radius-sm); background:#ffffff12; color:#e5af93; font-size:30px; }
.materials-video__status strong { font-size:17px; font-weight:500; }
.materials-video__status p { font-size:14px; margin-top:8px; color:#d0d5ea; }
.materials-video__byline { margin-top:28px!important; font-size:17px; line-height:1.6; }
.materials-video__byline span { font-size:13px; color:#d0d5ea; }
.materials-video figure { margin:0; min-width:0; }
.materials-video img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
@media(max-width:1199px) {
  .story-page h1 { font-size:46px; }.story-page h2 { font-size:38px; }
  .story-grid--three,.partner-route { grid-template-columns:1fr; }
  .story-page .faq__shell { grid-template-columns:1fr; }
  .story-card br,.partner-route br,.partner-directions br { display:none; }
  .story-hero__aside { display:none; }
  .story-page .story-section { margin-top:96px; }
}
@media(max-width:767px) {
  .story-page h1 { font-size:32px; }.story-page h2,.story-page .faq__intro h2 { font-size:30px; }
  .story-hero,.story-blue,.materials-video__copy { padding:32px 24px; }
  .story-page .faq__shell { padding:28px 24px; }
  .story-lead { font-size:17px; }.story-lead br,.story-final br,.materials-empty br { display:none; }
  .story-actions,.story-final,.materials-empty { flex-direction:column; align-items:flex-start; }
  .story-grid--two,.partner-responsibility,.partner-rates,.partner-examples,.partner-support,.materials-nav,.materials-video { grid-template-columns:1fr; }
  .story-page .story-section { margin-top:76px; }
  .story-page { margin-bottom:76px; }.story-heading { margin-bottom:28px; }
  .materials-empty { padding:28px; gap:24px; }.materials-empty__label { margin-left:0; }
  .materials-video figure { height:420px; }.materials-video img { object-position:center 25%; }
}
