
:root{
    --bg:#080406;
    --maroon:#650818;
    --maroon2:#280008;
    --gold:#d6a94f;
    --gold2:#f3d987;
    --cream:#fff5df;
    --muted:#cbbfa8;
    --panel:#12080a;
    --line:rgba(214,169,79,.35);
    --shadow:0 30px 80px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:
        radial-gradient(circle at 20% 10%, rgba(125,7,30,.45), transparent 32%),
        radial-gradient(circle at 80% 20%, rgba(214,169,79,.10), transparent 30%),
        linear-gradient(135deg,#050304,#120509 46%,#050304);
    color:var(--cream);
    font-family: "Segoe UI", Arial, sans-serif;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{
    position:sticky;top:0;z-index:50;
    height:92px;
    display:flex;align-items:center;gap:28px;
    padding:12px 5vw;
    background:rgba(5,3,4,.78);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
}
.brand img{width:92px;height:92px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 8px 20px rgba(0,0,0,.5))}
.main-nav{display:flex;gap:24px;margin-left:auto;align-items:center}
.main-nav a{font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:#f5e6bc;opacity:.88}
.main-nav a.active,.main-nav a:hover{color:var(--gold2)}
.header-phone{color:var(--gold2);font-weight:600}
.menu-toggle{display:none;background:none;color:var(--gold2);border:1px solid var(--line);padding:10px 12px;border-radius:8px;font-size:24px}
.hero{
    min-height:760px;
    position:relative;overflow:hidden;
    display:flex;align-items:center;
    padding:80px 5vw;
    border-bottom:1px solid var(--line);
}
.hero-bg{
    position:absolute;inset:0;
    background:
      linear-gradient(90deg,rgba(17,0,5,.98) 0%,rgba(35,0,9,.88) 32%,rgba(0,0,0,.25) 62%),
      url('../images/backgrounds/home-hero.jpg') center/cover no-repeat;
    transform:scale(1.02);
}
.hero-content{position:relative;max-width:620px}
.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-weight:700;font-size:14px}
h1,h2,h3{font-family:Georgia, "Times New Roman", serif;margin:0;color:#fff6df}
h1{font-size:clamp(48px,7vw,112px);line-height:.92;letter-spacing:.02em}
h1 span,.hero h1 span{color:var(--gold)}
h2{font-size:clamp(34px,4vw,58px);line-height:1.02}
.hero-copy{font-size:20px;line-height:1.6;color:#eee0c8;max-width:490px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:0;padding:16px 26px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700;border:1px solid var(--gold);margin-right:14px}
.btn.primary{background:linear-gradient(135deg,#78091d,#b10d2a);color:#ffe9a5;box-shadow:0 12px 30px rgba(128,0,24,.35)}
.btn.ghost{color:var(--gold2)}
.hero-seal{
    position:absolute;right:46%;bottom:110px;width:190px;height:190px;border-radius:50%;
    border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;
    flex-direction:column;text-align:center;color:var(--gold2);background:rgba(0,0,0,.45);
    box-shadow:var(--shadow)
}
.hero-seal span{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.hero-seal strong{margin-top:12px;font-size:14px;letter-spacing:.1em}
.promise-strip{
    display:grid;grid-template-columns:repeat(4,1fr);
    background:rgba(5,5,5,.92);border-bottom:1px solid var(--line);
    padding:28px 5vw;gap:20px
}
.promise-strip div{border-right:1px solid var(--line);padding-right:20px}
.promise-strip div:last-child{border-right:0}
.promise-strip strong{display:block;color:var(--gold2);letter-spacing:.12em;text-transform:uppercase;font-size:14px}
.promise-strip span{display:block;color:var(--muted);font-size:14px;margin-top:8px}
.section{padding:64px 5vw}
.intro-section{text-align:center;max-width:950px;margin:auto}
.intro-section p:last-child{font-size:20px;line-height:1.7;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:20px}
.text-link{color:var(--gold2);letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.product-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0 28px}
.product-carousel::-webkit-scrollbar{height:8px}
.product-carousel::-webkit-scrollbar-thumb{background:var(--gold);border-radius:8px}
.product-card{
    scroll-snap-align:start;min-width:310px;max-width:360px;
    background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
    border:1px solid var(--line);border-radius:18px;overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
    transition:.35s transform,.35s box-shadow,.35s border-color
}
.product-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 24px 70px rgba(214,169,79,.16)}
.product-card img{
    height:250px;
    width:100%;
    object-fit:contain;
    background:
        radial-gradient(circle at center, rgba(214,169,79,.16), transparent 42%),
        linear-gradient(135deg,#170609,#050304);
    padding:14px;
}
.product-card div{padding:20px}
.product-card span{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.product-card h3{font-size:28px;margin:8px 0}
.product-card p{color:var(--muted);line-height:1.5}
.product-card.large{min-width:0;max-width:none}
.product-card.compact{min-width:250px}
.product-card.compact img{
    height:185px;
    object-fit:contain;
    padding:12px;
}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.private-label{
    margin:40px 5vw 0;padding:80px;
    background:
      linear-gradient(90deg,rgba(75,0,18,.95),rgba(20,3,7,.9)),
      radial-gradient(circle at 90% 20%,rgba(214,169,79,.16),transparent 28%);
    border:1px solid var(--line);box-shadow:var(--shadow)
}
.private-label p{max-width:690px;color:var(--muted);font-size:18px;line-height:1.7}
.cert-strip{display:flex;align-items:center;gap:36px;margin:80px 5vw;padding:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cert-strip img{max-width:420px;background:#fff;padding:12px}
.cert-strip p{color:var(--muted);font-size:18px}
.page-hero{
    padding:100px 5vw 70px;text-align:center;
    background:linear-gradient(135deg,rgba(101,8,24,.45),rgba(0,0,0,.2));
    border-bottom:1px solid var(--line)
}
.page-hero.small h1{font-size:clamp(44px,6vw,82px)}
.page-hero p{max-width:800px;margin:18px auto;color:var(--muted);font-size:18px;line-height:1.7}
.product-detail{
    min-height:auto;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:44px;
    align-items:center;
    padding:48px 5vw 36px;
    background:
      radial-gradient(circle at 25% 35%,rgba(101,8,24,.45),transparent 28%),
      linear-gradient(135deg,#090406,#1a070b 55%,#050303);
}
.mockup-box{
    position:relative;
    transform:none;
    max-width:430px;
    margin:auto;
    filter:drop-shadow(0 22px 34px rgba(0,0,0,.55));
}
.mockup-box:before{
    display:none;
}
.mockup-box img{
    max-height:360px;
    width:100%;
    object-fit:contain;
    border:1px solid rgba(214,169,79,.45);
    box-shadow:0 16px 42px rgba(0,0,0,.48);
    background:linear-gradient(135deg,#170609,#050304);
}
.short-desc{font-size:19px;color:var(--gold2);line-height:1.45;margin:12px 0}
.gold-rule{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px 0}
.story-text{font-size:16px;line-height:1.65;color:#f1e4cc;min-height:125px;white-space:pre-wrap;margin:0}
.story-text:after{content:"";display:inline-block;width:7px;height:18px;background:var(--gold2);margin-left:4px;animation:blink .8s infinite}
@keyframes blink{50%{opacity:0}}
.feature-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.feature-icons div{border:1px solid var(--line);padding:10px;color:var(--muted);font-size:13px}
.feature-icons span{color:var(--gold2);margin-right:8px}
.content-page{max-width:960px;margin:auto;color:var(--muted);font-size:18px;line-height:1.7}
.cert-full{background:white;padding:18px;margin:auto;border-radius:8px}
.contact-card{border:1px solid var(--line);padding:34px;background:rgba(0,0,0,.25)}
.faq-list{max-width:850px;margin:auto}
.faq-q{width:100%;text-align:left;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--gold2);padding:20px;font-size:18px;margin-top:12px;cursor:pointer}
.faq-a{display:none;border:1px solid var(--line);border-top:0;padding:20px;color:var(--muted);background:rgba(0,0,0,.2)}
.faq-a.open{display:block}
.site-footer{padding:24px 5vw;background:#050304;border-top:1px solid var(--line)}
.footer-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr 1.35fr 1fr;
    gap:22px;
    color:var(--muted);
    align-items:start;
}
.footer-grid p{margin:6px 0;line-height:1.45;font-size:14px}
.footer-grid h3{font-size:18px;color:var(--gold2);margin-bottom:8px}
.footer-grid a{display:block;color:#f5e6bc;margin:4px 0;font-size:14px}
.footer-logo{width:64px;border-radius:50%;margin-bottom:8px}
.small-text{font-size:12px}
.back-to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:#16070a;color:var(--gold2);font-size:22px;display:none;z-index:60}
.back-to-top.show{display:block}
.reveal,.reveal-left,.reveal-right{opacity:0;transform:translateY(28px);transition:1s ease}
.reveal-left{transform:translateX(-46px)}
.reveal-right{transform:translateX(46px)}
.visible{opacity:1;transform:none}
@media(max-width:950px){
    .site-header{height:auto;flex-wrap:wrap}
    .menu-toggle{display:block;margin-left:auto}
    .main-nav{display:none;flex-direction:column;width:100%;align-items:flex-start;margin-left:0;padding:20px 0}
    .main-nav.open{display:flex}
    .header-phone{display:none}
    .hero{min-height:650px}
    .hero-seal{display:none}
    .promise-strip,.product-grid,.product-detail,.footer-grid{grid-template-columns:1fr}
    .promise-strip div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px}
    .cert-strip{flex-direction:column;text-align:center}
    .private-label{padding:42px 28px}
    .product-detail{gap:24px;padding-top:36px}
}


.variety-block{
    margin:14px 0;
    padding:12px 16px;
    border:1px solid rgba(214,169,79,.35);
    background:rgba(255,255,255,.03);
    color:#f0dfbf;
    font-size:16px;
    line-height:1.7;
}

.variety-block strong{
    color:var(--gold2);
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-right:10px;
}


.product-card.large img{
    height:280px;
    object-fit:contain;
    padding:16px;
}

.product-card img[src$=".svg"]{
    padding:0;
}


.related-products{
    padding-top:28px;
    padding-bottom:34px;
}

.related-products .section-heading{
    margin-bottom:12px;
}

.related-products h2{
    font-size:34px;
}

.related-products .product-card.compact{
    min-width:215px;
}

.related-products .product-card.compact img{
    height:125px;
}

.related-products .product-card.compact div{
    padding:13px;
}

.related-products .product-card.compact h3{
    font-size:20px;
    margin:5px 0 0;
}

.related-products .product-card.compact span{
    font-size:10px;
}

@media(max-width:950px){
    .feature-icons{grid-template-columns:repeat(2,1fr)}
    .mockup-box img{max-height:300px}
    .footer-grid{gap:16px}
}


.mockup-box img{
    opacity:0;
    transform:translateY(18px) scale(.97);
    animation:productImageFadeIn .9s ease forwards;
    animation-delay:.25s;
}

@keyframes productImageFadeIn{
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}


/* Tighter product cards */
.product-card{
    min-width:260px;
    max-width:300px;
}

.product-card img{
    height:220px;
    padding:6px;
    object-fit:contain;
}

.product-card div{
    padding:14px 15px 16px;
}

.product-card h3{
    font-size:24px;
    margin:6px 0;
}

.product-card p{
    font-size:14px;
    margin:6px 0 0;
}

.product-card.large{
    max-width:none;
}

.product-card.large img{
    height:240px;
    padding:8px;
}

.product-card.compact{
    min-width:190px;
    max-width:220px;
}

.product-card.compact img,
.related-products .product-card.compact img{
    height:118px;
    padding:5px;
}

.related-products .product-card.compact{
    min-width:190px;
}

.product-carousel{
    gap:16px;
}


/* V6 visual cleanup: no visible empty product image boxes */
.product-visual{
    display:flex;
    justify-content:center;
    align-items:center;
}

.mockup-box{
    max-width:360px;
    width:auto;
    margin:auto;
    background:transparent !important;
    border:0 !important;
}

.mockup-box img{
    display:block;
    width:auto !important;
    max-width:100%;
    max-height:410px;
    object-fit:contain;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:0 18px 38px rgba(0,0,0,.52);
}

/* Remove the rectangular image panels inside cards */
.product-card{
    min-width:205px;
    max-width:230px;
}

.product-card img{
    height:155px;
    width:100%;
    object-fit:contain;
    padding:0 !important;
    background:transparent !important;
}

.product-card div{
    padding:12px 14px 14px;
}

.product-card h3{
    font-size:21px;
    line-height:1.05;
}

.product-card p{
    font-size:13px;
    line-height:1.35;
}

.product-card.large{
    min-width:0;
    max-width:none;
}

.product-card.large img{
    height:205px;
}

.related-products{
    padding-top:22px;
}

.related-products .product-carousel{
    gap:14px;
}

.related-products .product-card.compact,
.product-card.compact{
    min-width:155px;
    max-width:170px;
}

.related-products .product-card.compact img,
.product-card.compact img{
    height:128px;
    width:100%;
    object-fit:contain;
    padding:0 !important;
    background:transparent !important;
}

.related-products .product-card.compact div,
.product-card.compact div{
    padding:10px 11px 12px;
}

.related-products .product-card.compact h3,
.product-card.compact h3{
    font-size:18px;
}

.related-products .product-card.compact span,
.product-card.compact span{
    font-size:9px;
}

/* Hide scrollbar but keep manual scroll/swipe */
.product-carousel{
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.product-carousel::-webkit-scrollbar{
    display:none;
}


/* V7 individual certification cards */
.cert-strip{
    align-items:center;
}

.cert-icons{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
    min-width:420px;
}

.cert-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:150px;
    padding:16px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(214,169,79,.35);
    border-radius:18px;
    box-shadow:0 18px 38px rgba(0,0,0,.28);
}

.cert-card img{
    width:100%;
    height:82px;
    object-fit:contain;
    background:#fff;
    padding:8px;
    border-radius:12px;
}

.cert-card span{
    color:var(--gold2);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px;
    text-align:center;
}

.cert-page-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin-top:10px;
}

.large-cert{
    min-height:240px;
    padding:24px;
}

.large-cert img{
    height:140px;
}

.large-cert span{
    font-size:13px;
}

.cert-full{
    display:none;
}

@media(max-width:950px){
    .cert-icons,
    .cert-page-grid{
        grid-template-columns:1fr;
        min-width:0;
        width:100%;
    }

    .cert-card img{
        max-width:280px;
    }
}


/* V8 enhanced back-to-top button */
.back-to-top{
    position:fixed;
    right:24px;
    bottom:24px;
    width:58px;
    height:58px;
    border-radius:50%;
    border:1px solid rgba(214,169,79,.55);
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), transparent 35%),
        linear-gradient(135deg,#7b0618,#240007);
    color:var(--gold2);
    font-size:28px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 16px 34px rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:
        opacity .35s ease,
        transform .35s ease,
        visibility .35s ease,
        box-shadow .35s ease;
    z-index:999;
    cursor:pointer;
}

.back-to-top:hover{
    transform:translateY(-4px) scale(1.06);
    box-shadow:0 20px 42px rgba(214,169,79,.25);
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}


/* V9 header logo spacing fix */
.site-header{
    min-height:88px;
    padding-top:10px;
    padding-bottom:10px;
}

.brand{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:4px 0;
}

.brand img{
    width:74px !important;
    height:74px !important;
    object-fit:contain;
    margin:2px 0;
}

@media(max-width:950px){
    .site-header{
        min-height:82px;
    }

    .brand img{
        width:68px !important;
        height:68px !important;
    }
}


/* V10 hero/promise strip separation fix */
.hero{
    min-height:680px !important;
    padding-top:115px !important;
    padding-bottom:95px !important;
    align-items:center;
    overflow:hidden;
}

.hero-content{
    z-index:2;
}

.hero-seal{
    z-index:2;
    right:40%;
    bottom:72px;
    width:165px;
    height:165px;
}

.promise-strip{
    position:relative;
    z-index:3;
    margin-top:0;
    clear:both;
    background:#050505 !important;
    border-top:1px solid rgba(214,169,79,.45);
}

@media(max-width:950px){
    .hero{
        min-height:620px !important;
        padding-top:95px !important;
        padding-bottom:70px !important;
    }
}


/* V12 product cards: no packaging image until product detail page */
.product-card{
    background:
        linear-gradient(135deg, rgba(92,4,22,.45), rgba(5,3,4,.96)),
        radial-gradient(circle at 80% 20%, rgba(214,169,79,.18), transparent 34%);
    border:1px solid rgba(214,169,79,.42);
    min-height:255px;
    display:flex;
    align-items:stretch;
    position:relative;
    overflow:hidden;
}

.product-card:before{
    content:"RG";
    position:absolute;
    right:-18px;
    bottom:-24px;
    font-family:Georgia, "Times New Roman", serif;
    font-size:118px;
    font-weight:700;
    color:rgba(214,169,79,.055);
    letter-spacing:-.08em;
    pointer-events:none;
}

.product-card:after{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    top:18px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(214,169,79,.55), transparent);
}

.product-card img{
    display:none !important;
}

.product-card-content{
    position:relative;
    z-index:2;
    padding:28px 22px 24px !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:100%;
}

.product-card-content span{
    color:var(--gold);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.16em;
}

.product-card-content h3{
    color:#fff4dc;
    font-size:30px;
    line-height:1.02;
    margin:11px 0 10px;
}

.product-card-content p{
    color:#d9cbb0;
    font-size:14px;
    line-height:1.55;
    margin:0;
}

.product-card-content small{
    color:rgba(243,217,135,.82);
    margin-top:16px;
    line-height:1.45;
    font-size:12px;
}

.product-card.compact,
.related-products .product-card.compact{
    min-width:205px;
    max-width:230px;
    min-height:150px;
}

.product-card.compact .product-card-content,
.related-products .product-card.compact .product-card-content{
    padding:20px 17px !important;
}

.product-card.compact .product-card-content h3,
.related-products .product-card.compact .product-card-content h3{
    font-size:22px;
}

.product-card.compact:before,
.related-products .product-card.compact:before{
    font-size:78px;
    right:-12px;
    bottom:-18px;
}

/* products grid cards may be a little larger */
.product-grid .product-card{
    min-height:285px;
}

.product-grid .product-card-content h3{
    font-size:32px;
}


/* V13 food images on cards instead of packaging */
.product-card{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:320px;
}

.food-card-image{
    display:block !important;
    width:100%;
    height:170px;
    object-fit:contain;
    object-position:center bottom;
    margin-top:10px;
    padding:0 10px;
    background:transparent !important;
    border:0 !important;
    filter:drop-shadow(0 14px 20px rgba(0,0,0,.38));
}

.product-card.large .food-card-image{
    height:210px;
}

.compact-food-image,
.related-products .compact-food-image{
    height:95px;
    margin-top:8px;
    padding:0 8px;
}

.product-card-content{
    padding-top:12px !important;
}

.product-card.compact,
.related-products .product-card.compact{
    min-height:205px;
}

.product-card.compact .product-card-content h3,
.related-products .product-card.compact .product-card-content h3{
    font-size:19px;
}


/* V14 premium card + hero polish */
.product-card{
    isolation:isolate;
    background:
        radial-gradient(circle at 50% 8%, rgba(255,218,135,.13), transparent 28%),
        radial-gradient(circle at 80% 28%, rgba(138,10,32,.46), transparent 35%),
        linear-gradient(145deg, rgba(50,0,10,.96), rgba(6,3,4,.98) 68%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 22px 48px rgba(0,0,0,.35);
}

.product-card:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(115deg, transparent 0%, transparent 38%, rgba(246,215,142,.18) 50%, transparent 62%, transparent 100%);
    transform:translateX(-125%);
    transition:transform .85s ease;
    z-index:4;
    pointer-events:none;
}

.product-card:hover:before{
    transform:translateX(125%);
}

.product-card:after{
    content:"";
    position:absolute;
    left:-20%;
    right:-20%;
    bottom:-34px;
    height:100px;
    background:
        radial-gradient(ellipse at center, rgba(238,198,109,.22), transparent 58%);
    opacity:.35;
    z-index:0;
    pointer-events:none;
}

.food-card-image{
    position:relative;
    z-index:2;
    opacity:.96;
    -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
    mask-image:linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
    transition:transform .45s ease, filter .45s ease, opacity .45s ease;
}

.product-card:hover .food-card-image{
    transform:translateY(-4px) scale(1.035);
    filter:
        drop-shadow(0 18px 26px rgba(0,0,0,.48))
        drop-shadow(0 0 16px rgba(214,169,79,.16));
    opacity:1;
}

.product-card-content{
    z-index:3;
}

/* Subtle smoke/steam suggestion over image area */
.product-card .product-card-content:before{
    content:"";
    position:absolute;
    left:14%;
    right:14%;
    top:-72px;
    height:90px;
    background:
        radial-gradient(ellipse at 35% 70%, rgba(255,255,255,.10), transparent 42%),
        radial-gradient(ellipse at 62% 40%, rgba(255,255,255,.08), transparent 45%);
    filter:blur(12px);
    opacity:.45;
    animation:softSteam 5.5s ease-in-out infinite alternate;
    pointer-events:none;
}

@keyframes softSteam{
    from{transform:translateY(12px) translateX(-6px); opacity:.22;}
    to{transform:translateY(-10px) translateX(8px); opacity:.48;}
}

/* Hero polish */
.hero:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 38%, rgba(214,169,79,.13), transparent 24%),
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 74%, rgba(0,0,0,.62) 100%);
    z-index:1;
    pointer-events:none;
}

.hero-content{
    text-shadow:0 12px 34px rgba(0,0,0,.55);
}

.hero h1{
    max-width:760px;
}

.hero .btn.primary{
    position:relative;
    overflow:hidden;
}

.hero .btn.primary:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg, transparent 0%, rgba(255,235,170,.28) 45%, transparent 62%);
    transform:translateX(-130%);
    animation:heroButtonShimmer 4.2s ease-in-out infinite;
}

@keyframes heroButtonShimmer{
    0%, 55%{transform:translateX(-130%);}
    100%{transform:translateX(130%);}
}

/* Cleaner product detail image entry */
.product-visual{
    animation:detailImageFloat 5.5s ease-in-out infinite alternate;
}

@keyframes detailImageFloat{
    from{transform:translateY(0);}
    to{transform:translateY(-7px);}
}


/* V17 safe fix: restore carousel scrolling without touching PHP markup */
.product-carousel{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:none !important;
    padding-bottom:18px !important;
    scrollbar-width:thin !important;
    -ms-overflow-style:auto !important;
}

.product-carousel::-webkit-scrollbar{
    display:block !important;
    height:8px !important;
}

.product-carousel::-webkit-scrollbar-track{
    background:rgba(255,255,255,.05);
}

.product-carousel::-webkit-scrollbar-thumb{
    background:rgba(214,169,79,.65);
    border-radius:20px;
}

.product-card{
    flex:0 0 245px !important;
    min-width:245px !important;
    max-width:245px !important;
}

.product-grid .product-card{
    flex:initial !important;
    min-width:0 !important;
    max-width:none !important;
}

.product-card img.food-card-image{
    display:block !important;
}

.food-card-image{
    width:100% !important;
    height:170px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    padding:0 8px !important;
    margin:10px auto 0 !important;
    background:transparent !important;
    border:0 !important;
}

.related-products .product-card.compact,
.product-card.compact{
    flex:0 0 200px !important;
    min-width:200px !important;
    max-width:200px !important;
    min-height:205px !important;
}

.related-products .product-card.compact .food-card-image,
.product-card.compact .food-card-image{
    height:92px !important;
    max-height:92px !important;
}

.related-products .product-card.compact .product-card-content,
.product-card.compact .product-card-content{
    padding:12px 14px 14px !important;
}

.related-products .product-card.compact h3,
.product-card.compact h3{
    font-size:19px !important;
}


/* Home hero smoke effect */
.hero-content,.hero-seal{z-index:2}
.hero-smoke{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
    overflow:hidden;
}
.hero-smoke .smoke{
    position:absolute;
    bottom:-90px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle at center, rgba(255,245,223,.22) 0%, rgba(255,245,223,.12) 26%, rgba(255,245,223,.05) 42%, rgba(255,245,223,0) 72%);
    filter:blur(34px);
    opacity:.34;
    mix-blend-mode:screen;
    animation:heroSmokeRise 16s ease-in-out infinite;
}
.smoke-1{left:46%; animation-delay:0s; transform:scale(.9)}
.smoke-2{left:58%; width:220px; height:220px; animation-delay:4s; opacity:.25}
.smoke-3{left:68%; width:310px; height:310px; animation-delay:7s; opacity:.2}
.smoke-4{left:54%; width:180px; height:180px; animation-delay:10s; opacity:.18}
@keyframes heroSmokeRise{
    0%{transform:translate3d(0,30px,0) scale(.78); opacity:0}
    12%{opacity:.22}
    38%{transform:translate3d(18px,-110px,0) scale(1); opacity:.28}
    68%{transform:translate3d(-12px,-240px,0) scale(1.18); opacity:.18}
    100%{transform:translate3d(10px,-360px,0) scale(1.34); opacity:0}
}
@media(max-width:950px){
    .hero-smoke .smoke{filter:blur(24px)}
    .smoke-1{left:30%}
    .smoke-2{left:48%}
    .smoke-3{left:58%}
    .smoke-4{display:none}
}


/* v20 story JSON page */
.story-hero-left{
    text-align:left;
}
.story-hero-left h1{
    max-width:900px;
}
.story-json-section{
    padding-top:44px;
}
.story-json-content{
    max-width:980px;
    color:var(--muted);
    font-size:20px;
    line-height:1.8;
    text-align:left;
}

/* v20 certification logo cleanup */
.cert-card img{
    width:150px;
    height:150px;
    object-fit:contain;
    background:#fff;
    border-radius:14px;
    padding:16px;
}


/* v21 tighten header */
.site-header{
    min-height:72px !important;
    height:72px !important;
    padding:8px 4vw !important;
}
.brand img{
    width:58px !important;
    height:58px !important;
}
.main-nav a{
    font-size:12px;
}
@media(max-width:950px){
    .site-header{
        min-height:auto !important;
        height:auto !important;
        padding:8px 4vw !important;
    }
    .brand img{
        width:54px !important;
        height:54px !important;
    }
}

/* v21 stronger home smoke */
.hero-smoke{
    z-index:1 !important;
}
.hero-smoke .smoke{
    bottom:-120px;
    background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.42) 0%, rgba(255,248,235,.28) 22%, rgba(255,243,214,.14) 42%, rgba(255,243,214,.04) 58%, rgba(255,243,214,0) 76%) !important;
    filter:blur(42px) !important;
    opacity:.48 !important;
    mix-blend-mode:screen;
    animation:heroSmokeRiseV21 13s ease-in-out infinite !important;
}
.smoke-1{left:38% !important; width:320px !important; height:320px !important; animation-delay:0s !important;}
.smoke-2{left:50% !important; width:260px !important; height:260px !important; animation-delay:2.5s !important; opacity:.38 !important;}
.smoke-3{left:60% !important; width:340px !important; height:340px !important; animation-delay:5s !important; opacity:.32 !important;}
.smoke-4{left:46% !important; width:220px !important; height:220px !important; animation-delay:7.5s !important; opacity:.28 !important;}
@keyframes heroSmokeRiseV21{
    0%{transform:translate3d(0,40px,0) scale(.72); opacity:0}
    10%{opacity:.28}
    35%{transform:translate3d(18px,-120px,0) scale(.96); opacity:.42}
    65%{transform:translate3d(-14px,-260px,0) scale(1.16); opacity:.24}
    100%{transform:translate3d(8px,-420px,0) scale(1.45); opacity:0}
}
@media(max-width:950px){
    .hero-smoke .smoke{filter:blur(28px) !important; opacity:.34 !important;}
    .smoke-1{left:22% !important;}
    .smoke-2{left:40% !important;}
    .smoke-3{left:52% !important;}
    .smoke-4{left:32% !important; display:block !important;}
}


/* v22 certification section alignment fix */
.cert-strip{
    display:grid !important;
    grid-template-columns:minmax(520px, 1fr) minmax(360px, .9fr);
    align-items:center;
    gap:48px;
}

.cert-icons{
    display:flex;
    gap:18px;
    flex-wrap:nowrap;
    align-items:stretch;
}

.cert-card{
    width:150px;
    min-width:150px;
    text-align:center;
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px 12px 16px;
    background:rgba(255,255,255,.03);
}

.cert-card img{
    width:120px !important;
    height:120px !important;
    margin:0 auto 12px;
    object-fit:contain;
}

.cert-card span{
    display:block;
    color:var(--gold2);
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.cert-strip h2{
    font-size:clamp(34px, 4vw, 56px);
    line-height:1.02;
}

.cert-strip p{
    max-width:620px;
}

@media(max-width:1100px){
    .cert-strip{
        grid-template-columns:1fr !important;
        text-align:center;
    }

    .cert-icons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .cert-strip p{
        margin-left:auto;
        margin-right:auto;
    }
}


/* v23 final smoke refinement + gold accents */
.site-header{
    border-bottom:1px solid rgba(214,169,79,.55) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.34), inset 0 -1px 0 rgba(243,217,135,.12);
}
.hero{
    box-shadow:inset 0 1px 0 rgba(243,217,135,.08), inset 0 -1px 0 rgba(214,169,79,.28);
}
.eyebrow,
.text-link,
.product-card span,
.promise-strip strong,
.header-phone{
    color:#f0c86b !important;
}
.hero h1,
.section-heading h2,
.intro-section h2,
.private-label h2,
.cert-strip h2,
.page-hero h1{
    text-shadow:0 2px 18px rgba(214,169,79,.10);
}
.btn{
    box-shadow:0 0 0 1px rgba(243,217,135,.08);
}
.btn.primary{
    background:linear-gradient(135deg,#8a0d22,#b3122f) !important;
    border-color:#e0b45e !important;
    box-shadow:0 14px 32px rgba(128,0,24,.34), 0 0 0 1px rgba(243,217,135,.10);
}
.btn.ghost:hover,
.text-link:hover{
    color:#ffe4a0 !important;
}
.product-card,
.cert-card,
.private-label,
.contact-card,
.variety-block{
    box-shadow:0 18px 45px rgba(0,0,0,.28), inset 0 0 0 1px rgba(243,217,135,.04);
}
.product-card:hover,
.cert-card:hover{
    border-color:rgba(243,217,135,.72) !important;
    box-shadow:0 24px 70px rgba(214,169,79,.18), inset 0 0 0 1px rgba(243,217,135,.08);
}
.hero-smoke{
    z-index:1 !important;
    overflow:hidden;
}
.hero-smoke .smoke,
.hero-smoke .smoke-wisp{
    position:absolute;
    bottom:-160px;
    width:120px;
    height:340px;
    pointer-events:none;
    border-radius:50% 50% 45% 55%;
    opacity:0;
    filter:blur(24px);
    background:radial-gradient(ellipse at center, rgba(255,248,238,.16) 0%, rgba(255,241,220,.10) 35%, rgba(255,235,205,0) 72%);
    transform-origin:center bottom;
    animation:heroSmokeWisp 14s linear infinite;
}
.hero-smoke .smoke-wisp::before,
.hero-smoke .smoke-wisp::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:radial-gradient(circle at center, rgba(255,250,243,.18) 0%, rgba(255,243,222,.08) 38%, rgba(255,243,222,0) 74%);
}
.hero-smoke .smoke-wisp::before{
    width:88px;
    height:150px;
    left:-18px;
    bottom:88px;
    transform:rotate(-12deg);
}
.hero-smoke .smoke-wisp::after{
    width:94px;
    height:160px;
    right:-12px;
    bottom:148px;
    transform:rotate(14deg);
}
.smoke-1{left:40% !important; animation-delay:0s !important;}
.smoke-2{left:48% !important; width:95px !important; height:320px !important; animation-delay:2.2s !important;}
.smoke-3{left:55% !important; width:132px !important; height:380px !important; animation-delay:4.5s !important;}
.smoke-4{left:62% !important; width:102px !important; height:300px !important; animation-delay:6.8s !important;}
.smoke-5{left:51% !important; width:88px !important; height:280px !important; animation-delay:8.3s !important;}
.smoke-6{left:58% !important; width:114px !important; height:350px !important; animation-delay:10.5s !important;}
@keyframes heroSmokeWisp{
    0%{opacity:0; transform:translate3d(0,0,0) scale(.55) rotate(-4deg)}
    8%{opacity:.05}
    22%{opacity:.12; transform:translate3d(8px,-110px,0) scale(.72) rotate(2deg)}
    48%{opacity:.15; transform:translate3d(-10px,-270px,0) scale(.92) rotate(-5deg)}
    74%{opacity:.09; transform:translate3d(14px,-430px,0) scale(1.08) rotate(4deg)}
    100%{opacity:0; transform:translate3d(-8px,-620px,0) scale(1.22) rotate(-2deg)}
}
@media(max-width:950px){
    .hero-smoke .smoke-wisp{
        filter:blur(18px);
        opacity:.9;
    }
    .smoke-1{left:22% !important;}
    .smoke-2{left:34% !important;}
    .smoke-3{left:44% !important;}
    .smoke-4{left:56% !important;}
    .smoke-5{display:none !important;}
    .smoke-6{display:none !important;}
}


/* v24 remove smoke and tighten page headers */
.hero-smoke,
.hero-smoke *,
.smoke,
.smoke-wisp{
    display:none !important;
    animation:none !important;
}

.page-hero{
    padding-top:58px !important;
    padding-bottom:42px !important;
}

.page-hero.small{
    padding-top:48px !important;
    padding-bottom:34px !important;
}

.page-hero h1,
.page-hero.small h1{
    font-size:clamp(38px, 4.6vw, 66px) !important;
    line-height:1.02 !important;
}

.page-hero p{
    margin-top:12px !important;
    margin-bottom:0 !important;
    font-size:17px !important;
    line-height:1.55 !important;
}

.story-json-section,
.section{
    padding-top:44px;
    padding-bottom:44px;
}

.cert-strip{
    margin-top:46px !important;
    margin-bottom:46px !important;
}

.product-detail{
    padding-top:34px !important;
}

.hero{
    min-height:620px !important;
}


/* v25 sticky footer + balanced page height */
html{
    min-height:100%;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

main{
    flex:1 0 auto;
    display:block;
}

.site-footer{
    margin-top:auto;
    flex-shrink:0;
}

/* Help short pages fill naturally without stretching content awkwardly */
.page-hero + .section,
.page-hero + .content-page,
.page-hero + .cert-strip{
    flex:0 0 auto;
}

.content-page,
.story-json-section,
.faq-list,
.contact-card{
    margin-bottom:36px;
}

/* Compact footer so it doesn't feel too heavy on short pages */
.site-footer{
    padding-top:20px !important;
    padding-bottom:20px !important;
}


/* v29 USDA cert + tighter home hero */
.hero{
    min-height: 560px !important;
    padding-top: 86px !important;
    padding-bottom: 52px !important;
    align-items: flex-start !important;
}
.hero-content{
    max-width: 560px !important;
    padding-top: 48px;
}
.hero h1{
    font-size: clamp(40px, 5.8vw, 78px) !important;
    line-height: .95 !important;
    max-width: 680px !important;
}
.hero-copy{
    font-size: 18px !important;
    line-height: 1.5 !important;
    max-width: 520px !important;
    margin-top: 14px;
}
.hero-actions{
    margin-top: 24px;
}
.hero-seal{
    bottom: 44px !important;
    right: 36% !important;
}
@media(max-width:950px){
    .hero{
        min-height: 520px !important;
        padding-top: 82px !important;
        padding-bottom: 38px !important;
        align-items: center !important;
    }
    .hero-content{
        padding-top: 22px;
    }
    .hero h1{
        font-size: clamp(36px, 8vw, 58px) !important;
    }
    .hero-copy{
        font-size: 16px !important;
    }
}

.cert-icons{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 16px !important;
}
.cert-card{
    width: auto !important;
    min-width: 0 !important;
}
.cert-card img{
    width: 104px !important;
    height: 104px !important;
}
.cert-page-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.large-cert{
    min-height: 220px;
}
.large-cert img{
    width: 110px !important;
    height: 110px !important;
}
@media(max-width:1100px){
    .cert-icons,
    .cert-page-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media(max-width:640px){
    .cert-icons,
    .cert-page-grid{
        grid-template-columns: 1fr !important;
    }
}


/* v33 shrink and raise home hero content */
.hero{
    min-height: 500px !important;
    padding-top: 64px !important;
    padding-bottom: 28px !important;
    align-items: flex-start !important;
}
.hero-content{
    max-width: 520px !important;
    padding-top: 12px !important;
}
.hero .eyebrow{
    margin-bottom: 10px;
    font-size: 13px !important;
}
.hero h1{
    font-size: clamp(32px, 4.6vw, 64px) !important;
    line-height: .9 !important;
    max-width: 520px !important;
    letter-spacing: 0 !important;
    margin-bottom: 12px !important;
}
.hero-copy{
    font-size: 16px !important;
    line-height: 1.45 !important;
    max-width: 470px !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}
.hero-actions{
    margin-top: 18px !important;
}
.hero .btn{
    padding: 14px 22px !important;
    font-size: 11px !important;
}
.hero-seal{
    bottom: 26px !important;
    right: 34% !important;
    width: 150px !important;
    height: 150px !important;
}
.hero-seal span{font-size:11px !important;}
.hero-seal strong{font-size:13px !important; margin-top:8px !important;}

@media(max-width:950px){
    .hero{
        min-height: 460px !important;
        padding-top: 72px !important;
        padding-bottom: 22px !important;
        align-items: flex-start !important;
    }
    .hero-content{
        max-width: 100% !important;
        padding-top: 6px !important;
    }
    .hero h1{
        font-size: clamp(28px, 7vw, 46px) !important;
        max-width: 100% !important;
    }
    .hero-copy{
        font-size: 15px !important;
        max-width: 100% !important;
    }
    .hero-actions{
        margin-top: 16px !important;
    }
}


/* v34 additional ~15% home hero reduction */
.hero{
    min-height: 425px !important;
    padding-top: 54px !important;
    padding-bottom: 20px !important;
}
.hero-content{
    max-width: 442px !important;
    padding-top: 2px !important;
}
.hero .eyebrow{
    margin-bottom: 8px !important;
    font-size: 11px !important;
}
.hero h1{
    font-size: clamp(27px, 3.9vw, 54px) !important;
    line-height: .88 !important;
    max-width: 442px !important;
    margin-bottom: 10px !important;
}
.hero-copy{
    font-size: 14px !important;
    line-height: 1.38 !important;
    max-width: 400px !important;
    margin-top: 8px !important;
}
.hero-actions{
    margin-top: 14px !important;
}
.hero .btn{
    padding: 12px 18px !important;
    font-size: 10px !important;
    margin-right: 10px !important;
}
.hero-seal{
    bottom: 18px !important;
    right: 32% !important;
    width: 128px !important;
    height: 128px !important;
}
.hero-seal span{font-size:10px !important; letter-spacing:.16em !important;}
.hero-seal strong{font-size:11px !important; margin-top:6px !important;}
@media(max-width:950px){
    .hero{
        min-height: 405px !important;
        padding-top: 64px !important;
        padding-bottom: 18px !important;
    }
    .hero-content{
        padding-top: 0 !important;
    }
    .hero h1{
        font-size: clamp(24px, 6.1vw, 39px) !important;
    }
    .hero-copy{
        font-size: 13px !important;
        max-width: 92% !important;
    }
    .hero .btn{
        padding: 11px 16px !important;
        font-size: 9px !important;
    }
    .hero-seal{
        width: 112px !important;
        height: 112px !important;
        right: 8% !important;
        bottom: 12px !important;
    }
}


/* v35 content polish */
.contact-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    margin-bottom:28px;
}

.contact-card span{
    display:block;
    color:var(--gold2);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:11px;
    margin-bottom:10px;
}

.contact-card h2{
    font-size:28px;
    margin-bottom:10px;
}

.contact-card p,
.contact-main-card p,
.standards-copy p{
    color:var(--muted);
    line-height:1.7;
}

.contact-main-card{
    border:1px solid var(--line);
    border-radius:22px;
    padding:34px;
    background:linear-gradient(135deg, rgba(101,8,24,.28), rgba(255,255,255,.03));
    box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.contact-main-card h2,
.standards-copy h2{
    font-size:clamp(30px, 4vw, 48px);
    margin-bottom:12px;
}

.contact-actions{
    margin-top:24px;
}

.standards-copy{
    margin-top:36px;
    border-top:1px solid var(--line);
    padding-top:34px;
}

.standards-list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
    margin-top:24px;
}

.standards-list div{
    border:1px solid var(--line);
    border-radius:16px;
    padding:18px;
    background:rgba(255,255,255,.03);
}

.standards-list strong{
    display:block;
    color:var(--gold2);
    margin-bottom:8px;
}

.standards-list span{
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

.faq-a{
    display:none;
    border:1px solid var(--line);
    border-top:0;
    padding:0 22px 18px;
    color:var(--muted);
    line-height:1.7;
    background:rgba(255,255,255,.025);
}

.faq-a.open{
    display:block;
}

@media(max-width:950px){
    .contact-grid,
    .standards-list{
        grid-template-columns:1fr;
    }
}


/* v39 homepage Years in Business counter - fully isolated */
.home-stats{
    display:none !important;
}

.rg-years-band,
.rg-years-band *{
    box-sizing:border-box;
}

.rg-years-band{
    padding:42px 5vw;
    background:
        radial-gradient(circle at 12% 52%, rgba(215,168,75,.16), transparent 32%),
        radial-gradient(circle at 82% 20%, rgba(101,8,24,.28), transparent 30%),
        linear-gradient(135deg, #080406 0%, #14070a 38%, #2a0811 70%, #090405 100%);
    border-top:1px solid rgba(214,169,79,.42);
    border-bottom:1px solid rgba(214,169,79,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03), inset 0 -1px 0 rgba(255,255,255,.02);
    overflow:hidden;
}

.rg-years-wrap{
    width:min(1120px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(230px, 360px) minmax(0, 1fr);
    align-items:center;
    gap:44px;
}

.rg-years-number{
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    min-width:0;
    white-space:nowrap;
    font-family:Impact, Haettenschweiler, "Arial Black", sans-serif;
    font-size:clamp(112px, 13vw, 190px);
    line-height:.74;
    font-weight:900;
    letter-spacing:-.045em;
    color:transparent;
    -webkit-text-fill-color:transparent;
    -webkit-text-stroke:3px rgba(255,255,255,.96);
    text-shadow:0 18px 36px rgba(0,0,0,.32);
}

.rg-years-number .rg-js-counter,
.rg-years-plus{
    display:inline-block;
    color:transparent;
    -webkit-text-fill-color:transparent;
}

.rg-years-plus{
    margin-left:8px;
    -webkit-text-stroke:3px rgba(243,217,135,.98);
}

.rg-years-copy{
    border-left:1px solid rgba(214,169,79,.55);
    padding-left:36px;
    max-width:720px;
}

.rg-years-kicker{
    display:block;
    margin:0 0 10px;
    color:var(--gold2);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:12px;
    font-weight:800;
}

.rg-years-copy h2{
    margin:0 0 10px;
    color:#fff7e6;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(34px, 4vw, 56px);
    line-height:1.02;
    letter-spacing:.01em;
}

.rg-years-copy p{
    max-width:650px;
    margin:0;
    color:#dfe7f5;
    font-size:18px;
    line-height:1.58;
}

/* Safety override for older v38 class names if browser cache still sees them */
.rg-experience-band,
.rg-experience-inner,
.rg-experience-number,
.rg-experience-copy{
    all:unset;
}

@media(max-width:800px){
    .rg-years-band{
        padding:36px 5vw;
    }

    .rg-years-wrap{
        grid-template-columns:1fr;
        gap:20px;
        text-align:center;
    }

    .rg-years-number{
        justify-content:center;
        font-size:clamp(92px, 29vw, 140px);
    }

    .rg-years-copy{
        border-left:0;
        border-top:1px solid rgba(214,169,79,.45);
        padding:22px 0 0;
        max-width:none;
    }
}


/* v41 story/contact polish */
.story-json-content{
    max-width:1040px;
    padding:36px;
    border:1px solid rgba(214,169,79,.26);
    border-radius:26px;
    background:
        radial-gradient(circle at 8% 0%, rgba(214,169,79,.10), transparent 34%),
        linear-gradient(135deg, rgba(18,8,10,.92), rgba(40,0,8,.46));
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.story-child-name{
    color:#fff5df;
    text-decoration-line:underline;
    text-decoration-color:var(--gold2);
    text-decoration-thickness:2px;
    text-underline-offset:5px;
    font-weight:700;
}

.contact-hero{
    background:
        radial-gradient(circle at 15% 20%, rgba(214,169,79,.12), transparent 34%),
        radial-gradient(circle at 84% 28%, rgba(101,8,24,.38), transparent 36%),
        linear-gradient(135deg, #080406, #19070b 52%, #050304);
}

.contact-intro-card{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 340px;
    gap:28px;
    align-items:stretch;
    border:1px solid rgba(214,169,79,.30);
    border-radius:28px;
    padding:34px;
    margin-bottom:28px;
    background:
        radial-gradient(circle at 8% 5%, rgba(214,169,79,.11), transparent 32%),
        linear-gradient(135deg, rgba(18,8,10,.96), rgba(40,0,8,.56));
    box-shadow:0 24px 70px rgba(0,0,0,.30);
}

.contact-intro-card h2{
    font-size:clamp(32px, 4vw, 54px);
    margin:0 0 14px;
}

.contact-intro-card p{
    color:var(--muted);
    line-height:1.75;
}

.contact-info-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:14px;
    padding:22px;
    border:1px solid rgba(214,169,79,.24);
    border-radius:22px;
    background:rgba(0,0,0,.22);
}

.contact-info-panel a,
.contact-info-panel p{
    margin:0;
    padding:14px 0;
    border-bottom:1px solid rgba(214,169,79,.18);
    color:#fff5df;
    font-size:18px;
    line-height:1.35;
}

.contact-info-panel a:last-child,
.contact-info-panel p:last-child{
    border-bottom:0;
}

.contact-info-panel span{
    display:block;
    margin-bottom:4px;
    color:var(--gold2);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-weight:800;
}

.contact-grid .contact-card{
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.contact-grid .contact-card:hover{
    transform:translateY(-5px);
    border-color:rgba(243,217,135,.66);
    box-shadow:0 22px 58px rgba(0,0,0,.25);
}

.contact-polish-card{
    margin-top:30px;
}

.contact-detail-list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
    margin:26px 0 18px;
}

.contact-detail-list div{
    border:1px solid rgba(214,169,79,.24);
    border-radius:18px;
    padding:18px;
    background:rgba(255,255,255,.025);
}

.contact-detail-list strong{
    display:block;
    color:var(--gold2);
    margin-bottom:8px;
}

.contact-detail-list span{
    display:block;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

.contact-retailer-note{
    border-top:1px solid rgba(214,169,79,.22);
    padding-top:18px;
    margin-top:18px !important;
    font-size:15px;
}

@media(max-width:900px){
    .contact-intro-card{
        grid-template-columns:1fr;
        padding:26px;
    }

    .contact-detail-list{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:640px){
    .story-json-content{
        padding:24px;
        font-size:18px;
    }

    .contact-detail-list{
        grid-template-columns:1fr;
    }
}


/* v42 buyer-focused polish */
.premium-appetizers-band{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(280px, 430px);
    gap:30px;
    align-items:center;
    border-top:1px solid rgba(214,169,79,.24);
    border-bottom:1px solid rgba(214,169,79,.24);
    background:
        radial-gradient(circle at 12% 10%, rgba(214,169,79,.10), transparent 34%),
        linear-gradient(135deg, rgba(18,8,10,.70), rgba(101,8,24,.22));
}

.premium-appetizers-copy h2{
    max-width:850px;
}

.premium-appetizers-copy p{
    max-width:760px;
    color:var(--muted);
    font-size:18px;
    line-height:1.7;
}

.trust-badge-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.trust-badge-row span,
.footer-mini-badges span{
    border:1px solid rgba(214,169,79,.34);
    border-radius:999px;
    padding:12px 14px;
    color:var(--gold2);
    background:rgba(0,0,0,.22);
    text-align:center;
    font-size:12px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.product-hero-upgrade{
    display:grid;
    grid-template-columns:minmax(320px, 48%) minmax(0, 1fr);
    gap:48px;
    align-items:center;
    padding:72px 5vw 54px;
    border-bottom:1px solid var(--line);
    background:
        radial-gradient(circle at 22% 20%, rgba(214,169,79,.10), transparent 34%),
        radial-gradient(circle at 82% 22%, rgba(101,8,24,.28), transparent 36%),
        linear-gradient(135deg, #080406, #17070a 52%, #050304);
}

.product-hero-image{
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(214,169,79,.28);
    border-radius:32px;
    background:
        radial-gradient(circle at 50% 38%, rgba(214,169,79,.16), transparent 38%),
        linear-gradient(135deg, rgba(255,255,255,.04), rgba(0,0,0,.26));
    box-shadow:0 28px 80px rgba(0,0,0,.36);
    overflow:hidden;
}

.product-hero-image img{
    width:min(94%, 640px);
    max-height:520px;
    object-fit:contain;
    filter:drop-shadow(0 26px 36px rgba(0,0,0,.45));
    transition:transform .35s ease;
}

.product-hero-image:hover img{
    transform:scale(1.035);
}

.product-hero-copy h1{
    font-size:clamp(46px, 6vw, 92px);
}

.product-hook{
    color:var(--gold2);
    font-size:clamp(20px, 2vw, 28px);
    line-height:1.42;
    max-width:720px;
    margin:18px 0 24px;
}

.product-key-bullets{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:26px 0;
}

.product-key-bullets div{
    border:1px solid rgba(214,169,79,.25);
    border-radius:18px;
    padding:16px 18px;
    background:rgba(255,255,255,.025);
    color:var(--muted);
    line-height:1.45;
    transition:transform .25s ease, border-color .25s ease;
}

.product-key-bullets div:hover{
    transform:translateY(-4px);
    border-color:rgba(243,217,135,.58);
}

.product-key-bullets span{
    color:var(--gold2);
    margin-right:8px;
}

.product-cta-row{
    margin-top:24px;
}

.industries-serve{
    padding-top:42px;
}

.industries-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

.industries-grid div{
    border:1px solid rgba(214,169,79,.24);
    border-radius:20px;
    padding:22px;
    background:
        radial-gradient(circle at 90% 5%, rgba(214,169,79,.08), transparent 34%),
        rgba(255,255,255,.025);
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.industries-grid div:hover{
    transform:translateY(-5px);
    border-color:rgba(243,217,135,.58);
    box-shadow:0 20px 56px rgba(0,0,0,.22);
}

.industries-grid strong{
    display:block;
    color:var(--gold2);
    margin-bottom:8px;
    font-size:18px;
}

.industries-grid span{
    color:var(--muted);
    line-height:1.6;
}

.footer-upgrade{
    background:
        radial-gradient(circle at 12% 0%, rgba(214,169,79,.08), transparent 28%),
        linear-gradient(135deg, #050304, #120509 58%, #050304);
}

.footer-logo{
    width:88px;
    height:88px;
    object-fit:contain;
    border-radius:50%;
    filter:drop-shadow(0 10px 22px rgba(0,0,0,.45));
    margin-bottom:14px;
}

.footer-mini-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.footer-mini-badges span{
    padding:8px 10px;
    font-size:10px;
}

.footer-bottom-line{
    max-width:1180px;
    margin:28px auto 0;
    padding-top:18px;
    border-top:1px solid rgba(214,169,79,.22);
    display:flex;
    justify-content:space-between;
    gap:16px;
    color:var(--muted);
    font-size:13px;
}

.private-label-contact-section{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 44%);
    gap:28px;
    align-items:center;
    border:1px solid rgba(214,169,79,.30);
    border-radius:28px;
    padding:34px;
    margin:30px 0;
    background:
        radial-gradient(circle at 12% 10%, rgba(214,169,79,.10), transparent 34%),
        linear-gradient(135deg, rgba(40,0,8,.64), rgba(0,0,0,.22));
    box-shadow:0 24px 70px rgba(0,0,0,.26);
}

.private-label-contact-section h2{
    font-size:clamp(32px, 4vw, 52px);
    margin-bottom:14px;
}

.private-label-contact-section p{
    color:var(--muted);
    line-height:1.75;
}

.private-label-contact-points{
    display:grid;
    gap:14px;
}

.private-label-contact-points div{
    border:1px solid rgba(214,169,79,.24);
    border-radius:18px;
    padding:18px;
    background:rgba(0,0,0,.20);
}

.private-label-contact-points strong{
    display:block;
    color:var(--gold2);
    margin-bottom:8px;
}

.private-label-contact-points span{
    color:var(--muted);
    line-height:1.55;
}

.btn{
    position:relative;
    overflow:hidden;
}

.btn::after{
    content:"";
    position:absolute;
    top:-60%;
    left:-120%;
    width:65%;
    height:220%;
    transform:rotate(28deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
    transition:left .55s ease;
}

.btn:hover::after{
    left:130%;
}

.product-card img{
    transition:transform .35s ease;
}

.product-card:hover img{
    transform:scale(1.045);
}

@media(max-width:900px){
    .premium-appetizers-band,
    .product-hero-upgrade,
    .private-label-contact-section{
        grid-template-columns:1fr;
    }

    .product-hero-image{
        min-height:320px;
    }

    .industries-grid{
        grid-template-columns:1fr 1fr;
    }

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

@media(max-width:640px){
    .trust-badge-row,
    .product-key-bullets,
    .industries-grid{
        grid-template-columns:1fr;
    }

    .product-hero-upgrade{
        padding-top:42px;
    }
}


/* v43 merged brand messaging */
.brand-message-split{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:0;
    padding:0;
    overflow:hidden;
    border-top:1px solid rgba(214,169,79,.22);
    border-bottom:1px solid rgba(214,169,79,.22);
    background:linear-gradient(90deg, rgba(12,4,6,.96) 0%, rgba(33,5,11,.98) 50%, rgba(16,5,7,.96) 100%);
}

.brand-message-panel{
    padding:56px clamp(24px, 5vw, 76px);
    min-height:100%;
}

.brand-message-standard{
    border-right:1px solid rgba(214,169,79,.16);
    background:radial-gradient(circle at 18% 20%, rgba(214,169,79,.06), transparent 34%);
}

.brand-message-premium{
    background:radial-gradient(circle at 82% 18%, rgba(214,169,79,.08), transparent 34%);
}

.brand-message-panel h2{
    margin:0 0 16px;
    max-width:650px;
}

.brand-message-panel p:not(.eyebrow){
    max-width:670px;
    color:var(--muted);
    font-size:18px;
    line-height:1.7;
}

.brand-message-premium .trust-badge-row{
    margin-top:28px;
}

.rg-years-band{
    cursor:default;
}

.rg-years-number{
    transition:transform .22s ease, text-shadow .22s ease;
}

.rg-years-band:hover .rg-years-number{
    transform:translateY(-2px) scale(1.015);
    text-shadow:0 20px 42px rgba(0,0,0,.38);
}

@media(max-width:900px){
    .brand-message-split{
        grid-template-columns:1fr;
    }

    .brand-message-standard{
        border-right:0;
        border-bottom:1px solid rgba(214,169,79,.16);
    }
}


/* v44 unified homepage messaging + badge polish */
.brand-message-split{
    display:none !important;
}

.brand-standard-unified{
    text-align:center;
    border-top:1px solid rgba(214,169,79,.22);
    border-bottom:1px solid rgba(214,169,79,.22);
    background:
        radial-gradient(circle at 12% 8%, rgba(214,169,79,.09), transparent 32%),
        radial-gradient(circle at 88% 20%, rgba(101,8,24,.26), transparent 34%),
        linear-gradient(135deg, rgba(8,4,6,.98), rgba(35,5,12,.86), rgba(8,4,6,.98));
}

.brand-standard-head{
    max-width:980px;
    margin:0 auto 34px;
}

.brand-standard-head h2{
    margin:0 auto 18px;
    max-width:980px;
    font-size:clamp(38px, 5vw, 72px);
}

.brand-standard-head p{
    max-width:840px;
    margin:0 auto;
    color:var(--muted);
    font-size:19px;
    line-height:1.72;
}

.brand-standard-support{
    max-width:1120px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    text-align:left;
}

.brand-standard-support div{
    border:1px solid rgba(214,169,79,.26);
    border-radius:22px;
    padding:24px;
    background:
        radial-gradient(circle at 90% 0%, rgba(214,169,79,.08), transparent 34%),
        rgba(255,255,255,.025);
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.brand-standard-support div:hover{
    transform:translateY(-5px);
    border-color:rgba(243,217,135,.58);
    box-shadow:0 22px 58px rgba(0,0,0,.24);
}

.brand-standard-support strong{
    display:block;
    color:var(--gold2);
    font-size:20px;
    margin-bottom:10px;
}

.brand-standard-support span{
    display:block;
    color:var(--muted);
    line-height:1.6;
}

.brand-standard-badges{
    max-width:920px;
    margin:30px auto 0;
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.product-card{
    position:relative;
}

.product-card-badge{
    position:absolute;
    top:14px;
    left:14px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border:1px solid rgba(243,217,135,.58);
    border-radius:999px;
    background:rgba(8,4,6,.78);
    backdrop-filter:blur(8px);
    color:var(--gold2);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:0 10px 26px rgba(0,0,0,.30);
}

.product-detail-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 18px;
}

.product-detail-badges span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 13px;
    border:1px solid rgba(214,169,79,.38);
    border-radius:999px;
    background:rgba(0,0,0,.22);
    color:var(--gold2);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.eyebrow{
    letter-spacing:.20em;
}

.section-heading .eyebrow,
.brand-standard-unified .eyebrow,
.product-hero-copy .eyebrow,
.contact-enhanced .eyebrow{
    margin-bottom:10px;
}

.product-card,
.contact-card,
.industries-grid div,
.brand-standard-support div,
.product-key-bullets div{
    border-radius:20px;
}

.btn.primary{
    background:linear-gradient(135deg, var(--gold), var(--gold2));
    color:#190407;
}

.btn.ghost{
    background:rgba(0,0,0,.18);
}

@media(max-width:900px){
    .brand-standard-support,
    .brand-standard-badges{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:640px){
    .brand-standard-support,
    .brand-standard-badges{
        grid-template-columns:1fr;
    }

    .brand-standard-unified{
        text-align:left;
    }

    .brand-standard-head p{
        margin:0;
    }
}
