/* GENonLAB / calm, image-led refinement.
   Keep content, images and application behavior intact. This sheet is applied
   after route styles by build-worker.mjs, including protected member pages. */
:root {
  --ink: #1d2630;
  --muted: #586575;
  --line: #e1e5eb;
  --wash: #f5f5f7;
  --accent: #195c99;
  --accent-dark: #124a80;
  --surface-radius: 24px;
  --surface-shadow: 0 8px 30px rgb(25 40 62 / 5%);
  scroll-padding-top: 156px;
}
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
.section-kicker, .eyebrow { font-weight: 650; letter-spacing: .13em; }
a, button, input, select, textarea { touch-action: manipulation; }

/* Frosting belongs to navigation. The solid background is the fallback. */
.site-header {
  background: #fafbfc;
  border-bottom-color: rgb(44 61 80 / 10%);
  box-shadow: 0 3px 18px rgb(19 41 68 / 3%);
  isolation: isolate;
}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  .site-header {
    background: rgb(250 251 253 / 92%);
    -webkit-backdrop-filter: saturate(135%) blur(20px);
    backdrop-filter: saturate(135%) blur(20px);
  }
}
.account-bar { background: rgb(239 241 245 / 72%); border-color: rgb(44 61 80 / 7%); color: var(--ink); }
.account-bar-inner { min-height: 38px; }
.account-bar a { color: #36475a; font-weight: 550; font-size: 14px; padding-block: 9px; }
.account-bar [data-auth-label] { color: var(--muted); font-size: 13px; }
.account-bar [data-admin-link] { color: var(--accent); }
.account-bar a:focus-visible { outline-color: var(--accent); }
.header-inner { min-height: 86px; gap: 24px; }
.brand-logo { width: 208px; }
.desktop-nav { gap: 24px; font-size: 14px; font-weight: 550; }
.desktop-nav > a { white-space: nowrap; }
.desktop-nav > .button { color: white; }
.desktop-nav > .button:hover { color: white; }
.button {
  border-radius: 999px;
  min-height: 50px;
  padding: 14px 25px;
  font-weight: 600;
  gap: 16px;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.button:hover { box-shadow: 0 6px 18px rgb(25 92 153 / 12%); }
.button.small { min-height: 42px; padding: 11px 20px; }
.button.ghost { background: #fff; border-color: #c9d3de; color: var(--accent); }
.button.ghost:hover { background: #f0f5fa; }
.button:disabled { transform: none; box-shadow: none; }
.language-switch { background: #e9edf2; border-color: transparent; border-radius: 10px; padding: 3px; gap: 2px; }
.language-switch a { border-radius: 7px; font-size: 14px; font-weight: 600; padding: 7px 9px; }
.language-switch a[aria-current="true"] { background: white; color: var(--ink); box-shadow: 0 1px 5px rgb(30 45 65 / 12%); }
.menu-toggle { border-radius: 10px; background: #fff; border-color: #d7dee6; min-height: 42px; }
.menu-toggle[aria-expanded="true"] { background: #eaf2fa; color: var(--accent); }

/* Main visual: the original photograph remains large and prominent. */
.home-refined .hero { background: #f5f5f7; overflow: hidden; }
.home-refined .hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 42px;
  min-height: 0;
  padding-block: 56px 64px;
}
.home-refined .hero-copy { padding: 36px 0; min-width: 0; }
.home-refined .eyebrow { font-size: 13px; letter-spacing: .11em; margin-bottom: 25px; }
.home-refined .hero h1,
html[lang="en"] .home-refined .hero h1 {
  font-size: clamp(2.5rem, 3.7vw, 3.5rem);
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.045em;
  margin-bottom: 28px;
}
.home-refined .hero h1 em { color: var(--accent); }
.home-refined .hero-description { font-size: 18px; line-height: 1.85; max-width: 550px; }
.home-refined .hero-description br { display: none; }
.home-refined .hero-actions { margin-top: 34px; gap: 12px; }
.home-refined .hero-image {
  margin: 0;
  min-height: 450px;
  border-radius: 28px;
  box-shadow: 0 18px 50px rgb(31 60 90 / 12%);
}
.home-refined .hero-image img { object-position: 55% center; }
.home-refined .image-note {
  right: 22px;
  bottom: 22px;
  max-width: calc(100% - 44px);
  background: #153950;
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 16px;
  padding: 14px 20px;
  font-size: 14px;
  box-shadow: 0 4px 20px rgb(0 20 40 / 14%);
}
.home-refined .image-note span { color: #d4e3f0; margin-bottom: 3px; font-size: 12px; }
.home-refined .quickbar { border-bottom-color: #e8ebef; background: #fff; }
.home-refined .quickbar-inner { padding-block: 30px; }
.home-refined .quick-number { font-family: inherit; font-size: 17px; font-weight: 600; letter-spacing: -.02em; color: var(--accent); }
.home-refined .quick-item strong { font-size: 15px; }
.home-refined .quick-item span:not(.quick-number) { font-size: 14px; margin-top: 2px; }
.home-refined .section { padding-block: 100px; }
.home-refined .section-head { margin-bottom: 36px; gap: 24px; }
.home-refined .section-head h2 { font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.35; letter-spacing: -.04em; }

/* Product images stay in their existing frames; no replacement illustrations. */
.catalog-search { border: 1px solid #c8d2de; border-radius: 16px; padding: 7px 8px 7px 20px; box-shadow: 0 2px 10px rgb(25 40 62 / 3%); }
.catalog-search button[type="submit"] { border-radius: 10px; min-height: 44px; }
.home-refined .home-product-search { margin-bottom: 36px; }
.home-refined .brand-catalog-grid { gap: 24px; }
.home-refined .brand-catalog-card {
  border-color: #e3e7ed;
  border-radius: var(--surface-radius);
  box-shadow: var(--surface-shadow);
  background: #fff;
}
.home-refined .brand-catalog-card:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgb(25 40 62 / 9%); }
.home-refined .brand-card-content { padding: 25px 24px 20px; }
.home-refined .brand-card-content h3 { font-size: 1.4rem; font-weight: 650; }
.home-refined .brand-card-content .brand-count { color: var(--muted); }
.home-refined .brand-card-actions { border-top: 1px solid #e7ebf0; padding-top: 12px; }
.home-refined .tip-brand { background: #f7f8fa; }
.home-refined .tip-brand .brand-poster-preview { background: #edf1f5; }
.home-refined .featured-brand { padding: 36px; background: #f5f5f7; border-color: #e2e6eb; border-radius: 28px; }
.home-refined .featured-product { border-color: #e3e7ed; border-radius: 18px; box-shadow: 0 4px 15px rgb(25 40 62 / 3%); }
.home-group-links { gap: 10px; }
.home-group-links a { border-radius: 999px; border-color: #d8dfe7; background: #fafbfd; padding: 11px 16px; font-size: 14px; }
.home-refined .research-home { background: #f5f5f7; }
.synthesis-family, .analysis-family {
  border-color: #e1e6ed;
  border-radius: var(--surface-radius);
  box-shadow: var(--surface-shadow);
}
.family-heading { padding: 32px 30px 26px; }
.family-heading h3 { font-weight: 650; }
.family-services { gap: 18px; }
.family-image { border-radius: 14px; }
.family-service h4 { font-weight: 600; }
.family-guide-link { margin-top: 22px; padding-block: 20px; }
.family-order { min-height: 44px; padding-block: 7px; }
.analysis-family > div { padding: 28px; }
.analysis-family h3 { font-weight: 650; }
.home-refined .about { background: #182b3d; }
.home-refined .about .section-kicker { color: #b8d9f2; }
.home-refined .about-lines { border-color: #3a4c5e; }
.home-refined .about-line { border-color: #3a4c5e; padding-block: 22px; }
.home-refined .contact { background: #f5f5f7; }
.contact-box { border-radius: var(--surface-radius); border-color: #e1e6ed; box-shadow: var(--surface-shadow); padding: 36px; }
.footer { background: #fafbfc; border-top: 1px solid #e5e9ee; }
.footer .footer-links .privacy-link { font-weight: 600; }

/* Synthesis hub, detail pages and downloadable resources. */
.synthesis-hub-hero { background: #f5f5f7; border-bottom: 1px solid #e1e6ed; padding-top: 30px; }
.hub-intro-row { padding-block: 42px 56px; }
.synthesis-hub-page h1 { font-weight: 700; line-height: 1.3; }
.hub-resource-shortcut { border: 1px solid #e0e6ed; border-radius: 20px; padding: 28px; box-shadow: var(--surface-shadow); }
.hub-jump-nav { border-top-color: #dde3ea; gap: 8px; padding-block: 12px; }
.hub-jump-nav a, .hub-jump-nav a:first-child { border: 0; border-radius: 999px; padding: 11px 18px; font-size: 15px; font-weight: 600; }
.hub-jump-nav a:hover { background: white; box-shadow: 0 2px 10px rgb(25 40 62 / 5%); }
.hub-services { padding-block: 72px; }
.hub-service-card { background: white; border-color: #e0e5ec; border-radius: 24px; box-shadow: var(--surface-shadow); }
.hub-service-image > span { border: 1px solid rgb(255 255 255 / 18%); border-radius: 999px; padding: 6px 14px; background: #173c56; }
.hub-service-body { padding: 30px; }
.hub-service-body h2 { font-weight: 650; letter-spacing: -.035em; }
.hub-preparation { background: #f5f6f8; border-radius: 14px; padding: 20px; }
.hub-order-button { border-radius: 12px; }
.hub-resources { background: #f5f5f7; padding-block: 80px; }
.hub-guide, .hub-offline-forms { border-color: #e0e5ec; border-radius: 24px; box-shadow: var(--surface-shadow); }
.hub-guide-cover { border-radius: 5px; overflow: hidden; }
.hub-order-flow { padding-block: 80px; }
.hub-order-flow li { border-top: 1px solid #d4dde6; padding-top: 24px; }
.hub-order-flow li > span { font-size: 15px; }
.hub-contact { background: #182b3d; }
.hub-contact .section-kicker { color: #b8d9f2; }
.research-grid .research-card-visual { border-color: #e0e5ec; border-radius: 24px; box-shadow: var(--surface-shadow); }
.service-hero-art img, .service-featured-image { border-radius: 24px; }
.catalog-sidebar { border-radius: 18px; border-color: #dfe5ed; }
.catalog-dialog { border-radius: 24px; box-shadow: 0 24px 80px rgb(12 29 50 / 20%); }
.catalog-dialog::backdrop { background: rgb(22 34 50 / 45%); }
.dialog-close { border-radius: 9px; min-height: 40px; }
.results-table { border-top: 1px solid #cbd5df; }
.results-table th { background: #f5f6f8; }

/* Quiet, opaque application surfaces preserve form clarity and state cues. */
.account-main, .online-order { background: #f5f5f7; }
.account-card, .order-panel, .order-aside, .order-member-card {
  background: #fff;
  border-color: #dde3eb;
  border-radius: 22px;
  box-shadow: var(--surface-shadow);
}
.account-access .account-card { padding: 42px; }
.account-access .account-card h2 { font-size: 32px; font-weight: 650; }
.account-card input:not([type="checkbox"]),
.account-card .member-contact-fields textarea,
.order-field input:not([type="checkbox"]), .order-field select,
.order-field textarea, .order-bulk > textarea, .quote-summary textarea {
  border-color: #c5ced9;
  border-radius: 11px;
  background: #fff;
}
.account-card input[readonly], .signup-card input:read-only,
.order-field input[readonly] { background: #f2f4f7; }
.account-card .button, .account-access #email-auth-submit,
.online-order .button { border-radius: 12px; }
.signup-card .signup-code-row input { border-radius: 11px; }
.signup-verification, .quote-summary { background: #f1f5f9; border-color: #d5e0eb; border-radius: 16px; }
.consent-summary { background: #f6f7f9; border-color: #dde3eb; border-radius: 14px; }
.order-progress { border-radius: 16px; border-color: #dae1e9; }
.order-progress li[aria-current="step"] { background: var(--accent); }
.order-progress li[data-complete="true"] { background: #eef4fa; }
.order-service-switch a { border-radius: 999px; border-color: #d3dce6; }
.order-service-switch a[aria-current="page"] { border-color: var(--accent); }
.order-member-heading > span, .order-sequence-length { border-radius: 7px; }
.order-field input:not([type="checkbox"]), .order-field select,
.order-field textarea, .order-bulk > textarea { font-size: 16px; }

@media (min-width: 1181px) and (max-width: 1320px) {
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 18px; font-size: 14px; }
  .brand-logo { width: 188px; }
  .desktop-nav > .button { padding-inline: 17px; }
}
@media (max-width: 1180px) {
  .header-inner { min-height: 78px; gap: 14px; }
  .brand-logo { width: 180px; }
  .desktop-nav { max-height: min(65vh, 560px); overflow-y: auto; padding-block: 8px 18px; gap: 4px; }
  .desktop-nav > a { border-radius: 10px; padding: 12px 15px; }
  .desktop-nav > a:not(.button):hover { background: #edf2f8; }
  .desktop-nav > .button { margin-top: 4px; }
  .home-refined .hero-grid { gap: 28px; padding-block: 40px 48px; }
  .home-refined .hero-image { min-height: 400px; }
  .home-refined .hero-description { font-size: 17px; }
  .home-refined .section { padding-block: 80px; }
  .home-refined .brand-catalog-grid { gap: 20px; }
  .family-heading { padding: 28px 24px 24px; }
  .hub-service-body { padding: 26px; }
}
@media (max-width: 900px) {
  .home-refined .hero-grid { grid-template-columns: 1fr; gap: 30px; padding-block: 44px; }
  .home-refined .hero-copy { padding: 0; max-width: 720px; }
  .home-refined .hero h1,
  html[lang="en"] .home-refined .hero h1 { font-size: clamp(2.3rem, 5.6vw, 3.1rem); }
  .home-refined .hero-image { min-height: 0; height: 360px; }
  .home-refined .hero-image img { object-position: center 48%; }
  .hub-intro-row { padding-block: 30px 40px; }
  .hub-services { padding-block: 52px; }
  .hub-resources, .hub-order-flow { padding-block: 60px; }
}
@media (max-width: 720px) {
  .home-refined .hero-grid { display: grid; padding-block: 36px 40px; gap: 30px; }
  .home-refined .hero-copy { padding: 0; }
  .home-refined .hero-description { font-size: 16px; line-height: 1.85; }
  .home-refined .eyebrow { font-size: 12px; margin-bottom: 20px; }
  .home-refined .hero-actions { margin-top: 26px; }
  .home-refined .hero-image { margin: 0; border-radius: 22px; height: 300px; }
  .home-refined .quickbar-inner { padding-block: 8px; }
  .home-refined .quick-item, .home-refined .quick-item:first-child { padding-block: 16px; }
  .home-refined .quick-item > div { column-gap: 14px; }
  .home-refined .section { padding-block: 60px; }
  .home-refined .section-head h2 { font-size: 1.95rem; }
  .home-refined .brand-catalog-grid { gap: 16px; }
  .home-refined .brand-card-content { padding: 22px 20px 16px; }
  .home-refined .featured-brand { padding: 24px; border-radius: 24px; }
  .contact-box { padding: 28px; }
  .hub-service-body { padding: 26px; }
}
@media (max-width: 600px) {
  .synthesis-family, .analysis-family { border-radius: 20px; }
  .family-heading { padding: 26px 24px 22px; }
  .family-services { gap: 22px; }
  .family-service { grid-template-columns: 112px minmax(0, 1fr); gap: 18px; }
  .family-heading h3 { font-size: 1.45rem; }
  .family-guide-link { font-size: 14px; }
  .analysis-family > div { padding: 26px 24px; }
  .hub-jump-nav { gap: 4px; padding-block: 10px; }
  .hub-jump-nav a, .hub-jump-nav a:first-child { padding: 12px 9px; font-size: 14px; }
  .hub-services { padding-block: 36px 44px; }
  .hub-service-card, .hub-guide, .hub-offline-forms { border-radius: 20px; }
  .hub-service-body { padding: 26px 24px; }
  .hub-resources, .hub-order-flow { padding-block: 48px; }
  .account-access .account-card { padding: 30px 24px; }
  .account-access .account-card h2 { font-size: 28px; }
  .account-card, .order-panel, .order-aside, .order-member-card { border-radius: 18px; }
  .order-service-switch a { font-size: 14px; }
  .catalog-dialog { border-radius: 18px; }
}
@media (max-width: 540px) {
  .home-refined .brand-catalog-card { border-radius: 18px; }
  .home-refined .brand-card-content { padding: 20px 16px 14px; }
  .home-refined .brand-card-content h3 { font-size: 1.2rem; }
  .home-refined .brand-card-actions { padding-top: 8px; }
  .home-refined .image-note { right: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 12px 16px; font-size: 13px; }
  .home-refined .featured-brand { padding: 20px; }
  .home-group-links a { font-size: 14px; padding: 10px 13px; }
}
@media (max-width: 460px) {
  .header-inner { gap: 8px; min-height: 74px; }
  .brand-logo { width: 140px; }
  .language-switch a { padding: 7px; }
  .menu-toggle { padding: 7px 10px; font-size: 14px; }
  .account-bar [data-auth-label] { font-size: 12px; }
  .account-bar nav { column-gap: 13px; }
  .home-refined .hero h1,
  html[lang="en"] .home-refined .hero h1 { font-size: clamp(1.85rem, 7.7vw, 2.2rem); line-height: 1.3; }
  .home-refined .hero-actions .button { padding: 13px 19px; min-height: 48px; font-size: 15px; }
  .home-refined .hero-image { height: 260px; }
  .home-refined .quick-item > div { display: block; }
  .home-refined .section-head h2 { font-size: 1.8rem; }
}
@media (max-width: 350px) {
  .brand-logo { width: 115px; }
  .header-inner { gap: 6px; }
  .language-switch a { padding-inline: 6px; }
  .family-service { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .button, .brand-catalog-card { transition: none; }
  .button:hover, .home-refined .brand-catalog-card:hover { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .site-header { background: #fafbfc; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .account-bar { background: #eff1f5; }
}
@media (forced-colors: active) {
  .site-header { background: Canvas; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .language-switch a[aria-current="true"] { outline: 1px solid Highlight; }
  .button, .hub-service-card, .account-card, .order-panel { border: 1px solid ButtonText; }
}
