.cheese-season {
    --cheese-season-yellow: #ffbc0d;
    --cheese-season-white: #fff;
    --cheese-season-black: #000;
    overflow: clip;
    isolation: isolate;
    background: var(--cheese-season-yellow);
    color: var(--cheese-season-black);
    font-family: 'Speedee', Arial, sans-serif;
}

.cheese-season *,
.cheese-season *::before,
.cheese-season *::after { box-sizing: border-box; }

.cheese-season__visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.cheese-season__canvas {
    --u: calc(100cqw / 1728);
    position: relative;
    max-width: 1728px;
    margin-inline: auto;
    container-type: inline-size;
}

.cheese-season__hero {
    width: 100%;
    background: #000;
}

.cheese-season__hero video {
    display: block;
    width: 100%;
    height: auto;
}

.cheese-season__intro-scene { position: relative; }

.cheese-season__intro-picture { display: block; width: 100%; }

.cheese-season__intro-picture img,
.cheese-season__image img {
    display: block;
    width: 100%;
    height: auto;
}

.cheese-season__intro-picture img { aspect-ratio: 3840 / 1230; }

@media (max-width: 1023.98px) {
    .cheese-season__intro-picture img { aspect-ratio: 2048 / 1024; }
}

@media (max-width: 767.98px) {
    .cheese-season__intro-picture img { aspect-ratio: 1260 / 705; }
}

.cheese-season__intro {
    position: relative;
    z-index: 2;
    padding: calc(64 * var(--u)) 8.045% 0;
    text-align: center;
}

.cheese-season__intro p {
    margin: 0;
    font-size: clamp(22px, 2.0833cqw, 36px);
    font-weight: 700;
    line-height: 1.2;
}

.cheese-season__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 124px;
    min-height: 44px;
    padding: 6px 16px;
    border: 0;
    border-radius: 4px;
    background: var(--cheese-season-white);
    color: var(--cheese-season-black);
    font-size: clamp(16px, 1.1574cqw, 20px);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

.cheese-season__button:hover { background: #f0f0f0; }
.cheese-season__button:focus-visible { outline: 3px solid #000; outline-offset: 4px; }

.cheese-season__button--intro {
    min-width: calc(368.431 * var(--u));
    min-height: calc(97.581 * var(--u));
    margin-top: calc(38 * var(--u));
    padding: 16px 32px;
    border-radius: 60px;
    font-size: clamp(30px, 2.7778cqw, 48px);
    line-height: 1;
}

.cheese-season__products { scroll-margin-top: 100px; }

/* Row measurements and artwork offsets are from Figma 113:228 (1728px canvas).
   The text stays in grid flow; only the overlapping product artwork is positioned. */
.cheese-season__product {
    position: relative;
    z-index: var(--layer, 1);
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, var(--copy-left)) minmax(0, var(--copy-width)) minmax(0, 1fr);
    align-items: start;
    min-height: calc(var(--row-height) * var(--u));
}

.cheese-season__image {
    position: absolute;
    z-index: 0;
    top: calc(var(--image-top) * var(--u));
    left: calc(var(--image-left) * var(--u));
    display: block;
    width: calc(var(--image-width) * var(--u));
    pointer-events: none;
}

.cheese-season__copy {
    position: relative;
    z-index: 1;
    grid-column: 2;
    min-width: 0;
    margin-top: calc(var(--copy-top) * var(--u));
    padding-bottom: 24px;
    text-align: var(--copy-align, left);
}

.cheese-season__copy h2 {
    margin: 0 0 calc(var(--title-gap, 10) * var(--u));
    font-size: clamp(22px, 1.7361cqw, 30px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.06em;
}

.cheese-season__copy h2 span { display: block; }
.cheese-season__copy p { margin: 0 0 27px; font-size: clamp(16px, 1.1574cqw, 20px); line-height: 1.25; }

.cheese-season__product--king {
    --layer: 11;
    --row-height: 793; --image-left: 352.857; --image-top: -385; --image-width: 2258.143;
    --copy-left: 14.352%; --copy-width: 23.777%; --copy-top: 294; --copy-align: right; --title-gap: 35;
}
.cheese-season__product--king h2 { width: 146.52%; margin-left: -46.52%; }
.cheese-season__product--chicken {
    --layer: 10;
    --row-height: 660; --image-left: -1567; --image-top: -240; --image-width: 3314;
    --copy-left: 54.6875%; --copy-width: 24.016%; --copy-top: 232.621;
}
.cheese-season__product--swiss {
    --layer: 9;
    --row-height: 832; --image-left: -37; --image-top: -714; --image-width: 2382;
    --copy-left: 12.095%; --copy-width: 23.777%; --copy-top: 301; --copy-align: right;
}
.cheese-season__product--fresh {
    --layer: 7;
    --row-height: 682; --image-left: 331; --image-top: -445; --image-width: 2153;
    --copy-left: 22.859%; --copy-width: 23.777%; --copy-top: 323; --copy-align: right;
}
.cheese-season__product--box {
    --layer: 6;
    --row-height: 650; --image-left: -697; --image-top: -320; --image-width: 1913;
    --copy-left: 64.468%; --copy-width: 24.016%; --copy-top: 280.621;
}
.cheese-season__product--ostiepok {
    --layer: 5;
    --row-height: 560; --image-left: 396; --image-top: -213; --image-width: 1542;
    --copy-left: 16.262%; --copy-width: 23.777%; --copy-top: 208; --copy-align: right;
}
.cheese-season__product--hermelinky {
    --layer: 4;
    --row-height: 500; --image-left: -461; --image-top: -327; --image-width: 1412;
    --copy-left: 57.002%; --copy-width: 24.016%; --copy-top: 132.621;
}
.cheese-season__product--fries {
    --layer: 3;
    --row-height: 500; --image-left: 295; --image-top: -353; --image-width: 1747;
    --copy-left: 12.789%; --copy-width: 30.498%; --copy-top: 131; --copy-align: right; --title-gap: 26;
}
.cheese-season__product--fries h2 { max-width: 304px; margin-left: auto; }
.cheese-season__product--cranberry {
    --layer: 2;
    --row-height: 460; --image-left: -145; --image-top: -130; --image-width: 1005;
    --copy-left: 50.579%; --copy-width: 24.016%; --copy-top: 167.621;
}
.cheese-season__product--dip {
    --layer: 1;
    --row-height: 538; --image-left: 522; --image-top: -138; --image-width: 1125;
    --copy-left: 11.979%; --copy-width: 30.498%; --copy-top: 107; --copy-align: right; --title-gap: 26;
}

.cheese-season__contest { position: relative; background: #fff; scroll-margin-top: 100px; }
.cheese-season__contest-inner {
    /* This query container's own cqw units follow its ancestor, so cap the
       height together with the 1728px canvas width on wider displays. */
    min-height: min(1062px, calc(1062 * var(--u)));
}
.cheese-season .cheese-season-coupon {
    position: relative;
    z-index: 20;
    width: 100%;
    margin: 0;
    padding: calc(83 * var(--u)) 20px 0;
    border: 0;
    background: transparent;
    color: #000;
    text-align: center;
}
.cheese-season-coupon h2 { margin: 0; font-size: clamp(32px, 3.4722cqw, 60px); font-weight: 700; line-height: 1.0667; }
.cheese-season-coupon__intro {
    max-width: calc(800 * var(--u));
    margin: calc(24 * var(--u)) auto 0;
    font-size: clamp(16px, 1.1574cqw, 20px);
    line-height: 1.4;
}
.cheese-season .cheese-season-coupon__rules { margin: calc(50 * var(--u)) 0 0; font-size: clamp(20px, 1.8519cqw, 32px); line-height: 1; }
.cheese-season-coupon__rules a { color: #000; text-decoration: none; }
.cheese-season-coupon__rules a[aria-disabled='true'] { pointer-events: none; }
.cheese-season .cheese-season-coupon__form { width: calc(397 * var(--u)); max-width: 100%; margin: calc(51 * var(--u)) auto 0; }
.cheese-season .cheese-season-coupon__fields { display: flex; flex-direction: column; align-items: center; gap: calc(33 * var(--u)); }
.cheese-season .cheese-season-coupon__fields input {
    flex: auto;
    width: 100%;
    min-height: calc(78 * var(--u));
    margin: 0;
    padding: 16px 24px;
    border: 0;
    border-radius: 88px;
    background: #f0f0f0;
    color: #000;
    font: 700 clamp(20px, 1.6204cqw, 28px)/1.15 'Speedee', Arial, sans-serif;
    text-align: center;
}
.cheese-season .cheese-season-coupon__fields input::placeholder { color: rgb(0 0 0 / 13%); opacity: 1; }
.cheese-season .cheese-season-coupon__fields input.cheese-season-coupon__app-prompt {
    padding-inline: 12px;
    font-size: clamp(16px, 1.3889cqw, 24px);
    opacity: 1;
    -webkit-text-fill-color: #000;
}
.cheese-season .cheese-season-coupon__fields input:focus-visible { outline: 3px solid #000; outline-offset: 4px; }
.cheese-season .cheese-season-coupon__fields input[aria-invalid='true'] { outline: 2px solid #b00000; }
.cheese-season .cheese-season-coupon__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 183px;
    min-height: 48px;
    padding: 8px 20px;
    border: 0;
    border-radius: 4px;
    background: #000;
    box-shadow: none;
    color: #fff;
    font: 700 clamp(18px, 1.3889cqw, 24px)/1.3 'Speedee', Arial, sans-serif;
    filter: none;
    text-decoration: none;
}
.cheese-season .cheese-season-coupon__button:disabled { opacity: 1; cursor: default; }
.cheese-season .cheese-season-coupon__button:hover:not(:disabled) { background: #2d2d2d; box-shadow: none; filter: none; }
.cheese-season .cheese-season-coupon__button:focus-visible { outline: 3px solid #000; outline-offset: 4px; }
.cheese-season .cheese-season-coupon__status,
.cheese-season .cheese-season-coupon__notice { margin: 16px -80px 0; color: #333; font-size: 14px; line-height: 1.4; }
.cheese-season .cheese-season-coupon__status[data-state='error'] { color: #b00000; }
.cheese-season .cheese-season-coupon__status[data-state='success'] { color: #216900; }
.cheese-season [hidden] { display: none; }
.cheese-season__product--original {
    --layer: 8;
    --row-height: 1062; --image-left: -649; --image-top: 300; --image-width: 1714;
    --copy-left: 64.988%; --copy-width: 24.016%; --copy-top: 669;
    position: absolute;
    inset: 0;
}
.cheese-season__product--original .cheese-season__button { background: #ffbc0d; }
.cheese-season__product--original .cheese-season__button:hover { background: #f4b100; }
.cheese-season__app-badge { position: absolute; z-index: 20; top: calc(234 * var(--u)); left: 75.058%; width: 201px; height: 320px; }
.cheese-season__badge-art { position: relative; width: 201px; height: 320px; transform-origin: top left; }
.cheese-season__badge-art img { position: absolute; display: block; max-width: none; }
.cheese-season__badge-tail { top: 122.672px; left: 19.226px; }
.cheese-season__badge-ring { top: 54.379px; left: 0; }
.cheese-season__badge-disc { top: 64.312px; left: 9.969px; }
.cheese-season__badge-phone-mask {
    position: absolute; top: 0; left: 25.257px; width: 152.695px; height: 294.105px;
    /* The second, rectangular mask matched this box. Use only the shaped mask
       to avoid Safari compositing the phone outside the circular badge edge. */
    overflow: hidden;
    -webkit-mask-image: url('/static/images/news/2026/cheese-season/app-badge-3.svg');
    -webkit-mask-size: 162.387px 253.031px;
    -webkit-mask-position: -7.274px -7.898px;
    -webkit-mask-repeat: no-repeat;
    mask-image: url('/static/images/news/2026/cheese-season/app-badge-3.svg');
    mask-size: 162.387px 253.031px;
    mask-position: -7.274px -7.898px;
    mask-repeat: no-repeat;
}
.cheese-season__badge-art p { position: absolute; top: 95px; left: 47px; width: 106px; margin: 0; color: #000; font-size: 20px; font-weight: 700; line-height: 1.25; text-align: center; }

@media (min-width: 1024px) {
    /* The food fills the middle half of the desktop artwork. Scale it with
       the content canvas and let the yellow sides overflow the viewport. */
    .cheese-season__intro-picture {
        position: relative;
        left: 50%;
        width: max(190%, 100vw);
        transform: translateX(-50%);
    }

    /* Shared CZ/SK product slots from Figma 149:196. Keep the source artwork's
       original crop/transform inside each slot. */
    .cheese-season__image--framed {
        height: calc(var(--image-height) * var(--u));
        overflow: hidden;
    }
    .cheese-season__image--framed img {
        position: absolute;
        top: var(--art-top, 0%);
        left: var(--art-left, 0%);
        width: var(--art-width, 100%);
        height: var(--art-height, 100%);
        object-fit: cover;
    }
    .cheese-season .cheese-season__product--king {
        --layer: 13;
        --image-left: 116; --image-top: -616; --image-width: 2180; --image-height: 2028;
    }
    .cheese-season__product--classic {
        --layer: 12;
        --row-height: 660; --image-left: -1567; --image-top: -240; --image-width: 3314; --image-height: 2245;
        --copy-left: 54.6875%; --copy-width: 24.016%; --copy-top: 232.621;
        --art-top: -19.6%; --art-left: 19.53%; --art-width: 63.49%; --art-height: 87.2%;
    }
    .cheese-season .cheese-season__product--chicken {
        --layer: 11;
        --row-height: 796; --image-left: 9; --image-top: -565; --image-width: 2382; --image-height: 1815;
        --copy-left: 14.757%; --copy-top: 301; --copy-align: right;
    }
    .cheese-season .cheese-season__product--swiss {
        --layer: 10;
        --row-height: 641; --image-left: -964; --image-top: -447; --image-width: 2185; --image-height: 1481;
        --copy-left: 63.426%; --copy-width: 24.016%; --copy-top: 232.621; --copy-align: left;
    }
    .cheese-season__product--junior {
        --layer: 9;
        --row-height: 734; --image-left: 324; --image-top: -345; --image-width: 1649; --image-height: 1256;
        --copy-left: 14.873%; --copy-width: 23.777%; --copy-top: 301; --copy-align: right;
    }
    .cheese-season__product--sauce {
        --layer: 3;
        --row-height: 414; --image-left: -145; --image-top: -130; --image-width: 1005; --image-height: 736;
        --copy-left: 52.836%; --copy-width: 24.016%; --copy-top: 167.621;
    }
    .cheese-season .cheese-season__product--cranberry {
        --row-height: 448; --image-left: 682;
        --copy-left: 16.03%; --copy-width: 30.498%; --copy-top: 117; --copy-align: right;
    }
    .cheese-season .cheese-season__product--dip {
        --row-height: 560; --image-left: -102; --image-top: -130;
        --copy-left: 60.706%; --copy-width: 24.016%; --copy-top: 137.621; --copy-align: left; --title-gap: 10;
    }
}

@media (min-width: 1024px) and (max-width: 1450px) {
    /* Keep the final product copy inside the panel as its desktop column narrows. */
    .cheese-season__contest-inner { min-height: max(calc(1062 * var(--u)), calc(669 * var(--u) + 280px)); }
    .cheese-season__app-badge { width: 151px; height: 240px; }
    .cheese-season__badge-art { transform: scale(.75); }
}

@media (max-width: 1023px) {
    .cheese-season__intro { padding: 32px 24px 0; }
    .cheese-season__intro p { max-width: 680px; margin-inline: auto; font-size: clamp(20px, 2.8vw, 28px); line-height: 1.4; }
    .cheese-season__button.cheese-season__button--intro { min-width: 220px; min-height: 64px; margin-top: 28px; font-size: 32px; }
    .cheese-season__products { display: grid; gap: 48px; max-width: 680px; margin-inline: auto; padding: 40px 20px 56px; }
    .cheese-season__products--remaining { padding-bottom: 32px; }
    .cheese-season__product { display: flex; flex-direction: column; align-items: center; width: 100%; min-height: 0; gap: 16px; }
    /* Frame the visible food, rather than the differently padded source canvases.
       Each source keeps its proportions; these offsets center its product bounds
       in an equal-size mobile slot, including the product inside the coupon. */
    .cheese-season__product--king { --mobile-image-width: 167.686%; --mobile-image-x: -58.438%; --mobile-image-y: -53.468%; }
    .cheese-season__product--classic { --mobile-image-width: 174.359%; --mobile-image-x: -57.812%; --mobile-image-y: -52.908%; }
    .cheese-season__product--chicken { --mobile-image-width: 173.756%; --mobile-image-x: -58.438%; --mobile-image-y: -53.356%; }
    .cheese-season__product--swiss { --mobile-image-width: 156.735%; --mobile-image-x: -57.812%; --mobile-image-y: -53.915%; }
    .cheese-season__product--junior { --mobile-image-width: 156.735%; --mobile-image-x: -58.438%; --mobile-image-y: -54.698%; }
    .cheese-season__product--original { --mobile-image-width: 98.969%; --mobile-image-x: -53.958%; --mobile-image-y: -50.588%; }
    .cheese-season__product--fresh { --mobile-image-width: 112.088%; --mobile-image-x: -51.354%; --mobile-image-y: -55.882%; }
    .cheese-season__product--box { --mobile-image-width: 109.091%; --mobile-image-x: -51.875%; --mobile-image-y: -51.618%; }
    .cheese-season__product--ostiepok { --mobile-image-width: 101.587%; --mobile-image-x: -50%; --mobile-image-y: -50%; }
    .cheese-season__product--hermelinky { --mobile-image-width: 102.4%; --mobile-image-x: -52.812%; --mobile-image-y: -32.976%; }
    .cheese-season__product--fries { --mobile-image-width: 115.254%; --mobile-image-x: -49.375%; --mobile-image-y: -52.5%; }
    /* Size sauce containers to half the slot width and align their bases.
       The sauce above or spilling over the rim keeps its original proportions. */
    .cheese-season__product--sauce,
    .cheese-season__product--cranberry,
    .cheese-season__product--dip { --mobile-image-top: 85%; }
    .cheese-season__product--sauce { --mobile-image-width: 116.505%; --mobile-image-x: -58.75%; --mobile-image-y: -69.575%; }
    .cheese-season__product--cranberry { --mobile-image-width: 74.766%; --mobile-image-x: -49.479%; --mobile-image-y: -85.588%; }
    .cheese-season__product--dip { --mobile-image-width: 78.947%; --mobile-image-x: -48.75%; --mobile-image-y: -80.363%; }
    .cheese-season__image {
        position: relative;
        inset: auto;
        width: 100%;
        aspect-ratio: 24 / 17;
        overflow: hidden;
        mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent), linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
        mask-composite: intersect;
    }
    .cheese-season__image img {
        position: absolute;
        top: var(--mobile-image-top, 60%);
        left: 50%;
        width: var(--mobile-image-width);
        max-width: none;
        height: auto;
        transform: translate(var(--mobile-image-x), var(--mobile-image-y));
        mask-image: none;
    }
    .cheese-season__product--sauce .cheese-season__image img,
    .cheese-season__product--cranberry .cheese-season__image img,
    .cheese-season__product--dip .cheese-season__image img {
        mask-image: inherit;
        mask-composite: inherit;
    }
    .cheese-season__copy { width: 100%; max-width: 500px; margin: 0 auto; padding: 0; text-align: center; }
    .cheese-season__copy h2 { margin: 0 0 14px; font-size: 28px; }
    .cheese-season__product--king h2 { width: auto; margin-left: 0; }
    .cheese-season__product--fries h2 { max-width: none; }
    .cheese-season__copy p { margin-bottom: 20px; font-size: 18px; line-height: 1.5; }
    .cheese-season__button { min-height: 48px; font-size: 20px; }
    .cheese-season__contest-inner { display: flex; flex-direction: column; gap: 24px; min-height: 0; padding: 40px 20px 48px; }
    .cheese-season .cheese-season-coupon { padding: 0; }
    .cheese-season-coupon h2 { font-size: clamp(30px, 4.5vw, 42px); line-height: 1.15; }
    .cheese-season-coupon__intro { max-width: 640px; margin-top: 20px; font-size: 18px; line-height: 1.5; }
    .cheese-season .cheese-season-coupon__rules { margin-top: 24px; font-size: 20px; line-height: 1.3; }
    .cheese-season .cheese-season-coupon__form { width: min(100%, 397px); margin-top: 28px; }
    .cheese-season .cheese-season-coupon__fields { gap: 20px; }
    .cheese-season .cheese-season-coupon__fields input { min-height: 64px; font-size: 24px; }
    .cheese-season .cheese-season-coupon__status, .cheese-season .cheese-season-coupon__notice { margin-inline: 0; }
    .cheese-season__app-badge { position: relative; top: auto; left: auto; width: 100.5px; height: 160px; margin-inline: auto; }
    .cheese-season__badge-art { transform: scale(.5); }
    .cheese-season__product--original { position: static; max-width: 640px; margin-inline: auto; }
}

