/* Loaded only outside homepage, Math and Foundations. See editorial review. */
@layer design {
  html body main h1 { font-size:clamp(2.2rem,4.8vw,4.25rem) !important; line-height:1.08 !important; overflow-wrap:break-word; }
  html body main :is(.publication,.doc) h1 { font-size:clamp(2rem,3.8vw,3.25rem) !important; line-height:1.16 !important; }
  html body main .shell>article>header h1 { font-size:clamp(2rem,3.8vw,3.25rem) !important; }
  html body main .limits-hero h1 { font-size:clamp(2rem,4.2vw,3.4rem) !important; }
  html body main .foundation-heading h2,
  html body main .foundation-final h2,
  html body main .solution-final h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.15; }
  .editorial-product .solution-hero { padding-block:clamp(3.3rem,7vw,6rem) clamp(2.5rem,5vw,4rem); }
  .editorial-product .solution-lead { max-width:42rem; font-size:clamp(1rem,1.4vw,1.15rem); }
  .editorial-page-nav { display:flex; flex-wrap:wrap; gap:1rem 1.8rem; padding-block:1.6rem; font-size:.88rem; }
  .editorial-page-nav>span { flex-basis:100%; font-weight:600; color:var(--hp-ink); }
  .editorial-page-nav a,.editorial-next a,.catalog-jump a { color:#cfd6ff; text-underline-offset:.25em; }
  .editorial-product .editorial-section { padding-block:clamp(3rem,6vw,5rem); background:var(--sol-bg); }
  .editorial-product .editorial-section:nth-of-type(even) { background:var(--sol-deep); }
  .editorial-heading { max-width:48rem; margin-bottom:2rem; }
  html body main .editorial-heading h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.13; letter-spacing:-.025em; }
  .editorial-heading p { margin-top:1rem !important; max-width:42rem; }
  .editorial-table-scroll { max-width:100%; overflow-x:auto; }
  .editorial-table { width:100%; border-collapse:collapse; text-align:left; font-size:.96rem; }
  .editorial-table th,.editorial-table td { padding:1.1rem 1.2rem 1.1rem 0; border-bottom:1px solid var(--hp-line); vertical-align:top; }
  .editorial-table thead th { font:600 .8rem/1.5 var(--hp-sans); color:var(--hp-muted); background:transparent; }
  .editorial-table th[scope="row"] { width:26%; font:500 .96rem/1.6 var(--hp-sans); letter-spacing:0; text-transform:none; background:transparent; color:var(--hp-ink); }
  .editorial-table td { color:#c0c8ce; }
  .editorial-note { max-width:56rem; margin-top:1.2rem !important; font-size:.88rem; }
  .editorial-flow { display:grid; gap:0; list-style:none; padding:0; max-width:54rem; }
  .editorial-flow li { display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:1rem; padding:1.35rem 0; border-top:1px solid var(--hp-line); }
  .editorial-number { padding-top:.2rem; color:#a5b0ff; font:.85rem/1.5 var(--hp-sans); }
  html body main .editorial-flow h3 { font:600 1.08rem/1.4 var(--hp-sans); }
  .editorial-flow p { margin-top:.45rem !important; }
  .editorial-outputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2.5rem; margin:0; padding:0; list-style:none; }
  .editorial-outputs li { padding:1rem 0; border-top:1px solid var(--hp-line); }
  .editorial-disclosures { max-width:58rem; border-top:1px solid var(--hp-line); }
  .editorial-disclosures details { padding:0; border-bottom:1px solid var(--hp-line); }
  .editorial-disclosures summary { padding:1.2rem 0; cursor:pointer; color:var(--hp-ink); font-weight:600; }
  .editorial-disclosures details>div { padding:0 0 1.4rem 1.3rem; max-width:49rem; }
  .editorial-disclosures ul { margin:.9rem 0 0; }
  .editorial-next-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
  html body main .editorial-next h2 { font-size:clamp(1.6rem,2.6vw,2.1rem); }
  html body main .editorial-next h3 { font:600 1.1rem/1.4 var(--hp-sans); }
  .editorial-next ul { list-style:none; margin:1.2rem 0 0; padding:0; display:grid; gap:.8rem; }
  .editorial-next p { margin-block:.8rem 1rem !important; }
  .catalog-jump { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-bottom:2.5rem; }
  .catalog-group { margin-top:2.5rem; border:0 !important; }
  html body main .catalog-group>h3 { font:600 1.2rem/1.5 var(--hp-sans); padding-bottom:.8rem; }
  .catalog-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2.5rem; }
  .catalog-items article { padding:1.6rem 0; border-top:1px solid var(--hp-line); scroll-margin-top:6rem; }
  html body main .catalog-items h4 { font:500 1.35rem/1.3 var(--font-serif); }
  .catalog-items p { margin-block:.8rem 1rem !important; font-size:.94rem; }
  .catalog-items a { color:#cfd6ff; font-size:.85rem; }
  .limits-section-nav { max-width:var(--shell); margin:0 auto; padding:1.3rem var(--gutter); display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; border-bottom:1px solid var(--rule); font-size:.88rem; }
  .reference-index { margin:1.7rem 0; padding:1.3rem 0; border-block:1px solid var(--rule); }
  .reference-index ul { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; list-style:none; margin:0; padding:0; }
  .reference-index p { margin:0 0 .8rem; }
  .publication .reference-index { max-width:52rem; margin-inline:auto; }
  .publication-paths { max-width:var(--shell); margin:0 auto; padding:1.6rem var(--gutter); display:flex; flex-wrap:wrap; gap:.9rem 1.8rem; font-size:.9rem; }
  .editorial-context { padding:1rem 0; margin:1.4rem 0; border-block:1px solid var(--rule); }
  .editorial-context p { margin:0 0 .7rem; }
  .editorial-context a { margin-right:1.4rem; }
  :is(.editorial-product,.foundation-page) :is(a,summary):focus-visible { outline:2px solid #9ba8ff; outline-offset:5px; }
  @media(max-width:700px) {
    .editorial-next-grid,.editorial-outputs,.catalog-items { grid-template-columns:1fr; }
    .editorial-table th,.editorial-table td { padding:.9rem .7rem .9rem 0; font-size:.88rem; overflow-wrap:anywhere; }
    .editorial-table th[scope="row"] { width:28%; font-size:.88rem; }
    .editorial-page-nav { gap:.8rem 1.2rem; }
  }
  @media(max-width:600px) {
    .editorial-table,.editorial-table tbody,.editorial-table tr { display:block; }
    .editorial-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .editorial-table tr { padding:1rem 0; border-bottom:1px solid var(--hp-line); }
    .editorial-table th[scope="row"],.editorial-table td { display:block; width:100%; border:0; padding:.35rem 0; overflow-wrap:normal; }
    .editorial-table th[scope="row"] { font-size:1rem; font-weight:600; }
    .editorial-table td::before { content:attr(data-label); display:block; margin-bottom:.2rem; font-size:.75rem; font-weight:600; color:var(--hp-muted); }
  }
}
