/*
 * AOTO Market Intelligence Center · Typography System V1.5
 * One system-font hierarchy for front office, public entry, login and admin.
 * SF Pro is selected by the operating system on Apple devices; PingFang SC
 * provides native Chinese metrics. No webfont is embedded.
 */

:root{
  --mic-font-text:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Helvetica Neue","Microsoft YaHei",Arial,sans-serif;
  --mic-font-display:var(--mic-font-text);
  --mic-font-mono:"SFMono-Regular","SF Mono",ui-monospace,Menlo,Monaco,Consolas,"Liberation Mono",monospace;

  --mic-type-micro:10.5px;
  --mic-type-caption:11.5px;
  --mic-type-label:12.5px;
  --mic-type-body-sm:13.5px;
  --mic-type-body:15px;
  --mic-type-body-lg:17px;
  --mic-type-title-sm:19px;
  --mic-type-title:24px;
  --mic-type-title-lg:32px;
  --mic-type-display:clamp(48px,5.15vw,72px);

  --mic-weight-regular:400;
  --mic-weight-medium:510;
  --mic-weight-semibold:620;
  --mic-weight-bold:620;

  --mic-leading-tight:1.08;
  --mic-leading-title:1.18;
  --mic-leading-ui:1.35;
  --mic-leading-body:1.7;
  --mic-tracking-display:-.042em;
  --mic-tracking-title:-.022em;
  --mic-tracking-label:.01em;
  --mic-tracking-caps:.14em;
}

html{
  font-family:var(--mic-font-text);
  font-size:17px;
  font-synthesis:none;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body,
button,
input,
select,
textarea{
  font-family:var(--mic-font-text)!important;
  font-kerning:normal;
  font-optical-sizing:auto;
  font-variant-numeric:proportional-nums;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
}

body{
  font-size:var(--mic-type-body);
  font-weight:var(--mic-weight-regular);
  line-height:var(--mic-leading-body);
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

:where(h1,h2,h3,h4,h5,h6){
  font-family:var(--mic-font-display)!important;
  text-wrap:balance;
  font-synthesis:none;
}

:where(p,li,dd,td,.lead){
  text-wrap:pretty;
}

:where(code,kbd,samp,.assetid,[class*="AssetId"],[class*="sourceId"]){
  font-family:var(--mic-font-mono)!important;
  font-variant-numeric:tabular-nums;
}

/* Front office — editorial hierarchy */
body[data-region]{
  font-size:var(--mic-type-body);
}

body[data-region] :where(.brand,.brand span:last-child){
  font-family:var(--mic-font-display)!important;
  font-size:15px!important;
  font-weight:var(--mic-weight-semibold)!important;
  letter-spacing:-.012em!important;
  line-height:1.2!important;
}

body[data-region] .mark{
  font-family:var(--mic-font-display)!important;
  font-size:13.5px!important;
  font-weight:var(--mic-weight-bold)!important;
  letter-spacing:.14em!important;
}

body[data-region] :where(
  .nav a,.moreTrigger,.morePanel a,.regionTrigger,.regionOption,.quickSearch,
  .profileTrigger,.filter,.casefilter,.rangeBtn,.compOsTab
){
  font-size:var(--mic-type-label)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}

body[data-region] :where(button,input,select,textarea){
  font-size:var(--mic-type-body-sm);
}

body[data-region] :where(.eyebrow,[class*="Kicker"],[class*="kicker"]){
  font-size:var(--mic-type-micro)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.35!important;
  letter-spacing:var(--mic-tracking-caps)!important;
}

body[data-region] #brief .hero h1,
body[data-region] .japanHeroCopy h1{
  font-family:var(--mic-font-display)!important;
  font-size:var(--mic-type-display)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:var(--mic-leading-tight)!important;
  letter-spacing:var(--mic-tracking-display)!important;
}

body[data-region] :where(.head h2,.caseLibraryTop h2,.marketReportTitle h1,.eventMarketingTitle h1){
  font-size:clamp(30px,2.55vw,38px)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.12!important;
  letter-spacing:var(--mic-tracking-title)!important;
}

body[data-region] :where(
  .detailhero h2,.competitorBriefTitle h2,.intelTitle,
  .oiDetailHero h1,.caseDetailHero h1,.eventHandbookHero h1
){
  font-size:clamp(32px,3.2vw,46px)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.1!important;
  letter-spacing:-.032em!important;
}

body[data-region] :where(
  .signal h3,.item h3,.comp h3,.source h3,.report h3,.framework h3,.direction h3,
  .competitorActionCard h3,.caseInventoryCard h3,.marketReportCard h3,
  .oiIndustryCard h3,.jpcard h3,.eventMarketingCard h3,.weeklyVisualBody h3
){
  font-size:var(--mic-type-title-sm)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.28!important;
  letter-spacing:-.014em!important;
}

body[data-region] :where(
  .dsection h3,.competitorStoryBlock h3,.competitorDeepSection h3,
  .intelSection h3,.oiDetailSection h2,.caseDetailSection h2,
  .hviPanelHead h3,.eventSectionHead h2
){
  font-size:var(--mic-type-title)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:var(--mic-leading-title)!important;
  letter-spacing:var(--mic-tracking-title)!important;
}

body[data-region] :where(.lead,.intelTakeaway,.oiDetailLead,.caseDetailLead){
  font-size:var(--mic-type-body-lg)!important;
  font-weight:var(--mic-weight-regular)!important;
  line-height:1.68!important;
  letter-spacing:0!important;
}

body[data-region] :where(
  main p,main li,.drawer p,.drawer li,
  .signal p,.item p,.comp p,.source p,.report p,.framework p,.direction p,
  .competitorActionCard p,.caseInventoryCard p,.marketReportCard p,
  .oiIndustryCard p,.jpcard p,.eventMarketingCard p,.competitorDeepCard p,
  .competitorDeepCard li,.competitorProductTable td
){
  font-size:var(--mic-type-body-sm)!important;
  font-weight:var(--mic-weight-regular)!important;
  line-height:var(--mic-leading-body)!important;
  letter-spacing:0!important;
}

body[data-region] :where(
  .meta,.moduleUpdateMeta,.pill,.tag,.chip,.sourcechip,.versionline,
  .linkrow,.competitorActionFooter,.competitorTimeMeta,.competitorBriefMeta,
  .caseCardMeta,.marketReportMeta,.hviChartLegend,.hviAxisX,.hviAxisY
){
  font-size:var(--mic-type-caption)!important;
  line-height:1.45!important;
}

body[data-region] :where(.pill,.tag,.chip,.sourcechip){
  font-weight:var(--mic-weight-semibold)!important;
  letter-spacing:0!important;
}

body[data-region] :where(.drawerSectionTitle,.searchCoverage span,.compOsHead small,.competitorEvidenceNote){
  font-size:var(--mic-type-micro)!important;
  line-height:1.55!important;
}

body[data-region] :where(th,.competitorProductTable th){
  font-size:var(--mic-type-caption)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.4!important;
  letter-spacing:var(--mic-tracking-label)!important;
}

body[data-region] :where(td,.competitorProductTable td){
  font-size:var(--mic-type-body-sm)!important;
}

/* Login and public entry — same voice, quieter marketing hierarchy */
body.mic-login,
body.mic-open{
  font-size:var(--mic-type-body);
  color:#17191d;
}

body.mic-login :where(.brand,.brandName),
body.mic-open :where(.brand,.brandName){
  font-family:var(--mic-font-display)!important;
  font-size:17px!important;
  font-weight:var(--mic-weight-semibold)!important;
  letter-spacing:-.015em!important;
}

body.mic-login :where(.mark,.logoMark),
body.mic-open :where(.mark,.logoMark){
  font-family:var(--mic-font-display)!important;
  font-weight:var(--mic-weight-bold)!important;
}

body.mic-login .statement h1,
body.mic-open h1{
  font-family:var(--mic-font-display)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.06!important;
  letter-spacing:-.042em!important;
}

body.mic-login .statement h1{
  font-size:clamp(46px,4.2vw,58px)!important;
}

body.mic-open h1{
  font-size:clamp(36px,5vw,56px)!important;
}

body.mic-login .accessHeader h2{
  font-size:38px!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.05!important;
  letter-spacing:-.038em!important;
}

body.mic-login :where(.accessHeader p,.statement>p,.field input),
body.mic-open :where(.lead,.scope strong,.detail strong){
  font-size:var(--mic-type-body)!important;
  line-height:1.68!important;
}

body.mic-login :where(.fieldLabel,.remember,.previewLink,.identityCopy,.capability span),
body.mic-open :where(.scope span,.scope small,.detail span,.securityNote){
  font-size:var(--mic-type-label)!important;
  line-height:1.5!important;
}

/* Solo-operator admin — readable density, not miniature CMS text */
body.mic-admin{
  font-size:var(--mic-type-body-sm)!important;
}

body.mic-admin :where(.brand strong,.topbar strong){
  font-size:13.5px!important;
  font-weight:var(--mic-weight-semibold)!important;
  letter-spacing:-.01em!important;
}

body.mic-admin :where(.navBtn,.btn,.role,.filter,.search,.accountRole){
  font-size:var(--mic-type-label)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.3!important;
}

body.mic-admin :where(.navGroupLabel,.eyebrow){
  font-size:var(--mic-type-micro)!important;
  font-weight:var(--mic-weight-bold)!important;
  letter-spacing:var(--mic-tracking-caps)!important;
}

body.mic-admin .opsIntro h1{
  font-size:46px!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}

body.mic-admin :where(.opsHead h1,.userWorkspaceHead h2,.insightHead h2){
  font-size:var(--mic-type-title-lg)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
}

body.mic-admin :where(.head h2,.publishPanel .head h2,.workflowPanel .head h2){
  font-size:var(--mic-type-title)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.18!important;
  letter-spacing:var(--mic-tracking-title)!important;
}

body.mic-admin :where(.moduleTop h3,.task h3,.risk h3,.drawerSection h3,.insightSectionHead h3){
  font-size:15px!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.35!important;
}

body.mic-admin :where(
  .opsIntro p,.opsPriority p,.head p,.task p,.risk p,.drawer p,
  .moduleLine,.mobileRow span,.userWorkspaceHead p,.insightHead p
){
  font-size:var(--mic-type-body-sm)!important;
  font-weight:var(--mic-weight-regular)!important;
  line-height:1.65!important;
}

body.mic-admin :where(
  .topbar span,.ownerLine,.moduleFoot,.resultLine,.field span,.fieldHint,
  .permissionNote,.userIdentity span,.userCell span,.usageRow span,
  .rankItem span,.auditWhen,.auditMain span,.auditTarget span,.activityItem time
){
  font-size:var(--mic-type-caption)!important;
  line-height:1.5!important;
}

body.mic-admin :where(th,td){
  font-size:var(--mic-type-label)!important;
  line-height:1.45!important;
}

body.mic-admin td strong{
  font-size:var(--mic-type-body-sm)!important;
  font-weight:var(--mic-weight-semibold)!important;
}

@media(max-width:720px){
  :root{
    --mic-type-body-sm:14px;
    --mic-type-body:15px;
    --mic-type-body-lg:16px;
    --mic-type-title-sm:18px;
    --mic-type-title:22px;
    --mic-type-title-lg:30px;
    --mic-type-display:clamp(36px,10vw,44px);
  }

  body[data-region] :where(.brand,.brand span:last-child){
    font-size:12.5px!important;
  }

  body[data-region] .mark{
    font-size:11.5px!important;
  }

  body[data-region] :where(
    .nav a,.moreTrigger,.morePanel a,.regionTrigger,.regionOption,
    .quickSearch,.profileTrigger,.filter,.casefilter,.rangeBtn,.compOsTab
  ){
    font-size:12.5px!important;
  }

  body[data-region] :where(.head h2,.caseLibraryTop h2){
    font-size:30px!important;
  }

  body[data-region] :where(
    .detailhero h2,.competitorBriefTitle h2,.intelTitle,
    .oiDetailHero h1,.caseDetailHero h1,.eventHandbookHero h1
  ){
    font-size:30px!important;
    line-height:1.12!important;
  }

  body[data-region] :where(input,select,textarea),
  body.mic-login :where(input,select,textarea),
  body.mic-open :where(input,select,textarea),
  body.mic-admin :where(input,select,textarea){
    font-size:16px!important;
  }

  body.mic-login .accessHeader h2{
    font-size:clamp(28px,7.6vw,32px)!important;
    line-height:1.08!important;
  }

  body.mic-open h1{
    font-size:clamp(30px,8.2vw,36px)!important;
  }

  body.mic-admin .opsIntro h1{
    font-size:34px!important;
    line-height:1.08!important;
  }

  body.mic-admin :where(.opsHead h1,.userWorkspaceHead h2,.insightHead h2){
    font-size:28px!important;
  }
}

/* Mobile overlay controls: preserve a true circle across shared button rules. */
@media(max-width:820px){
  :is(body[data-region],body.mic-admin) button:is(
    .close,.drawerClose,.mediaClose,.searchDrawerClose,.aotoIdentityClose,.aotoShareClose,
    .emModuleClose,.emShareClose,[data-em-material-close],[data-case-lightbox-close]
  ){
    display:grid!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    flex:0 0 40px!important;
    place-items:center!important;
    padding:0!important;
    border-radius:50%!important;
    aspect-ratio:1/1!important;
    line-height:1!important;
    box-sizing:border-box!important;
  }
}

/*
 * V1.5.1 strict convergence layer
 *
 * This is the final typography contract. Legacy module styles may keep their
 * layout declarations, but they may no longer create independent font voices.
 * The order below is intentional: baseline -> text -> controls -> headings ->
 * metadata -> data emphasis -> route-specific exceptions.
 */

body[data-region] :where(*),
body.mic-login :where(*),
body.mic-open :where(*),
body.mic-admin :where(*){
  font-synthesis:none;
}

body[data-region] :where(
  main,section,article,aside,nav,header,footer,div,span,p,ul,ol,li,dl,dt,dd,
  table,thead,tbody,tfoot,tr,th,td,figure,figcaption,details,summary,
  a,button,label,input,select,textarea,small,time,em,strong,b
),
body.mic-login :where(
  main,section,article,aside,nav,header,footer,div,span,p,ul,ol,li,
  a,button,label,input,select,textarea,small,time,em,strong,b
),
body.mic-open :where(
  main,section,article,aside,nav,header,footer,div,span,p,ul,ol,li,
  a,button,label,input,select,textarea,small,time,em,strong,b
),
body.mic-admin :where(
  main,section,article,aside,nav,header,footer,div,span,p,ul,ol,li,dl,dt,dd,
  table,thead,tbody,tfoot,tr,th,td,details,summary,
  a,button,label,input,select,textarea,small,time,em,strong,b
){
  font-family:var(--mic-font-text)!important;
}

/* Default reading voice. Text-bearing children inherit an explicit regular
   weight instead of retaining arbitrary 760–950 legacy values. */
body[data-region] :where(
  p,li,dd,figcaption,
  .lead,.homeLine,.chinaNote,.support,.versionline,.archivebox,
  .caseSectionIntro,.caseValueCard span,.caseInsightCard p,.caseFactItem b,
  .casePreviewPoint span,.solutionCore span,.sideActionList li,
  .competitorTimeFact,.competitorTimeAnalysis span,
  [class*="Description"],[class*="description"],[class*="Summary"],[class*="summary"]
),
body.mic-login :where(p,.identityCopy,.remember,.previewLink),
body.mic-open :where(p,.securityNote),
body.mic-admin :where(p,li,dd,.moduleLine,.resultLine,.permissionNote){
  font-weight:var(--mic-weight-regular)!important;
}

body[data-region] :where(
  main p,main li,.drawer p,.drawer li,.sidebox p,.sidebox li,
  .caseValueCard span,.caseInsightCard p,.solutionCore span,
  .competitorTimeFact,.competitorTimeAnalysis span,
  .oiIndustryCard p,.eventMarketingCard p,.jpcard p
){
  font-size:var(--mic-type-body-sm)!important;
  line-height:var(--mic-leading-body)!important;
  letter-spacing:0!important;
}

/* Controls are one compact, readable voice. `font:inherit` in legacy layers
   must not turn tabs or share actions into body-size regular text. */
body[data-region] :where(
  button,[role="button"],summary,
  .filter,.pill,.tag,.chip,.sourcechip,.casefilter,.rangeBtn,
  .nav a,.moreTrigger,.morePanel a,.regionTrigger,.regionOption,
  .quickSearch,.profileTrigger,.aotoShareTrigger,.aotoCardShare,
  .caseAnchorNav button,.caseCardFoot a,.linkrow a,.homeCta,.heroCta,
  .compOsTab,.competitorTimeSource,.sideSourceCard a
),
body[data-region] :where(
  button,[role="button"],summary,
  .filter,.pill,.tag,.chip,.sourcechip,.casefilter,.rangeBtn,
  .nav a,.moreTrigger,.morePanel a,.regionTrigger,.regionOption,
  .quickSearch,.profileTrigger,.aotoShareTrigger,.aotoCardShare,
  .caseAnchorNav button,.caseCardFoot a,.linkrow a,.homeCta,.heroCta,
  .compOsTab,.competitorTimeSource,.sideSourceCard a
) :where(*),
body.mic-login :where(button,[role="button"],label,.previewLink),
body.mic-open :where(button,[role="button"],a),
body.mic-admin :where(button,[role="button"],summary,.navBtn,.btn,.filter,.role){
  font-size:var(--mic-type-label)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:var(--mic-leading-ui)!important;
  letter-spacing:0!important;
}

/* Heading scale. Route-specific display titles below may enlarge h1/h2, but
   the family, weight and rhythm remain shared. */
body[data-region] :where(h1,h2,h3,h4,h5,h6),
body.mic-login :where(h1,h2,h3,h4,h5,h6),
body.mic-open :where(h1,h2,h3,h4,h5,h6),
body.mic-admin :where(h1,h2,h3,h4,h5,h6){
  font-family:var(--mic-font-display)!important;
  text-wrap:balance;
}

body[data-region] :where(h1,h2),
body[data-region] :where(h1,h2) :where(*),
body.mic-login :where(h1,h2),
body.mic-login :where(h1,h2) :where(*),
body.mic-open :where(h1,h2),
body.mic-open :where(h1,h2) :where(*),
body.mic-admin :where(h1,h2),
body.mic-admin :where(h1,h2) :where(*){
  font-weight:var(--mic-weight-bold)!important;
}

body[data-region] :where(h3,h4,h5,h6),
body[data-region] :where(h3,h4,h5,h6) :where(*),
body.mic-login :where(h3,h4,h5,h6),
body.mic-login :where(h3,h4,h5,h6) :where(*),
body.mic-open :where(h3,h4,h5,h6),
body.mic-open :where(h3,h4,h5,h6) :where(*),
body.mic-admin :where(h3,h4,h5,h6),
body.mic-admin :where(h3,h4,h5,h6) :where(*){
  font-weight:var(--mic-weight-semibold)!important;
}

body[data-region] :where(h3){
  font-size:var(--mic-type-title-sm)!important;
  line-height:1.28!important;
  letter-spacing:-.014em!important;
}

body[data-region] :where(h4,h5,h6){
  font-size:var(--mic-type-body)!important;
  line-height:1.35!important;
  letter-spacing:-.008em!important;
}

/* Strong text is emphasis, not another display style. */
body[data-region] :where(strong,b),
body.mic-login :where(strong,b),
body.mic-open :where(strong,b),
body.mic-admin :where(strong,b){
  font-weight:var(--mic-weight-semibold)!important;
}

/* Labels and metadata. No business conclusion may be rendered as micro text. */
body[data-region] :where(
  .meta,.period,.moduleUpdateMeta,.caseCardMeta,.marketReportMeta,
  .competitorActionFooter,.competitorTimeMeta,.competitorBriefMeta,
  .caseFactItem b,.casePreviewPoint b,.caseCardFoot,.linkrow,
  .sideEvidenceQuick span,.sourceMini details a,.sourceMini details span,
  [class*="Meta"],[class*="meta"],[class*="Caption"],[class*="caption"]
),
body.mic-admin :where(
  .topbar span,.ownerLine,.moduleFoot,.fieldHint,.permissionNote,
  .userIdentity span,.userCell span,.usageRow span,.auditWhen,
  .auditMain span,.auditTarget span,.activityItem time
),
body.mic-login :where(.fieldLabel,.remember,.previewLink,.identityCopy,.capability span),
body.mic-open :where(.scope span,.scope small,.detail span,.securityNote){
  font-size:var(--mic-type-caption)!important;
  font-weight:var(--mic-weight-regular)!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}

body[data-region] :where(
  .eyebrow,[class*="Kicker"],[class*="kicker"],
  .drawerSectionTitle,.searchCoverage span,.compOsHead small,
  .competitorEvidenceNote,[class*="Eyebrow"],[class*="eyebrow"]
){
  font-size:var(--mic-type-micro)!important;
  font-weight:var(--mic-weight-bold)!important;
  line-height:1.35!important;
  letter-spacing:var(--mic-tracking-caps)!important;
}

/* Tags are captions with semibold emphasis, regardless of their module. */
body[data-region] :where(
  .pill,.tag,.chip,.sourcechip,.signalrole,.compState,.compActionType,
  [class*="Badge"],[class*="badge"],[class*="Pill"],[class*="pill"]
),
body[data-region] :where(
  .pill,.tag,.chip,.sourcechip,.signalrole,.compState,.compActionType,
  [class*="Badge"],[class*="badge"],[class*="Pill"],[class*="pill"]
) :where(*){
  font-size:var(--mic-type-caption)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}

/* Numeric and evidence emphasis may use Bold, never 800–950. */
body[data-region] :where(
  .assetstat b,.factrow b,.competitorTimelineStat b,.jpOpportunityRank b,
  .jpOpsKpi b,.caseScoreRow b,.caseEvidenceStat b,.sideEvidenceQuick b,
  [class*="Stat"] b,[class*="stat"] b,[class*="Metric"] b,[class*="metric"] b,
  [class*="Kpi"] b,[class*="KPI"] b
){
  font-weight:var(--mic-weight-bold)!important;
}

body[data-region] :where(th),
body.mic-admin :where(th){
  font-size:var(--mic-type-caption)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:1.4!important;
  letter-spacing:var(--mic-tracking-label)!important;
}

body[data-region] :where(td),
body.mic-admin :where(td){
  font-size:var(--mic-type-body-sm)!important;
  font-weight:var(--mic-weight-regular)!important;
  line-height:1.5!important;
}

/* Case details: explicitly repair the mixed regular/ultrabold controls and
   fact labels that exposed the legacy cascade. */
body[data-region] .caseDetailHero :where(.caseAnchorNav button,.aotoShareTrigger),
body[data-region] .caseDetailHero :where(.caseAnchorNav button,.aotoShareTrigger) :where(*){
  font-size:var(--mic-type-label)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:var(--mic-leading-ui)!important;
}

body[data-region] .caseDetailHero .caseFactItem b{
  font-size:var(--mic-type-caption)!important;
  font-weight:var(--mic-weight-regular)!important;
}

body[data-region] .caseDetailHero .caseFactItem span,
body[data-region] .caseDetailHero .caseValueCard b,
body[data-region] .caseDetailHero .caseInsightCard strong,
body[data-region] .techDetails summary,
body[data-region] .sidebox h3{
  font-size:var(--mic-type-label)!important;
  font-weight:var(--mic-weight-semibold)!important;
  line-height:var(--mic-leading-ui)!important;
}

/* Long-form report, event, Japan, opportunity and competitor modules inherit
   the same semantic hierarchy instead of their historical local weights. */
body[data-region] :where(
  [class^="mrV"] h1,[class^="mrV"] h2,
  [class*="Report"] h1,[class*="Report"] h2,
  .eventHandbookHero h1,.eventMarketingTitle h1,
  .japanHeroCopy h1,.oiDetailHero h1,.competitorBriefTitle h2
){
  font-family:var(--mic-font-display)!important;
  font-weight:var(--mic-weight-bold)!important;
}

body[data-region] :where(
  [class^="mrV"] h3,[class^="mrV"] h4,
  [class*="Report"] h3,[class*="Report"] h4,
  [class^="jp"] h2,[class^="jp"] h3,[class^="jp"] h4,
  [class^="oi"] h2,[class^="oi"] h3,[class^="oi"] h4,
  [class^="competitor"] h2,[class^="competitor"] h3,[class^="competitor"] h4,
  [class^="event"] h2,[class^="event"] h3,[class^="event"] h4
){
  font-family:var(--mic-font-display)!important;
  font-weight:var(--mic-weight-semibold)!important;
}

body[data-region] :where(
  [class^="mrV"] button,[class^="mrV"] a,
  [class^="jp"] button,[class^="jp"] summary,
  [class^="oi"] button,[class^="oi"] summary,
  [class^="competitor"] button,[class^="competitor"] summary,
  [class^="event"] button,[class^="event"] summary
),
body[data-region] :where(
  [class^="mrV"] button,[class^="mrV"] a,
  [class^="jp"] button,[class^="jp"] summary,
  [class^="oi"] button,[class^="oi"] summary,
  [class^="competitor"] button,[class^="competitor"] summary,
  [class^="event"] button,[class^="event"] summary
) :where(*){
  font-weight:var(--mic-weight-semibold)!important;
}

@media(max-width:720px){
  body[data-region] :where(
    main p,main li,.drawer p,.drawer li,.sidebox p,.sidebox li,
    .caseValueCard span,.caseInsightCard p,.solutionCore span,
    .competitorTimeFact,.competitorTimeAnalysis span,
    .oiIndustryCard p,.eventMarketingCard p,.jpcard p
  ),
  body.mic-admin :where(p,li,dd,.moduleLine,.resultLine,.permissionNote){
    font-size:13.5px!important;
    line-height:1.68!important;
  }

  body[data-region] :where(
    button,[role="button"],summary,.filter,.pill,.tag,.chip,.sourcechip,
    .casefilter,.rangeBtn,.caseAnchorNav button,.aotoShareTrigger
  ){
    font-size:12.5px!important;
  }

  body[data-region] :where(
    .meta,.period,.moduleUpdateMeta,.caseCardMeta,.marketReportMeta,
    .competitorActionFooter,.competitorTimeMeta,.competitorBriefMeta
  ){
    font-size:11.5px!important;
  }
}
