@font-face {
    font-family: "Seasons";
    src: url("./fonts/the-seasons-regular/the-seasons-regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* OUR STORY */
.story-page { background:#F7FAF0; color:#1A4D33; }
.story-navbar { background:#F7FAF0; }
.story-hero,.story-purpose,.story-public,.story-promise,.story-looking-ahead { padding:clamp(80px,10vw,150px) 8vw; }
.story-hero { min-height:100vh; padding-top:170px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:7vw; }
.story-eyebrow { display:block; margin-bottom:20px; font:700 .72rem Verdana,Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; color:#D97824; }
.story-hero h1,.story-purpose h2,.story-moment h2,.story-public h2,.story-promise h2,.story-looking-ahead h2 { font-size:clamp(3rem,6vw,6.7rem); line-height:.98; font-weight:400; letter-spacing:-.04em; }
.story-hero p,.story-purpose p,.story-moment p,.story-public p,.story-looking-ahead p { font:400 clamp(1rem,1.35vw,1.22rem)/1.7 Verdana,Arial,sans-serif; }
.story-hero-copy > p { max-width:650px; margin-top:18px; }
.story-hero-copy .story-lead { margin-top:32px; font-size:clamp(1.15rem,1.75vw,1.55rem); font-weight:700; line-height:1.45; }
.story-hero-image { min-height:530px; background:#EAF1DF; overflow:hidden; border-radius:190px 190px 0 0; }
.story-hero-image img { width:100%; height:100%; min-height:530px; object-fit:cover; }
.story-purpose { display:grid; grid-template-columns:.8fr 1fr; gap:10vw; background:#EAF1DF; }
.story-purpose-copy p + p,.story-public p + p,.story-looking-ahead p + p { margin-top:20px; }
.story-emphasis { font-weight:700!important; font-size:1.35rem!important; }
.story-moment { padding:clamp(95px,13vw,190px) max(8vw,calc((100vw - 850px)/2)); text-align:center; background:#1A4D33; color:#F7FAF0; }
.story-moment .story-eyebrow { color:#F3B05E; }
.story-moment h2 { max-width:850px; margin:auto; }
.story-moment p { max-width:670px; margin:30px auto 0; }
.story-public { display:grid; grid-template-columns:.25fr .9fr 1fr; gap:5vw; align-items:start; }
.story-public-number { font-size:clamp(2.5rem,5vw,5rem); color:#D97824; }
.story-promise { display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:#D97824; color:#fff; }
.story-promise .story-eyebrow { color:#F7FAF0; }
.story-promise ul { list-style:none; border-top:1px solid rgba(255,255,255,.55); }
.story-promise li { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.55); font:700 clamp(1rem,1.4vw,1.25rem) Verdana,Arial,sans-serif; }
.story-promise li::before { content:"✓"; margin-right:14px; }
.story-looking-ahead { max-width:960px; margin:auto; text-align:center; }
.story-looking-ahead h2 { margin-bottom:30px; }
.story-signoff { margin:44px auto!important; font-size:clamp(1.2rem,1.7vw,1.5rem)!important; line-height:1.7!important; }
.story-cta { display:inline-block; padding:16px 30px; border-radius:999px; background:#1A4D33; color:#fff; font:700 .78rem Verdana,Arial,sans-serif; letter-spacing:1px; text-decoration:none; text-transform:uppercase; }
.story-cta:hover { transform:translateY(-2px); background:#D97824; }
@media(max-width:900px) { .story-hero { grid-template-columns:1fr; padding-top:135px; } .story-hero-image,.story-hero-image img { min-height:380px; } .story-purpose,.story-public,.story-promise { grid-template-columns:1fr; gap:40px; } .story-public-number { display:none; } .story-hero,.story-purpose,.story-public,.story-promise,.story-looking-ahead { padding-left:22px; padding-right:22px; } .story-moment { padding:90px 22px; } .drink-card .subscribe-btn { font-size:.72rem; padding:13px 16px; } }

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    overflow-x:hidden;
    background:#111;
    font-family:"Seasons", Arial, sans-serif;
}

.sample-invite-visible::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:100;
    background:rgba(16,48,32,.42);
    backdrop-filter:blur(3px);
}

.sample-invite{
    position:fixed;
    z-index:101;
    top:50%;
    left:50%;
    width:min(92vw, 510px);
    padding:54px 48px 42px;
    border:1px solid rgba(26,77,51,.15);
    border-radius:28px;
    background:#F7FAF0;
    color:#1A4D33;
    box-shadow:0 28px 80px rgba(4,29,17,.32);
    text-align:center;
    transform:translate(-50%, -50%);
}

.sample-invite[hidden]{ display:none; }
.sample-invite-kicker{ display:block; color:#D97824; font:700 .68rem Verdana,Arial,sans-serif; letter-spacing:1.7px; text-transform:uppercase; }
.sample-invite h2{ margin:14px 0 16px; font:400 clamp(2.4rem,5vw,3.55rem)/.98 "Seasons",Arial,sans-serif; letter-spacing:-.045em; }
.sample-invite p{ max-width:375px; margin:0 auto; font:400 .96rem/1.7 Verdana,Arial,sans-serif; }
.sample-invite-cta{ display:flex; justify-content:center; align-items:center; gap:18px; margin:30px auto 15px; padding:16px 24px; border-radius:999px; background:#1A4D33; color:#fff; font:700 .74rem Verdana,Arial,sans-serif; letter-spacing:1px; text-decoration:none; text-transform:uppercase; transition:transform .2s ease, background .2s ease; }
.sample-invite-cta:hover{ background:#D97824; transform:translateY(-2px); }
.sample-invite-cta span{ font-size:1.2rem; line-height:0; }
.sample-invite-dismiss,.sample-invite-close{ border:0; background:transparent; color:#56715e; cursor:pointer; font:600 .72rem Verdana,Arial,sans-serif; }
.sample-invite-dismiss{ text-decoration:underline; }
.sample-invite-close{ position:absolute; top:17px; right:19px; font:400 1.8rem/1 Arial,sans-serif; }

@media(max-width:560px){
    .sample-invite{ padding:48px 25px 32px; border-radius:22px; }
    .sample-invite p{ font-size:.88rem; }
}

a{
    color:inherit;
}

.hero{
    --hero-progress:0;
    min-height:150vh;
    position:relative;
    overflow:clip;
    background:#F7FAF0;
    color:#1A4D33;
}


/* NAVBAR */

.navbar{
    position:fixed;
    top:0;
    left:0;

    width:100%;
    padding:40px 60px;

    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;

    z-index:10;
    transition:background .3s ease, padding .3s ease, box-shadow .3s ease;
}

.navbar.scrolled{
    padding:22px 60px;
    background:white;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.navbar.scrolled .logo,
.navbar.scrolled .nav-links a{
    color:#1A4D33;
}

.navbar.scrolled .buy-btn{
    color:#1A4D33;
    border-color:#1A4D33;
}

.navbar.scrolled .buy-btn:hover{
    background:#1A4D33;
    color:white;
}

.navbar.products-open{
    background:#1A4D33;
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.navbar.products-open .logo,
.navbar.products-open .nav-links a,
.navbar.products-open .nav-products-toggle{
    color:white;
}

.navbar.products-open .buy-btn{
    color:white;
    border-color:white;
}

.navbar.products-open .buy-btn:hover{
    background:white;
    color:#1A4D33;
}

.logo{
    font-size:3rem;
    font-family:"Seasons";
    letter-spacing:2px;
    color:#1A4D33;
    text-decoration:none;
    transition:color .3s ease;
}

.nav-links{
    display:flex;
    gap:60px;
    list-style:none;
}

.mobile-nav-subscribe{
    display:none;
}

.nav-links a,
.nav-products-toggle{
    text-decoration:none;
    color:#1A4D33;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:.9rem;
    transition:color .3s ease;
}

.nav-products-toggle{
    border:0;
    background:transparent;
    font-family:inherit;
    cursor:pointer;
}

.navbar.scrolled .nav-products-toggle{
    color:#1A4D33;
}

.navbar.scrolled.products-open .nav-products-toggle{
    color:white;
}

.products-panel{
    flex-basis:100%;
    display:flex;
    justify-content:center;
    gap:72px;
    max-height:0;
    opacity:0;
    overflow:hidden;
    padding-top:0;
    transform:translateY(-10px);
    pointer-events:none;
    transition:max-height .38s ease, opacity .28s ease, padding-top .38s ease, transform .38s ease;
}

.navbar.products-open .products-panel{
    max-height:140px;
    opacity:1;
    padding-top:34px;
    transform:translateY(0);
    pointer-events:auto;
}

.products-panel a{
    position:relative;
    color:white;
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2rem, 4vw, 4.4rem);
    line-height:1;
    text-decoration:none;
}

.products-panel a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-10px;
    height:2px;
    background:#F3B05E;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .28s ease;
}

.products-panel a:hover::after,
.products-panel a:focus-visible::after{
    transform:scaleX(1);
}

.buy-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    min-width:52px;
    min-height:52px;
    background:transparent;
    color:#1A4D33;
    border:1px solid #1A4D33;
    border-radius:999px;
    cursor:pointer;
    text-decoration:none;

    transition:.3s;
}

.mobile-label{
    display:none;
}

.buy-btn:hover{
    background:#1A4D33;
    color:white;
}

.menu-toggle{
    display:none;
    align-items:center;
    gap:10px;
    padding:10px 0;
    border:0;
    background:transparent;
    color:#1A4D33;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
    cursor:pointer;
    transition:color .3s ease;
}

.menu-toggle-icon,
.menu-toggle-icon::before,
.menu-toggle-icon::after{
    display:block;
    width:23px;
    height:1.5px;
    background:currentColor;
    transition:transform .3s ease, top .3s ease, opacity .2s ease;
}

.menu-toggle-icon{ position:relative; }

.menu-toggle-icon::before,
.menu-toggle-icon::after{
    position:absolute;
    left:0;
    content:"";
}

.menu-toggle-icon::before{ top:-7px; }
.menu-toggle-icon::after{ top:7px; }

.navbar.menu-open .menu-toggle,
.navbar.menu-open .logo{ color:white; }

.navbar.menu-open .menu-toggle-icon{ background:transparent; }
.navbar.menu-open .menu-toggle-icon::before{ top:0; transform:rotate(45deg); }
.navbar.menu-open .menu-toggle-icon::after{ top:0; transform:rotate(-45deg); }


/* HERO CONTENT */

.hero-content{
    position:sticky;
    top:0;
    min-height:100vh;
    padding:140px clamp(24px, 7vw, 120px) 80px;

    display:block;
    overflow:hidden;

    text-align:left;
}

.hero-copy{
    position:absolute;
    top:55%;
    left:50%;
    width:min(86vw, 1320px);
    transform:translate(-50%, -50%);
    z-index:3;
    text-align:left;
}

.hero-content h1{
    font-family:"Seasons";

    font-size:clamp(2.7rem, 4.8vw, 8.8rem);
    line-height:.95;

    font-weight:300;

    letter-spacing:0;

    color:#1A4D33;
    transition:color .2s ease;
    white-space:nowrap;

    z-index:3;
}

.hero.is-photo-visible .hero-content h1{
    color:#fff;
}

.hero-content h1 .hero-word{
    display:inline;
}

.hero-content p{
    font-size:1.3rem;
    line-height:1.5;

    letter-spacing:5px;

    text-transform:uppercase;

    z-index:3;
}

.hero-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
    flex-wrap:wrap;
    margin-top:34px;
    z-index:3;
}

.shop-btn{
    padding:24px 50px;

    border:none;
    border-radius:999px;

    background:#1A4D33;

    color:white;

    font-size:1rem;

    font-weight:600;

    letter-spacing:2px;
    text-decoration:none;

    cursor:pointer;

    transition:.3s;

    z-index:3;
}

.shop-btn:hover{
    transform:translateY(-4px);
}

.hero-outline-btn{
    padding:24px 50px;
    background:transparent;
    color:#1A4D33;
    border:1px solid #1A4D33;
    border-radius:999px;
    font-size:1rem;
    font-weight:600;
    letter-spacing:2px;
    text-decoration:none;
    cursor:pointer;
    transition:.3s;
}

.hero-outline-btn:hover{
    background:#1A4D33;
    color:white;
    transform:translateY(-4px);
}

.hero-bottle{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    border-radius:0;
    overflow:hidden;
    opacity:calc(var(--hero-progress) * 1.35);
    transform:scale(calc(.96 + (var(--hero-progress) * .04)));
    box-shadow:none;
    z-index:2;
    pointer-events:none;
}

.hero-bottle img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}


/* WELLNESS STATEMENT */

.wellness-statement{
    background:white;
    padding:90px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.wellness-statement h2{
    max-width:1100px;
    margin:0 auto;

    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2rem, 4vw, 4.5rem);
    line-height:1.15;
    font-weight:400;

    color:#1A4D33;
}

.font-safe-apostrophe{
    font-family:Arial, Helvetica, sans-serif;
}

.wellness-statement p{
    max-width:820px;
    margin:28px auto 0;
    font-family:Verdana, Geneva, sans-serif;
    font-size:clamp(1rem, 1.5vw, 1.25rem);
    line-height:1.8;
    color:#1A4D33;
}


/* FEATURED PRODUCTS */

.featured-products{
    background:white;
    padding:20px 60px 100px;
}

.featured-product-card{
    max-width:1180px;
    margin:0 auto 34px;
    display:grid;
    grid-template-columns:minmax(280px, .9fr) minmax(320px, 1.1fr);
    align-items:center;
    gap:46px;
    padding:34px;
    border:1px solid rgba(26,77,51,.16);
    border-radius:8px;
    background:#F8FAF5;
}

.featured-product-card:last-child{
    margin-bottom:0;
}

.featured-product-card-reverse{
    grid-template-columns:minmax(320px, 1.1fr) minmax(280px, .9fr);
}

.featured-product-image{
    width:100%;
    aspect-ratio:4 / 5;
    overflow:hidden;
    border-radius:8px;
    background:#EAF0E4;
}

.featured-product-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.featured-product-copy{
    color:#1A4D33;
}

.featured-product-copy span{
    display:block;
    margin-bottom:16px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#D97824;
}

.featured-product-copy h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.3rem, 4vw, 4.8rem);
    line-height:1;
    font-weight:400;
    color:#1A4D33;
}

.featured-product-copy p{
    max-width:620px;
    margin-top:22px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    line-height:1.8;
    color:#1A4D33;
}

.featured-product-copy ul{
    max-width:620px;
    margin-top:30px;
    list-style:none;
    border-top:1px solid rgba(26,77,51,.2);
}

.featured-product-copy li{
    padding:18px 0;
    border-bottom:1px solid rgba(26,77,51,.2);
    font-family:Verdana, Geneva, sans-serif;
    font-size:.95rem;
    line-height:1.6;
    color:#1A4D33;
}


/* WHY US */

.why-us{
    background:#1A4D33;
    color:white;
    padding:92px 60px;
    display:grid;
    grid-template-columns:minmax(280px, .9fr) minmax(360px, 1.1fr);
    gap:70px;
    align-items:start;
}

.why-us-heading{
    max-width:620px;
}

.why-us-heading span{
    display:block;
    margin-bottom:20px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#F3B05E;
}

.why-us-heading h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.8rem, 5vw, 5.8rem);
    line-height:1;
    font-weight:400;
    color:white;
}

.why-us-points{
    display:grid;
    gap:0;
    border-top:1px solid rgba(255,255,255,.28);
}

.why-us-point{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:24px;
    padding:34px 0;
    border-bottom:1px solid rgba(255,255,255,.28);
}

.why-us-point > span{
    font-family:Verdana, Geneva, sans-serif;
    font-size:.9rem;
    font-weight:700;
    color:#F3B05E;
}

.why-us-point h3{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(1.8rem, 3vw, 3rem);
    line-height:1;
    font-weight:400;
    color:white;
}

.why-us-point p{
    max-width:560px;
    margin-top:14px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    line-height:1.75;
    color:rgba(255,255,255,.84);
}


/* PROCESS SECTION */

.process-section{
    background:#F7FAF0;
    padding:92px 60px 104px;
    display:grid;
    grid-template-columns:minmax(280px, .75fr) minmax(420px, 1.25fr);
    gap:58px;
    align-items:center;
}

.process-copy{
    max-width:560px;
    color:#1A4D33;
}

.process-copy span{
    display:block;
    margin-bottom:18px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#D97824;
}

.process-copy h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.6rem, 4.6vw, 5.4rem);
    line-height:1;
    font-weight:400;
}

.process-copy p{
    margin-top:24px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    line-height:1.8;
}

.wellness-marquee{
    overflow:hidden;
    padding:20px 0;
    background:#1A4D33;
    color:#F7FAF0;
}

.wellness-marquee-track{
    display:flex;
    width:max-content;
    animation:wellness-marquee-scroll 22s linear infinite;
}

.wellness-marquee-content{
    display:flex;
    align-items:center;
    gap:32px;
    flex:none;
    padding-right:32px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:clamp(.8rem, 1.2vw, 1rem);
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    white-space:nowrap;
}

.wellness-marquee-content i{
    color:#F3B05E;
    font-size:1.1em;
    font-style:normal;
}

.wellness-marquee:hover .wellness-marquee-track{
    animation-play-state:paused;
}

@keyframes wellness-marquee-scroll{
    to{
        transform:translateX(-25%);
    }
}

@media (prefers-reduced-motion:reduce){
    .wellness-marquee-track{
        animation:none;
    }
}

.process-video{
    position:relative;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:8px;
    background:#DDE8D6;
    box-shadow:0 28px 80px rgba(26,77,51,.14);
}

.process-video video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.process-video.video-missing video{
    opacity:0;
}

.process-video-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:10px;
    padding:28px;
    background:linear-gradient(180deg, rgba(26,77,51,.08), rgba(26,77,51,.72));
    color:white;
    pointer-events:none;
}

.process-video:not(.video-missing) .process-video-placeholder{
    opacity:0;
}

.process-video-placeholder span{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2rem, 4vw, 4rem);
    line-height:1;
}

.process-video-placeholder p{
    max-width:520px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.95rem;
    line-height:1.6;
    color:rgba(255,255,255,.86);
}


/* DRINK SHOWCASE */

.drinks-page .drink-showcase{
    min-height:100vh;
    padding-top:185px;
}

.drinks-page .drink-showcase-heading{
    display:block;
    padding-bottom:42px;
}

.drinks-page .drink-showcase-heading h1{
    font-family:Verdana, Geneva, sans-serif;
    font-size:clamp(3.8rem, 10vw, 10rem);
    line-height:.85;
    font-weight:700;
    color:#1A4D33;
}

.drink-showcase{
    background:#F7FAF0;
    padding:72px 0 76px;
    overflow:hidden;
}

.drink-showcase-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    padding:0 40px 28px;
}

.drink-showcase-heading span{
    display:block;
    margin-bottom:8px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#D97824;
}

.drink-showcase-heading h2{
    max-width:980px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:clamp(3.4rem, 7.7vw, 7.4rem);
    line-height:.86;
    font-weight:700;
    color:#1A4D33;
}

.drink-showcase-heading a{
    margin-bottom:14px;
    flex:0 0 auto;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:#1A4D33;
    text-decoration:underline;
    text-underline-offset:3px;
}

.drink-scroll{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 57px) / 4);
    gap:19px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scroll-padding-inline:40px;
    padding:0 40px 18px;
    scrollbar-width:thin;
    scrollbar-color:#1A4D33 rgba(26,77,51,.14);
}

.drink-scroll::-webkit-scrollbar{
    height:8px;
}

.drink-scroll::-webkit-scrollbar-track{
    background:rgba(26,77,51,.14);
}

.drink-scroll::-webkit-scrollbar-thumb{
    background:#1A4D33;
    border-radius:999px;
}

.drink-card{
    scroll-snap-align:start;
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.drink-image{
    display:block;
    position:relative;
    aspect-ratio:1 / 1.25;
    overflow:hidden;
    background:#EEF5E7;
    border-radius:8px;
    text-decoration:none;
}

.drink-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center bottom;
    padding:28px 22px 0;
    transition:transform .35s ease, opacity .35s ease;
}

.drink-image-transition{
    position:absolute;
    inset:0;
    opacity:0;
    transform:translateY(8px) scale(.98);
}

.drink-card:nth-child(1) .drink-image{
    background:linear-gradient(180deg, #F7FAF0 0%, #DCE8D1 100%);
}

.drink-card:not(:first-child) .drink-image{
    background:#EEF5E7;
}

.drink-product-link{
    cursor:pointer;
}

.drink-product-link:hover img,
.drink-product-link:focus-visible img{
    transform:translateY(-6px) scale(1.03);
}

.drink-product-link:hover .drink-image-primary,
.drink-product-link:focus-visible .drink-image-primary{
    opacity:0;
}

.drink-product-link:hover .drink-image-transition,
.drink-product-link:focus-visible .drink-image-transition{
    opacity:1;
    transform:translateY(0) scale(1);
}

.drink-product-link:focus-visible{
    outline:3px solid #D97824;
    outline-offset:4px;
}

.drink-badge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    padding:9px 14px;
    border-radius:999px;
    background:#1A4D33;
    color:white;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.2px;
    text-transform:uppercase;
}

.drink-card h3{
    min-height:2.25em;
    margin-top:10px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:clamp(1.02rem, 1.35vw, 1.35rem);
    line-height:1.15;
    font-weight:700;
    text-align:center;
    color:#1A4D33;
}

.drink-card p{
    margin-top:6px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.65rem;
    line-height:1.25;
    font-weight:800;
    letter-spacing:.2px;
    text-align:center;
    color:#1A4D33;
}

.drink-card button,
.drink-card .subscribe-btn,
.drink-card .order-btn{
    width:100%;
    min-height:52px;
    margin-top:10px;
    padding:14px 22px;
    border:1.5px solid #1A4D33;
    border-radius:999px;
    background:#1A4D33;
    color:white;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:0;
    text-transform:uppercase;
    cursor:pointer;
    text-decoration:none;
    text-align:center;
    transition:background .25s ease, color .25s ease, transform .25s ease;
}

.drink-card .order-btn,
.drink-card .subscribe-btn{
    display:block;
    box-sizing:border-box;
}

.drink-card button:hover,
.drink-card .order-btn:hover,
.drink-card .subscribe-btn:hover{
    transform:translateY(-2px);
}


/* SUBSCRIPTIONS */

.subscriptions{
    background:
        linear-gradient(180deg, rgba(26,77,51,.94), #123924),
        #1A4D33;
    padding:88px 60px 100px;
    color:white;
}

.subscriptions-heading{
    max-width:820px;
}

.subscriptions-heading span,
.subscription-card > span{
    display:block;
    margin-bottom:14px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#D97824;
}

.subscriptions-heading h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.8rem, 5vw, 5.6rem);
    line-height:1;
    font-weight:400;
    color:white;
}

.subscriptions-heading p{
    max-width:660px;
    margin-top:22px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}

.subscription-plans{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px;
    max-width:1180px;
    margin-top:46px;
}

.subscription-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:100%;
    padding:34px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:white;
    box-shadow:0 22px 70px rgba(0,0,0,.14);
}

.subscription-card-featured{
    background:#F7FAF0;
    color:#1A4D33;
}

.subscription-card-featured > span{
    color:#D97824;
}

.subscription-card h3{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.2rem, 4vw, 4.4rem);
    line-height:1;
    font-weight:400;
}

.subscription-card p{
    margin-top:20px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.98rem;
    line-height:1.75;
}

.subscription-card ul{
    width:100%;
    margin-top:28px;
    list-style:none;
    border-top:1px solid rgba(255,255,255,.24);
}

.subscription-card-featured ul{
    border-color:rgba(26,77,51,.18);
}

.subscription-card li{
    padding:16px 0;
    border-bottom:1px solid rgba(255,255,255,.24);
    font-family:Verdana, Geneva, sans-serif;
    font-size:.95rem;
    line-height:1.5;
}

.subscription-card-featured li{
    border-color:rgba(26,77,51,.18);
}

.subscription-card strong{
    margin-top:30px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:2rem;
    line-height:1;
    font-weight:700;
    letter-spacing:-.06em;
    color:#D97824;
}

.subscription-price-period{
    display:inline;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.subscription-card-featured strong{
    color:#D97824;
}

.subscription-card a{
    margin-top:28px;
    padding:16px 32px;
    border:1px solid white;
    border-radius:999px;
    background:white;
    color:#1A4D33;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.82rem;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase;
    transition:.3s;
}

.subscription-card a:hover{
    background:transparent;
    color:white;
}

.subscription-card-featured a{
    border-color:#1A4D33;
    background:#1A4D33;
    color:white;
}

.subscription-card-featured a:hover{
    background:transparent;
    color:#1A4D33;
}


/* INGREDIENTS PREVIEW */

.ingredients-preview{
    background:#F7FAF0;
    padding:104px 60px;
    color:#1A4D33;
}

.ingredients-preview-copy{
    max-width:880px;
}

.ingredients-preview-copy span{
    display:block;
    margin-bottom:18px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#D97824;
}

.ingredients-preview-copy h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(3rem, 6vw, 7rem);
    line-height:.95;
    font-weight:400;
}

.ingredients-preview-copy p{
    max-width:760px;
    margin-top:26px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1.05rem;
    line-height:1.85;
}

.ingredients-preview-copy a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:34px;
    padding:18px 34px;
    border:1px solid #1A4D33;
    border-radius:999px;
    background:#1A4D33;
    color:white;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.82rem;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase;
    transition:.3s;
}

.ingredients-preview-copy a:hover{
    background:transparent;
    color:#1A4D33;
}


/* INGREDIENTS PAGE */

.ingredients-page{
    background:#F7FAF0;
    color:#1A4D33;
}

.ingredients-loading{
    min-height:100vh;
    padding:160px 60px 80px;
    display:flex;
    align-items:center;
}

.ingredients-loading-content{
    max-width:760px;
}

.ingredients-loading-content span{
    display:block;
    margin-bottom:18px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#D97824;
}

.ingredients-loading-content h1{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(3.6rem, 8vw, 8rem);
    line-height:.95;
    font-weight:400;
}

.ingredients-loading-content p{
    max-width:620px;
    margin-top:24px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    line-height:1.8;
}

.ingredients-loading-content a{
    display:inline-flex;
    margin-top:32px;
    padding:16px 30px;
    border:1px solid #1A4D33;
    border-radius:999px;
    background:#1A4D33;
    color:white;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.82rem;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase;
    transition:.3s;
}

.ingredients-loading-content a:hover{
    background:transparent;
    color:#1A4D33;
}


/* PRODUCT DESCRIPTION */

.product-description{
    background:white;
    padding:70px 24px 100px 60px;
}

.product-copy{
    width:min(760px, 100%);
    margin:0;
    text-align:left;
}

.product-copy h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(2.6rem, 5vw, 5.2rem);
    line-height:.95;
    font-weight:400;
    color:#1A4D33;
}

.product-copy p{
    max-width:560px;
    margin-top:22px;
    font-size:.95rem;
    line-height:1.7;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#1A4D33;
}

.product-points{
    max-width:620px;
    margin-top:42px;
    list-style:none;
    border-top:1px solid rgba(26,77,51,.22);
}

.product-points li{
    display:flex;
    align-items:center;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid rgba(26,77,51,.22);
}

.product-points span{
    min-width:52px;
    color:#D97824;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.95rem;
    font-weight:700;
}

.product-points strong{
    color:#1A4D33;
    font-family:Verdana, Geneva, sans-serif;
    font-size:1rem;
    font-weight:400;
}

.subscribe-btn{
    margin-top:34px;
    padding:17px 42px;
    border:1px solid #1A4D33;
    border-radius:999px;
    background:#1A4D33;
    color:white;
    font-size:.9rem;
    letter-spacing:2px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.3s;
}

.subscribe-btn:hover{
    background:white;
    color:#1A4D33;
}

/* FOOTER */

.site-footer{
    background:#1A4D33;
    color:white;
    padding:84px 60px 34px;
}

.footer-brand{
    display:grid;
    grid-template-columns:minmax(260px, .9fr) minmax(320px, 1.1fr);
    gap:60px;
    align-items:end;
    padding-bottom:58px;
    border-bottom:1px solid rgba(255,255,255,.24);
}

.footer-brand h2{
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(5rem, 15vw, 14rem);
    line-height:.78;
    font-weight:400;
    letter-spacing:2px;
    color:white;
}

.footer-brand p{
    max-width:620px;
    margin-left:auto;
    font-family:"Seasons", Arial, sans-serif;
    font-size:clamp(1.8rem, 3vw, 3.4rem);
    line-height:1.1;
    color:rgba(255,255,255,.88);
}

.footer-links{
    display:grid;
    grid-template-columns:repeat(3, minmax(180px, 1fr));
    gap:34px;
    padding:46px 0;
    border-bottom:1px solid rgba(255,255,255,.24);
}

.footer-links h3{
    margin-bottom:18px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#F3B05E;
}

.footer-links a,
.footer-bottom a{
    display:block;
    width:max-content;
    margin-top:12px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:.95rem;
    line-height:1.5;
    color:rgba(255,255,255,.82);
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover,
.footer-bottom a:hover{
    color:white;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding-top:28px;
}

.footer-bottom p{
    font-family:Verdana, Geneva, sans-serif;
    font-size:.85rem;
    line-height:1.6;
    color:rgba(255,255,255,.68);
}

.footer-bottom div{
    display:flex;
    gap:24px;
}

.footer-bottom a{
    margin-top:0;
    font-size:.85rem;
}


/* MOBILE */

@media(max-width:900px){

    .hero{
        min-height:100vh;
    }

    .navbar{
        padding:25px;
    }

    .navbar.scrolled{
        padding:18px 22px;
    }

    .navbar{ align-items:center; }

    .buy-btn{ display:none; }

    .menu-toggle{
        display:inline-flex;
        order:2;
    }

    .nav-links{
        order:3;
        flex-basis:100%;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        max-height:0;
        margin:0;
        overflow:hidden;
        opacity:0;
        pointer-events:none;
        transition:max-height .45s cubic-bezier(.22,1,.36,1), opacity .25s ease, padding-top .45s cubic-bezier(.22,1,.36,1);
    }

    .nav-links li{
        width:100%;
        opacity:0;
        transform:translateY(-10px);
        transition:opacity .28s ease, transform .38s cubic-bezier(.22,1,.36,1);
    }

    .nav-links a,
    .nav-products-toggle{
        display:block;
        width:100%;
        padding:13px 0;
        font-size:1.05rem;
        text-align:left;
    }

    .navbar.menu-open{
        background:#1A4D33;
        box-shadow:0 18px 45px rgba(0,0,0,.18);
    }

    .navbar.menu-open .nav-links{
        max-height:370px;
        padding-top:20px;
        opacity:1;
        pointer-events:auto;
    }

    .navbar.menu-open .nav-links li{
        opacity:1;
        transform:translateY(0);
    }

    .navbar.menu-open .nav-links li:nth-child(2){ transition-delay:.05s; }
    .navbar.menu-open .nav-links li:nth-child(3){ transition-delay:.1s; }
    .navbar.menu-open .nav-links li:nth-child(4){ transition-delay:.15s; }
    .navbar.menu-open .nav-links li:nth-child(5){ transition-delay:.2s; }

    .navbar.menu-open .nav-links a,
    .navbar.menu-open .nav-products-toggle{ color:white; }

    .mobile-nav-subscribe{
        display:block;
        margin-top:8px;
        border-top:1px solid rgba(255,255,255,.35);
    }

    .navbar.menu-open .nav-links .mobile-nav-subscribe a{
        padding-top:18px;
        color:#F3B05E;
    }

    .products-panel{
        order:4;
        justify-content:flex-start;
        gap:28px;
    }

    .navbar.products-open .products-panel{
        padding-top:24px;
    }

    .products-panel a{
        font-size:2.1rem;
    }

    .desktop-label{
        display:none;
    }

    .mobile-label{
        display:inline;
    }

    .logo{
        font-size:2rem;
    }

    .hero-content{
        position:relative;
        padding:120px 22px 64px;
    }

    .hero-content::after{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        background:linear-gradient(
            180deg,
            rgba(247,250,240,.88) 0,
            rgba(247,250,240,.56) 36%,
            rgba(26,77,51,.16) 100%
        );
        pointer-events:none;
    }

    .hero-copy{
        top:24%;
        left:22px;
        width:calc(100% - 44px);
        transform:none;
    }

    .hero-content h1{
        max-width:520px;
        font-size:clamp(2.8rem, 13vw, 5.4rem);
        line-height:.84;
        white-space:normal;
    }

    .hero-content h1 .hero-word,
    .hero.is-split .hero-content h1 .hero-word{
        display:inline;
    }

    .hero-content h1 .hero-word::after{
        content:" ";
    }

    .hero-content h1 .hero-word:last-child::after{
        content:"";
    }

    .hero.is-split .hero-content h1{
        line-height:.84;
    }

    .hero-content p{
        font-size:.8rem;
        line-height:1.6;
        padding:0 20px;
    }

    .hero-actions{
        width:100%;
        justify-content:flex-start;
        gap:14px;
        margin-top:26px;
    }

    .shop-btn,
    .hero-outline-btn{
        width:min(280px, 100%);
        padding:18px 28px;
        font-size:.85rem;
    }

    .hero-bottle{
        inset:0;
        width:100%;
        height:100%;
        aspect-ratio:auto;
        border-radius:0;
        opacity:1;
        transform:none;
        box-shadow:none;
        z-index:1;
    }

    .hero-bottle img{
        object-position:center;
    }

    .wellness-statement{
        padding:64px 22px;
    }

    .featured-products{
        padding:10px 22px 72px;
    }

    .featured-product-card,
    .featured-product-card-reverse{
        grid-template-columns:1fr;
        gap:28px;
        padding:18px;
    }

    .featured-product-card-reverse .featured-product-copy{
        order:2;
    }

    .featured-product-card-reverse .featured-product-image{
        order:1;
    }

    .featured-product-copy p,
    .featured-product-copy li{
        font-size:.9rem;
    }

    .why-us{
        padding:64px 22px;
        grid-template-columns:1fr;
        gap:38px;
    }

    .why-us-point{
        grid-template-columns:1fr;
        gap:12px;
        padding:28px 0;
    }

    .why-us-point p{
        font-size:.9rem;
    }

    .process-section{
        padding:64px 22px 72px;
        grid-template-columns:1fr;
        gap:32px;
    }

    .process-copy p{
        font-size:.9rem;
    }

    .process-video-placeholder{
        padding:20px;
    }

    .process-video-placeholder p{
        font-size:.82rem;
    }

    .drink-showcase{
        padding:64px 0 72px;
    }

    .drink-showcase-heading{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
        padding:0 22px 28px;
    }

    .drink-showcase-heading h2{
        font-size:clamp(2.6rem, 15vw, 4.9rem);
    }

    .drinks-page .drink-showcase{
        padding-top:145px;
    }

    .drinks-page .drink-showcase-heading{
        padding-bottom:32px;
    }

    .drink-showcase-heading a{
        margin-top:10px;
        margin-bottom:0;
    }

    .drink-scroll{
        grid-auto-columns:minmax(260px, 82vw);
        gap:22px;
        padding:0 22px 14px;
    }

    .drink-card h3{
        min-height:auto;
        font-size:1.2rem;
    }

    .drink-card button,
    .drink-card .order-btn{
        font-size:.72rem;
        padding:13px 16px;
    }

    .product-description{
        padding:54px 22px 72px;
    }

    .subscriptions{
        padding:64px 22px 72px;
    }

    .subscription-plans{
        grid-template-columns:none;
        grid-auto-flow:column;
        grid-auto-columns:80%;
        gap:16px;
        margin-top:34px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:inline mandatory;
        padding-bottom:14px;
        scrollbar-width:thin;
    }

    .subscription-card{
        padding:20px;
        scroll-snap-align:start;
    }

    .subscription-card h3{
        font-size:2rem;
    }

    .subscription-card p{
        margin-top:16px;
        line-height:1.6;
    }

    .subscription-card ul{
        margin-top:20px;
    }

    .subscription-card li{
        padding:12px 0;
    }

    .subscription-card strong{
        margin-top:22px;
    }

    .subscription-card a{
        margin-top:20px;
        padding:14px 24px;
    }

    .ingredients-preview{
        padding:72px 22px;
    }

    .ingredients-preview-copy p{
        font-size:.92rem;
    }

    .ingredients-loading{
        padding:132px 22px 64px;
    }

    .site-footer{
        padding:64px 22px 28px;
    }

    .footer-brand{
        grid-template-columns:1fr;
        gap:28px;
        padding-bottom:42px;
    }

    .footer-brand p{
        margin-left:0;
    }

    .footer-links{
        grid-template-columns:1fr;
        gap:30px;
        padding:38px 0;
    }

    .footer-bottom{
        flex-direction:column;
    }

}
