/* Approved centered GLOW hero. Scoped to the homepage campaign only. */
body.srs-front .srs-home { overflow: visible; }
.srs-centered-hero {
  --sch-pad: clamp(24px, 5.2vw, 96px);
  --sch-nav: 78px;
  --sch-header: 112px;
  --sch-top: calc(var(--sch-nav) + var(--srs-admin-offset, 0px));
  --sch-height: calc(100svh - var(--sch-top));
  --sch-surface: #050505;
  --sch-surface-card: rgba(5,5,5,.96);
  --sch-text: #fff;
  --sch-text-soft: #c9cdd3;
  --sch-text-muted: #b4bac3;
  --sch-text-secondary: #d5d8dd;
  --sch-text-inactive: #9fa6b0;
  --sch-heading-inactive: #b8bdc5;
  --sch-meta-inactive: #aab0b9;
  --sch-border: #626770;
  --sch-border-inactive: #5b6068;
  --sch-border-strong: #888d94;
  --sch-action-border: #666c75;
  --sch-card-border: #4b5058;
  --sch-heading-color: var(--sch-text);
  --sch-body-color: var(--sch-text-muted);
  --sch-meta-color: var(--sch-text-soft);
  --sch-quality-color: var(--sch-text-secondary);
  --sch-current-border: var(--sch-border);
  background: var(--sch-surface);
  color: var(--sch-text);
  position: relative;
  font-family: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.srs-centered-hero *, .srs-centered-hero *::before, .srs-centered-hero *::after { box-sizing: border-box; }
.srs-centered-hero a { color: inherit; text-decoration: none; }
.srs-centered-hero a:focus-visible { outline: 2px solid var(--sch-text); outline-offset: 5px; }
.srs-centered-hero .sch-icon { display:inline-block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; flex:0 0 auto; }
.srs-centered-hero .sch-opening { text-align:center; position:relative; z-index:3; padding:clamp(22px,3.5svh,42px) 24px 0; }
.srs-centered-hero .sch-kicker { color:var(--sch-text-soft); font-size:10px; line-height:1.4; font-weight:600; letter-spacing:.17em; text-transform:uppercase; margin:0 0 clamp(15px,2svh,24px); }
.srs-centered-hero .sch-opening h1 { font-family:var(--srs-display)!important; font-stretch:condensed; font-weight:700; font-size:clamp(68px,min(11vw,15svh),188px); line-height:.84; letter-spacing:-.018em; margin:0; color:var(--sch-text); }
.srs-centered-hero .sch-opening h1 span { color:var(--sch-text-soft); font-family:inherit!important; }
.srs-centered-hero .sch-first-fold { display:flex; justify-content:center; margin-top:24px; }
.srs-centered-hero .sch-first-actions { display:flex; align-items:center; gap:12px; }
.srs-centered-hero .sch-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:49px; padding:13px 21px; font-size:12px; line-height:1.4; font-weight:600; border:1px solid var(--sch-action-border); transition:background .2s,border-color .2s; }
.srs-centered-hero .sch-button.sch-primary { background:var(--sch-text); color:var(--srs-ink); border-color:var(--sch-text); }
.srs-centered-hero .sch-button.sch-primary:hover { background:var(--sch-text-soft); border-color:var(--sch-text-soft); }
.srs-centered-hero .sch-button.sch-secondary { background:var(--sch-surface); }
.srs-centered-hero .sch-button.sch-secondary:hover { border-color:var(--sch-text); }
.srs-centered-hero .sch-button .sch-icon { width:17px; height:17px; }
.srs-centered-hero .sch-scroll-cue { position:absolute; top:calc(100svh - var(--sch-header) - var(--srs-admin-offset,0px) - 66px); right:var(--sch-pad); display:flex; align-items:center; gap:21px; font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; color:var(--sch-text-soft); }
.srs-centered-hero .sch-scroll-cue .sch-icon { width:22px; height:30px; }
.srs-centered-hero .sch-story { position:relative; display:grid; margin-top:16px; }
/* Blend against one explicit black surface, not unrelated page/backdrop layers. */
.srs-centered-hero .sch-product-stage { position:sticky; top:var(--sch-top); height:var(--sch-height); grid-area:1/1; align-self:start; pointer-events:none; overflow:hidden; background:var(--sch-surface); isolation:isolate; }
/* The lossless source keeps the approved vial pixels. Its outer background is
   below the #050505 surface, so lighten produces a uniform black surround.
   Fade only the reflection's bottom edge, not the image's left/right sides. */
.srs-centered-hero .sch-hero-vial { display:block; position:absolute; left:50%; top:1%; transform:translateX(-50%); height:98%; width:auto; max-width:none; margin:0; mix-blend-mode:lighten; -webkit-mask-image:linear-gradient(180deg,#000 94%,transparent 100%); mask-image:linear-gradient(180deg,#000 94%,transparent 100%); }
.srs-centered-hero .sch-story-track { position:relative; grid-area:1/1; min-width:0; z-index:2; padding-top:30svh; padding-bottom:clamp(180px,32svh,360px); pointer-events:none; }
.srs-centered-hero .sch-story-step { display:flex; align-items:center; min-height:54svh; padding:34px max(var(--sch-pad),calc((100vw - 1600px)/2)); scroll-margin-top:calc(var(--sch-top) + 24px); }
.srs-centered-hero .sch-story-step.sch-right { justify-content:flex-end; }
.srs-centered-hero .sch-step-copy { width:27%; max-width:400px; pointer-events:auto; color:var(--sch-heading-color); }
.srs-centered-hero .sch-step-index { display:flex; align-items:center; gap:12px; font-size:10px; line-height:1.4; font-weight:600; letter-spacing:.11em; color:var(--sch-meta-color); margin:0 0 22px; padding-top:19px; border-top:1px solid var(--sch-current-border); }
.srs-centered-hero .sch-step-index .sch-icon { width:16px; height:16px; }
.srs-centered-hero .sch-step-copy h2 { font-family:var(--srs-display)!important; font-weight:700; font-stretch:condensed; font-size:clamp(32px,3.3vw,58px); line-height:1.02; letter-spacing:-.01em; margin:0 0 23px; color:var(--sch-heading-color); }
.srs-centered-hero .sch-step-copy > p:not(.sch-step-index):not(.sch-quality-purity) { font-size:clamp(15px,1.08vw,17px); line-height:1.7; color:var(--sch-body-color); max-width:36ch; text-wrap:pretty; margin:0 0 24px; }
.srs-centered-hero .sch-step-copy > p:last-child { margin-bottom:0; }
.srs-centered-hero .sch-quality-purity { display:flex; align-items:center; gap:16px; color:var(--sch-quality-color); line-height:1; margin:0 0 24px; }
.srs-centered-hero .sch-quality-purity strong, .srs-centered-hero .sch-quality-purity span { font-family:var(--srs-display)!important; font-weight:700; }
.srs-centered-hero .sch-quality-purity strong { font-size:clamp(60px,5.5vw,84px); letter-spacing:-.035em; line-height:1; }
.srs-centered-hero .sch-quality-purity span { font-size:clamp(20px,1.8vw,26px); max-width:9ch; line-height:1.08; }
.srs-centered-hero .sch-text-link { display:inline-flex; align-items:center; gap:25px; border-bottom:1px solid var(--sch-border-strong); padding-bottom:9px; font-size:12px; line-height:1.4; font-weight:600; }
.srs-centered-hero .sch-text-link .sch-icon { width:16px; height:16px; }
.srs-centered-hero .sch-text-link:hover { border-color:var(--sch-text); }
.srs-centered-hero.sch-focus-ready .sch-step-copy {
  --sch-heading-color: var(--sch-heading-inactive);
  --sch-body-color: var(--sch-text-inactive);
  --sch-meta-color: var(--sch-meta-inactive);
  --sch-quality-color: var(--sch-meta-inactive);
  --sch-current-border: var(--sch-border-inactive);
}
.srs-centered-hero.sch-focus-ready .sch-step-copy > * {
  opacity:.82;
  transform:translateY(8px);
  transition:opacity .35s ease,transform .35s ease,color .35s ease,border-color .35s ease;
}
.srs-centered-hero.sch-focus-ready .sch-story-step.is-current .sch-step-copy,
.srs-centered-hero.sch-focus-ready .sch-step-copy:focus-within {
  --sch-heading-color: var(--sch-text);
  --sch-body-color: var(--sch-text-muted);
  --sch-meta-color: var(--sch-text-soft);
  --sch-quality-color: var(--sch-text-secondary);
  --sch-current-border: var(--sch-border);
}
.srs-centered-hero.sch-focus-ready .sch-story-step.is-current .sch-step-copy > *,
.srs-centered-hero.sch-focus-ready .sch-step-copy:focus-within > * {
  opacity:1;
  transform:translateY(0);
}
@media(min-width:2100px) { .srs-centered-hero .sch-step-copy { width:32%; } }
@media(max-width:1150px) and (min-width:761px) {
  .srs-centered-hero .sch-step-copy { width:28%; }
  .srs-centered-hero .sch-step-copy h2 { font-size:34px; }
  .srs-centered-hero .sch-button { gap:14px; padding-inline:17px; }
  .srs-centered-hero .sch-first-actions { gap:8px; }
}
@media(max-width:820px) { .srs-centered-hero { --sch-nav:64px; --sch-header:98px; } }
@media(max-width:760px) {
  .srs-centered-hero { --sch-pad:22px; }
  .srs-centered-hero .sch-opening { padding-top:28px; }
  .srs-centered-hero .sch-kicker { font-size:9px; margin-bottom:17px; }
  .srs-centered-hero .sch-opening h1 { font-size:clamp(62px,17.8vw,116px); line-height:.85; }
  .srs-centered-hero .sch-first-fold { margin-top:23px; }
  .srs-centered-hero .sch-first-actions { gap:9px; }
  .srs-centered-hero .sch-button { min-height:44px; font-size:11px; padding:11px 16px; gap:14px; }
  .srs-centered-hero .sch-scroll-cue { display:none; }
  .srs-centered-hero .sch-story { margin-top:24px; }
  .srs-centered-hero .sch-hero-vial { height:98%; top:0; }
  .srs-centered-hero .sch-story-track { padding-top:40svh; }
  .srs-centered-hero .sch-story-step, .srs-centered-hero .sch-story-step.sch-right { min-height:70svh; align-items:flex-end; justify-content:center; padding:25px 20px 4svh; }
  .srs-centered-hero .sch-step-copy { width:100%; max-width:430px; padding:clamp(20px,5.6vw,28px); background:rgba(9,10,12,.97); border:1px solid #34383d; font-family:"Source Catalog Sans",sans-serif; }
  .srs-centered-hero .sch-step-index { border:0; padding:0; margin-bottom:18px; font-size:9px; }
  .srs-centered-hero .sch-step-copy h2 { font-family:"Source Catalog Sans",sans-serif!important; font-size:clamp(27px,7.5vw,34px); line-height:1.08; letter-spacing:-.025em; margin-bottom:20px; }
  .srs-centered-hero .sch-step-copy > p:not(.sch-step-index):not(.sch-quality-purity) { font-size:16px; line-height:1.6; color:var(--sch-text-soft); margin-bottom:20px; }
  .srs-centered-hero .sch-step-copy > p:last-child { margin-bottom:0; }
  .srs-centered-hero .sch-step-index { font-size:10px; letter-spacing:.09em; margin-bottom:18px; }
  .srs-centered-hero .sch-quality-purity { gap:12px; margin-bottom:22px; }
  .srs-centered-hero .sch-quality-purity strong { font-family:"Source Catalog Sans",sans-serif!important; font-size:48px; }
  .srs-centered-hero .sch-quality-purity span { font-family:"Source Catalog Sans",sans-serif!important; font-size:16px; line-height:1.2; }
  .srs-centered-hero .sch-text-link { min-height:44px; font-size:13px; gap:28px; padding:8px 0; }
  /* Keep mobile copy legible while the nearest card receives emphasis. */
  .srs-centered-hero.sch-focus-ready .sch-step-copy { --sch-heading-color:#e1e4e8; --sch-meta-color:var(--sch-text-soft); --sch-quality-color:#e1e4e8; }
  .srs-centered-hero.sch-focus-ready .sch-step-copy > * { opacity:.94; transform:translateY(4px); }
  .srs-centered-hero.sch-focus-ready .sch-step-copy > p:not(.sch-step-index):not(.sch-quality-purity) { opacity:1; }
  .srs-centered-hero.sch-focus-ready .sch-story-step.is-current .sch-step-copy,
  .srs-centered-hero.sch-focus-ready .sch-step-copy:focus-within { --sch-heading-color:#fff; --sch-quality-color:var(--sch-text-secondary); border-color:#555b63; }
  .srs-centered-hero.sch-focus-ready .sch-story-step.is-current .sch-step-copy > *,
  .srs-centered-hero.sch-focus-ready .sch-step-copy:focus-within > * { opacity:1; transform:none; }
}
@media(max-height:580px) and (min-width:761px) {
  .srs-centered-hero .sch-opening { padding-top:15px; }
  .srs-centered-hero .sch-kicker { margin-bottom:12px; }
  .srs-centered-hero .sch-opening h1 { font-size:14svh; }
  .srs-centered-hero .sch-step-copy h2 { font-size:30px; }
  .srs-centered-hero .sch-step-copy > p:not(.sch-step-index):not(.sch-quality-purity) { font-size:14px; }
  .srs-centered-hero .sch-story-step { min-height:68svh; }
}
@media(prefers-reduced-motion:reduce) {
  .srs-centered-hero *, .srs-centered-hero *::before, .srs-centered-hero *::after { transition:none!important; scroll-behavior:auto!important; }
  .srs-centered-hero.sch-focus-ready .sch-step-copy {
    --sch-heading-color: var(--sch-text);
    --sch-body-color: var(--sch-text-muted);
    --sch-meta-color: var(--sch-text-soft);
    --sch-quality-color: var(--sch-text-secondary);
    --sch-current-border: var(--sch-border);
  }
  .srs-centered-hero.sch-focus-ready .sch-step-copy > * { opacity:1; transform:none; }
}

/* A clear product descriptor between the headline and shopping links. */
.srs-centered-hero .sch-subheading { margin:18px 0 0; color:var(--sch-text-soft); font-size:clamp(16px,1.5vw,21px); font-weight:400; line-height:1.4; letter-spacing:.01em; }
.srs-centered-hero .sch-first-fold { margin-top:18px; }
@media(max-width:760px) { .srs-centered-hero .sch-subheading { margin-top:16px; font-size:16px; } }

/* Restore the compact four-panel rail immediately after the centered hero. */
.srs-home > .srs-centered-hero + .srs-proof-rail { margin-block-start:0; }
.srs-home .srs-proof-rail a { color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.srs-home .srs-proof-rail a:hover { color:#101114; }
.srs-home .srs-proof-rail a:focus-visible { outline:2px solid #101114; outline-offset:3px; }

/* One prominent shopping action beneath the opening headline. */
.srs-centered-hero .sch-first-actions .sch-primary {
  min-width:248px;
  min-height:60px;
  padding:17px 30px;
  gap:26px;
  font-size:17px;
  font-weight:700;
}
.srs-centered-hero .sch-first-actions .sch-primary .sch-icon { width:20px; height:20px; }
@media(max-width:760px) {
  .srs-centered-hero .sch-first-actions .sch-primary {
    min-width:230px;
    min-height:56px;
    padding:15px 24px;
    gap:22px;
    font-size:16px;
  }
}
