/* Peppies brighter editorial system. Scene photography is separate from live product data. */
:root {
  color-scheme: light;
  --gv-paper: #fff; --gv-white: #fff; --gv-ink: #111; --gv-muted: #626265; --gv-line: #e5e5e7;
  --gv-pink: #ff3e91; --gv-pink-wash: #fff0f6; --gv-lime: #dfff00; --gv-lime-wash: #f8ffda;
  --gv-poppy: #ff4938; --gv-lilac: #d9cbff; --gv-green: #dfff00; --gv-brass: #dfff00;
  --gv-serif: Georgia, 'Times New Roman', serif; --gv-sans: Arial, Helvetica, sans-serif;
  font-family: var(--gv-sans); color: var(--gv-ink); background: var(--gv-paper);
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: 4px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .48; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--gv-ink); outline-offset: 4px; }
h1, h2, h3, p, dl, dd, figure { margin: 0; }
h1, h2, h3 { font-family: var(--gv-sans); font-weight: 900; }
h1 { font-size: clamp(40px, 5.1vw, 72px); line-height: .99; letter-spacing: -.06em; }
h2 { font-size: clamp(28px, 3.1vw, 42px); line-height: 1.04; letter-spacing: -.045em; }
h3 { font-size: 21px; line-height: 1.18; letter-spacing: -.035em; }
p { line-height: 1.5; }
small { font-size: 12px; }
input, select, textarea, img, svg { max-width: 100%; }
fieldset { min-width: 0; }
table { border-collapse: collapse; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--gv-line); text-align: left; font-size: 13px; }
th { font-weight: 700; color: var(--gv-muted); }
details { border-top: 1px solid var(--gv-line); padding: 13px 0; }
summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 12px; font-weight: 700; }
summary::after { content: '+'; margin-left: auto; font-size: 20px; font-weight: 400; }
details[open] > summary::after { content: '−'; }
details p, details ul { margin-top: 12px; font-size: 14px; color: var(--gv-muted); }
label { font-size: 14px; }
input[type=checkbox], input[type=radio] { accent-color: var(--gv-ink); width: 18px; height: 18px; vertical-align: middle; flex-shrink: 0; }
[hidden] { display: none !important; }
#gv-main:focus { outline: none; }
.gv-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gv-skip { position: absolute; top: -100px; left: 20px; z-index: 50; padding: 14px; background: #fff; }
.gv-skip:focus { top: 12px; }

/* Navigation and page rhythm. */
.gv-header { display: flex; align-items: center; gap: 44px; padding: 13px max(24px, calc((100% - 1250px) / 2)); border-bottom: 1px solid var(--gv-line); background: #fff; }
.gv-brand { font-family: var(--gv-serif); font-size: 37px; font-weight: 900; line-height: 1; letter-spacing: -.085em; color: var(--gv-ink); text-decoration: none; white-space: nowrap; }
.gv-brand span { color: var(--gv-lime); }
.gv-header nav, .gv-header-actions { display: flex; align-items: center; gap: 25px; }
.gv-header nav { margin: 0 auto; }
.gv-header a:not(.gv-brand) { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; text-decoration: none; white-space: nowrap; }
.gv-header a:not(.gv-brand):hover { text-decoration: underline; }
.gv-header-actions { margin-left: auto; gap: 20px; }
.gv-menu-toggle { display: none; border: 0; background: transparent; padding: 8px 0 8px 10px; color: #111; font-size: 12px; }
#gv-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 21px; height: 21px; margin-left: 7px; border-radius: 50%; background: var(--gv-pink); color: #111; font-size: 11px; font-weight: 700; }
.gv-container { max-width: 1330px; margin: 0 auto; padding: 0 40px; }
.gv-breadcrumb { padding: 24px 0 20px; font-size: 12px; color: var(--gv-muted); }
.gv-kicker { margin-bottom: 12px; color: var(--gv-muted); font-size: 12px; }
.gv-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 24px 0 30px; }
.gv-section-head > div { max-width: 850px; }
.gv-section-head a { font-size: 13px; }
.gv-section { margin: 56px 0; }
.gv-section > h2 { margin-bottom: 24px; }
.gv-section > p { margin: 16px 0; color: var(--gv-muted); }
.gv-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; padding: 30px max(24px, calc((100% - 1250px) / 2)); border-top: 1px solid var(--gv-line); }
.gv-footer .gv-brand { font-size: 30px; }
.gv-footer p { max-width: 60ch; color: var(--gv-muted); font-size: 11px; }
.gv-footer p:last-child { margin-left: auto; }

/* Shared controls. */
.gv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 21px; border: 1px solid var(--gv-ink); border-radius: 6px; background: var(--gv-ink); color: #fff; text-decoration: none; text-align: center; font-size: 13px; font-weight: 700; line-height: 1.25; transition: background-color .15s ease, border-color .15s ease; }
.gv-btn:not(:disabled):hover { background: #333; border-color: #333; }
.gv-btn-secondary { background: #fff; color: var(--gv-ink); border-color: #c9c9cc; }
.gv-btn-secondary:not(:disabled):hover { background: #f5f5f5; border-color: #999; }
.gv-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.gv-actions a, .gv-actions button { flex: 0 1 auto; }
.gv-actions p { font-size: 13px; color: var(--gv-muted); }
.gv-field { display: grid; gap: 8px; min-width: 0; font-size: 13px; font-weight: 600; }
.gv-field input, .gv-field select, .gv-field textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d6d6d9; border-radius: 5px; background: #fff; color: var(--gv-ink); font-size: 14px; font-weight: 400; }
.gv-field textarea { min-height: 100px; resize: vertical; }
.gv-field input[aria-invalid=true], .gv-quantity:invalid { border-color: #b02018; }
.gv-qty-label { display: grid; gap: 5px; color: var(--gv-muted); font-size: 11px; }
.gv-quantity, .gv-line input { width: 64px; min-height: 44px; padding: 9px; border: 1px solid #d6d6d9; border-radius: 5px; background: #fff; color: var(--gv-ink); text-align: center; font-size: 14px; }
.gv-options { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; border: 0; }
.gv-options legend { margin-bottom: 6px; color: var(--gv-muted); font-size: 11px; }
.gv-options label { display: flex; flex: 1; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 12px; border: 1px solid var(--gv-line); border-radius: 5px; background: #fff; font-size: 12px; cursor: pointer; }
.gv-options label:has(input:checked) { background: var(--gv-ink); border-color: var(--gv-ink); color: #fff; }
.gv-options input { width: 14px; height: 14px; margin: 0; accent-color: currentColor; }
.gv-form { display: grid; gap: 22px; }
.gv-form > fieldset { margin: 0; padding: 16px; border: 1px solid var(--gv-line); border-radius: 5px; }
.gv-form > fieldset legend { font-size: 13px; }
.gv-form label:has(input[type=checkbox]) { line-height: 1.5; }
.gv-form > p { font-size: 13px; color: var(--gv-muted); }
.gv-form .gv-btn { justify-self: start; } #gv-invitation-form > .gv-btn { width: 100%; }
.gv-form .gv-options { margin: 0; }
.gv-form .gv-options label { justify-content: start; padding: 12px; font-size: 13px; }
.gv-form .gv-options label:has(input:checked) { color: var(--gv-ink); background: var(--gv-lime-wash); border-color: #c6d576; }
.gv-visibility strong, .gv-visibility small { display: block; }
.gv-visibility small { margin-top: 5px; font-size: 11px; color: #555; }
.gv-panel > .gv-field + .gv-field { margin-top: 15px; }
.gv-inline-fields { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.gv-inline-fields .gv-field { flex: 1; min-width: min(100%, 200px); }
.gv-copy-result { margin-top: 12px; overflow-wrap: anywhere; }

/* Campaign photograph with live brand and copy. */
.gv-campaign { position: relative; min-height: clamp(470px, 40vw, 590px); isolation: isolate; overflow: hidden; background: var(--gv-pink); }
.gv-container > .gv-campaign, .gv-container > .gv-invite-banner { margin-inline: calc(50% - 50vw); }
.gv-campaign > .gv-scene, .gv-campaign > img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; }
.gv-campaign .gv-scene img, .gv-campaign > img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; }
.gv-campaign-brand { position: relative; z-index: 1; width: fit-content; padding: 8px max(40px, calc((100vw - 1250px) / 2)); font-family: var(--gv-serif); font-size: clamp(112px, 15vw, 222px); font-weight: 900; line-height: .95; letter-spacing: -.085em; color: #fff; }
.gv-campaign-copy { position: absolute; z-index: 1; bottom: 36px; left: max(40px, calc((100vw - 1250px) / 2)); max-width: 450px; }
.gv-campaign-copy h1 { font-size: clamp(45px, 4.5vw, 66px); line-height: .95; letter-spacing: -.055em; }
.gv-campaign-copy p { max-width: 35ch; margin-top: 15px; font-size: 15px; line-height: 1.4; }
.gv-campaign-copy .gv-actions { margin-top: 22px; }
.gv-campaign-copy .gv-btn { background: #fff; border-color: #fff; color: var(--gv-ink); border-radius: 999px; }
.gv-campaign-copy .gv-btn:hover { background: var(--gv-lime); border-color: var(--gv-lime); }
.gv-campaign-copy .gv-btn-secondary { background: transparent; border-color: transparent; text-decoration: underline; }
.gv-invite-banner { position: relative; isolation: isolate; overflow: hidden; min-height: 285px; display: flex; align-items: center; padding: 42px max(40px, calc((100vw - 1250px) / 2)); background: var(--gv-lime); }
.gv-invite-banner > div:not(.gv-scene) { position: relative; z-index: 1; max-width: 500px; }
.gv-invite-banner h2 { font-size: clamp(34px, 3.8vw, 55px); line-height: .99; }
.gv-invite-banner p { max-width: 40ch; margin-top: 13px; font-size: 14px; }
.gv-invite-banner .gv-actions { margin-top: 20px; }
.gv-invite-banner > div > .gv-btn { margin-top: 20px; }
.gv-invite-banner > .gv-scene, .gv-invite-banner > img { position: absolute; inset: 0 0 0 53%; width: 47%; height: 100%; margin: 0; border-radius: 0; }
.gv-invite-banner .gv-scene img, .gv-invite-banner > img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: 72% center; }
.gv-scene { margin: 24px 0 32px; overflow: hidden; border-radius: 7px; background: var(--gv-pink); }
.gv-scene img { display: block; width: 100%; max-height: 330px; object-fit: cover; object-position: center; }
.gv-approved-scene { position: relative; min-height: 290px; background: var(--gv-pink); }
.gv-approved-vials { display: flex; align-items: center; justify-content: center; gap: 16px; height: 100%; min-height: 290px; padding: 18px 24px 48px; }
.gv-approved-vials > svg { width: 38%; height: 100%; max-height: 420px; }
.gv-directory-hero .gv-approved-vials, .gv-campaign .gv-approved-vials { margin-left: 54%; padding-bottom: 42px; }
.gv-directory-hero .gv-approved-vials > svg { width: 47%; }
.gv-group-thumbnail > .vlab-shot { height: 82%; padding: 0; transform: rotate(-5.7deg); }
@media(max-width:560px) { .gv-directory-hero .gv-approved-vials,.gv-campaign .gv-approved-vials { margin-left: 0; padding-inline: 30px; } .gv-approved-vials > svg { max-height: 290px; } }

/* Product collection. */
.gv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.gv-campaign ~ .gv-section .gv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gv-grid > .gv-empty { grid-column: 1 / -1; width: 100%; }
.gv-card { display: flex; flex-direction: column; min-width: 0; background: #fff; overflow: hidden; border: 1px solid var(--gv-line); border-radius: 7px; }
.gv-card:focus-within { border-color: var(--gv-ink); }
.gv-art { position: relative; display: flex; align-items: center; justify-content: center; height: 230px; padding: 18px; overflow: hidden; background: #faf8fb; text-decoration: none; }
.gv-art .gv-vial-id { position: absolute; bottom: 2px; left: 2px; right: 2px; padding: 4px; background: #fff; text-align: center; color: #111; font-size: 10px; }
.gv-vial-tags { position: absolute; bottom: 10px; left: 12px; right: 12px; display: flex; justify-content: space-around; gap: 8px; }
.gv-vial-tags > span { flex: 1; min-width: 0; padding: 7px 5px; background: #fffffff0; border-radius: 4px; text-align: center; color: #111; font: 11px/1.3 var(--gv-sans); }
.gv-vial-tags strong, .gv-vial-tags small { display: block; font-size: inherit; overflow-wrap: anywhere; }
.gv-directory-hero .gv-vial-tags { left: 62%; right: 7%; bottom: 12px; }
.gv-sku-progress { margin-top: 10px; max-width: 270px; font-size: 12px; }
.gv-sku-progress progress { display: block; width: 100%; height: 7px; margin: 8px 0; accent-color: var(--gv-pink); }
.gv-art > svg, .gv-art img { width: 100%; height: 100%; object-fit: contain; }
.gv-art span { color: var(--gv-muted); font-size: 13px; text-align: center; }
.gv-card-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.gv-card h3 { font-size: 23px; }
.gv-card h3 a { text-decoration: none; }
.gv-card h3 a:hover { text-decoration: underline; }
.gv-strength { margin-top: 4px; font-size: 16px; }
.gv-sku { margin: 0 0 9px; color: var(--gv-muted); font-size: 11px; line-height: 1.4; }
.gv-price { margin: 15px 0 17px; font-size: 27px; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.gv-price small { color: var(--gv-muted); font-size: 12px; font-weight: 400; letter-spacing: 0; }
.gv-card-actions { display: flex; align-items: end; gap: 10px; margin-top: auto; }
.gv-card-actions .gv-btn { flex: 1; padding-inline: 13px; }
.gv-card-links { display: flex; gap: 15px; margin-bottom: 15px; font-size: 12px; }
.gv-tier { margin-bottom: 10px; color: var(--gv-muted); font-size: 11px; }
.gv-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 24px; }
.gv-category { min-height: 44px; padding: 10px 14px; border: 1px solid var(--gv-line); border-radius: 999px; background: #fff; color: var(--gv-ink); font-size: 12px; }
.gv-category[aria-pressed=true] { background: var(--gv-lime); border-color: var(--gv-lime); }
.gv-tools { display: flex; align-items: end; gap: 16px; margin: 28px 0; }
.gv-tools .gv-field { flex: 1; }
.gv-tools .gv-field:first-child { flex: 2; }
.gv-result-count { margin-bottom: 20px; color: var(--gv-muted); font-size: 12px; }
.gv-detail { display: grid; grid-template-columns: 1.05fr 1fr; align-items: start; gap: 56px; margin: 25px 0 40px; }
.gv-detail .gv-art { height: 550px; padding: 25px; border-radius: 7px; background: #fff1f6; }
.gv-detail .gv-art svg { width: 100%; height: 100%; }
.gv-detail > div > p { margin: 14px 0; color: var(--gv-muted); }
.gv-detail .gv-price { margin: 24px 0; color: var(--gv-ink); font-size: 37px; }
.gv-detail .gv-options label { min-height: 48px; font-size: 13px; }
.gv-detail .gv-card-actions { margin-top: 22px; }
.gv-detail h1, .gv-detail h2 { font-size: clamp(36px, 4vw, 54px); }

/* Group directory, timeline and each user's own cart/order indicators. */
.gv-group-hero { position: relative; isolation: isolate; min-height: 235px; display: grid; grid-template-columns: minmax(0,1fr) 360px; align-items: center; padding: 0; overflow: hidden; background: var(--gv-pink); border-radius: 7px; }
.gv-group-photo { grid-column: 2; grid-row: 1; position: relative; height: 245px; display: flex; align-items: center; overflow: hidden; }
.gv-group-photo > svg, .gv-group-photo > img { flex: 1; min-width: 0; width: 33%; height: 90%; }
.gv-group-hero .gv-group-title { grid-column: 1; grid-row: 1; padding: 30px; }
.gv-group-hero > .gv-scene, .gv-group-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; }
.gv-group-hero .gv-scene img, .gv-group-hero > img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: right 54%; }
.gv-group-title { position: relative; z-index: 1; margin: 25px 0; }
.gv-group-hero .gv-group-title { margin: 0; max-width: 650px; }
.gv-group-title h1 { display: inline; margin-right: 14px; font-size: clamp(35px, 4vw, 58px); }
.gv-group-title .gv-badge { vertical-align: middle; margin-bottom: 8px; background: #fff; border-color: #fff; }
.gv-group-title p { margin-top: 10px; font-size: 13px; }
.gv-group-title .gv-actions { margin-top: 19px; }
.gv-group-hero .gv-btn-secondary { border-color: #fff; }
.gv-tabs { display: flex; align-items: center; gap: 28px; margin: 0 0 25px; border-bottom: 1px solid var(--gv-line); overflow-x: auto; }
.gv-tabs a, .gv-tabs button { flex-shrink: 0; min-height: 48px; display: inline-flex; align-items: center; padding: 10px 0; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--gv-muted); text-decoration: none; font-size: 13px; font-weight: 700; }
.gv-tabs [aria-current], .gv-tabs [aria-selected=true], .gv-tabs .is-active { border-bottom-color: var(--gv-ink); color: var(--gv-ink); }
.gv-group-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: start; gap: 24px; margin: 18px 0 32px; }
.gv-group-layout > aside { min-width: 0; border-left: 1px solid var(--gv-line); padding-left: 24px; }
.gv-group-layout > aside .gv-panel { padding: 0; border: 0; border-radius: 0; }
.gv-group-layout > aside h2 { font-size: 23px; }
.gv-group-layout > aside > * + * { margin-top: 22px; }
.gv-time { display: grid; grid-template-columns: 130px minmax(0, 1fr) 85px; align-items: center; gap: 18px; padding: 14px 0; font-size: 12px; border-bottom: 1px solid var(--gv-line); }
.gv-time > :last-child { text-align: right; font-size: 11px; }
.gv-time svg { display: block; width: 100%; height: 22px; }
.gv-time strong { display: block; font-size: 12px; }
.gv-timeline-labels { display: flex; align-items: start; justify-content: space-between; gap: 12px; color: var(--gv-muted); font-size: 10px; line-height: 1.4; }
.gv-timeline-labels > :nth-child(2) { text-align: center; }
.gv-timeline-labels > :last-child { text-align: right; }
.gv-timeline-labels small { display: block; font-size: 10px; }
.gv-product-row { display: grid; grid-template-columns: 145px minmax(0,1fr) 155px; align-items: start; gap: 18px; margin: 12px 0; padding: 0 16px 0 0; border: 1px solid var(--gv-line); border-left: 4px solid transparent; border-radius: 6px; overflow: hidden; }
.gv-product-row > .gv-art { align-self: stretch; height: 100%; min-height: 220px; padding: 8px 5px 42px; border-radius: 0; }
.gv-product-row h3 { font-size: 19px; }
.gv-product-row h3 a { text-decoration: none; }
.gv-product-row .gv-sku { margin: 5px 0; }
.gv-product-row .gv-options { max-width: 280px; margin: 8px 0; }
.gv-product-row .gv-options label { padding: 8px 9px; font-size: 11px; }
.gv-product-row .gv-price { display: inline-block; margin: 6px 0; font-size: 20px; }
.gv-product-row .gv-card-actions { max-width: 360px; margin: 8px 0 12px; }
.gv-product-row > .gv-card-actions { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-self: center; }
.gv-product-row.is-in-cart { border-left-color: var(--gv-pink); background: #fff8fb; }
.gv-product-row.is-ordered { border-left-color: var(--gv-lime); background: #fcfff1; }
.gv-product-row.is-in-cart.is-ordered { border-left-color: var(--gv-lime); box-shadow: inset 4px 0 var(--gv-pink); }
.gv-personal { grid-column: 2 / -1; display: flex; gap: 8px; min-width: 0; padding-right: 12px; }
.gv-personal-chip { display: block; padding: 7px 10px; border-radius: 4px; font-size: 11px; line-height: 1.45; }
.gv-personal-chip strong { display: block; }
.gv-order-history { padding: 0; list-style: none; }
.gv-order-history li { display: grid; gap: 7px; padding: 18px 0; border-bottom: 1px solid var(--gv-line); font-size: 13px; }
.gv-order-history li a { width: fit-content; }
.gv-duration { margin: 0; }
.gv-personal-chip.cart { background: #ffe1ee; }
.gv-personal-chip.ordered { background: #f1ffc0; }
.gv-personal-chip a { display: inline-block; margin-top: 4px; font-size: 11px; }
.gv-group-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 24px; margin: 28px 0; }
.gv-group-filters .gv-field { min-width: min(100%, 280px); flex: 1; }
.gv-group-filters .gv-tabs { margin: 0; }
.gv-group-card { min-width: 0; overflow: hidden; border: 1px solid var(--gv-line); border-radius: 7px; background: #fff; }
.gv-group-thumbnail { position: relative; display: flex; align-items: center; justify-content: center; gap: 0; aspect-ratio: 1.5; padding: 0; overflow: hidden; background: var(--gv-pink); }
.gv-group-thumbnail .gv-scene { height: 100%; margin: 0; border-radius: 0; }
.gv-group-thumbnail img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: 68% center; }
.gv-group-thumbnail > img, .gv-group-thumbnail > svg { flex: 1; min-width: 0; width: 33%; height: 90%; object-fit: contain; }
.gv-cover-badges { position: absolute; top: 16px; left: 16px; display: flex; gap: 8px; }
.gv-cover-badges .gv-badge { margin: 0; padding: 8px 12px; background: white; border: 0; border-radius: 14px; color: #111; }
.gv-cover-badges .is-open { background: var(--gv-lime); }
.gv-group-card > div:not(.gv-group-thumbnail), .gv-group-card > section { padding: 20px; }
.gv-group-card h3 { margin: 4px 0 12px; font-size: 24px; }
.gv-group-card p { margin-top: 10px; color: var(--gv-muted); font-size: 13px; }
.gv-group-card .gv-group-products { min-height: 36px; margin: 0 0 18px; color: #333; font-size: 13px; }
.gv-group-products span { color: #777; padding-inline: 4px; }
.gv-group-card .gv-card-body > .gv-btn { width: 100%; margin-top: 22px; }
.gv-group-card .gv-card-body > .gv-btn-secondary { border: 0; margin-top: 3px; color: #555; }
.gv-card-clock { margin-top: auto; }
.gv-clock-labels, .gv-clock-dates { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5px; align-items: start; font-size: 12px; }
.gv-clock-labels > :nth-child(2), .gv-clock-dates > :nth-child(2) { text-align: center; }
.gv-clock-labels > :last-child, .gv-clock-dates > :last-child { text-align: right; }
.gv-clock-track { position: relative; height: 3px; margin: 16px 7px; background: #f7c1d8; }
.gv-clock-track::before { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--elapsed); background: var(--gv-pink); }
.gv-clock-track::after, .gv-clock-track i::before, .gv-clock-track i::after { content: ''; position: absolute; top: 50%; width: 13px; height: 13px; border-radius: 50%; background: var(--gv-pink); transform: translate(-50%, -50%); }
.gv-clock-track::after { left: var(--elapsed); outline: 2px solid var(--gv-pink); outline-offset: 3px; box-shadow: 0 0 0 3px white; }
.gv-clock-track i::before { left: 0; }.gv-clock-track i::after { left: 100%; background: #f7c1d8; }
.gv-clock-dates time { max-width: 85px; color: #777; font-size: 11px; line-height: 1.5; }
.gv-clock-dates time:last-child { justify-self: end; }.gv-clock-dates strong { font-size: 13px; padding-top: 4px; }
.gv-group-card .gv-actions { margin-top: 20px; }

/* Directory proportions follow the ChatGPT Screen20 replacement reference. */
.gv-directory { padding-bottom: 64px; }
.gv-directory-hero { position: relative; isolation: isolate; min-height: clamp(300px, 26vw, 375px); display: flex; align-items: center; overflow: hidden; background: #ff3491; }
.gv-directory-hero > .gv-scene { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; z-index: -1; }
.gv-directory-hero .gv-scene img { height: 100%; max-height: none; object-fit: cover; object-position: center 48%; }
.gv-directory-hero > div:not(.gv-scene) { width: 57%; padding: 30px 0 35px max(40px, calc((100vw - 1250px) / 2)); }
.gv-directory-hero h1 { font-size: clamp(52px, 6.4vw, 88px); line-height: .95; letter-spacing: -.065em; }
.gv-directory-hero p { margin: 18px 0; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.35; max-width: 42ch; }
.gv-directory-hero .gv-btn { min-width: 224px; min-height: 50px; padding: 14px 24px; border-radius: 6px; font-size: 17px; font-weight: 800; }
.gv-directory-promise { padding: 15px 24px; text-align: center; background: var(--gv-lime); font-size: 14px; font-weight: 700; }
.gv-group-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding: 0; list-style: none; margin: 28px 0; counter-reset: group-step; }
.gv-group-process li { counter-increment: group-step; padding-top: 12px; border-top: 3px solid var(--gv-pink); }
.gv-group-process strong { display: block; margin-bottom: 10px; font-size: 18px; }
.gv-group-process strong::before { content: counter(group-step) '. '; }
.gv-group-process span { color: var(--gv-muted); font-size: 14px; line-height: 1.5; }
.gv-directory-tools { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 36px 0 22px; }
.gv-directory-tools .gv-tabs { margin: 0; border: 0; gap: 30px; }
.gv-directory-tools .gv-tabs [aria-current] { border-bottom-color: var(--gv-pink); }
.gv-directory-tools .gv-group-filters { margin: 0; flex-wrap: nowrap; gap: 12px; }
.gv-directory-tools .gv-group-filters .gv-field { min-width: 0; flex: 0 0 auto; }
.gv-directory-tools input { width: 240px; }
.gv-directory-tools select { min-width: 140px; }
.gv-directory .gv-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gv-directory .gv-group-card { display: flex; flex-direction: column; }
.gv-directory .gv-card-body { padding: 18px 20px; display: grid; grid-template-rows: auto minmax(60px,auto) 98px 44px 44px; gap: 12px; }
.gv-card-guarantee { display: block; margin-top: 6px; font-size: 11px; line-height: 1.35; font-weight: 400; color: #666; }
.gv-directory .gv-card-clock { margin: 0; }
.gv-directory .gv-card-body > .gv-btn { margin: 0; }
.gv-directory .gv-card-body > .gv-btn-secondary { min-height: 44px; padding: 5px; font-weight: 400; }
.gv-directory .gv-card-body .gv-group-products { margin: 0; min-height: 0; }
.gv-directory .gv-group-card h3 { margin-top: 0; font-size: clamp(22px, 2.2vw, 29px); }
@media (max-width: 850px) {
  .gv-directory-tools { flex-wrap: wrap; gap: 8px; padding-top: 22px; }
  .gv-directory-tools .gv-group-filters { flex: 1; }
  .gv-directory .gv-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gv-directory-hero > div:not(.gv-scene) { padding-left: 24px; }
}
@media (max-width: 560px) {
  .gv-group-process { grid-template-columns: 1fr; gap: 18px; }
  .gv-directory-hero { min-height: 535px; align-items: start; }
  .gv-directory-hero > .gv-scene { top: 225px; height: 310px; }
  .gv-directory-hero .gv-scene img { object-position: right center; }
  .gv-directory-hero .gv-vial-tags { left: 8%; right: 8%; }
  .gv-directory-hero > div:not(.gv-scene) { width: 100%; padding: 25px 20px; }
  .gv-directory-hero h1 { font-size: 48px; }.gv-directory-hero p { margin: 14px 0; max-width: 32ch; }
  .gv-directory-hero .gv-btn { min-width: 180px; min-height: 42px; }
  .gv-directory-promise { font-size: 12px; padding: 12px; }
  .gv-directory-tools .gv-tabs { width: 100%; gap: 20px; }
  .gv-directory-tools .gv-tabs a, .gv-directory-tools .gv-tabs button { min-height: 48px; padding: 12px 6px; font-size: 14px; }
  .gv-directory-tools .gv-group-filters { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) 120px; }
  .gv-directory-tools input { width: 100%; }.gv-directory-tools select { min-width: 120px; }
  .gv-directory .gv-grid { grid-template-columns: 1fr; gap: 22px; }
  .gv-directory .gv-group-thumbnail { aspect-ratio: 1.45; height: auto; }
} .gv-share-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: start; gap: 44px; margin: 25px 0 50px; }
.gv-share-layout > div > .gv-scene { margin: 0; min-height: 450px; }
.gv-share-layout > div > .gv-scene img { height: 450px; max-height: none; object-position: 68% center; }
.gv-selected { display: grid; gap: 12px; }
.gv-selected-product { display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 12px; border: 1px solid var(--gv-line); border-radius: 5px; background: #fff; }
.gv-selected-product img, .gv-selected-product svg, .gv-selected-product .gv-art { flex-shrink: 0; width: 48px; height: 62px; padding: 0; object-fit: contain; background: transparent; }
.gv-selected-product h3, .gv-selected-product strong { font-size: 14px; }
.gv-selected-product p { margin-top: 5px; color: var(--gv-muted); font-size: 12px; }
.gv-selected-product small, .gv-picker-row small { display: block; margin-top: 5px; color: var(--gv-muted); }
.gv-selected-product > button { min-width: 44px; min-height: 44px; margin-left: auto; border: 0; border-radius: 4px; background: #fff; color: var(--gv-ink); }
.gv-selected-product > button:hover { background: var(--gv-pink-wash); }
.gv-form .gv-selected-product > .gv-btn { width: auto; flex-shrink: 0; }

/* A single product drawer preserves the group under it. */
dialog.gv-product-picker { position: fixed; inset: 0 0 0 auto; width: min(640px, 90vw); height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 28px; border: 0; border-radius: 0; background: #fff; color: var(--gv-ink); box-shadow: -12px 0 60px #0002; }
dialog.gv-product-picker[open] { display: flex; flex-direction: column; gap: 20px; }
.gv-product-picker::backdrop { background: #1118; }
.gv-product-picker > header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.gv-product-picker h2 { font-size: 40px; }
.gv-product-picker > header p { margin-top: 10px; color: var(--gv-muted); font-size: 14px; }
.gv-product-picker > header button { min-width: 44px; min-height: 44px; border: 0; background: #fff; font-size: 22px; }
.gv-picker-list { flex: 1; min-height: 0; overflow-y: auto; }
.gv-product-picker > #gv-picker-results { flex: 1; min-height: 120px; overflow-y: auto; }
.gv-product-picker > .gv-picker-percentages { flex-shrink: 0; max-height: 28dvh; overflow-y: auto; }
.gv-product-picker > .gv-picker-percentages:empty { display: none; }
.gv-picker-row { display: grid; grid-template-columns: 22px 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 88px; padding: 12px 8px; border-bottom: 1px solid var(--gv-line); cursor: pointer; }
.gv-picker-row img, .gv-picker-row svg, .gv-picker-row .gv-art { width: 48px; height: 64px; padding: 0; object-fit: contain; background: transparent; }
.gv-picker-row strong, .gv-picker-row h3 { font-size: 14px; }
.gv-picker-row p, .gv-picker-row small { margin-top: 4px; color: var(--gv-muted); font-size: 11px; }
.gv-picker-row:has(input:checked) { background: var(--gv-lime-wash); }
.gv-picker-row:has(input:disabled) { color: var(--gv-muted); cursor: default; }
.gv-product-picker > footer, .gv-picker-footer { position: sticky; bottom: -28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding: 18px 0 0; border-top: 1px solid var(--gv-line); background: #fff; }
.gv-picker-footer .gv-actions { margin: 0; }
.gv-privacy-note { margin-top: 18px; color: var(--gv-muted); font-size: 11px; }

/* Existing checkout, payment, account and operator screens. */
.gv-split { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(285px, 1fr); align-items: start; gap: 40px; margin: 30px 0 45px; }
.gv-panel { min-width: 0; padding: 26px; border: 1px solid var(--gv-line); border-radius: 7px; background: #fff; }
.gv-panel h2, .gv-panel h3 { margin-bottom: 17px; }
.gv-panel h1 { margin-bottom: 22px; }
.gv-panel > p { margin: 13px 0; color: var(--gv-muted); font-size: 14px; }
.gv-panel + .gv-panel { margin-top: 22px; }
.gv-grid > .gv-panel + .gv-panel { margin-top: 0; }
.gv-grid:has(> .gv-panel) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.gv-panel .gv-panel { padding: 20px 0 0; border: 0; border-top: 1px solid var(--gv-line); border-radius: 0; }
.gv-gold { border-top: 4px solid var(--gv-lime); }
.gv-gold h2 { font-size: 24px; }
.gv-gold a { font-size: 12px; }
.gv-summary { display: grid; margin: 15px 0 20px; }
.gv-summary > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--gv-line); font-size: 14px; }
.gv-summary dt { color: var(--gv-muted); min-width: 0; }
.gv-summary dd { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; flex-shrink: 0; }
.gv-lines { display: grid; margin: 0; padding: 0; list-style: none; }
.gv-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--gv-line); }
.gv-line h3 { font-size: 17px; }
.gv-line p { margin: 7px 0; color: var(--gv-muted); font-size: 13px; }
.gv-line .gv-actions { margin-top: 12px; }
.gv-line strong { font-variant-numeric: tabular-nums; }
.gv-line .gv-btn { margin-top: 10px; }
.gv-badge { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; padding: 6px 9px; border: 1px solid #d6e6b4; border-radius: 999px; background: var(--gv-lime-wash); font-size: 11px; line-height: 1.3; }
.gv-round-card { min-width: 0; padding: 22px 0; border-top: 1px solid var(--gv-line); }
.gv-round-card h3 { font-size: 25px; }
.gv-round-card h3 small { font-size: 20px; }
.gv-round-card > p:not(.gv-badge) { margin: 12px 0; color: var(--gv-muted); font-size: 12px; }
.gv-round-card .gv-btn { margin-top: 8px; }
.gv-progress { height: 10px; margin: 18px 0; overflow: hidden; border-radius: 999px; background: #efeff0; }
.gv-progress > span { display: block; height: 100%; background: var(--gv-lime); transition: width .2s ease; }
.gv-payment-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; padding: 0; list-style: none; }
.gv-payment-steps li { min-height: 44px; display: flex; align-items: center; padding: 11px 16px; border: 1px solid var(--gv-line); border-radius: 999px; color: var(--gv-muted); font-size: 12px; }
.gv-payment-steps .is-verified { border-color: var(--gv-lime); background: var(--gv-lime); color: var(--gv-ink); }
.gv-payment-steps .is-current { border-color: var(--gv-pink); background: var(--gv-pink-wash); color: var(--gv-ink); }
.gv-order-tracking { margin: 25px 0; padding: 22px; border-radius: 6px; background: var(--gv-lime-wash); }
.gv-order-tracking h3 { margin-bottom: 12px; }
.gv-order-tracking .gv-btn { margin: 12px 8px 0 0; }
.gv-report { margin-top: 18px; padding: 18px; border: 1px solid var(--gv-line); border-radius: 6px; }
.gv-report h3 { font-size: 18px; }
.gv-report .gv-btn { margin-top: 12px; }
.gv-table-wrap { overflow-x: auto; }
.gv-table-wrap table { width: 100%; min-width: 580px; }

/* Evidence, help and recovery states. */
.gv-state, .gv-empty { max-width: 900px; margin: 30px auto; padding: 46px 28px; border: 1px solid var(--gv-line); border-radius: 7px; background: #fff; text-align: center; }
.gv-state h1, .gv-empty h1 { margin-bottom: 17px; font-size: 39px; }
.gv-state p, .gv-empty p { max-width: 65ch; margin: 15px auto; color: var(--gv-muted); }
.gv-state .gv-btn, .gv-empty .gv-btn { margin: 12px 5px 0; }
.gv-error, [role=alert] { color: #a3261e; }
.gv-notice { margin: 22px 0; padding: 15px 18px; border-left: 3px solid var(--gv-pink); background: var(--gv-pink-wash); font-size: 13px; overflow-wrap: anywhere; }
.gv-about { margin: 32px 0 24px; padding: 0; border-top: 1px solid var(--gv-line); }
.gv-about > p { max-width: 78ch; margin-top: 15px; color: var(--gv-muted); font-size: 14px; }
.gv-about details { margin-top: 20px; }
.gv-about ul { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 36px; padding: 0; list-style: none; }
.gv-about li { font-size: 13px; line-height: 1.55; }
.gv-information { margin: 56px 0; }
.gv-information .pp-band, .gv-information .pp-pdp-sec { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; padding: 28px 0; border-top: 1px solid var(--gv-line); }
.gv-information h4 { margin: 6px 0 14px; font-size: 24px; font-weight: 800; letter-spacing: -.035em; }
.gv-information .eyebrow { color: var(--gv-muted); font-size: 12px; }
.gv-information p { margin-bottom: 14px; font-size: 14px; line-height: 1.65; }
.gv-information .pp-rnote, .gv-information .pp-rpagefoot { color: var(--gv-muted); font-size: 11px; }
.gv-information .pp-rspec, .gv-information .pp-pdp-row { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--gv-line); }
.gv-information .pp-ref-card { display: grid; margin-bottom: 10px; padding: 16px; border: 1px solid var(--gv-line); border-radius: 6px; text-decoration: none; }
.gv-information .pp-ref-card__type, .gv-information .pp-ref-card__cue { margin: 5px 0; color: var(--gv-muted); font-size: 11px; }
.gv-information .pp-access-block { padding: 24px; border-radius: 6px; background: #f7f7f8; line-height: 1.8; }
.gv-information .pp-access-info { min-width: 44px; min-height: 44px; margin-left: 10px; border: 1px solid var(--gv-line); border-radius: 50%; background: #fff; }
.gv-information .pp-access-pop { color: var(--gv-muted); font-size: 13px; }
.gv-information .pp-component-name { margin: 30px 0 15px; }
.gv-information .pp-pdp-sec { display: block; }
.gv-information .pp-pdp-sec__row { display: grid; grid-template-columns: 1fr 2fr; gap: 20px; padding: 13px 0; }
.gv-information .pp-pdp-sec__rows .small { font-size: 14px; }
.gv-added { animation: gv-added .4s ease; }
.gv-busy::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 10px; border: 2px solid #e1b9cb; border-top-color: var(--gv-ink); border-radius: 50%; animation: gv-spin .8s linear infinite; }
@keyframes gv-added { 50% { background: var(--gv-lime); border-color: var(--gv-lime); color: var(--gv-ink); } }
@keyframes gv-spin { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
  .gv-header { gap: 24px; } .gv-header nav { gap: 18px; }
  .gv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .gv-container { padding-inline: 28px; }
  .gv-campaign-copy { left: 28px; max-width: 390px; } .gv-campaign-brand { padding-inline: 28px; }
  .gv-group-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; }
  .gv-group-layout > aside { padding-left: 18px; }
  .gv-product-row { grid-template-columns: 110px minmax(0,1fr) 130px; gap: 12px; }
  .gv-product-row .gv-personal { display: flex; flex-wrap: wrap; padding-right: 0; }
  .gv-time { grid-template-columns: 110px minmax(0, 1fr) 65px; gap: 10px; }
  .gv-detail { gap: 32px; } .gv-share-layout { gap: 28px; }
}
@media (max-width: 800px) {
  .gv-header { padding: 12px 24px; gap: 15px; flex-wrap: wrap; } .gv-brand { font-size: 32px; }
  .gv-header nav { order: 3; width: 100%; justify-content: space-between; gap: 20px; border-top: 1px solid var(--gv-line); overflow-x: auto; }
  .gv-header nav { display: none; }
  .gv-header.gv-menu-open nav { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-block: 10px; }
  .gv-header nav a { padding-inline: 6px; }
  .gv-menu-toggle { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 8px 6px; font-size: 14px; }
  .gv-header-actions { gap: 18px; }
  .gv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv-split, .gv-group-layout { grid-template-columns: 1fr; }
  .gv-group-layout > aside { padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--gv-line); }
  .gv-group-layout > aside .gv-panel { max-width: none; }
  .gv-campaign { min-height: 570px; } .gv-campaign-brand { font-size: 15.5vw; }
  .gv-campaign-copy { bottom: 35px; max-width: 330px; } .gv-campaign-copy h1 { font-size: 45px; }
  .gv-invite-banner { padding: 35px 28px; } .gv-invite-banner > div:not(.gv-scene) { max-width: 46%; } .gv-invite-banner h2 { font-size: 34px; }
  .gv-detail .gv-art { height: 430px; } .gv-share-layout { grid-template-columns: 1fr 1fr; gap: 24px; }
  .gv-information .pp-band { grid-template-columns: 1fr; gap: 12px; }
  .gv-footer { gap: 20px; } .gv-footer p:last-child { margin-left: 0; }
}
@media (max-width: 600px) {
  .gv-container { padding-inline: 20px; } .gv-header { padding: 14px 16px; gap: 8px; } .gv-brand { font-size: clamp(28px, 8.2vw, 32px); }
  .gv-header nav { gap: 16px; } .gv-header a:not(.gv-brand) { font-size: 14px; } .gv-header-actions { gap: 8px; }
  .gv-header-actions a { min-width: 44px; padding-inline: 4px; }
  .gv-breadcrumb { padding: 20px 0; } .gv-section-head { align-items: start; gap: 16px; margin: 20px 0 25px; }
  .gv-section-head h1 { font-size: 43px; } .gv-section-head > a { max-width: 115px; text-align: right; } .gv-section { margin: 42px 0; }
  .gv-campaign { min-height: 540px; } .gv-campaign-brand { padding: 14px 20px 0; font-size: 23vw; }
  .gv-campaign > .gv-scene, .gv-campaign > img { top: 76px; bottom: auto; height: 250px; }
  .gv-campaign .gv-scene img, .gv-campaign > img { object-position: right center; }
  .gv-campaign-copy { inset: auto 20px 28px; max-width: none; }
  .gv-campaign-copy h1 { max-width: 330px; font-size: 40px; } .gv-campaign-copy p { max-width: 38ch; margin-top: 12px; font-size: 13px; }
  .gv-campaign-copy .gv-actions { margin-top: 18px; gap: 10px; } .gv-campaign-copy .gv-btn { padding-inline: 16px; font-size: 12px; }
  .gv-invite-banner { display: block; min-height: 480px; padding: 28px 20px 245px; }
  .gv-invite-banner > div:not(.gv-scene) { max-width: 100%; } .gv-invite-banner h2 { max-width: 330px; font-size: 37px; }
  .gv-invite-banner > .gv-scene, .gv-invite-banner > img { inset: auto 0 0; width: 100%; height: 215px; }
  .gv-invite-banner .gv-scene img { object-position: 75% center; } .gv-detail, .gv-share-layout { grid-template-columns: 1fr; gap: 25px; }
  .gv-grid, .gv-campaign ~ .gv-section .gv-grid { grid-template-columns: 1fr; gap: 20px; } .gv-art { height: 280px; padding: 18px; }
  .gv-card-body { padding: 20px; } .gv-card h3 { font-size: 24px; } .gv-card .gv-options { max-width: none; }
  .gv-card-actions .gv-btn { min-width: 0; }
  .gv-tools { flex-wrap: wrap; gap: 14px; } .gv-tools .gv-field:first-child { flex-basis: 100%; } .gv-tools .gv-field { min-width: 120px; }
  .gv-categories { max-height: 180px; overflow-y: auto; }
  .gv-detail { margin-top: 10px; } .gv-detail .gv-art { height: 410px; } .gv-detail h1, .gv-detail h2 { font-size: 40px; }
  .gv-detail .gv-options label { white-space: normal; }
  .gv-form .gv-btn { width: 100%; } .gv-form .gv-options { display: grid; grid-template-columns: 1fr; }
  .gv-group-hero { min-height: 295px; grid-template-columns: 1fr; padding: 0; }
  .gv-group-photo { grid-column: 1; grid-row: 2; width: 100%; height: auto; aspect-ratio: 1.2; }
  .gv-group-hero .gv-group-title { grid-column: 1; grid-row: 1; padding: 24px 18px; }
  .gv-group-title h1 { display: block; margin: 0 0 12px; font-size: 38px; }
  .gv-group-title .gv-actions { gap: 8px; } .gv-group-title .gv-btn { padding-inline: 13px; font-size: 12px; }
  .gv-tabs { gap: 24px; margin-bottom: 20px; }
  .gv-time { grid-template-columns: minmax(0, 1fr) 80px; gap: 8px; padding: 15px 0; }
  .gv-time > :nth-child(2) { grid-column: 1 / -1; grid-row: 2; } .gv-time > :last-child { grid-column: 2; grid-row: 1; }
  .gv-timeline-labels { font-size: 10px; }
  .gv-product-row { grid-template-columns: 100px minmax(0,1fr); align-items: start; gap: 12px; padding: 0 10px 0 0; }
  .gv-product-row > .gv-art { min-height: 200px; height: 100%; padding: 4px 3px 40px; } .gv-product-row h3 { font-size: 18px; }
  .gv-product-row .gv-card-actions { gap: 8px; } .gv-product-row .gv-card-actions .gv-btn { padding-inline: 9px; font-size: 12px; }
  .gv-product-row > .gv-card-actions { grid-column: 2; }
  .gv-product-row .gv-personal { grid-column: 1 / -1; padding-left: 4px; } .gv-personal-chip { flex: 1; min-width: 130px; }
  .gv-group-filters { gap: 16px; } .gv-group-filters .gv-field, .gv-group-filters .gv-tabs { width: 100%; }
  .gv-group-thumbnail { height: 180px; }
  .gv-share-layout > div > .gv-scene { min-height: 300px; } .gv-share-layout > div > .gv-scene img { height: 300px; }
  dialog.gv-product-picker { width: 90vw; padding: 22px 20px; } .gv-product-picker h2 { font-size: 35px; }
  .gv-picker-row { grid-template-columns: 20px 42px minmax(0, 1fr); gap: 11px; }
  .gv-picker-row > :last-child:not(:nth-child(3)) { grid-column: 3; } .gv-picker-row img, .gv-picker-row svg, .gv-picker-row .gv-art { width: 42px; }
  .gv-product-picker > footer, .gv-picker-footer { bottom: -22px; flex-wrap: wrap; gap: 12px; } .gv-picker-footer .gv-actions { flex: 1; justify-content: end; }
  .gv-split { gap: 24px; margin-top: 22px; } .gv-panel { padding: 21px; }
  .gv-line { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; padding: 20px 0; } .gv-line h3 { font-size: 18px; }
  .gv-summary > div { font-size: 13px; } .gv-order-tracking { padding: 18px; }
  .gv-state, .gv-empty { margin: 24px 0; padding: 35px 20px; } .gv-state h1, .gv-empty h1 { font-size: 34px; }
  .gv-about { margin: 28px 0 20px; padding-top: 0; } .gv-about ul { grid-template-columns: 1fr; gap: 15px; }
  .gv-scene img { max-height: 260px; }
  .gv-information .pp-pdp-sec__row { grid-template-columns: 1fr; gap: 10px; }
  .gv-information .pp-rspec { flex-wrap: wrap; } .gv-information .pp-rspec span { overflow-wrap: anywhere; }
  .gv-footer { padding: 28px 20px; gap: 18px; } .gv-footer p { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}


/* Screen-specific reference compositions; all controls keep their original bindings. */
.gv-dot { color: var(--gv-lime); }

.gv-approved-scene { background: #ef3987; }
.gv-approved-scene::before { content: ''; position: absolute; inset: 0; background: linear-gradient(145deg,#f776b1,#ef3987 65%,#d92b73); }
.gv-approved-vials { position: relative; isolation: isolate; padding: 0 28px 28%; }
.gv-approved-vials > svg { transform: rotate(-5.7deg); filter: drop-shadow(7px 5px 3px #51062c42); }
.gv-approved-vials > svg:nth-child(2) { transform: rotate(-5.7deg); }
.gv-directory-hero .gv-approved-scene::before, .gv-campaign .gv-approved-scene::before { left: 50%; mask-image: linear-gradient(90deg,transparent,#000 8%); }
.gv-directory-hero .gv-approved-vials, .gv-campaign .gv-approved-vials { padding: 10px 24px 80px; }
.gv-directory-hero .gv-approved-vials { display: block; padding: 0; }
.gv-directory-hero .gv-approved-vials > svg { position: absolute; left: 5%; top: 8%; width: 36%; height: 82%; max-height: none; }
.gv-directory-hero .gv-approved-vials > svg:nth-child(2) { left: auto; right: 17%; top: 30%; width: 32%; height: 78%; transform: rotate(-90deg); }
.gv-directory-hero .gv-vial-tags, .gv-campaign .gv-vial-tags { left: 55%; right: 5%; }
.gv-vial-tags { left: 8%; right: 8%; gap: 12px; bottom: 12px; }
.gv-vial-tags > span { background: #ffffffd9; width: max-content; flex: 0 1 auto; padding: 3px 6px; font-size: 10px; }
.gv-group-hero { background: #fa2884; }
.gv-group-photo { background: linear-gradient(145deg,#f776b1,#ef3987 65%,#d92b73); padding-bottom: 48px; }
.gv-group-photo > svg { padding: 2px; }
.gv-group-thumbnail, .gv-card .gv-art, .gv-product-row > .gv-art, .gv-detail > .gv-art { background: linear-gradient(145deg,#f776b1,#ef3987 65%,#d92b73); }
.gv-group-card:nth-child(3n+2) .gv-group-thumbnail, .gv-card:nth-child(3n+2) .gv-art, .gv-product-row:nth-of-type(3n+2) > .gv-art { background: linear-gradient(145deg,#e7dffa,#b49cda 70%,#9980c0); }
.gv-group-card:nth-child(3n+3) .gv-group-thumbnail, .gv-card:nth-child(3n) .gv-art, .gv-product-row:nth-of-type(3n) > .gv-art { background: linear-gradient(145deg,#edff87,#cde73f 70%,#abc328); }
.gv-group-thumbnail > svg, .gv-card .gv-art > svg, .gv-group-photo > svg, .gv-product-row > .gv-art > svg, .gv-detail > .gv-art > svg { transform: rotate(-5.7deg); filter: drop-shadow(7px 5px 3px #38152340); }
.gv-group-thumbnail > svg:nth-child(2) { transform: rotate(-5.7deg); }
.gv-card .gv-art { padding: 2px 8px 20%; }
.gv-detail > .gv-art { padding-bottom: 120px; }
.gv-invite-banner > .gv-scene { background: transparent; }
.gv-invite-banner .gv-approved-scene::before { background: linear-gradient(145deg,#edff87,#cde73f 70%,#abc328); }
.gv-collection-hero { min-height: 385px; }
.gv-collection-hero .gv-campaign-brand { color: var(--gv-ink); font-size: clamp(90px,12vw,165px); }
.gv-collection-hero .gv-campaign-copy { bottom: 26px; }
.gv-collection-hero .gv-campaign-copy h1 { font-size: 52px; }
.gv-collection-hero .gv-approved-vials > svg { max-height: 320px; }
.gv-collection .gv-tools { margin: 24px 0 14px; }
.gv-collection .gv-categories { margin: 0 0 20px; padding-bottom: 8px; flex-wrap: nowrap; overflow-x: auto; max-height: none; }
.gv-collection .gv-category { flex-shrink: 0; }
.gv-collection .gv-invite-banner { margin-top: 44px; }
.gv-collection .gv-card .gv-options legend { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.gv-card .gv-options input { position: absolute; opacity: 0; }
.gv-card .gv-options label:focus-within { outline: 2px solid var(--gv-ink); outline-offset: 2px; }
.gv-card .gv-options { margin-top: 10px; }
.gv-card .gv-price { margin: 12px 0; }
.gv-card .gv-sku { margin-bottom: 6px; }
.gv-card .gv-strength { font-size: 14px; }
.gv-card .gv-qty-label { font-size: 10px; }
.gv-line-art { display: flex; align-items: center; justify-content: center; width: 64px; height: 88px; border-radius: 5px; background: #f6f5f5; overflow: hidden; }
.gv-line-art svg { width: 100%; height: 100%; }
.gv-cart-summary > .gv-btn { width: 100%; }
.gv-help-block { margin-top: 20px; padding: 20px; border-radius: 6px; background: var(--gv-lime-wash); font-size: 14px; line-height: 1.45; }
.gv-help-block strong { display: block; font-size: 18px; letter-spacing: -.025em; }
.gv-help-block p { margin-top: 8px; font-size: 13px; color: #444; }
.gv-help-block .gv-btn { margin-top: 14px; }
.gv-help-pink { background: var(--gv-pink-wash); }
.gv-editorial { position: relative; isolation: isolate; overflow: hidden; min-height: 450px; background: var(--gv-pink); border-radius: 7px; }
.gv-editorial > .gv-scene { position: absolute; inset: 0; height: 100%; margin: 0; }
.gv-editorial .gv-approved-vials { padding-bottom: 160px; min-height: 100%; }
.gv-editorial .gv-approved-vials::before { bottom: 27%; }
.gv-editorial .gv-approved-vials > svg { width: 70%; max-height: 440px; }
.gv-editorial .gv-vial-tags { bottom: 155px; font-size: 10px; }
.gv-editorial-copy { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 28px; color: #fff; }
.gv-editorial-copy h2 { font-size: 43px; line-height: .98; letter-spacing: -.05em; }
.gv-editorial-copy p { margin-top: 12px; font-size: 14px; }
.gv-editorial-copy .gv-btn { margin-top: 22px; }
.gv-checkout-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.85fr) minmax(0,1.1fr); gap: 26px; align-items: start; margin: 26px 0 40px; }
.gv-checkout-page { max-width: 1510px; padding-inline: 30px; }
.gv-checkout-layout > .gv-editorial { position: sticky; top: 24px; height: 740px; }
.gv-checkout-fields { display: grid; gap: 20px; min-width: 0; }
.gv-checkout-fields h1 { font-size: clamp(42px,4.5vw,68px); }
.gv-checkout-fields h2 { font-size: 18px; letter-spacing: -.025em; margin-bottom: 12px; }
.gv-checkout-fields header p { margin-top: 10px; }
.gv-checkout-fields .gv-gold { padding: 16px; border: 0; background: #faffd8; }
.gv-checkout-fields .gv-gold h2 { margin-bottom: 8px; }
.gv-checkout-fields .gv-gold p, .gv-checkout-payment p, .gv-address p, .gv-checkout-note { font-size: 12px; color: var(--gv-muted); margin-top: 10px; }
.gv-checkout-fields details { font-size: 12px; }
.gv-checkout-fields details summary { padding: 9px 0; }
.gv-address { display: grid; gap: 11px; }
.gv-address h2 { margin: 0; }
.gv-address .gv-field { gap: 5px; font-size: 12px; }
.gv-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gv-checkout-fields .gv-field input, .gv-checkout-fields .gv-field select { min-height: 44px; padding: 9px 11px; font-size: 13px; }
.gv-checkout-fields .gv-options { display: flex; }
.gv-checkout-payment a { font-size: 12px; }
.gv-consent { display: grid; gap: 10px; font-size: 12px; }
.gv-checkout-fields > .gv-btn { width: 100%; }
.gv-checkout-summary { min-width: 0; }
.gv-checkout-summary .gv-panel { padding: 22px; }
.gv-checkout-summary h2 { font-size: 25px; }
.gv-checkout-summary .gv-line { grid-template-columns: 48px minmax(0,1fr) auto; gap: 10px; }
.gv-checkout-summary .gv-line-art { width: 48px; height: 72px; }
.gv-checkout-summary .gv-line h3 { font-size: 14px; }
.gv-checkout-summary .gv-summary { margin-bottom: 0; }
.gv-checkout-summary .gv-summary > div { font-size: 12px; }
.gv-checkout-summary details { font-size: 12px; }
.gv-checkout-summary .gv-section { margin: 15px 0; }
.gv-checkout-summary .gv-section p { font-size: 12px; margin: 10px 0; }
.gv-checkout-summary .gv-inline-fields .gv-field { min-width: 0; width: 100%; flex-basis: 100%; }
.gv-checkout-summary .gv-inline-fields .gv-btn { width: 100%; }
.gv-account-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 34px; margin: 30px 0; align-items: start; }
.gv-account-layout h1 { font-size: clamp(40px,5vw,68px); }
.gv-account-layout .gv-section { margin: 32px 0; }
.gv-balance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gv-balance-grid .gv-panel { border: 0; background: var(--gv-lime); margin: 0; padding: 20px; }
.gv-balance-grid .gv-pending { background: #ffe0ed; }
.gv-balance-grid h2 { font-size: 18px; margin-bottom: 10px; }
.gv-balance-grid .gv-price { font-size: 32px; color: #111; margin: 8px 0; }
.gv-balance-grid .gv-panel p { font-size: 12px; }
.gv-balance-grid .gv-panel .gv-price { font-size: 36px; font-weight: 800; }
.gv-account-art { min-height: 300px; }
.gv-account-art > .gv-editorial-copy { top: 22px; bottom: auto; left: 22px; right: 50%; color: #111; }
.gv-account-art .gv-brand { display: block; color: #fff; font-size: 48px; margin-bottom: 20px; }
.gv-account-art .gv-approved-vials { margin-left: 47%; padding: 8px 5px 45px; }
.gv-account-art .gv-approved-vials > svg { width: 75%; max-height: 245px; }
.gv-account-art .gv-approved-vials::before { bottom: 17%; }
.gv-account-art .gv-vial-tags { bottom: 16px; left: 48%; right: 5%; }
.gv-reward-list, .gv-account-groups { margin-top: 18px; border: 1px solid var(--gv-line); border-radius: 7px; overflow: hidden; }
.gv-reward-row { padding: 0 16px; border-bottom: 1px solid var(--gv-line); }
.gv-reward-row > summary { display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 14px; padding: 14px 0; font-size: 13px; }
.gv-reward-row > summary::after { display: none; }
.gv-reward-row .gv-line-art { width: 42px; height: 58px; }
.gv-reward-row small { display: block; margin-top: 4px; color: #666; font-size: 11px; }
.gv-reward-row .gv-badge { margin: 0; }
.gv-account-groups article { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px; border-bottom: 1px solid var(--gv-line); }
.gv-account-groups article > div { flex: 1; min-width: 200px; }
.gv-account-groups h3 { font-size: 19px; margin-bottom: 5px; }
.gv-account-groups details { flex-basis: 100%; font-size: 12px; }
.gv-account-groups details summary { padding: 4px 0; }
.gv-share-content { padding: 24px 0; }
.gv-share-content h1 { font-size: clamp(42px,4.8vw,66px); margin-bottom: 20px; }
.gv-share-content h2 { font-size: 26px; margin-bottom: 12px; }
.gv-share-content > p { margin: 14px 0; font-size: 14px; color: #555; }
.gv-share-link { padding: 20px; margin: 24px 0; border: 1px solid var(--gv-line); border-radius: 7px; }
.gv-share-link .gv-actions { margin-top: 12px; }
.gv-share-link .gv-actions > * { flex: 1; }
.gv-invitation-art { min-height: 650px; }
.gv-share-products { display: flex; gap: 12px; margin: 20px 0; overflow-x: auto; }
.gv-share-products > div { display: flex; align-items: center; gap: 8px; max-width: 180px; }
.gv-share-products .gv-line-art { flex-shrink: 0; width: 44px; height: 60px; }
.gv-share-next { display: grid; gap: 12px; margin: 22px 0; }
.gv-share-next .gv-btn { width: 100%; min-height: 48px; }
.gv-mini-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 20px 0; margin: 15px 0; border-top: 1px solid var(--gv-line); list-style-position: inside; font-size: 12px; }
.gv-payment-page .gv-section-head { margin-top: 40px; }
.gv-payment-page h1 { max-width: 850px; font-size: clamp(42px,5.5vw,76px); }
.gv-payment-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 26px; align-items: start; }
.gv-payment-layout h2 { font-size: 28px; }
.gv-payment-status { min-width: 0; }
.gv-payment-reference { overflow-wrap: anywhere; font-size: 12px; color: #555; margin: 18px 0; }
.gv-payment-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 0 0 20px; }
.gv-payment-steps li { padding: 12px 8px; min-height: 60px; border-radius: 5px; font-size: 11px; }
.gv-payment-order { padding: 20px; }
.gv-payment-order .gv-line { grid-template-columns: 42px minmax(0,1fr); gap: 12px; }
.gv-payment-order .gv-line-art { width: 42px; height: 64px; grid-row: 1 / span 2; }
.gv-payment-order .gv-line > p { grid-column: 2; margin: 0; }
.gv-payment-order .gv-line h3 { font-size: 15px; }
.gv-payment-status .gv-panel { padding: 18px; background: #f8ffda; }
.gv-payment-status .gv-panel h3 { font-size: 20px; }
.gv-payment-status .gv-panel p { font-size: 13px; }
.gv-payment-status .gv-order-tracking { margin: 16px 0; background: #f6f5f5; }
.gv-receipt-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 20px; }
.gv-review-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 32px; align-items: start; }
.gv-review-layout > .gv-notice { grid-column: 2; }
.gv-review-layout > .gv-editorial { grid-row: 1 / span 2; min-height: 650px; }
.gv-testing-records { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start; }
.gv-testing-records > .gv-panel { margin: 0; }
.gv-testing-records h2 { font-size: 28px; }
.gv-testing-records .gv-report { background: #fff0f6; border: 0; }
.gv-testing-records .gv-summary { padding: 14px; background: var(--gv-lime-wash); border-radius: 5px; }
.gv-operations > .gv-section { margin: 28px 0; }
.gv-operations > .gv-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.gv-operations h2 { font-size: 30px; }
.gv-operations .gv-panel h2 { font-size: 23px; }
.gv-operations .gv-section > .gv-panel { padding: 20px; background: #fafafa; }
.gv-operations .gv-section > details.gv-panel { margin: 0; border-radius: 0; border-width: 0 0 1px; background: #fff; }
.gv-operations details[open] > .gv-form { max-width: 640px; }
.gv-operations summary { font-size: 14px; }
.gv-evidence-hero { display: grid; grid-template-columns: 1fr 1fr; background: #ff3e91; border-radius: 7px; overflow: hidden; margin: 28px 0; align-items: center; }
.gv-evidence-hero > div:first-child { padding: 35px; }
.gv-evidence-hero h1 { font-size: clamp(42px,5vw,70px); }
.gv-evidence-hero p { margin: 18px 0; max-width: 40ch; }
.gv-evidence-hero .gv-scene { margin: 0; min-height: 260px; height: 260px; }
.gv-evidence-hero .gv-approved-vials { min-height: 260px; padding: 0 16px 60px; }
.gv-evidence-hero .gv-approved-vials > svg { max-height: 220px; }
.gv-test-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; margin: 24px 0; }
.gv-test-layout .gv-help-block { margin-top: 0; }
.gv-test-record h3 { margin-top: 20px; }
.gv-test-progress { list-style: none; padding: 0; margin: 0; }
.gv-test-progress li { position: relative; padding: 0 0 24px 36px; margin-left: 8px; border-left: 2px solid #ddd; }
.gv-test-progress li:last-child { border-color: transparent; }
.gv-test-progress li::before { content: ''; position: absolute; left: -9px; top: 0; width: 16px; height: 16px; border: 2px solid #bfbfc3; border-radius: 50%; background: #fff; }
.gv-test-progress .is-recorded::before { background: var(--gv-pink); border-color: var(--gv-pink); }
.gv-test-progress strong { display: block; font-size: 15px; }
.gv-test-progress small { display: block; margin-top: 7px; color: #555; }
.gv-operations { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 22px; align-items: start; }
.gv-operator-ledger { grid-column: 1 / -1; }
.gv-operations > * { min-width: 0; }
.gv-operations .gv-table-wrap { max-width: 100%; }
.gv-operator-ledger table { border-collapse: collapse; font-size: 13px; margin-top: 20px; }
.gv-operator-ledger th, .gv-operator-ledger td { text-align: left; padding: 16px; border-bottom: 1px solid var(--gv-line); overflow-wrap: anywhere; }
.gv-operator-ledger th { background: #f5f5f6; }
.gv-operations > .gv-section { margin: 0; }
.gv-operations > .gv-grid { grid-template-columns: 1fr; }
.gv-operations > .gv-form { grid-column: 1 / -1; }
.gv-operations summary span { display: block; font-size: 12px; margin-top: 8px; font-weight: 400; color: #555; }
.gv-operations > .gv-section:has(details) { padding: 20px; background: var(--gv-pink-wash); border-radius: 7px; }
.gv-timeline-labels { position: relative; }
.gv-timeline-labels > :nth-child(2) { position: absolute; left: var(--elapsed,50%); transform: translateX(-50%); }
.gv-time > div:nth-child(2) > .gv-clock-track { margin-inline: 0; }
@media(min-width:601px) { .gv-product-row .gv-card-actions .gv-btn { white-space: nowrap; } }

@media(max-width:1100px) {
  .gv-checkout-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .gv-checkout-layout > .gv-editorial { display: none; }
  .gv-account-layout { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 24px; }
  .gv-account-art .gv-brand { font-size: 62px; }
  .gv-account-art .gv-editorial-copy h2 { font-size: 34px; }
  .gv-payment-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .gv-payment-order { grid-column: auto; }
}
@media(max-width:700px) {
  .gv-evidence-hero, .gv-test-layout, .gv-operations { grid-template-columns: 1fr; }
  .gv-evidence-hero > div:first-child { padding: 24px; }
  .gv-evidence-hero .gv-scene { min-height: 220px; }
  .gv-evidence-hero .gv-approved-vials { min-height: 220px; height: 220px; }
  .gv-evidence-hero .gv-approved-vials > svg { max-height: 200px; }
  .gv-checkout-page { padding-inline: 20px; }
  .gv-checkout-layout, .gv-account-layout, .gv-payment-layout, .gv-review-layout, .gv-testing-records { grid-template-columns: 1fr; gap: 22px; }
  .gv-checkout-summary { grid-row: auto; }
  .gv-checkout-summary .gv-help-block { display: none; }
  .gv-checkout-summary .gv-panel { padding: 18px; }
  .gv-checkout-fields h1 { font-size: 48px; }
  .gv-checkout-fields .gv-options { flex-direction: row; grid-template-columns: 1fr 1fr; }
  .gv-field-pair { grid-template-columns: 1fr 1fr; }
  .gv-account-art { min-height: 250px; }
  .gv-account-art .gv-approved-vials { padding-top: 5px; }
  .gv-account-art .gv-editorial-copy h2 { font-size: 28px; }
  .gv-account-art .gv-brand { font-size: 54px; margin-bottom: 15px; }
  .gv-account-art .gv-editorial-copy p, .gv-account-art .gv-editorial-copy .gv-btn { display: none; }
  .gv-balance-grid { gap: 10px; }
  .gv-balance-grid .gv-panel { padding: 16px; }
  .gv-balance-grid .gv-price { font-size: 30px; }
  .gv-reward-row > summary { grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; }
  .gv-reward-row > summary > :last-child { grid-column: 2 / -1; }
  .gv-account-groups article > div { min-width: 100%; }
  .gv-account-groups .gv-btn { flex: 1; padding-inline: 10px; }
  .gv-payment-page .gv-section-head { margin-top: 25px; }
  .gv-payment-page h1 { font-size: 44px; }
  .gv-payment-order { grid-column: auto; }
  .gv-receipt-links { grid-template-columns: 1fr; gap: 0; }
  .gv-review-layout > .gv-editorial { grid-row: auto; min-height: 240px; }
  .gv-review-layout > .gv-notice { grid-column: auto; }
  .gv-share-content { padding: 0; }
  .gv-invitation-art { min-height: 290px; }
  .gv-invitation-art .gv-approved-vials { padding: 0 10px 35px 38%; }
  .gv-invitation-art .gv-approved-vials > svg { max-height: 220px; }
  .gv-invitation-art .gv-vial-tags { left: 43%; bottom: 15px; right: 5%; }
  .gv-invitation-art .gv-editorial-copy { left: 20px; right: 55%; }
  .gv-invitation-art .gv-editorial-copy h2 { font-size: 31px; }
  .gv-share-content h1 { font-size: 43px; }
  .gv-share-products { flex-wrap: wrap; }
  .gv-share-link { padding: 16px; }
  .gv-share-layout { margin-top: 20px; }
  .gv-operations > .gv-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
  .gv-collection-hero { min-height: 375px; }
  .gv-collection-hero .gv-campaign-brand { font-size: 27vw; }
  .gv-collection-hero > .gv-scene { top: 105px; height: 270px; }
  .gv-collection-hero .gv-approved-vials { margin-left: 44%; padding: 0 6px 30px; gap: 0; }
  .gv-collection-hero .gv-approved-vials > svg { width: 55%; max-height: 200px; }
  .gv-collection-hero .gv-vial-tags { left: 45%; right: 4%; bottom: 15px; gap: 4px; }
  .gv-collection-hero .gv-vial-tags > span { font-size: 9px; }
  .gv-collection-hero .gv-campaign-copy { bottom: 38px; right: 47%; left: 20px; }
  .gv-collection-hero .gv-campaign-copy h1 { font-size: 36px; }
  .gv-collection-hero .gv-campaign-copy p { font-size: 12px; }
  .gv-collection .gv-tools { gap: 10px; }
  .gv-collection .gv-categories { flex-wrap: nowrap; overflow-x: auto; }
  .gv-collection .gv-category { flex-shrink: 0; }
  .gv-collection .gv-card { display: grid; grid-template-columns: 115px minmax(0,1fr); }
  .gv-collection .gv-card > .gv-art { height: 100%; min-height: 250px; padding: 8px; }
  .gv-collection .gv-card-body { padding: 13px; }
  .gv-collection .gv-card h3 { font-size: 20px; }
  .gv-collection .gv-card .gv-options { flex-wrap: nowrap; gap: 4px; }
  .gv-collection .gv-card .gv-options label { padding: 7px 5px; font-size: 10px; }
  .gv-collection .gv-card .gv-price { font-size: 24px; }
  .gv-collection .gv-card-actions { gap: 6px; }
  .gv-collection .gv-card .gv-quantity { width: 44px; }
  .gv-collection .gv-card .gv-btn { font-size: 11px; padding-inline: 6px; }
  .gv-line-art { width: 54px; height: 78px; }
  .gv-group-hero { background: #ff3e91; min-height: 0; }
  .gv-group-photo { display: flex; grid-row: 1; width: 42%; height: 190px; margin-left: auto; position: absolute; right: -13%; top: 0; opacity: .7; }
  .gv-group-hero .gv-group-title { padding: 22px 18px; }
  .gv-product-row > .gv-art { height: 100%; }
  .gv-product-row .gv-card-actions { margin-top: 0; }
  .gv-product-row .gv-options label { min-height: 40px; }
  .gv-product-row .gv-personal { padding-left: 0; }
  .gv-personal-chip { padding: 8px; }
  .gv-mini-steps { gap: 12px; font-size: 11px; }
}


/* Approved October 5 flow: compact product-led screens, using the generated empty studio sets. */
.gv-about > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 20px 0; }
.gv-about > summary strong { font-size: 20px; letter-spacing: -.03em; }
.gv-about > summary span { color: #555; font-size: 12px; }
.gv-about > p { padding-bottom: 20px; }
.gv-room-policy { border: 0; border-bottom: 1px solid var(--gv-line); font-size: 12px; padding: 0; }
.gv-room-policy > summary { display: flex; align-items: center; gap: 20px; padding: 15px 0; }
.gv-room-policy > summary span { margin-left: auto; color: #555; }
.gv-room-policy p { max-width: 100ch; padding-bottom: 18px; }
.gv-mobile-bag, .gv-table-hint { display: none; }
.gv-product-info { padding: 14px 0; }
.gv-product-info .gv-sku { display: inline; }
.gv-product-info .gv-options { margin-top: 7px; }
.gv-product-info .gv-options legend { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.gv-product-info .gv-options label { min-height: 36px; padding: 6px 9px; background: #fafafa; }
.gv-product-info .gv-options input { position: absolute; opacity: 0; }
.gv-product-info .gv-options label:focus-within { outline: 2px solid #111; outline-offset: 2px; }
.gv-product-info .gv-options label:has(input:checked) { border-color: #f13789; background: #fff0f6; color: #111; }
.gv-product-info .gv-price { margin: 6px 0 0; }
.gv-product-info .gv-card-actions .gv-quantity { width: 58px; }
.gv-product-info .gv-personal { flex-wrap: wrap; gap: 7px; padding: 0; }
.gv-product-info .gv-personal-chip { min-width: 0; font-size: 10px; }
.gv-product-info .gv-personal-chip a { font-size: 10px; }
.gv-product-row > .gv-sku-progress { margin-top: 20px; padding-bottom: 12px; }
.gv-product-row .gv-quantity, .gv-product-row .gv-btn { min-height: 40px; }
.gv-status-product { display: grid; grid-template-columns: 54px minmax(0,1fr) minmax(130px,1fr); gap: 16px; align-items: center; padding: 16px; margin: 12px 0; border: 1px solid var(--gv-line); border-radius: 6px; }
.gv-status-product .gv-line-art { width: 54px; height: 75px; }
.gv-status-product h3 { font-size: 17px; }
.gv-status-product small { color: #666; }
.gv-status-product .gv-sku-progress { margin: 0; }
.gv-status-note { font-size: 13px; margin: 15px 0; padding: 15px; background: #f3f2f7; border-radius: 6px; }
.gv-status-layout .gv-closing-timelines { padding: 16px; background: var(--gv-pink-wash); border-radius: 7px; margin-bottom: 24px; }
.gv-status-layout > aside > details[open] { background: #eee7ff; padding: 18px; border-radius: 7px; }
.is-status .gv-group-photo { display: none; }
.is-status .gv-group-hero { display: block; background: #fff; min-height: 0; }
.is-status .gv-group-title { padding: 28px 0; max-width: none; }
.is-status .gv-group-title .gv-actions { display: inline-flex; float: right; margin: 0; }
.is-status .gv-group-title .gv-actions .gv-btn-secondary { border-color: var(--gv-line); }
.gv-create-banner { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; min-height: 300px; margin-top: 25px; background: #fa2884; border-radius: 7px; overflow: hidden; }
.gv-create-banner > div:first-child { padding: 30px; }
.gv-create-banner h1 { font-size: 58px; }
.gv-create-banner p { margin: 15px 0; font-size: 17px; }
.gv-create-banner ul { list-style: none; padding: 0; margin: 20px 0 0; font-size: 12px; line-height: 1.9; }
.gv-create-banner li::before { content: '✓'; margin-right: 8px; }
.gv-create-banner .gv-scene { height: 330px; min-height: 330px; margin: 0; }
.gv-create-banner .gv-approved-vials { padding-bottom: 70px; }
.gv-create-form { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 30px; padding: 26px 0; }
.gv-create-form h2 { font-size: 23px; margin-bottom: 14px; }
.gv-create-form p { font-size: 13px; color: #555; }
.gv-create-products > .gv-field { margin-bottom: 22px; }
.gv-create-products .gv-selected { margin: 0; padding: 0; border: 0; }
.gv-create-products .gv-selected legend { font-size: 14px; margin-bottom: 12px; }
.gv-create-products .gv-selected > .gv-btn { width: 100%; }
.gv-create-settings .gv-options { margin-top: 18px; }
.gv-create-settings .gv-options label { font-size: 13px; }
.gv-create-submit { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.gv-create-submit > .gv-btn { width: min(100%,560px); min-height: 48px; }
.gv-create-submit > p { flex-basis: 100%; font-size: 12px; }
.gv-account-side .gv-panel { margin-top: 18px; }
.gv-account-side .gv-panel h2 { font-size: 28px; }
.gv-account-art .gv-editorial-copy h2 { font-size: 30px; }
.gv-account-art .gv-editorial-copy p, .gv-account-art .gv-editorial-copy .gv-btn { display: none; }
.gv-account-art .gv-approved-vials > svg:nth-child(n+2) { display: none; }
.gv-account-art .gv-vial-tags > span:nth-child(n+2) { display: none; }
.gv-account-layout .gv-about { margin-top: 20px; }
.gv-balance-grid .gv-panel { padding: 22px; }
.gv-balance-grid .gv-panel .gv-price { font-size: 44px; line-height: 1.05; margin: 14px 0; }
@media(max-width:800px) {
  .gv-product-row { grid-template-columns: 125px minmax(0,1fr) 145px; }
  .gv-status-product { grid-template-columns: 48px minmax(0,1fr) 140px; gap: 12px; }
  .gv-create-banner { grid-template-columns: 1fr 1fr; }
  .gv-create-banner h1 { font-size: 46px; }
  .gv-create-banner p { font-size: 14px; }
  .is-status .gv-group-title .gv-actions { float: none; display: flex; margin-top: 15px; }
}
@media(max-width:600px) {
  .gv-directory-hero { min-height: 480px; align-items: start; }
  .gv-directory-hero > div:not(.gv-scene) { position: relative; z-index: 1; padding: 25px 20px; width: 100%; }
  .gv-directory-hero h1 { font-size: clamp(38px, 11vw, 48px); line-height: .98; }
  .gv-directory-hero p { font-size: 14px; line-height: 1.4; }
  .gv-directory-hero .gv-btn { min-width: 168px; min-height: 48px; font-size: 14px; }
  .gv-directory-hero > .gv-scene { top: 235px; height: 245px; }
  .gv-directory-hero .gv-approved-scene::before { left: 0; }
  .gv-directory-hero .gv-approved-vials { margin-left: 10%; min-height: 245px; padding: 0; }
  .gv-directory-hero .gv-approved-vials > svg { width: 36%; max-height: none; }
  .gv-directory-hero .gv-vial-tags { display: none; }
  .gv-group-hero .gv-group-title { width: 100%; padding: 20px 18px; }
  .gv-group-hero .gv-group-title h1 { max-width: 73%; }
  .gv-group-photo { right: 0; width: 27%; height: 150px; opacity: 1; padding-bottom: 25px; background: transparent; }
  .gv-group-photo > svg { width: 100%; height: 125px; flex: none; }
  .gv-group-photo > svg:nth-of-type(n+2), .gv-group-photo .gv-vial-tags { display: none; }
  .gv-group-title h1 { font-size: 33px; }
  .gv-group-title .gv-actions { position: relative; z-index: 2; }
  .gv-product-row { grid-template-columns: 96px minmax(0,1fr); gap: 12px; }
  .gv-product-row > .gv-sku-progress { grid-column: 2; margin: 0 0 12px; font-size: 10px; }
  .gv-product-row > .gv-art { grid-row: 1 / span 2; }
  .gv-product-info { padding: 12px 0 0; }
  .gv-product-info .gv-options label { font-size: 10px; }
  .gv-product-row h3 { font-size: 17px; }
  .gv-product-info .gv-card-actions { margin-bottom: 10px; }
  .gv-product-info .gv-qty-label { font-size: 10px; }
  .gv-product-info .gv-card-actions .gv-quantity { width: 45px; }
  .gv-product-info .gv-card-actions .gv-btn { white-space: normal; }
  .gv-room-policy > summary { position: relative; display: block; line-height: 1.5; padding: 12px 25px 12px 0; }
  .gv-room-policy > summary::after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
  .gv-room-policy > summary span { display: block; font-size: 11px; }
  .gv-status-product { grid-template-columns: 42px minmax(0,1fr); padding: 12px; }
  .gv-status-product .gv-line-art { width: 42px; height: 60px; grid-row: 1 / span 2; }
  .gv-status-product .gv-sku-progress { grid-column: 2; }
  .gv-create-banner { display: block; min-height: 0; }
  .gv-create-banner > div:first-child { padding: 24px; }
  .gv-create-banner h1 { font-size: 42px; }
  .gv-create-banner ul { display: none; }
  .gv-create-banner .gv-scene { height: 190px; min-height: 190px; }
  .gv-create-banner .gv-approved-vials { min-height: 190px; padding: 0 10px 45px; }
  .gv-create-banner .gv-approved-vials > svg { max-height: 170px; width: 35%; }
  .gv-create-banner .gv-vial-tags { display: none; }
  .gv-create-form { grid-template-columns: 1fr; gap: 24px; }
  .gv-create-form .gv-options { display: flex; flex-direction: row; }
  .gv-create-submit > .gv-btn { width: 100%; }
  .gv-create-submit > a { margin-left: auto; margin-right: auto; }
  .gv-account-side .gv-account-art { display: none; }
  .gv-invitation-art { min-height: 210px; }
  .gv-invitation-art .gv-approved-vials { min-height: 210px; height: 210px; padding: 0 5px 45px 44%; }
  .gv-invitation-art .gv-approved-vials > svg { max-height: 170px; }
  .gv-invitation-art .gv-editorial-copy { bottom: 22px; color: #111; }
  .gv-invitation-art .gv-editorial-copy p { display: none; }
  .gv-share-layout:has(.gv-share-link) .gv-share-content h1 { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .gv-share-content .gv-share-link { margin: 16px 0; }
  .gv-mobile-bag { position: fixed; z-index: 30; bottom: max(12px,env(safe-area-inset-bottom)); left: 20px; right: 20px; display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 14px 18px; border-radius: 7px; background: #ff3e91; color: #111; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 4px 16px #1112; }
  .gv-room-page:not(.is-status) { padding-bottom: 70px; }
  .gv-table-hint { display: block; font-size: 12px; color: #666; margin: 12px 0; }
  .gv-directory-tools .gv-group-filters { grid-template-columns: minmax(0,1fr) 140px; }
  .gv-directory-tools select { min-width: 140px; font-size: 12px; }
  .gv-balance-grid { grid-template-columns: 1fr; }
  .gv-balance-grid .gv-panel .gv-price { font-size: 40px; }
  .gv-about > summary { display: block; }
  .gv-about > summary span { display: block; margin-top: 5px; }
}


.gv-flow-banner { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: center; min-height: 260px; margin: 24px 0; overflow: hidden; border-radius: 7px; background: #fa2884; }
.gv-flow-banner > div:first-child { padding: 30px; }
.gv-flow-banner h1 { font-size: clamp(40px,4.6vw,64px); max-width: 600px; }
.gv-flow-banner p { margin: 12px 0; font-size: 15px; }
.gv-flow-banner .gv-scene { height: 280px; min-height: 280px; margin: 0; }
.gv-flow-banner .gv-approved-vials { padding: 0 15px 65px; min-height: 280px; }
.gv-flow-banner .gv-approved-vials > svg { max-height: 225px; width: 45%; }
.gv-flow-banner .gv-vial-tags { bottom: 10px; }
.gv-step-num { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; background: var(--gv-lime); border-radius: 50%; font-size: 15px; margin-right: 6px; }
.gv-checkout-payment > h2 { font-size: 21px; margin-bottom: 20px; }
.gv-checkout-payment > .gv-gold { padding: 16px; background: #faffdf; border: 0; margin-bottom: 20px; }
.gv-checkout-payment > .gv-gold h2 { font-size: 18px; margin-bottom: 10px; }
.gv-checkout-payment .gv-options { margin-bottom: 20px; }
.gv-checkout-payment .gv-gold details { font-size: 12px; }
.gv-checkout-payment .gv-gold details { padding: 0; }
.gv-checkout-payment .gv-gold summary { padding: 10px 0; }
.gv-checkout-summary .gv-consent { margin: 18px 0; }
.gv-checkout-summary button[type=submit] { width: 100%; min-height: 48px; }
.gv-checkout-summary h2 { font-size: 21px; }
.gv-checkout-summary .gv-checkout-note { margin: 12px 0 0; font-size: 11px; }
.gv-flow-banner + .gv-cart-layout { margin-top: 18px; }
.gv-payment-page .gv-flow-banner h1 { font-size: 56px; }
.gv-payment-page .gv-flow-banner .gv-badge { background: var(--gv-lime); color: #111; }
.gv-payment-page.is-pending .gv-flow-banner .gv-badge { background: #eee6ff; border-color: #c2afd8; }
.gv-batch-evidence { padding: 18px; border-radius: 7px; background: #eee7ff; }
.gv-batch-evidence h2 { font-size: 26px; margin-bottom: 16px; }
.gv-batch-evidence h3 { font-size: 16px; margin-top: 16px; }
.gv-batch-evidence summary { padding: 4px 0; gap: 10px; font-size: 14px; }
.gv-batch-evidence summary .gv-line-art { width: 38px; height: 54px; background: transparent; flex-shrink: 0; }
.gv-batch-evidence summary small { display: block; margin-top: 5px; font-weight: 400; }
.gv-batch-evidence > p { margin: 14px 0; font-size: 12px; }
.gv-batch-evidence > .gv-btn { width: 100%; font-size: 12px; }
.gv-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 14px; background: #fff; border-radius: 5px; }
.gv-evidence-grid dt { font-size: 11px; color: #666; }
.gv-evidence-grid dd { margin-top: 6px; font-size: 13px; font-weight: 600; }
.gv-fulfilment-path { margin: 28px 0; padding: 22px; border-radius: 7px; background: #eee7ff; }
.gv-fulfilment-path h2 { font-size: 24px; }
.gv-fulfilment-path ol { display: flex; flex-wrap: wrap; gap: 14px 24px; padding: 0; margin: 20px 0; list-style: none; }
.gv-fulfilment-path li { font-size: 13px; }
.gv-fulfilment-path li:not(:last-child)::after { content: ' →'; color: #777; }
.gv-fulfilment-path p { font-size: 12px; color: #555; }
.gv-status-layout { grid-template-columns: minmax(0,1.3fr) minmax(280px,1fr); }
@media(max-width:800px) { .gv-status-layout { grid-template-columns: 1fr; } }
@media(max-width:1100px) and (min-width:701px) {
  .gv-checkout-fields { grid-row: 1 / span 2; }
  .gv-checkout-payment, .gv-checkout-summary { grid-column: 2; }
}
@media(max-width:700px) {
  .gv-flow-banner { grid-template-columns: 1.2fr 1fr; min-height: 190px; }
  .gv-flow-banner > div:first-child { padding: 20px; }
  .gv-flow-banner h1, .gv-payment-page .gv-flow-banner h1 { font-size: 35px; }
  .gv-flow-banner p { font-size: 12px; }
  .gv-flow-banner .gv-scene { min-height: 210px; height: 210px; }
  .gv-flow-banner .gv-approved-vials { min-height: 210px; padding: 0 4px 45px; }
  .gv-flow-banner .gv-approved-vials > svg { max-height: 185px; width: 68%; }
  .gv-flow-banner .gv-approved-vials > svg:nth-child(n+2) { display: none; }
  .gv-flow-banner .gv-vial-tags { left: 5%; right: 5%; bottom: 10px; }
  .gv-flow-banner .gv-vial-tags > span:nth-child(n+2) { display: none; }
  .gv-checkout-payment, .gv-checkout-summary, .gv-checkout-fields { grid-column: auto; grid-row: auto; }
  .gv-checkout-layout { gap: 24px; }
  .gv-checkout-summary .gv-panel { border: 0; padding: 0; }
}

/* Three-step group creation, matched to the approved testing screen. */
.gv-wizard { max-width: 1180px; padding-top: 24px; padding-bottom: 32px; }
.gv-wizard-steps { display: flex; justify-content: center; gap: 32px; margin: 0 0 32px; font-size: 14px; }
.gv-wizard-steps span { display: flex; align-items: center; gap: 8px; color: #666; }
.gv-wizard-steps b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #eee; }
.gv-wizard-steps [aria-current] { color: #171717; font-weight: 700; }
.gv-wizard-steps [aria-current] b { background: #214cff; color: white; }
.gv-wizard-layout { display: grid; grid-template-columns: minmax(0, 2.45fr) minmax(260px, 1fr); gap: 24px; }
.gv-wizard-content h1 { font-size: clamp(32px, 4vw, 52px); line-height: 1.06; margin-bottom: 12px; }
.gv-wizard-content > p { color: #555; margin-bottom: 24px; font-size: 15px; }
.gv-wizard-content h2, .gv-wizard-aside h2 { font-size: 20px; margin: 16px 0 12px; }
.gv-funding-options, .gv-shortage { border: 0; padding: 0; margin: 0 0 16px; }
.gv-funding-options, .gv-shortage > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gv-choice { display: flex; align-items: flex-start; gap: 12px; padding: 20px 16px; border: 1px solid #e5e5e7; border-radius: 5px; background: white; cursor: pointer; }
.gv-choice:has(input:checked) { border-color: #214cff; background: #f4f5ff; box-shadow: inset 0 0 0 1px #214cff; }
.gv-choice input { accent-color: #214cff; margin-top: 3px; }
.gv-choice strong, .gv-choice b, .gv-choice small { display: block; }
.gv-choice strong { font-size: 16px; }
.gv-choice b { font-weight: 500; font-size: 14px; margin: 5px 0 16px; }
.gv-choice small { color: #555; line-height: 1.5; font-size: 13px; }
.gv-testing-product { display: grid; grid-template-columns: 148px minmax(0,1fr); gap: 20px; border: 1px solid #e5e5e7; border-radius: 5px; background: white; padding: 12px; margin-bottom: 12px; }
.gv-testing-product .gv-art { height: 188px; padding: 0; overflow: hidden; border-radius: 4px; background: #214cff; }
.gv-testing-product .gv-art img { width: 100%; height: 100%; object-fit: cover; }
.gv-testing-product .gv-art svg { height: 100%; }
.gv-testing-product h3 { font-size: 19px; margin: 4px 0; }
.gv-testing-product small { color: #555; }
.gv-testing-product .gv-field { margin: 14px 0; font-size: 13px; gap: 6px; }
.gv-percent-control { display: flex; align-items: center; gap: 4px; }
.gv-percent-control .gv-btn { min-height: 32px; height: 32px; padding: 0 12px; border-radius: 3px; }
.gv-percent-control input { width: 64px; height: 32px; text-align: center; padding: 4px; border-radius: 3px; }
.gv-testing-example { padding: 12px; background: #f6f6f8; border-radius: 3px; }
.gv-testing-example strong, .gv-testing-example small { display: block; font-size: 13px; line-height: 1.6; }
.gv-shortage { border: 1px solid #e5e5e7; border-radius: 5px; padding: 14px; margin-top: 20px; }
.gv-shortage legend { font-weight: 700; font-size: 16px; padding: 0 6px; }
.gv-shortage > p { font-size: 12px; color: #666; margin-bottom: 12px; }
.gv-shortage .gv-choice { padding: 14px 12px; }
.gv-shortage .gv-choice strong { font-size: 14px; margin-bottom: 4px; }
.gv-wizard-aside .gv-panel { background: white; border-radius: 5px; padding: 22px; }
.gv-wizard-aside h2 { margin: 0 0 16px; }
.gv-wizard-aside p { font-size: 14px; margin: 14px 0; }
.gv-invite-credit { padding: 22px; background: #fff0f6; border-radius: 5px; margin-top: 16px; }
.gv-invite-credit h2 { color: #d82576; font-size: 18px; }
.gv-invite-credit p { color: #555; font-size: 13px; }
.gv-invite-credit p + p { border-top: 1px solid #f2dfe7; padding-top: 14px; }
.gv-wizard-actions { grid-column: 1/-1; display: grid; grid-template-columns: auto 1fr auto; gap: 8px 20px; align-items: center; }
.gv-wizard-actions > .gv-btn:last-of-type { grid-column: 3; background: #ff4b9b; min-width: 280px; }
.gv-wizard-actions > p { grid-column: 3; text-align: center; font-size: 12px; color: #666; }
.gv-policy-review { padding: 16px; background: #faf9f5; border: 1px solid #e5e5e7; margin-top: 20px; }
.gv-policy-review > p { font-size: 14px; margin: 12px 0; }
.gv-policy-review .gv-testing-product { grid-template-columns: 64px 1fr; }
.gv-policy-review .gv-art { height: 84px; }
.gv-live-stage { padding: 18px 0; border-bottom: 1px solid #e5e5e7; margin-bottom: 18px; font-size: 14px; }
.gv-live-stage span { font-size: 12px; color: #666; }
.gv-live-stage .gv-btn { margin-left: 12px; min-height: 32px; }
.gv-sku-progress strong { display: block; color: #171717; }
.gv-contribution { font-size: 12px; margin: 6px 0; }
@media(max-width:700px) { .gv-wizard-steps { gap: 12px; font-size: 11px; margin-bottom: 24px; }.gv-wizard-layout { grid-template-columns: 1fr; }.gv-wizard-aside { grid-row: auto; }.gv-funding-options,.gv-shortage>div { grid-template-columns: 1fr; }.gv-testing-product { grid-template-columns: 96px 1fr; gap: 12px; }.gv-testing-product .gv-art { height: 150px; }.gv-wizard-actions { grid-template-columns: auto 1fr; }.gv-wizard-actions>.gv-btn:last-of-type { grid-column: 2; min-width: 0; }.gv-wizard-actions>p { grid-column: 1/-1; }.gv-wizard-content h1 { font-size: 35px; } }
.gv-approved-vials > img { width: 44%; height: auto; max-height: 100%; flex: 0 1 44%; object-fit: contain; border-radius: 5px; }
.gv-directory-hero .gv-approved-vials:has(> img) { display: flex; gap: 12px; padding: 16px 20px 50px; }
.gv-line-art > img { width: 100%; height: 100%; object-fit: contain; }
.gv-picker-percentages { padding: 16px; background: #faf9f5; }
.gv-picker-percentages > p { font-size: 12px; margin: 8px 0 16px; }
.gv-picker-percentages .gv-field { margin: 8px 0; }
@media(max-width:600px) { .gv-approved-vials > img { width: 48%; flex-basis: 48%; }.gv-flow-banner .gv-approved-vials > img:nth-child(n+2) { display: none; }.gv-flow-banner .gv-approved-vials > img { width: 92%; flex-basis: 92%; } }
/* Live group overview follows the approved progress and next-step composition. */
.gv-overview { max-width: 1180px; padding-top: 28px; }
.gv-overview-header { position: relative; padding-right: 275px; }
.gv-overview-header h1 { font-size: clamp(28px,3.5vw,43px); margin: 10px 0 18px; line-height: 1.1; }
.gv-overview-header > div:first-of-type { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.gv-overview-header h2 { font-size: 26px; }
.gv-mode-badge { background: #5832a6; color: white; padding: 6px 10px; border-radius: 16px; font-size: 12px; font-weight: 700; }
.gv-overview-primary { position: absolute; right: 0; bottom: 0; width: 245px; display: grid; gap: 8px; }
.gv-overview-primary .gv-btn { min-height: 42px; }
.gv-overview-primary .gv-btn:first-child { background: #ff4b9b; }
.gv-overview-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 18px; font-size: 12px; color: #555; }
.gv-overview-meta .gv-btn { min-height: 24px; padding: 0; border: 0; color: #214cff; text-decoration: underline; background: none; font-weight: 400; }
.gv-overview-stages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; padding: 0; margin: 24px 0; gap: 20px; }
.gv-overview-stages li { display: flex; gap: 12px; align-items: center; font-size: 13px; color: #666; }
.gv-overview-stages li:not(:last-child)::after { content: ''; height: 1px; background: #e5e5e7; flex: 1; min-width: 12px; }
.gv-overview-stages b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #eee; flex-shrink: 0; }
.gv-overview-stages [aria-current] { color: #214cff; font-weight: 700; }
.gv-overview-stages [aria-current] b { color: white; background: #214cff; }
.gv-overview-stages small { display: block; font-size: 9px; margin-top: 4px; }
.gv-overview-layout { display: grid; grid-template-columns: minmax(0,2.5fr) minmax(260px,1fr); gap: 20px; align-items: start; }
.gv-overview-product { display: grid; grid-template-columns: 120px minmax(0,1.5fr) minmax(150px,1fr); gap: 18px; background: white; border: 1px solid #e5e5e7; padding: 12px; margin-bottom: 12px; border-radius: 5px; }
.gv-overview-product > .gv-art { height: 160px; padding: 0; border-radius: 4px; overflow: hidden; background: #214cff; }
.gv-overview-product > .gv-art img { object-fit: cover; }
.gv-overview-funding h2 { font-size: 20px; margin: 0 0 4px; }
.gv-overview-funding > small { font-size: 11px; color: #666; }
.gv-overview-funding .gv-sku-progress { font-size: 12px; margin-top: 14px; padding: 0; }
.gv-overview-funding .gv-sku-progress > strong { color: #555; font-size: 11px; margin-bottom: 8px; }
.gv-overview-funding .gv-sku-progress p { margin: 5px 0; }
.gv-overview-funding .gv-funding-number { font-size: 15px; color: #171717; }
.gv-funding-number b { font-size: 24px; }
.gv-overview-funding progress { height: 14px; border: 0; border-radius: 8px; overflow: hidden; width: 100%; appearance: none; }
.gv-overview-funding progress::-webkit-progress-bar { background: #f1f1f4; }
.gv-overview-funding progress::-webkit-progress-value { background: #214cff; border-radius: 8px; transition: width .35s ease; }
.gv-overview-funding progress::-moz-progress-bar { background: #214cff; border-radius: 8px; }
.gv-overview-rule { border-left: 1px solid #eee; padding-left: 16px; align-self: center; font-size: 12px; }
.gv-overview-rule strong { font-size: 12px; }
.gv-overview-rule p { margin: 6px 0 16px; color: #555; line-height: 1.4; }
.gv-overview-rule small { font-size: 10px; color: #666; }
.gv-item-selection { grid-column: 1/-1; padding-top: 14px; border-top: 1px solid #eee; font-size: 13px; }
.gv-item-selection h3 { margin: 0 0 8px; font-size: 15px; }
.gv-selection-controls .gv-personal { margin: 12px 0; }
.gv-selection-controls > a { font-size: 12px; }
.gv-order-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.gv-order-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.gv-order-buttons .gv-btn { white-space: normal; text-align: center; }
.gv-draft-bag { margin: 8px 0; font-size: 12px; }
.gv-next-step { padding: 20px; }
.gv-next-step h2 { font-size: 22px; }
.gv-next-step ol { margin: 18px 0; padding-left: 24px; }
.gv-next-step li { padding: 0 0 16px 6px; font-size: 13px; }
.gv-next-step li::marker { color: #e03080; font-weight: 700; }
.gv-next-step li p { color: #666; margin: 4px 0 0; font-size: 12px; }
.gv-next-step h3 { font-size: 14px; border-top: 1px solid #eee; padding-top: 14px; }
.gv-next-step > p { font-size: 12px; margin: 8px 0 12px; }
.gv-next-step .gv-order-history { font-size: 12px; }
.gv-overview-layout > aside > .gv-panel { margin-top: 14px; }
.gv-overview-layout > aside > .gv-panel:first-child { margin-top: 0; }
.gv-overview-layout .gv-invite-credit { padding: 20px; }
.gv-overview-layout .gv-invite-credit h2 { font-size: 20px; }
.gv-overview-layout .gv-invite-credit p { font-size: 13px; }
.gv-funding-note { font-size: 12px; color: #666; margin: 12px 0; }
.gv-closing-outcomes { margin-top: 20px; }
.gv-closing-outcomes > h2 { font-size: 22px; }
.gv-closing-outcomes > p { font-size: 11px; color: #666; margin: 6px 0 12px; }
.gv-closing-outcomes > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.gv-closing-outcomes article { padding: 14px; border: 1px solid #e5e5e7; border-radius: 4px; font-size: 12px; }
.gv-closing-outcomes article p { font-size: 11px; color: #666; margin-top: 8px; }
.gv-closing-outcomes article small { display: block; font-size: 10px; color: #214cff; margin-top: 4px; }
.gv-closing-outcomes .is-selected { border-color: #214cff; background: #f4f5ff; }
.gv-overview-evidence { margin-top: 22px; font-size: 13px; }
@media(prefers-reduced-motion:reduce) { .gv-overview-funding progress::-webkit-progress-value { transition: none; } }
@media(max-width:900px) { .gv-overview-header { padding-right: 0; }.gv-overview-primary { position: static; display: flex; width: auto; margin-top: 18px; }.gv-overview-layout { grid-template-columns: 1fr; }.gv-overview-layout>aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.gv-overview-layout>aside>.gv-invite-credit { margin-top: 0; }.gv-overview-stages { gap: 12px; } }
@media(max-width:600px) { .gv-overview-header h1 { font-size: 31px; }.gv-overview-header h2 { font-size: 22px; }.gv-overview-stages { grid-template-columns: 1fr 1fr; gap: 16px; }.gv-overview-stages li:not(:last-child)::after { display: none; }.gv-overview-product { grid-template-columns: 88px 1fr; gap: 12px; }.gv-overview-product>.gv-art { height: 130px; }.gv-overview-rule { grid-column: 1/-1; border-left: 0; border-top: 1px solid #eee; padding: 12px 0 0; }.gv-overview-rule p { margin-bottom: 10px; }.gv-overview-layout>aside { grid-template-columns: 1fr; }.gv-closing-outcomes>div { grid-template-columns: 1fr; }.gv-overview-primary>.gv-btn { flex: 1; padding-inline: 10px; }.gv-funding-number b { font-size: 20px; } }
.gv-percent-control .gv-btn { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; }
.gv-percent-control input { min-height: 44px; height: 44px; width: 80px; }
@media(min-width:901px) { .gv-overview-header { padding-right: 0; }.gv-overview-header > div:first-of-type,.gv-overview-meta { padding-right: 275px; }.gv-overview-header h1 { font-size: clamp(28px,3.2vw,41px); } }
@media(max-width:360px) { .gv-testing-product { grid-template-columns: 1fr; }.gv-testing-product .gv-art { width: 104px; height: 132px; }.gv-wizard-steps { gap: 8px; font-size: 10px; } }
.gv-policy-facts { display: grid; gap: 12px; margin: 18px 0; font-size: 13px; }
.gv-policy-facts > div { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 16px; padding-bottom: 10px; border-bottom: 1px solid #e5e5e7; }
.gv-policy-facts dt { color: #666; }
.gv-policy-facts dd { line-height: 1.5; font-weight: 600; }
.gv-facts-note { color: #666; font-size: 12px; margin: 10px 0; }
.gv-testing-page { max-width: 1180px; padding-top: 28px; }
.gv-testing-header h1 { font-size: clamp(30px,4vw,46px); margin: 18px 0 12px; }
.gv-testing-header p { color: #666; font-size: 14px; margin-bottom: 18px; }
.gv-testing-header .gv-btn { margin-right: 8px; }
.gv-testing-records { margin: 24px 0; display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
.gv-testing-sku { margin: 0; display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.2fr) minmax(150px,.5fr); gap: 0 24px; align-items: start; }
.gv-testing-sku > header { grid-column: 1; grid-row: 1; display: flex; gap: 14px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid #eee; }
.gv-testing-sku > header h2 { font-size: 24px; }
.gv-testing-sku > .gv-sku-progress { grid-column: 1; grid-row: 2; padding: 16px 0; }
.gv-testing-sku > .gv-test-outcome { grid-column: 2; grid-row: 1 / span 3; }
.gv-testing-sku > .gv-btn { grid-column: 3; grid-row: 1 / span 3; font-size: 12px; }
.gv-test-outcome { padding: 16px 0; font-size: 13px; }
.gv-test-outcome > h3 { font-size: 21px; margin-bottom: 12px; }
.gv-test-outcome > p { color: #555; margin-bottom: 14px; }
.gv-test-credit { margin: 18px 0; padding: 16px; border-radius: 5px; background: #fff0f6; }
.gv-test-credit p { margin: 8px 0 12px; }
.gv-test-credit .gv-btn { min-height: 36px; font-size: 12px; }
.gv-testing-sku .gv-evidence-grid { background: #faf9f5; margin-bottom: 16px; }
.gv-testing-sku .gv-test-record h3 { font-size: 18px; margin: 12px 0; }
@media(max-width:850px) { .gv-testing-sku { display: block; }.gv-testing-sku > .gv-btn { margin-top: 12px; }.gv-testing-records { grid-template-columns: 1fr; }.gv-policy-facts>div { grid-template-columns: 90px minmax(0,1fr); gap: 12px; }.gv-test-outcome>h3 { font-size: 19px; } }
/* Compact checkout uses the approved delivery/payment + order-summary composition. */
.gv-checkout-compact { max-width: 1120px; padding-top: 24px; }
.gv-checkout-header h1 { font-size: clamp(32px,4vw,48px); margin: 12px 0; }
.gv-checkout-header > p { width: fit-content; max-width: 100%; padding: 8px 12px; background: #f2f3ff; border-radius: 4px; font-size: 12px; }
.gv-checkout-compact .gv-checkout-layout { grid-template-columns: minmax(0,1.65fr) minmax(300px,1fr); gap: 24px; margin-top: 22px; }
.gv-checkout-compact .gv-checkout-fields,.gv-checkout-compact .gv-checkout-summary { grid-column: auto; grid-row: auto; }
.gv-checkout-compact .gv-checkout-fields { gap: 14px; }
.gv-checkout-compact .gv-panel { padding: 20px; border-radius: 5px; }
.gv-checkout-compact .gv-panel h2 { font-size: 21px; margin: 0 0 16px; }
.gv-checkout-compact .gv-gold { background: #fffbee; border: 1px solid #f0e6c8; padding: 16px 20px; }
.gv-checkout-compact .gv-gold > label { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.gv-checkout-compact .gv-gold label small { margin-left: 10px; color: #777; font-size: 11px; }
.gv-checkout-compact .gv-gold p { font-size: 11px; margin-top: 8px; }
.gv-checkout-compact .gv-gold details { padding: 0; margin-top: 8px; border: 0; }
.gv-checkout-compact .gv-address > .gv-field { margin: 12px 0; }
.gv-checkout-compact .gv-field { font-size: 12px; gap: 6px; }
.gv-delivery-grid { display: grid; grid-template-columns: 1fr .75fr 1fr; gap: 12px; margin-top: 12px; }
.gv-delivery-options { margin: 18px 0 0; padding: 0; border: 0; }
.gv-delivery-options legend { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.gv-delivery-options > div,.gv-payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gv-payment-options { border: 0; margin: 0; padding: 0; }
.gv-checkout-compact .gv-choice { padding: 14px 12px; gap: 9px; }
.gv-checkout-compact .gv-choice strong { font-size: 13px; }
.gv-checkout-compact .gv-choice small { font-size: 11px; margin-top: 7px; }
.gv-checkout-compact .gv-choice:has(input:disabled) { opacity: .65; cursor: default; background: #f5f5f5; }
.gv-checkout-compact .gv-checkout-payment > p { font-size: 11px; margin-top: 12px; }
.gv-account-credit .gv-inline-credit { padding: 0; margin: 0; background: none; }
.gv-account-credit .gv-inline-credit p { font-size: 12px; }
.gv-account-credit .gv-inline-credit strong { font-size: 14px; }
.gv-checkout-compact .gv-consent { padding: 0 4px; }
.gv-checkout-compact .gv-consent h2 { margin: 0; font-size: 16px; }
.gv-checkout-compact .gv-consent label { display: block; line-height: 1.5; }
.gv-checkout-compact .gv-consent input { margin-right: 8px; vertical-align: middle; accent-color: #214cff; }
.gv-checkout-compact .gv-checkout-summary .gv-line { grid-template-columns: 76px minmax(0,1fr) auto; align-items: center; }
.gv-checkout-compact .gv-checkout-summary .gv-line-art { width: 76px; height: 100px; }
.gv-checkout-compact .gv-checkout-summary .gv-line h3 { font-size: 16px; }
.gv-checkout-compact .gv-checkout-summary .gv-line p { font-size: 11px; line-height: 1.5; }
.gv-checkout-compact .gv-checkout-summary .gv-summary { margin: 16px 0; }
.gv-checkout-compact .gv-checkout-summary .gv-summary > div:last-child { border-top: 1px solid #ddd; padding-top: 12px; font-size: 17px; }
.gv-checkout-compact .gv-checkout-summary button[type=submit] { background: #ff4b9b; min-height: 46px; }
.gv-checkout-compact .gv-checkout-shortage { margin-top: 14px; background: #f3f4ff; }
.gv-checkout-compact .gv-checkout-shortage h2 { font-size: 16px; margin-bottom: 10px; }
.gv-checkout-compact .gv-checkout-shortage p { font-size: 12px; }
.gv-checkout-compact .gv-invite-credit { padding: 20px; }
.gv-checkout-compact .gv-invite-credit h2 { font-size: 18px; }
.gv-checkout-compact .gv-invite-credit p { font-size: 12px; }
.gv-checkout-invitation { margin: 14px 0; font-size: 12px; }
.gv-group-schedule { margin-top: 14px; font-size: 12px; }
.gv-group-schedule dl { display: flex; flex-wrap: wrap; gap: 18px; margin: 12px 0; }
.gv-group-schedule dt { color: #666; margin-bottom: 4px; }
@media(max-width:760px) { .gv-checkout-compact .gv-checkout-layout { grid-template-columns: 1fr; }.gv-checkout-header h1 { font-size: 35px; }.gv-checkout-compact .gv-checkout-summary .gv-panel { padding: 20px; border: 1px solid #e5e5e7; }.gv-checkout-compact .gv-checkout-fields { grid-column: auto; grid-row: auto; }.gv-delivery-grid { grid-template-columns: 1fr 1fr; }.gv-delivery-grid>.gv-field:last-child { grid-column: 1/-1; } }

/* Invitation-ready screen follows the same compact group-flow composition. */
.gv-share-ready { max-width: 1180px; padding-top: 28px; }
.gv-share-ready > h1 { font-size: clamp(32px,4vw,46px); line-height: 1.1; margin: 18px 0 24px; }
.gv-ready-layout { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(240px,.8fr); gap: 24px; align-items: start; }
.gv-ready-name { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.gv-ready-name h2 { font-size: 25px; }
.gv-ready-name .gv-badge { background: #efffc5; }
.gv-ready-link,.gv-ready-policy { border: 1px solid #e5e5e7; border-radius: 5px; padding: 20px; background: #fff; }
.gv-ready-link { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.gv-ready-link .gv-field { margin: 0; }
.gv-ready-link .gv-actions { margin: 0; gap: 8px; }
.gv-ready-link > .gv-btn,.gv-ready-link > p { grid-column: 1/-1; }
.gv-ready-link > .gv-btn,.gv-ready-link .gv-actions > .gv-btn:first-child { background: #ff4b9b; border-color: #ff4b9b; }
.gv-ready-link > p { color: #666; font-size: 13px; }
.gv-ready-policy { margin: 20px 0 16px; }
.gv-ready-products { display: grid; gap: 12px; }
.gv-ready-products > div { display: flex; align-items: center; gap: 16px; }
.gv-ready-products .gv-line-art { width: 85px; height: 110px; }
.gv-ready-policy > p { font-size: 13px; color: #666; margin-top: 12px; }
.gv-ready-next { display: flex; gap: 10px; flex-wrap: wrap; }
.gv-ready-layout > .gv-invite-credit { padding: 22px; margin: 0; }
.gv-ready-layout > .gv-invite-credit h2 { font-size: 23px; }
.gv-ready-layout > .gv-invite-credit p { font-size: 13px; line-height: 1.6; }
@media(max-width:760px) {
  .gv-ready-layout { grid-template-columns: 1fr; }
  .gv-ready-link { grid-template-columns: 1fr; }
  .gv-ready-link .gv-actions > .gv-btn { flex: 1; }
  .gv-share-ready > h1 { font-size: 32px; }
}
@media(max-width:360px) { .gv-delivery-options>div,.gv-payment-options { grid-template-columns: 1fr; } }

.gv-mobile-cost { display: none; }
@media(max-width:760px) {
  .gv-mobile-cost { display: block; background: #f2f3ff; border-radius: 5px; padding: 14px 18px; }
  .gv-mobile-cost .gv-summary { margin: 0; font-size: 13px; }
  .gv-mobile-cost .gv-summary > div:last-child { border-top: 1px solid #d9dcf0; padding-top: 8px; font-size: 16px; }
  .gv-checkout-compact .gv-field { font-size: 14px; }
  .gv-checkout-compact .gv-field input,.gv-checkout-compact .gv-field select { font-size: 16px; min-height: 44px; }
  .gv-checkout-compact .gv-consent label { min-height: 44px; padding: 8px 0; }
}

.gv-receipt-header { margin: 28px 0 24px; }
.gv-payment-page .gv-receipt-header h1 { font-size: clamp(34px,4vw,46px); margin: 12px 0; }
.gv-receipt-header .gv-badge { background: #efffc5; }
.gv-payment-page.is-paid .gv-payment-status .gv-panel { background: #f2f3ff; }
.gv-payment-page.is-paid .gv-payment-reference { font-size: 14px; color: #171717; }
.gv-payment-order > .gv-panel { background: #fff0f6; padding: 18px; margin: 20px 0 0; }
.gv-payment-order > .gv-panel h3 { font-size: 18px; margin-bottom: 10px; }
.gv-payment-order > .gv-panel p { font-size: 13px; line-height: 1.6; }
.gv-fulfilment-path summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.gv-payment-page.is-pending .gv-payment-steps .is-current::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #214cff; margin-right: 6px; animation: gv-payment-pulse 1.4s ease-in-out infinite; }
@keyframes gv-payment-pulse { 50% { opacity: .3; } }
@media(prefers-reduced-motion:reduce) { .gv-payment-page.is-pending .gv-payment-steps .is-current::before { animation: none; } }

.gv-payment-page.is-paid { max-width: 1120px; }
.gv-payment-status .gv-panel > .gv-btn { background: #ff4b9b; border-color: #ff4b9b; }
.gv-payment-order .gv-line { grid-template-columns: 76px minmax(0,1fr); align-items: center; }
.gv-payment-order .gv-line-art { width: 76px; height: 100px; }
