@font-face{font-family:"Outfit";src:url(fonts/outfit-vf.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Sora";src:url(fonts/sora-vf.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}

/* fixcancer-layout.css — punchy teal + coral. Linked last. Visual only. */
:root {
  --bg: #FFFFFF !important;
  --bg-soft: #F0FDFA !important;
  --ink: #111111 !important;
  --ink-soft: #111111 !important;
  --ink-mid: #3F3F46 !important;
  --accent: #0EA5A4 !important;
  --accent-bright: #0EA5A4 !important;
  --accent-deep: #0F766E !important;
  --accent-ink: #0F766E !important;
  --warn: #FF5A3C !important;
}

body {
  font-size: 16.5px;
  line-height: 1.6;
  letter-spacing: 0;
  color: #111111 !important;
  background: #FFFFFF !important;
}

h1, h2, h3, h4 { color: #111111; }

h1 em, h2 em, h3 em, .hero h1 em {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

.eyebrow, .section-eyebrow, .lbl-eyebrow, [class*="section-eyebrow"] {
  color: #0F766E !important;
}

a { color: #0F766E; }
p a, li a { color: #0F766E; text-decoration: underline; text-underline-offset: 2px; }
.nav a, .cta-btn, a.cta-btn { text-decoration: none; }

.cta-btn, a.cta-btn, .cta-btn:not(.ghost), a.cta-btn:not(.ghost) {
  background: #FF5A3C !important;
  color: #111111 !important;
  border-color: #FF5A3C !important;
}
.cta-btn:hover, a.cta-btn:hover, .cta-btn:not(.ghost):hover {
  background: #E11D2E !important;
  color: #111111 !important;
}
.cta-btn.ghost, .hero .cta-btn.ghost {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
}

/* ------------------------------------------------------------------
   Tools restore (2026-08-20). Visibility + 44px tap only.
   Does not add products, calculators, or copy. Does not hide tools.
   ------------------------------------------------------------------ */

/* Skip-links: overflow-x:hidden on html/body can clip left:-9999px
   even after :focus { left:0 }. Pin focused skip to the viewport. */
.skip-to-content:focus,
.skip-to-content:focus-visible,
a.skip-to-content:focus,
.skip:focus,
.skip:focus-visible,
.skip-link:focus,
.skip-link:focus-visible,
a.skip-link:focus {
  position: fixed !important;
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  min-width: 44px;
  min-height: 44px;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center;
  z-index: 2147483646 !important;
}

/* Accessibility toolbar injected by enhance.js */
.enh-bar,
.enh-panel,
.enh-lang {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.enh-btn,
.enh-toggle,
.enh-step,
.enh-reset {
  min-width: 44px;
  min-height: 44px;
}

/* Existing CTAs / form controls / downloads */
.nav-cta,
.btn,
a.btn,
.btn-pri,
a.btn-pri,
.btn-sec,
button.send,
#inquire button.send,
#inquire input,
#inquire select,
.dl .btn,
.dl a.btn,
a[download] {
  min-height: 44px;
}

/* Social chips already used as tap tools */
.chip {
  min-width: 44px;
  min-height: 44px;
}

/* Glossary A-Z jump filters */
.index a,
nav.az a,
nav.index a {
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
}

/* Coverage search on the record */
.cc-search,
input.cc-search,
input[type="search"] {
  min-height: 44px;
  box-sizing: border-box;
}

/* Record / shared site-search modal (markup already in the tree) */
#site-search-modal {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.85);
  z-index: 10000;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 6rem 1rem 1rem;
}
#site-search-modal.open { display: flex !important; }
#site-search-modal-inner {
  background: #fff;
  max-width: 720px;
  width: 100%;
  border-radius: 14px;
  padding: 1.5rem;
  max-height: 75vh;
  overflow-y: auto;
}
#site-search-close {
  min-width: 44px;
  min-height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  float: right;
  font-size: 1.4rem;
}

#site-tools-bar {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}
#site-tools-bar .stb-btn,
.stb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  min-width: 44px;
  min-height: 44px;
  background: #0A0A0A;
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  font-size: 1.1rem;
  position: relative;
}
.stb-btn[data-label]::after {
  content: attr(data-label);
  position: absolute;
  right: 56px;
  white-space: nowrap;
  background: #0A0A0A;
  color: #fff;
  padding: 0.45rem 0.8rem;
  border-radius: 6px;
  font-size: 0.85rem;
  opacity: 0;
  pointer-events: none;
}
.stb-btn:hover::after,
.stb-btn:focus::after { opacity: 0.98; }

#google_translate_widget {
  position: fixed;
  bottom: 1rem;
  right: 5rem;
  z-index: 9998;
  background: #fff;
  padding: 0.4rem 0.6rem;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  display: none;
}
#google_translate_widget.open { display: block !important; }

@media print {
  #site-tools-bar,
  #site-search-modal,
  #google_translate_widget,
  .enh-bar,
  .enh-panel,
  .enh-lang { display: none !important; }
}


/* Type: Outfit display + Sora body. Teal + coral. Visual only. */
h1, h2, h3, h4, h5, h6, .brand, .brand-mark, .brand-mark span, .hero h1 {
  font-family: "Outfit", "Sora", sans-serif !important;
}
body, p, li, .lede, .nav, .nav a {
  font-family: "Sora", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.brand, .brand-mark, .brand-mark span {
  letter-spacing: -0.03em;
  font-weight: 650;
}
.brand-mark em { color: #FF5A3C; font-style: normal; }

section, .sec, .hero {
  padding-top: clamp(3rem, 6vw, 6rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
}
.lede, .hero p, p.lede { max-width: 65ch; }

html, body { overflow-x: hidden; }
img, svg, video { max-width: 100%; }

@media (max-width: 640px) {
  body { font-size: 16px; line-height: 1.55; }
  html, body { overflow-x: hidden; }
  h1, .hero h1 { font-size: 2rem !important; line-height: 1.15; }
  .wrap, .nav-in, .hero, .site-header-inner, header {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .nav, .nav-in, .site-header-inner, .header-actions {
    flex-wrap: wrap !important;
  }
  .nav a, .nav-links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .btn, a.btn, .cta-btn, a.cta-btn, main .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }
  img, video { max-width: 100%; height: auto; }
}


/* ------------------------------------------------------------------
   2026-08-20 cleanup: type hierarchy, measure, rhythm, modern paper,
   fine print, mobile. Teal + coral. Last block.
   ------------------------------------------------------------------ */

html, body {
  background: #FFFFFF !important;
  color: #111111 !important;
  overflow-x: hidden;
}
body {
  font-family: "Sora", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16.5px;
  line-height: 1.6;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.hero h1, .brand, .brand-mark, .brand-mark span, .section-title {
  font-family: "Outfit", "Sora", sans-serif !important;
  color: #111111 !important;
  text-wrap: balance;
}
h1, .hero h1 {
  font-size: clamp(2.05rem, 4.8vw, 3.2rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.028em;
  font-weight: 650;
  margin: 0 0 0.7em;
}
h2, .section-title {
  font-size: clamp(1.35rem, 2.6vw, 1.9rem) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em;
  font-weight: 650;
  margin: 1.5em 0 0.5em;
}
h3 {
  font-size: 1.12rem !important;
  line-height: 1.3 !important;
  font-weight: 650;
  margin: 1.15em 0 0.4em;
}

p, .lede, .lead, article p, main p, .hero p, dd {
  max-width: 66ch;
}
p, article p, main p, .lede, .lead, li { margin-bottom: 1.1em; }

ul, ol { padding-left: 1.45em; margin: 0 0 1.2em; }
li { padding-left: 0.2em; margin-bottom: 0.5em; max-width: 66ch; }

blockquote {
  max-width: 58ch;
  margin: 1.7em auto;
  padding: 0.15em 0 0.15em 1.15em;
  border-left: 3px solid #0EA5A4;
  font-family: "Outfit", "Sora", sans-serif !important;
  font-size: 1.12rem;
  line-height: 1.45;
  color: #111111;
  background: none !important;
}

.hero, .phero, section.hero {
  background: #FFFFFF !important;
  background-image: none !important;
}
section.alt, .sec.alt, .related { background: #F0FDFA !important; }
.site-header, header.site-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E5E5E5;
}

/* Translate bar: teal, not navy/gold museum */
#cluster-translate-bar {
  background: #0F766E !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid #0D9488 !important;
}
#cluster-translate-bar span { color: #CCFBF1 !important; }

.link-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: -2px;
  margin-right: 0.3em;
}

/* Fine print */
footer .disclaimer,
footer [data-legal],
footer [data-legal] p,
footer [data-legal] a,
footer [data-legal] div,
aside[data-trust-layer],
aside[data-trust-layer] p,
aside[data-trust-layer] li,
aside[data-trust-layer] div,
#dallas-clock,
footer > p,
footer .legal,
.ah-identity,
p.disclaimer {
  text-align: center !important;
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em;
  font-weight: 400;
  max-width: 68ch;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #6B6B6B !important;
}
footer [data-legal],
aside[data-trust-layer],
footer .disclaimer,
p.disclaimer {
  padding: 1.1rem 20px 1.4rem !important;
}
footer [data-legal] a,
aside[data-trust-layer] a,
.ah-identity a,
footer > p a {
  color: inherit !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-inner,
.footer-inner a,
.footer-inner p,
.footer-inner h2,
.footer-inner h3,
.footer-inner h4 {
  font-size: revert;
  max-width: none;
  text-align: initial;
}

#cluster-skip-link:focus,
#cluster-skip-link:focus-visible,
.skip-link:focus,
.skip-link:focus-visible {
  position: fixed !important;
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  z-index: 2147483646 !important;
}
#cluster-translate-bar,
.translate-host,
#google_translate_element,
#google_translate_widget {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  body { font-size: 16px !important; line-height: 1.55; }
  h1, .hero h1 { font-size: 2rem !important; line-height: 1.15 !important; }
  h2 { font-size: 1.35rem !important; }
  .wrap, .nav-in, .hero, .site-header-inner, header, main, footer, .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .hero, .phero { padding-top: clamp(3rem, 8vw, 4.5rem) !important; }
  .nav, .nav-in, .site-header-inner, .header-actions, .hero-cta {
    flex-wrap: wrap !important;
  }
  .nav a, .nav-links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .btn, a.btn, .cta-btn, a.cta-btn, main .btn {
    min-height: 44px;
    box-sizing: border-box;
  }
  .hero-cta { flex-direction: column; width: 100%; }
  .hero-cta .cta-btn, .hero-cta a { width: 100%; justify-content: center; }
  img, video { max-width: 100%; height: auto; }
  .hero-video { aspect-ratio: 16/9 !important; max-height: 42vh !important; }
}

/* ==== 2026-08-20 modern bg + type + fine print ====
   Visual only. Solid paper / light wash. Type hierarchy + 62–68ch measure. Body 16–16.5px / lh 1.55–1.6.
   Fine print 0.6875rem / 1.4 / centered. Linked last so these win. */

:root {
  --paper: #FFFFFF !important;
  --fine: rgba(17, 17, 17, 0.55) !important;
  --measure: 68ch;
}


html, body {
  background-color: #FFFFFF !important;
  background-image: none !important;
}
#literature {
  background: #F0FDFA !important;
  color: #111111 !important;
}
#literature h1, #literature h2, #literature h3,
#literature p, #literature li, #literature a {
  color: #111111 !important;
}
#literature a { text-decoration: underline; }



/* ----- Body rhythm (uniform across home + inner) ----- */
html body {
  font-size: 16.5px !important;
  line-height: 1.58 !important;
}
html body a:not(.btn):not(.cta):not(.cta-btn):not(.nl):not(.nav-links a):not(.brand) {
  font-size: inherit;
}
/* ----- Type hierarchy (home + inner pages share the system) ----- */
h1, .cover-title, .lb-title {
  text-wrap: balance;
  line-height: 1.12;
}
h2, .block h2, .sec-title, .section-title {
  text-wrap: balance;
  line-height: 1.18;
  margin-top: 1.65em;
  margin-bottom: 0.48em;
}
h3 {
  text-wrap: balance;
  line-height: 1.22;
  margin-top: 1.3em;
  margin-bottom: 0.38em;
}
h1 + p, h2 + p, h3 + p,
h1 + .lede, h2 + .lede, h3 + .lede {
  margin-top: 0.2em;
}

/* Inner pages: same faces, calmer scale, not cramped */
body > .wrap > h1,
main > .wrap > h1,
main > h1:first-child,
body > .wrap h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.14;
  margin: 0.15em 0 0.4em;
  max-width: 22ch;
}
body > .wrap > h2,
main > .wrap > h2,
body > .wrap h2 {
  font-size: clamp(1.18rem, 2.2vw, 1.5rem);
  margin-top: 1.7em;
  margin-bottom: 0.45em;
}
body > .wrap > h3,
main > .wrap > h3,
body > .wrap h3 {
  font-size: 1.05rem;
  margin-top: 1.3em;
}

body > .wrap {
  max-width: 44rem;
  margin-inline: auto;
  padding: clamp(2.6rem, 5.5vw, 4.8rem) 1.25rem 3rem;
}
main > .wrap {
  padding-block: clamp(0.4rem, 2vw, 1.2rem);
}

/* Body measure ~60–68ch, paragraph air */
main p, article p, .wrap > p, .col-wide p, .col-narrow p,
.block p, .lede, p.lede, p.body, dd {
  max-width: 68ch;
}
main p, article p, .wrap > p, .col-wide p, .col-narrow p,
.block p.body, p.body {
  margin: 0 0 1.08em;
  line-height: 1.6;
}
.sub, p.sub {
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0 0 1.35em;
  color: var(--fine);
  max-width: 68ch;
}
a.back {
  display: inline-block;
  margin-bottom: 1.25rem;
  font-size: 0.92rem;
}

/* Lists: hanging indent (outside markers, wrap under text) */
main ul, main ol, article ul, article ol, .wrap ul, .wrap ol,
.col-wide ul, .col-narrow ul {
  max-width: 68ch;
  padding-left: 1.5em;
  margin: 0 0 1.2em;
  line-height: 1.6;
  list-style-position: outside;
}
main li + li, article li + li, .wrap li + li {
  margin-top: 0.4em;
}
main li, article li, .wrap li {
  padding-left: 0.25em;
  text-indent: 0;
}

/* ----- Mobile stacks ----- */
@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  body { font-size: 16px !important; line-height: 1.55 !important; }
  h1, .hero h1, .cover-title, .lb-title, .phero h1, .hero-split h1 {
    font-size: 2rem !important;
    line-height: 1.15 !important;
    max-width: 100%;
  }

  .grid, .grid2, .cards3, .feature, .cols, .stats .row,
  .hero .in, .statement .row, .cover-grid, .port, .card-grid,
  .princ, .impact .row, .contact, .bigfoot .cols,
  .heroart .body, .statband .row {
    grid-template-columns: 1fr !important;
  }
  body > .wrap, main .wrap, .nav-in, footer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .btnrow, .hero .btns, .hbtns, .cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}

/* ----- Fine print: small, uniform, centered ----- */
/* Simple footers (copyright / legal / network strip) */
html body footer:not(.bigfoot):not(:has(.footer-inner)),
html body footer.fine:not(:has(.footer-inner)),
html body .fine {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine) !important;
  padding: 1.25rem 1.25rem 2rem !important;
  max-width: 42rem;
  margin-inline: auto;
  letter-spacing: 0.01em;
}
html body footer:not(.bigfoot):not(:has(.footer-inner)) .wrap,
html body footer.fine:not(:has(.footer-inner)) .wrap {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center !important;
}

/* Legal bits everywhere — including designed footers */
html body footer .legal,
html body footer p.legal,
html body footer .disclaimer,
html body footer .footer-bottom,
html body footer .footer-bottom div,
html body footer .ah-identity,
html body footer .ah-identity a,
html body footer .base,
html body footer .base span,
html body footer p.fine,
html body .legal,
html body p.legal,
html body .ah-identity,
html body [data-legal],
html body [data-legal] p,
html body [data-legal] div,
html body [data-legal] span,
html body [data-legal-band],
html body footer:not(:has(.footer-inner)):not(.bigfoot) p,
html body footer:not(:has(.footer-inner)):not(.bigfoot) li,
html body footer:not(:has(.footer-inner)):not(.bigfoot) small,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .note,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .fnet-h,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .fl,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .pl,
html body footer:not(:has(.footer-inner)):not(.bigfoot) .netf,
html body footer:not(:has(.footer-inner)):not(.bigfoot) span,
html body footer:not(:has(.footer-inner)):not(.bigfoot) a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine) !important;
}
html body [data-legal],
html body [data-legal-band],
html body .ah-identity,
html body .legal,
html body footer .disclaimer,
html body footer .footer-bottom,
html body footer .base {
  max-width: 42rem;
  margin-inline: auto;
}
html body footer .disclaimer,
html body footer .footer-bottom,
html body [data-legal] {
  padding: 1.25rem 1.25rem 2rem !important;
}

html body footer:not(:has(.footer-inner)):not(.bigfoot) a,
html body footer.fine:not(:has(.footer-inner)) a,
html body .fine a,
html body footer .legal a,
html body footer .pl a,
html body footer .fl a,
html body footer .ah-identity a,
html body footer .netf a,
html body footer .disclaimer a,
html body footer .footer-bottom a,
html body .legal a,
html body .ah-identity a,
html body [data-legal] a,
html body [data-legal] a[style],
html body .pl a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  color: var(--fine) !important;
  text-decoration: underline !important;
  text-decoration-style: dotted !important;
  text-underline-offset: 2px;
  font-weight: 400 !important;
}

/* Designed footers keep brand / columns; legal strip only shrinks */
html body footer:has(.footer-inner),
html body footer.bigfoot {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
html body footer:has(.footer-inner) .footer-inner,
html body footer:has(.footer-inner) .footer-inner a,
html body footer:has(.footer-inner) .footer-h,
html body footer:has(.footer-inner) .brand-mark,
html body footer.bigfoot .cols,
html body footer.bigfoot .cols a,
html body footer.bigfoot .blurb,
html body footer.bigfoot h3 {
  font-size: revert;
  line-height: revert;
  text-align: revert;
  color: revert;
  max-width: none;
}

html body footer.bigfoot .base,
html body footer.bigfoot .base span,
html body footer.bigfoot [data-legal],
html body footer.bigfoot [data-legal] p,
html body footer.bigfoot [data-legal] div,
html body footer.bigfoot [data-legal] span,
html body footer.bigfoot [data-legal] a {
  font-size: 0.6875rem !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: var(--fine-on-dark, rgba(255,255,255,0.62)) !important;
}
html body footer.bigfoot [data-legal],
html body footer.bigfoot .base {
  max-width: 42rem;
  margin-inline: auto;
  padding: 1.25rem 1.25rem 1.5rem !important;
}
html body footer.bigfoot [data-legal] a {
  text-decoration: underline !important;
  text-decoration-style: dotted !important;
  text-underline-offset: 2px;
}

html body footer:not(.bigfoot):not(:has(.footer-inner)) .fl,
html body footer:not(.bigfoot):not(:has(.footer-inner)) .pl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.85rem;
  max-width: 42rem;
  margin-inline: auto;
}
