:root {
  --blue: #7BAFD4;
}
.brochures { background: #edf4f9; }
.brochure-list { border-top: 1px solid var(--line); }
.brochure-list > a { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.brochure-list h3 { font-size: 26px; }
.brochure-list p { margin-top: 8px; color: #58626a; font-size: 16px; }
.brochure-list > a > span { white-space: nowrap; color: #326d9e; font-size: 14px; font-weight: 600; }
.brochure-list > a:hover h3 { color: #326d9e; }
.brochures .photo-note a { text-decoration: underline; }
.footer-resource { display: inline-block; padding: 8px 0; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:700px) {
  .brochure-list > a { align-items: flex-start; flex-direction: column; gap: 16px; }
  .brochure-list h3 { font-size: 24px; }
}
.hero-secondary { padding: 12px 0; color: #c6cbd0; margin-top: 12px; font-size: 14px; }
.hero-secondary:hover { color: #fff; }
.product-hero-image { display: flex; flex-direction: column; justify-content: center; background: #f7f9fa; border: 16px solid var(--blue); min-height: 0; }
.product-hero-image img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; object-position: center; padding: 16px; margin-block: auto; }
.product-hero-image figcaption { position: static; flex-direction: column; gap: 8px; background: #edf4f9; color: #23343f; padding: 20px 24px; font-size: 12px; }
.product-hero-image figcaption strong { font-size: 15px; font-weight: 600; }
.product-hero-image figcaption span { font-size: 12px; }
.product-gallery { background: #f0f6fa; }
.product-photo-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: start; }
.marketing-photo { border: 8px solid var(--blue); background: #fff; min-width: 0; }
.marketing-photo img { width: 100%; height: auto; object-fit: contain; }
.marketing-photo figcaption { padding: 20px; background: #edf4f9; color: #354b5a; font-size: 12px; line-height: 1.6; }
.marketing-photo figcaption strong { display: block; font-size: 18px; color: var(--ink); margin-bottom: 8px; font-weight: 600; }
.marketing-photo figcaption span { font-size: 14px; }
.photo-note { font-size: 12px; color: #58626a; margin-top: 20px; max-width: 100ch; }
.signal-section { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 80px; background: #edf4f9; }
.signal-section h2 { margin: 24px 0; }
.signal-section p:not(.eyebrow) { margin-top: 20px; color: #58626a; }
.signal-figure { background: #fff; border: 8px solid var(--blue); align-self: start; }
.signal-figure img { width: 100%; height: auto; }
.signal-figure figcaption { padding: 16px; font-size: 12px; color: #58626a; }
.signal-path { grid-column: 1 / -1; list-style: none; padding: 24px 0 0; margin: 0; display: flex; gap: 32px; border-top: 1px solid var(--line); justify-content: space-between; font-size: 14px; font-weight: 600; }
.signal-path li { flex: 1; position: relative; padding-right: 16px; }
.signal-path li:not(:last-child)::after { content: '→'; position: absolute; right: -12px; color: #326d9e; }
.product-story { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 64px; background: #edf4f9; }
.product-story h2 { margin: 24px 0; }
.product-story > div > p:not(.eyebrow) { color: #58626a; }
.contact-email { display: inline-flex; align-items: center; gap: 24px; font-size: clamp(24px, 2.8vw, 36px); font-weight: 600; border-bottom: 2px solid currentColor; margin-top: 24px; padding-bottom: 8px; }
.contact-email:hover { color: #223f52; }
.footer-email { display: inline-block; color: var(--blue); font-size: 16px; text-decoration: underline; text-underline-offset: 4px; padding: 12px 0; }
.inquiry-privacy { margin-top: 16px; }
@media (max-width: 700px) {
  .product-hero-image { height: auto; border-width: 10px; }
  .product-hero-image img { padding: 8px; }
  .product-hero-image figcaption { flex-direction: column; padding: 16px; font-size: 12px; }
  .product-photo-grid, .signal-section, .product-story { grid-template-columns: 1fr; gap: 32px; }
  .signal-path { flex-direction: column; gap: 32px; }
  .signal-path li { padding-right: 0; }
  .signal-path li:not(:last-child)::after { content: '↓'; top: 100%; left: 0; right: auto; margin-top: 4px; }
  .contact h2 { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .hero .button { gap: 16px; font-size: 14px; padding: 16px 20px; }
}
.condition-list article { display: grid; grid-template-columns: .7fr 1.5fr; gap: 64px; padding: 36px 0; border-top: 1px solid var(--line); }
.condition-list p { color: #58626a; }
.condition-list p + p { margin-top: 16px; }
.preliminary-section { background: #e9ecec; padding-block: 64px; }
.preliminary-section .section-heading { margin-bottom: 0; }
.preliminary-note { margin-top: 24px; font-size: 14px; color: #58626a; }
.patient-journey { background: #fff; }
.journey-flow { list-style: none; padding: 0; margin: 48px auto 0; max-width: 850px; }
.journey-flow li { position: relative; display: flex; align-items: flex-start; gap: 24px; border: 1px solid var(--line); padding: 24px 32px; margin-bottom: 40px; background: var(--paper); }
.journey-flow li:not(:last-child)::after { content: '↓'; position: absolute; bottom: -35px; left: 50%; transform: translateX(-50%); color: #326d9e; font-size: 24px; line-height: 32px; }
.journey-flow li > span { color: #326d9e; font-size: 14px; font-weight: 600; padding-top: 4px; }
.journey-flow h3 { font-size: 24px; }
.journey-flow p { margin-top: 8px; color: #58626a; }
.journey-flow li:last-child { background: var(--blue); border-color: transparent; }
.journey-flow li:last-child p, .journey-flow li:last-child > span { color: var(--ink); }
.patient-journey > .text-link { margin: 40px auto 0; }
@media (max-width: 700px) {
  .condition-list article { grid-template-columns: 1fr; gap: 20px; }
  .journey-flow li { padding: 20px 16px; gap: 16px; }
  .journey-flow h3 { font-size: 22px; }
}
.header { flex-wrap: wrap; gap: 16px 32px; }
.header nav { flex-wrap: wrap; }
.header nav a[aria-current="page"] { color: #326d9e; text-decoration: underline; text-underline-offset: 8px; }
.engineering-teaser { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; background: #e9ecec; padding-block: 64px; }
.engineering-teaser h2 { margin-top: 24px; }
.engineering-teaser > div > p:not(.eyebrow) { color: #58626a; }
.anatomy-hero { background: var(--ink); color: #fff; padding-top: 32px; }
.anatomy-back { display: inline-block; padding: 12px 0; color: #c6cbd0; font-size: 14px; margin-bottom: 40px; }
.anatomy-hero .eyebrow { color: var(--blue); }
.anatomy-hero h1 { font-size: clamp(2.5rem, 1.5rem + 3.2vw, 4.8rem); margin-top: 28px; }
.anatomy-hero h1 span { color: var(--blue); }
.anatomy-hero-bottom { display: grid; grid-template-columns: 1.3fr 1fr; gap: 80px; margin-top: 40px; align-items: end; }
.anatomy-hero-bottom p { color: #c6cbd0; max-width: 48ch; }
.anatomy-hero-bottom .text-link { color: var(--blue); margin-top: 0; }
.insight-section, .collaboration-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; }
.insight-section h2, .collaboration-section h2 { margin-top: 28px; }
.insight-credit { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 24px; font-size: 14px; color: #58626a; }
.insight-credit strong { color: var(--ink); font-weight: 600; }
.story-prose > p + p { margin-top: 24px; }
.story-prose p { color: #58626a; }
.story-prose .story-lead { font-family: var(--font-display); color: var(--ink); font-size: var(--text-lg); line-height: 1.2; }
.carrying-section { background: var(--blue); }
.carrying-section .section-heading > p { color: var(--ink); }
.carrying-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; border-top: 1px solid #15191c44; padding-top: 32px; }
.carrying-notes p { margin-top: 16px; }
.carrying-caveat { margin-top: 40px; font-size: 14px; max-width: 85ch; }
.collaboration-intro { margin-top: 28px; max-width: 35ch; color: #58626a; }
.anatomy-purpose { background: var(--ink); color: #fff; }
.anatomy-purpose .eyebrow, .anatomy-purpose h2 span { color: var(--blue); }
.anatomy-purpose h2 { margin: 28px 0 40px; }
.anatomy-purpose > p:not(.eyebrow) { color: #c6cbd0; max-width: 65ch; margin-top: 24px; }
@media (min-width: 701px) and (max-width: 1450px) {
  .header { display: grid; grid-template-columns: 1fr auto; }
  .header nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 8px; }
  .header-cta { display: block; grid-column: 2; grid-row: 1; }
}
@media (max-width: 700px) {
  .engineering-teaser, .insight-section, .collaboration-section, .anatomy-hero-bottom, .carrying-notes { grid-template-columns: 1fr; gap: 32px; }
  .anatomy-back { margin-bottom: 28px; }
  .anatomy-hero h1 { font-size: clamp(2.35rem, 7.8vw, 3.5rem); }
  .anatomy-hero-bottom { margin-top: 28px; }
  .carrying-notes { gap: 32px; }
  .insight-credit { margin-top: 28px; }
}
.customization {
  background: #fff;
}
.customization > .eyebrow {
  color: #326d9e;
}
.custom-detail {
  display: grid;
  grid-template-columns: .85fr 1.3fr;
  gap: clamp(40px, 7vw, 100px);
}
.custom-lead {
  padding-top: 28px;
}
.custom-lead > p + p {
  margin-top: 28px;
  color: #58626a;
  max-width: 34ch;
}
.custom-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.custom-steps li {
  display: flex;
  gap: 24px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
}
.custom-steps li > span {
  color: #326d9e;
  font-size: 12px;
  padding-top: 4px;
}
.custom-steps h3 {
  font-size: 24px;
}
.custom-steps p {
  color: #58626a;
  margin-top: 12px;
}
.custom-bottom {
  display: grid;
  grid-template-columns: .85fr 1.3fr;
  gap: clamp(40px, 7vw, 100px);
  padding-top: 32px;
  margin-top: 40px;
  border-top: 1px solid var(--line);
}
.custom-bottom p {
  color: #58626a;
}
@media (max-width: 700px) {
  .custom-detail,
  .custom-bottom {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .custom-lead {
    padding-top: 0;
  }
  .custom-steps h3 {
    font-size: 22px;
  }
  .custom-steps li {
    gap: 16px;
  }
}
.footer-brand {
  background: #101010;
}
.footer-brand .brand-trademark {
  color: #fff;
}
.header nav a:hover,
.approach h2 span {
  color: #326d9e;
}
.button:hover {
  background: #87b6dc;
}
.contact h2 span {
  color: var(--ink);
}
a:focus-visible {
  outline-color: #326d9e;
}
::selection {
  background: #5b9ad0;
  color: #111;
}
.header nav {
  font-size: 18px;
  gap: 28px;
}
.header nav a {
  font-weight: 600;
  color: #15191c;
}
@media (min-width: 701px) and (max-width: 1050px) {
  .header nav {
    gap: 20px;
    font-size: 17px;
  }
}
@media (max-width: 700px) {
  .header nav {
    font-size: 16px;
    gap: 8px 16px;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-top-color: rgba(20, 30, 40, .17);
  }
  .header nav a {
    min-height: 44px;
  }
}
