/* Content-page rules stay inside body.seo-page; the home page keeps its own layout. */
body.seo-page { background:#fff; color:var(--ink,#0a1e50); }
.seo-page .detail-main { width:min(1160px,calc(100% - 100px)); margin:0 auto; padding:30px 0 88px; }
.seo-page .detail-main :focus-visible { outline:3px solid var(--blue,#0649df); outline-offset:5px; }
.seo-page .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:6px 11px; margin:0 0 37px; color:var(--blue,#0649df); font-size:10px; font-weight:600; line-height:1.7; overflow-wrap:anywhere; }
.seo-page .breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:6px 11px; margin:0; padding:0; list-style:none; }
.seo-page .breadcrumbs a:hover { text-decoration:underline; text-underline-offset:4px; }
.seo-page .breadcrumbs [aria-current] { color:var(--ink,#0a1e50); font-weight:800; }
.seo-page .detail-hero { margin-bottom:31px; }
.seo-page .detail-copy { min-width:0; }
.seo-page .detail-copy .eyebrow { margin-bottom:16px; color:var(--blue,#0649df); font-size:10px; }
.seo-page .detail-main h1 { max-width:100%; margin:0 0 22px; color:var(--blue,#0649df); font-family:var(--font-display,Oswald,sans-serif); font-size:clamp(48px,5.5vw,76px); font-weight:600; line-height:1.07; letter-spacing:-.035em; text-transform:uppercase; overflow-wrap:break-word; }
.seo-page .detail-copy > p:not(.eyebrow) { max-width:750px; font-size:14px; line-height:1.9; }
.seo-page .detail-copy > p + p { margin-top:15px; }
.seo-page .detail-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin:19px 0 0; color:#536482; font-size:10px; font-weight:700; letter-spacing:.03em; }
.seo-page .watch-player { position:relative; width:100%; aspect-ratio:16/9; border:1px solid var(--blue,#0649df); border-radius:3px; background:#051c45; overflow:hidden; }
.seo-page .watch-player video { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:contain; background:#051c45; }
.seo-page .watch-play-button { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:57px; max-width:calc(100% - 40px); padding:17px 25px; border:1px solid var(--yellow,#eaff52); border-radius:2px; background:var(--yellow,#eaff52); color:var(--ink,#0a1e50); font-family:var(--font-body,Manrope,sans-serif); font-size:12px; font-weight:800; line-height:1.5; text-align:center; cursor:pointer; }
.seo-page .watch-play-button::before { content:''; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid currentColor; }
.seo-page .watch-play-button:hover { transform:translate(-50%,-50%); background:#f4ffb0; }
.seo-page .watch-play-button:disabled { opacity:1; background:var(--yellow,#eaff52); cursor:wait; }
.seo-page .watch-play-button:disabled::before { display:none; }
.seo-page .watch-play-button[hidden] { display:none; }
.seo-page #watch-status { min-height:22px; margin:12px 0 0; color:#536482; font-size:11px; line-height:1.8; }
.seo-page #watch-status.is-error { padding:11px 14px; border-left:3px solid var(--blue,#0649df); background:#f0f4ff; color:var(--ink,#0a1e50); }
.seo-page .watch-actions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 25px; margin-top:25px; padding:22px 0; border-top:1px solid #0649df30; border-bottom:1px solid #0649df30; }
.seo-page .watch-actions > a:not(.button), .seo-page .watch-actions > button:not(.button) { display:inline-flex; align-items:center; gap:10px; min-height:40px; color:var(--blue,#0649df); font-size:11px; font-weight:800; }
.seo-page .watch-actions > a:hover { text-decoration:underline; text-underline-offset:5px; }
.seo-page .detail-section { margin-top:65px; padding-top:39px; border-top:1px solid #0649df30; }
.seo-page .detail-section > h2 { margin-bottom:25px; font-family:var(--font-display,Oswald,sans-serif); color:var(--blue,#0649df); font-size:clamp(34px,4vw,51px); line-height:1.12; letter-spacing:-.03em; }
.seo-page .detail-prose { max-width:800px; font-size:14px; line-height:1.9; }
.seo-page .detail-prose > * + * { margin-top:18px; }
.seo-page .detail-prose p { line-height:1.9; }
.seo-page .detail-prose h2 { margin-top:34px; font-size:36px; line-height:1.15; }
.seo-page .detail-prose h3 { margin-top:28px; color:var(--blue,#0649df); font-size:27px; line-height:1.2; }
.seo-page .detail-prose a { color:var(--blue,#0649df); text-decoration:underline; text-underline-offset:4px; }
.seo-page .detail-prose ul, .seo-page .detail-prose ol { padding-left:22px; }
.seo-page .detail-prose li + li { margin-top:7px; }
.seo-page .related-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:27px; }
.seo-page .related-card { display:block; min-width:0; padding-bottom:22px; border-bottom:1px solid #0649df45; color:var(--ink,#0a1e50); }
.seo-page .related-card > img, .seo-page .related-card > a > img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#f0f4ff; }
.seo-page .related-card img[src$='.svg'] { object-fit:contain; padding:18px; background:var(--cream,#f5f3eb); }
.seo-page .related-card .eyebrow, .seo-page .related-card .detail-meta { margin-top:15px; margin-bottom:7px; font-size:8px; color:#536482; }
.seo-page .related-card h3 { margin-top:15px; color:var(--blue,#0649df); font-family:var(--font-display,Oswald,sans-serif); font-size:27px; font-weight:600; line-height:1.2; letter-spacing:-.02em; }
.seo-page .related-card h3 a:hover, .seo-page a.related-card:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.seo-page .related-card p { margin-top:10px; font-size:11px; line-height:1.8; }
.seo-page .character-detail { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; }
.seo-page .character-detail .character-art { display:grid; place-items:center; position:relative; min-width:0; height:auto; aspect-ratio:1/1; padding:25px; border:1px solid #0649df30; background:#f0edfa; overflow:hidden; }
.seo-page .character-detail.twist .character-art, .seo-page .character-detail .character-art.twist { background:#f0f3d4; }
.seo-page .character-detail .character-art > img { position:static; width:100%; height:100%; max-height:510px; margin:auto; object-fit:contain; filter:none; transform:none; }
.seo-page .character-detail .detail-copy h1 { font-size:clamp(64px,7vw,104px); }
.seo-page .character-detail .detail-copy > p:not(.eyebrow) { max-width:500px; }
.seo-page .seo-home-link { display:inline-flex; align-items:center; gap:13px; min-height:44px; margin-top:40px; padding:9px 0; border-bottom:1px solid var(--blue,#0649df); color:var(--blue,#0649df); font-size:11px; font-weight:800; }
.seo-page .seo-home-link:hover { border-bottom-width:2px; padding-bottom:8px; }
.seo-page .character-toy { display:grid; grid-template-columns:minmax(220px,.8fr) 1.2fr; align-items:center; gap:35px; margin-top:25px; padding:28px; border:1px solid #0649df30; background:#fff; }
.seo-page .character-toy > img { width:100%; height:310px; object-fit:contain; }
.seo-page .character-toy > div { min-width:0; }
.seo-page .character-toy h2 { margin-bottom:17px; font-size:39px; line-height:1.12; }
.seo-page .character-toy p { font-size:12px; line-height:1.9; }
.seo-page .character-toy .button { margin-top:20px; background:var(--yellow,#eaff52); color:var(--ink,#0a1e50); }
.seo-page .publication-note { margin-top:25px; padding-top:17px; border-top:1px solid #0649df25; color:#536482; font-size:10px; line-height:1.8; }
/* Additional home-page links share the existing heading and card styling. */
.hero h1 .hero-series-name { display:block; margin-bottom:12px; color:#fff; font-size:clamp(22px,2.2vw,30px); font-weight:500; line-height:1.25; letter-spacing:normal; }
.episode-card h3 a { display:flex; justify-content:space-between; align-items:center; gap:13px; width:100%; padding:0; color:inherit; font:inherit; text-align:left; }
.episode-card h3 a svg { width:18px; height:18px; flex-shrink:0; }
.character-more { display:inline-flex; align-items:center; gap:9px; margin-top:12px; color:var(--blue,#0649df); font-family:var(--font-body,Manrope,sans-serif); font-size:11px; font-weight:800; line-height:1.6; }
.character-more:hover { text-decoration:underline; text-underline-offset:4px; }
.character-more svg { width:17px; height:17px; }
@media(max-width:1000px) {
  .seo-page .detail-main { width:calc(100% - 70px); }
  .seo-page .character-detail { gap:35px; }
  .seo-page .character-detail .character-art { padding:20px; }
  .seo-page .character-detail .detail-copy h1 { font-size:71px; }
}
@media(max-width:700px) {
  .seo-page .detail-main { width:calc(100% - 40px); padding-top:24px; padding-bottom:64px; }
  .seo-page .breadcrumbs { margin-bottom:28px; gap:5px 9px; font-size:9px; }
  .seo-page .detail-main h1 { margin-bottom:18px; font-size:clamp(40px,10vw,61px); line-height:1.1; }
  .seo-page .detail-copy .eyebrow { margin-bottom:13px; font-size:8px; }
  .seo-page .detail-copy > p:not(.eyebrow), .seo-page .detail-prose { font-size:12px; line-height:1.9; }
  .seo-page .detail-hero { margin-bottom:25px; }
  .seo-page .watch-play-button { min-height:48px; padding:13px 18px; font-size:10px; }
  .seo-page .watch-actions { align-items:flex-start; margin-top:20px; padding:17px 0; gap:12px; }
  .seo-page .watch-actions > a:not(.button), .seo-page .watch-actions > button:not(.button) { font-size:10px; }
  .seo-page #watch-status { font-size:10px; }
  .seo-page .detail-section { margin-top:42px; padding-top:28px; }
  .seo-page .detail-section > h2 { margin-bottom:21px; font-size:35px; }
  .seo-page .related-grid { gap:25px; }
  .seo-page .related-card h3 { font-size:25px; }
  .seo-page .character-detail { grid-template-columns:1fr; gap:28px; }
  .seo-page .character-detail .character-art { aspect-ratio:5/4; padding:22px; }
  .seo-page .character-detail .character-art > img { max-height:390px; }
  .seo-page .character-detail .detail-copy h1 { font-size:64px; }
  .seo-page .character-toy { grid-template-columns:1fr; gap:20px; padding:22px; }
  .seo-page .character-toy > img { height:280px; }
  .seo-page .character-toy h2 { font-size:33px; }
  .seo-page .seo-home-link { margin-top:30px; }
}
@media(prefers-reduced-motion:reduce) { .seo-page .detail-main * { scroll-behavior:auto!important; transition:none!important; } }
