/* Core information pages. Product and homepage layouts remain outside this scope. */
.core-page{max-width:1180px;padding-bottom:104px;background:var(--warm);color:var(--ink)}
.core-page [hidden]{display:none!important}
.core-page h1,.core-page h2,.core-page h3{font-weight:500}
.core-page h1{font-size:52px;line-height:1.16;letter-spacing:-.025em;margin:16px 0 24px;text-wrap:balance}
.core-page h2{font-size:36px;line-height:1.25;letter-spacing:-.018em;margin:0 0 28px;text-wrap:balance}
.core-page h3{font-size:22px;line-height:1.4;margin:0 0 14px}
.core-page p,.core-page li{font-size:17px;line-height:1.85}
.core-page p{margin:0 0 20px}
.core-page .eyebrow,.core-page .core-label{font-size:13px;line-height:1.6;letter-spacing:.035em;color:var(--muted);margin:0 0 12px}
.core-page .core-intro{padding-top:64px;margin-bottom:40px}
.core-page .core-lead{max-width:720px;color:var(--muted)}
.core-page .core-section{margin-top:96px}
.core-page .btn,.core-page .text-link{font-size:16px;line-height:1.5}
.core-page .core-invitation{border-top:1px solid var(--line);padding-top:36px;display:flex;gap:40px;justify-content:space-between;align-items:center}
.core-page .core-invitation-copy{max-width:760px}
.core-page .core-invitation h2{font-size:32px;line-height:1.3;margin-bottom:16px}
.core-page .core-invitation p:last-child{margin-bottom:0}
.core-page .core-invitation>.btn{flex-shrink:0}
.core-page .core-invitation .core-order-note{color:var(--muted);margin-bottom:30px}
.core-page .core-invitation .text-link{margin-top:12px}

/* Product collection: one searchable list, with four compatible filter hooks. */
.core-page .core-catalog-tools{display:flex;flex-wrap:wrap;gap:20px 28px;justify-content:space-between;align-items:center;margin:0}
.core-page .core-catalog-tools .filters{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 530px}
.core-page .core-catalog-tools .filter{font-size:16px;line-height:1.5;min-height:42px}
.core-page .core-catalog-tools .search{flex:0 1 330px;min-width:250px}
.core-page .core-catalog-tools input{font-size:16px;line-height:1.5;width:100%;border-color:var(--line)}
.core-page .result-count{font-size:13px;line-height:1.6;color:var(--muted);margin:22px 0 24px}
.core-page .core-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.core-page .core-product-grid .product-card{display:flex;flex-direction:column;min-width:0;background:var(--warm);border:1px solid var(--line);transition:border-color .2s}
.core-page .core-product-grid .product-card:hover{border-color:#a49b93}
.core-page .core-product-grid .product-image{background:var(--warm);height:300px;min-height:300px;position:relative;display:flex;justify-content:center;align-items:center;padding:16px}
.core-page .core-product-grid .product-image img{display:block;width:min(100%,var(--display-width,320px));max-width:320px;max-height:268px;height:auto;object-fit:contain}
.core-page .core-product-grid [data-product="breakaway-swab"] .product-image img{width:min(100%,220px);max-height:286px}
.core-page .core-product-grid [data-product="adhesive-collector"] .product-image img{width:min(100%,170px);max-height:275px}
.core-page .core-product-grid [data-product="push-release-swab"] .product-image img{width:min(100%,320px)}
/* Keep the series card intact while showing its two full product versions equally. */
.core-page .core-product-grid [data-product="push-release-swab"] .card-pcs-versions{display:grid;grid-template-rows:1fr 1fr;gap:8px;padding:10px 16px}
.core-page .core-product-grid .card-pcs-version{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.core-page .core-product-grid .card-pcs-picture{display:flex;align-items:center;justify-content:center;height:98px;width:100%}
.core-page .core-product-grid [data-product="push-release-swab"] .card-pcs-picture img{width:auto;max-width:100%;height:auto;max-height:98px}
.core-page .core-product-grid .card-pcs-label{margin-top:4px;text-align:center;font-size:13px;line-height:1.4;color:var(--ink)}
.core-page .core-product-grid .card-pcs-label small{margin-left:6px;font-size:11px;line-height:1.5;color:var(--muted)}
.core-page .core-product-grid .card-pcs-label .card-pcs-sku{white-space:nowrap}
.core-page .core-product-grid .product-meta{padding:24px;flex:1;border-top:1px solid var(--line)}
.core-page .core-product-grid .product-meta h3{font-size:22px;line-height:1.4;margin:10px 0 12px}
.core-page .core-product-grid .product-meta p{font-size:17px;line-height:1.85;margin:0 0 20px}
.core-page .core-product-grid .product-category,.core-page .core-product-grid .product-code{font-size:13px;line-height:1.6}
.core-page .no-results{grid-column:1/-1;padding:40px 0;font-size:17px;line-height:1.85}

/* The real field photograph has a separate role from product cutouts. */
.core-page .core-about-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px;align-items:center}
.core-page .core-about-copy{min-width:0}
.core-page .core-about-photo{width:100%;max-width:420px;margin:0 0 0 auto}
.core-page .core-about-photo img{display:block;width:100%;height:auto;object-fit:contain}
.core-page .core-about-photo figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:14px}
.core-page .core-company-identity{margin-top:28px}
.core-page .core-company-identity p{margin:0 0 6px}
.core-page .core-company-identity .core-company-descriptor{font-size:13px;line-height:1.6;color:var(--muted)}
.core-page .core-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}
.core-page .core-method-item{border-top:1px solid var(--line);padding-top:22px}
.core-page .core-index{display:block;font-size:13px;line-height:1.6;color:var(--accent);margin-bottom:22px}
.core-page .core-method-item p{margin-bottom:0}
.core-page .core-reading{max-width:720px;margin-inline:auto}
.core-page .core-story h2{font-size:32px;line-height:1.3;margin-bottom:28px}
.core-page .core-story p:last-child{margin-bottom:0}
.core-page .core-story-context{margin-top:28px;padding-left:20px;border-left:2px solid var(--line);color:var(--muted)}

/* Documents keep their language, edition and real file size together. */
.core-page .core-document-library{margin-top:48px}
.core-page .core-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.core-page .core-document-card{background:var(--warm);padding:32px;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.core-page .core-document-card .core-document-format{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:28px}
.core-page .core-document-card h3{font-size:24px;line-height:1.4;margin-bottom:24px;max-width:24ch}
.core-page .core-document-card .core-document-edition{margin-bottom:6px}
.core-page .core-document-card .core-document-size{color:var(--muted);margin-bottom:28px}
.core-page .core-document-actions{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:auto}

/* Contact is direct: two phone numbers, two original QR images, and a copyable brief. */
.core-page .core-contact-direct{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;align-items:start}
.core-page .core-contact-item+.core-contact-item{margin-top:30px}
.core-page .core-contact-company{font-size:24px;line-height:1.45;max-width:33ch;margin:0}
.core-page .core-phone-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.core-page .core-phone-list a{font-size:28px;line-height:1.4;letter-spacing:-.015em;text-decoration:none}
.core-page .core-contact-message{max-width:520px}
.core-page .core-inquiry-summary{font-size:17px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid var(--line);padding:0 0 0 20px;margin:26px 0 24px}
.core-page #copy-status{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 0}
.core-page .core-wechat-layout{display:grid;grid-template-columns:minmax(360px,5fr) minmax(0,6fr);gap:72px;align-items:start}
.core-page .core-wechat-codes h3{font-size:22px;margin-bottom:20px}
.core-page .core-qr-grid{display:flex;flex-wrap:wrap;gap:24px}
.core-page .core-qr-grid figure{width:160px;margin:0}
.core-page .core-qr-grid img{display:block;width:160px;max-width:100%;height:auto;object-fit:contain}
.core-page .core-qr-grid figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}
.core-page .core-preparation-copy ul{padding-left:22px;margin:20px 0 24px}
.core-page .core-preparation-copy li{margin-bottom:10px}
.core-page .core-contact-literature h2{font-size:32px;line-height:1.3;margin-bottom:20px}

/* Privacy is a short reading document, without a marketing invitation. */
.core-page .core-privacy-document{max-width:720px;margin-inline:auto}
.core-page .core-privacy-document h1{font-size:32px;line-height:1.35}
.core-page .core-privacy-document .core-intro{margin-bottom:52px}
.core-page .core-privacy-section+.core-privacy-section{margin-top:52px}
.core-page .core-privacy-section h2{font-size:32px;line-height:1.35;margin-bottom:20px}
.core-page .core-privacy-section p:last-child{margin-bottom:0}

@media(max-width:1100px){
  .core-page .core-about-hero{gap:48px}
  .core-page .core-contact-direct,.core-page .core-wechat-layout{gap:48px}
  .core-page .core-product-grid .product-meta{padding:20px}
}
@media(max-width:900px){
  .core-page .core-intro{padding-top:48px}
  .core-page .core-section{margin-top:80px}
  .core-page .core-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .core-page .core-about-hero{grid-template-columns:1fr;gap:36px}
  .core-page .core-about-photo{margin:0;max-width:420px}
  .core-page .core-about-copy{max-width:720px}
  .core-page .core-method-grid{gap:24px}
  .core-page .core-contact-direct,.core-page .core-wechat-layout{grid-template-columns:1fr;gap:36px}
  .core-page .core-invitation{align-items:flex-start;gap:28px;flex-direction:column}
}
@media(max-width:600px){
  .core-page{padding-bottom:72px}
  .core-page h1{font-size:38px;line-height:1.2}
  .core-page h2{font-size:30px}
  .core-page .core-intro{padding-top:36px;margin-bottom:32px}
  .core-page .core-section{margin-top:64px}
  .core-page .core-catalog-tools .filters{flex-basis:100%}
  .core-page .core-catalog-tools .search{flex-basis:100%;min-width:0}
  .core-page .core-catalog-tools .filter{font-size:14px}
  .core-page .core-product-grid{grid-template-columns:1fr}
  .core-page .core-method-grid,.core-page .core-document-grid{grid-template-columns:1fr}
  .core-page .core-method-item{padding-top:18px}
  .core-page .core-method-item+.core-method-item{margin-top:12px}
  .core-page .core-index{margin-bottom:14px}
  .core-page .core-document-card{padding:28px}
  .core-page .core-story h2,.core-page .core-invitation h2,.core-page .core-contact-literature h2{font-size:28px}
  .core-page .core-privacy-document h1,.core-page .core-privacy-section h2{font-size:28px}
}
/* PCS v24: keep blue unchanged and double the previous white product-card view. */
.core-page .core-product-grid [data-product="push-release-swab"] .card-pcs-versions{grid-template-rows:auto auto}
.core-page .core-product-grid [data-product="push-release-swab"] [data-card-pcs-version="locking"] .card-pcs-picture{height:116px}
.core-page .core-product-grid [data-product="push-release-swab"] [data-card-pcs-version="locking"] .card-pcs-picture img{width:min(100%,170px);max-width:170px;max-height:none}
.core-page .core-product-grid [data-product="push-release-swab"] [data-card-pcs-version="standard"] .card-pcs-picture{height:70px}
.core-page .core-product-grid [data-product="push-release-swab"] [data-card-pcs-version="standard"] .card-pcs-picture img{width:min(64%,108.8px);max-width:108.8px;max-height:none}
