/* Shared website layout, October 2026. Replaces the desktop-only density layer.
   1280px canvas, 16px reading text, 32px section titles, 72px section rhythm. */
:root {
  --shell: 1280px;
  --gutter: 40px;
  --section-space: 72px;
  --header-height: 88px;
  --display: "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --body: "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}
body { font-size: 16px; line-height: 1.75; }
.js [data-reveal] { opacity: 1; translate: 0; transition: none; }
.cv2-hero__copy { animation: none; }
h1, h2, h3 { max-width: none; line-height: 1.25; letter-spacing: -.025em; }
h1 { font-size: 44px; }
h2 { font-size: 32px; }
h3 { font-size: 22px; }
.lang-zh h1, .lang-zh h2, .lang-zh h3 { letter-spacing: 0; line-height: 1.3; }
.lang-zh { line-height: 1.8; }
.page-conversion-v2 { --cv2-space: var(--section-space); }
.eyebrow { gap: 10px; margin-bottom: 14px; font-size: 13px; letter-spacing: .06em; }
.eyebrow span { min-width: auto; min-height: auto; padding-right: 10px; border: 0; border-right: 1px solid var(--line-strong); }
.text-link, .button, .header-enquiry { font-size: 14px; letter-spacing: .015em; }
.button { min-height: 48px; padding: 12px 20px; }
.button-row { gap: 12px; }
.section, .cv2-section, .page-conversion-home .cv2-scope { padding-block: var(--section-space); }
.section-heading, .cv2-section-heading { margin-bottom: 32px; }
.section-heading--split, .cv2-section-heading, .page-intro,
.cv2-contact__headline { grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.section-heading--split h2, .cv2-section-heading h2,
.two-column-heading h2 { max-width: none; font-size: 32px; line-height: 1.3; }
.section-heading--split > p, .cv2-section-heading > p,
.page-intro > p, .cv2-contact__headline > p { max-width: 760px; font-size: 16px; line-height: 1.75; }
.section-action, .cv2-section-action { justify-content: flex-start; margin-top: 32px; }
.breadcrumb { padding-block: 18px; }
.breadcrumb li { font-size: 13px; letter-spacing: 0; line-height: 1.6; }
.desktop-nav { gap: 26px; }
.desktop-nav > a, .nav-products__trigger { font-size: 14px; letter-spacing: 0; }
.site-header__inner { grid-template-columns: 148px 1fr auto; gap: 24px; }
.brand img { width: 138px; max-height: 66px; }
.language-switch a { font-size: 13px; white-space: nowrap; }
.breadcrumb li:last-child { min-width: 0; }
.breadcrumb li:last-child > span { max-width: min(56ch, 70vw); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Homepage: identity, product choice, manufacturing evidence. */
.cv2-hero__stage { width: min(var(--shell), calc(100% - var(--gutter) * 2)); min-height: 500px; grid-template-columns: 1fr 1.1fr; border-top: 0; }
.cv2-hero__copy { padding: 56px 40px 56px 0; }
.cv2-hero__copy h1 { font-size: clamp(38px, 3.55vw, 50px); line-height: 1.2; letter-spacing: -.035em; }
.lang-zh .cv2-hero__copy h1 { font-size: clamp(34px, 3.1vw, 44px); line-height: 1.35; letter-spacing: 0; }
.cv2-hero__tagline { margin-top: 24px; font-size: 21px; line-height: 1.5; }
.cv2-hero__body { display: block; margin-top: 12px; font-size: 16px; line-height: 1.75; }
.cv2-hero__copy .button-row { margin-top: 28px; }
.cv2-hero__media { align-self: stretch; background: var(--paper); }
.cv2-hero__media img { object-fit: contain; }
.metric-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric { min-height: 116px; padding: 24px 28px; gap: 10px; }
.metric strong { font-size: 32px; font-family: var(--body); letter-spacing: -.04em; }
.metric span { font-size: 13px; letter-spacing: .02em; }
.cv2-fields, .cv2-product-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cv2-field__visual { aspect-ratio: 2 / 1; }
.cv2-field__header { min-height: 120px; padding: 24px; align-items: center; }
.cv2-field__header h3 { max-width: none; margin-top: 6px; font-size: 24px; line-height: 1.3; }
.cv2-index { font-size: 13px; letter-spacing: .03em; }
.cv2-field__categories a { min-height: 52px; padding: 12px 16px; font-size: 14px; font-weight: 500; line-height: 1.5; }
.cv2-series-grid, .cv2-series-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.cv2-series-card, .cv2-series-row { display: flex; flex-direction: column; }
.cv2-series-card__media, .cv2-series-row__media { flex-shrink: 0; }
.cv2-series-card > div, .cv2-series-row > div { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.cv2-series-card p, .cv2-series-row > div > p { font-size: 14px; letter-spacing: .03em; }
.cv2-series-card h3, .cv2-series-row h3 { margin-top: 8px; font-size: 20px; line-height: 1.4; }
.cv2-series-card .text-link, .cv2-series-row .text-link { margin-top: auto; padding-top: 12px; }
.cv2-proof .cv2-section-heading > p { color: #d4e0e5; }
.cv2-proof__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-motion__copy h2 { font-size: 28px; line-height: 1.3; }
.home-motion__note, .home-motion__controls { font-size: 13px; line-height: 1.6; }
.home-motion__steps li { font-size: 16px; }
.cv2-proof__grid figcaption { padding-top: 12px; font-size: 14px; letter-spacing: .02em; }
.cv2-capabilities { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 40px; }
.cv2-capabilities article { padding: 24px; }
.cv2-capabilities article > span { display: none; }
.cv2-capabilities h3 { margin-top: 0; font-size: 20px; }
.cv2-capabilities p { font-size: 15px; line-height: 1.75; }
.cv2-final-cta { padding-block: 48px; }
.cv2-final-cta h2 { max-width: none; font-size: 32px; line-height: 1.3; }
.cv2-final-cta p { font-size: 15px; letter-spacing: 0; }

/* Product directory: clear names, compact jumps, complete product photography. */
.cv2-products-hero { padding-block: 56px 72px; }
.cv2-products-hero__head { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; margin-bottom: 36px; }
.cv2-products-hero__head h1 { max-width: 900px; font-size: 44px; line-height: 1.25; }
.cv2-products-hero__head .button { margin-top: 0; }
.cv2-product-entry { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); min-height: 280px; }
.cv2-product-entry__body { padding: 24px; }
.cv2-product-entry h2 { font-size: 24px; line-height: 1.35; }
.cv2-product-entry__body > p:not(.cv2-index) { margin-top: 12px; font-size: 15px; }
.cv2-category-group > header { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; }
.cv2-category-group > header > p, .cv2-category-group li a > span { display: none; }
.cv2-category-group > header h2 { font-size: 24px; }
.cv2-category-group > header a { grid-column: auto; font-size: 14px; letter-spacing: 0; }
.cv2-category-group li a { grid-template-columns: minmax(0, 1fr) 20px; min-height: 64px; padding: 16px 20px; }
.cv2-category-group li strong { font-size: 16px; font-weight: 500; }
.category-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding-block: 48px 64px; }
.category-hero__copy h1 { max-width: none; font-size: 44px; line-height: 1.25; }
.category-hero__copy > p:not(.eyebrow) { margin-top: 20px; font-size: 16px; }
.category-index { display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
.category-index li { min-height: 0; border: 0; }
.category-index li > a { display: flex; min-height: 44px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); }
.category-index span, .category-index em { display: none; }
.category-index strong { font-size: 14px; font-weight: 500; }
.category-directory { margin-top: 32px; }
.category-detail { min-height: 260px; padding: 28px; scroll-margin-top: calc(var(--header-height) + 24px); }
.category-detail__heading { display: block; }
.category-detail__heading > span { display: none; }
.category-detail h3 { font-size: 22px; line-height: 1.4; }
.category-detail > p { margin: 16px 0 24px; font-size: 16px; line-height: 1.75; }
.category-detail__series { padding-left: 0; }
.category-detail__series b { font-size: 14px; }
.category-detail__series span, .category-detail__action { font-size: 14px; }
.category-detail__action { margin-left: 0; letter-spacing: 0; }
.series-comparison-compact { margin-top: 56px; padding-top: 56px; }
.series-matrix thead th, .series-matrix tbody th, .series-matrix tbody td { font-size: 14px; letter-spacing: 0; line-height: 1.5; }
.series-matrix__identity small, .series-matrix__identity em,
.series-matrix td:nth-last-child(2) span, .series-matrix__action { font-size: 13px; letter-spacing: 0; }
.series-matrix__identity em { display: block; overflow: visible; }

/* Detail pages: identity, scope, full-width specifications, then a project action. */
.product-hero, .medical-detail-hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; padding-block: 40px 64px; }
.product-hero__visual { width: 100%; max-width: 480px; padding: 28px; }
.product-hero__visual figcaption, .medical-detail-hero figcaption { font-size: 13px; letter-spacing: 0; }
.product-hero__copy h1, .medical-detail-hero h1 { max-width: none; font-size: 42px; line-height: 1.25; }
.product-hero__copy > p:not(.eyebrow, .scope-note), .medical-detail-hero p:not(.eyebrow) { margin-top: 20px; font-size: 16px; line-height: 1.75; }
.product-hero__copy .button { margin-top: 24px; }
.scope-note { margin-top: 24px; padding-top: 16px; font-size: 14px; line-height: 1.75; }
.two-column-heading { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; }
.prose { font-size: 16px; line-height: 1.8; }
.prose p + p { margin-top: 16px; }
.spec-list > div { grid-template-columns: minmax(110px, .65fr) minmax(0, 1.5fr); gap: 24px; padding-block: 16px; }
.spec-list dt { font-size: 14px; letter-spacing: 0; }
.spec-list dd { font-size: 16px; line-height: 1.65; }
.model-section .two-column-heading { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.model-section .two-column-heading > div:first-child { max-width: 840px; }
.model-section .two-column-heading > div:first-child > p:not(.eyebrow) { margin-top: 16px; }
.specification-table th, .specification-table td { padding: 14px 18px; font-size: 15px; letter-spacing: 0; }
.table-note, .table-scroll-note, .series-matrix__scroll-note { font-size: 14px; line-height: 1.65; }
.needle-cage-guidance .two-column-heading { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
.needle-cage-guidance__questions { display: grid; max-width: 760px; gap: 28px; }
.needle-cage-guidance__item { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.needle-cage-guidance__item:last-child { padding-bottom: 0; border: 0; }
.needle-cage-guidance__item h3 { font-size: 21px; line-height: 1.4; }
.needle-cage-guidance__item p { color: var(--muted); margin-top: 12px; font-size: 16px; line-height: 1.8; }
.custom-project__grid, .medical-proof__grid { grid-template-columns: 1fr 1fr; gap: 48px; }
.custom-project__grid > div > p:not(.eyebrow), .medical-proof__grid > div > p:not(.eyebrow) { margin-top: 16px; font-size: 16px; }
.custom-project h2, .medical-proof h2 { font-size: 32px; }
.medical-category-nav a { min-height: 60px; padding: 16px; }
.medical-category-nav a span { display: none; }
.medical-detail-info, .medical-detail-rfq { padding-block: 48px; }
.page-medical-detail main h2 { font-size: 28px; }
.medical-detail-rfq dl { margin-block: 28px; }

/* Enquiry: one reading column above the contact details and form. */
.cv2-contact__header { padding-block: 48px 32px; }
.cv2-contact__headline h1 { max-width: none; font-size: 44px; line-height: 1.25; }
.cv2-contact__grid { grid-template-columns: 280px minmax(0, 1fr); gap: 48px; padding-top: 40px; }
.cv2-contact__intro h2 { font-size: 20px; }
.cv2-contact__details dt { font-size: 13px; letter-spacing: 0; }
.cv2-contact__details dd { font-size: 16px; }
.cv2-form { padding: 32px; }
.cv2-form > header h2 { margin-top: 0; font-size: 28px; }
.cv2-form > header span { display: none; }
.cv2-form > header > p { font-size: 14px; }
.cv2-form__section legend { font-size: 20px; }
.cv2-form__section legend span { display: none; }
.cv2-form label > span { font-size: 14px; letter-spacing: 0; text-transform: none; }
.cv2-form__status, .cv2-form__privacy, .cv2-form__attachment-note { font-size: 14px; line-height: 1.7; }
.cv2-consent span { font-size: 14px !important; line-height: 1.7; }
.cv2-form input, .cv2-form select, .cv2-form textarea { font-size: 16px; }

/* Consistent quiet footer; contact information is available on every page. */
.site-footer { border-top: 1px solid var(--line); background: var(--white); }
.site-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; padding-block: 48px; color: var(--navy); }
.site-footer__top::before { display: none; }
.footer-intro .eyebrow { color: var(--cyan-deep); }
.footer-intro h2 { max-width: none; font-size: 26px; color: var(--navy); line-height: 1.4; }
.footer-intro > p { margin-top: 16px; color: var(--muted); font-size: 15px; }
.footer-intro .button { margin-top: 20px; color: var(--navy); border-color: var(--line-strong); }
.footer-contact { border-top: 0; }
.footer-contact > div { padding-block: 12px; border-color: var(--line); }
.footer-label { color: var(--muted); font-size: 13px; letter-spacing: 0; }
.footer-contact a, .footer-contact address { color: var(--navy); font-size: 15px; overflow-wrap: anywhere; }
.site-footer__top--contact { display: block; }
.site-footer__top--contact .footer-contact { grid-template-columns: 1fr 1fr 1.5fr; gap: 32px; }
.site-footer__bottom { grid-template-columns: 130px 1fr; padding-block: 28px; gap: 24px 40px; border-top: 1px solid var(--line); }
.site-footer__bottom nav { justify-content: flex-end; gap: 12px 24px; }
.site-footer__bottom nav a { min-height: 32px; font-size: 14px; letter-spacing: 0; }
.footer-legal { grid-column: 1 / -1; justify-content: flex-start; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; text-align: left; }

@media (min-width: 901px) and (max-width: 1180px) {
  .site-header__inner { grid-template-columns: 112px 1fr auto; gap: 16px; }
  .brand img { width: 108px; }
  .desktop-nav { gap: 16px; }
  .header-enquiry { padding-inline: 12px; }
  .cv2-product-entry { grid-template-columns: 1fr; }
  .cv2-product-entry__media { height: 220px; border-right: 0; border-bottom: 1px solid var(--line); }
  .cv2-contact__grid { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .header-enquiry { display: none; }
}
@media (max-width: 900px) {
  :root { --gutter: 32px; --header-height: 72px; --section-space: 56px; }
  .site-header__inner { grid-template-columns: 118px 1fr; gap: 20px; }
  .mobile-nav > .shell > a > span, .mobile-products__primary > a > span { display: none; }
  .mobile-nav > .shell > a:not(.mobile-nav__contact), .mobile-products__primary > a { grid-template-columns: 1fr auto; font-size: 22px; letter-spacing: 0; }
  .brand img { width: 116px; max-height: 56px; }
  .cv2-hero__stage { display: grid; grid-template-columns: 1fr; min-height: 0; }
  .cv2-hero__copy { order: 0; padding: 40px 0; }
  .cv2-hero__copy h1 { font-size: 40px; }
  .cv2-hero__media { order: 1; min-height: 0; aspect-ratio: 3 / 2; }
  .metric { padding-inline: 20px; }
  .metric strong { font-size: 28px; }
  .cv2-field__header { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
  .cv2-field__header h3 { font-size: 22px; }
  .cv2-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv2-product-entries { grid-template-columns: 1fr; }
  .cv2-product-entry { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
  .cv2-section-heading { gap: 16px; }
  .cv2-products-hero { padding-block: 40px 56px; }
  .cv2-products-hero__head { grid-template-columns: 1fr; gap: 20px; }
  .cv2-products-hero__head h1, .cv2-contact__headline h1 { font-size: 36px; }
  .cv2-series-grid, .cv2-series-list, .cv2-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-hero, .product-hero, .medical-detail-hero { grid-template-columns: 1fr; gap: 32px; padding-block: 32px 48px; }
  .category-hero__copy h1, .product-hero__copy h1, .medical-detail-hero h1 { font-size: 36px; }
  .product-hero__visual { max-width: 440px; }
  .two-column-heading, .needle-cage-guidance .two-column-heading { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .custom-project__grid, .medical-proof__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cv2-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .cv2-contact__intro { position: static; order: 2; }
  .cv2-form { order: 1; }
  .site-footer__top { gap: 32px; }
  .site-footer__top--contact .footer-contact { grid-template-columns: 1fr 1fr; gap: 16px 32px; }
  .site-footer__top--contact .footer-contact > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  :root { --gutter: 20px; --section-space: 48px; }
  h1 { font-size: 32px; }
  h2, .section-heading--split h2, .cv2-section-heading h2,
  .two-column-heading h2, .custom-project h2, .medical-proof h2 { font-size: 26px; }
  h3 { font-size: 20px; }
  .eyebrow { font-size: 13px; margin-bottom: 12px; }
  .breadcrumb { padding-block: 12px; }
  .breadcrumb li { font-size: 12px; }
  .cv2-hero__copy { padding-block: 36px; }
  .cv2-hero__copy h1, .lang-zh .cv2-hero__copy h1 { font-size: clamp(28px, 8vw, 32px); line-height: 1.3; }
  .cv2-hero__tagline { font-size: 19px; margin-top: 20px; }
  .cv2-hero__body { font-size: 16px; }
  .cv2-hero__media { aspect-ratio: 3 / 2; }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric, .cv2-metrics .metric { min-height: 100px; padding: 20px 16px; }
  .metric strong { font-size: 26px; }
  .metric span { font-size: 13px; }
  .cv2-fields { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .cv2-field__visual { aspect-ratio: 3 / 2; }
  .cv2-field__header { min-height: 0; }
  .cv2-field__categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv2-field__categories a { padding: 12px; font-size: 14px; gap: 6px; }
  .cv2-series-grid, .cv2-series-list { gap: 28px 16px; }
  .cv2-series-card h3, .cv2-series-row h3 { font-size: 18px; }
  .cv2-series-card .text-link, .cv2-series-row .text-link { font-size: 13px; gap: 6px; }
  .cv2-proof__grid { grid-template-columns: 1fr; gap: 24px; }
  .cv2-capabilities { grid-template-columns: 1fr; margin-top: 32px; }
  .cv2-final-cta h2 { font-size: 26px; }
  .cv2-product-entry { grid-template-columns: 1fr; }
  .cv2-product-entry__media { height: 220px; border-right: 0; }
  .cv2-products-hero__head h1, .cv2-contact__headline h1,
  .category-hero__copy h1, .product-hero__copy h1, .medical-detail-hero h1 { font-size: 32px; }
  .cv2-category-group > header { grid-template-columns: 1fr; gap: 12px; }
  .cv2-category-group > header h2 { font-size: 22px; }
  .cv2-category-group ol { grid-template-columns: 1fr; }
  .category-directory { grid-template-columns: 1fr; }
  .category-detail { min-height: 0; padding: 24px 20px; }
  .category-detail h3 { font-size: 21px; }
  .category-hero__visual { aspect-ratio: 3 / 2; }
  .product-hero__visual { max-width: 360px; padding: 20px; }
  .spec-list > div { grid-template-columns: 1fr; gap: 6px; }
  .needle-cage-guidance__item h3 { font-size: 20px; }
  .medical-category-nav { grid-template-columns: 1fr 1fr; }
  .medical-category-nav a { padding: 12px; font-size: 14px; }
  .page-medical-detail main h2 { font-size: 26px; }
  .cv2-contact__header { padding-block: 36px 28px; }
  .cv2-form { padding: 24px 18px; }
  .cv2-form > header { align-items: start; flex-direction: column; gap: 8px; }
  .cv2-form > header h2 { font-size: 24px; }
  .cv2-form__grid { grid-template-columns: 1fr; }
  .cv2-form__submit { flex-wrap: wrap; gap: 16px; }
  .site-footer__top { grid-template-columns: 1fr; padding-block: 36px; }
  .site-footer__top--contact .footer-contact { grid-template-columns: 1fr; gap: 4px; }
  .site-footer__top--contact .footer-contact > div:last-child { grid-column: auto; }
  .site-footer__bottom { grid-template-columns: 1fr; gap: 24px; }
  .site-footer__bottom nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
  .footer-legal { grid-column: auto; }
}

/* Claude Design: reading pages only. 1280px shell, 780px reading measure,
   16px body, 44/32px headings, 72px sections; existing brand colours/assets. */
:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main {
  --shell: 1280px;
  font-size: 16px;
  line-height: 1.75;
}
:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h1 {
  max-width: none;
  font-size: 44px;
  line-height: 1.16;
  letter-spacing: -.025em;
}
:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h2 {
  max-width: none;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -.02em;
}
:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h3 {
  font-size: 22px;
  line-height: 1.35;
}
:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main :is(.eyebrow, .text-link) {
  font-size: 14px;
  line-height: 1.5;
}

/* About: a clear introduction, followed by complete manufacturing evidence. */
.page-about .e-split-hero--about {
  width: min(var(--shell), calc(100% - var(--gutter) * 2));
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 36px;
  padding-block: var(--section-space);
  border: 0;
}
.page-about .e-split-hero__copy { max-width: 780px; padding: 0; }
.page-about .e-split-hero__copy > p:not(.eyebrow) {
  max-width: 780px;
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.75;
}
.page-about .e-split-hero__media {
  order: 0;
  aspect-ratio: auto;
  background: var(--paper);
}
.page-about .e-split-hero__media img { height: clamp(320px, 36vw, 520px); object-fit: contain; }
.page-about .metric-section { padding-block: 0 36px; }
.page-about .metric { min-height: 112px; padding: 24px; }
.page-about .metric strong { font-size: 32px; line-height: 1.2; }
.page-about .metric span { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
.page-about .story-section__grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 780px;
  gap: 24px;
}
.page-about .prose { font-size: 16px; line-height: 1.8; }
.page-about .prose > p + p { margin-top: 24px; }
.page-about .workshop-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto;
  align-items: start;
  gap: 24px;
  padding-block: var(--section-space);
}
.page-about .workshop-gallery figure { min-width: 0; overflow: visible; aspect-ratio: auto; }
.page-about .workshop-gallery__large { grid-column: auto; grid-row: auto; }
.page-about .workshop-gallery img { height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: var(--paper); }
.page-about .workshop-gallery figcaption {
  position: static;
  padding: 14px 0 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .02em;
}
.page-about .section-heading--split {
  grid-template-columns: minmax(0, 1fr);
  max-width: 780px;
  gap: 20px;
  margin-bottom: 36px;
}
.page-about .section-heading--split > p { max-width: 780px; font-size: 16px; line-height: 1.75; }
.page-about .process-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.page-about .process-list li { grid-template-columns: 40px minmax(0, 1fr); gap: 12px 16px; align-items: start; padding-block: 28px; }
.page-about .process-list li > span { font-size: 14px; line-height: 1.5; }
.page-about .process-list li > p { grid-column: 2; max-width: none; font-size: 16px; line-height: 1.75; }
.page-about .quality-detail__grid { gap: 24px; }
.page-about .quality-detail__grid article { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 28px; }
.page-about .quality-detail__grid article > :is(span, h3, p, img, a) { grid-column: 1; grid-row: auto; }
.page-about .quality-detail__grid article > span { font-size: 14px; line-height: 1.5; }
.page-about .quality-detail__grid article p { font-size: 16px; line-height: 1.75; }
.page-about .quality-detail__grid article img { max-height: 440px; margin-top: 8px; padding: 16px; object-fit: contain; }
.page-about .section-action { margin-top: 36px; }
.page-about :is(#manufacturing, #quality) { scroll-margin-top: calc(var(--header-height) + 24px); }

/* News: readable editorial rows, with complete images alongside the story. */
.page-news .page-intro { display: block; max-width: 780px; padding-block: var(--section-space); }
.page-news .page-intro > p { max-width: 780px; margin-top: 24px; font-size: 16px; line-height: 1.75; }
.page-news .news-list { padding-top: 0; padding-bottom: var(--section-space); }
.page-news .news-list .article-card {
  display: grid;
  grid-template-columns: minmax(280px, 5fr) minmax(0, 8fr);
  gap: 48px;
  align-items: center;
  padding-block: 36px;
  border-top: 1px solid var(--line);
}
.page-news .article-card__image { aspect-ratio: 3 / 2; background: var(--paper); }
.page-news .article-card__image img { width: 100%; height: 100%; object-fit: contain; }
.page-news .news-list .article-card :is(h2, h3) { font-size: 28px; line-height: 1.35; }
.page-news .article-card__body { max-width: 780px; padding: 0; }
.page-news .article-card time { margin-bottom: 16px; font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
.page-news .article-card__body > p { margin-top: 20px; font-size: 16px; line-height: 1.75; }
.page-news .article-card .text-link { margin-top: 24px; }

/* Articles: metadata, title, summary, image, then one uninterrupted column. */
.page-article-detail :is(.article-hero, .article-body) { max-width: 780px; }
.page-article-detail .article-hero { display: block; padding-top: var(--section-space); }
.page-article-detail .article-hero__meta { flex-wrap: wrap; gap: 12px 24px; padding-bottom: 24px; }
.page-article-detail .article-hero__meta time { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
.page-article-detail .article-hero > h1 { margin-top: 32px; }
.page-article-detail .article-hero > p { max-width: none; margin-top: 24px; font-size: 16px; line-height: 1.8; }
.page-article-detail .article-hero__image { margin-top: 36px; aspect-ratio: auto; }
.page-article-detail .article-hero__image img { height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.page-article-detail .article-hero__image figcaption { padding-block: 14px; font-size: 14px; line-height: 1.6; }
.page-article-detail .article-body { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-block: 48px var(--section-space); }
.page-article-detail .article-body__content { max-width: none; font-size: 16px; line-height: 1.85; }
.page-article-detail .article-body__content > p + p { margin-top: 24px; }
.page-article-detail .article-body__content > p:first-child::first-letter {
  float: none;
  margin: 0;
  color: inherit;
  font: inherit;
}
.page-article-detail .article-note { margin-top: 36px; padding: 24px; }
.page-article-detail .article-note strong { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
.page-article-detail .article-note p { font-size: 16px; line-height: 1.75; }
.page-article-detail .article-back { position: static; justify-self: start; padding-top: 20px; }

/* Reference pages: a common reading width and question-before-answer order. */
.page-legal .legal-document { max-width: 780px; padding-block: var(--section-space); }
.page-legal .legal-document > header { display: block; padding-bottom: 36px; }
.page-legal .legal-document > header > p:not(.eyebrow) { max-width: none; margin-top: 24px; font-size: 16px; line-height: 1.8; }
.page-legal .legal-document section { display: block; padding-block: 32px; }
.page-legal .legal-document section h2 { margin-bottom: 16px; }
.page-legal .legal-section__body { min-width: 0; font-size: 16px; line-height: 1.8; }
.page-legal .legal-document section p { max-width: none; margin-top: 16px; font-size: 16px; line-height: 1.8; }
.page-legal .legal-section__body > :first-child { margin-top: 0; }
.page-legal .legal-section__body ul { padding-left: 24px; margin-top: 16px; }
.page-legal .legal-section__body li + li { margin-top: 8px; }
.page-legal .legal-document section[id] { scroll-margin-top: calc(var(--header-height) + 24px); }
.page-faq .legal-document { max-width: 1028px; }
.page-faq .legal-document > header { max-width: 780px; }
.page-faq .faq-layout { display: grid; grid-template-columns: 200px minmax(0, 780px); gap: 48px; padding-top: 32px; }
.page-faq .faq-index {
  display: block;
  position: sticky;
  top: calc(var(--header-height) + 24px);
  align-self: start;
  max-height: calc(100dvh - var(--header-height) - 48px);
  overflow-y: auto;
}
.page-faq .faq-index > p { margin-bottom: 16px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.page-faq .faq-index ol { margin: 0; padding: 0; list-style: none; }
.page-faq .faq-index a { display: flex; min-height: 44px; align-items: center; gap: 12px; padding-block: 10px; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.5; text-decoration: none; }
.page-faq .faq-index a > span { color: var(--cyan-deep); font-variant-numeric: tabular-nums; }
.page-faq .faq-list { min-width: 0; }
.page-faq .legal-document .faq-item:first-child { padding-top: 0; }
.page-faq .legal-document__action { margin-top: 36px; margin-left: 248px; }
.page-privacy .legal-sections { padding-top: 4px; }
.page-downloads .download-grid { display: block; }
.page-downloads .download-grid section .button { margin-top: 24px; }

/* 404 keeps the existing recovery actions within the same readable scale. */
.page-404 .not-found { max-width: 780px; min-height: min(640px, calc(100dvh - var(--header-height))); padding-block: var(--section-space); }
.page-404 .not-found > p { max-width: none; margin-top: 24px; font-size: 16px; line-height: 1.8; }
.page-404 .not-found .button-row { margin-top: 32px; }

@media (max-width: 900px) {
  .page-about :is(.workshop-gallery, .process-list, .quality-detail__grid) { grid-template-columns: minmax(0, 1fr); }
  .page-about .workshop-gallery { max-width: 780px; gap: 32px; }
  .page-about .workshop-gallery__large { grid-column: auto; grid-row: auto; }
  .page-about .quality-detail__grid article { max-width: 780px; width: 100%; margin-inline: auto; }
  .page-news .news-list { max-width: 780px; }
  .page-news .news-list .article-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-faq .legal-document { max-width: 780px; }
  .page-faq .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .page-faq .faq-index { position: static; max-height: none; overflow: visible; }
  .page-faq .legal-document__action { margin-left: 0; }
}

@media (max-width: 600px) {
  :is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main { --gutter: 20px; --section-space: 48px; }
  :is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h1 { font-size: 32px; }
  :is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h2 { font-size: 26px; }
  :is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main h3 { font-size: 20px; }
  .page-about .e-split-hero--about { gap: 28px; }
  .page-about .e-split-hero__media img { height: auto; aspect-ratio: 3 / 2; }
  .page-about .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-about .metric { min-height: 104px; padding: 20px 16px; }
  .page-about .metric strong { font-size: 28px; }
  .page-about .metric span { font-size: 13px; }
  .page-about .section-heading--split { margin-bottom: 28px; }
  .page-about .quality-detail__grid article { padding: 24px 20px; }
  .page-about .quality-detail__grid article img { padding: 12px; }
  .page-news .news-list .article-card { padding-block: 28px; }
  .page-news .news-list .article-card :is(h2, h3) { font-size: 24px; }
  .page-article-detail .article-hero > h1 { margin-top: 24px; }
  .page-article-detail .article-hero__image { margin-top: 28px; }
  .page-article-detail .article-body { padding-top: 32px; }
  .page-article-detail .article-note { padding: 20px; }
  .page-legal .legal-document > header { padding-bottom: 28px; }
  .page-legal .legal-document section { padding-block: 28px; }
  .page-404 .not-found { min-height: 520px; }
}

.lang-zh:is(.page-about, .page-news, .page-article-detail, .page-legal, .page-404) main :is(h1, h2, h3) { letter-spacing: 0; line-height: 1.3; }
.page-faq .legal-document .faq-item h2 { font-size: 22px; line-height: 1.4; }
.page-privacy .legal-document section h2 { font-size: 24px; }
@media (max-width: 900px) {
  .page-faq .faq-index ol { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; }
  .page-faq .faq-index li { flex-shrink: 0; }
  .page-faq .faq-index a { padding: 10px 14px; border: 1px solid var(--line); }
  .page-faq .faq-index a span { display: none; }
}
@media (max-width: 600px) {
  .page-faq .legal-document .faq-item h2 { font-size: 20px; }
  .page-privacy .legal-document section h2 { font-size: 22px; }
}
