/* Shared reading sizes, loaded after page styles. Keep packshots and badge palettes intact. */
:root {
  --reading-text: #435864;
  --reading-muted: #526570;
  --reading-link: #245c75;
  --portal-header-height: 104px;
}
html { scroll-padding-top: calc(var(--portal-header-height) + 20px); }
body { line-height: 1.7; }
input::placeholder, textarea::placeholder { color: #667680; opacity: 1; }
:is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid #166d94;
  outline-offset: 4px;
}
:is(.product-card-copy, .detail-layout, .medical-detail-top, .medical-detail-body,
  .clinic-guide-panel, .isc-content, .hero-builder-panel) { overflow-wrap: anywhere; }
:is(.toolbar, .filters, .list-bar, .channel-tools, .film-controls,
  .medical-document-bar, .sns-gallery-controls) { flex-wrap: wrap; }

/* The header has one layout definition for all destinations. */
.site-header { height: var(--portal-header-height) !important; --primary-nav-gap: 20px; }
.site-header .header-inner {
  display: grid; width: 90%; max-width: 1280px; height: 100%;
  grid-template-columns: minmax(360px, 1fr) repeat(5, auto);
  grid-template-rows: 68px 36px; gap: 0 var(--primary-nav-gap);
}
.site-header nav { display: contents; margin: 0; font-size: 14px; }
.site-header .brand {
  grid-column: 1; grid-row: 1; width: auto; gap: 12px;
  display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
}
.site-header .brand-symbol { width: 190px; max-width: 100%; }
.site-header .brand img { width: 100%; }
.site-header .brand-claim { padding-left: 12px; gap: 7px; border-left: 1px solid currentColor; }
.site-header .brand .brand-claim-text { font-size: 11px !important; line-height: 1.3; }
.site-header .brand .brand-rank { font-size: 13px; }
.site-header .brand-rank b { font-size: 32px; }
.site-header nav > .products-nav { grid-column: 2; grid-row: 1; }
.site-header nav > .isc-nav { grid-column: 3; grid-row: 1; }
.site-header .nav-source { grid-column: 4; grid-row: 1; margin: 0; gap: 2px; height: 68px; position: relative; }
.site-header nav > .hero-nav { grid-column: 5; grid-row: 1; }
.site-header nav > .clinic-nav { grid-column: 6; grid-row: 1; }
.site-header nav > :is(.products-nav, .isc-nav, .hero-nav, .clinic-nav), .site-header .nav-source > a {
  display: flex; align-items: center; justify-content: center; height: 68px;
  padding: 0; font-size: 14px; font-weight: 600; line-height: 1.4;
  white-space: nowrap; letter-spacing: 0;
}
.site-header .nav-source > button { width: 32px; height: 44px; padding: 0; }
.site-header .channel-nav {
  grid-column: 1 / -1; grid-row: 2; display: flex; justify-content: flex-end;
  height: 36px; gap: 24px; margin: 0; padding: 0; border-top: 1px solid #b2b8bd33;
}
.site-header .channel-nav::before { display: none; }
.site-header .channel-nav a { font-size: 13px; padding: 5px 0; min-height: 32px; line-height: 1.6; }
.site-header .channel-word { display: inline; }
.site-header .source-menu {
  top: 68px; width: min(460px, calc(100vw - 32px)); max-width: none;
  left: 50%; right: auto; --source-menu-x: -50%; padding: 24px; gap: 20px;
}
.site-header .source-menu b { font-size: 12px; color: #435864; }
.site-header .source-menu a { font-size: 14px; min-height: 44px; padding: 10px 0; }
.site-header.menu-open { color: #161719; }
body.home-top .site-header.menu-open { color: #161719; }
body.home-top .site-header.menu-open::before { opacity: 1; }
body.home-top .site-header.menu-open .brand img { filter: brightness(0); }
.responsive-menu-toggle { display: none; }
#site-main > :is(#library-page, .products-page, .hero-page, .clinic-page, .isc-page) {
  padding-top: var(--portal-header-height) !important;
}
.clinic-map-panel { top: calc(var(--portal-header-height) + 20px); }
:is(.medical-section, .isc-programs, .clinic-map-panel) {
  scroll-margin-top: calc(var(--portal-header-height) + 20px);
}

/* Page introductions grow with their text instead of clipping fixed-height copy. */
.page-intro .page-intro-inner { height: auto; min-height: 260px; }
.page-intro .page-intro-description { font-size: 16px; line-height: 1.8; color: var(--reading-text); }
.page-intro .page-intro-eyebrow, .page-intro-aside > span,
.page-intro .library-intro-label, .page-intro .clinic-stats span { font-size: 12px; color: var(--reading-muted); }
.breadcrumb, #library-page .breadcrumb, #education-page .education-breadcrumb {
  font-size: 13px; color: var(--reading-muted); overflow-wrap: anywhere;
}
:is(.main-source, .product-films) > p { font-size: 16px; color: var(--reading-muted); line-height: 1.8; }
.brand-door > span { font-size: 14px; }
.brand-door small { font-size: 12px; }
.skin-door small { color: #435864; }
.films-heading { flex-wrap: wrap; gap: 16px; }
.films-heading a, .home-film span { font-size: 14px; line-height: 1.7; }
.films-heading a { color: var(--reading-link); min-height: 44px; display: inline-flex; align-items: center; }
.medical-home-science p { font-size: 16px; color: var(--reading-text); }
.medical-home-science a, .medical-home-science li { font-size: 14px; }

/* A dark, bounded reading surface works independently of the video scene. */
.film-caption {
  box-sizing: border-box; bottom: 122px; max-width: min(680px, 80%);
  background: #101820e8; padding: 16px 20px; border-radius: 4px;
  text-shadow: none; line-height: 1.65;
}
.film-caption > span { font-size: 12px; }
.film-caption p { font-size: 20px; line-height: 1.55; }
.film-caption button { font-size: 14px; min-height: 44px; padding: 4px 0; line-height: 1.5; }
.film-controls {
  bottom: 52px; gap: 10px; background: #101820e8; padding: 4px 10px;
  border-radius: 4px; font-size: 13px; text-shadow: none;
}
.film-controls button { min-width: 44px; height: 44px; }
.film-controls #film-sound { font-size: 12px; min-width: 106px; padding-left: 14px; }
.film-dots { bottom: 8px; gap: 0; }
.film-dots button { width: 28px; height: 32px; padding: 0; }
.film-dots button::after { inset: 12px 10px; }
.main-visual { min-height: min(620px, 100svh); }

/* Product names, variants and research context. */
.medical-product .product-card-copy > p { font-size: 16px; line-height: 1.8; color: var(--reading-text); }
.medical-product-english { font-size: 12px; line-height: 1.6; color: var(--reading-muted); }
.medical-product-sizes { font-size: 14px; }
.medical-product-sizes > span { font-size: 12px; color: var(--reading-muted); }
.medical-channel, .signature-card.medical-product .medical-channel { font-size: 13px; line-height: 1.7; }
.medical-review, .medical-review span:last-child { font-size: 13px; color: var(--reading-link); }
.medical-spf { font-size: 14px; color: var(--reading-link); }
.medical-product .product-official-link { font-size: 14px; min-height: 44px; padding-block: 8px; line-height: 1.6; }
.product-card-eyebrow, .medical-kicker, .products-eyebrow { font-size: 12px; color: #435f6d; }
#products-grid .product-signature-tag { font-size: 11px; letter-spacing: .7px; }
.medical-product h3 button { min-height: 44px; }
.signature-card.medical-product { grid-template-columns: 1fr; align-content: start; }
.signature-card.medical-product .medical-product-photo { height: 230px; }
.signature-card.medical-product .product-card-copy { padding: 20px; }
.products-section-heading { flex-wrap: wrap; gap: 16px; }
.products-section-heading > p { font-size: 14px; color: var(--reading-muted); }
.medical-catalog-heading a, .medical-concerns button { font-size: 14px; min-height: 44px; }
.medical-concerns button { color: var(--reading-link); }
.products-source-note, #medical-status { font-size: 13px; color: var(--reading-muted); line-height: 1.8; }
.medical-detail-top p, .medical-detail-body p { font-size: 16px; line-height: 1.8; color: var(--reading-text); }
.medical-volumes { font-size: 15px; }
.medical-volumes dt, .medical-volumes small { font-size: 13px; color: var(--reading-muted); }
.medical-ingredient-list span { font-size: 14px; }
.medical-detail-body summary, .medical-education-content summary { font-size: 15px; min-height: 44px; line-height: 1.8; }
.medical-detail-body details > a, .medical-detail-education { font-size: 14px; min-height: 44px; }
.medical-dialog-close { width: 44px; height: 44px; left: calc(100% - 56px); }
.medical-muted { font-size: 14px !important; color: var(--reading-muted) !important; line-height: 1.8; }
.medical-education-notice { flex-wrap: wrap; }
.medical-education-notice > span { font-size: 13px; }
.medical-education-notice p, .medical-section-heading p, .medical-brand-source p,
.medical-education-content details p, .medical-program p, .medical-order p,
.medical-routine p { font-size: 16px; line-height: 1.8; color: var(--reading-text); }
.medical-section-nav a, .medical-text-link,
.medical-education-content details a, .medical-education-content details button,
.medical-program button, .medical-order a, .medical-order button { font-size: 14px; min-height: 44px; line-height: 1.7; }
.medical-section-nav { gap: 8px 22px; }
.medical-section-nav a { display: flex; align-items: center; }
.medical-science-numbers p, .medical-science-numbers strong span,
.medical-founder small, .medical-routine span, .medical-evidence-cards article > span { font-size: 13px; color: var(--reading-muted); line-height: 1.7; }
.medical-timeline li { font-size: 15px; }
.medical-timeline span { color: var(--reading-text); }
.medical-evidence-cards p { font-size: 16px; line-height: 1.8; color: var(--reading-text); }
.medical-evidence-cards button { font-size: 14px; min-height: 44px; }
.medical-evidence-cards h3 { font-size: 18px; line-height: 1.6; }
.medical-program ul, .medical-order ol { font-size: 15px; color: var(--reading-text); line-height: 1.8; }
.medical-document-actions a { font-size: 14px; min-height: 44px; }
.medical-document-viewer label { font-size: 14px; color: var(--reading-muted); }
.medical-document-viewer select { font-size: 16px; min-height: 48px; color: var(--reading-text); }
.medical-chapters button { font-size: 14px; min-height: 44px; color: var(--reading-link); }
.medical-document-bar { font-size: 13px; gap: 10px; }
.medical-document-bar button { min-width: 44px; min-height: 44px; }
.medical-document-bar a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.medical-document-viewer figcaption { font-size: 13px; color: var(--reading-muted); line-height: 1.8; }

/* Media library and detail views. */
#library-page .library-type-tabs b, #education-page .library-type-tabs b { font-size: 12px; color: var(--reading-muted); }
.card-title { font-size: 17px; line-height: 1.65; min-height: 44px; -webkit-line-clamp: 3; }
.card-meta, .card-bottom span, .card-channel, .card-bottom .download-small { font-size: 13px; color: var(--reading-muted); line-height: 1.7; }
.card-meta { flex-wrap: wrap; gap: 6px; }
.card-bottom { flex-wrap: wrap; align-items: center; gap: 8px; }
.card-bottom .download-small { min-height: 44px; display: inline-flex; align-items: center; color: var(--reading-link); }
.notice, .channel-tools, .channel-tools button, .channel-tools a { font-size: 14px; line-height: 1.8; color: var(--reading-text); }
.channel-tools button, .channel-tools a { min-height: 44px; display: inline-flex; align-items: center; }
.list-bar { gap: 12px; font-size: 14px; }
.list-bar > div { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.text-button { min-height: 44px; font-size: 14px; padding: 8px 0; }
.pagination button, .products-pagination button, .clinic-paging button { min-width: 44px; min-height: 44px; }
.detail-layout dl { font-size: 15px; }
.detail-note, .sns-caption-text { font-size: 16px; color: var(--reading-text); line-height: 1.8; }
.detail-source, .filename, .sns-sources p, .sns-sources a,
.sns-current-download, .sns-gallery-counter, .sns-extras p, .sns-story-grid span { font-size: 13px; line-height: 1.8; }
.detail-source, .sns-sources a, .sns-current-download { color: var(--reading-link); }
.sns-caption h3, .sns-sources h3, .sns-extras h3 { font-size: 17px; }
.sns-section-head button { font-size: 14px; min-height: 44px; }
.sns-gallery-controls button { width: 44px; height: 44px; }
.sns-gallery-thumbs span { font-size: 12px; }
.dialog-close { width: 44px; height: 44px; }

/* Inputs share a readable size, with room for Korean labels and selected values. */
.toolbar :is(input, select), .list-bar select,
.products-filter-form :is(input, select), .clinic-filter-form :is(input, select),
.hero-builder-field input:not([type=file]), .hero-builder-field select,
.hero-field-row input:not([type=checkbox]), .hero-field-row select, .hero-field-row textarea {
  font-size: 16px; line-height: 1.5; min-height: 48px; color: #263f4d;
}
.products-filter-form label, .clinic-filter-form label, .hero-builder-field > label,
.hero-field-row > label, .hero-field-row > legend, .hero-field-label { font-size: 15px; color: var(--reading-text); }
.hero-builder-field small, .hero-field-row small, .hero-consent,
.hero-preview-caption, .hero-local-note, .hero-use-guide p,
.hero-builder-status, .hero-logo-info { font-size: 14px; line-height: 1.8; color: var(--reading-muted); }
.hero-identity-options, .hero-use-guide ol { font-size: 15px; line-height: 1.8; }
.hero-identity-options label, .hero-identity-options legend { font-size: 15px; }
.hero-logo-info button { font-size: 14px; min-height: 44px; }
.hero-inline-error { font-size: 14px; line-height: 1.8; }
.hero-section-heading { flex-wrap: wrap; }
.hero-section-heading p { font-size: 15px; color: var(--reading-muted); line-height: 1.8; }
.hero-process, .hero-generator .hero-process { font-size: 14px; flex-wrap: wrap; }
.hero-process li b { font-size: 13px; }
.hero-panel-eyebrow, .hero-use-guide > span { font-size: 12px; color: var(--reading-muted); }
.hero-preview-toolbar { flex-wrap: wrap; gap: 12px; }
.hero-preview-caption { flex-wrap: wrap; }
.hero-preview-toggle button, .hero-reset, .hero-logo-remove { font-size: 14px; min-height: 44px; }
.hero-lineup-button strong { font-size: 15px; }
.hero-lineup-button > span { font-size: 12px; line-height: 1.5; letter-spacing: .3px; white-space: normal; }
.hero-lineup-button > b { font-size: 15px; }
.hero-lineup-button > span, .hero-lineup-button > b { background: rgba(0, 0, 0, .5); color: white; padding: 4px 8px; border-radius: 2px; text-shadow: none; }
.hero-lineup-button small { font-size: 12px; color: var(--reading-muted); }
.hero-builder-field input[type=file] { font-size: 14px; max-width: 100%; }
.hero-code-details summary { font-size: 14px; min-height: 44px; }

/* Clinic addresses, contact details and source notes. */
.clinic-card-address, #clinic-featured .clinic-spotlight-info > p { font-size: 15px; line-height: 1.8; color: var(--reading-text); }
.clinic-card-top, .clinic-source-note, .clinic-map-footnote,
.clinic-map-heading p, .clinic-list-header > span, .clinic-rail-status,
.clinic-card-bottom > span { font-size: 13px; color: var(--reading-muted); line-height: 1.8; }
.clinic-card-bottom { flex-wrap: wrap; font-size: 14px; }
.clinic-card-bottom button, .clinic-card-bottom a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.clinic-map-heading { flex-wrap: wrap; gap: 12px; }
.clinic-map-heading button, .clinic-filter-form > button,
#clinic-featured .clinic-spotlight-actions button, #clinic-featured .clinic-spotlight-actions a,
.clinic-all-shortcut { font-size: 14px; min-height: 44px; white-space: normal; }
#clinic-featured .clinic-spotlight-actions { flex-wrap: wrap; }
.clinic-spotlight-controls button { width: 44px; height: 44px; }
.clinic-selected-info p, .clinic-selected-info a { font-size: 15px; line-height: 1.8; }
.clinic-section-heading > p { font-size: 15px; color: var(--reading-muted); }
.clinic-eyebrow, .clinic-contact-eyebrow, .clinic-feature-label { font-size: 12px; color: var(--reading-muted); }
.clinic-map-error { font-size: 14px; line-height: 1.8; color: var(--reading-muted); }
.clinic-list-header { flex-wrap: wrap; }
.clinic-list-header h3 { font-size: 16px; }
.clinic-spotlight-identity p { font-size: 14px; color: var(--reading-text); }
#clinic-featured .clinic-spotlight-identity > .clinic-vip-label { font-size: 12px; color: #705322; letter-spacing: .6px; }
.clinic-vip-mini { font-size: 12px; color: #705322; }
.clinic-region-marker i { font-size: 12px; }
.clinic-map-panel .leaflet-control-attribution { font-size: 12px; }

/* Clinic education and ISC use the same reading hierarchy. */
.clinic-guide-panel-heading > p, .clinic-isc-flow p, .clinic-isc-flow small,
.clinic-size-list p, .clinic-program-list p, .clinic-doctor-intro p,
.clinic-doctor-products ul, .clinic-order-ready p, .clinic-order-support p,
.clinic-vm-caption p, .isc-hero p, .isc-concept > p, .isc-step > p,
.isc-medical-heading p, .isc-related-source p { font-size: 16px; color: var(--reading-text); line-height: 1.8; }
.clinic-guide-caption, .clinic-vm-caption small, .clinic-guide-download p,
.clinic-order-steps small, .isc-source-help, .isc-source-caption,
.isc-footer-note p, .isc-selected-heading > p { font-size: 14px; color: var(--reading-muted); line-height: 1.8; }
.clinic-guide-tabs button, .clinic-size-list > div, .clinic-order-ready a,
.clinic-guide-download a, .isc-medical-concerns button,
.isc-source-document summary, .isc-footer-note a { font-size: 14px; min-height: 44px; }
.clinic-guide-tabs button > span, .clinic-guide-panel-heading > span,
.clinic-vm-caption > span, .clinic-doctor-intro > span, .clinic-isc-flow span,
.clinic-program-list span, .clinic-order-steps span, .clinic-guide-source figcaption,
.isc-flow-strip small, .isc-source-tabs small, .isc-purpose > span:first-child,
.isc-purpose > small, .isc-product small, .isc-training-matrix figcaption,
.isc-audience, .isc-selected-heading span, .isc-training-path span { font-size: 12px; color: var(--reading-muted); line-height: 1.7; }
.isc-flow-strip strong, .isc-product strong { font-size: 14px; color: var(--reading-text); }
.isc-flow-strip li > span { font-size: 14px; color: var(--reading-link); }
.isc-source-tabs button { font-size: 15px; }
.isc-purpose { min-height: 175px; }
.isc-purpose > small { max-width: 65%; }
.isc-purpose > strong { font-size: 20px; }
.isc-purpose-photo { opacity: .35; }
.isc-source-document > div > a:first-child { font-size: 14px; min-height: 44px; }
.corporate-footer .footer-address, .corporate-footer .footer-copyright {
  font-size: 14px; color: #52616b; line-height: 1.8;
}
.medical-footer-proof { font-size: 13px; color: #52616b; min-height: 44px; display: flex; align-items: center; }
.corporate-footer #back-top { min-width: 44px; min-height: 44px; font-size: 12px; }

/* Original image viewer: enlarge without resampling or replacing source assets. */
.image-reading-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0; }
.image-reading-tools button, .image-reading-tools a { font-size: 14px; min-height: 44px; padding: 8px 12px; border: 1px solid #cbd9df; color: #245c75; background: white; border-radius: 3px; }
.image-reading-dialog { width: min(1440px, 96vw); max-width: 96vw; height: 92dvh; max-height: 92dvh; padding: 0; border: 1px solid #cbd9df; background: #f4f7f8; }
.image-reading-dialog::backdrop { background: #101820cc; }
.image-reading-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 16px; background: white; border-bottom: 1px solid #cbd9df; }
.image-reading-toolbar h2 { font-size: 16px; line-height: 1.6; margin: 0 auto 0 0; overflow-wrap: anywhere; }
.image-reading-toolbar button, .image-reading-toolbar a { font-size: 14px; min-height: 44px; padding: 8px 12px; border: 1px solid #cbd9df; color: #245c75; background: white; }
.image-reading-viewport { overflow: auto; height: calc(100% - 82px); padding: 20px; }
.image-reading-viewport img { display: block; max-width: none; width: 100%; height: auto; margin: auto; background: white; }
.image-reading-viewport.is-original img { width: auto; margin: 0; }
.detail-preview:has(> .image-reading-tools) { flex-direction: column; }
.image-reading-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.image-reading-dialog[open] .image-reading-viewport { min-height: 0; height: auto; }

@media (min-width: 901px) and (max-width: 1280px) {
  :root { --portal-header-height: 148px; }
  .site-header .header-inner { grid-template-columns: repeat(5, auto); grid-template-rows: 64px 48px 36px; justify-content: stretch; }
  .site-header .brand { grid-column: 1 / -1; grid-row: 1; justify-content: center; }
  .site-header nav > .products-nav { grid-column: 1; grid-row: 2; }
  .site-header nav > .isc-nav { grid-column: 2; grid-row: 2; }
  .site-header .nav-source { grid-column: 3; grid-row: 2; justify-content: center; height: 48px; }
  .site-header nav > .hero-nav { grid-column: 4; grid-row: 2; }
  .site-header nav > .clinic-nav { grid-column: 5; grid-row: 2; }
  .site-header nav > :is(.products-nav, .isc-nav, .hero-nav, .clinic-nav), .site-header .nav-source > a { height: 48px; }
  .site-header .channel-nav { grid-row: 3; justify-content: center; }
  .site-header .source-menu { top: 48px; }
  .products-signatures { grid-template-columns: 1fr; }
  .signature-card.medical-product { grid-template-columns: 200px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  :root { --portal-header-height: 96px; }
  .site-header .header-inner { display: flex; justify-content: space-between; gap: 16px; }
  .site-header .brand { flex-direction: column; align-items: flex-start; gap: 6px; width: auto; }
  .site-header .brand-symbol { width: 190px; }
  .site-header .brand-claim { border-left: 0; padding-left: 0; gap: 6px; }
  .site-header .brand .brand-rank { font-size: 12px; }
  .site-header .brand-rank b { font-size: 22px; }
  .site-header .brand .brand-claim-text { font-size: 11px !important; }
  .responsive-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px; font-size: 14px; border: 1px solid currentColor; border-radius: 3px; color: inherit; }
  .responsive-menu-toggle svg { width: 18px; height: 18px; }
  .site-header nav { display: none; position: absolute; inset: var(--portal-header-height) 0 auto; max-height: calc(100dvh - var(--portal-header-height)); overflow: auto; padding: 16px 5% 24px; background: white; color: #161719; border-bottom: 1px solid #ccd9df; box-shadow: 0 12px 24px #1018201a; }
  .site-header.menu-open nav { display: flex; flex-direction: column; gap: 8px; }
  .site-header nav > :is(.products-nav, .isc-nav, .hero-nav, .clinic-nav), .site-header .nav-source > a { font-size: 16px; height: auto; min-height: 44px; justify-content: flex-start; padding: 10px 0; }
  .site-header .nav-source { display: flex; flex-wrap: wrap; width: 100%; height: auto; min-height: 44px; margin: 0; gap: 8px; position: static; }
  .site-header .nav-source > button { width: 44px; }
  .site-header nav > a::after, .site-header nav > a::before { display: none !important; }
  .site-header .source-menu { position: static; display: none; width: 100%; padding: 12px 16px; flex-basis: 100%; transform: none; transition: none; box-shadow: none; background: #f4f7f8; border-top: 0; gap: 16px; }
  .site-header .nav-source.open .source-menu { display: grid; transform: none; }
  .site-header .source-menu > div + div { padding-left: 16px; }
  .site-header .channel-nav { display: flex; flex-direction: column; align-items: flex-start; height: auto; gap: 0; padding-top: 12px; margin-top: 4px; }
  .site-header .channel-nav a { font-size: 14px; min-height: 44px; display: flex; align-items: center; }
  .products-signatures { grid-template-columns: 1fr; }
  .signature-card.medical-product { grid-template-columns: 180px minmax(0, 1fr); }
  .medical-routine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .medical-evidence-cards { grid-template-columns: 1fr; }
  .medical-science-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .page-intro .page-intro-inner { min-height: 240px; }
  .page-intro .page-intro-title { font-size: 30px; }
  .page-intro .page-intro-description { font-size: 15px; }
  .products-grid, .grid { gap: 30px 16px; }
  .medical-product .product-card-copy { padding: 18px 12px; }
  .signature-card.medical-product { grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); }
  .signature-card.medical-product .product-card-copy { padding: 16px 12px; }
  .signature-card.medical-product .medical-product-photo { height: 210px; }
  #library-page .library-type-tabs > button, #library-page .library-type-tabs > a,
  #education-page .library-type-tabs > a { font-size: 14px; padding: 12px 4px; letter-spacing: 0; }
  #library-page .library-type-tabs b, #education-page .library-type-tabs b { font-size: 12px; }
  .clinic-guide-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-guide-tabs button { font-size: 14px; gap: 8px; padding: 12px 6px; }
  .clinic-doctor-products, .clinic-program-list, .medical-routine { grid-template-columns: 1fr; }
  .isc-flow-strip { grid-template-columns: 1fr; gap: 16px; }
  .isc-source-tabs { grid-template-columns: 1fr; }
  .isc-source-tabs button { text-align: left; padding: 14px; }
  .isc-purpose-grid { grid-template-columns: 1fr; }
  .isc-step-products, .isc-training-products .isc-step-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .film-caption { left: 5%; right: 5%; max-width: none; bottom: 142px; padding: 12px 16px; }
  .film-caption p { font-size: 18px; }
  .film-controls { left: 5%; right: auto; bottom: 74px; gap: 4px; }
  .film-dots { left: 5%; right: 5%; bottom: 24px; }
  .main-visual { height: 100svh; min-height: 100svh; max-height: none; }
  .clinic-map-panel { position: static; }
  .medical-detail-top, .medical-detail-body { padding-inline: 20px; }
  .image-reading-toolbar { padding: 10px; }
  .image-reading-toolbar h2 { flex-basis: 100%; }
  .image-reading-viewport { height: calc(100% - 140px); padding: 10px; }
}
@media (max-width: 420px) {
  .products-grid, .grid { grid-template-columns: 1fr; }
  .card-title { font-size: 16px; -webkit-line-clamp: 3; }
  .signature-card.medical-product { grid-template-columns: 1fr; }
  .products-filter-form, .clinic-filter-form { grid-template-columns: 1fr; }
  #library-page .library-type-tabs, #education-page .library-type-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .medical-science-numbers { grid-template-columns: 1fr 1fr; }
  .hero-builder-panel, .hero-preview-panel { padding-inline: 16px; }
}
@media (max-width: 900px) and (max-height: 500px) {
  .film-caption { bottom: 104px; padding: 8px 12px; }
  .film-caption p { font-size: 16px; line-height: 1.5; margin: 4px 0; }
  .film-caption > span { font-size: 12px; }
  .film-controls { bottom: 40px; }
  .film-dots { bottom: 4px; }
}
@media (prefers-reduced-motion: reduce) { .responsive-menu-toggle { transition: none; } }

/* Home sections share the same editorial heading, width and accent. */
.medical-home-science, .main-source, .product-films { width: 90%; max-width: 1200px; }
.medical-home-science { display: block; padding: 125px 0 0; margin: 0 auto; background: none; }
.medical-home-science > .home-section-title,
.main-source .home-section-title, .product-films .home-section-title {
  position: relative; isolation: isolate; width: fit-content; max-width: 100%;
  margin: 0 0 18px; font-size: 40px; font-weight: 500; line-height: 1.2;
  letter-spacing: -1.6px; color: #161719;
}
.medical-home-science > .home-section-title::before {
  content: ''; position: absolute; z-index: -1; left: -.06em; right: -.12em;
  bottom: .02em; height: .32em; background: #ccebf5; border-radius: 2px;
}
.medical-home-science > .home-section-description {
  margin: 0 0 55px; max-width: 680px; font-size: 16px;
  line-height: 1.8; color: var(--reading-muted); word-break: keep-all;
}
.home-science-panel {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px;
  padding: 48px 40px; min-height: 340px; background: #f2f6f6;
  border-top: 1px solid #dce7e9;
}
.home-science-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.home-science-founder {
  position: absolute; height: 410px; width: 264px; bottom: -40px; left: 43%;
  object-fit: cover; object-position: center top; opacity: .13; mix-blend-mode: multiply;
  mask-image: linear-gradient(90deg, transparent, #000 25%, #000 70%, transparent);
}
.home-science-product {
  position: absolute; width: 520px; height: 520px; right: -170px; top: -80px;
  object-fit: contain; opacity: .12; mix-blend-mode: multiply;
}
.home-science-copy, .home-science-timeline { position: relative; min-width: 0; }
.home-science-copy h3 {
  font-size: 28px; font-weight: 500; line-height: 1.65; letter-spacing: -.7px;
  margin: 0 0 20px; color: #161719; word-break: keep-all;
}
.medical-home-science .home-science-copy p { font-size: 16px; line-height: 1.8; color: var(--reading-text); margin: 0 0 18px; }
.medical-home-science .home-science-copy a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0;
  font-size: 14px; line-height: 1.7; margin: 0; color: var(--reading-link);
  border-bottom: 1px solid #b4cdd8;
}
.medical-home-science .home-science-timeline { margin: 0; gap: 24px; }
.medical-home-science .home-science-timeline li { align-items: baseline; gap: 20px; font-size: 15px; line-height: 1.8; }
.home-science-timeline b { min-width: 44px; font-size: 15px; }
.home-science-timeline span { color: #435864; word-break: keep-all; }
.home-science-achievements {
  list-style: none; padding: 0; margin: 0 0 36px; display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #d6e3e8;
}
.home-science-achievements li { display: grid; grid-template-rows: auto 1fr auto; justify-items: center; gap: 12px; padding: 32px 24px; min-width: 0; text-align: center; border-right: 1px solid #e0e9ed; }
.home-science-achievements li:nth-child(3n) { border-right: 0; }
.home-science-achievements strong { display: block; color: #245c75; font-size: clamp(36px, 4vw, 52px); font-weight: 400; line-height: 1.2; letter-spacing: -1px; margin: 0; white-space: nowrap; }
.home-science-achievements li:first-child strong { color: #161719; }
.home-science-achievements mark {
  color: inherit; font: inherit; padding: 0 .08em;
  background: linear-gradient(transparent 58%, #ccebf5 58%, #ccebf5 92%, transparent 92%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.home-science-achievements li > span { display: flex; align-items: center; justify-content: center; max-width: 270px; min-height: 3.4em; font-size: 16px; font-weight: 500; color: #263f4d; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
.home-science-achievements small { display: block; max-width: 270px; font-size: 13px; color: #526570; line-height: 1.8; margin: 0; word-break: keep-all; overflow-wrap: anywhere; }
.home-science-eyebrow { display: block; color: #526570; font-size: 12px; line-height: 1.7; letter-spacing: 1px; margin-bottom: 12px; }
.medical-home-science .home-science-timeline { gap: 16px; }
.home-science-history, .home-science-sources { border-bottom: 1px solid #d6e3e8; padding: 12px 0; }
.home-science-history summary, .home-science-sources summary { font-size: 15px; line-height: 1.8; color: #245c75; padding: 10px 0; min-height: 44px; cursor: pointer; }
.home-science-history summary > span { margin-left: 12px; color: #526570; font-size: 13px; }
.medical-home-science .home-science-scope, .medical-home-science .home-science-checked { color: #526570; font-size: 13px; line-height: 1.8; }
.home-science-full-timeline { list-style: none; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.home-science-full-timeline li { display: flex; align-items: baseline; gap: 18px; border-top: 1px solid #e1e9ed; padding: 20px 0; min-width: 0; }
.home-science-full-timeline b { color: #245c75; min-width: 44px; font-size: 15px; font-weight: 500; }
.home-science-full-timeline li > span { font-size: 15px; line-height: 1.8; color: #263f4d; word-break: keep-all; overflow-wrap: anywhere; }
.home-science-full-timeline small { display: block; font-size: 14px; line-height: 1.8; color: #526570; margin-top: 6px; }
.home-science-sources ul { padding-left: 20px; margin: 20px 0; }
.home-science-sources li { margin: 12px 0; }
.medical-home-science .home-science-sources a { color: #245c75; font-size: 14px; line-height: 1.8; min-height: 44px; padding: 8px 0; margin: 0; border: 0; text-decoration: underline; text-underline-offset: 3px; }
.medical-home-science .home-science-sources p { font-size: 14px; line-height: 1.8; color: #526570; margin: 6px 0; }
@media (max-width: 700px) {
  .home-science-achievements li { padding: 24px 12px; gap: 10px; }
  .home-science-achievements strong { font-size: clamp(28px, 5.5vw, 36px); letter-spacing: -.6px; }
  .home-science-achievements li > span { font-size: 14px; }
  .home-science-achievements small { font-size: 12px; }
  .home-science-full-timeline { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .home-science-achievements li { padding: 22px 8px; }
  .home-science-achievements strong { font-size: clamp(24px, 7vw, 28px); }
  .home-science-achievements li > span { font-size: 13px; line-height: 1.7; }
}

/* Return to unboxed captions and controls on the film itself. */
.film-caption {
  background: transparent; padding: 0; border-radius: 0; max-width: 60%;
  bottom: 110px; text-shadow: 0 1px 8px #000a;
}
.film-caption p { font-size: 18px; line-height: 1.65; font-weight: 500; }
.film-caption button { font-size: 14px; padding: 0; }
.film-controls {
  background: transparent; padding: 0; border-radius: 0; bottom: 115px;
  right: max(5%, calc((100% - 1200px)/2)); left: auto; gap: 12px;
  text-shadow: 0 1px 6px #000a;
}
.film-shade { inset: 30% 0 0; background: linear-gradient(transparent, #0006 48%, #000b); }
@media (max-width: 1300px) {
  .medical-home-science { padding-top: 90px; }
}
@media (max-width: 900px) {
  .medical-home-science > .home-section-title,
  .main-source .home-section-title, .product-films .home-section-title { font-size: 32px; }
  .home-science-panel { gap: 32px; padding: 32px; }
  .home-science-copy h3 { font-size: 25px; }
  .home-science-founder { left: 35%; }
  .film-caption { bottom: 136px; }
  .film-controls { bottom: 64px; }
}
@media (max-width: 600px) {
  .medical-home-science { padding-top: 60px; }
  .medical-home-science > .home-section-title,
  .main-source .home-section-title, .product-films .home-section-title { font-size: 27px; letter-spacing: -.9px; }
  .medical-home-science > .home-section-description { margin-bottom: 30px; }
  .home-science-panel { grid-template-columns: minmax(0, 1fr); padding: 28px 24px; gap: 28px; }
  .home-science-copy h3 { font-size: 24px; }
  .home-science-founder { width: 220px; height: 344px; left: auto; right: -20px; bottom: 10px; opacity: .1; }
  .home-science-product { width: 380px; height: 380px; right: -160px; top: -55px; opacity: .1; }
  .medical-home-science .home-science-timeline { gap: 16px; padding-top: 22px; border-top: 1px solid #d2dfe2; }
  .medical-home-science .home-science-timeline li { gap: 14px; font-size: 14px; }
  .film-caption { left: 5%; right: 5%; max-width: none; bottom: 138px; }
  .film-caption p { font-size: 16px; }
  .film-controls { right: 5%; left: auto; bottom: 52px; gap: 4px; }
  .film-dots { bottom: 8px; }
}
@media (max-width: 900px) and (max-height: 500px) {
  .film-caption { bottom: 104px; padding: 0; }
  .film-caption p { font-size: 16px; }
  .film-controls { bottom: 40px; }
  .film-dots { bottom: 4px; }
}

/* Brand-led home science heading: live text and the existing brand logo. */
.medical-home-science > .home-science-brand-title { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; width:fit-content; font-size:clamp(22px,2.1vw,30px); line-height:1.4; letter-spacing:-.65px; }
.home-science-brand-title > span { max-width:100%; color:#141414; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .home-science-brand-title > span { background:linear-gradient(110deg,#141414 0%,#321017 38%,#87182b 72%,#b51d32 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
}
.medical-home-science > .home-science-brand-title::before { background:#ffe985; }
.home-science-brand-title .home-science-brand-logo { display:block; width:256.5px; max-width:100%; height:auto; flex:0 1 256.5px; filter:brightness(0); }
@media(max-width:700px) { .medical-home-science > .home-science-brand-title { gap:12px; font-size:23px; line-height:1.5; letter-spacing:-.4px; } .home-science-brand-title .home-science-brand-logo { width:225px; flex-basis:225px; } }

