/* Homepage tasting-set campaign. Kept separate from the catalogue and cart. */
.cgts-home {
    --set-forest: #004e3c;
    --set-cream: #f7f6d9;
    --set-lemon: #fff969;
    --set-ink: #0b1057;
    color: var(--set-cream);
    background: var(--set-forest);
    scroll-margin-top: 80px;
}
.cgts-home .cgts-home__inner {
    width: min(1320px, calc(100% - 96px));
    margin-inline: auto;
    padding-block: clamp(44px, 5vw, 76px);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(28px, 4vw, 64px);
}
.cgts-home .cgts-home__copy {min-width: 0; position: relative; z-index: 1;}
.cgts-home #cgts-home-title {
    margin: 0;
    color: var(--set-cream);
    font: 400 clamp(58px, 6.4vw, 96px)/.98 'Bebas Neue', Impact, sans-serif;
    letter-spacing: -.012em;
    text-wrap: initial;
    hyphens: manual;
    overflow-wrap: anywhere;
}
.cgts-home .cgts-home__intro {
    max-width: 38ch;
    margin: 26px 0 24px;
    color: var(--set-cream);
    font: 400 clamp(18px, 1.65vw, 23px)/1.5 Fraunces, Georgia, serif;
}
.cgts-home .cgts-home__details {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0 0 30px;
    color: var(--set-cream);
    font: 400 15px/1.5 var(--cg-body, Arial, sans-serif);
}
.cgts-home__details strong {font-size: 23px; font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums;}
.cgts-home__details span {color: #e0e6c8;}
.cgts-home a.cgts-home__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    min-height: 60px;
    max-width: 100%;
    padding: 17px 23px;
    border: 1px solid var(--set-lemon);
    border-radius: 7px;
    background: var(--set-lemon);
    color: var(--set-ink);
    font: 700 16px/1.4 var(--cg-body, Arial, sans-serif);
    text-align: left;
    text-decoration: none;
    touch-action: manipulation;
    transition: background-color 180ms ease, transform 180ms ease;
}
.cgts-home__button span {min-width: 0;}
.cgts-home__button svg {flex: 0 0 24px; transition: transform 180ms ease;}
.cgts-home a.cgts-home__button:is(:hover, :focus-visible) {background: var(--set-cream); transform: translateY(-2px);}
.cgts-home__button:is(:hover, :focus-visible) svg {transform: translateX(4px);}
.cgts-home a.cgts-home__button:active {transform: none;}
.cgts-home .cgts-home__art {
    position: relative;
    width: 100%;
    aspect-ratio: 1.22;
    min-width: 0;
    isolation: isolate;
    pointer-events: none;
}
.cgts-home__art img {display: block; position: absolute; height: auto; object-fit: contain; user-select: none; -webkit-user-drag: none;}
.cgts-home__art .cgts-home__box {
    width: 82%;
    left: 6%;
    top: 7%;
    transform: rotate(-5deg);
    filter: drop-shadow(0 20px 16px #001c2666);
    transition: transform 350ms cubic-bezier(.2,.8,.2,1);
}
.cgts-home__art .cgts-home__bars {
    width: 83%;
    left: 14%;
    bottom: -2%;
    transform: rotate(3deg);
    filter: drop-shadow(0 16px 10px #001c2655);
    transition: transform 350ms cubic-bezier(.2,.8,.2,1);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .cgts-home:has(.cgts-home__button:is(:hover, :focus-visible)) .cgts-home__box {transform: translateY(-5px) rotate(-3deg);}
    .cgts-home:has(.cgts-home__button:is(:hover, :focus-visible)) .cgts-home__bars {transform: translateY(5px) rotate(0deg);}
}
@media (max-width: 1000px) {
    .cgts-home .cgts-home__inner {width: calc(100% - 64px); gap: 24px;}
    .cgts-home #cgts-home-title {font-size: clamp(51px, 6.9vw, 76px);}
    .cgts-home a.cgts-home__button {font-size: 14px; padding-inline: 18px; gap: 16px;}
}
@media (max-width: 700px) {
    .cgts-home .cgts-home__inner {width: calc(100% - 36px); padding-block: 34px 22px; grid-template-columns: minmax(0, 1fr); gap: 8px;}
    .cgts-home #cgts-home-title {font-size: clamp(48px, 12.8vw, 72px);}
    .cgts-home .cgts-home__intro {font-size: 18px; margin: 20px 0; max-width: 38ch;}
    .cgts-home .cgts-home__details {font-size: 14px; margin-bottom: 23px; gap: 6px 16px;}
    .cgts-home__details strong {font-size: 22px;}
    .cgts-home a.cgts-home__button {width: 100%; min-height: 58px; font-size: 15px; padding: 15px 18px;}
    .cgts-home .cgts-home__art {max-width: 440px; margin-inline: auto; aspect-ratio: 1.42;}
    .cgts-home__art .cgts-home__box {width: 71%; left: 9%; top: 10%;}
    .cgts-home__art .cgts-home__bars {width: 71%; left: 20%; bottom: -2%;}
}
@media (prefers-reduced-motion: reduce) {
    .cgts-home *, .cgts-home *::before, .cgts-home *::after {transition: none !important; animation: none !important;}
}
