.gcs-logo-img,
.hero-main-img {
    object-fit: contain;
}
body,
html {
    overflow-x: clip;
    margin: 0;
    scroll-behavior: smooth;
}
.gcs-card:hover,
.p-grid .card:hover {
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 4px 14px rgba(6, 8, 18, 0.2),
        0 18px 40px rgba(6, 8, 18, 0.22),
        0 36px 64px rgba(6, 8, 18, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.gcs-hamburger span,
.gcs-hamburger::before {
    top: 50%;
    left: 7px;
    transform: translateY(-50%);
}
.breadcrumbs,
.breadcrumbs-product,
.contact-badge,
.contact-method-badge,
.contact-method-label,
.contact-methods-heading,
.g-cat,
.g > ul > li h3,
.gcs-brand,
.gcs-nav a,
.hero-title,
.seo-header,
.seo-section h2,
.seo-section h3 {
    text-transform: uppercase;
}
#lb-overlay,
#pay-loader-overlay {
    position: fixed;
    inset: 0;
    display: none;
}
.gcs-rs,
.gcs-rs-fill,
.sr-only,
.swatch-footer {
    white-space: nowrap;
}
.reviews-track,
body,
html {
    scroll-behavior: smooth;
}
.cat-reset-n,
.chip-n,
.gallery-hero-counter,
.terms-num,
.terms-toc-num {
    font-variant-numeric: tabular-nums;
}
.cat-empty,
.gcs-t,
.section-head {
    grid-column: 1/-1;
}
.contact-method-icon svg,
.contact-method:hover .contact-method-arrow,
.gcs-c svg {
    fill: var(--yellow);
    fill: var(--yellow);
}
*,
.compare-btn,
.glossary-section,
.hiw-ico-wrap,
.home-reviews,
.sec-band,
.sitemap,
::after,
::before {
    box-sizing: border-box;
}
.g > ul > li,
.gcs-c,
.gcs-card,
.hero-product-wrapper,
.pp-buy-card,
.review-card,
.sec-band--2,
main {
    isolation: isolate;
}
html.a11y-contrast,
html.a11y-contrast .sec-band--2 {
    --bg-border: #5c5c5c;
    --text-muted: #ededed;
    --text-secondary: #e6e6e6;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.gcs-faq-container details,
.gcs-faq-container summary,
.hero-product-wrapper,
.hero-title,
body,
html,
main {
    position: relative;
}
:root {
    --yellow: #f4c95e;
    --yellow-rgb: 238, 187, 68;
    --text-on-gold: #160f00;
    --gray-1: #dadada;
    --bg-main: #0a0a0a;
    --bg-card: #141414;
    --bg-border: #222222;
    --w: #ffffff;
    --glass: blur(10px) saturate(150%);
    --si: 6, 8, 18;
    --shadow-xs:
        0 0.5px 1px rgba(6, 8, 18, 0.22), 0 2px 5px rgba(6, 8, 18, 0.12);
    --shadow-sm:
        0 0.5px 1px rgba(6, 8, 18, 0.25), 0 3px 8px rgba(6, 8, 18, 0.16),
        0 10px 22px rgba(6, 8, 18, 0.11);
    --shadow-md:
        0 0.5px 1px rgba(6, 8, 18, 0.28), 0 4px 12px rgba(6, 8, 18, 0.18),
        0 16px 36px rgba(6, 8, 18, 0.18), 0 36px 60px rgba(6, 8, 18, 0.11);
    --shadow-lg:
        0 0.5px 1px rgba(6, 8, 18, 0.3), 0 6px 18px rgba(6, 8, 18, 0.22),
        0 24px 52px rgba(6, 8, 18, 0.26), 0 52px 88px rgba(6, 8, 18, 0.18);
    --shadow-overlay:
        0 0.5px 1px rgba(6, 8, 18, 0.35), 0 8px 24px rgba(6, 8, 18, 0.28),
        0 32px 64px rgba(6, 8, 18, 0.38), 0 64px 120px rgba(6, 8, 18, 0.3);
    --edge: inset 0 1px 0 rgba(255, 255, 255, 0.07);
    --edge-strong: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    --glow-y-soft: 0 0 24px rgba(238, 187, 68, 0.16);
    --glow-y: 0 0 32px rgba(238, 187, 68, 0.24);
    --shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.25), 0 4px 12px rgba(6, 8, 18, 0.16),
        0 16px 32px rgba(6, 8, 18, 0.14);
    --fs-sm: 0.75rem;
    --fs-base: 0.875rem;
    --fs-md: 1rem;
    --fs-lg: 1.25rem;
    --fs-xl: 1.375rem;
    --fs-xxl: 1.625rem;
    --fs-2xl: clamp(1.5rem, 3vw, 2.25rem);
    --fs-3xl: clamp(1.75rem, 3.5vw, 2.5rem);
    --fs-hero: clamp(1.75rem, 8vw, 2.375rem);
    --fw-regular: 400;
    --fw-bold: 700;
    --font-sans:
        system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
    --yellow-2: #f8d27a;
    --yellow-deep: #ecb13c;
    --grad-gold: linear-gradient(
        180deg,
        #f3c25a 0%,
        var(--yellow) 52%,
        var(--yellow-deep) 100%
    );
    --star: var(--yellow);
    --success: #5ee88c;
    --success-solid: #166534;
    --warning: #ffbb52;
    --warning-text: #ffd089;
    --error: #ffb0b0;
    --text-muted: #cccccc;
    --text-secondary: #cccccc;
    --text-faint: #6b6b6b;
    --border-field: #969696;
    --bg-card-2: #0d0d0d;
    --band-wash: rgba(255, 255, 255, 0.066);
    --surface-2: #1a1a1a;
    --surface-2-card: #212121;
    --surface-2-card-2: #1c1c1c;
    --surface-2-border: #303030;
    --surface-2-muted: #d0d0d0;
    --surface-cur: var(--bg-main);
    --r-xs: 6px;
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-xl: 20px;
    --r-pill: 999px;
    --measure: 72ch;
    --lh-prose: 1.8;
    --container: 1200px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --pad-x: max(
        clamp(16px, 4vw, 24px),
        env(safe-area-inset-left),
        env(safe-area-inset-right)
    );
    --section-gap-y: var(--space-12);
    --band-pad-y: clamp(34px, 4.6vw, 52px);
    --pad-card: 24px;
}
:root,
body,
button,
h1,
h2,
h3,
h4,
h5,
h6,
input,
p,
select,
textarea {
    font-family: var(--font-sans);
    color: var(--w);
}
.cta-heading,
.g-h1,
.gcs-t,
.hero-title {
    font-family: var(--font-sans);
    letter-spacing: -0.015em;
}
html {
    width: 100%;
    background-color: var(--bg-main);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    scrollbar-width: thin;
    scrollbar-color: var(--yellow) var(--bg-main);
    scroll-padding-top: 132px;
}
::selection {
    background: var(--yellow);
    color: #000;
    background-color: var(--yellow);
    color: var(--w);
}
a {
    color: var(--yellow);
    text-underline-offset: 0.18em;
}
a:visited {
    color: inherit;
}
.cta-heading span,
.g-h1 span,
.gcs-h,
.gcs-nav a:hover,
.gcs-t span {
    color: var(--yellow);
}
.breadcrumbs,
.breadcrumbs-product,
.terms {
    color: var(--w);
    max-width: var(--container);
}
.label > label {
    display: none;
}
::-moz-selection {
    background-color: var(--yellow);
    color: var(--w);
}
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--bg-main);
}
::-webkit-scrollbar-thumb {
    background-color: var(--yellow);
    border-radius: 3px;
}
.gcs-faq-container details,
.seo-section {
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
}
::-webkit-scrollbar-thumb:hover {
    background-color: rgba(var(--yellow-rgb), 0.7);
}
.breadcrumbs,
.breadcrumbs-product {
    margin-top: 100px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    font-weight: var(--fw-regular);
    font-size: var(--fs-sm);
    letter-spacing: 0.05em;
    break-after: avoid;
    margin-bottom: 30px;
    width: fit-content;
}
.gcs-faq-container summary,
.swatch-name {
    font-size: var(--fs-md);
    font-weight: var(--fw-bold);
}
.breadcrumbs {
    align-self: flex-start;
    margin-left: max(calc((100% - var(--container)) / 2), var(--pad-x));
}
.breadcrumbs a,
.breadcrumbs a:visited,
.breadcrumbs-product a,
.breadcrumbs-product a:visited {
    color: var(--text-muted);
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.22);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition:
        color 0.15s,
        text-decoration-color 0.15s;
}
.cat-empty a,
.glossary-see a,
.shop-helper a,
.terms-content a,
abbr[title] {
    text-underline-offset: 2px;
}
.breadcrumbs a:focus-visible,
.breadcrumbs a:hover,
.breadcrumbs-product a:focus-visible,
.breadcrumbs-product a:hover {
    color: var(--yellow);
    text-decoration-color: currentColor;
}
.breadcrumbs [aria-hidden="true"],
.breadcrumbs-product [aria-hidden="true"] {
    color: var(--text-faint);
    letter-spacing: 0;
    font-size: 1.05em;
    line-height: 1;
    transform: translateY(-0.5px);
}
.breadcrumbs [aria-current="page"],
.breadcrumbs-product [aria-current="page"],
.buy-terms-link {
    color: var(--yellow);
    font-weight: var(--fw-bold);
    text-decoration: none;
}
.gcs-faq-container {
    max-width: var(--container);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px 0;
    margin: 0 auto;
    counter-reset: faq-counter;
    gap: 16px;
}
.gcs-faq-container .gcs-t,
.sitemap-title {
    margin: 0 0 10px;
}
.gcs-faq-container details {
    border-radius: 12px;
    width: 100%;
    overflow: hidden;
    counter-increment: faq-counter;
    transition:
        border-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
        box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
        transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.22),
        0 3px 8px rgba(6, 8, 18, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.gcs-faq-container details:hover {
    border-color: var(--yellow);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 6px 18px rgba(6, 8, 18, 0.22),
        0 24px 52px rgba(6, 8, 18, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        0 0 0 1px rgba(238, 187, 68, 0.1);
    transform: translateY(-3px) scale(1.005);
    z-index: 10;
}
.gcs-faq-container details[open] {
    border-color: var(--yellow);
    background: linear-gradient(160deg, var(--bg-card) 0, #080808 100%);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.35),
        0 8px 24px rgba(6, 8, 18, 0.26),
        0 30px 60px rgba(6, 8, 18, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.09),
        0 0 36px rgba(238, 187, 68, 0.08);
    transform: translateY(-3px) scale(1.008);
    z-index: 20;
}
.gcs-faq-container details::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--yellow);
    box-shadow: 0 -1px 8px rgba(238, 187, 68, 0.4);
    border-radius: 0 0 12px 12px;
    pointer-events: none;
    -webkit-clip-path: inset(0 50% 0 50%);
    clip-path: inset(0 50% 0 50%);
    transition:
        clip-path 0.4s cubic-bezier(0.25, 1, 0.2, 1),
        -webkit-clip-path 0.4s cubic-bezier(0.25, 1, 0.2, 1);
    z-index: 5;
}
.gcs-faq-container details:hover::after,
.gcs-faq-container details[open]::after {
    -webkit-clip-path: inset(0 0% 0 0%);
    clip-path: inset(0 0% 0 0%);
}
.gcs-faq-container summary {
    text-align: left;
    list-style: none;
    cursor: pointer;
    color: var(--w);
    display: flex;
    align-items: center;
    gap: 20px;
    outline: 0;
    z-index: 2;
    user-select: none;
}
#gcs-hero::before,
body::before {
    pointer-events: none;
    z-index: -1;
}
.gcs-faq-container summary::-webkit-details-marker {
    display: none;
}
.gcs-faq-container summary::before {
    content: counter(faq-counter, decimal-leading-zero);
    color: var(--yellow);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 2px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(var(--yellow-rgb), 0.05);
    border: 1px solid rgba(var(--yellow-rgb), 0.2);
    transition: 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.gcs-faq-container details:hover summary::before {
    background: rgba(var(--yellow-rgb), 0.15);
    transform: scale(1.05);
}
.gcs-faq-container details[open] summary::before {
    background: var(--yellow);
    color: var(--bg-main);
    box-shadow: 0 0 12px rgba(238, 187, 68, 0.32);
    transform: scale(1.1);
    border-color: var(--yellow);
}
.gcs-faq-container summary::after {
    content: "+";
    font-size: 2rem;
    font-weight: var(--fw-regular);
    color: var(--yellow);
    line-height: 1;
    flex-shrink: 0;
    margin-left: auto;
    opacity: 0.6;
    transition:
        transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55),
        color 0.3s,
        opacity 0.3s;
}
.gcs-faq-container details:hover summary::after {
    opacity: 1;
    transform: scale(1.1);
}
.gcs-faq-container details[open] summary::after {
    transform: rotate(135deg) scale(1.2);
    color: var(--w);
    opacity: 1;
}
.gcs-faq-container details > p {
    margin: 0 30px 24px 86px;
    padding: 20px 0 0;
    color: var(--gray-1);
    line-height: 1.8;
    font-size: var(--fs-base);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    position: relative;
    z-index: 2;
}
.gcs-faq-container details > p strong,
.gcs-pal-opt-price,
.hero-rating-text strong {
    color: var(--w);
    font-weight: var(--fw-bold);
}
.gcs-faq-container details > p a {
    color: var(--yellow);
    text-decoration: none;
    border-bottom: 1px solid rgba(var(--yellow-rgb), 0.35);
    transition: border-color 0.15s;
}
.gcs-faq-container details > p a:focus-visible,
.gcs-faq-container details > p a:hover {
    border-bottom-color: var(--yellow);
}
.swatch-name {
    color: var(--w);
}
.swatch-price {
    color: var(--w);
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    text-align: right;
}
.cta,
.g-desc,
.g-h1,
.gcs-card,
.gcs-pay-btn,
.gcs-t,
.hero-title,
.p-grid .card,
footer {
    text-align: center;
}
.hero-title {
    justify-content: center;
}
.hero-product-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
    width: 100%;
    max-width: var(--container);
}
.hero-gallery {
    display: flex;
    gap: 16px;
    flex-direction: column;
    z-index: 1;
    padding: 30px;
}
body > main,
main {
    flex-direction: column;
}
main {
    display: flex;
    align-items: center;
    overflow-x: clip;
    line-height: normal;
}
.hero-main-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    transition: 0.4s;
    border-radius: 12px;
    border: 1px solid var(--bg-border);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.28),
        0 6px 20px rgba(6, 8, 18, 0.2),
        0 24px 56px rgba(6, 8, 18, 0.26),
        0 52px 100px rgba(6, 8, 18, 0.18);
    display: block;
    margin-bottom: 0;
}
.hero-info,
body,
body > main {
    display: flex;
}
body {
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-wrap: break-word;
    align-items: center;
    flex-direction: column;
    font-kerning: normal;
}
body > main {
    width: 100%;
    align-items: center;
}
.hero-info {
    z-index: 1;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
}
.hero-title {
    color: var(--w);
    display: block;
    font-size: var(--fs-3xl);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    padding-bottom: 16px;
}
.hero-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 56px;
    height: 3px;
    border-radius: var(--r-pill);
    background: var(--grad-gold);
}
.hero-badges {
    margin-bottom: 30px;
    display: flex;
    gap: 10px;
    justify-content: center;
}
.security-note {
    font-size: var(--fs-sm);
    color: var(--w);
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
.seo-section,
label {
    color: var(--gray-1);
}
.payment-marks {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
#gcs-hero,
.gcs-card {
    position: relative;
    flex-direction: column;
    overflow: hidden;
}
.payment-marks img,
.payment-marks svg {
    height: 22px;
    width: auto;
    display: block;
    opacity: 0.92;
}
.seo-section {
    border-radius: 16px;
    width: 100%;
    max-width: var(--container);
    margin-top: 30px;
    margin-bottom: 30px;
    overflow: hidden;
    position: relative;
}
.seo-header {
    padding: 18px 36px;
    font-size: var(--fs-sm);
    letter-spacing: 2px;
    color: var(--yellow);
    border-bottom: 1px solid var(--bg-border);
    font-weight: var(--fw-bold);
}
.seo-section h2,
.seo-section h3 {
    color: var(--w);
    font-weight: var(--fw-bold);
    margin-top: 32px;
    margin-bottom: 12px;
    break-after: avoid;
    font-size: var(--fs-md);
    border-left: 2px solid var(--yellow);
    padding-left: 16px;
    letter-spacing: 0.06em;
}
.seo-section p,
.seo-section ul {
    margin-bottom: 18px;
}
.seo-section ul {
    padding-left: 0;
    list-style: none;
}
.seo-section li {
    margin-bottom: 10px;
    color: var(--gray-1);
    padding-left: 22px;
    position: relative;
    line-height: 1.7;
}
.seo-section li::before {
    content: "ÃÂ¢ÃÂÃ¢ÂÂ";
    position: absolute;
    left: 0;
    color: var(--yellow);
    font-weight: 700;
}
.gcs-p-grid {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    margin: 0 auto 30px;
    max-width: var(--container);
    width: 100%;
}
.gcs-card {
    background: var(--bg-card-2);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
    padding: 0;
    display: flex;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.2),
        0 2px 6px rgba(6, 8, 18, 0.1);
    height: 100%;
    width: 100%;
    text-decoration: none;
    color: inherit;
    align-items: stretch;
    text-align: left;
}
.shop-lead,
main > .cat-quick-answer,
main > h1.gcs-t {
    width: calc(100% - 2 * var(--pad-x));
}
.gcs-brand,
header {
    align-items: center;
    display: flex;
}
.shop-helper,
.shop-lead {
    text-align: center;
    color: var(--text-muted);
}
.gcs-card:hover {
    transform: translateY(-3px) scale(1.005);
    border-color: var(--yellow);
    --spot: 1;
}
ul[data-block-name="woocommerce/product-template"] {
    max-width: none;
}
.gcs-brand,
.gcs-nav a {
    font-weight: var(--fw-bold);
    letter-spacing: 0.5px;
    text-decoration: none;
}
#main-content:focus {
    outline: 0;
}
#shop {
    width: 100%;
    max-width: var(--container);
}
.shop-lead {
    margin: -0.35rem auto clamp(1.6rem, 4vw, 2.4rem);
    font-size: var(--fs-md);
    line-height: 1.6;
}
.gcs-nav a,
.shop-helper {
    font-size: var(--fs-base);
}
.shop-helper {
    margin: clamp(1.4rem, 4vw, 2rem) auto 0;
}
.shop-helper a {
    color: var(--yellow);
    font-weight: var(--fw-bold);
    text-decoration: underline;
}
header {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    max-width: var(--container);
    height: 70px;
    background: color-mix(in srgb, var(--bg-main), transparent 30%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid #ffffff14;
    border-radius: 50px;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 4px 16px rgba(6, 8, 18, 0.22),
        0 16px 40px rgba(6, 8, 18, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    justify-content: space-between;
    z-index: 9999;
    view-transition-name: gcs-site-header;
}
.gcs-brand {
    height: 100%;
    z-index: 1001;
    font-size: var(--fs-xxl);
    color: var(--w);
    line-height: 1;
    padding-left: 30px;
}
.gcs-brand span {
    color: var(--yellow);
    margin-left: 8px;
}
.gcs-logo-img {
    width: 50px;
    height: 50px;
    margin-right: 12px;
}
.gcs-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    padding-right: 30px;
}
.gcs-nav a {
    color: var(--gray-1);
    transition: color 0.3s;
}
.gcs-nav-toggle {
    display: none;
}
.gcs-hamburger {
    display: none;
    width: 44px;
    height: 44px;
    background: 0 0;
    border: 0;
    cursor: pointer;
    position: relative;
    z-index: 10002;
    padding: 0;
    margin-right: -6px;
    flex-shrink: 0;
}
#gcs-hero,
.g,
.p-grid {
    width: 100%;
}
.gcs-hamburger span,
.gcs-hamburger span::after,
.gcs-hamburger span::before,
.gcs-hamburger::before {
    display: block;
    height: 2px;
    background: var(--w);
    border-radius: 2px;
    position: absolute;
}
.gcs-hamburger::before {
    content: "";
    right: 7px;
    box-shadow:
        0 -9px 0 var(--w),
        0 9px 0 var(--w);
    transition:
        transform 0.3s,
        box-shadow 0.3s,
        opacity 0.3s,
        top 0.3s;
}
.b-prm,
.g-cat::before {
    background: var(--yellow);
}
.gcs-hamburger span {
    right: 7px;
    transition:
        transform 0.3s,
        opacity 0.3s;
}
.gcs-hamburger span::after,
.gcs-hamburger span::before {
    content: "";
    left: 0;
    right: 0;
    transition:
        transform 0.3s,
        top 0.3s,
        bottom 0.3s;
}
.gcs-hamburger span::before {
    top: -9px;
}
.gcs-hamburger span::after {
    top: 9px;
}
.g-h1 {
    font-weight: var(--fw-bold);
    color: var(--w);
    font-size: clamp(2.375rem, 6.6vw, 3.5rem);
    margin: 0 0 25px;
}
#gcs-hero {
    display: flex;
    align-items: center;
    min-height: min(750px, 100svh);
    align-content: center;
    gap: 15px;
    padding: 160px max(20px, 50% - 600px) 64px;
    perspective: 1200px;
    z-index: 999;
}
#gcs-hero::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 38%;
    transform: translate(-50%, -50%);
    width: min(1040px, 90%);
    height: 600px;
    background: radial-gradient(
        ellipse 48% 52% at 50% 50%,
        rgba(var(--yellow-rgb), 0.06) 0,
        rgba(var(--yellow-rgb), 0.022) 42%,
        transparent 72%
    );
}
body::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(var(--bg-border) 1px, transparent 1px),
        linear-gradient(90deg, var(--bg-border) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 calc(100% - 420px),
        transparent calc(100% - 220px)
    );
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 calc(100% - 420px),
        transparent calc(100% - 220px)
    );
    opacity: 0.6;
}
.contact-method--recommended,
.cta,
.g-cat,
.g-ico,
.g > ul > li,
.g > ul > li h3,
.g > ul > li p,
.gallery-stage,
.p-grid,
.reviews-nav-btn,
.reviews-track-wrapper {
    position: relative;
}
@keyframes gcsSlideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.b-prm,
.p-grid .card::after {
    transition: 0.3s;
    display: inline-block;
}
.b-prm,
.g-h1::before,
.g > ul > li h3,
.gcs-card::after,
.gcs-footer-heading,
.p-grid .card::after {
    font-weight: var(--fw-bold);
    text-transform: uppercase;
}
.g-desc {
    color: var(--gray-1);
    font-size: var(--fs-md);
    margin-bottom: 35px;
    max-width: 500px;
    line-height: 1.6;
}
.contact-section,
.cta,
.g,
.gcs-w,
.p-grid,
.product-compare,
.reviews-section,
.seo-section {
    max-width: var(--container);
}
.g-h1::before,
.g > ul > li h3::after,
.g > ul > li::after,
.g > ul > li::before,
.gcs-trust-strip::before,
.hiw-step::before {
    content: none;
}
.g-h1 span {
    background: linear-gradient(to right, #fff 30%, var(--yellow) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}
.b-prm {
    padding: 14px 30px;
    border-radius: 6px;
    text-decoration: none;
    font-size: var(--fs-base);
    box-shadow:
        0 0 0 1px rgba(238, 187, 68, 0.14),
        0 4px 18px rgba(238, 187, 68, 0.18),
        0 0 32px rgba(238, 187, 68, 0.1);
    cursor: pointer;
}
.cta,
.g,
.gcs-w,
.p-grid {
    list-style: none;
    padding: 0;
    margin-left: 0;
    display: grid;
}
.p-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    padding-bottom: 30px;
    margin-top: 0;
    z-index: 1000;
}
.g {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    gap: 25px;
    margin: var(--section-gap-y) auto 0;
    padding: 30px 0;
}
.g > ul,
.simple-buy-form {
    display: contents;
}
.g > ul > li {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    overflow: hidden;
    padding: 28px 26px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    background: linear-gradient(
        180deg,
        var(--bg-card) 0,
        var(--bg-card-2) 100%
    );
    box-shadow: var(--shadow-sm), var(--edge);
    transition:
        transform 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
        box-shadow 0.24s,
        border-color 0.24s;
}
.g > ul > li:hover,
.hiw-step:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--yellow-rgb), 0.42);
    box-shadow: var(--shadow-md), var(--glow-y-soft), var(--edge-strong);
}
.g-ico {
    z-index: 1;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: 0 0 20px;
    padding: 13px;
    border-radius: 15px;
    border: 1px solid color-mix(in srgb, var(--yellow), transparent 70%);
    background: color-mix(in srgb, var(--yellow), transparent 88%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition:
        background 0.24s,
        border-color 0.24s;
}
.g > ul > li:hover .g-ico {
    background: color-mix(in srgb, var(--yellow), transparent 82%);
    border-color: color-mix(in srgb, var(--yellow), transparent 55%);
}
.g > ul > li h3 {
    z-index: 1;
    color: var(--w);
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    margin: 0 0 12px;
    padding-bottom: 0;
}
.g > ul > li p {
    z-index: 1;
    color: var(--gray-1);
    font-size: var(--fs-base);
    line-height: 1.6;
    margin: 0;
    max-width: 34ch;
}
.g-cat {
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 10px;
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.16em;
    color: var(--text-muted);
}
.g-cat::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    opacity: 0.7;
    transition: opacity 0.24s;
}
.g > ul > li:hover .g-cat::before,
.g > ul > li:hover .gi .tell {
    opacity: 1;
}
.g .gi {
    width: 100%;
    height: 100%;
    display: block;
    color: var(--yellow);
    transition: color 0.5s;
}
.g > ul > li:hover .gi {
    color: var(--yellow-2);
}
.g .gi .tell {
    opacity: 0.5;
    transition: opacity 0.5s;
}
.gcs-card img {
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    flex-shrink: 0;
    object-fit: cover;
    filter: saturate(0.9) brightness(0.94);
    -webkit-mask: linear-gradient(to bottom, #000 85%, transparent);
    mask: linear-gradient(to bottom, #000 85%, transparent);
}
.contact-section {
    width: 100%;
    margin: 0 auto 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
}
.contact-header,
.contact-methods {
    flex-direction: column;
    padding: clamp(8px, 2vw, 20px) 0;
}
.contact-header {
    padding: 60px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-header h1 {
    font-size: var(--fs-3xl);
    font-weight: var(--fw-bold);
    color: var(--w);
    margin: 0;
    line-height: 1.15;
}
.contact-header p {
    font-weight: var(--fw-regular);
    font-size: var(--fs-base);
    color: var(--gray-1);
    line-height: 1.65;
    margin: 0;
    max-width: 380px;
}
.cat-seealso,
.category-controls,
.category-intro,
.footer-inner,
main > .cat-quick-answer,
main > h1.gcs-t {
    max-width: var(--container);
}
.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(238, 187, 68, 0.07);
    border: 1px solid rgba(238, 187, 68, 0.2);
    border-radius: 6px;
    padding: 5px 12px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 0.1em;
    color: var(--yellow);
    width: fit-content;
}
.contact-badge::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--yellow);
    animation: 2s infinite contact-blink;
}
.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 60px 0;
    font-style: normal;
}
.contact-methods-list {
    display: contents;
    font-style: normal;
}
.contact-methods-heading {
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 2px;
    color: var(--gray-1);
    margin: 0 0 8px;
}
.contact-method-desc {
    font-size: var(--fs-sm);
    font-weight: var(--fw-regular);
    color: var(--gray-1);
    margin-top: 3px;
}
.contact-stats {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    grid-auto-flow: column;
    column-gap: 32px;
    row-gap: 3px;
}
.contact-stat-value {
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    color: var(--yellow);
    line-height: 1;
}
.contact-stat-label {
    font-size: var(--fs-sm);
    color: var(--gray-1);
    font-weight: var(--fw-regular);
}
.contact-topics {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.contact-topics li {
    font-size: var(--fs-base);
    color: var(--gray-1);
    padding-left: 20px;
    position: relative;
}
.contact-topics li::before {
    content: "ÃÂ¢ÃÂÃ¢ÂÂ";
    position: absolute;
    left: 0;
    color: var(--yellow);
    font-weight: var(--fw-bold);
    font-size: var(--fs-sm);
}
.contact-method-badge {
    position: absolute;
    right: 14px;
    background: var(--yellow);
    color: #000;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    border-radius: 4px;
}
.contact-method {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 18px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 12px;
    text-decoration: none;
    transition:
        transform 0.3s,
        border-color 0.3s,
        box-shadow 0.3s;
}
.contact-method--recommended,
.contact-method:hover,
.gallery-thumbnail.active,
.gcs-c:hover {
    border-color: var(--yellow);
}
.contact-method:hover {
    background: var(--bg-card);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.28),
        0 4px 14px rgba(6, 8, 18, 0.18),
        0 16px 36px rgba(6, 8, 18, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.contact-method-icon {
    border-radius: 10px;
    background: rgba(238, 187, 68, 0.08);
    border: 1px solid rgba(238, 187, 68, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-method-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.card-features,
.card-rating {
    gap: 5px;
    gap: 6px;
    display: flex;
}
.contact-method-label {
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 0.1em;
    color: var(--gray-1);
}
.contact-method-value,
.da-ladder-name,
.related-tool-title {
    font-size: var(--fs-base);
    font-weight: var(--fw-bold);
    color: var(--w);
}
.contact-method-arrow {
    width: 16px;
    height: 16px;
    fill: var(--gray-1);
    transition:
        fill 0.2s,
        transform 0.2s;
    flex-shrink: 0;
}
.category-intro,
footer {
    width: 100%;
    position: relative;
}
.contact-method:hover .contact-method-arrow {
    transform: translateX(3px);
}
@keyframes contact-blink {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.3;
    }
}
@media (max-width: 900px) {
    .contact-section,
    .cta {
        grid-template-columns: minmax(0, 1fr);
    }
    .contact-header,
    .contact-method,
    .contact-methods,
    .contact-topics,
    .contact-topics li {
        min-width: 0;
    }
    .contact-method-value {
        overflow-wrap: anywhere;
    }
    .contact-header,
    .contact-methods {
        padding: 20px 0 0;
    }
    .cta-left {
        text-align: center;
        align-items: center;
    }
    .cta-shop-btn {
        align-self: center;
    }
}
.card-status-badge,
.card-top-badge {
    position: absolute;
    top: 10px;
    z-index: 2;
    font-size: 0.625rem;
    letter-spacing: 0.04em;
    padding: 3px 9px;
    text-transform: uppercase;
    font-weight: var(--fw-bold);
}
.cat-seealso,
.category-intro,
.cta-left,
footer,
main > h1.gcs-t {
    text-align: left;
}
a.gcs-card {
    padding: 0;
    position: relative;
}
.card-status-badge {
    right: 10px;
    color: var(--warning-text);
    background: rgba(0, 0, 0, 0.7);
    border: 1px solid var(--warning-text);
    border-radius: var(--r-pill);
}
.card-top-badge {
    left: 10px;
    color: #160f00;
    background: var(--grad-gold);
    border-radius: var(--r-pill);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.cta,
.gcs-w {
    padding: 30px 0;
}
.gcs-card::after {
    content: attr(data-cta, "GET NOW ÃÂ¢Ã¢ÂÂ Ã¢ÂÂ");
    background: var(--bg-card);
    color: var(--yellow);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 2.5px;
    border-top: 1px solid var(--bg-border);
}
.category-intro::after,
.category-intro::before {
    content: "";
    position: absolute;
    pointer-events: none;
}
.gcs-card:hover::after {
    background: var(--yellow);
    color: #000;
    border-color: var(--yellow);
}
.gcs-tit {
    color: var(--w);
    font-weight: var(--fw-bold);
    font-size: var(--fs-base);
}
.card-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-grow: 1;
}
.card-rating-score {
    color: var(--gray-1);
    font-size: 0.75rem;
    font-weight: 600;
}
.card-rating-count,
.ccpf,
.compare-reviews {
    color: var(--text-secondary);
}
.card-features {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.card-feat-tag {
    font-weight: 700;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    text-transform: uppercase;
}
.gcs-price-qual {
    font-size: var(--fs-sm);
    font-weight: var(--fw-regular);
    letter-spacing: 0.5px;
    color: var(--gray-1);
    text-transform: none;
}
.ccpf,
.compare-badge-now,
.compare-col-cat,
.compare-heading,
.gcs-footer-heading,
.new-swatch .swatch-name,
.seo-header,
.seo-section h2 {
    text-transform: uppercase;
}
.gcs-card > .gcs-price {
    color: var(--w);
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
}
.cta {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin: 30px 0;
    width: 100%;
}
.cta-desc,
.cta-heading {
    margin: 0;
    font-weight: var(--fw-bold);
}
.cta-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.cta-heading {
    font-size: var(--fs-2xl);
    color: var(--w);
    line-height: 1.15;
}
.cta-desc,
main > .cat-quick-answer {
    line-height: 1.65;
    color: var(--gray-1);
}
.cta-desc {
    font-size: var(--fs-base);
}
.cta-shop-btn {
    align-self: flex-start;
    margin-top: 4px;
}
.category-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 24px 0 20px;
    padding: 16px 18px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-xs), var(--edge);
}
.gcs-w {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 0 auto;
    color: var(--gray-1);
    line-height: 1.6;
}
.gcs-t {
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: var(--fw-bold);
    color: var(--w);
    margin: 0 0 30px;
    letter-spacing: -1px;
}
main > h1.gcs-t {
    margin-inline: auto;
}
main > .cat-quick-answer {
    margin: -18px auto clamp(1.6rem, 4vw, 2.4rem);
    font-size: var(--fs-md);
    text-align: left;
    text-wrap: pretty;
}
.cat-seealso,
.footer-trust b,
.gcs-c p,
.new-swatch .swatch-name,
footer {
    font-size: var(--fs-base);
}
.category-intro {
    margin: 0 auto var(--space-8);
    overflow: hidden;
    padding: clamp(22px, 2.6vw, 36px) clamp(20px, 3vw, 38px);
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 48%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-md), var(--edge);
    transition:
        border-color 0.4s,
        box-shadow 0.4s;
}
.category-intro::before {
    top: 0;
    left: 18%;
    right: 18%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0,
        rgba(var(--yellow-rgb), 0.7) 50%,
        transparent 100%
    );
    transition:
        left 0.5s,
        right 0.5s;
}
.category-intro::after {
    top: -80px;
    left: -60px;
    width: 260px;
    height: 260px;
    background: radial-gradient(
        circle,
        rgba(var(--yellow-rgb), 0.07) 0,
        transparent 68%
    );
    transition: transform 0.5s;
}
.category-intro:hover {
    border-color: rgba(var(--yellow-rgb), 0.28);
    box-shadow:
        var(--shadow-lg),
        var(--edge-strong),
        0 0 0 1px rgba(var(--yellow-rgb), 0.06);
}
.footer-trust,
.gcs-c h3 {
    border-bottom: 1px solid var(--bg-border);
}
.category-intro:hover::before {
    left: 5%;
    right: 5%;
}
.category-intro:hover::after {
    transform: scale(1.25);
}
.cat-seealso {
    width: calc(100% - 2 * var(--pad-x));
    margin: -6px auto clamp(1.4rem, 3.5vw, 2rem);
    color: var(--text-muted);
    line-height: 1.6;
}
.cat-seealso a,
.category-intro > p a,
.seo-body a {
    color: var(--yellow);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: color 0.15s;
}
.cat-helper-link,
.compare-col,
.error-helplinks a,
.footer-logo,
.footer-top,
.gcs-pay-btn,
.search-result,
.skip-link,
footer nav a {
    text-decoration: none;
}
.cat-seealso a:focus-visible,
.cat-seealso a:hover,
.category-intro > p a:focus-visible,
.category-intro > p a:hover,
.seo-body a:focus-visible,
.seo-body a:hover {
    color: var(--yellow-2);
}
.gcs-c {
    background: var(--bg-card);
    border-radius: 16px;
    border: 1px solid var(--bg-border);
}
.gcs-c svg {
    background: rgba(var(--yellow-rgb), 0.1);
    display: block;
}
.gcs-c p {
    color: var(--w);
    font-weight: 400;
    margin: 0;
}
.b-prm [data-usd],
.gcs-h,
.search-browse-list strong,
.search-page-opt-name {
    font-weight: var(--fw-bold);
}
footer {
    margin-top: 80px;
    padding: 0;
    color: var(--gray-1);
    background: #070707;
    contain-intrinsic-size: auto 540px;
}
footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.5),
        transparent
    );
    pointer-events: none;
}
.footer-inner {
    margin: 0 auto;
    padding: 0 var(--pad-x) 30px;
}
.footer-trust {
    list-style: none;
    margin: 0 0 40px;
    padding: 20px 4px 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px 28px;
}
.footer-trust li {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}
.footer-trust svg {
    flex: none;
    width: 22px;
    height: 22px;
    color: var(--yellow);
    filter: drop-shadow(0 0 10px rgba(var(--yellow-rgb), 0.28));
}
.footer-logo,
.footer-trust b {
    color: var(--w);
    font-weight: var(--fw-bold);
}
.footer-trust span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.footer-trust b {
    letter-spacing: -0.01em;
}
.footer-trust i {
    color: var(--text-muted);
    font-size: var(--fs-sm);
    font-style: normal;
    line-height: 1.45;
}
.footer-main {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 2.4fr);
    gap: 48px;
    align-items: start;
}
.footer-brand {
    max-width: 340px;
}
.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-size: 1.3rem;
    letter-spacing: 0.4px;
}
.footer-logo img {
    width: 40px;
    height: 40px;
    display: block;
}
.footer-a11y-count.is-on,
.footer-logo b,
.gcs-c .gcs-h,
.new-swatch.best-value .swatch-permonth {
    color: var(--yellow);
    font-weight: var(--fw-bold);
}
.footer-tagline {
    margin: 16px 0 20px;
    color: var(--gray-1);
    font-size: var(--fs-sm);
    line-height: 1.7;
    max-width: 34ch;
}
.footer-social {
    display: flex;
    gap: 10px;
    margin: 0 0 22px;
}
.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--r-sm);
    color: var(--gray-1);
    background: linear-gradient(
        180deg,
        #181613 0,
        var(--bg-card) 55%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    box-shadow: var(--edge);
    transition:
        color 0.18s,
        border-color 0.18s,
        transform 0.18s,
        box-shadow 0.18s;
}
.footer-social svg {
    width: 19px;
    height: 19px;
}
.footer-social a:focus-visible,
.footer-social a:hover {
    color: var(--yellow);
    border-color: rgba(var(--yellow-rgb), 0.5);
    transform: translateY(-2px);
    box-shadow: var(--glow-y-soft), var(--edge-strong);
}
.footer-pay,
.reviews-summary-score {
    display: flex;
    align-items: center;
    gap: 12px;
}
.footer-pay img,
.footer-pay svg {
    height: 24px;
    width: auto;
    padding: 5px 7px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 6px;
    box-sizing: content-box;
}
.footer-pay img {
    height: 30px;
    padding-top: 2px;
    padding-bottom: 2px;
}
.footer-cols {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 28px;
}
.gcs-footer-heading {
    position: relative;
    color: var(--w);
    font-size: 0.72rem;
    letter-spacing: 1.6px;
    margin: 0 0 18px;
    padding-bottom: 12px;
    font-weight: var(--fw-bold);
}
.gcs-footer-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: var(--grad-gold);
}
.footer-top,
.product-compare {
    border: 1px solid var(--bg-border);
}
footer nav {
    display: flex;
    flex-direction: column;
}
footer nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.glossary-dl dd:last-child,
.plain-lang p:last-child,
.sec-band > :last-child,
footer nav ul a,
main > :last-child {
    margin-bottom: 0;
}
footer nav a {
    width: fit-content;
    margin-bottom: 11px;
    color: var(--gray-1);
    font-size: var(--fs-sm);
    transition:
        color 0.18s,
        transform 0.18s;
}
footer nav a:focus-visible,
footer nav a:hover {
    color: var(--yellow);
}
footer nav a:hover {
    transform: translateX(2px);
}
.footer-link-more {
    margin-top: 4px;
    color: var(--yellow);
    font-weight: var(--fw-bold);
}
.footer-bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 24px;
    margin-top: 44px;
    padding-top: 22px;
    border-top: 1px solid var(--bg-border);
    font-size: var(--fs-sm);
    color: var(--gray-1);
}
.contact-a11y-keys-note,
.currency-menu li,
.footer-copy,
.footer-disclaimer,
.gcs-shop-menu li,
.glossary-jump-list li,
.seo-section h2,
.seo-section p {
    margin: 0;
}
.footer-disclaimer,
.gallery-thumbnail:hover {
    opacity: 0.85;
}
.footer-top {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    padding: 8px 14px;
    color: var(--gray-1);
    font-weight: var(--fw-bold);
    border-radius: var(--r-pill);
    transition:
        color 0.18s,
        border-color 0.18s,
        background 0.18s;
}
.gallery-hero-counter,
.gallery-hero-nav {
    position: absolute;
    z-index: 3;
    color: var(--w);
}
.footer-top svg {
    width: 15px;
    height: 15px;
}
.footer-top:focus-visible,
.footer-top:hover {
    color: var(--yellow);
    border-color: rgba(var(--yellow-rgb), 0.5);
    background: rgba(var(--yellow-rgb), 0.06);
}
@media (max-width: 980px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .footer-brand {
        max-width: none;
    }
    .footer-trust {
        grid-template-columns: 1fr 1fr;
        gap: 20px 24px;
    }
}
@media (max-width: 620px) {
    .footer-cols {
        grid-template-columns: 1fr 1fr;
        gap: 26px 16px;
    }
}
@media (max-width: 380px) {
    .footer-cols,
    .footer-trust {
        grid-template-columns: 1fr;
    }
}
.gcs-pay-btn svg {
    height: 18px;
    width: auto;
    display: block;
}
.gcs-pay-btn:hover svg {
    transform: scale(1.05);
    transition: transform 0.2s;
}
.b-prm:hover,
.gcs-pay-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.28),
        0 4px 12px rgba(6, 8, 18, 0.22),
        0 12px 28px rgba(6, 8, 18, 0.18);
    opacity: 0.88;
}
.gcs-pay-btn:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(6, 8, 18, 0.25);
}
.product-gallery-thumbnails {
    height: 40%;
    padding: 2px;
    display: flex;
    scrollbar-width: none;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
    overflow-y: visible;
}
.product-gallery-thumbnails::-webkit-scrollbar {
    display: none;
}
.product-gallery-thumbnails::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}
.gallery-thumbnail {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: 0.3s;
    opacity: 0.6;
}
#lb-overlay button,
.gallery-hero-nav {
    width: 42px;
    height: 42px;
    cursor: pointer;
}
.gallery-thumbnail:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}
.gallery-hero-nav {
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(var(--yellow-rgb), 0.35);
    border-radius: var(--r-pill);
    background: rgba(8, 10, 18, 0.6);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    line-height: 0;
    opacity: 0;
    transition:
        opacity 0.18s,
        background 0.15s,
        border-color 0.15s,
        color 0.15s,
        transform 0.1s;
}
.gallery-hero-nav svg {
    display: block;
    flex: none;
}
.gallery-stage:focus-within .gallery-hero-nav,
.gallery-stage:hover .gallery-hero-nav {
    opacity: 1;
}
.gallery-hero-prev {
    left: 12px;
}
.gallery-hero-next {
    right: 12px;
}
.gallery-hero-nav:hover {
    background: rgba(8, 10, 18, 0.82);
    border-color: var(--yellow);
    color: var(--yellow);
}
.gallery-hero-nav:active {
    transform: translateY(-50%) scale(0.94);
}
.gallery-hero-nav:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    opacity: 1;
}
.gallery-hero-counter[hidden],
.gallery-hero-nav[hidden],
.gallery-nav-btn[hidden],
.reviews-nav-btn[hidden] {
    display: none;
}
.gallery-hero-counter {
    bottom: 10px;
    right: 10px;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    background: rgba(8, 10, 18, 0.68);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    line-height: 1.3;
    pointer-events: none;
}
.gcs-pay-btn {
    display: flex;
    flex-direction: row;
    flex: 1 1 45%;
    min-width: 140px;
    width: 100%;
    padding: 36px 16px;
    border-radius: 8px;
    border: 2px solid #fff0;
    cursor: pointer;
    position: relative;
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    letter-spacing: 0.5px;
    transition: 0.3s;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.22),
        0 2px 8px rgba(6, 8, 18, 0.14);
    max-height: 6vh;
    margin-bottom: 15px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.b-prm:hover,
.gcs-pay-btn:hover {
    opacity: 0.7;
}
.gcs-pay-btn:disabled {
    filter: grayscale(1);
    transform: none;
    opacity: 0.6;
    cursor: not-allowed;
}
.hero-title {
    margin: 0 auto 12px;
}
@media (max-width: 1200px) {
    .breadcrumbs {
        margin-left: max(calc((100% - 900px) / 2), var(--pad-x));
    }
    #shop,
    .breadcrumbs-product,
    .category-controls,
    .category-intro,
    .contact-section,
    .cta,
    .footer-inner,
    .g,
    .gcs-faq-container,
    .gcs-p-grid,
    .gcs-trust-strip,
    .gcs-w,
    .glossary-section,
    .hero-product-wrapper,
    .home-reviews,
    .p-grid,
    .pp-head,
    .product-compare,
    .related-categories,
    .reviews-section,
    .seo-section,
    .terms,
    header {
        max-width: 900px;
        width: 100%;
    }
    .gcs-p-grid,
    .p-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .hero-product-wrapper {
        grid-template-columns: 1fr;
    }
    .cta a {
        font-size: var(--fs-sm);
    }
    .seo-section h2 {
        font-size: var(--fs-md);
    }
    #faq-title,
    .cta h3,
    .hero-title {
        font-size: var(--fs-2xl);
    }
    .gcs-w {
        grid-template-columns: none;
    }
}
@media (max-width: 1000px) {
    .breadcrumbs {
        margin-left: max(calc((100% - 700px) / 2), var(--pad-x));
    }
    #shop,
    .breadcrumbs-product,
    .category-controls,
    .category-intro,
    .contact-section,
    .cta,
    .footer-inner,
    .g,
    .gcs-faq-container,
    .gcs-p-grid,
    .gcs-trust-strip,
    .gcs-w,
    .glossary-section,
    .hero-product-wrapper,
    .home-reviews,
    .p-grid,
    .pp-head,
    .product-compare,
    .related-categories,
    .reviews-section,
    .seo-section,
    .terms,
    header {
        max-width: 700px;
        width: 100%;
    }
    .gcs-p-grid,
    .p-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .cta a {
        font-size: var(--fs-sm);
    }
    .seo-section h2 {
        font-size: var(--fs-md);
    }
    #faq-title,
    .cta h3,
    .hero-title {
        font-size: var(--fs-2xl);
    }
    .gcs-w {
        grid-template-columns: none;
    }
}
@media (max-width: 700px) {
    .gcs-nav,
    .gcs-nav a {
        box-sizing: border-box;
    }
    .product-gallery-thumbnails {
        height: auto;
        flex-wrap: nowrap;
    }
    .gcs-hamburger,
    .gcs-nav-brand {
        display: flex;
        align-items: center;
    }
    .hero-gallery {
        padding: 16px;
        gap: 8px;
    }
    .hero-main-img {
        aspect-ratio: 4/3;
        margin-bottom: 8px;
    }
    .gallery-thumbnail {
        width: 72px;
        height: 72px;
    }
    .gcs-brand {
        padding-left: 20px;
    }
    header {
        top: 10px;
        left: var(--pad-x);
        right: var(--pad-x);
        width: auto;
        transform: none;
        height: 60px;
        border-radius: 50px;
        max-width: calc(100vw - 2 * var(--pad-x));
    }
    .gcs-hamburger {
        justify-content: center;
        position: relative;
        z-index: 10002;
        margin-right: 20px;
    }
    .gcs-nav,
    .gcs-nav-scrim {
        position: fixed;
        opacity: 0;
        visibility: hidden;
    }
    .hero-info {
        padding: 24px 20px;
    }
    .g,
    .gcs-p-grid,
    .p-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gcs-card > .price {
        margin-left: 0;
        margin-right: 0;
        gap: 6px;
    }
    .gcs-nav {
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
        max-height: calc(100dvh - 12px);
        border-radius: 0 0 26px 26px;
        transform: translateY(-101%);
        transition:
            transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.3s,
            visibility 0.42s;
        background:
            radial-gradient(
                120% 60% at 50% -20%,
                rgba(var(--yellow-rgb), 0.06),
                transparent 58%
            ),
            linear-gradient(
                180deg,
                color-mix(in srgb, var(--bg-main), #fff 5%),
                var(--bg-main) 58%
            );
        border-bottom: 1px solid #ffffff14;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.06),
            0 24px 64px rgba(6, 8, 18, 0.55);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding: 14px 16px calc(22px + env(safe-area-inset-bottom));
        z-index: 10000;
        gap: 6px;
    }
    .gcs-nav-brand {
        gap: 10px;
        padding: 6px 10px 16px;
        margin-bottom: 8px;
        border-bottom: 1px solid #ffffff10;
        color: var(--w);
        text-decoration: none;
        font-size: 1.1875rem;
        font-weight: var(--fw-bold);
        letter-spacing: 0.4px;
    }
    .gcs-nav a:not(.gcs-nav-brand),
    .gcs-nav-cta {
        font-size: 1rem;
        letter-spacing: 0.2px;
        text-decoration: none;
        display: flex;
        font-weight: var(--fw-bold);
    }
    .gcs-nav-brand img {
        width: 34px;
        height: 34px;
        display: block;
    }
    .gcs-nav-brand b {
        color: var(--yellow);
        font-weight: var(--fw-bold);
    }
    .gcs-nav a:not(.gcs-nav-brand) {
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        min-height: 56px;
        padding: 8px 12px;
        text-align: left;
        color: var(--w);
        border: 1px solid transparent;
        border-radius: 14px;
        transition:
            background 0.18s,
            border-color 0.18s,
            color 0.18s,
            transform 0.12s;
    }
    .gcs-nav .gcs-nav-label {
        flex: 1;
    }
    .gcs-nav .gcs-nav-ico {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        padding: 10px;
        border-radius: 11px;
        color: var(--gray-1);
        background: linear-gradient(180deg, var(--bg-card-2), var(--bg-main));
        border: 1px solid var(--bg-border);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
        transition:
            color 0.18s,
            background 0.18s,
            border-color 0.18s;
    }
    .gcs-nav .gcs-nav-chev {
        flex-shrink: 0;
        color: var(--gray-1);
        opacity: 0.4;
        transition:
            color 0.18s,
            transform 0.18s,
            opacity 0.18s;
    }
    .gcs-nav a:not(.gcs-nav-brand):focus-visible,
    .gcs-nav a:not(.gcs-nav-brand):hover {
        background: rgba(238, 187, 68, 0.08);
        border-color: rgba(238, 187, 68, 0.22);
        color: var(--yellow);
        outline: 0;
    }
    .gcs-nav a:not(.gcs-nav-brand):focus-visible .gcs-nav-ico,
    .gcs-nav a:not(.gcs-nav-brand):hover .gcs-nav-ico {
        color: var(--yellow);
        background: rgba(var(--yellow-rgb), 0.12);
        border-color: rgba(var(--yellow-rgb), 0.4);
    }
    .gcs-nav a:not(.gcs-nav-brand):focus-visible .gcs-nav-chev,
    .gcs-nav a:not(.gcs-nav-brand):hover .gcs-nav-chev {
        color: var(--yellow);
        opacity: 1;
        transform: translateX(3px);
    }
    .gcs-nav a:not(.gcs-nav-brand):active {
        background: rgba(238, 187, 68, 0.14);
        border-color: rgba(238, 187, 68, 0.3);
        color: var(--yellow);
        transform: scale(0.99);
    }
    .gcs-nav a.gcs-nav-cta,
    .gcs-nav a.gcs-nav-cta:visited,
    .gcs-nav-cta {
        color: #1a1205;
    }
    .gcs-nav a[aria-current]:not(.gcs-nav-brand) {
        background: rgba(238, 187, 68, 0.15);
        border-color: rgba(238, 187, 68, 0.38);
    }
    .gcs-nav a[aria-current]:not(.gcs-nav-brand) .gcs-nav-ico {
        color: var(--yellow);
        background: rgba(var(--yellow-rgb), 0.12);
        border-color: rgba(var(--yellow-rgb), 0.4);
    }
    .gcs-nav-cta {
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin: 12px 2px 2px;
        min-height: 54px;
        padding: 12px 18px;
        border-radius: 14px;
        background: var(--grad-gold);
        box-shadow:
            0 6px 18px rgba(238, 187, 68, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.35);
        transition:
            transform 0.12s,
            box-shadow 0.18s,
            filter 0.18s;
    }
    .gcs-nav-cta svg {
        flex-shrink: 0;
    }
    .gcs-nav-cta:focus-visible,
    .gcs-nav-cta:hover {
        filter: brightness(1.05);
        box-shadow:
            0 8px 24px rgba(238, 187, 68, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.4);
        outline: 0;
    }
    .gcs-nav-cta:active {
        transform: scale(0.99);
    }
    .gcs-nav a.gcs-nav-cta:focus-visible,
    .gcs-nav a.gcs-nav-cta:hover {
        background: var(--grad-gold);
        color: #1a1205;
        border-color: transparent;
    }
    .gcs-nav a.gcs-nav-cta:active,
    .gcs-nav a.gcs-nav-cta:visited:active {
        background: linear-gradient(180deg, #1d1708, #14100a);
        color: var(--yellow);
        border-color: rgba(var(--yellow-rgb), 0.55);
        box-shadow:
            inset 0 0 0 1px rgba(var(--yellow-rgb), 0.18),
            0 6px 18px rgba(6, 8, 18, 0.45);
        filter: none;
        transform: scale(0.985);
    }
    .gcs-nav .currency-switcher {
        display: flex;
        align-items: center;
        justify-content: space-between;
        align-self: stretch;
        margin-top: 12px;
        padding: 16px 6px 2px;
        border-top: 1px solid #ffffff12;
    }
    .gcs-nav-cur-label {
        color: var(--gray-1);
        font-size: 0.875rem;
        font-weight: var(--fw-bold);
        letter-spacing: 0.3px;
    }
    .gcs-nav .currency-trigger {
        padding: 10px 16px;
    }
    .gcs-nav .currency-menu {
        left: auto;
        right: 0;
    }
    .gcs-nav-scrim {
        display: block;
        inset: 0;
        z-index: 9999;
        margin: 0;
        background: rgba(6, 8, 14, 0.9);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 0;
        transition:
            opacity 0.32s,
            visibility 0.32s;
        cursor: pointer;
    }
    #gcs-nav-toggle:checked ~ .gcs-nav {
        transform: translateY(0);
        visibility: visible;
        opacity: 1;
    }
    #gcs-nav-toggle:checked ~ .gcs-nav-scrim {
        opacity: 1;
        visibility: visible;
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger::before {
        box-shadow: none;
        transform: translateY(-50%) rotate(45deg);
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger::after {
        content: "";
        display: block;
        position: absolute;
        left: 7px;
        right: 7px;
        top: 50%;
        height: 2px;
        background: var(--w);
        border-radius: 2px;
        transform: translateY(-50%) rotate(-45deg);
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger span {
        background: 0 0;
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger span::before {
        top: 0;
        transform: rotate(45deg);
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger span::after {
        top: 0;
        transform: rotate(-45deg);
    }
}
.gcs-rating-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 0.85rem;
    color: var(--w);
}
.gcs-rs {
    position: relative;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}
.gcs-rs-track {
    color: #333;
    letter-spacing: 1px;
}
.gcs-rs-fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: var(--star);
    letter-spacing: 1px;
}
.gcs-rs--sm {
    font-size: 0.6875rem;
}
.gcs-rs--md {
    font-size: 0.95rem;
}
.gcs-rs--lg {
    font-size: 1.4rem;
}
.home-reviews-sub-stars {
    margin-right: 6px;
}
.swatch-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: var(--yellow);
    color: var(--bg-main);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
}
.gcs-plan-fieldset {
    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    width: 100%;
}
.new-swatches-layout {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
}
.new-swatch {
    flex: 1 1 calc(33.333% - 12px);
    min-width: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 28px 16px 0;
    gap: 2px;
    margin-bottom: 0;
    background: linear-gradient(
        180deg,
        #161513 0,
        var(--bg-card-2) 56%,
        #0a0a0a 100%
    );
    border: 1.5px solid var(--bg-border);
    border-radius: 14px;
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.045);
    position: relative;
    transition:
        transform 0.22s,
        border-color 0.22s,
        box-shadow 0.22s;
    min-height: 160px;
    cursor: pointer;
    max-height: unset;
    letter-spacing: normal;
    font-family: inherit;
    text-align: center;
}
.new-swatch .swatch-name {
    font-weight: var(--fw-regular);
    color: var(--gray-1);
    letter-spacing: 0.08em;
    margin-bottom: 6px;
    min-height: 2.6em;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.new-swatch .swatch-price {
    font-size: 1.875rem;
    font-weight: var(--fw-bold);
    color: var(--w);
    line-height: 1.1;
    margin-bottom: 4px;
}
.swatch-price-col {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.new-swatch .swatch-permonth {
    font-size: var(--fs-sm);
    font-weight: var(--fw-regular);
    color: var(--gray-1);
    line-height: 1.1;
    margin: 0 0 6px;
}
.new-swatch.best-value {
    border: 2px solid var(--yellow);
    background: linear-gradient(
        160deg,
        rgb(238 187 68 / 5%) 0,
        var(--bg-card) 65%
    );
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.22),
        0 4px 14px rgba(6, 8, 18, 0.16),
        0 0 36px rgba(238, 187, 68, 0.18),
        inset 0 1px 0 rgba(238, 187, 68, 0.1);
}
.new-swatch.best-value .swatch-price {
    color: var(--yellow);
    font-size: 2.125rem;
}
.new-swatch:hover {
    border-color: var(--yellow);
    transform: translateY(-3px);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.28),
        0 4px 14px rgba(6, 8, 18, 0.18),
        0 0 30px rgba(238, 187, 68, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.new-swatch:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(238, 187, 68, 0.1);
}
.swatch-footer {
    display: block;
    align-self: stretch;
    width: auto;
    margin: auto 0 0;
    padding: 12px 10px;
    border-radius: var(--r-sm);
    border: 1px solid rgba(var(--yellow-rgb), 0.34);
    background: rgba(var(--yellow-rgb), 0.05);
    font-size: 0.8125rem;
    font-weight: var(--fw-bold);
    letter-spacing: 1px;
    color: var(--yellow);
    text-align: center;
    transition:
        background 0.22s,
        color 0.22s,
        border-color 0.22s,
        box-shadow 0.22s,
        transform 0.22s;
}
.new-swatch:focus-visible .swatch-footer,
.new-swatch:hover .swatch-footer {
    background: var(--grad-gold);
    border-color: var(--yellow-deep);
    color: #000;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 4px 14px rgba(var(--yellow-rgb), 0.22);
}
.gcs-error-msg {
    color: var(--error);
    font-size: var(--fs-sm);
    margin: 6px 0 0;
    display: none;
}
.pay-loader-subtext,
.pay-loader-text {
    margin: 0;
    text-align: center;
}
.gcs-error-msg.visible,
.pp-buy .simple-buy-form,
html.a11y-plain .plain-lang {
    display: block;
}
#pay-loader-overlay {
    z-index: 9998;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}
#lb-overlay.lb-visible,
#pay-loader-overlay.active {
    display: flex;
}
.pay-loader-logo {
    width: 48px;
    height: 48px;
    opacity: 0.95;
}
.pay-loader-textwrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.pay-loader-text {
    color: var(--w);
    font-size: var(--fs-base);
    font-weight: 600;
    letter-spacing: 0.2px;
}
.pay-loader-subtext,
.status-badge-minimal {
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.seo-header,
.seo-section h2,
.status-badge-minimal {
    font-weight: var(--fw-bold);
}
.pay-spinner {
    width: 52px;
    height: 52px;
    border: 4px solid rgba(255, 255, 255, 0.15);
    border-top-color: var(--yellow);
    border-radius: 50%;
    animation: 0.8s linear infinite pay-spin;
}
@keyframes pay-spin {
    to {
        transform: rotate(360deg);
    }
}
#lb-overlay {
    z-index: 9999;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: opacity 0.25s;
    opacity: 0;
}
#lb-overlay.lb-open {
    opacity: 1;
}
#lb-overlay img {
    height: 600px;
    border-radius: 10px;
    box-shadow:
        0 2px 8px rgba(6, 8, 18, 0.3),
        0 12px 40px rgba(6, 8, 18, 0.42),
        0 40px 100px rgba(6, 8, 18, 0.5);
    transform: scale(0.92);
    transition: transform 0.25s;
    user-select: none;
    pointer-events: none;
}
#lb-overlay img.lb-open {
    transform: scale(1);
}
#lb-overlay button {
    position: absolute;
    top: 18px;
    right: 22px;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 50%;
    color: var(--w);
    font-size: var(--fs-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
body.lb-lock,
body.nav-open,
body.sheet-lock,
html.gcs-pal-open {
    overflow: hidden;
}
.lb-zoom-trigger {
    cursor: zoom-in;
}
.status-badge-minimal {
    width: max-content;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid rgba(238, 187, 68, 0.4);
    border-radius: 30px;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.swatch-badge.new-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--yellow);
    border: none;
    color: var(--bg-main);
    text-shadow: none;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.5625rem;
    letter-spacing: 0.8px;
    white-space: nowrap;
    box-shadow: 0 3px 12px rgba(238, 187, 68, 0.48);
    right: auto;
}
.swatch-badge.new-badge.savings-badge {
    background: #0e0e12;
    color: var(--yellow);
    border: 1px solid rgba(var(--yellow-rgb), 0.55);
    box-shadow: 0 2px 8px rgba(6, 8, 18, 0.4);
}
.seo-section {
    margin: var(--space-16) auto 30px;
    display: flex;
    flex-direction: column;
    gap: 0;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.22),
        0 4px 12px rgba(6, 8, 18, 0.15),
        0 16px 36px rgba(6, 8, 18, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.seo-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent 0,
        var(--yellow) 50%,
        transparent 100%
    );
    opacity: 0.3;
}
.seo-body {
    padding: 4px 36px 44px;
}
.seo-section .seo-plain {
    position: relative;
    margin: 20px 36px 8px;
    padding: 15px 20px 15px 22px;
    border: 1px solid color-mix(in srgb, var(--yellow), transparent 80%);
    border-radius: var(--r-md);
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--yellow), transparent 90%) 0,
        color-mix(in srgb, var(--yellow), transparent 97%) 62%
    );
    color: var(--gray-1);
    font-size: var(--fs-base);
    line-height: var(--lh-prose);
    overflow: hidden;
}
.seo-section .seo-plain::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--yellow), var(--yellow-2));
    box-shadow: 0 0 12px rgba(var(--yellow-rgb), 0.45);
}
.seo-header {
    font-size: var(--fs-sm);
    letter-spacing: 0.2em;
    color: var(--yellow);
    display: flex;
    align-items: center;
    gap: 12px;
}
.seo-header::before {
    content: "ÃÂ¢Ã¢ÂÂÃ¢ÂÂ ";
    font-size: 0.5rem;
    color: var(--yellow);
    flex-shrink: 0;
}
.compare-heading::after,
.seo-header::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, var(--bg-border), transparent);
}
.seo-section h2 {
    font-size: var(--fs-md);
    color: var(--w);
    margin-top: 32px;
    margin-bottom: 12px;
    padding-left: 16px;
    border-left: 2px solid var(--yellow);
    line-height: 1.35;
    letter-spacing: 0.06em;
}
.seo-section p {
    font-size: var(--fs-base);
    line-height: 1.9;
    color: var(--gray-1);
    margin-bottom: 18px;
}
.product-compare {
    background: var(--bg-card);
    border-radius: 16px;
    width: 100%;
    margin: 0 0 30px;
    overflow: hidden;
}
.compare-heading {
    font-size: 0.6875rem;
    letter-spacing: 2.5px;
    color: var(--yellow);
    border-bottom: 1px solid var(--bg-border);
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.compare-heading::before {
    content: "ÃÂ¢Ã¢ÂÂÃ¢ÂÂ ";
    font-size: 0.5rem;
    flex-shrink: 0;
}
.compare-cols {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 22px;
}
.compare-col {
    background: linear-gradient(180deg, #171717 0, #131313 58%, #0f0f0f 100%);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: inherit;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    transition:
        transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
        border-color 0.22s,
        box-shadow 0.22s;
}
.compare-col--current {
    border-color: rgba(var(--yellow-rgb), 0.42);
    background:
        radial-gradient(
            120% 78% at 50% -12%,
            rgba(var(--yellow-rgb), 0.1),
            transparent 60%
        ),
        linear-gradient(180deg, #191713 0, #131313 55%, #0f0f0f 100%);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.3),
        inset 0 0 0 1px rgba(var(--yellow-rgb), 0.06);
}
.compare-col--link:focus-visible,
.compare-col--link:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--yellow-rgb), 0.45);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.38);
}
.compare-col-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}
.compare-col-icon {
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 13px;
    overflow: hidden;
    background: #0c0c0c;
    border: 1px solid var(--bg-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.compare-col-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s;
}
.compare-col-headtext {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.compare-badge-now {
    margin-left: auto;
    align-self: flex-start;
    flex-shrink: 0;
    background: var(--yellow);
    color: #000;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 4px 10px;
    border-radius: var(--r-pill);
}
.compare-col-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 3px;
}
.compare-col-cat {
    font-size: 0.6875rem;
    color: var(--text-muted);
    letter-spacing: 0.12em;
    margin: 0;
}
.compare-col-name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--w);
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.compare-why {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
    color: var(--yellow-2);
    background: rgba(var(--yellow-rgb), 0.1);
    border: 1px solid rgba(var(--yellow-rgb), 0.3);
    border-radius: var(--r-pill);
}
.compare-col-price {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--yellow);
    margin: 8px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bg-border);
    letter-spacing: -0.02em;
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.ccpf,
.compare-attr dt {
    color: var(--text-muted);
}
.ccpf {
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    flex-shrink: 0;
}
.compare-attr dt,
.compare-btn {
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.compare-attrs {
    margin: 0;
    padding: 2px 0 0;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.compare-attr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.compare-attr:last-child {
    border-bottom: none;
}
.compare-attr dt {
    font-size: 0.6875rem;
    margin: 0;
}
.compare-attr dd {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--w);
    margin: 0;
    text-align: right;
}
.compare-attr--yellow,
.compare-heading::before,
.compare-star,
.contact-a11y a:hover,
.da-best .da-fit-head,
.da-settings-note a,
.error-title span,
.g-h1 span,
.gcs-nav a[aria-current],
.gcs-nav a[aria-current] .gcs-nav-ico,
.gcs-rating-wrapper strong,
.gcs-shop-trigger:hover,
.gcs-t span,
.pp-safety-more a,
.pp-sub a,
.terms-toc-list a.active .terms-toc-num {
    color: var(--yellow);
}
.compare-reviews {
    color: var(--text-muted);
    font-size: 0.6875rem;
    font-weight: 400;
}
.compare-btn,
.compare-status {
    font-size: 0.75rem;
    font-weight: 700;
}
.compare-status {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    text-align: right;
}
.compare-status::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.compare-attr dd.compare-status--ok,
.compare-status--ok,
.gcs-pal-opt-stat.is-ok {
    color: var(--success);
}
.compare-status--ok::before {
    background: var(--success);
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5);
    animation: 2.2s ease-out infinite compare-pulse;
}
@keyframes compare-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.55);
    }
    70% {
        box-shadow: 0 0 0 5px rgba(74, 222, 128, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0);
    }
}
.compare-btn {
    display: block;
    width: 100%;
    padding: 10px 16px;
    text-align: center;
    border-radius: 8px;
    margin-top: 10px;
    transition:
        opacity 0.2s,
        box-shadow 0.2s;
}
.compare-btn--current {
    background: 0 0;
    border: 1px solid #2a2a2a;
    color: var(--text-muted);
    pointer-events: none;
}
.compare-btn--link {
    background: var(--grad-gold);
    border: 1px solid transparent;
    box-shadow:
        0 4px 12px rgba(238, 187, 68, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.compare-col--link:hover .compare-btn--link {
    filter: brightness(1.05);
    box-shadow:
        0 6px 16px rgba(238, 187, 68, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.reviews-section {
    margin: 0 auto 30px;
    padding: 0;
}
.reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
    gap: 12px;
}
.reviews-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--w);
    margin: 0 0 6px;
}
.reviews-avg-stars {
    color: var(--star);
    letter-spacing: 1px;
}
.reviews-nav {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.reviews-nav-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid var(--bg-border);
    background: var(--bg-card);
    color: var(--w);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition:
        background 0.15s,
        border-color 0.15s;
    flex-shrink: 0;
}
.reviews-nav-btn:hover {
    background: var(--bg-border);
    border-color: var(--w);
}
.reviews-nav-btn:disabled {
    opacity: 0.32;
    cursor: default;
}
.reviews-nav-btn:disabled:hover {
    background: var(--bg-card);
    border-color: var(--bg-border);
}
.reviews-track-wrapper::after,
.reviews-track-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    pointer-events: none;
    z-index: 1;
}
.reviews-track-wrapper::before {
    left: 0;
    background: linear-gradient(to right, var(--surface-cur), transparent);
}
.reviews-track-wrapper::after {
    right: 0;
    background: linear-gradient(to left, var(--surface-cur), transparent);
}
.reviews-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding: 8px 2px 14px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
    overscroll-behavior-x: contain;
    scroll-padding-left: 0;
}
.reviews-track:active {
    cursor: grabbing;
}
.reviews-track.is-grabbing {
    cursor: grabbing;
    user-select: none;
    scroll-snap-type: none;
}
.reviews-track::-webkit-scrollbar {
    display: none;
}
.gallery-swipe:focus-visible,
.reviews-track:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 3px;
    border-radius: var(--r-md);
}
.review-card {
    flex: 0 0 calc(33.333% - 11px);
    scroll-snap-align: start;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
@media (max-width: 900px) {
    .cta {
        gap: var(--space-6);
    }
    .cta-shop-btn {
        align-self: center;
    }
    .review-card {
        flex: 0 0 calc(50% - 8px);
    }
}
.review-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.review-flag {
    font-size: 1.1rem;
}
.review-text {
    color: var(--gray-1);
    font-size: 0.85rem;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.review-text::before {
    content: "\201C";
}
.review-text::after {
    content: "\201D";
}
.review-card-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid color-mix(in srgb, var(--bg-border), transparent 35%);
}
.review-avatar {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    font-weight: var(--fw-bold);
    color: #1a1407;
    background: var(--grad-gold);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 2px 6px rgba(227, 165, 43, 0.22);
    user-select: none;
}
.review-id {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.review-username {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--w);
}
.decision-aid-h,
.review-meta {
    display: flex;
    align-items: center;
    gap: 10px;
}
.review-verified {
    font-size: 0.72rem;
    color: var(--success);
    font-weight: 500;
}
.cat-count strong,
.error-code,
.error-title,
.gcs-trust-value,
.related-categories-list a,
.search-result-badge,
.search-result-title,
.search-result-title mark,
.skip-link {
    font-weight: var(--fw-bold);
}
.review-date {
    font-size: 0.72rem;
    color: var(--gray-1);
}
.related-categories {
    max-width: var(--container);
    width: 100%;
    margin: var(--section-gap-y) auto 0;
    padding: 0;
    text-align: center;
}
.related-categories .gcs-t {
    margin: 0 0 28px;
}
.related-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}
.related-categories-list li {
    margin: 0;
    flex: 0 1 calc(25% - 11px);
    min-width: 200px;
}
.related-categories-list a {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 50%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    color: var(--w);
    text-decoration: none;
    font-size: var(--fs-base);
    box-shadow: var(--shadow-xs), var(--edge);
    transition:
        border-color 0.24s,
        background 0.24s,
        transform 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
        box-shadow 0.24s;
}
.seo-body pre,
.seo-body table,
.seo-section pre,
.seo-section table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.related-categories-list a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 22%;
    right: 22%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.7),
        transparent
    );
    opacity: 0.3;
    pointer-events: none;
    transition:
        opacity 0.3s,
        left 0.3s,
        right 0.3s;
}
.related-categories-list a:focus-visible,
.related-categories-list a:hover {
    border-color: rgba(var(--yellow-rgb), 0.5);
    background:
        radial-gradient(
            135% 95% at 50% -12%,
            rgba(var(--yellow-rgb), 0.13),
            transparent 70%
        ),
        linear-gradient(
            180deg,
            #1a1815 0,
            var(--bg-card) 50%,
            var(--bg-card-2) 100%
        );
    transform: translateY(-3px);
    box-shadow: var(--shadow-md), var(--glow-y-soft), var(--edge-strong);
}
.related-categories-list a:focus-visible::before,
.related-categories-list a:hover::before {
    opacity: 1;
    left: 0;
    right: 0;
}
.related-categories-list .related-arrow {
    position: relative;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: var(--r-pill);
    background: rgba(var(--yellow-rgb), 0.12);
    color: var(--yellow);
    font-size: var(--fs-md);
    line-height: 1;
    transition:
        background 0.15s,
        color 0.15s,
        transform 0.15s,
        box-shadow 0.15s;
}
.related-categories-list a:focus-visible .related-arrow,
.related-categories-list a:hover .related-arrow {
    background: var(--grad-gold);
    color: #000;
    transform: translateX(3px);
    box-shadow: 0 0 14px rgba(var(--yellow-rgb), 0.35);
}
.skip-link {
    position: absolute;
    top: -100px;
    left: 8px;
    z-index: 9999;
    padding: 10px 16px;
    background: var(--yellow);
    color: #000;
    border-radius: 6px;
    transition: top 0.15s;
}
.skip-link:focus,
.skip-link:focus-visible {
    top: 8px;
    outline: 2px solid var(--w);
    outline-offset: 2px;
}
.gcs-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: var(--r-lg);
    border: 1px solid transparent;
    background:
        linear-gradient(
                180deg,
                #1a1815 0,
                var(--bg-card) 48%,
                var(--bg-card-2) 100%
            )
            padding-box,
        linear-gradient(
                180deg,
                rgba(var(--yellow-rgb), 0.45) 0,
                rgba(var(--yellow-rgb), 0.1) 32%,
                var(--bg-border) 70%
            )
            border-box;
    box-shadow:
        var(--shadow-md),
        var(--edge-strong),
        inset 0 0 34px rgba(var(--yellow-rgb), 0.045);
}
.gcs-trust-strip::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0,
        rgba(var(--yellow-rgb), 0.55) 24%,
        rgba(var(--yellow-rgb), 0.85) 50%,
        rgba(var(--yellow-rgb), 0.55) 76%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 1;
}
.gcs-trust-strip li {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: var(--r-sm);
    background: 0 0;
    transition: background 0.15s;
}
.gcs-trust-strip li + li::before {
    content: "";
    background: linear-gradient(
        180deg,
        transparent 0,
        rgba(var(--yellow-rgb), 0.2) 24%,
        rgba(var(--yellow-rgb), 0.2) 76%,
        transparent 100%
    );
}
.gcs-trust-strip li:hover {
    background: rgba(var(--yellow-rgb), 0.05);
}
.gcs-trust-ico {
    color: var(--text-muted);
    transition:
        color 0.15s,
        transform 0.15s;
}
.gcs-trust-strip li:hover .gcs-trust-ico {
    color: var(--yellow);
    transform: translateY(-1px);
}
.gcs-trust-value {
    font-family: var(--font-sans);
    color: var(--yellow);
    background: linear-gradient(
        180deg,
        #fff 8%,
        var(--yellow-2) 60%,
        var(--yellow) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
@media (max-width: 600px) {
    .new-swatch {
        flex: 1 1 100%;
    }
    .gcs-plan-fieldset {
        flex-direction: column;
    }
    .compare-cols {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 0;
    }
    .compare-col--current {
        order: -1;
    }
    .compare-col-price,
    .gcs-trust-value {
        font-size: 1.25rem;
    }
    .review-card {
        flex: 0 0 86%;
    }
    .gcs-trust-strip {
        grid-template-columns: repeat(2, 1fr);
        max-width: 420px;
        padding: 5px;
    }
    .gcs-trust-strip li {
        padding: 15px 10px;
    }
    .gcs-trust-strip li + li::before {
        content: none;
    }
    .gcs-trust-strip li:nth-child(2n)::before {
        content: "";
        position: absolute;
        left: 0;
        top: 16%;
        bottom: 16%;
        width: 1px;
        background: linear-gradient(
            180deg,
            transparent 0,
            rgba(var(--yellow-rgb), 0.22) 24%,
            rgba(var(--yellow-rgb), 0.22) 76%,
            transparent 100%
        );
    }
    .gcs-trust-strip li:nth-child(n + 3)::after {
        content: "";
        position: absolute;
        top: 0;
        left: 12%;
        right: 12%;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent 0,
            rgba(var(--yellow-rgb), 0.22) 18%,
            rgba(var(--yellow-rgb), 0.22) 82%,
            transparent 100%
        );
    }
    .gcs-trust-ico {
        width: 17px;
        height: 17px;
    }
    .gcs-trust-label {
        font-size: 0.6875rem;
    }
}
.search-results[hidden] {
    display: none !important;
    pointer-events: none;
}
.search-form {
    position: relative;
    display: flex;
    align-items: center;
}
.search-form .search-icon,
.search-form > svg {
    flex-shrink: 0;
    color: var(--gray-1);
    width: 18px !important;
    height: 18px !important;
    display: block;
    max-width: 18px;
    max-height: 18px;
}
.search-form--hero .search-icon,
.search-form--hero > svg {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px;
    max-height: 20px;
}
.search-form .search-input {
    flex: 1;
    min-width: 0;
    background: 0 0;
    border: 0;
    outline: 0;
    color: var(--w);
    font-family: inherit;
}
.search-form .search-input::placeholder {
    color: var(--gray-1);
}
.search-form .search-input::-webkit-search-cancel-button {
    appearance: none;
}
.search-form--header {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 340px;
    height: 40px;
    margin: 0 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--bg-border);
    border-radius: 999px;
    transition:
        border-color 0.15s,
        background 0.15s;
}
.search-form--header:focus-within {
    border-color: var(--yellow);
    background: rgba(0, 0, 0, 0.4);
}
.search-form--header:focus-within,
.search-form--hero:focus-within {
    box-shadow: 0 0 0 2px var(--yellow);
}
.search-form--header .search-icon {
    margin: 0 8px 0 14px;
}
.search-form--header .search-input {
    font-size: var(--fs-base);
    padding: 0 14px 0 0;
    height: 100%;
}
.search-kbd-hint {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
    pointer-events: none;
    font-family: inherit;
    font-size: 0.6875rem;
    line-height: 1;
    color: var(--gray-1);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--bg-border);
    border-radius: 5px;
    padding: 3px 7px;
}
@media (hover: hover) and (min-width: 901px) {
    .search-form--header .search-kbd-hint {
        display: block;
    }
    .search-form--header .search-input {
        padding-right: 30px;
    }
}
.search-form--header:focus-within .search-kbd-hint {
    display: none;
}
.search-form--hero {
    max-width: 560px;
    width: 100%;
    margin: 24px auto 0;
    height: 56px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 14px;
    transition: border-color 0.15s;
}
.search-form--hero:focus-within {
    border-color: var(--yellow);
}
.search-form--hero .search-icon {
    margin: 0 8px 0 20px;
}
.search-form--hero .search-input {
    font-size: var(--fs-md);
    padding: 0 20px 0 0;
    height: 100%;
}
.search-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 12px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 6px;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.32),
        0 6px 20px rgba(6, 8, 18, 0.28),
        0 24px 56px rgba(6, 8, 18, 0.36),
        0 48px 80px rgba(6, 8, 18, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    z-index: 100;
}
.search-result-sub,
.search-result-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    color: var(--w);
    transition: background 0.12s;
}
.search-result:focus-visible,
.search-result:hover,
.search-result[aria-selected="true"] {
    background: rgba(238, 187, 68, 0.08);
    outline: 0;
}
.search-result-badge {
    flex-shrink: 0;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 4px 8px;
    border-radius: 6px;
    background: #1f1f1f;
    color: var(--gray-1);
}
.search-result-badge--p {
    background: rgba(238, 187, 68, 0.15);
    color: var(--yellow);
}
.cross-sell-text,
.related-tool-body,
.search-result-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.search-result-title {
    color: var(--w);
    font-size: var(--fs-base);
}
.search-result-title mark {
    background: 0 0;
    color: var(--yellow);
}
.search-result-sub {
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.search-empty {
    padding: 18px 14px;
    text-align: center;
    color: var(--gray-1);
    font-size: var(--fs-base);
    margin: 0;
}
.compare-attr dd.compare-status--updating,
.compare-status--updating,
.pp-buy-live--upd,
.search-unavailable {
    color: var(--warning-text);
}
.error-page {
    margin: 0 auto;
    padding: 140px 0 60px;
    width: 100%;
}
.error-hero,
.error-popular,
.error-suggestion,
.error-tools {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--pad-x);
    box-sizing: border-box;
}
.error-hero {
    text-align: center;
    margin-bottom: 60px;
}
.error-code {
    font-size: clamp(5rem, 16vw, 10rem);
    line-height: 1;
    margin: 0;
    color: var(--yellow);
    letter-spacing: -4px;
    font-family: var(--font-sans);
}
.error-title {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    margin: 0 0 14px;
    color: var(--w);
    letter-spacing: -1px;
}
.error-desc {
    max-width: 560px;
    margin: 0 auto 8px;
    color: var(--gray-1);
    font-size: var(--fs-md);
    line-height: 1.55;
}
.error-helplinks {
    margin: 24px 0 0;
    font-size: var(--fs-base);
    color: var(--gray-1);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 14px;
}
.error-helplinks a {
    color: var(--w);
    border-bottom: 1px solid var(--bg-border);
    padding-bottom: 1px;
    transition:
        color 0.15s,
        border-color 0.15s;
}
.error-helplinks a:focus-visible,
.error-helplinks a:hover {
    color: var(--yellow);
    border-color: var(--yellow);
}
.error-popular .gcs-t {
    margin-bottom: 28px;
}
.cat-near-head,
.cat-trust {
    max-width: var(--container);
}
.chip-n:empty,
.error-suggestion[hidden],
.mbb-desktop,
.mobile-bottom-nav,
.mobile-buy-bar {
    display: none;
}
.cat-clear-filters,
.cat-reset-filters,
.currency-trigger,
.filter-chip,
.sort-dropdown {
    font-family: inherit;
    cursor: pointer;
}
@keyframes gcsPriceBump {
    0%,
    100% {
        transform: scale(1);
    }
    32% {
        transform: scale(1.16);
    }
}
.mobile-buy-bar-value.mbb-bumped,
.psc-price.mbb-bumped {
    animation: 0.34s cubic-bezier(0.22, 0.68, 0.32, 1.2) gcsPriceBump;
    transform-origin: center;
}
.cat-count {
    order: 0;
    flex-shrink: 0;
    margin-right: auto;
    color: var(--gray-1);
    font-size: var(--fs-base);
}
.cat-filter-label,
.cat-helper,
.filter-chip {
    font-size: var(--fs-sm);
}
.cat-count strong {
    color: var(--w);
    margin-right: 4px;
}
.category-controls-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 0 0 100%;
    order: 2;
    min-width: 0;
    padding-top: 14px;
    border-top: 1px solid var(--bg-border);
}
.cat-filter-label,
.cat-reset-filters {
    gap: 6px;
    display: inline-flex;
    font-weight: var(--fw-bold);
}
.cat-filter-label {
    align-items: center;
    margin-right: 6px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cat-filter-label svg {
    color: var(--yellow);
    opacity: 0.85;
}
.cat-helper {
    flex: 0 0 100%;
    order: 3;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}
.cat-helper-link {
    color: var(--yellow);
    font-weight: var(--fw-bold);
    white-space: nowrap;
}
.cat-helper-link:focus-visible,
.cat-helper-link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cat-helper-link:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
    border-radius: var(--r-xs);
}
.cat-helper-sep {
    margin: 0 8px;
    color: var(--bg-border);
}
.filter-chip {
    background: var(--bg-main);
    border: 1px solid var(--bg-border);
    border-radius: 999px;
    padding: 6px 14px;
    color: var(--gray-1);
    font-weight: var(--fw-bold);
    transition:
        border-color 0.15s,
        color 0.15s,
        background 0.15s;
    letter-spacing: 0.3px;
}
.filter-chip:hover {
    border-color: var(--yellow);
    color: var(--w);
    background: rgba(var(--yellow-rgb), 0.08);
}
.filter-chip.active,
.filter-chip[aria-pressed="true"] {
    background: rgba(238, 187, 68, 0.18);
    border-color: var(--yellow);
    color: var(--yellow);
}
.chip-n {
    margin-left: 7px;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--text-muted);
    font-size: 0.78em;
    font-weight: var(--fw-bold);
}
.cat-empty,
.cat-reset-filters {
    border: 1px solid var(--bg-border);
}
.filter-chip.active .chip-n,
.filter-chip[aria-pressed="true"] .chip-n {
    background: rgba(var(--yellow-rgb), 0.22);
    color: var(--yellow);
}
.filter-chip.is-zero {
    opacity: 0.55;
}
.filter-chip.is-zero .chip-n {
    background: rgba(255, 123, 123, 0.16);
    color: var(--error);
}
.cat-reset-filters {
    margin-left: auto;
    background: 0 0;
    border-radius: 999px;
    min-height: 44px;
    padding: 6px 14px;
    color: var(--gray-1);
    font-size: var(--fs-sm);
    align-items: center;
}
.cat-reset-filters:focus-visible,
.cat-reset-filters:hover {
    border-color: var(--yellow);
    color: var(--yellow);
}
.cat-reset-filters:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.cat-reset-n {
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(var(--yellow-rgb), 0.18);
    color: var(--yellow);
    font-size: 0.82em;
}
.cat-near-head {
    margin: 0 auto 14px;
    padding: 12px 16px;
    background: rgba(var(--yellow-rgb), 0.07);
    border: 1px solid rgba(var(--yellow-rgb), 0.28);
    border-radius: var(--r-md);
    color: var(--gray-1);
    font-size: var(--fs-sm);
    line-height: 1.55;
}
#gcs-shop > li.gcs-near-match {
    opacity: 0.92;
}
#gcs-shop > li.gcs-near-match .gcs-card {
    border-style: dashed;
}
.category-controls-sort {
    flex-shrink: 0;
    order: 1;
    position: relative;
}
.sort-dropdown {
    background-color: var(--bg-main);
    border: 1px solid var(--border-field);
    border-radius: 8px;
    padding: 8px 36px 8px 14px;
    color: var(--w);
    font-size: var(--fs-base);
    appearance: none;
    -webkit-appearance: none;
    background-image: url(../images/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px;
}
.cat-empty,
.cat-no-results {
    color: var(--gray-1);
    text-align: center;
}
.cat-empty,
.cat-trust {
    background: var(--bg-card);
}
.sort-dropdown:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.cat-no-results {
    padding: 40px 0;
}
.cat-empty {
    margin: 0;
    padding: 44px 24px;
    font-size: var(--fs-base);
    line-height: 1.6;
    border-radius: var(--r-lg);
}
.cat-trust,
.currency-trigger {
    border: 1px solid var(--bg-border);
}
.cat-empty a,
.terms-content a {
    color: var(--yellow);
    text-decoration: underline;
}
.cat-trust {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: 12px 22px;
    width: 100%;
    margin: 0 auto 22px;
    padding: 16px 18px;
    border-radius: var(--r-md);
    box-shadow: var(--shadow-xs), var(--edge);
}
.cat-trust li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    color: var(--gray-1);
}
.cat-trust svg {
    width: 18px;
    height: 18px;
    color: var(--yellow);
    flex-shrink: 0;
}
.cat-clear-filters {
    background: 0 0;
    border: 0;
    color: var(--yellow);
    font-weight: var(--fw-bold);
    text-decoration: underline;
    font-size: inherit;
    padding: 0;
    margin-left: 4px;
}
.terms-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    align-items: start;
}
.terms-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.terms-toc-list a {
    display: flex;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 6px;
    color: var(--gray-1);
    text-decoration: none;
    font-size: 0.8125rem;
    line-height: 1.35;
    border-left: 2px solid transparent;
    transition:
        color 0.12s,
        background 0.12s,
        border-color 0.12s;
}
.gcs-faq-container details p,
.glossary-dl dd {
    line-height: 1.7;
}
.terms-toc-list a:hover {
    color: var(--w);
    background: rgba(255, 255, 255, 0.03);
}
.terms-toc-list a.active {
    color: var(--yellow);
    background: rgba(238, 187, 68, 0.06);
    border-left-color: var(--yellow);
}
.terms-toc-num {
    color: var(--gray-1);
    font-weight: var(--fw-bold);
    flex-shrink: 0;
    font-size: 0.6875rem;
    padding-top: 1px;
}
.terms-toc-text {
    flex: 1;
    min-width: 0;
}
@media (max-width: 1000px) {
    .terms-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .terms-toc-details {
        background: var(--bg-card);
        border: 1px solid var(--bg-border);
        border-radius: 12px;
    }
    .terms-toc-details > summary {
        padding: 14px 18px;
        min-height: 48px;
        cursor: pointer;
        font-weight: var(--fw-bold);
        color: var(--w);
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0;
        text-transform: none;
        letter-spacing: normal;
        font-size: var(--fs-md);
    }
    .terms-toc-details summary::-webkit-details-marker {
        display: none;
    }
    .terms-toc-details summary::after {
        content: "ÃÂ¢Ã¢ÂÂÃÂ¾";
        color: var(--gray-1);
        transition: transform 0.2s;
    }
    .terms-toc-details[open] summary::after {
        transform: rotate(180deg);
    }
    .terms-toc-details .terms-toc-list {
        padding: 0 8px 12px;
    }
    .terms-toc-list a {
        padding: 10px 12px;
        min-height: 44px;
        align-items: center;
    }
}
.gcs-filtered-out,
.review-hidden,
html.a11y-essentials [data-distraction="offer"],
html.a11y-essentials [data-distraction="sensory"],
html.a11y-essentials [data-simplification="low"] {
    display: none !important;
}
.error-suggestion {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: rgba(238, 187, 68, 0.06);
    border: 1px solid rgba(238, 187, 68, 0.4);
    border-radius: 10px;
    color: var(--w);
    font-size: var(--fs-base);
    margin: 24px auto 32px;
    max-width: 560px;
    width: calc(100% - 32px);
}
.error-suggestion > svg {
    color: var(--yellow);
    flex-shrink: 0;
    width: 20px !important;
    height: 20px !important;
}
.error-suggestion a {
    color: var(--yellow);
    text-decoration: underline;
    font-weight: var(--fw-bold);
}
.currency-menu button,
.gcs-shop-menu a {
    padding: 10px 12px;
    color: var(--w);
    font-size: var(--fs-sm);
    transition:
        background 0.12s,
        color 0.12s;
}
.error-suggestion a:focus-visible,
.error-suggestion a:hover {
    color: var(--yellow-2);
}
@media (max-width: 768px) {
    .gcs-faq-container details:hover,
    .gcs-faq-container details[open] {
        transform: translateY(-2px) scale(1);
    }
    .gcs-faq-container details > p {
        margin: 0 20px 20px;
    }
    .gcs-faq-container summary {
        padding: 20px;
        gap: 15px;
    }
    .mobile-buy-bar-from,
    .mobile-buy-btn {
        font-weight: var(--fw-bold);
        text-transform: uppercase;
        white-space: nowrap;
    }
    .mobile-buy-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9998;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 11px 14px;
        padding-bottom: calc(11px + env(safe-area-inset-bottom));
        background: linear-gradient(
            180deg,
            #1a1815 0,
            var(--bg-card) 46%,
            var(--bg-card-2) 100%
        );
        border: 0;
        border-top: 1px solid rgba(var(--yellow-rgb), 0.26);
        box-shadow:
            0 -0.5px 1px rgba(6, 8, 18, 0.22),
            0 -4px 16px rgba(6, 8, 18, 0.26),
            0 -16px 48px rgba(6, 8, 18, 0.22),
            var(--edge-strong),
            inset 0 0 34px rgba(var(--yellow-rgb), 0.04);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        animation: 0.25s both gcsSlideUp;
    }
    .mobile-buy-bar::before {
        content: "";
        position: absolute;
        top: 0;
        left: 14px;
        right: 14px;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent 0,
            rgba(var(--yellow-rgb), 0.5) 22%,
            rgba(var(--yellow-rgb), 0.82) 50%,
            rgba(var(--yellow-rgb), 0.5) 78%,
            transparent 100%
        );
        pointer-events: none;
        z-index: 1;
    }
    .mbb-rating,
    .mbb-reviews,
    .mobile-buy-bar .mbb-thumb {
        display: none;
    }
    .mobile-buy-bar-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 3px;
        padding: 10px 14px;
        background: rgba(var(--yellow-rgb), 0.09);
        border: 2px solid rgba(var(--yellow-rgb), 0.65);
        border-radius: var(--r-md);
        text-align: left;
        overflow: hidden;
        cursor: default;
    }
    .mobile-buy-bar-change.mobile-buy-bar-info {
        cursor: pointer;
    }
    .mbb-card-text {
        display: contents;
    }
    .mobile-buy-bar-from {
        font-size: 0.6875rem;
        letter-spacing: 0.5px;
        color: var(--yellow);
        line-height: 1;
    }
    .mobile-buy-bar-price {
        display: flex;
        align-items: center;
        gap: 6px;
        line-height: 1;
        white-space: nowrap;
    }
    .mobile-buy-bar-value {
        font-family: var(--font-sans);
        font-size: 1.375rem;
        font-weight: var(--fw-bold);
        letter-spacing: -0.02em;
        color: var(--w);
        font-variant-numeric: tabular-nums;
    }
    .mobile-buy-bar-changecue {
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
        color: var(--yellow);
    }
    .mobile-buy-bar-change:focus-visible .mobile-buy-bar-changecue,
    .mobile-buy-bar-change:hover .mobile-buy-bar-changecue {
        color: var(--yellow-2);
    }
    .mobile-buy-bar-change:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 3px;
        border-radius: var(--r-md);
    }
    .mobile-buy-btn {
        flex: 0 0 auto;
        width: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 18px;
        background: var(--grad-gold);
        color: #000;
        border: 1px solid var(--yellow-deep);
        border-radius: var(--r-md);
        font-size: var(--fs-base);
        cursor: pointer;
        letter-spacing: 0.5px;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.35),
            0 2px 10px rgba(var(--yellow-rgb), 0.3),
            var(--glow-y-soft);
        transition:
            filter 0.15s,
            transform 0.05s,
            box-shadow 0.15s;
    }
    .mobile-buy-btn:focus-visible,
    .mobile-buy-btn:hover {
        filter: brightness(1.05);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.45),
            0 4px 16px rgba(var(--yellow-rgb), 0.4),
            var(--glow-y);
        outline: 0;
    }
    .mobile-buy-btn:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 3px;
    }
    .mobile-buy-btn:active {
        transform: scale(0.97);
    }
    body:has(.mobile-buy-bar) {
        padding-bottom: calc(6rem + env(safe-area-inset-bottom));
    }
    .mobile-bottom-nav {
        display: flex;
        gap: 2px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        background: rgba(10, 10, 10, 0.92);
        backdrop-filter: blur(12px) saturate(140%);
        -webkit-backdrop-filter: blur(12px) saturate(140%);
        border-top: 1px solid var(--bg-border);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
        box-shadow:
            0 -0.5px 1px rgba(6, 8, 18, 0.2),
            0 -4px 16px rgba(6, 8, 18, 0.24),
            0 -16px 48px rgba(6, 8, 18, 0.2);
    }
    .mobile-bottom-nav .mbn-item {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 8px 4px;
        background: 0 0;
        border: 0;
        color: var(--gray-1);
        font-family: inherit;
        font-size: 0.6875rem;
        font-weight: var(--fw-bold);
        line-height: 1;
        text-decoration: none;
        border-radius: 10px;
        cursor: pointer;
        transition:
            color 0.15s,
            background 0.15s,
            transform 0.12s;
        min-height: 48px;
    }
    .mobile-bottom-nav .mbn-item:active,
    .mobile-bottom-nav .mbn-item:focus-visible,
    .mobile-bottom-nav .mbn-item:hover {
        color: var(--yellow);
        background: rgba(var(--yellow-rgb), 0.08);
        outline: 0;
    }
    .mobile-bottom-nav .mbn-item:active {
        transform: scale(0.96);
    }
    .mobile-bottom-nav .mbn-item svg {
        display: block;
    }
    .search-input,
    .sort-dropdown {
        font-size: 1rem;
    }
}
.currency-trigger,
.gcs-shop-trigger {
    gap: 6px;
    font-size: var(--fs-base);
    letter-spacing: 0.5px;
    line-height: 1;
    text-transform: uppercase;
}
.currency-menu,
.gcs-shop-menu {
    margin: 0;
    z-index: 9999;
    list-style: none;
}
body:has(.mobile-buy-bar) .mobile-bottom-nav {
    display: none;
}
.currency-switcher,
.gcs-shop {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.currency-trigger {
    display: inline-flex;
    align-items: center;
    background: 0 0;
    border-radius: 999px;
    color: var(--gray-1);
    font-weight: var(--fw-bold);
    padding: 6px 12px;
    transition:
        color 0.15s,
        border-color 0.15s,
        background 0.15s;
}
.currency-trigger:focus-visible,
.currency-trigger:hover {
    color: var(--yellow);
    border-color: var(--yellow);
    background: rgba(238, 187, 68, 0.06);
}
.currency-trigger:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.currency-trigger .currency-chevron {
    transition: transform 0.15s;
    width: 10px !important;
    height: 10px !important;
    display: block;
    opacity: 0.7;
}
.currency-trigger[aria-expanded="true"] .currency-chevron,
.gcs-shop-trigger[aria-expanded="true"] .gcs-shop-chevron,
.pp-safety[open] > summary svg {
    transform: rotate(180deg);
}
.currency-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 260px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 12px;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 6px 20px rgba(6, 8, 18, 0.26),
        0 24px 56px rgba(6, 8, 18, 0.34),
        0 52px 88px rgba(6, 8, 18, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    padding: 6px;
}
.currency-menu button,
.gcs-shop-trigger {
    background: 0 0;
    font-family: inherit;
    font-weight: var(--fw-bold);
    cursor: pointer;
}
.currency-menu button {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 8px;
    text-align: left;
}
.currency-menu button:focus-visible,
.currency-menu button:hover {
    background: rgba(238, 187, 68, 0.08);
    color: var(--yellow);
    outline: 0;
}
.currency-menu button:focus-visible {
    box-shadow: inset 0 0 0 2px var(--yellow);
}
.currency-menu button[aria-selected="true"] {
    background: rgba(238, 187, 68, 0.14);
    color: var(--yellow);
}
.currency-menu .currency-symbol {
    flex-shrink: 0;
    width: 24px;
    color: var(--yellow);
    font-weight: var(--fw-bold);
    text-align: center;
}
.currency-menu .currency-name {
    color: var(--gray-1);
    font-weight: var(--fw-regular);
    font-size: 0.6875rem;
    margin-left: auto;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.currency-menu button[aria-selected="true"] .currency-name {
    color: var(--yellow-2);
}
.gcs-shop-mobile {
    display: none;
}
.gcs-shop-trigger {
    display: inline-flex;
    align-items: center;
    border: 0;
    padding: 0;
    color: var(--gray-1);
    transition: color 0.3s;
}
.gcs-shop-trigger:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 4px;
    border-radius: 4px;
}
.gcs-shop-chevron {
    width: 12px !important;
    height: 12px !important;
    display: block;
    opacity: 0.7;
    transition: transform 0.15s;
}
.gcs-shop-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 240px;
    max-width: calc(100vw - 32px);
    max-height: 70vh;
    overflow-y: auto;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: 12px;
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 6px 20px rgba(6, 8, 18, 0.26),
        0 24px 56px rgba(6, 8, 18, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    padding: 6px;
}
.gcs-shop-menu a {
    display: block;
    border-radius: 8px;
    text-decoration: none;
    font-weight: var(--fw-bold);
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}
.gcs-shop-menu a:focus-visible,
.gcs-shop-menu a:hover {
    background: rgba(238, 187, 68, 0.08);
    color: var(--yellow);
    outline: 0;
}
.gcs-shop-menu a:focus-visible {
    box-shadow: inset 0 0 0 2px var(--yellow);
}
.gcs-shop-all {
    color: var(--yellow) !important;
    border-bottom: 1px solid var(--bg-border);
    border-radius: 8px 8px 0 0;
}
.card-feat-tag,
.ccpf,
.compare-attr dt,
.compare-btn--current,
.compare-col-cat,
.compare-reviews,
.footer-a11y-count,
.gcs-shop-group,
.pp-safety-hint,
.reviews-control-label,
.search-page-empty {
    color: var(--text-muted);
}
.gcs-shop-group {
    padding: 12px 12px 4px;
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.b-prm:focus-visible,
.breadcrumbs a:focus-visible,
.breadcrumbs-product a:focus-visible,
.cat-clear-filters:focus-visible,
.compare-col--link:focus-visible,
.contact-method:focus-visible,
.filter-chip:focus-visible,
.gallery-thumbnail:focus-visible,
.gcs-brand:focus-visible,
.gcs-faq-container summary:focus-visible,
.gcs-nav a:focus-visible,
.gcs-pay-btn:focus-visible,
.mobile-buy-btn:focus-visible,
.new-swatch:focus-visible,
.reviews-nav-btn:focus-visible,
a.gcs-card:focus-visible,
footer a:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    border-radius: 6px;
}
@media (max-width: 768px) {
    .reviews-nav-btn {
        min-width: 44px;
        min-height: 44px;
    }
    .filter-chip {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }
    header {
        background: var(--bg-main);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .mobile-buy-bar {
        background: var(--bg-card);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .mobile-bottom-nav {
        background: #0a0a0a;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}
.currency-menu button,
.currency-trigger,
.filter-chip,
.hero-help-links a,
.reviews-nav-btn {
    min-height: 44px;
}
.seo-body img,
.seo-section img {
    max-width: 100%;
    height: auto;
}
.seo-body iframe,
.seo-section iframe {
    max-width: 100%;
}
.seo-body table,
.seo-section table {
    display: block;
    width: 100%;
}
.home-reviews {
    max-width: var(--container);
    width: 100%;
    margin: var(--section-gap-y) auto 0;
}
.home-reviews .gcs-t {
    margin: 0 0 22px;
}
.home-reviews-sub {
    text-align: center;
    color: var(--gray-1);
    font-weight: var(--fw-bold);
    margin: 0 0 32px;
}
.home-reviews-track {
    margin-top: 4px;
}
.home-reviews-track .reviews-track {
    padding: 8px 2px 14px;
}
.status-badge-minimal--updating {
    border-color: rgba(245, 166, 35, 0.5);
    color: var(--warning-text);
}
.status-badge-minimal--updating::before {
    content: "ÃÂ¢ÃÂ¸ÃÂ³";
    color: var(--warning);
}
.hero-help-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 10px 0 0;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
}
.hero-help-links a {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-pill);
    color: var(--gray-1);
    text-decoration: none;
    transition:
        color 0.2s,
        border-color 0.2s,
        background 0.2s;
}
.hero-help-links a:focus-visible,
.hero-help-links a:hover {
    color: var(--yellow);
    border-color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.06);
}
.mobile-bottom-nav .mbn-item[aria-current="page"] {
    color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.08);
}
.compare-status--updating::before {
    background: var(--warning);
    box-shadow: none;
    animation: none;
}
@media (min-width: 769px) {
    .mbb-trustrow,
    .mobile-buy-bar {
        display: flex;
        align-items: center;
    }
    .mobile-buy-bar {
        gap: var(--space-6);
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9998;
        padding: 12px max(24px, calc((100% - var(--container)) / 2));
        background: linear-gradient(
            180deg,
            #1a1815 0,
            var(--bg-card) 46%,
            var(--bg-card-2) 100%
        );
        border: 0;
        border-top: 1px solid rgba(var(--yellow-rgb), 0.26);
        box-shadow:
            0 -0.5px 1px rgba(6, 8, 18, 0.22),
            0 -6px 24px rgba(6, 8, 18, 0.28),
            0 -20px 60px rgba(6, 8, 18, 0.2),
            var(--edge-strong),
            inset 0 0 40px rgba(var(--yellow-rgb), 0.04);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        transform: translateY(110%);
        visibility: hidden;
        will-change: transform;
        animation: none;
        transition:
            transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
            visibility 0s linear 0.28s;
    }
    .mobile-buy-bar::before {
        content: "";
        position: absolute;
        top: 0;
        left: max(24px, calc((100% - var(--container)) / 2));
        right: max(24px, calc((100% - var(--container)) / 2));
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent 0,
            rgba(var(--yellow-rgb), 0.5) 22%,
            rgba(var(--yellow-rgb), 0.8) 50%,
            rgba(var(--yellow-rgb), 0.5) 78%,
            transparent 100%
        );
        pointer-events: none;
        z-index: 1;
    }
    .mobile-buy-bar.is-docked {
        transform: translateY(0);
        visibility: visible;
        transition:
            transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
            visibility;
    }
    body:has(.mobile-buy-bar.is-docked) {
        padding-bottom: calc(6rem + env(safe-area-inset-bottom));
    }
    .mobile-buy-bar .mbb-thumb {
        flex-shrink: 0;
        width: 46px;
        height: 46px;
        object-fit: cover;
        border-radius: var(--r-md);
        border: 1px solid rgba(var(--yellow-rgb), 0.22);
        box-shadow: var(--shadow-sm), var(--edge);
        background: var(--bg-card-2);
    }
    .mobile-buy-bar .mobile-buy-bar-info {
        flex: 0 0 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 3px;
        text-align: left;
        background: 0 0;
        border: none;
        padding: 0;
        border-radius: 0;
        overflow: hidden;
        cursor: default;
    }
    .mobile-buy-bar-change.mobile-buy-bar-info {
        cursor: pointer;
    }
    .mbb-desktop {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1;
        min-width: 0;
        gap: 5px;
    }
    .mbb-desktop-name {
        color: var(--w);
        font-size: var(--fs-base);
        font-weight: var(--fw-bold);
        letter-spacing: -0.01em;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 40ch;
    }
    .mbb-chip,
    .mobile-buy-bar .mobile-buy-bar-name {
        color: var(--gray-1);
        font-size: var(--fs-sm);
        white-space: nowrap;
    }
    .mbb-trustrow {
        gap: 16px;
        min-width: 0;
    }
    .mbb-chip {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-weight: var(--fw-bold);
        line-height: 1;
    }
    .mbb-chip svg {
        color: var(--yellow);
        flex-shrink: 0;
    }
    .mbb-chip--ok {
        color: var(--success);
    }
    .mbb-chip--upd {
        color: var(--warning-text);
    }
    .mbb-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        flex-shrink: 0;
        background: currentColor;
        box-shadow: 0 0 8px color-mix(in srgb, currentColor, transparent 35%);
    }
    .mobile-buy-bar .mbb-card-text {
        display: contents;
    }
    .mobile-buy-bar .mobile-buy-bar-name {
        font-weight: var(--fw-regular);
        text-transform: uppercase;
        letter-spacing: 0.6px;
        line-height: 1.25;
        max-width: 32ch;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mobile-buy-bar .mobile-buy-bar-price {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        line-height: 1.1;
        white-space: nowrap;
        width: auto;
        justify-content: flex-start;
    }
    .mobile-buy-bar .mobile-buy-bar-from {
        display: inline-flex;
        align-items: center;
        margin: 0;
        padding: 3px 9px;
        border-radius: var(--r-pill);
        background: rgba(var(--yellow-rgb), 0.12);
        border: 1px solid rgba(var(--yellow-rgb), 0.28);
        color: var(--warning-text);
        font-size: 0.6875rem;
        font-weight: var(--fw-bold);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        line-height: 1;
    }
    .mobile-buy-bar .mobile-buy-bar-value {
        font-family: var(--font-sans);
        font-size: var(--fs-xl);
        font-weight: var(--fw-bold);
        letter-spacing: -0.01em;
        color: var(--w);
        font-variant-numeric: tabular-nums;
    }
    .mobile-buy-bar .mobile-buy-bar-changecue {
        display: inline-flex;
        align-items: center;
        margin-left: 6px;
        color: var(--yellow);
        flex-shrink: 0;
        transition: color 0.15s;
    }
    .mobile-buy-bar-change:focus-visible .mobile-buy-bar-changecue,
    .mobile-buy-bar-change:hover .mobile-buy-bar-changecue {
        color: var(--yellow-2);
    }
    .mobile-buy-bar-change:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 3px;
        border-radius: var(--r-sm);
    }
    .mobile-buy-bar .mobile-buy-btn {
        flex: 0 0 auto;
        width: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 0 30px;
        background: var(--grad-gold);
        color: #000;
        border: 1px solid var(--yellow-deep);
        border-radius: var(--r-md);
        font-weight: var(--fw-bold);
        font-size: var(--fs-base);
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        white-space: nowrap;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.35),
            0 4px 16px rgba(var(--yellow-rgb), 0.3),
            var(--glow-y-soft);
        transition:
            filter 0.15s,
            transform 0.05s,
            box-shadow 0.15s;
    }
    .mobile-buy-bar .mobile-buy-btn:focus-visible,
    .mobile-buy-bar .mobile-buy-btn:hover {
        filter: brightness(1.05);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.45),
            0 6px 20px rgba(var(--yellow-rgb), 0.4),
            var(--glow-y);
    }
    .mobile-buy-bar .mobile-buy-btn:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 3px;
    }
    .mobile-buy-bar .mobile-buy-btn:active {
        transform: scale(0.98);
    }
}
.filter-chip,
.glossary-see a {
    display: inline-flex;
    align-items: center;
}
@media (prefers-reduced-motion: reduce) and (min-width: 769px) {
    .mobile-buy-bar {
        transition-delay: 0s !important;
    }
}
.gcs-error-msg {
    color: var(--error);
}
.reviews-nav-btn {
    min-width: 44px;
}
body:has(.mobile-buy-bar) {
    scroll-padding-bottom: 100px;
}
@media (max-width: 768px) {
    body:not(:has(.mobile-buy-bar)) {
        scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }
}
@media (forced-colors: active) {
    .b-prm,
    .currency-trigger,
    .filter-chip,
    .gcs-pay-btn,
    .mobile-buy-btn,
    .new-swatch,
    .reviews-nav-btn {
        border: 1px solid ButtonText;
    }
    [tabindex]:focus-visible,
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    summary:focus-visible {
        outline: Highlight solid 3px;
        outline-offset: 2px;
    }
    .a11y-toggle[aria-pressed="true"],
    .filter-chip[aria-pressed="true"],
    .plan-sheet-option[aria-pressed="true"] {
        forced-color-adjust: none;
        background: Highlight;
        color: HighlightText;
        border: 1px solid Highlight;
    }
    .a11y-toggle[aria-pressed="true"] .a11y-toggle-check {
        forced-color-adjust: none;
        background: HighlightText;
        color: Highlight;
        border-color: HighlightText;
    }
    .gallery-thumbnail.active,
    .new-swatch.best-value {
        outline: Highlight solid 2px;
        outline-offset: 1px;
    }
    .gcs-nav a[aria-current],
    .mobile-bottom-nav a[aria-current] {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .b-prm,
    .mobile-buy-btn {
        forced-color-adjust: none;
        background: Highlight !important;
        color: HighlightText !important;
        border: 1px solid Highlight !important;
    }
    [aria-disabled="true"],
    button:disabled {
        color: GrayText;
        border-color: GrayText;
    }
}
.gcs-c::before,
.gcs-card::before,
.review-card::before {
    background: linear-gradient(90deg, transparent, var(--yellow), transparent);
    pointer-events: none;
}
.b-sec,
.cross-sell-link,
.rating-jump,
.terms-contact-value {
    text-decoration: none;
}
@media (prefers-contrast: more) {
    :root {
        --gray-1: #ffffff;
        --text-muted: #ededed;
        --text-secondary: #e6e6e6;
        --text-faint: #c2c2c2;
        --bg-border: #6a6a6a;
    }
    ::placeholder {
        color: #c9c9c9;
        opacity: 1;
    }
    :where(
        a,
        button,
        input,
        select,
        textarea,
        summary,
        [tabindex]
    ):focus-visible {
        outline-width: 4px;
    }
}
abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
}
.status-badge-minimal abbr[title] {
    text-decoration: none;
    cursor: inherit;
}
.glossary-section {
    max-width: var(--container);
    width: 100%;
    margin: 0 auto;
    padding: 0 0 8px;
}
.glossary-h2 {
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin: clamp(1.6rem, 4vw, 2.4rem) 0 1.4rem;
}
.glossary-group-heading {
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    color: var(--w);
    border-bottom: 1px solid var(--bg-border);
    border-left: 3px solid rgba(var(--yellow-rgb), 0.55);
}
.compare-heading,
.glossary-pron,
.glossary-see {
    font-size: var(--fs-sm);
}
.glossary-dl {
    margin: 0;
    columns: 2 300px;
    column-gap: 44px;
}
.glossary-dl dt {
    font-size: var(--fs-md);
    font-weight: var(--fw-bold);
    color: var(--yellow);
    break-after: avoid;
}
.glossary-pron {
    margin-left: 8px;
    font-weight: 400;
    font-style: normal;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}
.glossary-pron::before {
    content: "\00B7";
    margin-right: 7px;
}
.glossary-dl dd {
    color: var(--gray-1);
    break-inside: avoid;
}
.glossary-see {
    display: block;
    color: var(--gray-1);
}
.glossary-see a {
    border-radius: var(--r-xs);
    color: var(--yellow);
}
.b-prm,
.compare-btn--link,
.mobile-buy-bar.is-docked .mobile-buy-btn,
.mobile-buy-btn {
    background: var(--grad-gold);
    color: #000;
    border: 1px solid var(--yellow-deep);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 1px 2px rgba(6, 8, 18, 0.3),
        0 6px 18px rgba(227, 165, 43, 0.22);
}
.b-prm {
    border-radius: var(--r-sm);
}
.b-prm:visited,
.compare-btn--link:visited,
.mobile-buy-btn:visited {
    color: #000;
}
.b-prm:hover,
.compare-col--link:hover .compare-btn--link,
.pp-buy .pp-cta:hover:not(:disabled) {
    opacity: 1;
    filter: brightness(1.06);
}
.compare-heading {
    padding: 18px 28px;
    letter-spacing: 0.2em;
}
.reviews-title {
    font-size: var(--fs-xl);
    letter-spacing: -0.01em;
}
.terms-badge,
.terms-contact-label {
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.gcs-card::before {
    content: "";
    opacity: 0;
}
.compare-badge-now,
.contact-method-badge,
.swatch-badge {
    border-radius: var(--r-xs);
}
.gcs-tit-sub {
    margin: 0;
    padding: 0 16px 14px;
    font-size: var(--fs-sm);
    color: var(--text-muted);
    line-height: 1.4;
    text-align: left;
}
.terms-wrapper {
    width: 100%;
}
.terms-hero {
    position: static;
    display: block;
    width: auto;
    max-width: none;
    height: auto;
    inset: auto;
    transform: none;
    background: 0 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    z-index: auto;
    view-transition-name: none;
    padding: 4px 0 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--bg-border);
}
.terms-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(238, 187, 68, 0.07);
    border: 1px solid rgba(238, 187, 68, 0.2);
    border-radius: var(--r-xs);
    padding: 5px 12px;
    margin: 0 0 16px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    color: var(--yellow);
}
.da-not .da-fit-head,
.gcs-card:hover .card-feat-tag,
.terms-callout p,
.terms-intro,
.terms-meta time {
    color: var(--gray-1);
}
.terms-hero h1 {
    font-size: var(--fs-3xl);
    font-weight: var(--fw-bold);
    letter-spacing: -1px;
    margin: 0 0 14px;
    line-height: 1.1;
}
.terms-intro {
    font-size: var(--fs-md);
    line-height: 1.7;
    max-width: var(--measure);
    margin: 0 0 18px;
}
.terms-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0 0 22px;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.terms-callout {
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-left: 3px solid var(--yellow);
    border-radius: var(--r-sm);
    padding: 16px 20px;
    margin: 20px 0 0;
}
.terms-callout p {
    margin: 0;
    line-height: 1.7;
}
.a11y-toggle[aria-pressed="true"],
.plain-lang strong,
.plan-sheet-close:hover,
.terms-callout strong,
.terms-content strong,
.terms-plain-list li strong {
    color: var(--w);
}
.terms-callout--warn {
    border-left-color: var(--error);
    background: rgba(255, 123, 123, 0.05);
}
.terms-toc-wrap {
    position: sticky;
    top: 110px;
}
@media (min-width: 1001px) {
    .terms-toc-details > summary {
        list-style: none;
        cursor: default;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: var(--fs-sm);
        font-weight: var(--fw-bold);
        text-transform: uppercase;
        letter-spacing: 1.4px;
        color: var(--text-muted);
        margin: 0 0 14px;
        padding: 0 8px;
    }
}
.terms-toc-details > summary::-webkit-details-marker {
    display: none;
}
.terms-toc-count {
    background: rgba(238, 187, 68, 0.1);
    color: var(--yellow);
    font-size: 0.6875rem;
    padding: 2px 8px;
    border-radius: var(--r-pill);
}
.pp-main,
.reviews-headline,
.terms-content {
    min-width: 0;
}
.terms-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 16px 0;
}
@media (min-width: 560px) {
    .terms-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}
.terms-contact-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
}
.terms-contact-value,
.terms-num {
    display: inline-flex;
    font-weight: var(--fw-bold);
}
.terms-contact-label {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    font-weight: var(--fw-bold);
}
.terms-contact-value {
    align-items: center;
    min-height: 44px;
    color: var(--yellow);
    overflow-wrap: anywhere;
}
.terms-contact-value:focus-visible,
.terms-contact-value:hover {
    text-decoration: underline;
}
.terms-contact-note {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    line-height: 1.7;
    margin-top: 12px;
}
.terms-section h2 {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: var(--fs-xl);
    font-weight: var(--fw-bold);
    letter-spacing: -0.01em;
    margin: 0 0 14px;
    line-height: 1.25;
}
.terms-num {
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--r-sm);
    background: rgba(238, 187, 68, 0.06);
    border: 1px solid rgba(238, 187, 68, 0.25);
    color: var(--yellow);
    font-size: var(--fs-base);
}
.terms-content article {
    margin: 0 0 40px;
}
.terms-content li,
.terms-content p {
    color: var(--gray-1);
    line-height: 1.75;
}
.terms-content p {
    margin: 0 0 14px;
}
.terms-content ul {
    margin: 0 0 14px;
    padding-left: 22px;
}
.plain-lang p,
.terms-content li {
    margin: 0 0 8px;
}
.terms-caps {
    color: var(--text-muted);
    font-size: var(--fs-sm);
    line-height: 1.7;
    letter-spacing: 0.02em;
}
@keyframes gcsHeroShimmer {
    0%,
    100% {
        background-position: 0 0;
    }
    50% {
        background-position: 100% 0;
    }
}
.section-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 44px;
}
.section-sub {
    margin: 16px 0 0;
    color: var(--text-muted);
    font-size: var(--fs-md);
    line-height: 1.6;
}
.g .gcs-t::after,
.gcs-faq-container .gcs-t::after,
.gcs-w .gcs-t::after,
.home-reviews .gcs-t::after,
.how-it-works .gcs-t::after,
.related-categories .gcs-t::after {
    content: "";
    width: 72px;
    height: 2px;
    margin: 20px auto 0;
    border-radius: var(--r-pill);
    background: linear-gradient(
        90deg,
        transparent,
        var(--yellow-2) 50%,
        transparent
    );
}
.g {
    grid-template-rows: auto;
    contain-intrinsic-size: auto 880px;
}
.gcs-c,
.review-card {
    position: relative;
    overflow: hidden;
    transition:
        transform 0.3s,
        border-color 0.3s,
        box-shadow 0.3s;
}
.gcs-c:hover,
.review-card:hover {
    transform: translateY(-4px);
    border-color: var(--yellow);
    box-shadow: var(--shadow-md), var(--edge);
}
.gcs-c::before,
.review-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30%;
    right: 30%;
    height: 2px;
    opacity: 0;
    transition:
        opacity 0.3s,
        left 0.3s,
        right 0.3s;
    z-index: 4;
}
.gcs-c svg {
    transition:
        transform 0.3s,
        background 0.3s,
        box-shadow 0.3s;
}
.gcs-c:hover svg {
    background: rgba(var(--yellow-rgb), 0.18);
    box-shadow: 0 0 18px rgba(238, 187, 68, 0.18);
    transform: scale(1.08);
}
.compare-btn--link {
    background: 0 0;
    color: var(--yellow);
    border: 1px solid color-mix(in srgb, var(--yellow), transparent 62%);
    box-shadow: none;
    transition:
        background 0.2s,
        color 0.2s,
        border-color 0.2s,
        box-shadow 0.2s;
}
.compare-col--link:focus-visible .compare-btn--link,
.compare-col--link:hover .compare-btn--link {
    background: var(--grad-gold);
    color: #000;
    border-color: var(--yellow-deep);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 1px 2px rgba(6, 8, 18, 0.3),
        0 6px 18px rgba(227, 165, 43, 0.22);
}
.compare-col--link .compare-col-img img {
    opacity: 0.9;
    transition:
        transform 0.35s,
        opacity 0.35s;
}
.compare-col--link:focus-visible .compare-col-img img,
.compare-col--link:hover .compare-col-img img {
    opacity: 1;
}
@view-transition {
    navigation: auto;
}
html.a11y-motion::view-transition-group(*),
html.a11y-motion::view-transition-new(*),
html.a11y-motion::view-transition-old(*) {
    animation: none !important;
}
html.a11y-motion {
    scroll-behavior: auto !important;
}
.hero-main-img.hero-swap {
    opacity: 0;
    transition: none;
}
html.gcs-cur-pending .currency-trigger-label,
html.gcs-cur-pending [data-usd] {
    visibility: hidden;
}
.buy-reassurance {
    margin: 10px 0 0;
    font-size: var(--fs-sm);
    line-height: 1.5;
    color: var(--text-muted);
    text-align: center;
}
.buy-terms-link:focus-visible,
.buy-terms-link:hover {
    color: var(--yellow-2);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.currency-menu-note {
    margin: 6px 4px 2px;
    padding: 9px 8px 3px;
    border-top: 1px solid var(--bg-border);
    font-size: 0.6875rem;
    font-weight: var(--fw-regular);
    line-height: 1.45;
    letter-spacing: 0.2px;
    color: var(--text-muted);
}
.mobile-buy-bar-change {
    appearance: none;
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.mobile-buy-bar-changecue,
.plan-sheet-title,
.pso-name {
    font-weight: var(--fw-bold);
}
.gcs-pal-opt-price > span,
.new-swatch .swatch-permonth,
.new-swatch .swatch-price,
.psc-price,
.reviews-dist-count,
.reviews-dist-label,
.reviews-score,
.status-badge-checked time {
    font-variant-numeric: tabular-nums;
}
.mobile-buy-bar-changecue {
    display: inline-block;
    margin-left: 8px;
    font-size: 0.6875rem;
    letter-spacing: 0.3px;
    color: var(--yellow);
    white-space: nowrap;
}
.mobile-buy-bar-change:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 3px;
    border-radius: 8px;
}
@media (max-width: 384px) {
    .mobile-buy-bar .mbb-thumb {
        display: none;
    }
}
.buy-trust-stat[hidden],
.footer-a11y-heading::after,
.gallery-counter,
.gallery-nav-btn,
.gallery-swipe,
.gcs-card:not([data-cta])::after,
.gcs-pal-backdrop[hidden],
.hiw-ico,
.plan-sheet[hidden],
.pp-layout .hero-title::after {
    display: none;
}
.pso-badge,
.pso-name {
    letter-spacing: 0.04em;
}
.hero-eyebrow,
.plan-sheet-panel {
    border: 1px solid var(--bg-border);
}
.plan-sheet {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.plan-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 8, 18, 0.55);
    opacity: 0;
    transition: opacity 0.28s;
}
.plan-sheet.is-open .plan-sheet-backdrop {
    opacity: 1;
}
.plan-sheet-panel {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 86vh;
    overflow-y: auto;
    background: var(--bg-card);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    padding: 8px 18px calc(20px + env(safe-area-inset-bottom));
    box-shadow:
        0 -0.5px 1px rgba(6, 8, 18, 0.3),
        0 -20px 60px rgba(6, 8, 18, 0.5);
    transform: translateY(100%);
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.b-prm,
.gcs-pal,
.gcs-trust-strip,
.hiw-step,
.reviews-dist-bar {
    overflow: hidden;
}
.plan-sheet-option,
.pso-tick {
    transition:
        border-color 0.18s,
        background 0.18s;
}
.plan-sheet.is-open .plan-sheet-panel {
    transform: translateY(0);
}
.plan-sheet-grip {
    position: absolute;
    left: 50%;
    top: 2px;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    border-radius: var(--r-pill);
    background: var(--bg-border);
    margin: 0;
}
.plan-sheet-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-bottom: 12px;
    padding: 8px 44px 0;
}
.plan-sheet-title {
    margin: 0;
    font-size: var(--fs-md);
    color: var(--w);
}
.plan-sheet-close {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: var(--r-pill);
    background: var(--bg-card-2);
    color: var(--gray-1);
    font-size: 0.8125rem;
    cursor: pointer;
}
.gcs-w,
.pso-tick {
    position: relative;
}
.plan-sheet-close:focus-visible {
    color: var(--w);
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.plan-sheet-close::after {
    content: "";
    position: absolute;
    inset: -6px;
}
.plan-sheet-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.plan-sheet-confirm,
.plan-sheet-option {
    align-items: center;
    font-family: inherit;
    display: flex;
    cursor: pointer;
}
.plan-sheet-option {
    gap: 12px;
    width: 100%;
    text-align: left;
    padding: 14px;
    background: var(--bg-card-2);
    border: 1.5px solid var(--bg-border);
    border-radius: 14px;
}
.plan-sheet-option:hover {
    border-color: color-mix(in srgb, var(--yellow), transparent 45%);
}
.plan-sheet-option:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.plan-sheet-option .pso-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    flex: 1;
    min-width: 0;
}
.pso-name {
    font-size: var(--fs-base);
    color: var(--w);
    text-transform: uppercase;
}
.pso-badge {
    font-size: 0.625rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--yellow);
    color: #000;
}
.plan-sheet-confirm,
.pso-price,
.reviews-control-label,
.reviews-score {
    font-weight: var(--fw-bold);
}
.pso-badge.savings-badge {
    background: #0e0e12;
    color: var(--yellow);
    border: 1px solid rgba(var(--yellow-rgb), 0.55);
}
.pso-pricing {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}
.pso-price {
    font-size: var(--fs-lg);
    color: var(--w);
    line-height: 1;
}
.pso-permonth {
    font-size: 0.6875rem;
    color: var(--gray-1);
}
.pso-tick {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: var(--r-pill);
    border: 2px solid var(--bg-border);
}
.plan-sheet-option[aria-pressed="true"] {
    border-color: var(--yellow);
    background: linear-gradient(
        160deg,
        rgba(238, 187, 68, 0.07),
        var(--bg-card-2) 70%
    );
}
.plan-sheet-option[aria-pressed="true"] .pso-tick {
    border-color: var(--yellow);
    background: var(--yellow);
}
.plan-sheet-option[aria-pressed="true"] .pso-tick::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2.5px;
    width: 5px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.plan-sheet-confirm {
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px;
    border: 1px solid var(--yellow-deep);
    border-radius: 12px;
    background: var(--grad-gold);
    color: #000;
    font-size: var(--fs-base);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 6px 18px rgba(227, 165, 43, 0.22);
}
.plan-sheet-confirm:hover {
    filter: brightness(1.06);
}
.plan-sheet-confirm:focus-visible {
    filter: brightness(1.06);
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.plan-sheet-note {
    margin: 12px 0 0;
    text-align: center;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.reviews-score-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}
.reviews-score {
    font-size: 2.6rem;
    line-height: 1;
    color: var(--w);
    letter-spacing: -0.02em;
}
.reviews-score-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.gcs-rating-wrapper,
.reviews-score-meta .reviews-avg-stars {
    font-size: var(--fs-md);
}
.reviews-score-count {
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.reviews-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 30px;
}
.reviews-dist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 5px;
    flex: 1 1 210px;
    min-width: 190px;
    max-width: 330px;
}
.reviews-dist-row {
    display: grid;
    grid-template-columns: 32px 1fr 22px;
    align-items: center;
    gap: 8px;
}
.reviews-dist-label {
    font-size: var(--fs-sm);
    color: var(--gray-1);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 1px;
}
.reviews-dist-glyph {
    color: var(--star);
}
.reviews-dist-bar {
    height: 7px;
    border-radius: 4px;
    background: var(--bg-border);
}
.reviews-dist-fill {
    display: block;
    height: 100%;
    border-radius: 4px;
    background: var(--star);
}
.reviews-dist-count {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    text-align: right;
}
.reviews-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin: 0 0 16px;
}
.reviews-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.reviews-control-label {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.7rem;
}
.reviews-sort {
    background: var(--bg-card);
    color: var(--w);
    border: 1px solid var(--border-field);
    border-radius: 8px;
    font: inherit;
    font-size: var(--fs-sm);
    cursor: pointer;
}
.cross-sell-price,
.hiw-ico-wrap {
    font-variant-numeric: tabular-nums;
}
.reviews-sort:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.reviews-verified-toggle input:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.reviews-result-count {
    color: var(--text-muted);
    font-size: var(--fs-sm);
    margin-left: auto;
}
@media (max-width: 500px) {
    .cta {
        display: flex;
        flex-direction: column;
    }
    .hero-product-wrapper {
        grid-template-columns: 1fr;
        display: grid;
        padding: 0;
    }
    .hero-info {
        padding: 20px 16px;
    }
    .hero-badges {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .gcs-brand {
        padding-left: 15px;
    }
    .gcs-tit {
        margin: 0;
    }
    .g,
    .gcs-p-grid,
    .p-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gcs-p-grid,
    .p-grid {
        gap: 12px;
    }
    .g {
        grid-template-columns: repeat(1, 1fr);
    }
    .p-grid .card,
    a.gcs-card {
        flex-direction: column;
        justify-content: space-between;
        gap: 0;
    }
    .p-grid .card::after {
        margin-top: 0;
    }
    .gcs-card img {
        margin-bottom: 0;
        width: 100%;
    }
    .gcs-card > .price {
        display: flex;
        min-width: unset;
        margin-top: 0;
        margin-bottom: 0;
        gap: 6px;
    }
    .gcs-card::after {
        display: none;
    }
    #gcs-hero {
        min-height: auto;
        padding: 100px var(--pad-x) 30px;
    }
    .g-h1 {
        font-size: var(--fs-hero);
    }
    .g-desc {
        font-size: var(--fs-base);
        margin-bottom: 24px;
    }
    .p-grid .card {
        padding: 12px;
    }
    .gcs-faq-container summary {
        padding: 16px 18px;
        font-size: var(--fs-base);
        gap: 12px;
    }
    .gcs-faq-container details > p {
        margin: 0 18px 20px;
        padding: 14px 0 0;
        font-size: var(--fs-sm);
    }
    .seo-section {
        gap: 0;
    }
    .seo-body {
        padding: 4px 20px 32px;
    }
    .seo-header {
        padding: 14px 20px;
    }
    .seo-section h2 {
        font-size: var(--fs-base);
        margin-top: 24px;
    }
    .seo-section .seo-plain {
        margin-inline: 20px;
    }
    .gallery-stage:has(.gallery-swipe) .hero-main-img {
        display: none;
    }
    .gallery-stage .gallery-hero-counter,
    .gallery-stage .gallery-hero-nav,
    .hero-gallery .product-gallery-thumbnails {
        display: none;
    }
    .hero-gallery:has(.gallery-swipe) {
        padding: 0;
        gap: 0;
    }
    .gallery-swipe {
        display: flex;
        aspect-ratio: 16/10;
        align-items: stretch;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        border: 0;
        border-bottom: 1px solid var(--bg-border);
        border-radius: 0;
        background: var(--bg-main);
        box-shadow: none;
    }
    .gallery-counter,
    .gallery-nav-btn {
        position: absolute;
        z-index: 2;
        background: rgba(8, 10, 18, 0.62);
        color: var(--w);
    }
    .gallery-swipe::-webkit-scrollbar {
        display: none;
    }
    .gallery-slide {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        object-fit: contain;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        display: block;
    }
    .gallery-counter {
        display: block;
        bottom: 10px;
        right: 10px;
        padding: 4px 11px;
        border-radius: var(--r-pill);
        font-size: 0.75rem;
        font-weight: var(--fw-bold);
        font-variant-numeric: tabular-nums;
        letter-spacing: 0.5px;
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        pointer-events: none;
    }
    .gallery-nav-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        top: 50%;
        transform: translateY(-50%);
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: var(--r-pill);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
        line-height: 0;
        cursor: pointer;
        transition:
            background 0.15s,
            opacity 0.15s;
    }
    .gallery-nav-btn svg {
        display: block;
        flex: none;
    }
    .gallery-nav-prev {
        left: 8px;
    }
    .gallery-nav-next {
        right: 8px;
    }
    .gallery-nav-btn:disabled {
        opacity: 0.32;
        cursor: default;
    }
    .gallery-nav-btn:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 2px;
    }
    .hero-badges {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        margin-bottom: 16px;
    }
    .status-badge-minimal {
        font-size: 0.75rem;
        padding: 5px 11px;
    }
    .gcs-rating-wrapper {
        margin: 6px 0 12px;
    }
    .hero-title {
        margin-bottom: 4px;
    }
}
.g,
.gcs-w,
.home-reviews,
.product-compare,
.related-categories,
.reviews-section,
.seo-section,
footer {
    content-visibility: auto;
}
.gcs-w {
    contain-intrinsic-size: auto 620px;
}
.gcs-faq-container {
    contain-intrinsic-size: auto 850px;
}
.home-reviews {
    contain-intrinsic-size: auto 400px;
}
.related-categories {
    contain-intrinsic-size: auto 340px;
}
.seo-section {
    contain-intrinsic-size: auto 700px;
}
.reviews-section {
    contain-intrinsic-size: auto 520px;
}
.product-compare {
    contain-intrinsic-size: auto 620px;
}
.hero-cta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
}
.b-sec,
.hero-eyebrow {
    display: inline-flex;
    text-transform: uppercase;
    font-weight: var(--fw-bold);
}
.b-sec {
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 26px;
    border-radius: var(--r-sm);
    font-size: var(--fs-base);
    letter-spacing: 0.02em;
    color: var(--w);
    background: linear-gradient(180deg, #1c1c1c 0, #131313 100%);
    border: 1px solid #2b2b2b;
    box-shadow: var(--edge), var(--shadow-xs);
    transition:
        color 0.2s,
        border-color 0.2s,
        background 0.2s,
        box-shadow 0.2s,
        transform 0.05s;
}
.b-sec:focus-visible,
.b-sec:hover {
    color: var(--yellow);
    border-color: color-mix(in srgb, var(--yellow), transparent 42%);
    background: linear-gradient(180deg, #242424 0, #181818 100%);
    box-shadow:
        var(--edge-strong),
        var(--shadow-sm),
        0 0 0 1px rgba(var(--yellow-rgb), 0.12);
}
.b-sec:active,
.pp-buy .pp-cta:active:not(:disabled) {
    transform: translateY(1px);
}
.hero-eyebrow {
    align-items: center;
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, 0.025);
    color: var(--text-muted);
    font-size: var(--fs-sm);
}
.buy-step-head,
.hero-rating {
    display: flex;
    font-size: var(--fs-sm);
}
.hero-eyebrow-dot {
    background: var(--success);
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.16);
    flex: 0 0 auto;
}
.hero-rating {
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px 9px;
    margin: 14px 0 0;
    color: var(--gray-1);
}
.buy-step-head {
    align-items: center;
    margin: 0 0 14px;
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--w);
}
.hiw-step,
.how-it-works-steps {
    display: grid;
    position: relative;
}
.how-it-works {
    max-width: var(--container);
    width: 100%;
    margin: 30px auto;
    padding: 30px 0;
    position: relative;
}
.how-it-works-steps {
    list-style: none;
    counter-reset: hiw;
    margin: 10px 0 0;
    padding: 0;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.hiw-step {
    counter-increment: hiw;
    z-index: 1;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 18px;
    background: linear-gradient(
        180deg,
        var(--bg-card) 0,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm), var(--edge);
    transition:
        transform 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
        border-color 0.24s,
        box-shadow 0.24s;
}
.hiw-ico-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    color: var(--yellow);
    background: color-mix(in srgb, var(--yellow), transparent 88%);
    border: 1px solid color-mix(in srgb, var(--yellow), transparent 70%);
    font-size: 1.375rem;
    font-weight: var(--fw-bold);
    line-height: 1;
}
.hiw-ico-wrap::after {
    content: counter(hiw);
}
.hero-info::after,
.hero-info::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.hiw-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}
.hiw-title {
    margin: 0;
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    color: var(--w);
}
.hiw-desc {
    margin: 0;
    font-size: var(--fs-sm);
    line-height: 1.6;
    color: var(--gray-1);
}
.simple-buy-price {
    margin: 4px 0 18px;
}
.simple-buy-price-value {
    font-size: 2.375rem;
    font-weight: var(--fw-bold);
    color: var(--w);
    line-height: 1.1;
}
.simple-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    margin: 0 0 14px;
    padding: 14px 26px;
    background: var(--grad-gold);
    color: #000;
    border: 1px solid var(--yellow-deep);
    border-radius: 10px;
    font-size: var(--fs-base);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 2px 10px rgba(238, 187, 68, 0.28);
    transition:
        filter 0.15s,
        transform 0.05s;
}
.simple-buy-btn:hover {
    filter: brightness(1.05);
}
.simple-buy-btn:active {
    transform: scale(0.98);
}
.cross-sell {
    margin: 20px 0 0;
    padding: 14px;
    border: 1px solid var(--bg-border);
    border-radius: 14px;
    background: linear-gradient(180deg, #141312 0, var(--bg-card-2) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.cross-sell-head {
    margin: 0 0 10px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gray-1);
}
.cross-sell-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cross-sell-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid var(--bg-border);
    background: var(--bg-card);
}
.cross-sell-link:hover {
    border-color: var(--yellow);
    box-shadow:
        0 4px 14px rgba(0, 0, 0, 0.3),
        0 0 22px rgba(var(--yellow-rgb), 0.1);
}
.cross-sell-link:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.cross-sell-thumb {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(var(--yellow-rgb), 0.22);
    background: var(--bg-card-2);
}
.cross-sell-name {
    font-size: var(--fs-base);
    font-weight: var(--fw-bold);
    color: var(--w);
    line-height: 1.2;
}
.cross-sell-reason {
    font-size: var(--fs-sm);
    color: var(--gray-1);
    line-height: 1.32;
}
.cross-sell-meta {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    text-align: right;
}
.cross-sell-price {
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    color: var(--w);
    white-space: nowrap;
}
.cross-sell-price .ccpf {
    color: var(--text-muted);
    font-weight: var(--fw-regular);
    font-size: 0.85em;
}
.cross-sell-cta {
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    color: var(--yellow);
    white-space: nowrap;
}
.cross-sell-note {
    margin: 10px 2px 0;
    font-size: var(--fs-sm);
    color: var(--text-muted);
    line-height: 1.3;
}
.hero-info,
.hero-media {
    background-color: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md), var(--edge);
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.hero-info::before {
    top: -120px;
    right: -120px;
    width: 420px;
    height: 420px;
    background: var(--yellow);
    filter: blur(150px);
    opacity: 0.13;
}
.hero-info::after {
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(var(--yellow-rgb), 0.08);
}
.new-swatch.best-value .swatch-footer {
    background: var(--grad-gold);
    color: #000;
    border: 1px solid var(--yellow-deep);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.32),
        var(--glow-y-soft);
}
.new-swatch.gcs-pay-btn {
    padding: 18px 14px 14px;
    max-height: none;
    margin-bottom: 0;
}
.buy-reassurance {
    margin-top: 6px;
}
.payment-marks {
    border-top: 1px solid var(--bg-border);
}
.rating-jump {
    color: var(--yellow);
}
.rating-jump:focus-visible,
.rating-jump:hover {
    color: var(--yellow-2);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.reviews-title {
    position: relative;
    padding-left: 18px;
}
.reviews-title::before {
    content: "\25C6";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.5rem;
    color: var(--yellow);
}
.reviews-nav-btn::after {
    content: "";
    position: absolute;
    inset: -4px;
}
.review-card {
    box-shadow: var(--shadow-xs), var(--edge);
}
.review-card-header {
    padding-bottom: 2px;
}
.status-badge-minimal--updating::before {
    font-size: 0.6875rem;
    line-height: 1;
}
.status-badge-minimal {
    box-shadow:
        var(--edge),
        0 1px 2px rgba(6, 8, 18, 0.25);
    background-color: rgba(14, 14, 18, 0.85);
    border-color: rgba(238, 187, 68, 0.6);
}
.contact-method,
.contact-stats {
    box-shadow: var(--shadow-sm), var(--edge);
    position: relative;
}
.gallery-thumbnail {
    opacity: 0.55;
}
.gallery-thumbnail.active {
    opacity: 1;
    border-color: var(--yellow);
    box-shadow:
        0 0 0 1px var(--yellow),
        var(--glow-y-soft);
}
.compare-btn--current {
    border-color: var(--bg-border);
    color: var(--text-muted);
}
.contact-header h1 {
    font-size: var(--fs-3xl);
    position: relative;
    padding-bottom: 16px;
}
.contact-header h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 56px;
    height: 3px;
    border-radius: var(--r-pill);
    background: var(--grad-gold);
}
.contact-stats {
    width: fit-content;
    margin-top: 14px;
    padding: 16px 22px 16px 24px;
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 50%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
}
.contact-stats::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14%;
    bottom: 14%;
    width: 3px;
    border-radius: 0 var(--r-pill) var(--r-pill) 0;
    background: var(--grad-gold);
}
.contact-method {
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 46%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    padding: 24px 26px;
}
.contact-method::after {
    content: "";
    position: absolute;
    top: 0;
    left: 18%;
    right: 18%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0,
        rgba(var(--yellow-rgb), 0.6) 50%,
        transparent 100%
    );
    pointer-events: none;
}
.contact-method:hover {
    border-color: rgba(var(--yellow-rgb), 0.5);
    transform: translateY(-3px);
    box-shadow: var(--shadow-md), var(--glow-y-soft), var(--edge-strong);
}
.contact-method--recommended {
    border-color: var(--yellow);
    box-shadow:
        var(--shadow-md),
        var(--glow-y-soft),
        var(--edge-strong),
        inset 0 0 30px rgba(var(--yellow-rgb), 0.05);
}
.contact-method-badge {
    top: -11px;
    background: var(--grad-gold);
    border-radius: var(--r-pill);
    padding: 4px 12px;
    letter-spacing: 1px;
    box-shadow: 0 2px 10px rgba(var(--yellow-rgb), 0.38);
}
.g-h1,
.gcs-t {
    letter-spacing: -0.02em;
}
.contact-method-icon {
    background: color-mix(in srgb, var(--yellow), transparent 88%);
    border: 1px solid color-mix(in srgb, var(--yellow), transparent 70%);
    border-radius: var(--r-md);
}
.contact-method:hover .contact-method-icon {
    background: color-mix(in srgb, var(--yellow), transparent 80%);
    border-color: color-mix(in srgb, var(--yellow), transparent 55%);
}
.contact-method-value,
.da-fit-head {
    font-size: var(--fs-md);
}
.g-h1 {
    line-height: 1.06;
}
.gcs-card > .gcs-price,
.gcs-trust-value {
    line-height: 1;
    font-family: var(--font-sans);
}
.b-prm {
    position: relative;
    letter-spacing: 0.02em;
    transition:
        box-shadow 0.18s,
        transform 0.05s,
        filter 0.18s;
}
.b-prm::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        transparent 40%,
        rgba(255, 255, 255, 0.45) 50%,
        transparent 60%
    );
    transform: translateX(-150%);
    transition: transform 0.55s;
}
.b-prm:focus-visible::after,
.b-prm:hover::after {
    transform: translateX(150%);
}
.b-prm:hover {
    box-shadow:
        0 0 0 1px rgba(238, 187, 68, 0.55),
        0 6px 22px rgba(238, 187, 68, 0.3),
        0 0 40px rgba(238, 187, 68, 0.16);
}
.cta::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    left: 26%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(720px, 76%);
    height: 340px;
    background: radial-gradient(
        ellipse 46% 52% at 50% 50%,
        rgba(var(--yellow-rgb), 0.05) 0,
        rgba(var(--yellow-rgb), 0.02) 44%,
        transparent 72%
    );
}
.gcs-card {
    --mx: 50%;
    --my: 40%;
    --spot: 0;
    background:
        radial-gradient(
            220px circle at var(--mx) var(--my),
            rgba(var(--yellow-rgb), calc(0.13 * var(--spot))),
            transparent 60%
        ),
        var(--bg-card-2);
}
.gcs-tit::after {
    content: "";
    width: 34px;
    height: 1px;
    margin: 8px 0 0;
    background: linear-gradient(90deg, var(--yellow), transparent);
    transform-origin: left;
    transform: scaleX(0.7);
    opacity: 0.7;
    transition:
        transform 0.18s,
        opacity 0.18s;
}
.gcs-w::before,
.how-it-works::before {
    content: "";
    z-index: -1;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    pointer-events: none;
}
.gcs-card:hover .gcs-tit::after {
    transform: scaleX(1);
    opacity: 1;
}
@media (max-width: 1200px) {
    .cat-seealso,
    .cat-trust,
    .glossary-section,
    .home-reviews,
    .how-it-works,
    .related-categories,
    main > .cat-quick-answer,
    main > h1.gcs-t {
        max-width: 900px;
    }
}
@media (max-width: 1000px) {
    .cat-seealso,
    .cat-trust,
    .glossary-section,
    .home-reviews,
    .how-it-works,
    .related-categories,
    main > .cat-quick-answer,
    main > h1.gcs-t {
        max-width: 700px;
    }
    .how-it-works-steps {
        grid-template-columns: 1fr;
        gap: 14px;
        max-width: 560px;
        margin-inline: auto;
    }
}
@media (max-width: 360px) {
    .gcs-trust-strip li {
        padding: 13px 6px;
    }
    .gcs-trust-value {
        font-size: 1.125rem;
    }
    .gcs-trust-label {
        font-size: 0.6875rem;
        letter-spacing: -0.01em;
        line-height: 1.15;
        white-space: normal;
    }
    .rating-jump {
        white-space: nowrap;
    }
    .gcs-rating-wrapper {
        row-gap: 2px;
    }
}
@media (max-width: 700px) {
    .product-compare {
        width: calc(100% - 2 * var(--pad-x));
        max-width: var(--container);
    }
    .currency-menu .currency-name,
    .gcs-shop,
    .search-form--header {
        display: none;
    }
    body.gcs-search-open .search-form--header {
        display: flex;
        position: fixed;
        top: 78px;
        left: 10px;
        right: 10px;
        width: auto;
        max-width: none;
        height: 52px;
        margin: 0;
        z-index: 10001;
        background: color-mix(in srgb, var(--bg-main), #fff 4%);
        border-color: var(--yellow);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.06),
            0 12px 34px rgba(6, 8, 18, 0.5);
    }
    body.gcs-search-open .search-form--header .search-input {
        font-size: var(--fs-md);
    }
    body.gcs-search-open::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 9990;
        background: rgba(6, 8, 18, 0.6);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
    }
    .category-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px;
    }
    .cat-count {
        order: 0;
    }
    .category-controls-filters {
        order: 2;
        justify-content: flex-start;
    }
    .category-controls-sort {
        order: 1;
        align-self: flex-start;
    }
    .sort-dropdown {
        width: 100%;
    }
    .cat-helper {
        order: 3;
    }
    .currency-menu {
        right: auto;
        left: 0;
        min-width: 220px;
    }
    :root {
        --section-gap-y: var(--space-8);
        --pad-card: var(--space-5);
    }
    .gcs-nav-toggle {
        display: block;
        position: absolute;
        width: 1px;
        height: 1px;
        top: 22px;
        right: 16px;
        opacity: 0;
        margin: 0;
        pointer-events: none;
    }
    #gcs-nav-toggle:focus-visible ~ .gcs-hamburger {
        outline: 3px solid var(--yellow);
        outline-offset: 3px;
        border-radius: 6px;
    }
    html {
        scroll-padding-top: 112px;
    }
    .g {
        contain-intrinsic-size: auto 2180px;
    }
    .gcs-w {
        contain-intrinsic-size: auto 1460px;
    }
    .gcs-faq-container {
        contain-intrinsic-size: auto 1100px;
    }
    .home-reviews {
        contain-intrinsic-size: auto 420px;
    }
    .related-categories {
        contain-intrinsic-size: auto 570px;
    }
    .seo-section {
        contain-intrinsic-size: auto 1290px;
        margin-top: var(--section-gap-y);
    }
    .reviews-section {
        contain-intrinsic-size: auto 300px;
    }
    footer {
        contain-intrinsic-size: auto 1180px;
        margin-top: 0;
    }
    .hiw-step {
        padding: 20px;
    }
    .breadcrumbs-product,
    .cat-trust,
    .category-controls,
    .category-intro,
    .contact-section,
    .cta,
    .g,
    .gcs-faq-container,
    .gcs-p-grid,
    .gcs-trust-strip,
    .gcs-w,
    .glossary-section,
    .hero-product-wrapper,
    .home-reviews,
    .how-it-works,
    .p-grid,
    .pp-head,
    .product-compare,
    .related-categories,
    .reviews-section,
    .seo-section,
    .shop-tier-head,
    .terms-wrapper {
        width: calc(100% - 2 * var(--pad-x));
        max-width: var(--container);
        margin-left: auto;
        margin-right: auto;
    }
    .compare-cols,
    .cross-sell,
    .hero-info {
        padding: var(--pad-card);
    }
    .compare-heading,
    .seo-header {
        padding: 14px var(--pad-card);
    }
    .seo-body {
        padding: 4px var(--pad-card) var(--pad-card);
    }
    .seo-section .seo-plain {
        margin-inline: var(--pad-card);
    }
    .product-compare {
        contain-intrinsic-size: auto 2570px;
        padding-bottom: var(--pad-card);
    }
    .cta,
    .g,
    .gcs-w {
        margin-top: var(--section-gap-y);
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    .cta {
        padding-bottom: var(--section-gap-y);
    }
    .search-form .search-input {
        font-size: 1rem;
    }
    .mobile-bottom-nav {
        padding-left: max(4px, env(safe-area-inset-left));
        padding-right: max(4px, env(safe-area-inset-right));
    }
    .mobile-buy-bar {
        padding-left: max(14px, env(safe-area-inset-left));
        padding-right: max(14px, env(safe-area-inset-right));
    }
}
.glossary-dl dd,
.terms-section li,
.terms-section p {
    max-width: var(--measure);
}
#gcs-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(
        ellipse 80% 78% at 50% 42%,
        transparent 0,
        transparent 58%,
        rgba(10, 10, 10, 0.3) 100%
    );
}
.g-h1 span {
    filter: drop-shadow(0 0 10px rgba(243, 194, 90, 0.1));
    transition: filter 0.3s;
}
.g-h1:hover span {
    filter: drop-shadow(0 0 12px rgba(243, 194, 90, 0.14));
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    .g-h1 span {
        filter: none;
        text-shadow: 0 0 12px rgba(243, 194, 90, 0.1);
    }
}
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 6px;
    padding: 7px 16px 7px 13px;
    border: 1px solid rgba(var(--yellow-rgb), 0.25);
    border-radius: var(--r-pill);
    background:
        linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.08) 0,
            rgba(255, 255, 255, 0) 2px,
            transparent 100%
        ),
        linear-gradient(
            180deg,
            rgba(var(--yellow-rgb), 0.06) 0,
            rgba(255, 255, 255, 0.025) 100%
        );
    box-shadow:
        0 0 20px rgba(238, 187, 68, 0.12),
        0 2px 8px rgba(6, 8, 18, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 16px rgba(238, 187, 68, 0.06);
    color: var(--text-muted);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition:
        border-color 0.25s,
        box-shadow 0.25s,
        background 0.25s;
}
.hero-eyebrow:hover {
    border-color: rgba(var(--yellow-rgb), 0.45);
    box-shadow:
        0 0 28px rgba(238, 187, 68, 0.18),
        0 2px 12px rgba(6, 8, 18, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 0 20px rgba(238, 187, 68, 0.09);
}
.hero-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--success);
    box-shadow:
        0 0 0 2px rgba(20, 20, 20, 0.85),
        0 0 0 4px rgba(74, 222, 128, 0.2),
        0 0 10px rgba(74, 222, 128, 0.25);
    flex: 0 0 auto;
}
.gcs-trust-strip {
    list-style: none;
    margin: 30px auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
    padding: 6px;
    border-radius: var(--r-lg);
    border: 1px solid var(--bg-border);
    background: linear-gradient(
        180deg,
        var(--bg-card) 0,
        var(--bg-card-2) 100%
    );
    box-shadow: var(--shadow-sm);
}
.gcs-trust-strip li {
    margin: 0;
    padding: 17px 12px 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    position: relative;
    border: 0;
}
.gcs-trust-strip li + li::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1px;
    pointer-events: none;
    z-index: 1;
}
.gcs-trust-strip li:hover {
    background: 0 0;
    transform: none;
    box-shadow: none;
}
.gcs-trust-ico {
    color: var(--text-muted);
    margin-bottom: 1px;
}
.gcs-card > .gcs-price,
.gcs-tit {
    margin: 0;
    letter-spacing: -0.01em;
}
.gcs-trust-strip li:hover .gcs-trust-ico {
    color: var(--text-muted);
    transform: none;
    text-shadow: none;
}
.gcs-trust-value {
    font-size: clamp(1.375rem, 2.4vw, 1.625rem);
    font-weight: var(--fw-bold);
    letter-spacing: -0.01em;
    color: var(--yellow);
    transform: translateZ(0);
}
.gcs-trust-label {
    font-size: var(--fs-sm);
    color: var(--gray-1);
    line-height: 1.2;
}
.how-it-works::before {
    top: 120px;
    width: min(1040px, 100%);
    height: 540px;
    background: radial-gradient(
        ellipse 46% 52% at 50% 50%,
        rgba(var(--yellow-rgb), 0.05) 0,
        rgba(var(--yellow-rgb), 0.02) 44%,
        transparent 72%
    );
}
.gcs-w::before {
    background:
        radial-gradient(
            ellipse 33% 40% at 50% 50%,
            rgba(243, 194, 90, 0.145) 0,
            rgba(238, 187, 68, 0.062) 34%,
            transparent 66%
        ),
        radial-gradient(
            ellipse 58% 62% at 50% 48%,
            rgba(238, 187, 68, 0.068) 0,
            rgba(238, 187, 68, 0.03) 46%,
            transparent 74%
        ),
        radial-gradient(
            ellipse 82% 80% at 50% 52%,
            rgba(238, 187, 68, 0.033) 0,
            rgba(238, 187, 68, 0.013) 56%,
            transparent 82%
        );
}
.new-swatch.best-value::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        ellipse 70% 64% at 50% 46%,
        rgba(238, 187, 68, 0.2) 0,
        rgba(238, 187, 68, 0.1) 30%,
        rgba(238, 187, 68, 0.03) 58%,
        transparent 80%
    );
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
}
.gcs-card img,
.new-swatch.best-value .swatch-footer,
.new-swatch.best-value .swatch-name,
.new-swatch.best-value .swatch-permonth,
.new-swatch.best-value .swatch-price {
    z-index: 1;
    position: relative;
}
.new-swatch.best-value {
    position: relative;
    z-index: 2;
    background:
        linear-gradient(
            160deg,
            rgba(238, 187, 68, 0.08) 0,
            rgba(238, 187, 68, 0.04) 28%,
            var(--bg-card) 65%,
            rgba(20, 20, 20, 0.5) 100%
        ),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0, transparent 60%);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.28),
        0 4px 14px rgba(6, 8, 18, 0.2),
        0 12px 32px rgba(238, 187, 68, 0.12),
        0 0 48px rgba(238, 187, 68, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        inset 0 -1px 2px rgba(0, 0, 0, 0.2);
    border: 2px solid var(--yellow);
}
.gcs-c::before,
.gcs-card::before {
    z-index: 4;
    position: absolute;
    pointer-events: none;
}
.new-swatch.best-value:hover {
    transform: translateY(-7px);
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.3),
        0 6px 18px rgba(6, 8, 18, 0.24),
        0 16px 48px rgba(238, 187, 68, 0.16),
        0 0 52px rgba(238, 187, 68, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 2px rgba(0, 0, 0, 0.22);
}
.new-swatch:not(.best-value) .swatch-footer {
    background: rgba(var(--yellow-rgb), 0.05);
    color: var(--yellow);
    border: 1px solid rgba(var(--yellow-rgb), 0.3);
    box-shadow: none;
    letter-spacing: 1px;
}
.new-swatch:not(.best-value):focus-visible .swatch-footer,
.new-swatch:not(.best-value):hover .swatch-footer {
    background: var(--grad-gold);
    border-color: var(--yellow-deep);
    color: #000;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 4px 14px rgba(var(--yellow-rgb), 0.22);
}
.gcs-card,
a.gcs-card {
    --mx: 50%;
    --my: 38%;
    --spot: 0;
    border: 1px solid #1f1f1f;
    border-radius: var(--r-lg);
    background:
        radial-gradient(
            240px circle at var(--mx) var(--my),
            rgba(var(--yellow-rgb), calc(0.12 * var(--spot))),
            transparent 60%
        ),
        linear-gradient(
            180deg,
            #1a1815 0,
            var(--bg-card) 46%,
            var(--bg-card-2) 100%
        );
    box-shadow: var(--shadow-sm), var(--edge);
    transition:
        transform 0.24s cubic-bezier(0.22, 0.61, 0.36, 1),
        box-shadow 0.24s,
        border-color 0.24s;
}
.contact-method,
.gcs-c,
.review-card {
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 46%,
        var(--bg-card-2) 100%
    );
    box-shadow: var(--shadow-sm), var(--edge);
}
.gcs-card:focus-visible,
.gcs-card:hover {
    --spot: 1;
    transform: translateY(-5px);
    border-color: rgba(var(--yellow-rgb), 0.5);
    box-shadow:
        0 1px 1px rgba(6, 8, 18, 0.34),
        0 10px 24px rgba(6, 8, 18, 0.28),
        0 26px 56px rgba(6, 8, 18, 0.26),
        var(--glow-y-soft),
        var(--edge-strong);
}
.gcs-card::before {
    content: "";
    top: 0;
    left: 16%;
    right: 16%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.7),
        transparent
    );
    opacity: 0.35;
    transition:
        opacity 0.3s,
        left 0.3s,
        right 0.3s;
}
.gcs-card:focus-visible::before,
.gcs-card:hover::before {
    opacity: 1;
    left: 0;
    right: 0;
}
.gcs-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 0;
    filter: saturate(0.95) brightness(0.97);
    -webkit-mask: linear-gradient(
        to bottom,
        #000 80%,
        rgba(0, 0, 0, 0.4) 92%,
        transparent 100%
    );
    mask: linear-gradient(
        to bottom,
        #000 80%,
        rgba(0, 0, 0, 0.4) 92%,
        transparent 100%
    );
    transition:
        transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        filter 0.35s;
}
.gcs-card:focus-visible img,
.gcs-card:hover img {
    transform: scale(1.05);
    filter: saturate(1) brightness(1);
}
.gcs-tit {
    position: relative;
    color: var(--w);
    padding: 14px 16px 8px;
    font-weight: var(--fw-bold);
    font-size: var(--fs-base);
    line-height: 1.35;
    text-align: left;
}
.gcs-price-qual {
    display: block;
    font-family: var(--font-sans);
    font-size: 0.625rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-muted);
    -webkit-text-fill-color: var(--text-muted);
    padding: 7px 0 4px;
}
.card-feat-tag,
.footer-a11y-size-label {
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.gcs-card > .gcs-price {
    padding: 6px 16px 14px;
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    color: var(--yellow);
}
.gcs-card > .gcs-price-from {
    padding-top: 0;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .g-h1 span,
    .gcs-t span {
        background: linear-gradient(
            105deg,
            #fff 0,
            #ffe9b0 34%,
            var(--yellow) 68%,
            var(--yellow-deep) 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
    }
    @media (prefers-reduced-motion: no-preference) {
        .g-h1 span {
            background-image: linear-gradient(
                105deg,
                #fff 0,
                #ffe9b0 20%,
                var(--yellow) 34%,
                var(--yellow-deep) 44%,
                #fff7df 50%,
                var(--yellow) 60%,
                #ffe9b0 80%,
                #fff 100%
            );
            background-size: 220% 100%;
            background-position: 0 0;
            animation: 11s ease-in-out infinite gcsHeroShimmer;
        }
    }
    .gcs-card > .gcs-price {
        background: linear-gradient(
            180deg,
            #fff 6%,
            var(--yellow-2) 58%,
            var(--yellow) 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}
.gcs-card::after {
    content: attr(data-cta, "VIEW ÃÂ¢Ã¢ÂÂ Ã¢ÂÂ");
    display: block;
    margin: auto 14px 14px;
    padding: 11px 14px;
    border: 1px solid rgba(var(--yellow-rgb), 0.42);
    border-radius: var(--r-md);
    background: rgba(var(--yellow-rgb), 0.07);
    color: var(--yellow);
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: center;
    transition:
        background 0.2s,
        color 0.2s,
        border-color 0.2s,
        box-shadow 0.2s;
}
.gcs-card:focus-visible::after,
.gcs-card:hover::after {
    background: var(--grad-gold);
    color: #000;
    border-color: var(--yellow-deep);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        var(--glow-y-soft);
}
.card-rating {
    align-items: center;
    padding: 2px 16px 6px;
}
.card-rating-score {
    font-family: var(--font-sans);
    color: var(--gray-1);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
}
.card-rating-count {
    color: var(--text-muted);
    font-size: 0.6875rem;
}
.card-features {
    flex-wrap: wrap;
    padding: 0 16px 12px;
}
.card-feat-tag {
    color: var(--text-muted);
    border: 1px solid var(--bg-border);
    border-left: 2px solid rgba(var(--yellow-rgb), 0.5);
    border-radius: var(--r-xs);
    transition:
        color 0.18s,
        border-color 0.18s;
}
.card-feat-tag--arch {
    color: var(--gray-1);
    border-left-color: var(--yellow);
}
.error-tools .gcs-t,
.gcs-c svg {
    margin-bottom: 22px;
}
.gcs-trust-strip,
.gcs-trust-strip li {
    contain: paint;
}
.gcs-w::before {
    top: 128px;
    width: min(720px, 92%);
    height: 400px;
    background: radial-gradient(
        ellipse 50% 50% at 50% 50%,
        rgba(var(--yellow-rgb), 0.05) 0,
        rgba(var(--yellow-rgb), 0.02) 42%,
        transparent 72%
    );
}
.gcs-c::before,
.review-card::before {
    left: 18%;
    right: 18%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.7),
        transparent
    );
    opacity: 0.4;
}
.gcs-c {
    padding: 30px 28px 32px;
    border: 1px solid #1f1f1f;
    border-radius: var(--r-lg);
}
.gcs-c:hover {
    transform: translateY(-5px);
    border-color: rgba(var(--yellow-rgb), 0.5);
    box-shadow:
        0 10px 24px rgba(6, 8, 18, 0.28),
        0 26px 56px rgba(6, 8, 18, 0.26),
        var(--glow-y-soft),
        var(--edge-strong);
}
.gcs-c::before {
    content: "";
    top: 0;
    transition:
        opacity 0.3s,
        left 0.3s,
        right 0.3s;
}
.gcs-c:hover::before,
.review-card:hover::before {
    opacity: 1;
    left: 0;
    right: 0;
}
.gcs-c svg {
    width: 52px;
    height: 52px;
    padding: 13px;
    border-radius: 14px;
    fill: var(--yellow);
    background: color-mix(in srgb, var(--yellow) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--yellow) 32%, transparent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.gcs-c:hover svg {
    background: color-mix(in srgb, var(--yellow) 22%, transparent);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        var(--glow-y-soft);
    transform: scale(1.06) rotate(-4deg);
}
.gcs-c h3 {
    margin: 0 0 10px;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: var(--fs-lg);
    font-weight: var(--fw-bold);
    letter-spacing: -0.015em;
    color: var(--w);
}
.contact-method:hover,
.review-card:hover {
    border-color: rgba(var(--yellow-rgb), 0.5);
    box-shadow:
        0 10px 24px rgba(6, 8, 18, 0.28),
        0 26px 56px rgba(6, 8, 18, 0.26),
        var(--glow-y-soft),
        var(--edge-strong);
}
.gcs-c p {
    color: var(--gray-1);
    font-size: var(--fs-base);
    line-height: 1.7;
}
.contact-method,
.review-card {
    border: 1px solid #1f1f1f;
}
.contact-method:hover {
    background: linear-gradient(
        180deg,
        #1a1815 0,
        var(--bg-card) 46%,
        var(--bg-card-2) 100%
    );
}
@media (min-width: 701px) and (max-width: 1000px) {
    .search-form--header {
        display: none;
    }
    .gcs-brand {
        padding-left: 20px;
    }
    .gcs-nav {
        gap: 18px;
        padding-right: 20px;
    }
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    border-radius: 3px;
}
html.a11y-contrast {
    --gray-1: #ffffff;
    --text-faint: #c2c2c2;
    --error: #ffc4c4;
    --warning-text: #ffe0a8;
    --success: #86f5ac;
    --border-field: #b8b8b8;
}
html.a11y-contrast .ccpf,
html.a11y-contrast .compare-col-cat,
html.a11y-contrast .compare-reviews,
html.a11y-contrast .gcs-rs-track,
html.a11y-contrast .review-date,
html.a11y-contrast .swatch-permonth {
    color: #e6e6e6;
}
html.a11y-contrast ::placeholder {
    color: #c9c9c9;
    opacity: 1;
}
html.a11y-contrast
    :where(
        a,
        button,
        input,
        select,
        textarea,
        summary,
        [tabindex]
    ):focus-visible {
    outline-width: 3px;
}
html.a11y-spacing
    :is(
        main p,
        main li,
        main dd,
        main dt,
        .seo-body,
        .terms-content :is(p, li),
        .gcs-faq-container details p
    ) {
    line-height: 1.85 !important;
    letter-spacing: 0.03em !important;
    word-spacing: 0.09em !important;
}
html.a11y-spacing
    :is(
        main p,
        .terms-content :is(p, li),
        .gcs-faq-container details p,
        .seo-body
    ) {
    max-width: 72ch !important;
}
html.a11y-spacing :is(.seo-body) {
    margin-inline: auto !important;
}
html.a11y-spacing
    :is(main p, .seo-body p, .terms-content p, .gcs-faq-container details p) {
    margin-bottom: 2.8em !important;
}
html.a11y-spacing :is(.seo-body li, .terms-content li) {
    margin-bottom: 0.9em !important;
}
html.a11y-text-lg {
    font-size: 112.5%;
}
html.a11y-text-xl {
    font-size: 125%;
}
html.a11y-motion *,
html.a11y-motion ::after,
html.a11y-motion ::before {
    animation-duration: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
}
.footer-a11y {
    border-top: 1px solid var(--bg-border);
    margin-top: 20px;
    padding-top: 14px;
}
.footer-a11y-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 2px 20px;
    margin-bottom: 6px;
}
.footer-a11y-ctls,
.footer-a11y-size {
    flex-wrap: wrap;
    display: flex;
    min-width: 0;
}
.footer-a11y-heading {
    margin: 0;
    padding-bottom: 0;
}
.footer-a11y-ctls {
    align-items: center;
    gap: 4px 18px;
}
.footer-a11y-size {
    align-items: center;
    gap: 4px 8px;
    margin: 0;
}
.footer-a11y-size-label {
    font-size: var(--fs-sm);
    color: var(--gray-1);
}
.a11y-size-seg {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-pill);
    background: var(--bg-card);
}
.a11y-textsize,
.footer-a11y-reset {
    padding: 4px 14px;
    color: var(--gray-1);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    min-height: 44px;
    font-family: inherit;
    cursor: pointer;
}
.a11y-size-seg:focus-within {
    border-color: var(--yellow);
}
.a11y-textsize {
    border: 0;
    border-radius: var(--r-pill);
    background: 0 0;
    line-height: 1.15;
    text-align: center;
    transition:
        background 0.15s,
        color 0.15s;
}
.a11y-textsize:hover {
    color: var(--w);
    background: rgba(255, 255, 255, 0.05);
}
.a11y-textsize[aria-pressed="true"] {
    background: var(--yellow);
    color: var(--text-on-gold);
}
.footer-a11y-state {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    margin: 0;
    font-size: var(--fs-sm);
}
.footer-a11y-reset {
    border: 1px solid var(--bg-border);
    border-radius: var(--r-pill);
    background: 0 0;
    transition:
        border-color 0.15s,
        background 0.15s,
        color 0.15s;
}
.footer-a11y-reset:hover {
    border-color: var(--yellow);
    color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.08);
}
.a11y-set-ctl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 4px;
    min-width: 0;
}
.a11y-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    padding: 4px 8px;
    border: 0;
    border-radius: var(--r-md);
    background: 0 0;
    color: var(--gray-1);
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    text-align: left;
    cursor: pointer;
    transition:
        background 0.15s,
        color 0.15s;
}
.a11y-toggle:hover {
    background: rgba(var(--yellow-rgb), 0.07);
    color: var(--w);
}
.a11y-toggle-check {
    flex: none;
    position: relative;
    width: 28px;
    height: 16px;
    border: 1px solid currentColor;
    border-radius: var(--r-pill);
    background: 0 0;
}
.a11y-toggle-check::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 3px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: currentColor;
    transition: transform 0.15s;
}
.a11y-toggle[aria-pressed="true"] .a11y-toggle-check {
    background: var(--yellow);
    border-color: var(--yellow);
}
.a11y-toggle[aria-pressed="true"] .a11y-toggle-check::after {
    background: var(--text-on-gold);
    transform: translateX(12px);
}
.a11y-toggle-label {
    display: block;
    min-width: 0;
    line-height: 1.25;
}
.terms-plain-summary {
    margin: 0 0 30px;
    padding: 22px 24px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-left: 4px solid var(--yellow);
    border-radius: var(--r-lg);
}
.terms-plain-summary h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px;
    font-size: var(--fs-lg);
    color: var(--w);
}
.terms-plain-summary h2 svg {
    flex: none;
    width: 22px;
    height: 22px;
    color: var(--yellow);
}
.terms-plain-lead {
    color: var(--text-muted);
    font-size: var(--fs-base);
    line-height: 1.65;
    margin: 0 0 14px;
}
.terms-plain-list {
    margin: 0;
    padding-left: 1.2em;
    display: grid;
    gap: 10px;
}
.terms-plain-list li {
    color: var(--gray-1);
    line-height: 1.6;
}
.terms-plain-foot {
    margin: 14px 0 0;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.ccpf,
.compare-col-price,
.gcs-price,
.mobile-buy-bar-value,
.new-swatch .swatch-price,
.psc-price,
.pso-price,
.simple-buy-price-value,
.swatch-permonth,
.swatch-price {
    white-space: nowrap;
}
.seo-body p:has(img) {
    text-align: center;
}
.seo-body :is(figure, pre) {
    max-width: 100%;
}
.seo-body :is(figure, table, pre) {
    margin-inline: auto;
}
@media print {
    *,
    ::after,
    ::before,
    a,
    body,
    html {
        color: #000 !important;
    }
    body,
    html {
        background: #fff !important;
    }
    .cat-no-results,
    .category-controls,
    .cta,
    .currency-switcher,
    .footer-a11y,
    .gcs-shop-trigger,
    .hero-help-links,
    .mobile-bottom-nav,
    .mobile-buy-bar,
    .payment-marks,
    .plan-sheet,
    .plan-sheet-backdrop,
    .related-categories,
    .reviews-nav,
    .reviews-nav-btn,
    .search-form,
    .search-results,
    .skip-link,
    footer,
    header {
        display: none !important;
    }
    *,
    ::after,
    ::before {
        background: 0 0 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        -webkit-text-fill-color: #000 !important;
        border-color: #999 !important;
    }
    a {
        text-decoration: underline;
    }
    #main-content,
    main {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }
    .glossary-dl {
        columns: 1 !important;
    }
    .glossary-dl dd,
    .glossary-dl dt,
    .seo-section,
    .terms-section {
        break-inside: avoid;
    }
    .glossary-pron {
        color: #333 !important;
    }
}
.compare-col-img img,
.gallery-slide,
.gallery-thumbnail,
.gcs-card img,
.hero-main-img {
    background-color: var(--bg-card-2);
}
@keyframes gcs-shimmer {
    from {
        background-position: 170% 0;
    }
    to {
        background-position: -70% 0;
    }
}
@keyframes gcs-img-in {
    from {
        opacity: 0.35;
    }
    to {
        opacity: 1;
    }
}
.gcs-pal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 11vh 16px 16px;
    background: rgba(6, 8, 12, 0.66);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.gcs-pal {
    width: min(640px, 100%);
    max-height: min(70vh, 620px);
    display: flex;
    flex-direction: column;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xl);
    box-shadow:
        var(--shadow-overlay),
        0 0 0 1px rgba(var(--yellow-rgb), 0.04) inset;
}
.cross-sell,
.da-fit-col,
.da-ladder-card,
.glossary-group {
    box-shadow: var(--shadow-sm), var(--edge);
}
@keyframes gcs-pal-in {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.gcs-pal-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px 14px 18px;
    border-bottom: 1px solid var(--bg-border);
}
.gcs-pal-head > svg {
    width: 20px;
    height: 20px;
    color: var(--yellow);
    flex: none;
}
.gcs-pal-input {
    flex: 1 1 auto;
    min-width: 0;
    background: 0 0;
    border: 0;
    outline: 0;
    color: var(--w);
    font-family: inherit;
    font-size: 1rem;
    font-weight: var(--fw-bold);
    padding: 6px;
}
.gcs-pal-group-title,
.gcs-pal-kbd {
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
}
.gcs-pal-input::placeholder {
    color: var(--text-faint);
    font-weight: var(--fw-regular);
}
.gcs-pal-input:focus-visible {
    box-shadow: 0 0 0 2px var(--yellow);
    border-radius: 6px;
}
.gcs-pal-close {
    flex: none;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 8px;
    background: var(--bg-card-2);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xs);
    color: var(--text-secondary);
    cursor: pointer;
}
.gcs-pal-close:hover {
    color: var(--w);
    border-color: var(--text-faint);
}
.gcs-pal-kbd {
    font-family: inherit;
    line-height: 1;
    color: inherit;
}
#gcs-pal-listbox {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
    flex: 1 1 auto;
}
.gcs-pal-group {
    margin-bottom: 4px;
}
.gcs-pal-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 4px;
}
.gcs-pal-group-title {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary);
}
.gcs-pal-badge,
.search-page-badge {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.gcs-pal-clear {
    background: 0 0;
    border: 0;
    color: var(--text-secondary);
    font: inherit;
    font-size: var(--fs-sm);
    cursor: pointer;
    padding: 2px 4px;
    border-radius: var(--r-xs);
}
.gcs-pal-badge,
.gcs-pal-browse,
.gcs-pal-empty-title,
.gcs-pal-opt-name,
.search-page-badge,
.search-page-input,
.search-page-submit {
    font-weight: var(--fw-bold);
}
.da-ladder-price,
.pp-total-price {
    font-variant-numeric: tabular-nums;
}
.gcs-pal-clear:hover,
.noscript-banner a {
    color: var(--yellow);
    text-decoration: underline;
}
.gcs-pal-opt {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 9px 12px;
    border-radius: var(--r-md);
    color: var(--w);
    text-decoration: none;
    border-left: 2px solid transparent;
    transition:
        background 0.14s,
        border-color 0.14s;
}
.gcs-pal-opt:hover {
    background: rgba(255, 255, 255, 0.035);
}
.gcs-pal-opt[aria-selected="true"] {
    background: rgba(var(--yellow-rgb), 0.1);
    border-left-color: var(--yellow);
}
.gcs-pal-badge,
.gcs-pal-foot,
.gcs-pal-opt-ico {
    background: var(--bg-card-2);
}
.gcs-pal-opt-ico {
    flex: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--r-sm);
    border: 1px solid var(--bg-border);
    color: var(--text-secondary);
    transition:
        background 0.14s,
        border-color 0.14s,
        color 0.14s;
}
.gcs-pal-opt:hover .gcs-pal-opt-ico,
.gcs-pal-opt[aria-selected="true"] .gcs-pal-opt-ico {
    color: var(--yellow);
    background: color-mix(in srgb, var(--yellow), transparent 88%);
    border-color: color-mix(in srgb, var(--yellow), transparent 62%);
}
.gcs-pal-opt-ico svg {
    width: 18px;
    height: 18px;
}
.gcs-pal-opt-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.gcs-pal-opt-name {
    font-size: var(--fs-md);
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.gcs-pal-opt-sub {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    overflow-wrap: anywhere;
}
.gcs-pal-badge {
    flex: none;
    font-size: 0.625rem;
    padding: 3px 7px;
    border-radius: var(--r-pill);
    border: 1px solid var(--bg-border);
    color: var(--text-secondary);
}
.gcs-pal-badge--c {
    color: #ffd76a;
    border-color: rgba(var(--yellow-rgb), 0.4);
}
.gcs-pal-badge--p {
    color: #a6daff;
    border-color: rgba(143, 208, 255, 0.4);
}
.gcs-pal-badge--t {
    color: #9ff5c9;
    border-color: rgba(159, 245, 201, 0.4);
}
.gcs-pal-badge--g {
    color: #dccaff;
    border-color: rgba(205, 182, 255, 0.4);
}
.gcs-pal-badge--a {
    color: #ffb3a6;
    border-color: rgba(255, 179, 166, 0.4);
}
.gcs-pal-badge--x {
    color: #86e0e0;
    border-color: rgba(134, 224, 224, 0.4);
}
.gcs-pal-empty {
    padding: 28px 20px 32px;
    text-align: center;
}
.gcs-pal-empty-title {
    font-size: var(--fs-md);
    margin: 0 0 4px;
}
.gcs-pal-empty-sub {
    color: var(--text-muted);
    font-size: var(--fs-base);
    margin: 0 0 16px;
}
.gcs-pal-browse {
    display: inline-block;
    padding: 9px 16px;
    border-radius: var(--r-pill);
    border: 1px solid var(--bg-border);
    color: var(--yellow);
    text-decoration: none;
}
.gcs-pal-browse:hover,
.search-browse-list a:hover,
.search-page-opt:hover {
    border-color: var(--yellow);
    background: var(--bg-card-2);
}
.gcs-pal-foot {
    display: flex;
    gap: 16px;
    padding: 9px 16px;
    border-top: 1px solid var(--bg-border);
}
.gcs-pal-hint {
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.gcs-pal-hint .gcs-pal-kbd {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xs);
    color: var(--text-muted);
}
@media (max-width: 600px) {
    .error-page {
        padding: 120px 0 40px;
    }
    .reviews-track-wrapper::after,
    .reviews-track-wrapper::before {
        width: 22px;
    }
    .hero-cta-row {
        flex-direction: column;
        align-items: stretch;
    }
    .hero-cta-row .b-prm,
    .hero-cta-row .b-sec {
        width: 100%;
        justify-content: center;
    }
    .swatch-badge.new-badge {
        font-size: 0.625rem;
    }
    .card-feat-tag,
    .ccpf {
        font-size: 0.6875rem;
    }
    .gcs-trust-strip {
        grid-template-columns: repeat(2, 1fr);
        max-width: 420px;
        padding: 5px;
    }
    .gcs-trust-strip li {
        padding: 15px 10px;
    }
    .gcs-trust-strip li + li::before {
        content: none;
    }
    .gcs-trust-strip li:nth-child(2n)::before {
        content: "";
        position: absolute;
        left: 0;
        top: 16%;
        bottom: 16%;
        width: 1px;
        background: linear-gradient(
            180deg,
            transparent,
            rgba(255, 255, 255, 0.09) 50%,
            transparent
        );
        pointer-events: none;
        z-index: 1;
    }
    .gcs-trust-strip li:nth-child(n + 3)::after {
        content: "";
        position: absolute;
        top: 0;
        left: 12%;
        right: 12%;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.09) 50%,
            transparent
        );
        pointer-events: none;
        z-index: 1;
    }
    .hero-eyebrow {
        padding: 6px 14px;
        font-size: calc(var(--fs-sm) - 0.0625rem);
    }
    .gcs-plan-fieldset {
        flex-direction: column;
        gap: 8px;
    }
    .new-swatch,
    .new-swatch.gcs-pay-btn {
        flex: 0 0 auto;
        width: 100%;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-rows: min-content minmax(1.1em, min-content);
        grid-template-areas: "name  name price" "badge sub  price";
        align-items: center;
        align-content: center;
        column-gap: 10px;
        row-gap: 3px;
        min-height: 0;
        padding: 13px 16px;
        text-align: left;
    }
    .new-swatch .swatch-badge.new-badge {
        grid-area: badge;
        justify-self: start;
        align-self: center;
        position: static;
        transform: none;
        inset: auto;
        margin: 0;
        box-shadow: none;
        font-size: 0.5rem;
        padding: 2px 7px;
        letter-spacing: 0.02em;
        white-space: nowrap;
    }
    .new-swatch .swatch-name {
        grid-area: name;
        justify-self: start;
        min-width: 0;
        min-height: 0;
        margin: 0;
        text-align: left;
        font-size: var(--fs-sm);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        display: block;
    }
    .new-swatch .swatch-price-col {
        grid-area: price;
        justify-self: end;
        align-self: center;
        align-items: flex-end;
    }
    .new-swatch .swatch-price {
        margin: 0;
        font-size: 1.25rem;
        white-space: nowrap;
    }
    .new-swatch.best-value .swatch-price {
        font-size: 1.25rem;
    }
    .new-swatch .swatch-permonth {
        grid-area: sub;
        justify-self: start;
        margin: 0;
        text-align: left;
        font-size: 0.6875rem;
    }
    .gcs-pal-foot,
    .new-swatch .swatch-footer {
        display: none;
    }
    .terms-plain-summary {
        padding: 18px 16px;
    }
    .gcs-pal-backdrop {
        padding: 8px;
        align-items: stretch;
    }
    .gcs-pal {
        width: 100%;
        max-height: calc(100dvh - 16px);
    }
}
.search-page-form {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
    max-width: 640px;
    margin: 4px auto 6px;
    padding: 6px 6px 6px 14px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-pill);
}
.search-page-form:focus-within {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.search-page-form .search-icon {
    color: var(--text-secondary);
    flex: none;
}
.search-page-input {
    flex: 1 1 auto;
    min-width: 0;
    background: 0 0;
    border: 0;
    outline: 0;
    color: var(--w);
    font-family: inherit;
    font-size: 1rem;
    padding: 8px 0;
}
.pp-kicker,
.pp-status {
    font-family: var(--font-mono);
}
.search-page-input::placeholder {
    color: var(--text-faint);
    font-weight: var(--fw-regular);
}
.search-page-submit {
    flex: none;
    padding: 9px 18px;
    border: 0;
    border-radius: var(--r-pill);
    background: var(--grad-gold);
    color: #000;
    cursor: pointer;
}
.search-page-status {
    max-width: 640px;
    margin: 0 auto 10px;
    text-align: center;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    min-height: 1em;
}
.search-page-results {
    max-width: 760px;
    margin: 0 auto 28px;
}
.search-page-results-head {
    font-size: var(--fs-lg);
    margin: 8px 0 12px;
}
.search-page-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
.search-page-opt {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
    color: var(--w);
    text-decoration: none;
}
.search-page-opt-sub {
    color: var(--text-muted);
    font-size: var(--fs-sm);
    margin-right: auto;
}
.search-page-opt-name + .search-page-badge {
    margin-left: auto;
}
.search-page-badge {
    flex: none;
    font-size: 0.625rem;
    padding: 3px 8px;
    border-radius: var(--r-pill);
    border: 1px solid var(--bg-border);
    color: var(--text-secondary);
}
.da-ladder-head,
.search-browse-sub {
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.search-page-badge--c {
    color: #ffd76a;
}
.search-page-badge--p {
    color: #8fd0ff;
}
.search-page-badge--t {
    color: #9ff5c9;
}
.search-page-badge--g {
    color: #cdb6ff;
}
.search-page-badge--a {
    color: #ffb3a6;
}
.search-page-badge--x {
    color: #86e0e0;
}
.gcs-pal-opt-name mark,
.search-page-opt-name mark {
    background: 0 0;
    color: var(--yellow);
    border-radius: 2px;
}
.search-browse {
    max-width: 980px;
    margin: 0 auto 40px;
}
.search-browse-heading {
    font-size: var(--fs-xl);
    margin: 18px 0 8px;
}
.search-browse-sub {
    font-size: var(--fs-md);
    color: var(--text-secondary);
    margin: 22px 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pp-total-plan,
.search-browse-count {
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.search-browse-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 8px;
}
.search-browse-list a {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 11px 14px;
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
    color: var(--w);
    text-decoration: none;
    min-height: 44px;
}
.pp-safety-row dt,
.search-browse-list span {
    color: var(--text-muted);
    font-size: var(--fs-sm);
}
.error-tools-list a,
.product-compare-cta a {
    border-radius: var(--r-pill);
    font-size: var(--fs-base);
}
.noscript-banner {
    margin: 0;
    padding: 10px 16px;
    text-align: center;
    font-size: var(--fs-sm);
    line-height: 1.5;
    color: var(--w);
    background: var(--bg-card);
    border-bottom: 1px solid var(--yellow);
}
.da-ladder-card:hover,
.related-tool-card:hover {
    border-color: var(--yellow);
    transform: translateY(-2px);
}
img.gcs-img-failed {
    object-fit: cover;
    background-color: var(--bg-card-2);
}
html.gcs-reveal img.gcs-img-failed {
    animation: none !important;
    background-image: none !important;
}
.error-tools {
    text-align: center;
}
.error-tools-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    max-width: 640px;
}
.error-tools-list a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 18px;
    background: var(--bg-card);
    border: 1px solid rgba(var(--yellow-rgb), 0.22);
    color: var(--w);
    text-decoration: none;
    font-weight: var(--fw-bold);
    transition:
        color 0.15s,
        border-color 0.15s,
        background-color 0.15s,
        box-shadow 0.15s;
}
.product-compare-cta a,
.product-research-links a {
    display: inline-flex;
    min-height: 44px;
    color: var(--yellow);
    text-decoration: none;
    font-weight: var(--fw-bold);
}
.error-tools-list a:focus-visible,
.error-tools-list a:hover {
    border-color: var(--yellow);
    color: var(--yellow);
    background: var(--bg-card-2);
    box-shadow: var(--glow-y-soft);
}
.product-compare-cta {
    margin: 1.25rem 0 0;
    padding-inline: 22px;
    text-align: center;
}
.product-compare-cta a {
    align-items: center;
    gap: 7px;
    padding: 9px 20px;
    border: 1px solid rgba(var(--yellow-rgb), 0.5);
    transition:
        background-color 0.15s,
        border-color 0.15s;
}
.product-compare-cta a:focus-visible,
.product-compare-cta a:hover {
    background: rgba(var(--yellow-rgb), 0.12);
    border-color: var(--yellow);
}
.product-compare-cta a:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}
.product-research-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
    margin: 0.9rem 0 0;
    padding: 0 22px 22px;
}
.product-research-links a {
    align-items: center;
    padding: 4px 14px;
    border-radius: var(--r-pill);
    background: rgba(var(--yellow-rgb), 0.08);
    border: 1px solid rgba(var(--yellow-rgb), 0.4);
    font-size: var(--fs-sm);
    transition:
        color 0.15s,
        border-color 0.15s,
        background-color 0.15s;
}
.product-research-links a:focus-visible,
.product-research-links a:hover {
    color: var(--yellow-2);
    border-color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.16);
}
.product-research-links a:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}
.buy-trust-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 12px 0 0;
    font-size: var(--fs-sm);
    color: var(--gray-1);
}
.buy-trust-count,
.buy-trust-since {
    font-weight: var(--fw-bold);
    color: var(--warning-text, var(--yellow));
}
.buy-trust-sep {
    color: var(--text-faint);
}
.related-tools {
    max-width: 960px;
    margin: 40px auto 8px;
    padding: 0 var(--pad-x);
}
.related-tools-h {
    font-size: 1.2rem;
    font-weight: var(--fw-bold);
    color: var(--w);
    margin: 0 0 14px;
}
.da-fit-col ul,
.related-tools-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.related-tools-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: 12px;
}
.related-tool-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid var(--bg-border);
    background: linear-gradient(180deg, #161513 0, var(--bg-card-2) 100%);
    text-decoration: none;
    color: var(--w);
    transition:
        border-color 0.18s,
        transform 0.18s,
        box-shadow 0.18s;
}
.related-tool-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.related-tool-card:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.related-tool-ico {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--yellow-rgb), 0.1);
    color: var(--yellow);
    border: 1px solid rgba(var(--yellow-rgb), 0.22);
}
.related-tool-ico svg {
    width: 22px;
    height: 22px;
}
.related-tool-desc {
    font-size: var(--fs-sm);
    color: var(--gray-1);
    line-height: 1.35;
}
.related-tool-arrow {
    flex-shrink: 0;
    color: var(--yellow);
    font-weight: var(--fw-bold);
}
.glossary-link {
    color: inherit;
    text-decoration: underline dotted rgba(var(--yellow-rgb), 0.7);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition:
        color 0.15s,
        text-decoration-color 0.15s;
}
.glossary-link:focus-visible,
.glossary-link:hover {
    color: var(--yellow);
    text-decoration-color: var(--yellow);
}
.glossary-link:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
    border-radius: 2px;
}
.decision-aid {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto 30px;
}
@media (max-width: 1200px) {
    .decision-aid,
    .seo-section {
        max-width: 900px;
    }
}
@media (max-width: 1000px) {
    .decision-aid,
    .seo-section {
        max-width: 700px;
    }
}
.plain-lang--home,
.sitemap {
    max-width: var(--container);
}
.decision-aid-h {
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    font-weight: var(--fw-bold);
    color: var(--w);
    margin: 0 0 16px;
}
.da-fit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.da-fit-col {
    padding: 16px 18px;
    border-radius: 14px;
    border: 1px solid var(--bg-border);
    background: linear-gradient(180deg, #141312 0, var(--bg-card-2) 100%);
}
.da-best {
    border-color: rgba(var(--yellow-rgb), 0.32);
}
.da-fit-head {
    margin: 0 0 10px;
    font-weight: var(--fw-bold);
    font-size: var(--fs-base);
    display: flex;
    align-items: center;
    gap: 8px;
}
.da-fit-col li,
.da-ladder-head {
    font-size: var(--fs-sm);
    color: var(--gray-1);
}
.da-fit-col ul {
    display: grid;
    gap: 7px;
}
.da-fit-col li {
    position: relative;
    padding-left: 18px;
    line-height: 1.4;
}
.da-fit-col li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bg-border);
}
.da-best li::before {
    background: var(--yellow);
}
.da-ladder {
    margin-top: 18px;
}
.da-ladder-head {
    margin: 0 0 10px;
    font-weight: var(--fw-bold);
}
.da-ladder-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: 12px;
}
.da-ladder-card {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 13px 15px;
    border-radius: 12px;
    border: 1px solid var(--bg-border);
    background: var(--bg-card);
    text-decoration: none;
}
.da-ladder-card:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}
.da-ladder-dir {
    font-size: var(--fs-xs, 0.72rem);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}
.da-ladder-price {
    font-size: var(--fs-sm);
    color: var(--yellow);
    font-weight: var(--fw-bold);
}
.da-settings {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid var(--bg-border);
    border-radius: 14px;
    background: var(--bg-card-2);
}
.da-settings-head {
    margin: 0 0 12px;
    font-size: var(--fs-base);
    font-weight: var(--fw-bold);
    color: var(--w);
}
.da-settings-grid {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}
.da-settings-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid var(--bg-border);
}
.da-settings-row:first-child {
    border-top: 0;
}
.da-settings-row dt {
    color: var(--gray-1);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
}
.da-settings-row dd {
    margin: 0;
    color: var(--w);
    font-size: var(--fs-sm);
}
.da-settings-note {
    margin: 12px 0 0;
    font-size: var(--fs-sm);
    color: var(--text-muted);
    line-height: 1.4;
}
.plain-lang,
.seo-section .seo-body,
.sitemap-intro {
    line-height: var(--lh-prose);
}
@media (max-width: 560px) {
    .footer-inner {
        padding-top: 0;
        padding-bottom: 24px;
    }
    .footer-trust {
        margin-bottom: 32px;
        padding: 14px 2px 18px;
    }
    .footer-bottom {
        align-items: flex-start;
        gap: 14px;
        margin-top: 32px;
    }
    .footer-top {
        margin-left: 0;
    }
    .footer-brand {
        text-align: center;
    }
    .footer-logo,
    .footer-pay {
        justify-content: center;
    }
    .footer-tagline {
        margin: 14px auto 20px;
        max-width: 40ch;
    }
    .footer-social {
        justify-content: center;
        margin-bottom: 20px;
    }
    footer nav ul {
        gap: 0;
    }
    footer nav a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 8px 0;
        margin-bottom: 0;
    }
    .footer-a11y {
        margin-top: 16px;
        padding-top: 12px;
    }
    .a11y-size-seg,
    .footer-a11y-size {
        width: 100%;
    }
    .a11y-textsize {
        flex: 1 1 0;
    }
    .da-fit,
    .da-settings-row {
        grid-template-columns: 1fr;
    }
    .da-settings-row {
        gap: 2px;
    }
}
.decision-aid-h::before {
    content: "";
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    transform: rotate(45deg);
    border-radius: 2px;
    background: var(--grad-gold);
}
.cross-sell::before,
.da-best::before {
    top: 0;
    height: 1px;
    content: "";
    position: absolute;
}
.da-fit {
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}
.da-fit-col {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #161513 0,
        var(--bg-card) 52%,
        var(--bg-card-2) 100%
    );
}
.da-best::before {
    left: 16px;
    right: 16px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.7),
        transparent
    );
}
.da-ladder-card {
    background: linear-gradient(180deg, #161513 0, var(--bg-card-2) 100%);
}
.reviews-controls {
    gap: 12px 14px;
}
.reviews-sort {
    padding: 9px 28px 9px 14px;
    border-radius: var(--r-pill);
    appearance: none;
    -webkit-appearance: none;
    background-image: url(../images/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 11px center;
    background-size: 12px;
}
.reviews-verified-toggle {
    cursor: pointer;
    gap: 9px;
    padding: 8px 14px 8px 12px;
    min-height: 40px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-pill);
    background: var(--bg-card);
    color: var(--gray-1);
    transition:
        border-color 0.15s,
        background 0.15s,
        color 0.15s;
}
.reviews-verified-toggle:hover {
    border-color: rgba(var(--yellow-rgb), 0.5);
    color: var(--w);
}
.reviews-verified-toggle:has(input:checked) {
    border-color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.08);
    color: var(--w);
}
.reviews-verified-toggle input {
    accent-color: var(--yellow);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    position: relative;
    border: 1.5px solid var(--text-muted);
    border-radius: 5px;
    background: 0 0;
    transition:
        background 0.15s,
        border-color 0.15s;
}
.reviews-verified-toggle:hover input {
    border-color: var(--yellow-2);
}
.reviews-verified-toggle input:checked {
    background: var(--grad-gold);
    border-color: transparent;
}
.reviews-verified-toggle input:checked::after {
    content: "";
    position: absolute;
    left: 5.5px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid var(--text-on-gold);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.buy-trust-line {
    justify-content: center;
    gap: 8px 12px;
    border-top: 1px solid var(--bg-border);
    font-size: var(--fs-base);
}
.cross-sell {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        #161513 0,
        var(--bg-card) 50%,
        var(--bg-card-2) 100%
    );
}
.cross-sell::before {
    left: 16%;
    right: 16%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--yellow-rgb), 0.6),
        transparent
    );
}
.cross-sell-link {
    background: rgba(255, 255, 255, 0.018);
    transition:
        border-color 0.15s,
        background 0.15s,
        transform 0.15s;
}
.cross-sell-link:hover {
    transform: translateY(-1px);
}
.compare-why {
    align-self: flex-start;
    margin: 7px 0 2px;
    padding: 2px 9px;
    background: rgba(var(--yellow-rgb), 0.12);
    border-color: rgba(var(--yellow-rgb), 0.4);
}
.glossary-group {
    margin: 0 0 18px;
    padding: clamp(18px, 3vw, 24px) clamp(18px, 3vw, 26px);
    background: linear-gradient(
        180deg,
        #141312 0,
        var(--bg-card) 60%,
        var(--bg-card-2) 100%
    );
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xl);
}
.glossary-group-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-left: 0;
    font-size: var(--fs-lg);
}
.glossary-group-heading::before {
    content: "";
    width: 4px;
    height: 1.05em;
    flex-shrink: 0;
    border-radius: var(--r-pill);
    background: linear-gradient(180deg, var(--yellow), var(--yellow-deep));
}
.glossary-dl {
    column-gap: 40px;
}
.glossary-dl dt {
    font-size: var(--fs-md);
    margin: 0 0 5px;
    transition: color 0.12s;
}
.glossary-dl dd {
    margin: 0 0 20px;
    padding-bottom: 0;
    font-size: var(--fs-base);
}
.glossary-see {
    margin-top: 7px;
}
.glossary-see a {
    min-height: 0;
    padding: 3px 10px;
    margin: 2px 4px 0 0;
    border: 1px solid rgba(var(--yellow-rgb), 0.3);
    border-radius: var(--r-pill);
    background: rgba(var(--yellow-rgb), 0.07);
    text-decoration: none;
    font-weight: var(--fw-bold);
}
.assurance-terms,
.contact-a11y a,
.glossary-jump-list a,
.sitemap-list a,
.terms-plain-link {
    text-decoration: underline;
}
.glossary-see a:focus-visible,
.glossary-see a:hover {
    border-color: var(--yellow);
    background: rgba(var(--yellow-rgb), 0.14);
}
.contact-section {
    align-items: stretch;
    gap: clamp(16px, 3vw, 28px);
}
.contact-header {
    justify-content: center;
}
.contact-methods {
    gap: 18px;
}
.contact-methods .contact-method {
    flex: 1 1 0;
    min-height: 104px;
}
.da-fit-head {
    gap: 9px;
}
.da-fit-head span[aria-hidden] {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 0.75rem;
    line-height: 1;
    flex-shrink: 0;
}
.da-best .da-fit-head span[aria-hidden] {
    color: var(--text-on-gold);
    background: var(--grad-gold);
}
.da-not .da-fit-head span[aria-hidden] {
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid var(--bg-border);
}
.da-ladder-card {
    transition:
        border-color 0.15s,
        transform 0.15s,
        box-shadow 0.15s;
}
.da-ladder-down .da-ladder-dir::before,
.da-ladder-up .da-ladder-dir::before {
    margin-right: 5px;
    font-weight: var(--fw-bold);
}
.da-ladder-down .da-ladder-dir::before {
    content: "\2193";
    color: var(--success);
}
.da-ladder-up .da-ladder-dir::before {
    content: "\2191";
    color: var(--yellow);
}
.da-settings-row {
    transition: background 0.12s;
}
.da-settings-row:hover {
    background: rgba(var(--yellow-rgb), 0.03);
}
.reviews-dist-fill {
    background: linear-gradient(
        90deg,
        var(--yellow-deep),
        var(--yellow) 60%,
        #f7d479
    );
}
.reviews-dist-bar {
    background: rgba(255, 255, 255, 0.06);
}
.reviews-score {
    background: linear-gradient(180deg, #fff, #d8d8d8);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.compare-col--current {
    box-shadow:
        var(--shadow-md),
        inset 0 2px 0 rgba(var(--yellow-rgb), 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.compare-badge-now {
    background: var(--grad-gold);
    color: var(--text-on-gold);
    border-radius: var(--r-pill);
    box-shadow: 0 2px 8px rgba(var(--yellow-rgb), 0.35);
}
.compare-col-cat {
    color: var(--text-secondary);
}
.compare-col-name,
.contact-stat-value {
    letter-spacing: -0.01em;
}
.cross-sell-thumb {
    border: 1px solid var(--bg-border);
}
.contact-method-label,
.cross-sell-link:hover .cross-sell-cta {
    color: var(--yellow-2);
}
.cross-sell-link .cross-sell-cta {
    transition:
        color 0.15s,
        transform 0.15s;
}
.contact-method-icon {
    width: 48px;
    height: 48px;
}
.contact-method-icon svg {
    width: 22px;
    height: 22px;
}
.glossary-group:hover {
    border-color: rgba(var(--yellow-rgb), 0.22);
}
.glossary-group {
    transition: border-color 0.2s;
}
.plain-lang {
    display: none;
    margin: 16px 0;
    padding: 14px 16px 14px 18px;
    border-left: 3px solid var(--yellow);
    background: color-mix(in srgb, var(--yellow), transparent 92%);
    border-radius: 0 var(--r-sm) var(--r-sm) 0;
    color: var(--gray-1);
    font-size: var(--fs-base);
}
.plain-lang-tag {
    display: block;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--yellow);
    margin-bottom: 6px;
}
.cat-products-heading,
.sitemap-heading {
    letter-spacing: -0.02em;
    font-weight: var(--fw-bold);
}
.plain-lang--home {
    margin-inline: auto;
}
html.a11y-plain .gcs-faq-container details > p.faq-plain {
    margin: 22px 30px 0 86px;
    padding: 12px 16px;
    border-top: none;
    color: var(--gray-1);
}
@media (pointer: coarse) {
    .filter-chip,
    .reviews-verified-toggle,
    button:not([disabled]):not([hidden]),
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    select,
    summary,
    textarea {
        min-height: 44px;
    }
    #lb-overlay button,
    .gcs-pal-close,
    .plan-sheet-close,
    .reviews-nav-btn {
        min-width: 44px;
        min-height: 44px;
    }
    .category-controls-filters,
    .reviews-nav {
        gap: 8px;
    }
}
.sitemap {
    width: calc(100% - 2 * var(--pad-x));
    margin: 0 auto;
}
.sitemap-intro {
    color: var(--gray-1);
    font-size: var(--fs-md);
    margin: 0 0 var(--space-8);
    max-width: 70ch;
}
.cat-products-heading,
.contact-a11y {
    width: calc(100% - 2 * var(--pad-x));
    max-width: var(--container);
}
.sitemap-section {
    margin: 0 0 var(--space-12);
}
.sitemap-heading {
    font-size: var(--fs-2xl);
    color: var(--w);
    margin: 0 0 var(--space-4);
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.sitemap-subheading {
    font-size: var(--fs-md);
    font-weight: var(--fw-bold);
    color: var(--gray-1);
    margin: var(--space-6) 0 var(--space-3);
}
.sitemap-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 6px 24px;
}
.sitemap-list li {
    margin: 0;
    min-width: 0;
}
.sitemap-list a {
    display: inline-block;
    padding: 6px 0;
    color: var(--gray-1);
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    line-height: 1.4;
}
.glossary-jump-list a:hover,
.sitemap-list a:hover {
    color: var(--yellow);
    text-decoration-thickness: 2px;
}
.sitemap-list a:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    border-radius: 4px;
    color: var(--yellow);
}
.cat-products-heading {
    margin: 0 auto 4px;
    font-size: var(--fs-2xl);
    color: var(--w);
    text-align: left;
}
.glossary-jump-label,
.glossary-jump-list a {
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.glossary-jump {
    margin: 0 0 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 14px;
}
.glossary-jump-label {
    font-weight: var(--fw-bold);
}
.glossary-jump-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}
.glossary-jump-list a {
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    white-space: nowrap;
}
.contact-a11y p,
.contact-a11y-list li {
    font-size: var(--fs-base);
    color: var(--gray-1);
}
.glossary-jump-list a:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    border-radius: 4px;
    color: var(--yellow);
}
@media (min-width: 1201px) {
    .hero-info {
        justify-content: flex-start;
    }
    .hero-media > .cross-sell {
        margin: 0 30px 30px;
    }
}
@media (max-width: 1200px) {
    .hero-media {
        display: contents;
    }
    .hero-gallery {
        order: 1;
    }
    .hero-info {
        order: 2;
    }
    .hero-media > .cross-sell {
        order: 3;
        margin: 0;
    }
}
@media (max-width: 500px) {
    .gcs-card::after {
        display: block;
        margin: auto 12px 12px;
        padding: 8px 12px;
        letter-spacing: 0.12em;
    }
    .gcs-card:not([data-cta])::after {
        display: none;
    }
    .gcs-card > .gcs-price {
        font-size: var(--fs-lg);
    }
    .hero-gallery:has(.gallery-swipe) {
        border-radius: var(--r-lg);
        overflow: hidden;
    }
}
.security-note {
    margin-top: 14px;
}
.payment-marks {
    margin-top: 10px;
    padding-top: 10px;
}
.buy-trust-line {
    margin-top: 12px;
    padding-top: 12px;
}
.hero-help-links {
    margin-top: 8px;
}
.terms-plain-link {
    color: var(--yellow);
    font-weight: var(--fw-bold);
    white-space: nowrap;
    text-underline-offset: 2px;
}
@media (prefers-reduced-transparency: reduce), (prefers-reduced-data: reduce) {
    header {
        background: var(--bg-main);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    #lb-overlay,
    #pay-loader-overlay,
    .gcs-nav,
    .gcs-pal-backdrop,
    .mobile-buy-bar,
    body.gcs-search-open::before {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .gallery-counter,
    .gallery-nav-btn {
        background: #0a0c12;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .status-badge-minimal {
        background: #0e0e12;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .card-status-badge {
        background: #0e0e12;
    }
    #pay-loader-overlay {
        background: rgba(0, 0, 0, 0.94);
    }
    #lb-overlay {
        background: rgba(0, 0, 0, 0.96);
    }
    .gcs-pal-backdrop {
        background: rgba(6, 8, 12, 0.95);
    }
    body.gcs-search-open::before {
        background: rgba(6, 8, 18, 0.93);
    }
}
@media (prefers-contrast: custom) {
    :root {
        --gray-1: #ffffff;
        --text-muted: #ededed;
        --text-secondary: #e6e6e6;
        --text-faint: #c2c2c2;
        --bg-border: #6a6a6a;
    }
    ::placeholder {
        color: #c9c9c9;
        opacity: 1;
    }
    :where(
        a,
        button,
        input,
        select,
        textarea,
        summary,
        [tabindex]
    ):focus-visible {
        outline-width: 4px;
    }
}
@media (prefers-contrast: more), (prefers-contrast: custom) {
    :root {
        --error: #ffc4c4;
        --warning-text: #ffe0a8;
        --success: #86f5ac;
        --border-field: #b0b0b0;
    }
}
@media (prefers-reduced-data: reduce) {
    :root {
        --glow-y-soft: 0 0 0 transparent;
        --glow-y: 0 0 0 transparent;
    }
    .tool-card::before,
    .tools-hero::before {
        display: none;
    }
}
@media (inverted-colors: inverted) {
    :root {
        --glow-y-soft: 0 0 0 transparent;
        --glow-y: 0 0 0 transparent;
    }
}
.p-grid .gcs-card {
    background: linear-gradient(
        180deg,
        var(--bg-card) 0,
        var(--bg-card-2) 100%
    );
    box-shadow: var(--shadow-sm), var(--edge);
}
.p-grid .gcs-card:focus-visible,
.p-grid .gcs-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--yellow-rgb), 0.42);
    box-shadow: var(--shadow-md), var(--glow-y-soft), var(--edge-strong);
}
.cta-heading::after,
.cta::before,
.g .gcs-t::after,
.gcs-faq-container .gcs-t::after,
.gcs-faq-container details::after,
.gcs-faq-container summary::before,
.gcs-tit::after,
.gcs-trust-strip::after,
.gcs-trust-strip::before,
.gcs-w .gcs-t::after,
.hero-title::after,
.home-reviews .gcs-t::after,
.how-it-works .gcs-t::after,
.how-it-works::before,
.p-grid .gcs-card::before,
.related-categories .gcs-t::after {
    content: none;
    display: none;
}
.p-grid .gcs-card img {
    -webkit-mask: none;
    mask: none;
    filter: none;
}
.p-grid .gcs-card:focus-visible img,
.p-grid .gcs-card:hover img {
    transform: scale(1.04);
    filter: none;
}
.p-grid .gcs-tit {
    padding: 16px 16px 6px;
}
.p-grid .gcs-price-qual {
    padding: 0;
    letter-spacing: 0.14em;
    color: var(--text-muted);
    -webkit-text-fill-color: var(--text-muted);
}
.p-grid .gcs-card > .gcs-price {
    background: 0 0;
    color: var(--yellow);
    -webkit-text-fill-color: var(--yellow);
}
.p-grid .gcs-card::after {
    margin: auto 0 0;
    padding: 13px 16px;
    border: 0;
    border-top: 1px solid var(--bg-border);
    border-radius: 0;
    background: 0 0;
    color: var(--text-muted);
    letter-spacing: 0.14em;
}
.p-grid .gcs-card:focus-visible::after,
.p-grid .gcs-card:hover::after {
    background: rgba(var(--yellow-rgb), 0.1);
    border-top-color: rgba(var(--yellow-rgb), 0.32);
    color: var(--yellow);
    box-shadow: none;
}
.contact-a11y {
    margin: 0 auto 60px;
}
.contact-a11y-heading {
    font-size: var(--fs-2xl);
    font-weight: var(--fw-bold);
    color: var(--w);
    margin: 0 0 16px;
    line-height: 1.2;
}
.contact-a11y p {
    line-height: 1.65;
    max-width: 70ch;
    margin: 0 0 14px;
}
.contact-a11y-list {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 70ch;
}
.contact-a11y-list li {
    line-height: 1.6;
    padding-left: 22px;
    position: relative;
}
.contact-a11y-list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: var(--yellow);
    font-weight: var(--fw-bold);
}
.contact-a11y a {
    color: var(--yellow-2);
}
.contact-a11y-keys {
    margin: 0 0 14px;
    max-width: 70ch;
}
.contact-a11y-keys .a11y-toggle {
    margin-left: -8px;
}
.contact-a11y-keys kbd {
    display: inline-block;
    min-width: 1.6em;
    padding: 1px 6px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-sm);
    background: var(--bg-card);
    color: var(--w);
    font-family: inherit;
    font-size: 0.9em;
    font-weight: var(--fw-bold);
    text-align: center;
}
.cta-heading,
.g-h1,
.gcs-t,
.hero-title,
.home-reviews-title,
h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}
.ac-guide-body,
.ac-guide-section,
.ac-seo,
.cat-quick-answer,
.contact-a11y-list,
.glossary-section,
.review-text,
.seo-body,
.terms-intro,
.terms-section {
    text-wrap: pretty;
    hyphens: auto;
    -webkit-hyphens: auto;
    hyphenate-limit-chars: 6 3 2;
    font-variant-ligatures: contextual;
    hanging-punctuation: first last;
}
.ac-guide-section h2,
.ac-guide-section h3,
.glossary-section h2,
.glossary-section h3,
.seo-body h2,
.seo-body h3,
.terms-section h2,
.terms-section h3 {
    hyphens: manual;
    text-wrap: balance;
}
.sens-cell-val,
.sens-metric-val,
.sid-value,
.vac-meta,
.vac-stat-val,
.xh-val,
code,
kbd,
pre,
samp {
    font-variant-ligatures: none;
    font-kerning: none;
}
.ac-guide-body a,
.ac-guide-section a,
.ac-seo a,
.cat-quick-answer a,
.cat-seealso a,
.contact-a11y a,
.glossary-section a,
.seo-body a,
.terms-section a {
    text-decoration-thickness: max(1px, 0.06em);
    text-decoration-skip-ink: auto;
    text-underline-offset: 0.18em;
}
.seo-section .seo-body {
    color: var(--gray-1);
}
.seo-section .seo-body :is(h2, h3) {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 30px 0 14px;
    padding: 26px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--bg-border), transparent 12%);
    border-left: 0;
    color: var(--w);
    font-size: var(--fs-md);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.09em;
    line-height: 1.35;
}
.seo-section .seo-body :is(h2, h3)::before {
    content: "";
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    border-radius: 1px;
    background: linear-gradient(135deg, var(--yellow), var(--yellow-2));
    box-shadow: 0 0 9px rgba(var(--yellow-rgb), 0.45);
}
.seo-section .seo-body > :is(h2, h3):first-child {
    border-top: 0;
    padding-top: 2px;
    margin-top: 6px;
}
.seo-section .seo-body strong {
    color: var(--w);
    font-weight: 600;
}
.buy-assurance {
    margin-top: 18px;
    padding: 16px 18px;
    background: rgba(0, 0, 0, 0.24);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.assurance-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
}
.assurance-foot,
.assurance-pay {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--bg-border);
}
.assurance-list li {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: var(--fs-sm);
    line-height: 1.3;
    color: var(--w);
}
.assurance-ic {
    flex: none;
    width: 17px;
    height: 17px;
    color: var(--yellow);
}
.buy-trust-ic,
.help-ic {
    width: 15px;
    height: 15px;
}
.assurance-pay {
    align-items: center;
    justify-content: space-between;
}
.assurance-pay-label {
    font-size: 0.6875rem;
    font-weight: var(--fw-bold);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--text-muted);
    white-space: nowrap;
}
.buy-assurance .payment-marks {
    margin: 0;
    padding: 0;
    border-top: 0;
    gap: 8px;
}
.buy-assurance .payment-marks img,
.buy-assurance .payment-marks svg {
    height: 19px;
    width: auto;
    padding: 5px 9px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--bg-border);
    border-radius: 7px;
    box-sizing: content-box;
    opacity: 1;
}
.buy-assurance .payment-marks img {
    height: 25px;
    padding-top: 2px;
    padding-bottom: 2px;
}
.assurance-foot {
    flex-direction: column;
    align-items: center;
}
.buy-assurance .buy-trust-line {
    margin: 0;
    padding: 0;
    border-top: 0;
    justify-content: center;
    gap: 10px 14px;
    font-size: var(--fs-sm);
}
.buy-trust-stat {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.buy-trust-ic {
    flex: none;
    color: var(--yellow);
}
.assurance-terms,
.pp-kicker,
.pp-status,
.pp-sub {
    color: var(--text-muted);
}
.buy-assurance .buy-trust-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--text-faint);
}
.buy-assurance .hero-help-links {
    margin: 0;
    gap: 10px;
}
.buy-assurance .hero-help-links a {
    gap: 7px;
    min-height: 44px;
    padding: 7px 15px;
}
.help-ic {
    flex: none;
}
.assurance-terms {
    font-size: 0.6875rem;
    text-decoration-color: rgba(255, 255, 255, 0.22);
    text-underline-offset: 3px;
}
.assurance-terms:focus-visible,
.assurance-terms:hover {
    color: var(--yellow);
    text-decoration-color: currentColor;
}
@media (max-width: 480px) {
    .related-categories-list li {
        flex-basis: 100%;
        min-width: 0;
    }
    .related-categories-list a {
        padding: 14px 16px;
    }
    .cat-trust {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        justify-content: flex-start;
    }
    .mobile-buy-bar-changecue {
        font-size: 0.625rem;
        letter-spacing: 0;
        margin-left: 4px;
    }
    .assurance-list {
        grid-template-columns: 1fr;
    }
    .assurance-pay {
        flex-direction: column;
        align-items: center;
        gap: 9px;
    }
}
.pp-kicker {
    font-size: 0.6875rem;
    font-weight: var(--fw-regular);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0;
}
.pp-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    margin-top: 100px;
    padding-bottom: 4px;
}
@media (min-width: 1201px) {
    .pp-head {
        width: 100%;
        max-width: var(--container);
        padding-bottom: 15px;
    }
}
.pp-head .breadcrumbs-product {
    margin: 0;
    width: auto;
    max-width: none;
}
.pp-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}
.pp-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 10px var(--success);
    flex: none;
}
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
    html.gcs-reveal
        :is(.gcs-card img, .gallery-thumbnail, .compare-col-img img):not(
            .gcs-seen
        ) {
        background-image: linear-gradient(
            100deg,
            rgba(255, 255, 255, 0) 32%,
            rgba(255, 255, 255, 0.05) 47%,
            rgba(255, 209, 102, 0.06) 50%,
            rgba(255, 255, 255, 0.05) 53%,
            rgba(255, 255, 255, 0) 68%
        );
        background-repeat: no-repeat;
        background-size: 220% 100%;
        animation: 1.3s ease-in-out infinite gcs-shimmer;
    }
    html.gcs-reveal
        :is(
            .gcs-card img,
            .gallery-thumbnail,
            .compare-col-img img
        ).gcs-seen:not(.gcs-noanim) {
        animation: 0.4s both gcs-img-in;
    }
    .gcs-pal {
        animation: 0.16s both gcs-pal-in;
    }
    @keyframes ppPulse {
        0%,
        100% {
            opacity: 0.45;
        }
        50% {
            opacity: 1;
        }
    }
    .pp-status-dot {
        animation: 2.2s ease-in-out infinite ppPulse;
    }
}
.hero-product-wrapper.pp-layout {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 424px);
    gap: 36px;
    max-width: var(--container);
    width: 100%;
    align-items: start;
}
.pp-layout .hero-title {
    text-align: left;
    margin: 0;
    padding-bottom: 0;
    font-size: clamp(2.1rem, 4.6vw, 3.4rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.02em;
    text-wrap: balance;
}
.pp-sub {
    margin: 14px 0 0;
    font-size: 1.0625rem;
    line-height: 1.55;
    max-width: 58ch;
    text-wrap: pretty;
}
.pp-buy .new-swatch .swatch-name,
.pp-buy-live {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
}
.pp-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-top: 16px;
}
.pp-meta .gcs-rating-wrapper {
    margin: 0;
    justify-content: flex-start;
}
.pp-meta-sep {
    width: 1px;
    height: 16px;
    background: var(--bg-border);
    flex: none;
}
.pp-meta .hero-badges {
    margin: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.pp-layout .hero-media {
    margin-top: 22px;
    background: 0 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
.pp-layout .hero-gallery {
    padding: 0;
    gap: 12px;
}
.pp-layout .hero-main-img {
    border-radius: var(--r-lg);
    background: var(--bg-card-2);
    aspect-ratio: 16/10;
}
.pp-main .cross-sell {
    margin-top: 16px;
}
.pp-perks {
    margin-top: 28px;
}
.pp-perks-head {
    margin: 0 0 12px;
}
.pp-perk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 10px;
}
.pp-perk {
    display: flex;
    gap: 12px;
    padding: 16px;
    border-radius: var(--r-md);
    border: 1px solid var(--bg-border);
    background: var(--bg-card-2);
    box-shadow: var(--edge);
}
.pp-perk-ic {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: rgba(var(--yellow-rgb), 0.12);
    color: var(--yellow);
    display: grid;
    place-items: center;
}
.pp-perk-text strong {
    display: block;
    font-size: 0.9375rem;
    color: var(--w);
    margin-bottom: 3px;
}
.pp-perk-text span {
    font-size: 0.84375rem;
    color: var(--text-muted);
    line-height: 1.45;
}
.pp-buy {
    position: sticky;
    top: 96px;
    align-self: start;
    min-width: 0;
}
.pp-buy-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--bg-border);
    border-radius: var(--r-xl);
    background: linear-gradient(
        180deg,
        var(--bg-card) 0,
        var(--bg-card-2) 100%
    );
    box-shadow: var(--shadow-lg), var(--edge);
}
.pp-buy-card::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 380px;
    height: 380px;
    background: var(--yellow);
    filter: blur(150px);
    opacity: 0.12;
    z-index: -1;
    pointer-events: none;
}
.pp-buy-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 12px;
}
.pp-buy-live {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--success);
}
.pp-buy-live--upd .pp-status-dot {
    background: var(--warning);
    box-shadow: 0 0 10px var(--warning);
}
.pp-buy .new-swatches-layout {
    display: block;
    margin: 0;
}
.pp-buy .gcs-plan-fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 10px;
}
.pp-buy .new-swatch.gcs-pay-btn {
    flex: none;
    min-width: 0;
    min-height: 0;
    width: 100%;
    align-items: flex-start;
    text-align: left;
    padding: 16px 14px 12px;
    border-radius: 14px;
}
.pp-buy .new-swatch .swatch-name {
    min-height: 0;
    margin-bottom: 8px;
    justify-content: flex-start;
    text-align: left;
    letter-spacing: 0.13em;
}
.pp-buy .new-swatch .swatch-price,
.pp-total-price {
    font-size: 1.625rem;
    letter-spacing: -0.02em;
}
.pp-buy .swatch-price-col {
    align-items: flex-start;
}
.pp-buy .new-swatch.best-value .swatch-price {
    font-size: 1.75rem;
}
.pp-buy .new-swatch .swatch-permonth {
    margin-bottom: 8px;
}
.pp-buy .swatch-footer {
    padding: 9px 8px;
    font-size: 0.71875rem;
}
.pp-buy .swatch-badge.new-badge {
    top: -9px;
    padding: 3px 9px;
    font-size: 0.625rem;
    letter-spacing: 0.1em;
}
.pp-total {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 12px;
}
.pp-total-val {
    display: flex;
    align-items: baseline;
    gap: 9px;
    flex-wrap: wrap;
}
.pp-total-price {
    font-weight: 800;
    color: var(--yellow);
    line-height: 1;
}
.gcs-pal-opt-stat,
.status-badge-checked {
    letter-spacing: 0.04em;
}
.pp-buy .pp-cta {
    display: flex;
    flex: none;
    width: 100%;
    max-height: none;
    margin: 0;
    padding: 17px 20px;
    gap: 10px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--yellow-deep);
    border-radius: 14px;
    cursor: pointer;
    background: var(--grad-gold);
    color: var(--text-on-gold);
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-transform: none;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 14px 34px -12px rgba(var(--yellow-rgb), 0.55);
    transition:
        filter 0.15s,
        transform 0.05s;
}
.pp-cta-arrow {
    font-size: 1.15em;
    line-height: 1;
}
.pp-cta-note {
    margin: 0;
    text-align: center;
    font-size: var(--fs-sm);
    color: var(--text-muted);
}
.pp-feat,
.pp-safety > summary {
    color: var(--gray-1);
    font-size: var(--fs-sm);
}
.pp-buy .buy-assurance {
    margin-top: 2px;
}
.pp-buy .hero-ac-reassure {
    margin: 0;
    text-align: center;
}
@media (max-width: 1080px) {
    .hero-product-wrapper.pp-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .pp-buy {
        position: static;
    }
}
.pp-feats {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 10px;
    margin: 12px 0 2px;
}
.pp-feat {
    font-weight: var(--fw-regular);
    max-width: 100%;
    overflow-wrap: anywhere;
}
.pp-feat-sep {
    color: var(--text-faint);
    font-size: var(--fs-sm);
}
.pp-feats-more {
    font-size: var(--fs-sm);
    color: var(--yellow);
    text-decoration: none;
    margin-left: 4px;
}
.pp-feats-more:focus-visible,
.pp-feats-more:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.pp-feats-more:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
    border-radius: var(--r-xs);
}
.pp-safety {
    margin: 14px 0 0;
    background: var(--bg-card-2, rgba(255, 255, 255, 0.02));
    border: 1px solid var(--bg-border);
    border-radius: var(--r-md);
}
.pp-safety > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
}
.pp-safety-row dd,
.pp-safety-title {
    color: var(--w);
    font-weight: var(--fw-bold);
}
.pp-safety > summary::-webkit-details-marker {
    display: none;
}
.pp-safety > summary:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
    border-radius: var(--r-md);
}
.pp-safety > summary svg {
    color: var(--yellow);
    flex: none;
    transition: transform 0.18s;
}
.pp-safety-list {
    margin: 0;
    padding: 2px 14px 12px;
}
.pp-safety-row {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid var(--bg-border);
}
.pp-safety-row dd {
    margin: 0;
    font-size: var(--fs-sm);
}
.pp-safety-note {
    display: block;
    margin-top: 3px;
    color: var(--gray-1);
    font-weight: 400;
    line-height: 1.5;
}
.gcs-pal-opt--more,
.gcs-pal-opt-stat,
.shop-tier-head {
    font-weight: var(--fw-bold);
}
.pp-safety-more {
    margin: 0;
    padding: 0 14px 12px;
    font-size: var(--fs-sm);
    color: var(--gray-1);
}
@media (max-width: 560px) {
    .pp-safety-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }
    .pp-safety-hint {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    ::after,
    ::before {
        animation-duration: 0s !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0s !important;
        scroll-behavior: auto !important;
    }
    @view-transition {
        navigation: none;
    }
    .a11y-toggle-check::after,
    .card-feat-tag,
    .gcs-c,
    .gcs-c svg,
    .gcs-c::before,
    .gcs-card,
    .gcs-card img,
    .gcs-card::after,
    .gcs-card::before,
    .gcs-tit::after,
    .plan-sheet-backdrop,
    .plan-sheet-panel,
    .pp-safety > summary svg {
        transition: none;
    }
    .hiw-step:hover {
        transform: none;
    }
    .gcs-w::before,
    .how-it-works::before {
        display: none;
    }
    .gcs-card:focus-visible,
    .gcs-card:hover {
        transform: none;
    }
    .gcs-card:focus-visible img,
    .gcs-card:hover img {
        transform: none;
    }
    .gcs-card:focus-visible::before,
    .gcs-card:hover::before {
        left: 16%;
        right: 16%;
    }
    .gcs-c:hover,
    .gcs-c:hover svg,
    .gcs-trust-strip li:hover,
    .gcs-trust-strip li:hover .gcs-trust-ico {
        transform: none;
    }
    .gcs-c:hover::before {
        left: 18%;
        right: 18%;
    }
    .related-categories-list a:focus-visible,
    .related-categories-list a:hover {
        transform: none;
    }
    .related-categories-list a:focus-visible .related-arrow,
    .related-categories-list a:hover .related-arrow {
        transform: none;
    }
    .g > ul > li:hover {
        transform: none;
    }
    .p-grid .gcs-card:focus-visible,
    .p-grid .gcs-card:hover {
        transform: none;
    }
    .p-grid .gcs-card:focus-visible img,
    .p-grid .gcs-card:hover img {
        transform: none;
    }
}
.gcs-pal-opt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 3px;
    font-size: var(--fs-sm);
    line-height: 1.3;
}
.buy-assurance,
.shop-tier-head {
    gap: var(--space-3);
}
.gcs-pal-opt-stat {
    font-size: 0.6875rem;
    text-transform: uppercase;
}
.gcs-pal-opt-stat.is-upd {
    color: var(--warning);
}
.gcs-pal-opt-tag {
    color: var(--text-muted);
    font-size: 0.6875rem;
    letter-spacing: 0.03em;
}
.gcs-pal-opt--more {
    justify-content: center;
    color: var(--yellow);
    font-size: var(--fs-sm);
}
.footer-pay,
.footer-social,
.hero-badges,
.pp-safety > summary {
    flex-wrap: wrap;
}
@media (max-width: 900px) {
    .search-form--header {
        max-width: 220px;
        margin: 0 8px;
        height: 38px;
    }
    .cta::before {
        left: 50%;
        width: min(520px, 88%);
        height: 300px;
    }
    .footer-a11y-ctls {
        gap: 6px 14px;
    }
    .a11y-set-ctl {
        width: 100%;
    }
    .contact-section {
        align-items: stretch;
    }
    .contact-methods .contact-method {
        flex: 0 0 auto;
        min-height: 0;
    }
    .footer-main {
        grid-template-columns: minmax(0, 1fr);
    }
}
.pp-safety-hint {
    margin-left: auto;
    min-width: 0;
}
.pp-safety-row {
    grid-template-columns: minmax(0, 108px) minmax(0, 1fr);
}
@media (max-width: 760px) {
    .pp-safety-row {
        grid-template-columns: minmax(0, 1fr);
    }
}
.sec-band {
    width: 100%;
    padding-block: var(--band-pad-y);
}
#gcs-hero + #shop,
#gcs-hero + .plain-lang + #shop,
.category-controls + .shop-tier-head,
.sec-band > :first-child {
    margin-top: 0;
}
.sec-band--2 {
    max-width: var(--container);
    width: min(100%, calc(100vw - 2 * var(--pad-x)));
    margin-inline: auto;
    padding-inline: clamp(18px, 2.4vw, 34px);
    border-radius: var(--r-lg);
    border: 1px solid var(--surface-2-border);
    background: var(--band-wash);
    --bg-card: var(--surface-2-card);
    --bg-card-2: var(--surface-2-card-2);
    --bg-border: var(--surface-2-border);
    --surface-cur: var(--surface-2);
    --text-muted: var(--surface-2-muted);
    --text-secondary: var(--surface-2-muted);
}
@media (prefers-contrast: more) {
    .sec-band--2 {
        --bg-border: #6a6a6a;
        --text-muted: #ededed;
        --text-secondary: #e6e6e6;
    }
}
@media (prefers-contrast: less) {
    :root {
        --w: #dcdcdc;
        --gray-1: #bdbdbd;
        --text-muted: #b3b3b3;
        --text-secondary: #a6a6a6;
        --bg-main: #1c1c1c;
        --bg-card: #242424;
        --bg-card-2: #202020;
        --bg-border: #3a3a3a;
    }
    .sec-band--2 {
        --bg-card: #333333;
        --bg-card-2: #2f2f2f;
        --bg-border: #4b4b4b;
        --text-muted: #b3b3b3;
        --text-secondary: #a6a6a6;
        --surface-cur: #2b2b2b;
    }
}
#shop,
.cat-trust,
.cta,
.decision-aid,
.g,
.gcs-faq-container,
.gcs-w,
.gl-next,
.home-reviews,
.how-it-works,
.product-compare,
.related-categories,
.reviews-section,
.seo-section,
main > .ac-fam,
main > .ac-fam-nav,
main > .error-tools {
    margin-top: var(--band-pad-y);
    margin-bottom: var(--band-pad-y);
}
.glossary-section,
.hero-product-wrapper {
    margin-bottom: var(--band-pad-y);
}
.g,
.gcs-faq-container,
.gcs-w,
.how-it-works {
    padding-top: 0;
    padding-bottom: 0;
}
@media (max-width: 700px) {
    .gcs-trust-strip {
        max-width: calc(100vw - 2 * var(--pad-x));
        margin-inline: 0;
    }
    .decision-aid {
        width: calc(100% - 2 * var(--pad-x));
        max-width: var(--container);
        margin-left: auto;
        margin-right: auto;
    }
    .pp-head {
        padding-bottom: 10px;
    }
    .pp-buy-card {
        padding: 16px;
    }
    .pp-layout .hero-media {
        margin-top: 16px;
    }
    :root {
        --band-pad-y: var(--space-8);
    }
}
.shop-tier-head {
    margin: 0 auto var(--space-5);
    display: flex;
    align-items: center;
    text-align: left;
    font-size: var(--fs-md);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--w);
}
.shop-tier-head[hidden] {
    display: none;
}
@media (min-width: 701px) {
    .gcs-nav-brand,
    .gcs-nav-chev,
    .gcs-nav-cta,
    .gcs-nav-cur-label,
    .gcs-nav-ico,
    .gcs-nav-scrim {
        display: none;
    }
    .shop-tier-head {
        width: 100%;
        max-width: var(--container);
    }
}
.shop-tier-head::after {
    content: "";
    flex: 1 1 auto;
    min-width: var(--space-6);
    height: 1px;
    background: rgba(255, 255, 255, 0.16);
}
.shop-tier-count {
    font-size: var(--fs-sm);
    font-weight: var(--fw-regular);
    letter-spacing: 0.04em;
    color: var(--text-muted);
}
.gcs-p-grid--featured,
.p-grid--featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1000px) {
    .gcs-p-grid--featured,
    .p-grid--featured {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.buy-step-head,
.gcs-p-grid + .shop-tier-head,
.p-grid + .shop-tier-head {
    margin-top: var(--space-4);
}
.p-grid .gcs-tit-sub {
    padding: 0 16px 10px;
}
:root {
    --font-mono:
        ui-monospace, "Cascadia Mono", "Segoe UI Mono", SFMono-Regular, Menlo,
        Consolas, "Liberation Mono", monospace;
    --section-gap-y: var(--space-10);
    --band-pad-y: clamp(28px, 3.4vw, 40px);
}
@media (max-width: 700px) {
    :root {
        --section-gap-y: var(--space-6);
        --band-pad-y: var(--space-6);
    }
}
.section-head {
    margin-bottom: var(--space-6);
}
.section-sub {
    margin-top: var(--space-3);
}
.category-controls {
    background: var(--band-wash);
    border: 1px solid var(--surface-2-border);
    border-radius: var(--r-lg);
    box-shadow: none;
}
.category-controls-filters {
    border-top-color: var(--surface-2-border);
}
.p-grid .gcs-card {
    padding-bottom: var(--space-4);
}
.p-grid .gcs-card > .gcs-price {
    margin-top: auto;
    margin-inline: 16px;
    padding: 9px 0 0;
    border-top: 1px solid var(--bg-border);
}
.product-grid .gcs-card {
    padding-bottom: var(--space-3);
}
.gcs-price-from .gcs-price-qual,
.p-grid .gcs-price-qual {
    display: inline;
    margin: 0 0.4em 0 0;
    font-size: 0.75rem;
    letter-spacing: 0;
    text-transform: none;
    font-weight: var(--fw-regular);
}
.gcs-price-from {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}
.card-feat-tag {
    background: 0 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    font-size: 0.6875rem;
    font-weight: var(--fw-regular);
    letter-spacing: 0.02em;
    text-transform: none;
    white-space: nowrap;
}
.card-feat-tag--arch {
    color: var(--yellow-2);
    font-weight: var(--fw-bold);
}
.card-features {
    row-gap: 2px;
    column-gap: 0;
}
.card-features > .card-feat-tag:not(:last-child)::after {
    content: "\00b7";
    margin: 0 0.45em;
    color: var(--text-faint);
}
.gcs-faq-container summary {
    padding: 20px 24px;
    gap: var(--space-4);
}
.gcs-faq-container details > p {
    margin-left: 24px;
    margin-right: 24px;
}
.gcs-faq-container details:hover,
.gcs-faq-container details[open] {
    transform: translateY(-2px);
}
.gcs-faq-container details[open] {
    box-shadow:
        0 0.5px 1px rgba(6, 8, 18, 0.35),
        0 8px 24px rgba(6, 8, 18, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.09);
}
.gcs-trust-strip {
    background: var(--bg-card);
    border: 1px solid var(--bg-border);
    border-radius: var(--r-lg);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.gcs-trust-strip li + li::before {
    top: 12%;
    bottom: 12%;
    background: linear-gradient(
        180deg,
        transparent 0,
        rgba(255, 255, 255, 0.16) 20%,
        rgba(255, 255, 255, 0.16) 80%,
        transparent 100%
    );
}
@media (forced-colors: active) {
    .a11y-textsize[aria-pressed="true"] {
        background: Highlight;
        color: HighlightText;
        forced-color-adjust: none;
    }
    .a11y-toggle[aria-pressed="true"] .a11y-toggle-check {
        background: Highlight;
        border-color: CanvasText;
        forced-color-adjust: none;
    }
    .a11y-toggle[aria-pressed="true"] .a11y-toggle-check::after {
        background: HighlightText;
    }
    .gcs-pal-opt-name mark,
    .search-page-opt-name mark {
        background: Mark;
        color: MarkText;
    }
    .glossary-link {
        text-decoration: underline;
        color: LinkText;
    }
    .gcs-rs-track {
        color: GrayText;
    }
    .gcs-rs-fill {
        color: Highlight;
    }
    .gcs-hamburger::before {
        forced-color-adjust: none;
        background: CanvasText;
        box-shadow:
            0 -9px 0 CanvasText,
            0 9px 0 CanvasText;
    }
    .card-top-badge,
    .contact-badge::before,
    .contact-method-badge {
        forced-color-adjust: none;
        background: Highlight;
        color: HighlightText;
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger::after {
        forced-color-adjust: none;
        background: CanvasText;
    }
    .currency-menu button[aria-selected="true"],
    .gcs-faq-container details[open],
    .gcs-pal-opt[aria-selected="true"],
    .search-result[aria-selected="true"] {
        outline: Highlight solid 2px;
        outline-offset: -2px;
    }
    .b-sec {
        border: 1px solid ButtonText;
    }
    .card-top-badge {
        border: 1px solid Highlight;
    }
    .contact-method--recommended {
        outline: Highlight solid 2px;
        outline-offset: -1px;
    }
    .gcs-card > .gcs-price,
    .gcs-t span,
    .gcs-trust-value,
    .reviews-score {
        -webkit-text-fill-color: CanvasText;
    }
    .g > ul > li:hover,
    .g > ul > li:hover .g-ico {
        border-color: Highlight;
    }
    .g-ico,
    .g > ul > li {
        background: Canvas;
        border-color: CanvasText;
        box-shadow: none;
    }
    .g > ul > li:hover {
        transform: none;
        box-shadow: none;
    }
    .g-cat::before,
    .g > ul > li h3::after,
    .g > ul > li::after,
    .g > ul > li::before,
    .shop-tier-head::after {
        display: none;
    }
    .g-cat,
    .gi {
        color: CanvasText;
    }
    .gi .tell {
        opacity: 1;
    }
    .sec-band--2 {
        background: Canvas;
        --bg-card: Canvas;
        --bg-card-2: Canvas;
        --bg-border: CanvasText;
        --surface-cur: Canvas;
    }
    .card-feat-tag--arch {
        color: LinkText;
    }
    .card-features > .card-feat-tag:not(:last-child)::after {
        color: CanvasText;
    }
}
.seo-section .seo-body :is(h2, h3)::before {
    content: none;
    display: none;
}
.seo-section .seo-body :is(h2, h3) {
    margin-top: var(--space-6);
    padding-top: var(--space-5);
}
/* tbtteam: desktop container lock ÃÂ¢Ã¢ÂÂ¬Ã¢ÂÂ GCS only sets width:100% on these inside max-width:1200/1000/700 media queries, so on wide screens category-controls shrink-wraps and misaligns vs gcs-p-grid / related-categories. */
.cat-trust,
.category-controls,
.category-intro,
.gcs-p-grid,
.related-categories,
main > .cat-quick-answer,
main > h1.gcs-t {
    width: calc(100% - 2 * var(--pad-x));
    max-width: var(--container);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.breadcrumbs {
    align-self: flex-start;
    width: calc(100% - 2 * var(--pad-x));
    max-width: var(--container);
    margin-left: max(calc((100% - var(--container)) / 2), var(--pad-x));
    margin-right: auto;
    box-sizing: border-box;
}
/* tbtteam: product gallery + lightbox */
.hero-main-img {
    object-fit: cover;
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    cursor: zoom-in;
}
.hero-gallery .product-gallery-thumbnails {
    display: flex !important;
    height: auto;
    margin-top: 12px;
}
.gallery-stage .gallery-hero-nav,
.gallery-stage .gallery-hero-counter {
    display: flex;
}
.gallery-stage .gallery-hero-counter {
    display: inline-flex;
}
.gallery-stage .gallery-hero-nav[hidden],
.gallery-stage .gallery-hero-counter[hidden] {
    display: none !important;
}
#lb-overlay img {
    width: auto;
    height: auto;
    max-width: min(96vw, 1400px);
    max-height: 92vh;
    object-fit: contain;
}

.hero-gallery .gallery-thumbnail {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px;
    min-height: 96px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    flex: 0 0 96px;
}
@media (max-width: 700px) {
    .hero-gallery .gallery-thumbnail {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px;
        min-height: 72px;
        flex-basis: 72px;
    }
}

/* tbtteam: mobile bottom nav + palette */
@media (max-width: 768px) {
    .mobile-bottom-nav {
        display: flex !important;
    }
    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }
}
.mobile-bottom-nav .mbn-item {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.gcs-pal-backdrop[hidden] {
    display: none !important;
}
html.gcs-pal-open .gcs-pal-backdrop {
    display: flex;
}

/* GCS menu: khe top+12px — hit-area */
.gcs-shop-menu {
    top: 100%;
    margin-top: 12px;
}
.gcs-shop-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    height: 12px;
}

/* Product page: GCS layout + tablet/mobile nav (hamburger from 1000px like GCS) */
.pp-head,
.hero-product-wrapper.pp-layout {
    width: calc(100% - 2 * var(--pad-x));
    max-width: var(--container);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.hero-product-wrapper.pp-layout,
.pp-layout .hero-media,
.pp-layout .hero-gallery,
.pp-layout .gallery-stage,
.pp-layout .hero-info,
.pp-layout .pp-buy,
.pp-layout .pp-buy-card {
    min-width: 0;
    max-width: 100%;
}
.pp-layout .hero-info,
.pp-layout .pp-buy {
    padding: 0;
    justify-content: flex-start;
}
.pp-layout .hero-title {
    justify-content: flex-start;
    overflow-wrap: anywhere;
}
.pp-layout .gallery-stage {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: var(--r-lg);
}
.pp-layout .hero-main-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}
.pp-layout .product-gallery-thumbnails {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.pp-layout .pp-buy-card {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
.pp-layout .pp-buy .new-swatch {
    min-width: 0 !important;
    max-width: 100%;
}
.compare-col {
    padding: 16px 18px 18px;
}
html.plan-sheet-open,
html.plan-sheet-open body {
    overflow: hidden;
}
body:has(#gcs-nav-toggle:checked) {
    overflow: hidden;
}

@media (max-width: 1000px) {
    .gcs-hamburger,
    .gcs-nav-brand {
        display: flex !important;
        align-items: center;
    }
    .gcs-nav-chev,
    .gcs-nav-ico {
        display: block !important;
    }
    .gcs-shop {
        display: none !important;
    }
    .gcs-shop-mobile {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        min-height: 56px;
        padding: 8px 12px;
        text-align: left;
        color: var(--w);
        border: 1px solid transparent;
        border-radius: 14px;
        text-decoration: none;
        font-weight: var(--fw-bold);
        font-size: 1rem;
    }
    .gcs-brand {
        padding-left: 20px;
    }
    header {
        top: 10px;
        left: var(--pad-x);
        right: var(--pad-x);
        width: auto;
        transform: none;
        height: 60px;
        border-radius: 50px;
        max-width: calc(100vw - 2 * var(--pad-x));
    }
    .gcs-hamburger {
        justify-content: center;
        position: relative;
        z-index: 10002;
        margin-right: 20px;
    }
    .gcs-nav,
    .gcs-nav-scrim {
        position: fixed;
        opacity: 0;
        visibility: hidden;
    }
    .gcs-nav {
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
        max-height: calc(100dvh - 12px);
        border-radius: 0 0 26px 26px;
        transform: translateY(-101%);
        transition:
            transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.3s,
            visibility 0.42s;
        background:
            radial-gradient(
                120% 60% at 50% -20%,
                rgba(var(--yellow-rgb), 0.06),
                transparent 58%
            ),
            linear-gradient(
                180deg,
                color-mix(in srgb, var(--bg-main), #fff 5%),
                var(--bg-main) 58%
            );
        border-bottom: 1px solid #ffffff14;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.06),
            0 24px 64px rgba(6, 8, 18, 0.55);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding: 14px 16px calc(22px + env(safe-area-inset-bottom));
        z-index: 10000;
        gap: 6px;
    }
    .gcs-nav-brand {
        gap: 10px;
        padding: 6px 10px 16px;
        margin-bottom: 8px;
        border-bottom: 1px solid #ffffff10;
        color: var(--w);
        text-decoration: none;
        font-size: 1.1875rem;
        font-weight: var(--fw-bold);
    }
    .gcs-nav-brand img {
        width: 34px;
        height: 34px;
        display: block;
    }
    .gcs-nav .gcs-nav-label {
        flex: 1;
    }
    .gcs-nav .gcs-nav-ico {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        padding: 10px;
        border-radius: 11px;
        color: var(--gray-1);
        background: linear-gradient(180deg, var(--bg-card-2), var(--bg-main));
        border: 1px solid var(--bg-border);
    }
    .gcs-nav .gcs-nav-chev {
        flex-shrink: 0;
        color: var(--gray-1);
        opacity: 0.4;
    }
    .gcs-nav a:not(.gcs-nav-brand):not(.gcs-shop-trigger) {
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        min-height: 56px;
        padding: 8px 12px;
        text-align: left;
        color: var(--w);
        border: 1px solid transparent;
        border-radius: 14px;
        text-decoration: none;
        font-weight: var(--fw-bold);
    }
    .gcs-nav-scrim {
        display: block !important;
        inset: 0;
        z-index: 9999;
        margin: 0;
        background: rgba(6, 8, 14, 0.9);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 0;
        transition:
            opacity 0.32s,
            visibility 0.32s;
        cursor: pointer;
    }
    #gcs-nav-toggle:checked ~ .gcs-nav {
        transform: translateY(0);
        visibility: visible;
        opacity: 1;
    }
    #gcs-nav-toggle:checked ~ .gcs-nav-scrim {
        opacity: 1;
        visibility: visible;
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger::before {
        box-shadow: none;
        transform: translateY(-50%) rotate(45deg);
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger::after {
        content: "";
        display: block;
        position: absolute;
        left: 7px;
        right: 7px;
        top: 50%;
        height: 2px;
        background: var(--w);
        border-radius: 2px;
        transform: translateY(-50%) rotate(-45deg);
    }
    #gcs-nav-toggle:checked ~ .gcs-hamburger span {
        background: transparent;
    }
    .search-form--header {
        display: flex !important;
        max-width: min(220px, 32vw);
        margin: 0 8px;
        height: 38px;
    }
}

@media (max-width: 1080px) {
    .pp-buy-card {
        padding: 18px 16px;
    }
    .pp-layout .hero-main-img {
        box-shadow: 0 8px 24px rgba(6, 8, 18, 0.22);
    }
}

@media (max-width: 768px) {
    body:has(.mobile-buy-bar) .mobile-bottom-nav {
        display: none !important;
    }
    body:has(.mobile-buy-bar) {
        padding-bottom: calc(6rem + env(safe-area-inset-bottom)) !important;
    }
    .hero-product-wrapper.pp-layout {
        padding: 0 0 8px;
    }
    .pp-buy-card {
        border-radius: 16px;
    }
}

@media (max-width: 900px) {
    .how-it-works-steps {
        grid-template-columns: 1fr;
    }
    .compare-cols {
        grid-template-columns: 1fr;
    }
    .compare-col {
        padding: 16px 18px 18px;
    }
    .pp-buy .gcs-plan-fieldset {
        grid-template-columns: 1fr;
    }
    .new-swatches-layout {
        margin-bottom: 16px;
    }
}

@media (max-width: 700px) {
    .compare-cols {
        padding: 12px;
    }
}

@media (max-width: 560px) {
    .hero-product-wrapper.pp-layout {
        gap: 16px;
    }
    .pp-layout .hero-title {
        font-size: clamp(1.7rem, 8vw, 2.3rem);
    }
    .mobile-buy-bar {
        gap: 8px;
        padding: 10px 12px;
        padding-bottom: calc(10px + env(safe-area-inset-bottom));
    }
    .mbb-desktop {
        display: none !important;
    }
}
