:root {
        --gm-ink: #14213d;
        --gm-blue: #087cba;
        --gm-blue-dark: #075f8c;
        --gm-yellow: #ffd43b;
        --gm-coral: #f04f49;
        --gm-green: #248b63;
        --gm-cream: #fff9ef;
        --gm-white: #fff;
        --gm-muted: #5d6472;
        --gm-radius-sm: .75rem;
        --gm-radius: 1.5rem;
        --gm-radius-lg: clamp(1.5rem, 4vw, 3.25rem);
        --gm-shadow: 0 1rem 3rem rgb(20 33 61 / 12%);
        --gm-content: min(100% - 2rem, 1280px);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { color: var(--gm-ink); background: var(--gm-cream); }
    img { max-width: 100%; height: auto; }
    :focus-visible { outline: 3px solid var(--gm-coral); outline-offset: 3px; }
    .page-wrapper { overflow: clip; }
    .page-header {
        position: sticky;
        inset-block-start: 0;
        z-index: 50;
        background: rgb(255 255 255 / 94%);
        backdrop-filter: blur(18px) saturate(140%);
        transition: box-shadow .25s ease, background-color .25s ease;
    }
    .page-header.is-scrolled { box-shadow: 0 .5rem 2rem rgb(20 33 61 / 11%); }
    .header.content { min-height: 5.75rem; display: flex; align-items: center; gap: 1rem; }
    .logo { margin: .5rem auto .5rem 0; }
    .page-header .header.content .logo img { width: auto; height: 72px; max-height: 72px; object-fit: contain; }
    .navigation { background: var(--gm-ink); }
    .navigation .level0 > .level-top { color: var(--gm-white); font-weight: 700; letter-spacing: .01em; }
    .navigation .level0.active > .level-top,
    .navigation .level0.has-active > .level-top { border-color: var(--gm-yellow); color: var(--gm-yellow); }
    .minicart-wrapper .action.showcart::before { color: var(--gm-blue); }
    .block-search input { border: 1px solid rgb(20 33 61 / 18%); border-radius: 999px; min-height: 44px; padding-inline: 1.2rem 3rem; }

    .page-main { max-width: none; padding-inline: 0; }
    .cms-home .page-title-wrapper { display: none; }
    .gm-home { color: var(--gm-ink); }
    .gm-home > section { width: var(--gm-content); margin-inline: auto; }

    .gm-hero {
        position: relative;
        isolation: isolate;
        min-height: clamp(31rem, 72vh, 48rem);
        display: grid;
        align-items: end;
        margin-block-start: 1rem;
        overflow: hidden;
        border-radius: var(--gm-radius-lg);
        box-shadow: var(--gm-shadow);
        container-type: inline-size;
    }
    .gm-hero::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(90deg, rgb(13 25 51 / 88%) 0 38%, rgb(13 25 51 / 18%) 72%, transparent);
    }
    .gm-hero__media, .gm-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
    .gm-hero__media img { object-fit: cover; object-position: center; }
    .gm-hero__content { width: min(43rem, 92%); padding: clamp(2rem, 7vw, 6rem); color: var(--gm-white); }
    .gm-hero h1 { margin: 0; max-width: 12ch; font-size: clamp(3rem, 9cqi, 6.8rem); line-height: .92; letter-spacing: -.055em; text-wrap: balance; }
    .gm-hero p:not(.gm-eyebrow) { max-width: 46ch; font-size: clamp(1.08rem, 2.2cqi, 1.35rem); line-height: 1.6; }
    .gm-eyebrow { margin: 0 0 .8rem; color: var(--gm-coral); font-size: .84rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .gm-hero .gm-eyebrow { color: var(--gm-yellow); }
    .gm-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-block-start: 1.5rem; }
    .gm-home .action.primary,
    .gm-home .action.secondary {
        display: inline-flex;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        border: 2px solid transparent;
        border-radius: 999px;
        padding: .9rem 1.4rem;
        font-weight: 800;
        text-decoration: none;
        transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    }
    .gm-home .action.primary { background: var(--gm-coral); color: var(--gm-white); }
    .gm-home .action.secondary { border-color: rgb(255 255 255 / 60%); background: rgb(255 255 255 / 10%); color: var(--gm-white); }
    .gm-home .action:is(.primary, .secondary):hover { transform: translateY(-2px); box-shadow: 0 .6rem 1.5rem rgb(20 33 61 / 20%); }

    .gm-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-block: clamp(2rem, 6vw, 5rem); }
    .gm-benefits article { display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; padding: 1.5rem; border-radius: var(--gm-radius); background: var(--gm-white); box-shadow: 0 .5rem 2rem rgb(20 33 61 / 7%); }
    .gm-benefits article > span { grid-row: span 2; display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: var(--gm-yellow); color: var(--gm-ink); font-weight: 900; }
    .gm-benefits h2 { margin: 0; font-size: 1.2rem; }
    .gm-benefits p { margin: .25rem 0 0; color: var(--gm-muted); line-height: 1.5; }

    .gm-shop { padding-block: clamp(2rem, 5vw, 4rem); }
    .gm-section-heading { max-width: 49rem; margin-block-end: 2rem; }
    .gm-section-heading h2, .gm-feature h2, .gm-newsletter h2 { margin: 0; font-size: clamp(2.2rem, 5vw, 4.25rem); line-height: 1; letter-spacing: -.04em; text-wrap: balance; }
    .gm-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
    .gm-category-card {
        min-height: 17rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 1.5rem;
        overflow: hidden;
        border-radius: var(--gm-radius);
        color: var(--gm-ink);
        text-decoration: none;
        box-shadow: inset 0 0 0 1px rgb(20 33 61 / 6%);
        transition: transform .25s ease, box-shadow .25s ease;
    }
    .gm-category-card:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: var(--gm-shadow); color: var(--gm-ink); }
    .gm-category-card span { margin-block-end: auto; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .gm-category-card strong { max-width: 10ch; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1; }
    .gm-category-card--blue { background: #9bdbf6; }
    .gm-category-card--yellow { background: var(--gm-yellow); }
    .gm-category-card--coral { background: #ffaaa3; }
    .gm-category-card--green { background: #aee0c7; }

    .gm-feature { display: grid; grid-template-columns: .86fr 1.14fr; align-items: stretch; margin-block: clamp(3rem, 8vw, 7rem); overflow: hidden; border-radius: var(--gm-radius-lg); background: var(--gm-ink); color: var(--gm-white); }
    .gm-feature__content { align-self: center; padding: clamp(2rem, 6vw, 5rem); }
    .gm-feature p:not(.gm-eyebrow) { color: rgb(255 255 255 / 75%); font-size: 1.12rem; line-height: 1.7; }
    .gm-feature img { width: 100%; height: 100%; min-height: 31rem; object-fit: cover; }

    .gm-newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; margin-block-end: 5rem; padding: clamp(2rem, 6vw, 4.5rem); border-radius: var(--gm-radius-lg); background: var(--gm-yellow); }
    .gm-newsletter .block.newsletter { width: 100%; max-width: none; margin: 0; }
    .gm-newsletter .field.newsletter { max-width: none; }
    .gm-newsletter input { min-height: 50px; border: 0; border-radius: 999px 0 0 999px; padding-inline: 1.2rem; }
    .gm-newsletter .action.subscribe { min-height: 50px; border-radius: 0 999px 999px 0; background: var(--gm-ink); }

    .product-item-info { border-radius: var(--gm-radius-sm); transition: transform .2s ease, box-shadow .2s ease; }
    .product-item-info:hover { transform: translateY(-3px); box-shadow: var(--gm-shadow); }
    .product-item-name a { color: var(--gm-ink); font-weight: 700; }
    .price-box .price { color: var(--gm-blue-dark); font-weight: 900; }
    .action.primary { border-color: var(--gm-blue); background: var(--gm-blue); }
    .action.primary:hover { border-color: var(--gm-blue-dark); background: var(--gm-blue-dark); }

    @supports (animation-timeline: view()) {
        .gm-section-heading { animation: gm-fade-up linear both; animation-timeline: view(); animation-range: entry 10% cover 34%; }
    }

    @container (max-width: 720px) {
        .gm-hero::after { background: linear-gradient(0deg, rgb(13 25 51 / 93%), rgb(13 25 51 / 8%) 80%); }
        .gm-hero__content { padding: 2rem; }
    }
    .gm-benefits article, .gm-category-card, .gm-feature { opacity: 0; transform: translateY(1.25rem); }
    .gm-benefits article.is-visible, .gm-category-card.is-visible, .gm-feature.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s ease; }
    @keyframes gm-fade-up { from { opacity: 0; transform: translateY(1.5rem); } to { opacity: 1; transform: none; } }

    @media (max-width: 960px) {
        .gm-category-grid { grid-template-columns: repeat(2, 1fr); }
        .gm-feature, .gm-newsletter { grid-template-columns: 1fr; }
        .gm-feature img { min-height: 22rem; }
    }

    @media (max-width: 767px) {
        .page-header { position: relative; }
        .header.content { min-height: 4.75rem; }
        .page-header .header.content .logo img { height: 56px; max-height: 56px; }
        .gm-benefits { grid-template-columns: 1fr; }
        .gm-category-card { min-height: 13rem; }
    }

    @media (max-width: 520px) {
        .gm-category-grid { grid-template-columns: 1fr; }
        .gm-actions { align-items: stretch; flex-direction: column; }
        .gm-home .action:is(.primary, .secondary) { width: 100%; }
    }

    @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
        .gm-benefits article, .gm-category-card, .gm-feature { opacity: 1; transform: none; }
    }

@media (prefers-contrast: more) {
    :root { --gm-muted: #343943; }
    .gm-category-card, .gm-benefits article { outline: 2px solid currentColor; }
}
