/* Xeon type system. Reference: the homepage's "From your file. To finished parts."
   Page styles still own color, layout, and the sizes of compact UI headings.
   Important declarations bridge the site's older inline heading styles. */
@font-face {
  font-family:'Xeon Outline Text';
  src:url('fonts/xeon-outline/xeon-outline-medium.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
:root {
  --xeon-font-sans:Inter,Arial,sans-serif;
  --xeon-font-mono:'Share Tech Mono',monospace;
  --xeon-display-weight:500;
  --xeon-display-tracking:-.055em;
  --xeon-display-leading:1.02;
  --xeon-title-size:clamp(36px,5.6vw,88px);
  --xeon-section-size:clamp(28px,3.6vw,52px);
  --xeon-body-size:16px;
  --xeon-body-leading:1.65;
}
body[data-xeon-type] { font-family:var(--xeon-font-sans) !important; font-weight:400; -webkit-font-smoothing:antialiased; }
body[data-xeon-type]:not([data-xeon-type="home"]) :is(h1,h2,h3,h4,h5,h6):not(:where(#main-nav *, .site-footer *, svg *)) {
  font-family:var(--xeon-font-sans) !important;
  font-weight:var(--xeon-display-weight) !important;
  font-style:normal;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :is(h1,h2):not(:where(#main-nav *, .site-footer *, svg *)) {
  letter-spacing:var(--xeon-display-tracking) !important;
  line-height:var(--xeon-display-leading) !important;
  text-transform:uppercase !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]):not([data-xeon-type="app"]) h1 {
  font-size:var(--xeon-title-size) !important;
  max-width:100%;
  overflow-wrap:break-word;
}
body[data-xeon-type="article"] { --xeon-title-size:clamp(34px,4.4vw,64px); }
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.hero-sub,.hero-desc,.hero-description,.hero-dek,.ea-dek,.guide-subtitle) {
  font-family:var(--xeon-font-sans) !important;
  font-size:var(--xeon-body-size) !important;
  font-weight:400 !important;
  line-height:var(--xeon-body-leading) !important;
  letter-spacing:0 !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.hero-eyebrow,.section-eyebrow,.guide-eyebrow,.ea-kicker,.legal-eyebrow) {
  font-family:var(--xeon-font-mono) !important;
  font-weight:400 !important;
  letter-spacing:.12em;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :is(h3,h4,h5,h6):not(:where(#main-nav *, .site-footer *, svg *)) {
  letter-spacing:-.025em !important;
  line-height:1.25 !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :where([class$="-title"],[class*="-title "],[class$="-heading"],[class*="-heading "]):not(:where(#main-nav *, .site-footer *, svg *)) {
  font-family:var(--xeon-font-sans) !important;
  font-weight:500 !important;
}
/* Headings implemented as spans or divs on older service and material pages. */
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.solid-heading,.outline-heading,.hero-title,.mat-hero-title,.section-title,.calculator-photo-title) {
  font-family:var(--xeon-font-sans) !important;
  font-weight:var(--xeon-display-weight) !important;
  letter-spacing:var(--xeon-display-tracking) !important;
  line-height:var(--xeon-display-leading) !important;
  text-transform:uppercase !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.solid-heading,.outline-heading) {
  font-size:var(--xeon-section-size) !important;
  overflow-wrap:break-word;
}
body[data-xeon-type]:not([data-xeon-type="home"]) h1 :is(.solid-heading,.outline-heading) {
  font-size:inherit !important;
  margin-top:0 !important;
  margin-bottom:.12em !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) .calculator-photo-title { font-size:var(--xeon-title-size) !important; }
/* Use the homepage's merged glyph contours for outlined display lettering. */
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.outline-heading,.hero-title em,.mat-hero-title em) {
  font-family:'Xeon Outline Text',var(--xeon-font-sans) !important;
  font-weight:500 !important;
  font-style:normal !important;
  letter-spacing:0 !important;
  line-height:1.12 !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) h1 .outline-heading {
  opacity:1 !important;
  color:transparent !important;
  -webkit-text-stroke:1px currentColor;
  -webkit-text-stroke-color:rgba(255,255,255,.9) !important;
  -webkit-text-stroke-width:1px !important;
}
body[data-xeon-type]:not([data-xeon-type="home"]) :is(h1,h2) :is(em,strong,b):not(:where(.outline-heading,svg *)) { font-weight:inherit !important; font-style:normal; }
body[data-xeon-type]:not([data-xeon-type="home"]) :is(.card-title,.cap-card-title,.mat-card-title,.feature-title,.conv-out-big,.hero-stat-num,.spec-val,.stat-num) {
  font-family:var(--xeon-font-sans) !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
}
body[data-xeon-type] :is(button,input,select,textarea):not(:where(#main-nav *, .site-footer *)) { font-family:var(--xeon-font-sans) !important; }
body[data-xeon-type] :is(button,.btn-solid,.btn-outline,.btn-accent,.hero-btn-primary,.hero-btn-ghost,.subnav-btn):not(:where(#main-nav *, .site-footer *)) { font-weight:500 !important; }
/* Dense application panels use the same face and weight at their existing UI scale. */
body[data-xeon-type="app"] :is(h1,h2):not(.calculator-photo-title) { text-transform:none !important; letter-spacing:-.025em !important; line-height:1.2 !important; }
@media(max-width:700px) {
  :root { --xeon-title-size:clamp(30px,7.8vw,52px); --xeon-section-size:clamp(26px,6.6vw,38px); --xeon-display-tracking:-.05em; --xeon-body-size:14px; }
  body[data-xeon-type="article"] { --xeon-title-size:clamp(30px,7.4vw,44px); }
  body[data-xeon-type]:not([data-xeon-type="home"]) :is(.outline-heading,.hero-title em,.mat-hero-title em) { -webkit-text-stroke-width:.8px; }
}
@media print {
  body[data-xeon-type] { --xeon-title-size:32px; --xeon-section-size:24px; }
  body[data-xeon-type="article"] { --xeon-title-size:32px; }
}
@media(forced-colors:active) {
  body[data-xeon-type]:not([data-xeon-type="home"]) :is(.outline-heading,.hero-title em,.mat-hero-title em) { color:CanvasText !important; -webkit-text-stroke:0 !important; }
}
