/* =========================================================
   THEME LOCK V7 — 2026-09-03
   Explicit section themes + mobile 3-card stacks.
   This file is intentionally loaded LAST with a new filename
   so browser cache and older dark-mode rules cannot win.
   ========================================================= */
:root{
  --asahi-yellow:#F2B200;
  --asahi-ivory:#FFF8E8;
  --asahi-navy:#123B5D;
  --asahi-navy-deep:#0D2D48;
  --asahi-ink:#101216;
  --asahi-white:#FFFFFF;
  --asahi-muted:#565B63;
  --asahi-line-dark:rgba(16,18,22,.16);
  --asahi-line-light:rgba(255,255,255,.26);
}

/* ---------- FIXED SECTION THEMES ---------- */
section.theme-yellow{
  background:var(--asahi-yellow) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
section.theme-ivory{
  background:var(--asahi-ivory) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
section.theme-navy{
  background:var(--asahi-navy) !important;
  color:var(--asahi-white) !important;
  color-scheme:light !important;
}

/* Keep every normal text element visible, even when older dark-mode rules set a different color. */
section.theme-yellow :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary,.news-date,.news-link,.news-desc,.privacy),
section.theme-ivory :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary,.news-date,.news-link,.news-desc,.privacy){
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
}
section.theme-navy :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary,.news-date,.news-link,.news-desc,.privacy){
  color:var(--asahi-white) !important;
  -webkit-text-fill-color:var(--asahi-white) !important;
  opacity:1 !important;
  visibility:visible !important;
}
section.theme-navy .eyebrow{
  color:#FFE08A !important;
  -webkit-text-fill-color:#FFE08A !important;
}
section.theme-ivory :is(.section-lead,.overview-lead,.story-closing,.story-mobile-summary){
  color:var(--asahi-muted) !important;
  -webkit-text-fill-color:var(--asahi-muted) !important;
}

/* ---------- LIGHT CARDS INSIDE NAVY SECTIONS ---------- */
section.theme-navy :is(
  .service-card,.profile-points li,
  .decision-item,.problem-card,.use-card,.scope-card,.fit-card,.strength-card,.audience-card,
  .format-card,.approach-card,.assurance-item,.price-simple-item,.work-card,.video-link-card,
  .flow-band-item,.why-mobile-flow-card,.why-mobile-view-card,.why2-process-card,.why2-perspective-card,
  .why2-convergence,.approach-shell,.strengths-shell,.assurance-lead
){
  background:#FFFFFF !important;
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  border-color:var(--asahi-line-dark) !important;
  color-scheme:light !important;
  opacity:1 !important;
  visibility:visible !important;
}
section.theme-navy :is(
  .service-card,.profile-points li,
  .decision-item,.problem-card,.use-card,.scope-card,.fit-card,.strength-card,.audience-card,
  .format-card,.approach-card,.assurance-item,.price-simple-item,.work-card,.video-link-card,
  .flow-band-item,.why-mobile-flow-card,.why-mobile-view-card,.why2-process-card,.why2-perspective-card,
  .why2-convergence,.approach-shell,.strengths-shell,.assurance-lead
) :is(h1,h2,h3,h4,h5,h6,p,li,a,strong,span,small,.work-tag,.video-caption,.approach-intro,.strengths-intro,.decision-label,.decision-value){
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* FAQ should visually belong to the section itself, not turn into a white block on navy. */
section.theme-navy .faq details,
section.theme-navy details.faq-item{
  background:transparent !important;
  color:var(--asahi-white) !important;
  border-color:var(--asahi-line-light) !important;
}
section.theme-navy .faq details :is(summary,p,strong,span,a),
section.theme-navy details.faq-item :is(summary,p,strong,span,a){
  color:var(--asahi-white) !important;
  -webkit-text-fill-color:var(--asahi-white) !important;
}

/* ---------- BUTTON CONTRAST ---------- */
/* Ivory area -> navy button + white text. */
section.theme-ivory :is(a.btn,button.btn,.story-services-link,.youtube-channel-btn),
section.theme-ivory button.submit{
  background:var(--asahi-navy) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border:2px solid var(--asahi-navy) !important;
  opacity:1 !important;
  visibility:visible !important;
}
section.theme-ivory :is(a.btn,button.btn,.story-services-link,.youtube-channel-btn) *,
section.theme-ivory button.submit *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* Navy area -> ivory button + navy text. */
section.theme-navy :is(a.btn,button.btn,.story-services-link,.youtube-channel-btn),
section.theme-navy button.submit{
  background:var(--asahi-ivory) !important;
  color:var(--asahi-navy) !important;
  -webkit-text-fill-color:var(--asahi-navy) !important;
  border:2px solid var(--asahi-ivory) !important;
  opacity:1 !important;
  visibility:visible !important;
}
section.theme-navy :is(a.btn,button.btn,.story-services-link,.youtube-channel-btn) *,
section.theme-navy button.submit *{
  color:var(--asahi-navy) !important;
  -webkit-text-fill-color:var(--asahi-navy) !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* Yellow areas keep the existing white/black button design. */
section.theme-yellow .btn-dark{
  background:#111214 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border-color:#111214 !important;
}
section.theme-yellow .btn-dark *{color:#FFFFFF !important;-webkit-text-fill-color:#FFFFFF !important;}
section.theme-yellow .btn-light{
  background:#FFFFFF !important;
  color:#111214 !important;
  -webkit-text-fill-color:#111214 !important;
  border-color:#FFFFFF !important;
}
section.theme-yellow .btn-light *{color:#111214 !important;-webkit-text-fill-color:#111214 !important;}

/* Other-services section is always ivory; its service links are navy/white. */
body.service-page #related-services{
  background:var(--asahi-ivory) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
body.service-page #related-services :is(h1,h2,h3,p,a,strong,span,.eyebrow,.section-title,.section-lead){
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
}
body.service-page #related-services :is(.related,.related-grid) a{
  background:var(--asahi-navy) !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border:2px solid var(--asahi-navy) !important;
  opacity:1 !important;
  visibility:visible !important;
}
body.service-page #related-services :is(.related,.related-grid) a *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* ---------- HOME PAGE ---------- */
.home-page #top,
.home-page #contact{background:var(--asahi-yellow) !important;color:var(--asahi-ink) !important;color-scheme:light !important;}
.home-page #story,.home-page #why-us,.home-page #youtube{background:var(--asahi-ivory) !important;}
.home-page #services,.home-page #profile,.home-page #news,.home-page #contact-form{background:var(--asahi-navy) !important;}

/* SERVICES title/cards can never disappear in dark mode. */
.home-page #services > .container > :is(.eyebrow,.section-title,.section-lead){
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
  visibility:visible !important;
}
.home-page #services .service-card{
  background:#FFFFFF !important;
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
}
.home-page #services .service-card :is(h3,p,span,strong,.service-no,.service-arrow){
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
}
.home-page #services .service-card .service-no{color:#765400 !important;-webkit-text-fill-color:#765400 !important;}

/* STORY button: force visible text. */
.home-page #story .story-services-link,
.home-page #story .story-services-link *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Logo: remove the visual white plate without altering the source image. */
.home-page #top .hero-logo-wrap{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home-page #top .hero-logo{
  background:transparent !important;
  mix-blend-mode:multiply !important;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.13)) !important;
}

/* Contact form: navy section + conspicuous white fields. */
.home-page #contact-form :is(input,textarea){
  color-scheme:light !important;
  background:#FFFFFF !important;
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  border:2px solid #FFFFFF !important;
  box-shadow:0 0 0 1px rgba(16,18,22,.14) !important;
}
.home-page #contact-form :is(input,textarea)::placeholder{
  color:#666B72 !important;
  -webkit-text-fill-color:#666B72 !important;
  opacity:1 !important;
}
.home-page #contact-form label,
.home-page #contact-form .privacy,
.home-page #contact-form .privacy summary{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.home-page #contact-form .submit:not(:disabled){
  background:var(--asahi-ivory) !important;
  color:var(--asahi-navy) !important;
  -webkit-text-fill-color:var(--asahi-navy) !important;
  border:2px solid var(--asahi-ivory) !important;
}

/* ---------- SERVICE PAGE HERO / CTA ---------- */
body.service-page .hero,
body.service-page .cta{
  background:var(--asahi-yellow) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
body.service-page :is(.hero,.cta) :is(h1,h2,h3,h4,p,a,strong,span,small,.eyebrow,.hero-lead,.hero-lead-mobile,.hero-lead-desktop){
  color:var(--asahi-ink) !important;
  -webkit-text-fill-color:var(--asahi-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
}
body.service-page .cta .btn-dark,
body.service-page .cta .btn-dark *{
  background:#111214 !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  border-color:#111214 !important;
}

/* ---------- MOBILE: 3 cards = 3 slim vertical rows ---------- */
@media (max-width:767px){
  body.service-page :is(.strength-grid,.format-grid,.approach-grid,.assurance-list){
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-top:12px !important;
  }
  body.service-page :is(.strength-grid,.format-grid,.approach-grid,.assurance-list) > *{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
  }
  body.service-page :is(.strength-card,.format-card,.approach-card,.assurance-item){
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:11px !important;
    padding:12px 14px !important;
    border-radius:14px !important;
  }
  body.service-page :is(.strength-card,.format-card,.approach-card,.assurance-item) h3{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.38 !important;
    min-width:0 !important;
  }
  body.service-page :is(.strength-card,.format-card,.approach-card,.assurance-item) h3 br{
    display:none !important;
  }
  body.service-page :is(.strength-card,.format-card,.approach-card,.assurance-item) p,
  body.service-page .strength-key{
    display:none !important;
  }
  body.service-page :is(.strength-num,.approach-num,.assurance-icon){
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    font-size:10px !important;
    border-radius:50% !important;
  }
  body.service-page .format-no{
    width:auto !important;
    min-width:70px !important;
    height:auto !important;
    padding:7px 9px !important;
    border-radius:999px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    text-align:center !important;
  }
  .sns-pr-page .assurance-item > div:last-child{min-width:0 !important;}

  /* The older mobile stylesheet hides these long sections. Alternate the VISIBLE sections, not the hidden DOM order. */
  .sns-pr-page #faq{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  .sns-pr-page #works{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}
  .accessible-video-page #strengths{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  .accessible-video-page #price{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}
  .accessible-video-page #faq{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  .media-supervision-page #price{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  .media-supervision-page #faq{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}

  /* Re-apply mobile visible-section text after the background swap above. */
  .sns-pr-page #faq :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead),
  .accessible-video-page :is(#strengths,#faq) :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead),
  .media-supervision-page #price :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead){
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
  }
  .sns-pr-page #works :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead),
  .accessible-video-page #price :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead),
  .media-supervision-page #faq :is(h1,h2,h3,h4,h5,h6,p,li,summary,a,strong,span,small,.eyebrow,.section-title,.section-lead){
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
  }
  /* Cards in mobile navy swaps remain light/dark. */
  .accessible-video-page #strengths .strength-card,
  .media-supervision-page #price .price-simple-item{
    background:#FFFFFF !important;
    color:var(--asahi-ink) !important;
  }
  .accessible-video-page #strengths .strength-card :is(h3,p,span,strong),
  .media-supervision-page #price .price-simple-item :is(h3,p,span,strong){
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
  }
  /* Buttons follow the visible mobile background swaps. */
  .sns-pr-page #faq .btn,
  .accessible-video-page :is(#strengths,#faq) .btn,
  .media-supervision-page #price .btn{
    background:var(--asahi-ivory) !important;
    color:var(--asahi-navy) !important;
    -webkit-text-fill-color:var(--asahi-navy) !important;
    border-color:var(--asahi-ivory) !important;
  }
  .sns-pr-page #works .btn,
  .accessible-video-page #price .btn,
  .media-supervision-page #faq .btn{
    background:var(--asahi-navy) !important;
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    border-color:var(--asahi-navy) !important;
  }
}

/* ---------- DARK MODE SAFETY ---------- */
/* Section colors are intentionally fixed in both OS modes. */
@media (prefers-color-scheme:dark){
  html,body{background:#0B0D10 !important;}
  section.theme-yellow{background:var(--asahi-yellow) !important;color:var(--asahi-ink) !important;color-scheme:light !important;}
  section.theme-ivory{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;color-scheme:light !important;}
  section.theme-navy{background:var(--asahi-navy) !important;color:#FFFFFF !important;color-scheme:light !important;}

  .site-header,.header{
    background:#0E1115 !important;
    color:#FFFFFF !important;
    border-bottom-color:rgba(255,255,255,.20) !important;
  }
  .site-header :is(.brand,.site-menu-btn,.menu-label),
  .header :is(.brand,.site-menu-btn,.menu-label),
  .header-nav > a:not(.header-cta){
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
  }
  .site-menu-btn{
    background:#171A1F !important;
    color:#FFFFFF !important;
    border-color:rgba(255,255,255,.28) !important;
  }
  .menu-drawer,.menu-drawer-head,.menu-links,.menu-links a{
    background:#0E1115 !important;
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
  }
  .menu-close{
    background:#191D22 !important;
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    border-color:rgba(255,255,255,.26) !important;
  }
  .header-cta{
    background:var(--asahi-yellow) !important;
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
  }

  /* Explicitly repeat the home/service text colors so no legacy dark rule can erase them. */
  section.theme-navy :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary,.news-date,.news-link,.news-desc,.privacy){
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  section.theme-ivory :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary,.news-date,.news-link,.news-desc,.privacy),
  section.theme-yellow :is(h1,h2,h3,h4,h5,h6,p,li,summary,label,a,strong,span,small,.eyebrow,.section-title,.section-lead,.overview-title,.overview-lead,.story-core,.story-closing,.story-mobile-summary){
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  /* Then repeat light-card dark text last. */
  section.theme-navy :is(
    .service-card,.profile-points li,
    .decision-item,.problem-card,.use-card,.scope-card,.fit-card,.strength-card,.audience-card,
    .format-card,.approach-card,.assurance-item,.price-simple-item,.work-card,.video-link-card,
    .flow-band-item,.why-mobile-flow-card,.why-mobile-view-card,.why2-process-card,.why2-perspective-card,
    .why2-convergence,.approach-shell,.strengths-shell,.assurance-lead
  ),
  section.theme-navy :is(
    .service-card,.profile-points li,
    .decision-item,.problem-card,.use-card,.scope-card,.fit-card,.strength-card,.audience-card,
    .format-card,.approach-card,.assurance-item,.price-simple-item,.work-card,.video-link-card,
    .flow-band-item,.why-mobile-flow-card,.why-mobile-view-card,.why2-process-card,.why2-perspective-card,
    .why2-convergence,.approach-shell,.strengths-shell,.assurance-lead
  ) :is(h1,h2,h3,h4,h5,h6,p,li,a,strong,span,small,.work-tag,.video-caption,.approach-intro,.strengths-intro,.decision-label,.decision-value){
    background-color:#FFFFFF !important;
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
  }

  /* Thanks/news pages: no disappearing text. */
  body.thanks-page,.news-detail-page{background:#0B0D10 !important;color:#F7F8FA !important;}
  body.thanks-page :is(h1,h2,h3,p,strong,.reply,.note),
  .news-detail-page :is(h1,h2,h3,h4,p,li,strong,.news-detail-title,.news-detail-lead,.news-detail-date,.news-detail-back){
    color:#F7F8FA !important;
    -webkit-text-fill-color:#F7F8FA !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* =========================================================
   ABSOLUTE SECTION BACKGROUND LOCK
   Added after computed-style audit. Older mobile rules use selectors such as
   .home-page #services.section-paper with !important, so the theme selector
   must be more specific than those legacy rules.
   ========================================================= */
html body main#main > section.theme-yellow{
  background:var(--asahi-yellow) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
html body main#main > section.theme-ivory{
  background:var(--asahi-ivory) !important;
  color:var(--asahi-ink) !important;
  color-scheme:light !important;
}
html body main#main > section.theme-navy{
  background:var(--asahi-navy) !important;
  color:var(--asahi-white) !important;
  color-scheme:light !important;
}
/* Home has a few especially specific legacy selectors. */
html body.home-page main#main > section#story.theme-ivory,
html body.home-page main#main > section#why-us.theme-ivory,
html body.home-page main#main > section#youtube.theme-ivory{
  background:var(--asahi-ivory) !important;
}
html body.home-page main#main > section#services.theme-navy,
html body.home-page main#main > section#profile.theme-navy,
html body.home-page main#main > section#news.theme-navy,
html body.home-page main#main > section#contact-form.theme-navy{
  background:var(--asahi-navy) !important;
}
html body.home-page main#main > section#top.theme-yellow,
html body.home-page main#main > section#contact.theme-yellow{
  background:var(--asahi-yellow) !important;
}

/* The special product-development WHY-US section has very specific legacy background rules. */
html body.product-development-page main#main > section#why-us.theme-navy{
  background:var(--asahi-navy) !important;
  color:#FFFFFF !important;
}
html body.product-development-page main#main > section#why-us.theme-navy > .container > .why-experience-intro :is(.eyebrow,.section-title,.section-lead){
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html body.product-development-page main#main > section#why-us.theme-navy > .container > .why-experience-intro .eyebrow{
  color:#FFE08A !important;
  -webkit-text-fill-color:#FFE08A !important;
}

@media (max-width:767px){
  /* Re-lock the visible mobile rhythm after hidden sections are removed. */
  html body.sns-pr-page main#main > section#faq{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  html body.sns-pr-page main#main > section#works{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}
  html body.accessible-video-page main#main > section#strengths{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  html body.accessible-video-page main#main > section#price{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}
  html body.accessible-video-page main#main > section#faq{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  html body.media-supervision-page main#main > section#price{background:var(--asahi-navy) !important;color:#FFFFFF !important;}
  html body.media-supervision-page main#main > section#faq{background:var(--asahi-ivory) !important;color:var(--asahi-ink) !important;}

  /* FAQ border/text corrections for mobile sections whose theme flips because a hidden section is skipped. */
  html body.sns-pr-page #faq .faq details,
  html body.accessible-video-page #faq .faq details{
    background:transparent !important;
    border-color:rgba(255,255,255,.28) !important;
  }
  html body.sns-pr-page #faq .faq details :is(summary,p,strong,span,a),
  html body.accessible-video-page #faq .faq details :is(summary,p,strong,span,a){
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
  }
  html body.media-supervision-page #faq .faq details{
    background:transparent !important;
    border-color:rgba(16,18,22,.18) !important;
  }
  html body.media-supervision-page #faq .faq details :is(summary,p,strong,span,a){
    color:var(--asahi-ink) !important;
    -webkit-text-fill-color:var(--asahi-ink) !important;
  }
}
