/* Home reference implementation — presentation only, loaded after legacy theme styles. */

body:has(main.landing-page) {
  --home-navy: #031738;
  --home-blue: #1259ef;
  --home-ink: #071b42;
  --home-pale: #f2f6ff;
  --home-rule: #dbe5f6;
  background: #fff;
  color: var(--home-ink);
}

/* The approved home master places the research-use notice above the white
   navigation. Override the legacy immersive absolute-position experiment so
   the notice remains visible and participates in normal document flow. */
body:has(main.landing-page) .site-shell > .notice,
body:has(main.landing-page) > .notice {
  position: relative !important;
  inset: auto !important;
  z-index: 120 !important;
  display: flex !important;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: #145cf2 !important;
  color: #fff !important;
}
body:has(main.landing-page) .site-header {
  position: relative !important;
  top: auto !important;
  z-index: 110 !important;
}

body:has(main.landing-page) .immersive-hero {
  position: relative;
  isolation: isolate;
  min-height: 650px;
  height: auto !important;
  overflow: hidden;
  color: var(--home-ink);
  background: #f4f9ff;
}

/* Clear the former neon/HUD treatment before applying the approved light hero. */
body:has(main.landing-page) .immersive-hero::before,
body:has(main.landing-page) .immersive-hero::after,
body:has(main.landing-page) .hero-media::after,
body:has(main.landing-page) .hero-frame::before,
body:has(main.landing-page) .hero-frame::after {
  content: none !important;
  display: none !important;
}

body:has(main.landing-page) .hero-media,
body:has(main.landing-page) .hero-atmosphere {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  opacity: 1 !important;
  background: none !important;
}
body:has(main.landing-page) .hero-media { filter: none !important; transform: none !important; }

body:has(main.landing-page) .hero-media::before {
  content: '';
  position: absolute;
  inset: 0;
  /* Generated abstract artwork; decorative only, not a facility or product record. */
  background: #f4f9ff url('/wp-content/uploads/2026/07/lab-vials2.webp') 72% center / cover no-repeat;
}

body:has(main.landing-page) .hero-atmosphere,
body:has(main.landing-page) .hero-smoke-canvas,
body:has(main.landing-page) .hero-canvas,
body:has(main.landing-page) .hero-beam,
body:has(main.landing-page) .hero-hud,
body:has(main.landing-page) .hero-topline,
body:has(main.landing-page) .hero-left-note,
body:has(main.landing-page) .hero-product-rail,
body:has(main.landing-page) .hero-bottomline,
body:has(main.landing-page) .hero-records-strip,
body:has(main.landing-page) .specimen-thumb-rail,
body:has(main.landing-page) .specimen-controls,
body:has(main.landing-page) .specimen-slide-data {
  display: none !important;
}

body:has(main.landing-page) .hero-frame {
  width: min(1280px, calc(100% - 96px));
  min-height: 650px;
  height: auto !important;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .68fr);
  align-items: center;
  gap: 54px;
  border: 0 !important;
}

body:has(main.landing-page) .hero-main-title {
  position: relative !important;
  inset: auto !important;
  grid-column: 1;
  grid-row: 1;
  max-width: 590px;
  margin: 0 !important;
  text-align: left !important;
  transform: none !important;
  opacity: 1 !important;
}

body:has(main.landing-page) .hero-eyebrow {
  margin: 0 0 14px !important;
  color: var(--home-blue);
  font: 800 11px/1.2 Manrope, Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

body:has(main.landing-page) .hero-main-title h1 {
  margin: 0 0 20px !important;
  color: var(--home-ink);
  font: 400 clamp(52px, 5.1vw, 76px)/.98 Italiana, Georgia, serif;
  letter-spacing: -.04em;
}

body:has(main.landing-page) .hero-main-title h1 em { color: var(--home-blue); font-style: normal; }

body:has(main.landing-page) .hero-subtitle {
  max-width: 520px;
  margin: 0 0 27px !important;
  color: #42526e;
  font: 500 16px/1.72 Manrope, Arial, sans-serif;
}

body:has(main.landing-page) .hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
body:has(main.landing-page) .hero-actions .button {
  min-height: 46px;
  padding: 0 23px;
  border-radius: 3px;
  font: 800 13px/1 Manrope, Arial, sans-serif;
  letter-spacing: .01em;
}
body:has(main.landing-page) .hero-actions .button-primary { background:var(--home-blue); border-color:var(--home-blue); color:#fff; }
body:has(main.landing-page) .hero-actions .button-secondary { background:rgba(255,255,255,.78); border:1px solid #9bb8eb; color:var(--home-ink); }

body:has(main.landing-page) .hero-specimen-stage {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  grid-row: 1;
  width: min(100%, 440px);
  justify-self: end;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(84,123,185,.24);
  background: rgba(255,255,255,.90);
  box-shadow: 0 20px 50px rgba(36,83,153,.13);
  transform: none !important;
  opacity: 1 !important;
}

body:has(main.landing-page) .specimen-stage-label {
  display:flex !important;
  justify-content:space-between;
  align-items:center;
  margin:0 0 12px !important;
  color:#526782;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body:has(main.landing-page) .specimen-stage-label i { display:none !important; }
body:has(main.landing-page) .specimen-stage-label b { color:#866515; font-size:10px; }

body:has(main.landing-page) .specimen-layout {
  display:block !important;
  min-height: 355px;
  padding: 18px;
  box-sizing:border-box;
  border:1px solid #dbe5f6;
  background:#fff;
  backdrop-filter: blur(5px);
}
body:has(main.landing-page) .specimen-visual {
  position:relative !important;
  width:100% !important;
  height:320px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:0 !important;
  background:rgba(255,255,255,.96);
}
body:has(main.landing-page) .specimen-visual::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 66%, rgba(77,134,255,.2), transparent 55%); pointer-events:none; }
body:has(main.landing-page) .specimen-visual img { position:relative !important; z-index:1; width:100% !important; height:100% !important; object-fit:contain !important; filter:drop-shadow(0 18px 12px rgba(0,0,0,.22)); }
body:has(main.landing-page) .specimen-frame,
body:has(main.landing-page) .specimen-scan-line { display:none !important; }
body:has(main.landing-page) .specimen-ruo { position:absolute !important; z-index:2; top:12px; right:12px; padding:5px 7px; background:var(--home-navy); color:#fff; font:800 10px/1 Manrope,Arial,sans-serif; letter-spacing:.08em; }

body:has(main.landing-page) .specimen-record {
  display:block !important;
  margin-top: 12px !important;
  min-height:0 !important;
  padding: 16px !important;
  border:1px solid #dbe5f6 !important;
  background:#fff !important;
  color:var(--home-ink);
}
body:has(main.landing-page) .specimen-record-heading { display:flex !important; justify-content:space-between; margin-bottom:7px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#526782; }
body:has(main.landing-page) .specimen-record-heading a { color:var(--home-blue); text-decoration:none; }
body:has(main.landing-page) .specimen-record h2 { margin:0 0 6px !important; color:var(--home-ink); font:400 25px/1.17 Italiana,Georgia,serif; }
body:has(main.landing-page) .specimen-sku { margin:0 0 13px !important; color:#5f708c; font-size:11px; }
body:has(main.landing-page) .specimen-specs { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; border-top:1px solid #dbe5f6; padding-top:12px; }
body:has(main.landing-page) .specimen-specs > span { display:block; color:#42526e; font-size:10px; line-height:1.4; }
body:has(main.landing-page) .specimen-specs b { display:block; margin-bottom:3px; color:#6078a8; font-size:9px; text-transform:uppercase; }

body:has(main.landing-page) .home-trust-strip {
  padding: 0 !important;
  border-bottom: 1px solid var(--home-rule);
  background:#fff;
}
body:has(main.landing-page) .home-trust-grid {
  width:min(1280px,calc(100% - 96px)) !important;
  min-height: 126px;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body:has(main.landing-page) .home-trust-item {
  min-height:126px;
  display:flex !important;
  align-items:center;
  gap:15px;
  padding:20px 24px;
  box-sizing:border-box;
  border-right:1px solid var(--home-rule);
  transform:none !important;
  opacity:1 !important;
}
body:has(main.landing-page) .home-trust-item:first-child { border-left:1px solid var(--home-rule); }
body:has(main.landing-page) .home-trust-item > .dashicons { flex:0 0 auto; color:var(--home-blue); font-size:30px; width:30px; height:30px; }
body:has(main.landing-page) .home-trust-item > .master-ui-icon { flex:0 0 auto; color:var(--home-blue); width:30px; height:30px; }
body:has(main.landing-page) .home-trust-item strong { display:block; margin-bottom:5px; color:var(--home-ink); font-size:13px; line-height:1.35; }
body:has(main.landing-page) .home-trust-item p { margin:0; color:#60708a; font-size:12px; line-height:1.5; }

body:has(main.landing-page) .immersive-signal {
  min-height:470px;
  padding:0 !important;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  overflow:hidden;
  background:var(--home-navy) !important;
}
body:has(main.landing-page) .signal-cloud,
body:has(main.landing-page) .signal-grid,
body:has(main.landing-page) .signal-mark,
body:has(main.landing-page) .signal-signature,
body:has(main.landing-page) .signal-index { display:none !important; }
body:has(main.landing-page) .signal-inner {
  width:min(540px,calc(100% - 48px));
  margin-left:auto;
  padding:72px 40px 72px 0;
  box-sizing:border-box;
  transform:none !important;
  opacity:1 !important;
}
body:has(main.landing-page) .signal-kicker { margin:0 0 14px !important; color:#eac656; font:800 11px/1.2 Manrope,Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
body:has(main.landing-page) .signal-inner h2 { margin:0 0 16px !important; color:#fff; font:400 clamp(38px,3vw,54px)/1.08 Italiana,Georgia,serif; letter-spacing:-.03em; }
body:has(main.landing-page) .signal-inner h2 em { font-style:normal; }
body:has(main.landing-page) .signal-copy { max-width:440px; color:rgba(255,255,255,.8); font-size:14px; line-height:1.7; }
body:has(main.landing-page) .signal-notes { display:flex; gap:22px; margin:23px 0; }
body:has(main.landing-page) .signal-notes p { flex:1; margin:0; color:#adc0e9; font-size:11px; line-height:1.55; }
body:has(main.landing-page) .signal-button { min-height:42px; padding:0 17px; border-radius:3px; background:#fff; border-color:#fff; color:#06338b; font-size:12px; font-weight:800; }
body:has(main.landing-page) .signal-video-block { position:relative !important; min-height:470px; overflow:hidden; }
body:has(main.landing-page) .signal-video-fade { position:absolute !important; inset:0 !important; z-index:1; background:linear-gradient(90deg,var(--home-navy),rgba(3,23,56,.25),rgba(3,23,56,.04)) !important; }
body:has(main.landing-page) .signal-image { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }

body:has(main.landing-page) .metrics-section { padding:44px 0 !important; background:#fff !important; }
body:has(main.landing-page) .metrics-section .content-wrap { width:min(1280px,calc(100% - 96px)) !important; margin:0 auto !important; }
body:has(main.landing-page) .metric-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); }
body:has(main.landing-page) .metric { padding:12px 28px; border-left:1px solid var(--home-rule); }
body:has(main.landing-page) .metric:last-child { border-right:1px solid var(--home-rule); }
body:has(main.landing-page) .metric strong { display:block; margin-bottom:5px; color:var(--home-blue); font:400 35px/1 Italiana,Georgia,serif; }
body:has(main.landing-page) .metric span { color:#53637c; font-size:12px; }

body:has(main.landing-page) .section { background:#fff; }
body:has(main.landing-page) .catalog-section { padding-top:56px !important; }
body:has(main.landing-page) .catalog-section .content-wrap,
body:has(main.landing-page) .home-faq-section .content-wrap,
body:has(main.landing-page) .cta-band .content-wrap { width:min(1280px,calc(100% - 96px)) !important; margin-left:auto !important; margin-right:auto !important; }
body:has(main.landing-page) .section-head h2,
body:has(main.landing-page) .home-faq-section h2,
body:has(main.landing-page) .cta-band h2 { color:var(--home-ink); font-family:Italiana,Georgia,serif; }
body:has(main.landing-page) .catalog-shell { border-color:var(--home-rule) !important; box-shadow:none !important; }

/* The home page is a curated five-record preview. Search, filters and the
   complete product list remain available on the existing /products/ route. */
body:has(main.landing-page) .home-catalog-preview { margin-top:28px; }
body:has(main.landing-page) .home-catalog-preview .catalog-shell { border:0 !important; background:transparent !important; padding:0 !important; }
body:has(main.landing-page) .home-catalog-preview .peptide-product-grid {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch;
}
body:has(main.landing-page) .home-catalog-preview .product-card {
  display:flex !important;
  min-width:0;
  min-height:412px;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--home-rule) !important;
  border-radius:3px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:var(--home-ink) !important;
  opacity:1 !important;
  transform:none !important;
  translate:none !important;
}
body:has(main.landing-page) .home-catalog-preview .product-card:hover { border-color:#8aadf7 !important; box-shadow:0 12px 26px rgba(17,73,171,.10) !important; }
body:has(main.landing-page) .home-catalog-preview .product-image {
  position:relative;
  display:flex !important;
  height:174px !important;
  min-height:174px;
  align-items:center;
  justify-content:center;
  padding:18px !important;
  border:0 !important;
  border-bottom:1px solid var(--home-rule) !important;
  background:#fff !important;
}
body:has(main.landing-page) .home-catalog-preview .product-image img { width:100% !important; height:100% !important; object-fit:contain !important; }
body:has(main.landing-page) .home-catalog-preview .product-index {
  position:absolute !important;
  top:11px;
  left:12px;
  z-index:1;
  padding:0 !important;
  background:transparent !important;
  color:#b58b22 !important;
  font:800 10px/1 Manrope,Arial,sans-serif !important;
  letter-spacing:.08em;
}
body:has(main.landing-page) .home-catalog-preview .product-body { display:flex !important; min-height:0; flex:1; flex-direction:column; padding:14px !important; background:#fff !important; }
body:has(main.landing-page) .home-catalog-preview .product-category { order:0; margin:0 0 7px !important; color:#5572a3 !important; font:800 9px/1.35 Manrope,Arial,sans-serif !important; letter-spacing:.08em; text-transform:uppercase; }
body:has(main.landing-page) .home-catalog-preview .product-title { order:1; min-height:44px; margin:0 0 12px !important; color:var(--home-ink) !important; font:700 15px/1.32 Manrope,Arial,sans-serif !important; }
body:has(main.landing-page) .home-catalog-preview .product-title a { color:inherit !important; text-decoration:none; }
body:has(main.landing-page) .home-catalog-preview .product-meta { order:2; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px !important; margin:0 !important; padding:10px 0 12px !important; border-top:1px solid var(--home-rule); color:#526782 !important; }
body:has(main.landing-page) .home-catalog-preview .product-meta > div { min-width:0; color:#526782 !important; font:500 10px/1.45 Manrope,Arial,sans-serif !important; }
body:has(main.landing-page) .home-catalog-preview .product-meta strong { display:block; margin:0 0 2px !important; color:#7a8ca9 !important; font:800 8px/1.2 Manrope,Arial,sans-serif !important; letter-spacing:.08em; text-transform:uppercase; }
body:has(main.landing-page) .home-catalog-preview .product-actions { order:3; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:auto !important; padding:0 !important; }
body:has(main.landing-page) .home-catalog-preview .product-actions .button { display:inline-flex !important; min-height:34px; align-items:center; justify-content:flex-start; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:var(--home-blue) !important; box-shadow:none !important; font:800 10px/1.2 Manrope,Arial,sans-serif !important; text-align:left; text-decoration:none; }
body:has(main.landing-page) .home-catalog-preview .product-actions .button:hover { color:#083da8 !important; text-decoration:underline; text-underline-offset:3px; }
body:has(main.landing-page) .home-catalog-preview-action { display:flex; justify-content:center; margin-top:24px; }
body:has(main.landing-page) .home-catalog-preview-action .button { min-height:44px; padding:0 19px; border:1px solid #7fa6f4; border-radius:3px; background:#fff; color:var(--home-blue); font:800 12px/1 Manrope,Arial,sans-serif; }

@media (max-width:1180px) {
  body:has(main.landing-page) .home-catalog-preview .peptide-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:720px) {
  body:has(main.landing-page) .home-catalog-preview .peptide-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:600px) {
  body:has(main.landing-page) .home-catalog-preview .peptide-product-grid { grid-template-columns:1fr !important; }
  body:has(main.landing-page) .home-catalog-preview .product-card { min-height:0; }
  body:has(main.landing-page) .home-catalog-preview .product-image { height:212px !important; min-height:212px; }
  body:has(main.landing-page) .home-catalog-preview .product-actions .button { min-height:44px; }
}

body:has(main.landing-page) a:focus-visible,
body:has(main.landing-page) button:focus-visible,
body:has(main.landing-page) input:focus-visible,
body:has(main.landing-page) select:focus-visible { outline:3px solid #7cabff; outline-offset:3px; }

@media (max-width:900px) {
  body:has(main.landing-page) .hero-frame,
  body:has(main.landing-page) .home-trust-grid,
  body:has(main.landing-page) .metrics-section .content-wrap,
  body:has(main.landing-page) .catalog-section .content-wrap,
  body:has(main.landing-page) .home-faq-section .content-wrap,
  body:has(main.landing-page) .cta-band .content-wrap { width:min(100% - 48px,720px) !important; }
  body:has(main.landing-page) .hero-frame { grid-template-columns:1fr; padding:62px 0; }
  body:has(main.landing-page) .hero-main-title { grid-column:1; grid-row:auto; }
  body:has(main.landing-page) .hero-specimen-stage { grid-column:1; grid-row:auto; justify-self:start; width:min(100%,440px); }
  body:has(main.landing-page) .home-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:has(main.landing-page) .immersive-signal { grid-template-columns:1fr; }
  body:has(main.landing-page) .signal-inner { width:min(100% - 48px,720px); margin:0 auto; padding:64px 0 42px; }
  body:has(main.landing-page) .signal-video-block { min-height:260px; }
}

@media (max-width:600px) {
  body:has(main.landing-page) .immersive-hero { min-height:0; }
  body:has(main.landing-page) .hero-frame,
  body:has(main.landing-page) .home-trust-grid,
  body:has(main.landing-page) .metrics-section .content-wrap,
  body:has(main.landing-page) .catalog-section .content-wrap,
  body:has(main.landing-page) .home-faq-section .content-wrap,
  body:has(main.landing-page) .cta-band .content-wrap { width:calc(100% - 32px) !important; }
  body:has(main.landing-page) .hero-media::before { background-position:68% center; }
  body:has(main.landing-page) .hero-frame { min-height:0; padding:55px 0 42px; gap:34px; }
  body:has(main.landing-page) .hero-main-title h1 { font-size:49px; }
  body:has(main.landing-page) .hero-subtitle { font-size:14px; }
  /* Return the former absolute-positioned specimen internals to normal flow.
     This keeps the product record below, never over, the two primary CTAs. */
  body:has(main.landing-page) .hero-specimen-stage { min-height:0 !important; bottom:auto !important; }
  body:has(main.landing-page) .specimen-stage-label { position:static !important; inset:auto !important; }
  body:has(main.landing-page) .specimen-layout { position:relative !important; inset:auto !important; width:100% !important; min-height:0; }
  body:has(main.landing-page) .specimen-layout .specimen-visual { position:relative !important; inset:auto !important; width:100% !important; height:275px !important; margin:0 !important; }
  body:has(main.landing-page) .specimen-record { position:relative !important; inset:auto !important; min-height:0 !important; height:auto !important; margin-top:12px !important; }
  body:has(main.landing-page) .specimen-specs { grid-template-columns:1fr 1fr; }
  body:has(main.landing-page) .home-trust-grid,
  body:has(main.landing-page) .metric-grid { grid-template-columns:1fr; }
  body:has(main.landing-page) .home-trust-item,
  body:has(main.landing-page) .metric { border:1px solid var(--home-rule); border-bottom:0; }
  body:has(main.landing-page) .home-trust-item:last-child,
  body:has(main.landing-page) .metric:last-child { border-bottom:1px solid var(--home-rule); }
  body:has(main.landing-page) .signal-inner { width:calc(100% - 32px); }
  body:has(main.landing-page) .signal-notes { display:block; }
  body:has(main.landing-page) .signal-notes p + p { margin-top:10px; }
}

@media (prefers-reduced-motion: reduce) {
  body:has(main.landing-page) * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* FAQ controls use the local SVG family rather than a font-dependent plus. */
body.home .home-faq-section .research-faq-item button .faq-toggle-icon {
  width:22px;
  height:22px;
  flex:0 0 22px;
  color:#e4c477;
  transition:transform .2s ease;
}
body.home .home-faq-section .research-faq-item button[aria-expanded="true"] .faq-toggle-icon { transform:rotate(45deg); }
@media (prefers-reduced-motion:reduce) {
  body.home .home-faq-section .research-faq-item button .faq-toggle-icon { transition:none; }
}

/* Homepage fidelity pass: the approved master uses a compact dark-image
   opening frame. Keep the existing semantic H1, CTAs and product data; only
   the presentation of the opening frame changes here. */
body:has(main.landing-page) .site-header {
  background: rgba(3, 21, 52, .96) !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  color: #fff !important;
}
body:has(main.landing-page) .site-header .brand,
body:has(main.landing-page) .site-header .brand-name,
body:has(main.landing-page) .site-header .main-nav > a { color: #fff !important; }
body:has(main.landing-page) .site-header .main-nav > a { color: rgba(255,255,255,.86) !important; }
body:has(main.landing-page) .site-header .main-nav > a:hover,
body:has(main.landing-page) .site-header .main-nav > a:focus-visible,
body:has(main.landing-page) .site-header .main-nav > a[aria-current="page"] { color: #fff !important; }
body:has(main.landing-page) .site-header .main-nav > a::after { background: #6fa1ff !important; }
body:has(main.landing-page) .site-header .quote-link {
  border-color: #145cf2 !important;
  background: #145cf2 !important;
  color: #fff !important;
}
body:has(main.landing-page) .site-header .language-switcher {
  border-color: rgba(255,255,255,.34) !important;
  background: rgba(3,21,52,.28) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body:has(main.landing-page) .site-header .language-switcher select,
body:has(main.landing-page) .site-header .language-switcher span { color: #fff !important; }
body:has(main.landing-page) .site-header .language-switcher select { background: transparent !important; }
body:has(main.landing-page) .site-header .language-switcher select option { background: #031534; color: #fff; }

@media (min-width: 901px) {
  body:has(main.landing-page) .site-header,
  body:has(main.landing-page) .site-header .nav-wrap { height: 68px !important; min-height: 68px !important; }
}

body:has(main.landing-page) .immersive-hero {
  min-height: 580px !important;
  height: 580px !important;
  background: #031738 !important;
  color: #fff !important;
}
body:has(main.landing-page) .hero-media {
  display: block !important;
  z-index: -2 !important;
  background-image: var(--hero-media-image) !important;
  background-position: center !important;
  background-size: cover !important;
  filter: brightness(.55) saturate(.78) contrast(1.06) !important;
}
body:has(main.landing-page) .hero-media::before {
  content: '' !important;
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,15,40,.96) 0%, rgba(3,15,40,.84) 32%, rgba(3,15,40,.40) 66%, rgba(3,15,40,.50) 100%),
    linear-gradient(0deg, rgba(3,15,40,.72), rgba(3,15,40,.10) 55%, rgba(3,15,40,.46));
}
body:has(main.landing-page) .hero-atmosphere,
body:has(main.landing-page) .hero-smoke-canvas,
body:has(main.landing-page) .hero-canvas,
body:has(main.landing-page) .hero-beam,
body:has(main.landing-page) .hero-hud,
body:has(main.landing-page) .hero-topline,
body:has(main.landing-page) .hero-left-note,
body:has(main.landing-page) .hero-product-rail,
body:has(main.landing-page) .hero-bottomline,
body:has(main.landing-page) .hero-records-strip,
body:has(main.landing-page) .hero-specimen-stage { display: none !important; }
body:has(main.landing-page) .hero-frame {
  width: min(1280px, calc(100% - 96px));
  min-height: 580px;
  height: 100% !important;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
  border: 0 !important;
  z-index: 2;
}
body:has(main.landing-page) .hero-main-title {
  width: min(100%, 650px);
  max-width: 650px;
  margin: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  text-align: left !important;
}
body:has(main.landing-page) .hero-main-title .hero-eyebrow {
  margin: 0 0 16px !important;
  color: #b9d0ff !important;
}
body:has(main.landing-page) .hero-main-title h1 {
  max-width: 650px;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(52px, 5.2vw, 76px) !important;
  line-height: .98 !important;
}
body:has(main.landing-page) .hero-main-title h1 em { color: #75a7ff !important; }
body:has(main.landing-page) .hero-main-title .hero-subtitle {
  max-width: 520px;
  margin: 0 0 26px !important;
  color: rgba(255,255,255,.82) !important;
}
body:has(main.landing-page) .hero-main-title .hero-actions .button-primary {
  background: #145cf2 !important;
  border-color: #145cf2 !important;
  color: #fff !important;
}
body:has(main.landing-page) .hero-main-title .hero-actions .button-secondary {
  background: transparent !important;
  border-color: rgba(255,255,255,.72) !important;
  color: #fff !important;
}
body:has(main.landing-page) .hero-main-title .hero-actions .button:hover,
body:has(main.landing-page) .hero-main-title .hero-actions .button:focus-visible { transform: translateY(-1px); }

@media (max-width: 900px) {
  body:has(main.landing-page) .immersive-hero,
  body:has(main.landing-page) .hero-frame { min-height: 540px !important; height: 540px !important; }
  body:has(main.landing-page) .hero-frame { width: min(100% - 48px, 720px) !important; }
}
@media (max-width: 600px) {
  body:has(main.landing-page) .immersive-hero,
  body:has(main.landing-page) .hero-frame { min-height: 520px !important; height: 520px !important; }
  body:has(main.landing-page) .hero-frame { width: calc(100% - 32px) !important; }
  body:has(main.landing-page) .hero-media { background-position: 64% center !important; }
  body:has(main.landing-page) .hero-main-title h1 { max-width: 360px; font-size: 50px !important; }
  body:has(main.landing-page) .hero-main-title .hero-subtitle { max-width: 330px; font-size: 14px; }
}

/* -------------------------------------------------------------------------
 * Home fidelity pass — align the lower information architecture with the
 * confirmed light catalog master.  This is presentation-only: the existing
 * copy, product records, links, translation hooks and source order stay intact.
 * ------------------------------------------------------------------------- */
html body.home:has(main.landing-page) {
  --home-ink-strong: #071d45;
  --home-copy: #536783;
  --home-blue-strong: #0959ed;
  --home-line-light: #d8e3f3;
  --home-panel: #f2f6ff;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}

html body.home:has(main.landing-page) .section-kicker,
html body.home:has(main.landing-page) .research-feature-head .section-kicker,
html body.home:has(main.landing-page) .home-faq-section .section-kicker,
html body.home:has(main.landing-page) .cta-band .section-kicker {
  color: var(--home-blue-strong) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

/* The trust row is the light-blue support panel in the approved direction. */
html body.home:has(main.landing-page) .home-trust-strip {
  padding: 0 !important;
  border-top: 1px solid var(--home-line-light) !important;
  border-bottom: 1px solid var(--home-line-light) !important;
  background: var(--home-panel) !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .home-trust-grid {
  width: min(1280px, calc(100% - 96px)) !important;
  min-height: 136px !important;
}
html body.home:has(main.landing-page) .home-trust-item {
  min-height: 136px !important;
  border-color: var(--home-line-light) !important;
  padding: 22px 24px !important;
  background: transparent !important;
}
html body.home:has(main.landing-page) .home-trust-item strong {
  color: var(--home-ink-strong) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
html body.home:has(main.landing-page) .home-trust-item p {
  color: var(--home-copy) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
html body.home:has(main.landing-page) .home-trust-item > .master-ui-icon,
html body.home:has(main.landing-page) .home-trust-item > .dashicons {
  color: var(--home-blue-strong) !important;
}

/* Keep the dark image split as the visual "materials in view" moment, but
   remove the legacy low-contrast editorial palette from its copy. */
html body.home:has(main.landing-page) .immersive-signal {
  min-height: 510px !important;
  background: var(--home-navy) !important;
}
html body.home:has(main.landing-page) .signal-inner h2 {
  color: #fff !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: clamp(40px, 4vw, 58px) !important;
  font-weight: 400 !important;
  letter-spacing: -.03em !important;
  line-height: 1.04 !important;
}
html body.home:has(main.landing-page) .signal-inner h2 em { color: #75a7ff !important; }
html body.home:has(main.landing-page) .signal-copy {
  color: rgba(240, 247, 255, .86) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.68 !important;
}
html body.home:has(main.landing-page) .signal-notes p {
  color: #b9ccec !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 11px !important;
}
html body.home:has(main.landing-page) .signal-button {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--home-blue-strong) !important;
}

/* Compact metrics become a legible blue/navy data row instead of pale gold. */
html body.home:has(main.landing-page) .metrics-section {
  padding: 46px 0 !important;
  border-bottom: 1px solid var(--home-line-light) !important;
  background: #fff !important;
}
html body.home:has(main.landing-page) .metric {
  border-color: var(--home-line-light) !important;
  padding: 12px 28px !important;
}
html body.home:has(main.landing-page) .metric strong {
  color: var(--home-blue-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
html body.home:has(main.landing-page) .metric span {
  color: var(--home-copy) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

/* Catalog heading and cards retain all product data but use the light master
   hierarchy and stronger body contrast. */
html body.home:has(main.landing-page) .catalog-section {
  padding-top: 64px !important;
  background: #fff !important;
}
html body.home:has(main.landing-page) .catalog-section::before,
html body.home:has(main.landing-page) .quality-section::before {
  display: none !important;
  content: none !important;
}
html body.home:has(main.landing-page) .catalog-head h2 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: clamp(38px, 4vw, 52px) !important;
  font-weight: 400 !important;
  letter-spacing: -.028em !important;
  line-height: .98 !important;
}
html body.home:has(main.landing-page) .catalog-head h2 em { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .catalog-head .section-intro {
  color: var(--home-copy) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}
html body.home:has(main.landing-page) .catalog-head .text-link,
html body.home:has(main.landing-page) .home-catalog-preview-action .button,
html body.home:has(main.landing-page) .home-catalog-preview .product-actions .button {
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview .product-card {
  border-color: var(--home-line-light) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 14px rgba(12, 46, 102, .04) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview .product-card:hover {
  border-color: #9dbcf4 !important;
  box-shadow: 0 14px 30px rgba(12, 67, 164, .12) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview .product-image,
html body.home:has(main.landing-page) .home-catalog-preview .product-body,
html body.home:has(main.landing-page) .home-catalog-preview .product-meta {
  border-color: var(--home-line-light) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview .product-title { color: var(--home-ink-strong) !important; }
html body.home:has(main.landing-page) .home-catalog-preview .product-meta > div { color: var(--home-copy) !important; }

/* Quality block: the image remains the configured asset; only the panel
   surface and typography are moved to the pale-blue documentation treatment. */
html body.home:has(main.landing-page) .quality-section { background: #fff !important; }
html body.home:has(main.landing-page) .quality-band { gap: 52px !important; }
html body.home:has(main.landing-page) .quality-band > div:first-child h2 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 400 !important;
  letter-spacing: -.028em !important;
  line-height: 1.02 !important;
}
html body.home:has(main.landing-page) .quality-band > div:first-child h2 em { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .quality-list li {
  border-top-color: var(--home-line-light) !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .quality-list li:last-child { border-bottom-color: var(--home-line-light) !important; }
html body.home:has(main.landing-page) .quality-list li::before { background: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .quality-list li span,
html body.home:has(main.landing-page) .quality-list li span span { color: var(--home-copy) !important; }
html body.home:has(main.landing-page) .quality-list li strong { color: var(--home-ink-strong) !important; }
html body.home:has(main.landing-page) .quality-panel {
  border: 1px solid var(--home-line-light) !important;
  border-radius: 4px !important;
  background: var(--home-panel) !important;
  color: var(--home-ink-strong) !important;
  box-shadow: 0 14px 32px rgba(23, 67, 138, .08) !important;
}
html body.home:has(main.landing-page) .quality-media { background: #e7efff !important; }
html body.home:has(main.landing-page) .quality-panel-copy {
  background: var(--home-panel) !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .quality-panel-copy .section-kicker { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .quality-panel-copy h3 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
}
html body.home:has(main.landing-page) .quality-panel-copy p:not(.section-kicker) { color: var(--home-copy) !important; }

/* Research cards: use the same white, bordered resource cards as the
   confirmed library master rather than the old dark paper treatment. */
html body.home:has(main.landing-page) .research-library-feature {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .research-feature-head h2 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 400 !important;
  letter-spacing: -.028em !important;
  line-height: .98 !important;
}
html body.home:has(main.landing-page) .research-feature-head h2 em { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .research-feature-head > div:nth-child(2) p {
  color: var(--home-copy) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}
html body.home:has(main.landing-page) .research-feature-head .text-link { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .research-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  height: auto !important;
}
html body.home:has(main.landing-page) .research-grid.is-featured .research-card:first-child {
  grid-column: auto !important;
}
html body.home:has(main.landing-page) .research-grid.is-featured .research-card:first-child .research-card-link {
  display: flex !important;
  grid-template-columns: none !important;
}
html body.home:has(main.landing-page) .research-card,
html body.home:has(main.landing-page) .research-card-link {
  min-width: 0;
  min-height: 300px !important;
  height: 100% !important;
}
html body.home:has(main.landing-page) .research-card-link {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--home-line-light) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
html body.home:has(main.landing-page) .research-card-link:hover,
html body.home:has(main.landing-page) .research-card-link:focus-visible {
  border-color: #9dbcf4 !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(13, 52, 111, .1) !important;
  transform: translateY(-2px) !important;
}
html body.home:has(main.landing-page) .research-card-art {
  height: 88px !important;
  min-height: 88px !important;
  padding: 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--home-line-light) !important;
  background: linear-gradient(135deg, #eaf2ff, #dce9ff) !important;
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .research-card-art::before,
html body.home:has(main.landing-page) .research-card-art::after { opacity: 0 !important; }
html body.home:has(main.landing-page) .research-card-art span { color: #3a5b90 !important; font-size: 9px !important; }
html body.home:has(main.landing-page) .research-card-copy {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: 19px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .research-card-copy > p { color: var(--home-blue-strong) !important; font-size: 10px !important; font-weight: 800 !important; }
html body.home:has(main.landing-page) .research-card-copy h3 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: 27px !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}
html body.home:has(main.landing-page) .research-card-copy > span { color: var(--home-copy) !important; font-size: 12px !important; line-height: 1.55 !important; }
html body.home:has(main.landing-page) .research-card-copy b { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .research-card-document-icon,
html body.home:has(main.landing-page) .research-card-link-icon { color: var(--home-blue-strong) !important; }

/* FAQ and CTA inherit the same navy/blue contrast system. */
html body.home:has(main.landing-page) .home-faq-section {
  padding: 78px 0 84px !important;
  border-top: 1px solid var(--home-line-light) !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .home-faq-section h2 {
  color: var(--home-ink-strong) !important;
  font-family: Italiana, Georgia, serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 400 !important;
  letter-spacing: -.028em !important;
  line-height: .98 !important;
}
html body.home:has(main.landing-page) .home-faq-section header > p:last-child { color: var(--home-copy) !important; }
html body.home:has(main.landing-page) .research-faq-item { border-color: var(--home-line-light) !important; }
html body.home:has(main.landing-page) .research-faq-item button {
  color: var(--home-ink-strong) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
html body.home:has(main.landing-page) .research-faq-item button .faq-toggle-icon { color: var(--home-blue-strong) !important; }
html body.home:has(main.landing-page) .research-faq-answer { color: var(--home-copy) !important; }
html body.home:has(main.landing-page) .cta-band {
  padding: 54px 0 !important;
  border-top: 1px solid var(--home-line-light) !important;
  background: var(--home-panel) !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .cta-band h2 { color: var(--home-ink-strong) !important; font-weight: 400 !important; }
html body.home:has(main.landing-page) .cta-band .button {
  min-height: 44px;
  border: 1px solid var(--home-blue-strong) !important;
  border-radius: 3px !important;
  background: var(--home-blue-strong) !important;
  color: #fff !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  html body.home:has(main.landing-page) .home-trust-grid,
  html body.home:has(main.landing-page) .metrics-section .content-wrap,
  html body.home:has(main.landing-page) .catalog-section .content-wrap,
  html body.home:has(main.landing-page) .research-library-feature .content-wrap,
  html body.home:has(main.landing-page) .home-faq-section .content-wrap,
  html body.home:has(main.landing-page) .cta-band .content-wrap { width: min(100% - 48px, 720px) !important; }
  html body.home:has(main.landing-page) .research-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
  html body.home:has(main.landing-page) .home-trust-grid,
  html body.home:has(main.landing-page) .metrics-section .content-wrap,
  html body.home:has(main.landing-page) .catalog-section .content-wrap,
  html body.home:has(main.landing-page) .research-library-feature .content-wrap,
  html body.home:has(main.landing-page) .home-faq-section .content-wrap,
  html body.home:has(main.landing-page) .cta-band .content-wrap { width: calc(100% - 32px) !important; }
  html body.home:has(main.landing-page) .home-trust-item { min-height: 112px !important; padding: 18px 16px !important; }
  html body.home:has(main.landing-page) .research-grid { grid-template-columns: 1fr !important; }
  html body.home:has(main.landing-page) .research-card,
  html body.home:has(main.landing-page) .research-card-link { min-height: 278px !important; }
  html body.home:has(main.landing-page) .quality-band > div:first-child h2,
  html body.home:has(main.landing-page) .research-feature-head h2,
  html body.home:has(main.landing-page) .home-faq-section h2 { font-size: 42px !important; }
}

/* Keep the late fidelity transitions compatible with the existing reduced-
   motion contract. */
@media (prefers-reduced-motion: reduce) {
  html body.home:has(main.landing-page) .research-card-link,
  html body.home:has(main.landing-page) .home-catalog-preview .product-card,
  html body.home:has(main.landing-page) .signal-button,
  html body.home:has(main.landing-page) .cta-band .button { transition: none !important; }
}

/* Approved master ordering: the existing Library records are surfaced directly
   after the existing product-media strip. This changes visual composition
   only; source order, post data, product records, media attachments, URLs and
   SEO metadata are left intact. */
html body.home:has(main.landing-page) main.landing-page { display: flex; flex-direction: column; }
html body.home:has(main.landing-page) .immersive-hero { order: 1; }
html body.home:has(main.landing-page) .home-catalog-preview { order: 2; }
html body.home:has(main.landing-page) .home-trust-strip { order: 3; }
html body.home:has(main.landing-page) .home-materials-view { order: 4; }
html body.home:has(main.landing-page) .research-library-feature { order: 5; }
html body.home:has(main.landing-page) .immersive-signal { order: 6; }
html body.home:has(main.landing-page) .metrics-section { order: 7; }
html body.home:has(main.landing-page) .catalog-section { order: 8; }
html body.home:has(main.landing-page) .quality-section { order: 9; }
html body.home:has(main.landing-page) .home-faq-section { order: 10; }
html body.home:has(main.landing-page) .cta-band { order: 11; }

/* The target's final resource chapter contains the existing three research
   records plus an action card. The action uses the existing quote drawer and
   catalog route rather than creating records or storing any new values. */
html body.home:has(main.landing-page) .home-library-master-section {
  padding: 62px 0 74px !important;
  border-top: 1px solid var(--home-line-light) !important;
}
html body.home:has(main.landing-page) .home-library-resource-deck {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
html body.home:has(main.landing-page) .home-library-resource-deck > .research-grid {
  display: contents !important;
}
html body.home:has(main.landing-page) .home-library-resource-deck .research-card,
html body.home:has(main.landing-page) .home-library-resource-deck .research-card-link {
  min-height: 292px !important;
}
html body.home:has(main.landing-page) .home-library-resource-deck .research-card-link {
  border-radius: 3px !important;
}
html body.home:has(main.landing-page) .home-library-cta {
  display: flex;
  min-width: 0;
  min-height: 292px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  border: 1px solid #dce8fb;
  border-radius: 3px;
  background: #f1f6ff;
  color: var(--home-ink-strong);
  box-sizing: border-box;
}
html body.home:has(main.landing-page) .home-library-cta .section-kicker {
  margin: 0 0 13px !important;
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .home-library-cta h3 {
  max-width: 210px;
  margin: 0 !important;
  color: var(--home-ink-strong) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
html body.home:has(main.landing-page) .home-library-cta-actions {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}
html body.home:has(main.landing-page) .home-library-cta .button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--home-blue-strong);
  border-radius: 3px;
  background: var(--home-blue-strong);
  color: #fff;
  font: 800 11px/1 Manrope, Arial, sans-serif;
  cursor: pointer;
}
html body.home:has(main.landing-page) .home-library-cta .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--home-blue-strong);
  font: 800 11px/1.2 Manrope, Arial, sans-serif;
  text-decoration: none;
}
html body.home:has(main.landing-page) .home-library-cta .button:hover,
html body.home:has(main.landing-page) .home-library-cta .button:focus-visible { filter: brightness(.96); }
html body.home:has(main.landing-page) .home-library-cta .button:focus-visible,
html body.home:has(main.landing-page) .home-library-cta .text-link:focus-visible {
  outline: 3px solid rgba(9, 89, 237, .26);
  outline-offset: 3px;
}
html body.home:has(main.landing-page) .home-library-cta-icon,
html body.home:has(main.landing-page) .home-library-cta-link-icon { width: 16px; height: 16px; }

@media (max-width: 1050px) {
  html body.home:has(main.landing-page) .home-library-resource-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  html body.home:has(main.landing-page) .home-library-master-section { padding: 46px 0 50px !important; }
  html body.home:has(main.landing-page) .home-library-resource-deck { grid-template-columns: 1fr; gap: 14px; }
  html body.home:has(main.landing-page) .home-library-cta { min-height: 230px; padding: 20px; }
}

/* Full catalog continuation. The homepage now renders the complete existing
   catalog and its filters, so this targets the actual shortcode output rather
   than the former five-record visual wrapper. Presentation only. */
html body.home:has(main.landing-page) .catalog-section .catalog-shell {
  padding: 18px !important;
  border: 1px solid var(--home-line-light) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 38px rgba(12, 67, 164, .07) !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-tools {
  display: grid !important;
  grid-template-columns: minmax(250px, 1.55fr) repeat(3, minmax(132px, .72fr)) minmax(116px, .55fr) !important;
  gap: 12px !important;
  align-items: end !important;
  margin: 0 0 18px !important;
  padding: 16px !important;
  border: 1px solid var(--home-line-light) !important;
  border-radius: 6px !important;
  background: var(--home-panel) !important;
  box-shadow: none !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-tools label,
html body.home:has(main.landing-page) .catalog-section .catalog-tools label > span:first-child {
  color: var(--home-ink-strong) !important;
  font: 800 10px/1.2 Manrope, Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-tools input,
html body.home:has(main.landing-page) .catalog-section .catalog-tools select {
  min-height: 42px !important;
  border: 1px solid #cbdcf5 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
  box-shadow: none !important;
  font: 600 13px/1.25 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-tools input:focus,
html body.home:has(main.landing-page) .catalog-section .catalog-tools select:focus {
  border-color: var(--home-blue-strong) !important;
  outline: 3px solid rgba(9, 89, 237, .16) !important;
  outline-offset: 1px !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-submit,
html body.home:has(main.landing-page) .catalog-section .catalog-clear {
  min-height: 42px !important;
  border-radius: 4px !important;
  font: 800 11px/1 Manrope, Arial, sans-serif !important;
  letter-spacing: .02em !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-submit {
  border: 1px solid var(--home-blue-strong) !important;
  background: var(--home-blue-strong) !important;
  color: #fff !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-clear {
  border: 1px solid #9dbcf4 !important;
  background: #fff !important;
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .catalog-section .catalog-result {
  margin: 0 0 14px !important;
  color: var(--home-copy) !important;
  font: 600 12px/1.45 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .catalog-section .peptide-product-grid {
  gap: 18px !important;
}
html body.home:has(main.landing-page) .catalog-section .product-card {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--home-line-light) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(12, 46, 102, .06) !important;
  transform: translateY(0) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}
html body.home:has(main.landing-page) .catalog-section .product-card[hidden] {
  display: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-card:hover,
html body.home:has(main.landing-page) .catalog-section .product-card:focus-within {
  border-color: #8eafea !important;
  box-shadow: 0 18px 34px rgba(12, 67, 164, .13) !important;
  transform: translateY(-2px) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-card.is-tilting {
  transform: translateY(-2px) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-card::before {
  display: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-image {
  min-height: 280px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--home-line-light) !important;
  background: #eef5ff !important;
}
html body.home:has(main.landing-page) .catalog-section .product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-image::after {
  border-color: rgba(18, 89, 239, .48) !important;
  background: rgba(3, 23, 56, .86) !important;
  color: #fff !important;
}
/* The ordinal is a decorative duplicate of the product information. Keep the
   actual product record untouched and remove only this visual overlay. */
html body.home:has(main.landing-page) .catalog-section .product-index {
  display: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-category,
html body.home:has(main.landing-page) .catalog-section .product-tag {
  color: var(--home-blue-strong) !important;
  text-shadow: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-body {
  display: flex !important;
  min-height: 224px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 20px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-title,
html body.home:has(main.landing-page) .catalog-section .product-title a {
  color: var(--home-ink-strong) !important;
  font-family: Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .catalog-section .product-meta {
  margin: 14px 0 18px !important;
  padding-top: 13px !important;
  border-top: 1px solid var(--home-line-light) !important;
  color: var(--home-copy) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-meta > div {
  color: var(--home-copy) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-meta strong {
  color: #6d829f !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  margin-top: auto !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions .button {
  min-height: 42px !important;
  border-radius: 4px !important;
  font: 800 12px/1 Manrope, Arial, sans-serif !important;
  text-decoration: none !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions .button-light {
  border: 1px solid #88aaf0 !important;
  background: #fff !important;
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions .button-dark {
  border: 1px solid var(--home-blue-strong) !important;
  background: var(--home-blue-strong) !important;
  color: #fff !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions .button:hover {
  filter: brightness(.96) !important;
}
html body.home:has(main.landing-page) .catalog-section .product-actions .button:focus-visible,
html body.home:has(main.landing-page) .catalog-section .catalog-submit:focus-visible,
html body.home:has(main.landing-page) .catalog-section .catalog-clear:focus-visible {
  outline: 3px solid rgba(9, 89, 237, .28) !important;
  outline-offset: 2px !important;
}

@media (max-width: 900px) {
  html body.home:has(main.landing-page) .catalog-section .catalog-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body.home:has(main.landing-page) .catalog-section .catalog-search {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 600px) {
  html body.home:has(main.landing-page) .catalog-section .catalog-shell { padding: 12px !important; }
  html body.home:has(main.landing-page) .catalog-section .catalog-tools {
    grid-template-columns: 1fr !important;
    padding: 12px !important;
  }
  html body.home:has(main.landing-page) .catalog-section .catalog-search { grid-column: auto !important; }
  html body.home:has(main.landing-page) .catalog-section .product-image { min-height: 250px !important; }
  html body.home:has(main.landing-page) .catalog-section .product-body { min-height: 0 !important; padding: 18px !important; }
  html body.home:has(main.landing-page) .catalog-section .product-actions .button { min-height: 44px !important; }
}

/* -------------------------------------------------------------------------
 * Confirmed homepage master — final presentation pass.
 *
 * This pass intentionally changes only template presentation.  The hero
 * keeps the admin-managed copy and background asset, while the catalog
 * preview reads the existing published product records without changing any
 * WordPress data, URLs, metadata, or SEO configuration.
 * ------------------------------------------------------------------------- */
@media (min-width: 901px) {
  html body.home:has(main.landing-page) .immersive-hero {
    min-height: 350px !important;
    height: 350px !important;
    overflow: hidden !important;
    background: #031738 !important;
  }
  html body.home:has(main.landing-page) .hero-frame {
    width: min(1280px, calc(100% - 96px)) !important;
    min-height: 350px !important;
    height: 350px !important;
    align-items: flex-start !important;
    padding: 46px 0 0 !important;
  }
  html body.home:has(main.landing-page) .hero-media {
    background-position: 58% 50% !important;
    filter: brightness(.46) saturate(.76) contrast(1.08) !important;
  }
  html body.home:has(main.landing-page) .hero-media::before {
    background:
      linear-gradient(90deg, rgba(2, 14, 37, .98) 0%, rgba(2, 14, 37, .88) 36%, rgba(2, 14, 37, .42) 68%, rgba(2, 14, 37, .55) 100%),
      linear-gradient(0deg, rgba(2, 14, 37, .40), rgba(2, 14, 37, .04) 62%, rgba(2, 14, 37, .24)) !important;
  }
  html body.home:has(main.landing-page) .hero-main-title {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
  }
  html body.home:has(main.landing-page) .hero-main-title .hero-eyebrow {
    margin-bottom: 12px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }
  html body.home:has(main.landing-page) .hero-main-title h1 {
    max-width: 560px !important;
    margin-bottom: 14px !important;
    font-size: clamp(46px, 4.2vw, 62px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.038em !important;
  }
  html body.home:has(main.landing-page) .hero-main-title .hero-subtitle {
    max-width: 455px !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  html body.home:has(main.landing-page) .hero-main-title .hero-actions { gap: 10px !important; }
  html body.home:has(main.landing-page) .hero-main-title .hero-actions .button {
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 3px !important;
    font-size: 12px !important;
  }
}

html body.home:has(main.landing-page) .home-catalog-preview {
  padding: 46px 0 54px !important;
  background: #fff !important;
  color: var(--home-ink-strong) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview .content-wrap {
  width: min(1280px, calc(100% - 96px)) !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 32px !important;
  margin: 0 0 22px !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-head > div { max-width: 610px !important; }
html body.home:has(main.landing-page) .home-catalog-preview-head .section-kicker {
  margin: 0 0 8px !important;
  color: var(--home-blue-strong) !important;
  font: 800 10px/1.2 Manrope, Arial, sans-serif !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-head h2 {
  margin: 0 0 9px !important;
  color: var(--home-ink-strong) !important;
  font: 400 clamp(34px, 3.25vw, 46px)/1.05 Italiana, Georgia, serif !important;
  letter-spacing: -.03em !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-head h2 em { color: var(--home-blue-strong) !important; font-style: normal !important; }
html body.home:has(main.landing-page) .home-catalog-preview-head p:last-child {
  max-width: 580px !important;
  margin: 0 !important;
  color: var(--home-copy) !important;
  font: 500 13px/1.55 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-head .text-link {
  flex: 0 0 auto !important;
  margin: 0 0 6px !important;
  color: var(--home-blue-strong) !important;
  font: 800 12px/1.2 Manrope, Arial, sans-serif !important;
  text-decoration: none !important;
}
html body.home:has(main.landing-page) .home-catalog-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
html body.home:has(main.landing-page) .home-preview-card {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #dce6f5 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(10, 49, 112, .045) !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}
html body.home:has(main.landing-page) .home-preview-card:hover,
html body.home:has(main.landing-page) .home-preview-card:focus-within {
  border-color: #a9c2ef !important;
  box-shadow: 0 14px 26px rgba(10, 61, 146, .10) !important;
  transform: translateY(-2px) !important;
}
html body.home:has(main.landing-page) .home-preview-card-link {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}
html body.home:has(main.landing-page) .home-preview-card-media {
  position: relative !important;
  display: grid !important;
  min-height: 205px !important;
  place-items: center !important;
  overflow: hidden !important;
  border-bottom: 1px solid #e1e9f6 !important;
  background: #f8fbff !important;
}
html body.home:has(main.landing-page) .home-preview-card-media img {
  width: min(78%, 174px) !important;
  height: 174px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 9px rgba(15, 42, 90, .17)) !important;
}
html body.home:has(main.landing-page) .home-preview-card-index {
  position: absolute !important;
  top: 11px !important;
  left: 12px !important;
  z-index: 1 !important;
  color: #bf8731 !important;
  font: 800 10px/1 Manrope, Arial, sans-serif !important;
  letter-spacing: .1em !important;
}
html body.home:has(main.landing-page) .home-preview-card-ruo {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 1 !important;
  max-width: 76px !important;
  padding: 4px 5px !important;
  border-radius: 2px !important;
  background: #062c6d !important;
  color: #fff !important;
  font: 800 7px/1.15 Manrope, Arial, sans-serif !important;
  letter-spacing: .045em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-preview-card-body {
  min-height: 142px !important;
  padding: 15px 14px 12px !important;
}
html body.home:has(main.landing-page) .home-preview-card-sku {
  min-height: 14px !important;
  margin: 0 0 6px !important;
  color: var(--home-blue-strong) !important;
  font: 800 9px/1.25 Manrope, Arial, sans-serif !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-preview-card h3 {
  min-height: 38px !important;
  margin: 0 0 12px !important;
  color: var(--home-ink-strong) !important;
  font: 800 14px/1.3 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .home-preview-card-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding-top: 11px !important;
  border-top: 1px solid #e6edf8 !important;
}
html body.home:has(main.landing-page) .home-preview-card-meta div { min-width: 0 !important; }
html body.home:has(main.landing-page) .home-preview-card-meta dt {
  margin: 0 0 3px !important;
  color: #70819c !important;
  font: 800 8px/1.2 Manrope, Arial, sans-serif !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-preview-card-meta dd {
  margin: 0 !important;
  overflow-wrap: anywhere !important;
  color: var(--home-ink-strong) !important;
  font: 600 10px/1.35 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .home-preview-card-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 0 14px 15px !important;
}
html body.home:has(main.landing-page) .home-preview-card-actions a,
html body.home:has(main.landing-page) .home-preview-card-actions button {
  display: inline-flex !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 6px !important;
  border: 1px solid #a9c2ef !important;
  border-radius: 3px !important;
  background: #fff !important;
  color: var(--home-blue-strong) !important;
  font: 800 10px/1.1 Manrope, Arial, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
html body.home:has(main.landing-page) .home-preview-card-actions button {
  border-color: var(--home-blue-strong) !important;
  background: var(--home-blue-strong) !important;
  color: #fff !important;
}
html body.home:has(main.landing-page) .home-preview-card-actions a:hover,
html body.home:has(main.landing-page) .home-preview-card-actions a:focus-visible,
html body.home:has(main.landing-page) .home-preview-card-actions button:hover,
html body.home:has(main.landing-page) .home-preview-card-actions button:focus-visible {
  filter: brightness(.96) !important;
  outline: none !important;
}
html body.home:has(main.landing-page) .home-preview-card-actions a:focus-visible,
html body.home:has(main.landing-page) .home-preview-card-actions button:focus-visible {
  box-shadow: 0 0 0 3px rgba(9, 89, 237, .22) !important;
}
html body.home:has(main.landing-page) .home-catalog-expander {
  margin-top: 24px !important;
  scroll-margin-top: 108px;
}
html body.home:has(main.landing-page) .home-catalog-expander > summary {
  display: flex !important;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 17px;
  border: 1px solid #c7d9f2;
  border-radius: 3px;
  background: #f8fbff;
  color: var(--home-blue-strong);
  cursor: pointer;
  font: 800 12px/1.2 Manrope, Arial, sans-serif;
  letter-spacing: .02em;
  list-style: none;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
html body.home:has(main.landing-page) .home-catalog-expander > summary::-webkit-details-marker { display: none; }
html body.home:has(main.landing-page) .home-catalog-expander > summary::marker { content: ''; }
html body.home:has(main.landing-page) .home-catalog-expander > summary:hover {
  border-color: #8eafea;
  background: #fff;
  box-shadow: 0 9px 22px rgba(9, 67, 164, .08);
}
html body.home:has(main.landing-page) .home-catalog-expander > summary:focus-visible {
  outline: 3px solid #7cabff;
  outline-offset: 3px;
}
html body.home:has(main.landing-page) .home-catalog-expander-copy { display: inline-flex; flex-wrap: wrap; gap: 4px; }
html body.home:has(main.landing-page) .home-catalog-expander-copy strong { color: var(--home-ink-strong); }
html body.home:has(main.landing-page) .home-catalog-expander-icon {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto;
  transition: transform 160ms ease;
}
html body.home:has(main.landing-page) .home-catalog-expander[open] > summary {
  border-bottom-color: transparent;
  background: #fff;
}
html body.home:has(main.landing-page) .home-catalog-expander[open] .home-catalog-expander-icon { transform: rotate(45deg); }
html body.home:has(main.landing-page) .home-catalog-expander-body { padding-top: 20px; }
/* Keep the shared WhatsApp entry visible on the homepage as on other routes. */

/* The confirmed master uses the next band as a compact documentation/support
   moment.  Existing trust-item data remains exactly as stored; only its
   surrounding presentation and new non-record heading are added. */
html body.home:has(main.landing-page) .home-trust-strip {
  padding: 48px 0 54px !important;
  border: 0 !important;
  background: #fff !important;
}
html body.home:has(main.landing-page) .home-trust-wrap { width: min(1280px, calc(100% - 96px)) !important; }
html body.home:has(main.landing-page) .home-trust-head { max-width: 760px !important; margin: 0 0 22px !important; }
html body.home:has(main.landing-page) .home-trust-head .section-kicker {
  margin: 0 0 8px !important;
  color: var(--home-blue-strong) !important;
  font: 800 10px/1.2 Manrope, Arial, sans-serif !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-trust-head h2 {
  margin: 0 !important;
  color: var(--home-ink-strong) !important;
  font: 400 clamp(32px, 3.1vw, 44px)/1.08 Italiana, Georgia, serif !important;
  letter-spacing: -.03em !important;
}
html body.home:has(main.landing-page) .home-trust-head h2 em { color: var(--home-blue-strong) !important; font-style: normal !important; }
html body.home:has(main.landing-page) .home-trust-grid {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dce6f5 !important;
  border-radius: 7px !important;
  background: #f5f9ff !important;
}
html body.home:has(main.landing-page) .home-trust-item,
html body.home:has(main.landing-page) .home-trust-item:first-child {
  min-height: 162px !important;
  padding: 25px 23px !important;
  border: 0 !important;
  border-right: 1px solid #dce6f5 !important;
  background: transparent !important;
}
html body.home:has(main.landing-page) .home-trust-item:last-child { border-right: 0 !important; }
html body.home:has(main.landing-page) .home-trust-item > .master-ui-icon,
html body.home:has(main.landing-page) .home-trust-item > .dashicons {
  width: 28px !important;
  height: 28px !important;
  color: var(--home-blue-strong) !important;
}
html body.home:has(main.landing-page) .home-trust-item strong {
  margin-bottom: 6px !important;
  color: var(--home-ink-strong) !important;
  font: 800 13px/1.35 Manrope, Arial, sans-serif !important;
}
html body.home:has(main.landing-page) .home-trust-item p {
  color: var(--home-copy) !important;
  font: 500 12px/1.5 Manrope, Arial, sans-serif !important;
}

/* Existing product thumbnails become the light, record-led visual gallery.
   No product record or media attachment is replaced or changed. */
html body.home:has(main.landing-page) .home-materials-view {
  padding: 0 0 54px !important;
  background: #fff !important;
}
html body.home:has(main.landing-page) .home-materials-view .content-wrap { width: min(1280px, calc(100% - 96px)) !important; }
html body.home:has(main.landing-page) .home-materials-view-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 32px !important;
  margin: 0 0 20px !important;
}
html body.home:has(main.landing-page) .home-materials-view-head .section-kicker {
  margin: 0 0 8px !important;
  color: var(--home-blue-strong) !important;
  font: 800 10px/1.2 Manrope, Arial, sans-serif !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
html body.home:has(main.landing-page) .home-materials-view-head h2 {
  margin: 0 !important;
  color: var(--home-ink-strong) !important;
  font: 400 clamp(32px, 3vw, 43px)/1.08 Italiana, Georgia, serif !important;
  letter-spacing: -.03em !important;
}
html body.home:has(main.landing-page) .home-materials-view-head h2 em { color: var(--home-blue-strong) !important; font-style: normal !important; }
html body.home:has(main.landing-page) .home-materials-view-head .text-link {
  flex: 0 0 auto !important;
  margin: 0 0 5px !important;
  color: var(--home-blue-strong) !important;
  font: 800 12px/1.2 Manrope, Arial, sans-serif !important;
  text-decoration: none !important;
}
html body.home:has(main.landing-page) .home-materials-view-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
html body.home:has(main.landing-page) .home-materials-view-card {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  min-height: 236px !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 1px solid #dce6f5 !important;
  border-radius: 4px !important;
  background: #f7fbff !important;
  color: var(--home-ink-strong) !important;
  text-decoration: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}
html body.home:has(main.landing-page) .home-materials-view-card:hover,
html body.home:has(main.landing-page) .home-materials-view-card:focus-visible {
  border-color: #a9c2ef !important;
  box-shadow: 0 14px 28px rgba(10, 61, 146, .11) !important;
  transform: translateY(-2px) !important;
  outline: none !important;
}
html body.home:has(main.landing-page) .home-materials-view-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 11px rgba(12, 42, 96, .17)) !important;
}
html body.home:has(main.landing-page) .home-materials-view-card span {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  padding: 10px 12px !important;
  background: linear-gradient(0deg, rgba(2, 22, 55, .88), rgba(2, 22, 55, 0)) !important;
  color: #fff !important;
  font: 800 12px/1.25 Manrope, Arial, sans-serif !important;
  text-align: left !important;
}

@media (max-width: 1100px) {
  html body.home:has(main.landing-page) .home-catalog-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
  html body.home:has(main.landing-page) .home-catalog-preview .content-wrap { width: min(100% - 48px, 720px) !important; }
  html body.home:has(main.landing-page) .home-catalog-preview-head { align-items: start !important; flex-direction: column !important; gap: 14px !important; }
  html body.home:has(main.landing-page) .home-catalog-preview-head .text-link { display: none !important; }
  html body.home:has(main.landing-page) .home-trust-wrap { width: min(100% - 48px, 720px) !important; }
  html body.home:has(main.landing-page) .home-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.home:has(main.landing-page) .home-trust-item,
  html body.home:has(main.landing-page) .home-trust-item:first-child { border-bottom: 1px solid #dce6f5 !important; }
  html body.home:has(main.landing-page) .home-trust-item:nth-child(2n) { border-right: 0 !important; }
  html body.home:has(main.landing-page) .home-trust-item:nth-last-child(-n + 2) { border-bottom: 0 !important; }
  html body.home:has(main.landing-page) .home-materials-view .content-wrap { width: min(100% - 48px, 720px) !important; }
  html body.home:has(main.landing-page) .home-materials-view-head { align-items: start !important; flex-direction: column !important; gap: 12px !important; }
  html body.home:has(main.landing-page) .home-materials-view-head .text-link { display: none !important; }
  html body.home:has(main.landing-page) .home-materials-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  html body.home:has(main.landing-page) .home-catalog-preview { padding: 36px 0 42px !important; }
  html body.home:has(main.landing-page) .home-catalog-preview .content-wrap { width: calc(100% - 32px) !important; }
  html body.home:has(main.landing-page) .home-catalog-preview-head h2 { font-size: 36px !important; }
  html body.home:has(main.landing-page) .home-catalog-preview-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  html body.home:has(main.landing-page) .home-preview-card-media { min-height: 250px !important; }
  html body.home:has(main.landing-page) .home-preview-card-media img { width: min(72%, 210px) !important; height: 215px !important; }
  html body.home:has(main.landing-page) .home-preview-card-body { min-height: 0 !important; padding: 18px 16px 14px !important; }
  html body.home:has(main.landing-page) .home-preview-card h3 { min-height: 0 !important; font-size: 16px !important; }
  html body.home:has(main.landing-page) .home-preview-card-actions { padding: 0 16px 16px !important; }
  html body.home:has(main.landing-page) .home-preview-card-actions a,
  html body.home:has(main.landing-page) .home-preview-card-actions button { min-height: 42px !important; font-size: 12px !important; }
  html body.home:has(main.landing-page) .home-trust-strip { padding: 38px 0 42px !important; }
  html body.home:has(main.landing-page) .home-trust-wrap { width: calc(100% - 32px) !important; }
  html body.home:has(main.landing-page) .home-trust-head { margin-bottom: 17px !important; }
  html body.home:has(main.landing-page) .home-trust-head h2 { font-size: 34px !important; }
  html body.home:has(main.landing-page) .home-trust-grid { grid-template-columns: 1fr !important; }
  html body.home:has(main.landing-page) .home-trust-item,
  html body.home:has(main.landing-page) .home-trust-item:first-child {
    min-height: 0 !important;
    padding: 20px 18px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #dce6f5 !important;
  }
  html body.home:has(main.landing-page) .home-trust-item:last-child { border-bottom: 0 !important; }
  html body.home:has(main.landing-page) .home-materials-view { padding: 0 0 42px !important; }
  html body.home:has(main.landing-page) .home-materials-view .content-wrap { width: calc(100% - 32px) !important; }
  html body.home:has(main.landing-page) .home-materials-view-head { margin-bottom: 16px !important; }
  html body.home:has(main.landing-page) .home-materials-view-head h2 { font-size: 34px !important; }
  html body.home:has(main.landing-page) .home-materials-view-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  html body.home:has(main.landing-page) .home-materials-view-card { min-height: 286px !important; }
}
