:root {
  --navy: #17345f;
  --text: #273f62;
  --blue: #7fb2df;
  --blue-soft: #e9f4fb;
  --pink: #ef8aaa;
  --pink-soft: #fde8ef;
  --line: #d8e6f1;
  --font-body: "Zen Kaku Gothic New", sans-serif;
  --font-copy: "Shippori Mincho", serif;
}
.site-header {
  height: 104px;
  padding: 0 4%;
  background: #fff;
  gap: 24px;
  backdrop-filter: none;
}
.site-header .brand { flex-shrink: 0; }
.site-header .brand-name { font: 500 20px/1.5 var(--font-body); letter-spacing: 0; }
.site-header .global-nav { gap: 28px; font: 400 15px/1.5 var(--font-body); letter-spacing: 0; }
.site-header .global-nav .nav-contact { border-radius: 999px; padding: 12px 22px; box-shadow: none; }
.site-header .global-nav a::after { max-width: 100%; }
.site-header .global-nav a:focus-visible { outline: 2px solid var(--pink); outline-offset: 5px; }
.interior { background: #fff; color: var(--text); font: 400 16px/1.9 var(--font-body); }
.interior *, .interior *::before, .interior *::after { letter-spacing: 0; box-sizing: border-box; }
.interior main, .interior main > section { width: 100%; max-width: none; margin-inline: auto; }
.interior main > :where(section:not(.hero):not(.page-title)) {
  padding: 96px max(24px, calc((100% - 976px) / 2));
  height: auto; min-height: 0; background: #fff;
}
.interior h1, .interior h2, .interior h3, .interior h4 { color: var(--navy); }
.interior h2, .interior .section-heading h2, .interior .environment__copy h2, .interior .medical-lead h2 {
  font: 500 26px/1.6 var(--font-body);
}
.interior h3, .interior .care-text h3, .interior .center-copy h3 { font: 500 28px/1.7 var(--font-copy); }
.interior p, .interior .section-heading p, .interior .care-text p, .interior .center-copy p,
.interior .environment__copy > p, .interior .cta-lead, .interior .requirements-note {
  font: 400 16px/1.9 var(--font-body); color: var(--text);
}
.interior .section-heading { margin: 0 0 40px; gap: 12px; text-align: center; }
.interior .section-heading .eyebrow, .interior .environment__copy > .eyebrow, .interior .eyebrow, .interior .cta-brand {
  color: var(--blue); font: 500 14px/1.5 var(--font-body);
}
.interior .heading-ornament, .interior .number::after { display: none; }
.interior .page-title, .interior .page-title__inner { min-height: 0; height: auto; background: var(--blue-soft); }
.interior .page-title__inner { padding: 64px 7%; }
.interior .page-title h1 { font: 500 36px/1.5 var(--font-copy); margin: 0; }
.interior .primary-button, .interior .secondary-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  min-width: 0; max-width: 100%; min-height: 52px; padding: 14px 28px;
  border: 1px solid var(--pink); border-radius: 999px;
  background: #fff; color: var(--pink); box-shadow: none;
  font: 500 16px/1.5 var(--font-copy); text-decoration: none; text-align: center;
}
.interior .primary-button:hover, .interior .secondary-button:hover { background: var(--pink-soft); }
.interior .primary-button svg, .interior .secondary-button svg { width: 20px; height: 20px; flex-shrink: 0; color: inherit; }
.interior a:focus-visible, .interior button:focus-visible { outline: 2px solid var(--pink); outline-offset: 4px; }
.interior .feature-photo, .interior .care-block img, .interior .environment img { border-radius: 8px; box-shadow: none; transform: none; }
.interior .cancer-care .feature-photo { max-width: 976px; aspect-ratio: 2 / 1; object-position: center 45%; }
.interior .center-copy { max-width: 720px; margin: 0 auto; }
.interior .special-badge { font: 500 14px/1.5 var(--font-body); color: var(--pink); border-color: var(--pink); padding: 10px 20px; }
.interior .support-labels { gap: 12px 24px; margin: 28px auto 0; }
.interior .support-labels span { min-width: 0; border: 0; padding: 0; font: 400 15px/1.8 var(--font-body); }
.interior .care-block, .interior .care-block--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px; padding: 40px 0; border: 0;
}
.interior .care-block img { aspect-ratio: 4 / 3; }
.interior .number { font: 500 24px/1.5 var(--font-body); color: var(--blue); margin-bottom: 12px; }
.interior main > .medical-section { background: #f6fafc; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
.interior .medical-lead { padding: 0; background: none; text-align: left; }
.interior .medical-lead h2 { text-align: left; }
.interior .medical-category { grid-template-columns: 190px minmax(0, 1fr); }
.interior .medical-table { width: 100%; margin: 0; }
.interior .medical-category h3 { font: 500 17px/1.7 var(--font-body); background: var(--blue-soft); padding: 24px 16px; }
.interior .medical-category h3 svg { color: var(--blue); width: 26px; height: 26px; }
.interior .medical-category ul { padding: 16px 24px; }
.interior .medical-category li { font-size: 15px; }
.interior .medical-note { border-radius: 8px; margin: 0; padding: 16px 0; background: none; font-size: 14px; text-align: left; }
.interior .flow-list { max-width: 760px; margin: 0 auto; }
.interior .flow-list::before { left: 105px; top: 52px; bottom: 52px; transform: none; }
.interior .flow-list li { grid-template-columns: 64px 60px minmax(0, 1fr); gap: 12px; justify-content: stretch; padding: 24px 0; }
.interior .flow-list li > span { width: 48px; height: 48px; font: 400 18px/1 var(--font-body); }
.interior .flow-list li > svg { width: 48px; height: 48px; padding: 12px; justify-self: center; color: var(--blue); }
.interior .flow-list strong { font: 500 20px/1.6 var(--font-body); }
.interior .flow-list p { grid-column: 3; margin: 0; font-size: 15px; }
.interior main > .contact-cta { background: var(--blue-soft); }
.interior .contact-cta__content { max-width: 976px; margin: auto; text-align: center; }
.interior .contact-cta .cta-brand { margin: 0 0 16px; }
.interior .contact-cta .cta-lead { max-width: 660px; margin: 20px auto 28px; }
.interior .contact-methods { display: block; max-width: 560px; margin: 0 auto 28px; }
.interior .contact-method { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 4px 16px; padding: 0; min-height: 0; border: 0; background: none; box-shadow: none; width: fit-content; max-width: 100%; margin: auto; text-decoration: none; }
.interior .contact-method > span:first-child { grid-row: 1 / span 2; width: 48px; height: 48px; padding: 12px; display: grid; place-items: center; background: #fff; color: var(--blue); }
.interior .contact-method strong { font: 500 28px/1.5 var(--font-body); }
.interior .contact-method small { grid-column: 2; display: block; font: 400 13px/1.7 var(--font-body); }
.interior .contact-cta .primary-button { background: var(--pink); color: #fff; }
.interior .contact-cta .primary-button:hover { background: #e67b9d; }
.interior .hero {
  display: grid; align-items: center; position: relative;
  height: 78svh; min-height: 520px; max-height: 820px;
  padding: 64px 7%; background: #fff; overflow: hidden;
}
.interior .hero::before, .interior .hero::after { display: none; }
.interior .hero .hero__photo {
  position: absolute; inset: 0 0 0 auto; width: 75%; height: 100%;
  object-fit: cover; object-position: center; opacity: 1; border-radius: 0;
}
.interior .hero .hero__copy { position: relative; z-index: 1; width: min(720px, 100%); max-width: none; transform: none; }
.interior .hero h1 { font: 500 42px/1.65 var(--font-copy); margin: 0; }
.interior .hero h1 span { background: #fff; padding: 4px 12px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.interior .hero-badges { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.interior .hero-badges span { min-height: 0; padding: 8px 16px; border: 1px solid var(--blue); border-radius: 999px; background: #fff; color: #348bd0; font: 500 14px/1.7 var(--font-body); }
.interior .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.interior .hero-actions .primary-button { background: var(--pink); color: #fff; }
.interior .hero-actions .primary-button, .interior .hero-actions .secondary-button { margin: 0; font-size: 15px; }
.interior .value-grid { gap: 32px; }
.interior .value-grid article { padding: 0; border: 0; background: transparent; box-shadow: none; border-radius: 0; }
.interior .value-grid article > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; margin-bottom: 24px; }
.interior .value-grid h3 { font: 500 20px/1.7 var(--font-body); }
.interior .value-grid p { font-size: 15px; }
.interior main > .environment { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; background: #f6fafc; }
.interior .environment__copy, .interior .environment img { width: 100%; max-width: none; margin: 0; transform: none; }
.interior .environment img { aspect-ratio: 4 / 3; }
.interior .environment ul { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 24px; }
.interior .environment li { grid-template-columns: 24px minmax(0, 1fr); font: 400 15px/1.8 var(--font-body); border: 0; gap: 12px; padding: 0; }
.interior .environment li svg { width: 24px; height: 24px; border: 0; background: none; padding: 0; color: var(--blue); }
.interior .requirements-table { border-left: 0; width: 100%; max-width: 976px; }
.interior .requirements-table div { grid-template-columns: 200px minmax(0, 1fr); }
.interior .requirements-table dt, .interior .requirements-table dd { font: 400 16px/1.9 var(--font-body); padding: 24px; text-align: left; }
.interior .requirements-table dt { justify-items: start; background: var(--blue-soft); font-weight: 500; }
.interior .news-tabs { display: flex; justify-content: center; gap: 0; margin: 0 0 32px; border-bottom: 1px solid var(--line); }
.interior .news-tab { border: 0; border-radius: 0; background: transparent; color: var(--text); padding: 14px 24px; font: 400 15px/1.6 var(--font-body); box-shadow: none; }
.interior .news-tab.is-active { color: #bd4d76; background: transparent; box-shadow: inset 0 -2px var(--pink); }
.interior .news-tab::after { display: none; }
.interior .news-list { border-top: 0; }
.interior .news-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 20px; gap: 20px; padding: 24px 0; min-height: 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.interior .news-row time, .interior .news-title { font: 400 16px/1.8 var(--font-body); }
.interior .category { min-height: 0; border-radius: 999px; padding: 4px 10px; font: 500 12px/1.8 var(--font-body); }
.interior .category-pink { color: #b9567b; background: var(--pink-soft); }
.interior .category-blue { color: #3979aa; background: var(--blue-soft); }
.interior .news-row svg { color: var(--pink); width: 20px; height: 20px; }
.interior .pagination { gap: 12px; }
.interior .page-number { border: 1px solid var(--pink); border-radius: 50%; color: #b9567b; background: #fff; font: 400 15px/1 var(--font-body); }
.interior .page-number.is-active { background: var(--pink); color: #fff; }
@media (max-width: 1180px) {
  .site-header { height: 88px; padding-inline: 24px; gap: 16px; }
  .site-header .global-nav { gap: 18px; font-size: 14px; }
  .site-header .global-nav .nav-contact { padding-inline: 16px; }
  .interior .hero h1 { font-size: 36px; }
}
@media (max-width: 900px) {
  .site-header { height: auto; flex-direction: column; padding-block: 20px; gap: 16px; }
  .site-header .global-nav { width: 100%; justify-content: center; }
}
@media (max-width: 767px) {
  .site-header .brand-name { font-size: 18px; }
  .site-header .global-nav { gap: 14px; font-size: 13px; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .site-header .global-nav a { flex-shrink: 0; }
  .interior main > :where(section:not(.hero):not(.page-title)) { padding: 64px 24px; }
  .interior .page-title__inner { padding: 40px 24px; }
  .interior .page-title h1 { font-size: 30px; }
  .interior h2, .interior .section-heading h2, .interior .environment__copy h2, .interior .medical-lead h2 { font-size: 24px; }
  .interior .care-text h3, .interior .center-copy h3 { font-size: 24px; }
  .interior .care-block, .interior .care-block--reverse, .interior main > .medical-section,
  .interior main > .environment { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .interior .care-block--reverse .care-text { order: 0; }
  .interior .medical-note { grid-column: 1; }
  .interior .medical-category { grid-template-columns: minmax(0, 1fr); }
  .interior .medical-category h3 { display: flex; justify-content: flex-start; }
  .interior .flow-list::before { left: 72px; }
  .interior .flow-list li { grid-template-columns: 36px 48px minmax(0, 1fr); }
  .interior .flow-list li > span { width: 32px; height: 32px; font-size: 14px; }
  .interior .flow-list strong { font-size: 17px; }
  .interior .flow-list p { font-size: 14px; }
  .interior .hero { height: auto; min-height: 640px; max-height: none; padding: 48px 24px; align-items: end; }
  .interior .hero .hero__photo { width: 100%; object-position: 60% center; }
  .interior .hero h1 { font-size: 28px; }
  .interior .value-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .interior .requirements-table div { grid-template-columns: minmax(0, 1fr); }
  .interior .requirements-table dt, .interior .requirements-table dd { padding: 16px; }
  .interior .news-tab { padding: 12px; font-size: 14px; }
  .interior .news-row { grid-template-columns: 110px minmax(0, 1fr) 20px; gap: 12px; }
  .interior .news-title { grid-column: 1 / 3; grid-row: 2; }
  .interior .news-row > svg { grid-column: 3; grid-row: 1 / 3; }
  .interior .category { justify-self: start; }
  .interior .contact-method strong { font-size: 24px; }
  body:not(.interior) .hero__copy { left: 24px; width: calc(100% - 48px); bottom: 150px; }
  body:not(.interior) .hero h1 { font-size: 26px; letter-spacing: 0; }
  body:not(.interior) .hero h1 span { white-space: normal; overflow-wrap: anywhere; }
  body:not(.interior) .hero__photo { width: 100%; object-position: 55% center; }
  body:not(.interior) .news-section { padding-inline: 0; }
  body:not(.interior) .news-section .news-box { width: calc(100% - 24px); padding: 24px; grid-template-columns: minmax(0, 1fr) 40px; gap: 12px 16px; }
  body:not(.interior) .news-section .news-box > .section-heading { grid-column: 1 / -1; padding: 0; }
  body:not(.interior) .news-section .news-list a { grid-template-columns: minmax(0, 1fr); gap: 4px; min-height: 0; padding: 14px 0; }
  body:not(.interior) .news-section .news-title { font-size: 14px; }
  body:not(.interior) .news-section .news-arrow-link { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
  body:not(.interior) .philosophy .philosophy__inner h3 { font-size: 24px; letter-spacing: 0; }
}
