/* Shared hierarchy for public pages. Content-specific layouts stay in their own sheets. */
:root {
  --mj-control-height:48px;
  --mj-control-radius:6px;
  --mj-panel-radius:12px;
  --mj-space-group:16px;
  --mj-space-section:40px;
  --mj-ui-surface:#f5f7fa;
  --mj-ui-border:#d5dde7;
  --mj-ui-muted:#576578;
  --mj-page-gutter:clamp(20px,5vw,64px);
}
html body.mj ::selection { background:#dbe7f6; color:#002768; }
html body.mj :is(input,textarea) { caret-color:var(--mj-navy); }
html body.mj :is(a,button,summary) { text-underline-offset:4px; }
html body.mj :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #315b92; outline-offset:3px; }
html body.mj :is(input,textarea)::placeholder { color:#626f80; opacity:1; }
html body.mj :is(button,input,select,textarea):disabled { cursor:not-allowed; }
html body.mj :is(time,td,.vi-number) { font-variant-numeric:tabular-nums; }

/* One title scale, with generous space above and a close relationship to the lead. */
html body.mj :is(.insight-hero h1,.precedent-hero h1,.vi-heading h1,.mj-cl-head h1) {
  font-family:var(--mj-font-sans); font-size:clamp(30px,2.5vw + 6px,40px);
  line-height:1.35; font-weight:700; letter-spacing:0; color:var(--mj-navy); margin:0 0 16px;
}
html body.mj :is(.insight-hero,.precedent-hero) { padding:20px 0 32px; }
html body.mj :is(.insight-hero>p:last-child,.precedent-hero p:not(.precedent-kicker),.vi-heading p) {
  font-size:17px; line-height:1.8; color:var(--mj-ui-muted); max-width:52em;
}
html body.mj :is(.news-crumb,.vi-crumb) { font-size:14px; line-height:1.6; gap:12px; color:var(--mj-ui-muted); }
html body.mj .insight-kicker { display:none; }
html body.mj :is(.news-shell,.vi),
html body.case-library-page #mj-cl .mj-wrap,
html body.mj.case-library-page main.news-shell {
  width:calc(100% - 2 * var(--mj-page-gutter)); max-width:1240px;
  margin-inline:auto; padding-inline:0;
}
html body.case-library-page #mj-cl .case-library-statistics .mj-wrap { width:100%; }

/* Section navigation uses a single baseline and active marker. */
html body.mj :is(.case-library-nav,.insight-tabs,.vi-tabs) { gap:28px; border-bottom:1px solid var(--mj-ui-border); }
html body.mj :is(.case-library-nav a,.insight-tabs a,.vi-tabs button) {
  font-size:16px; line-height:1.6; min-height:48px; padding:12px 0;
  border-bottom-width:2px; color:var(--mj-ui-muted); text-decoration:none;
}
html body.mj :is(.case-library-nav a[aria-current],.insight-tabs a[aria-current],.vi-tabs button[aria-pressed=true]) {
  color:var(--mj-navy); border-bottom-color:var(--mj-navy); font-weight:600;
}

/* Filters form one quiet work area, separate from the results beneath it. */
html body.mj :is(.insight-filters,.precedent-search) {
  padding:20px; gap:16px; background:var(--mj-ui-surface); border-radius:var(--mj-panel-radius);
}
html body.mj :is(.insight-filters,.precedent-search,.vi-fields) label {
  font-size:15px; color:var(--mj-ui-muted); line-height:1.5; gap:8px;
}
html body.mj :is(.insight-filters,.precedent-search,.vi,.mj-leadform) :is(input:not([type=checkbox]):not([type=radio]),select) {
  min-height:var(--mj-control-height); border-radius:var(--mj-control-radius);
  border-color:var(--mj-ui-border); font-size:16px; box-sizing:border-box;
}
html body.mj :is(.insight-filters,.precedent-search) button {
  height:var(--mj-control-height); border-radius:var(--mj-control-radius); padding-inline:24px;
  background:var(--mj-navy); color:#fff; font-size:16px; font-weight:500; box-shadow:none;
}
html body.mj :is(.insight-filters,.precedent-search) button:hover { background:var(--mj-navy-700); }
html body.mj :is(.insight-results,.precedent-results) { font-size:15px; margin:24px 0; }
html body.case-library-page #mj-cl .mj-cl-bar { border-bottom:0; }
html body.case-library-page #mj-cl .mj-cl-bar__inner {
  padding:18px 22px; background:var(--mj-ui-surface); border-radius:var(--mj-panel-radius); gap:8px 20px;
}
html body.case-library-page #mj-cl .mj-cl-chips button { font-size:15px; min-height:40px; }
html body.case-library-page #mj-cl .mj-cl-chips button.is-on { color:var(--mj-navy); font-weight:600; }
html body.case-library-page #mj-cl .mj-cl-body { padding-top:28px; }
html body.case-library-page #mj-cl .mj-cl-stats { border-top:0; margin-top:20px; padding-top:0; gap:12px 28px; }
html body.case-library-page #mj-cl .mj-cl-stats b { font-size:22px; }
html body.case-library-page #mj-cl .mj-cl-stats span { font-size:14px; }

/* Editorial lists and articles share type hierarchy, not marketing display sizing. */
html body.mj .insight-card h2 { font-size:21px; line-height:1.5; margin:12px 0; }
html body.mj .insight-card-content>p { font-size:16px; line-height:1.75; }
html body.mj :is(.insight-card-meta,.insight-card-foot) { font-size:14px; color:var(--mj-ui-muted); }
html body.mj :is(.news-article-header h1,.precedent-detail-head h1) {
  font-size:clamp(28px,2.3vw + 5px,38px); line-height:1.45; letter-spacing:0; text-wrap:balance;
}
html body.mj :is(.news-meta,.news-article-eyebrow) { font-size:14px; gap:10px 20px; }
html body.mj .news-lead { font-size:19px; line-height:1.85; color:#35465a; margin:22px 0 28px; }
html body.mj :is(.news-body p,.analysis-body) { font-size:18px; line-height:1.9; }
html body.mj :is(.news-body h2,.analysis-body h2) { font-size:25px; line-height:1.5; margin:36px 0 16px; }
html body.mj :is(.news-body h3,.analysis-body h3) { font-size:21px; line-height:1.5; margin:28px 0 12px; }
html body.mj :is(.news-reading-layout,.precedent-rule) { column-gap:40px; }

@media(max-width:760px) {
  html body.mj :is(.insight-filters,.precedent-search) { padding:16px; gap:12px; }
  html body.mj :is(.case-library-nav,.insight-tabs,.vi-tabs) { gap:20px; }
  html body.mj :is(.case-library-nav a,.insight-tabs a,.vi-tabs button) { font-size:15px; }
  html body.case-library-page #mj-cl .mj-cl-bar__inner { padding:14px 16px; }
  html body.mj :is(.news-body p,.analysis-body) { font-size:17px; }
  html body.mj .news-lead { font-size:18px; }
}

/* Details are optional; visitors control when examples open. */
html body.mj .mj-detail-disclosure {border:1px solid var(--mj-ui-border);border-radius:12px;background:#fff;margin:20px 0;}
html body.mj .mj-detail-disclosure>summary {padding:20px 24px;cursor:pointer;color:var(--mj-navy);font-size:18px;font-weight:600;}
html body.mj .mj-detail-disclosure[open]>summary {border-bottom:1px solid var(--mj-ui-border);}
html body.mj .mj-detail-disclosure>.mj-cb {margin:20px;}
html body.mj .mj-package-disclosure .mj-section {padding-block:24px;}
html body.mj .mj-package-disclosure .mj-wrap {width:auto;margin:0;padding:0 24px;}
html body.mj .mj-filter-clear {font-size:15px;margin:12px 0 20px;}
html body.mj .mj-cm__ev:focus-visible,html body.mj .mj-cm__criteria li:focus-visible,html body.mj .mj-cb__steps li:focus-visible {outline:2px solid #315b92;outline-offset:3px;}
@media(max-width:760px){html body.mj .mj-detail-disclosure>summary {font-size:16px;padding:16px;}html body.mj .mj-detail-disclosure>.mj-cb {margin:12px;}html body.mj .mj-package-disclosure .mj-wrap {padding:0 16px;}}

/* Assessment: one primary action; retain save and result access as secondary actions. */
.assessment-form .form-submit .submit-btn--secondary {background:#fff!important;color:var(--mj-navy,#123563)!important;border:1px solid #bdc9d9!important;box-shadow:none!important;}
.assessment-form .form-submit .submit-btn--secondary:hover {background:#f3f6fa!important;}

/* Shared header and compact AAO controls, audit fixes 2026-11-02. */
.aao-secondary-filters {width:100%;}
.aao-secondary-filters > summary,.aao-reading-help > summary {cursor:pointer;padding:12px 0;color:#183b67;font-weight:600;}
.aao-reading-help {margin:12px 0;}
.sch-form-tab {font:inherit;cursor:pointer;}
@media(max-width:760px){
  .mj-te-header .mj-search-m {display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
  .mj-brand__dot {display:none!important;}
  .mj-aao .mj-cl-chips--tag {display:flex;flex-wrap:wrap;gap:6px;}
  .mj-aao .mj-cl-chips--tag button {padding:8px 10px;font-size:13px;}
  .mj-aao .mj-cl-bar__inner {gap:12px;}
}
@media(max-width:760px){
 html body .mj-header .mj-header__inner{width:auto;max-width:none;margin:0;padding-left:16px;padding-right:16px;gap:8px}
 html body .mj-header .mj-brand{flex:1 1 auto;min-width:0;gap:8px}
 html body .mj-header .mj-brand__text--grid{width:max-content;flex:none;grid-template-columns:max-content 8px max-content;column-gap:3px}
 html body .mj-header .mj-brand__cn{font-size:clamp(12px,3.5vw,14px);letter-spacing:0}
 html body .mj-header .mj-brand__sep{font-size:14px}
 html body .mj-header .mj-search-m,html body .mj-header .mj-burger{flex:0 0 40px;width:40px;min-width:40px;padding:8px;margin:0}
}

/* Editorial repetition: one use of each illustration per results page. */
.insight-card--text .insight-card-content{border-top:2px solid #18375d;padding-top:24px}
.insight-photo-detail img{max-height:300px;object-fit:cover}
.news-reading-guide>details>summary{cursor:pointer;font-weight:600;color:#18375d;padding:12px 0}
@media(max-width:760px){.insight-photo-detail img{max-height:220px}}

/* AAO selects share a baseline; labels must never shrink into stacked characters. */
html body.mj-aao-page #mj-cl .aao-select-filters {display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center;width:100%;margin-top:20px;}
html body.mj-aao-page #mj-cl .aao-select-filters .mj-cl-year-sel {display:flex;align-items:center;gap:12px;min-width:0;margin:0;width:100%;}
html body.mj-aao-page #mj-cl .aao-select-filters label > span {flex:none;white-space:nowrap;font-size:14px;}
html body.mj-aao-page #mj-cl .aao-select-filters select {flex:1;min-width:0;width:100% !important;height:44px;min-height:44px;box-sizing:border-box;}
html body.mj-aao-page #mj-cl .mj-cl-reset {appearance:none;border:1px solid #becbda;border-radius:6px;background:#fff;color:#183b67;font:inherit;font-size:14px;line-height:1.4;padding:10px 16px;min-height:44px;cursor:pointer;}
html body.mj-aao-page #mj-cl .mj-cl-reset:hover {background:#e7edf4;}
html body.mj-aao-page #mj-cl .mj-cl-reset:focus-visible {outline:2px solid #183b67;outline-offset:3px;}
html body.mj-aao-page #mj-cl .aao-secondary-filters {margin-bottom:0;}
@media(max-width:640px){html body.mj-aao-page #mj-cl .aao-select-filters {grid-template-columns:minmax(0,1fr);gap:12px;}html body.mj-aao-page #mj-cl .aao-select-filters label > span {width:56px;}html body.mj-aao-page #mj-cl .mj-cl-count {margin-left:0;}}
