/* ============================================================
   HENOVAFRESH — COMPLETE STYLESHEET
   Brand Colors: #2F7D5A | #276B4D | #1F4F3A | #E6F4EC
   Fonts: Oswald (headings) + Roboto (body)
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --padding-section:120px 0;
  --font-1:Roboto,sans-serif;
  --font-2:Oswald,serif;
  --hf-green:#2F7D5A;
  --hf-green-2:#276B4D;
  --hf-teal:#1A8C7A;
  --hf-blue:#1E7AB8;
  --hf-dark:#2d2d2d;
  --hf-offwhite:#f8f7f7;
  --hf-stats-bg:#E6F4EC;
  --hf-sage:#B8DEC9;
  --hf-sage-dark:#1F5E40;
  --hf-yellow-bg:#E6F4EC;
}
@media(max-width:991px){:root{--padding-section:60px 0}}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-1);font-size:16px;line-height:1.333;color:var(--hf-dark);overflow-x:hidden;background:#fff;margin-top:110px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul{list-style:none}

/* === PROMO BAR === */
.hf-promo-bar{
    background:var(--hf-dark);color:#fff;text-align:center;padding:0 20px;
    font-family:var(--font-2);font-size:13px;font-weight:500;letter-spacing:1px;
    text-transform:uppercase;position:fixed;top:0;left:0;right:0;z-index:1001;
    height:40px;display:flex;align-items:center;justify-content:center;
}
.hf-promo-bar a{color:#6FBD96;text-decoration:none;}
.hf-promo-bar a:hover{text-decoration:underline;}
@media(max-width:767px){.hf-promo-bar{height:36px;font-size:11px;padding:0 12px;}}

/* === HEADER === */
.hf-header{background:#fff;border-bottom:1px solid #e8e8e8;position:fixed;top:40px;left:0;right:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.hf-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 24px;height:70px}
.hf-logo{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.hf-logo img{height:42px;width:auto}
.hf-logo-text{font-family:var(--font-2);font-size:24px;font-weight:700;color:var(--hf-dark);letter-spacing:-.5px;text-transform:uppercase}
.hf-logo-text span{color:var(--hf-green)}
.hf-mainnav{display:flex;align-items:center;gap:4px;margin:0;padding:0}
.hf-mainnav-link{font-family:var(--font-2);font-size:15px;font-weight:500;letter-spacing:1px;color:var(--hf-dark);text-decoration:none;padding:8px 14px;transition:color .15s;text-transform:uppercase;position:relative}
.hf-mainnav-link:hover,.hf-mainnav-link.active{color:var(--hf-green)}
.hf-mainnav-link.active::after{content:'';position:absolute;bottom:-2px;left:14px;right:14px;height:2px;background:var(--hf-green);border-radius:2px}
.hf-dropdown-wrap{position:relative}
.hf-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:2px solid var(--hf-dark);box-shadow:3px 3px 0 var(--hf-dark);min-width:180px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s ease;z-index:100}
.hf-dropdown-wrap:hover .hf-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.hf-dropdown a{display:block;padding:10px 16px;font-family:var(--font-1);font-size:14px;color:var(--hf-dark);text-decoration:none;transition:background .15s}
.hf-dropdown a:hover{background:var(--hf-stats-bg);color:var(--hf-green)}
.hf-rightnav{display:flex;align-items:center;gap:12px;flex-shrink:0}
.hf-rightnav-link{font-family:var(--font-2);font-size:14px;font-weight:500;letter-spacing:1px;color:var(--hf-dark);text-decoration:none;text-transform:uppercase;transition:color .15s}
.hf-rightnav-link:hover{color:var(--hf-green)}

/* ============================================================
   CTA BUTTON
   ============================================================ */
.crof-hero-button{
  display:inline-block;background:var(--hf-green);color:#fff !important;
  font-family:var(--font-2);font-size:16px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;padding:16px 36px;text-decoration:none !important;
  transition:transform .15s,box-shadow .15s;border:2px solid #1F4F3A;cursor:pointer;
  border-radius:50px;line-height:1;white-space:nowrap;
  box-shadow:4px 4px 0 #1F4F3A;position:relative;
}
.crof-hero-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #1F4F3A;color:#fff !important}
.crof-hero-button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #1F4F3A}
.crof-hero-button_2{background:#fff !important;color:var(--hf-dark) !important;border-color:var(--hf-dark);box-shadow:4px 4px 0 var(--hf-dark)}
.crof-hero-button_2:hover{background:var(--hf-dark) !important;color:#fff !important}
.crof-hero-button.header-btn{padding:12px 24px;font-size:14px;box-shadow:3px 3px 0 #1F4F3A}
.crof-hero-button.header-btn:hover{box-shadow:5px 5px 0 #1F4F3A}
.crof-hero-button.btn-dark{background:#1F4F3A;border-color:var(--hf-green);box-shadow:4px 4px 0 var(--hf-green)}
.crof-hero-button.btn-dark:hover{box-shadow:6px 6px 0 var(--hf-green)}

/* Cart btn */
.hf-cart-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-2);font-size:14px;font-weight:500;letter-spacing:1px;color:var(--hf-dark);text-decoration:none;text-transform:uppercase;transition:color .15s}
.hf-cart-btn:hover{color:var(--hf-green)}
.hf-cart-count{background:var(--hf-green);color:#fff;border-radius:50%;font-size:10px;font-weight:700;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}

/* Mobile hamburger */
.hf-mobile-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.hf-mobile-btn i{display:block;width:24px;height:2px;background:var(--hf-dark);transition:all .25s;border-radius:2px}

/* ============================================================
   HERO — Split: text left | vending visual right
   ============================================================ */
.main-banner{display:block;overflow:hidden;min-height:620px}
.main-banner-split{display:flex;align-items:stretch;min-height:620px}
.main-banner-left{width:50%;display:flex;flex-direction:column;justify-content:center;padding:80px 60px 80px 72px;background:#f5f5f0;position:relative;z-index:2}
.main-banner-right{width:50%;position:relative;overflow:hidden;min-height:620px}
.main-banner-right img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.main-banner-right-fallback{width:100%;height:100%;min-height:620px;background:linear-gradient(135deg,#1F4F3A 0%,#2F7D5A 35%,#1A5E3A 65%,#0d3503 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.main-banner-right-fallback::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(47,125,90,.25) 0%,transparent 65%);border-radius:50%}

/* Floating AI badge on hero image */
.hf-hero-badge{
    position:absolute;bottom:32px;left:28px;display:inline-flex;align-items:center;gap:8px;
    background:rgba(15,15,15,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:10px 18px;
    font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:2px;
    text-transform:uppercase;color:#fff;z-index:3;
}
.hf-hero-badge-dot{
    width:8px;height:8px;border-radius:50%;background:var(--hf-green);flex-shrink:0;
    box-shadow:0 0 0 0 rgba(47,125,90,.6);animation:hf-badge-pulse 2s ease-in-out infinite;
}
@keyframes hf-badge-pulse{
    0%,100%{box-shadow:0 0 0 0   rgba(47,125,90,.6)}
    50%     {box-shadow:0 0 0 8px rgba(47,125,90,0)}
}

/* Hero tag */
.main-banner-tag{font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--hf-green);margin-bottom:18px;display:block}
/* Hero title */
.main-banner-title{font-family:var(--font-2);font-size:68px;font-weight:700;line-height:1;text-transform:uppercase;color:var(--hf-dark);margin-bottom:16px}
/* Sub-strong line */
.main-banner-sub-strong{font-family:var(--font-2);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--hf-dark);margin-bottom:10px}
/* Sub tagline */
.main-banner-sub{font-family:var(--font-1);font-size:18px;font-weight:300;color:rgba(45,45,45,.65);max-width:420px;margin-bottom:36px;line-height:1.6}
.main-banner-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:32px}

/* Hero trust strip */
.hf-hero-trust{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hf-hero-trust-item{display:flex;align-items:center;gap:7px;font-family:var(--font-1);font-size:13px;font-weight:400;color:rgba(45,45,45,.6)}
.hf-hero-trust-item svg{color:var(--hf-green);flex-shrink:0}
.hf-hero-trust-sep{width:1px;height:16px;background:rgba(45,45,45,.2)}

/* Product display (used on other hero variants) */
.main-banner-products{display:flex;align-items:flex-end;justify-content:center;height:100%;padding:40px 20px 0;gap:0;position:relative}
.main-banner-cup{text-align:center;flex-shrink:0;width:200px;position:relative}
.main-banner-cup img{height:420px;width:auto;max-width:180px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.25));transition:transform .3s ease;display:block}
.main-banner-cup:hover img{transform:translateY(-10px)}
.main-banner-cup:nth-child(2) img{height:480px;max-width:200px}
.main-banner-cup-name{font-family:var(--font-2);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.8);margin-top:12px;padding-bottom:10px}

/* Hero responsive */
@media(max-width:1100px){
  .main-banner-title{font-size:56px}
  .main-banner-left{padding:70px 40px 70px 48px}
}
@media(max-width:991px){
  .main-banner-split{flex-direction:column;min-height:auto}
  .main-banner-left{width:100%;padding:60px 30px;text-align:center;align-items:center}
  .main-banner-right{width:100%;min-height:380px}
  .main-banner-title{font-size:48px}
  .main-banner-btns{justify-content:center}
  .main-banner-sub{max-width:480px}
  .hf-hero-badge{bottom:20px;left:20px}
  .hf-hero-trust{justify-content:center}
  .main-banner-cup img{height:280px}
  .main-banner-cup:nth-child(2) img{height:320px}
}
@media(max-width:767px){
  .main-banner-left{padding:50px 20px}
  .main-banner-sub{font-size:16px}
  .main-banner-cup{width:140px}
  .main-banner-cup img{height:220px}
  .main-banner-cup:nth-child(2) img{height:260px}
}
@media(max-width:560px){
  .main-banner-left{padding:48px 20px}
  .main-banner-title{font-size:38px}
  .main-banner-right{min-height:280px}
  .hf-hero-trust-sep{display:none}
  .hf-hero-trust{flex-direction:column;gap:8px}
}

/* === SOLO BASE === */
.solo{color:var(--hf-dark);font-family:var(--font-1);font-size:16px;line-height:1.333;overflow:visible}
.solo-title{display:block;font-family:var(--font-2);font-size:48px;font-weight:700;line-height:1.1;margin:0;text-transform:uppercase}
@media(max-width:991px){.solo-title{font-size:36px}}
@media(max-width:767px){.solo-title{font-size:30px}}
.solo-btn-center{display:flex;justify-content:center;margin-top:50px}

/* === STATS STRIP === */
.solo-percent{background:var(--hf-stats-bg);padding:var(--padding-section)}
.solo-percent-inner{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1170px;padding:0 30px}
.solo-percent-item{padding:0 15px;text-align:center;width:330px}
.solo-percent-item span{display:block;font-family:var(--font-2);font-size:64px;line-height:1;margin-bottom:16px;color:var(--hf-dark)}
.solo-percent-item-3 span{align-items:center;display:flex;justify-content:center}
.solo-percent-svg{align-items:center;display:flex;margin-left:8px}
.solo-percent-item strong{display:block;font-size:22px;font-weight:700;margin-bottom:16px;text-transform:uppercase;font-family:var(--font-2)}
.solo-percent-item em{display:block;font-size:18px;font-style:normal;font-weight:300}
@media(max-width:991px){
  .solo-percent-inner{display:block}
  .solo-percent-item{align-items:center;display:flex;margin:0 auto 32px;padding:0;width:354px}
  .solo-percent-item:last-child{margin-bottom:0}
  .solo-percent-item span{font-size:36px;margin-bottom:8px}
  .solo-percent-item strong{font-size:14px;margin:0;width:128px}
  .solo-percent-item em{font-size:16px;padding-left:8px;text-align:left;width:226px}
}

/* === TESTIMONIAL CARDS === */
.solo-influencer{background:#fff;padding:var(--padding-section);text-align:center}
.solo-influencer .solo-title{margin-bottom:16px}
.solo-influencer-subtitle{font-size:24px;font-weight:700;margin-bottom:60px}
.solo-influencer-container{margin-bottom:50px;overflow-x:auto;overflow-y:hidden;text-align:left}
.solo-influencer-list{display:flex;width:max-content;padding:0 30px 15px;gap:0}
.solo-influencer-item1 .solo-influencer-item-inner{background:#FFCDD9}
.solo-influencer-item2 .solo-influencer-item-inner{background:#D8BFAA}
.solo-influencer-item3 .solo-influencer-item-inner{background:#B8DEC9}
.solo-influencer-item4 .solo-influencer-item-inner{background:#A2D1ED}
.solo-influencer-item{border-radius:15px;margin:0 12px;overflow:hidden;width:350px;flex-shrink:0}
.solo-influencer-item1 .solo-influencer-photo-bg{background:linear-gradient(180deg,#f7b8c8 0%,#FFCDD9 100%)}
.solo-influencer-item2 .solo-influencer-photo-bg{background:linear-gradient(180deg,#c8a88a 0%,#D8BFAA 100%)}
.solo-influencer-item3 .solo-influencer-photo-bg{background:linear-gradient(180deg,#7ab89a 0%,#B8DEC9 100%)}
.solo-influencer-item4 .solo-influencer-photo-bg{background:linear-gradient(180deg,#72b8e0 0%,#A2D1ED 100%)}
.solo-influencer-photo-bg{width:100%;height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.solo-influencer-photo-bg img{width:100%;height:100%;object-fit:cover;display:block}
.solo-influencer-item-inner{padding:28px 20px 36px;text-align:center}
.solo-influencer-item-inner p{font-size:17px;margin:0 0 20px}
.solo-influencer-item-inner p *{display:block}
.solo-influencer-item-inner span{letter-spacing:4px;margin-bottom:14px;font-family:var(--font-2);font-weight:600;text-transform:uppercase;font-size:13px}
.solo-influencer-item-inner strong{font-size:16px;font-weight:400;font-style:italic;margin-bottom:10px;line-height:1.5}
.solo-influencer-item-inner em{font-size:13px;color:rgba(45,45,45,.65)}
.solo-influencer-item1 .solo-influencer-pill{background:#FE93B1}
.solo-influencer-item2 .solo-influencer-pill{background:#BF8E69}
.solo-influencer-item3 .solo-influencer-pill{background:var(--hf-green)}
.solo-influencer-item4 .solo-influencer-pill{background:#5FACDD}
.solo-influencer-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;padding:16px 28px;gap:10px;min-width:240px;margin-top:16px}
.solo-influencer-pill img{width:44px;height:44px;object-fit:cover;border-radius:50%;flex-shrink:0}
.solo-influencer-pill i{font-style:normal;font-family:var(--font-2);font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-align:left;line-height:1.3}
@media(min-width:992px){
  .solo-influencer-container::-webkit-scrollbar{height:8px}
  .solo-influencer-container::-webkit-scrollbar-track{background:#f1f0f0;border-radius:4px}
  .solo-influencer-container::-webkit-scrollbar-thumb{background:#7c7c7c;border-radius:4px}
}

/* ============================================================
   FEATURES SECTION
   ============================================================ */
.hf-features-section{background:var(--hf-dark)}
.hf-features-heading{
    text-align:center;padding:88px 30px 52px;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.hf-features-eyebrow{
    display:block;font-family:var(--font-2);font-size:11px;font-weight:600;
    letter-spacing:4px;text-transform:uppercase;color:var(--hf-green);margin-bottom:16px;
}
.hf-title-white{color:#fff}
.hf-features-strapline{
    font-size:17px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.38);
    max-width:540px;margin:18px auto 0;
}
.hf-features{background:var(--hf-dark);padding:0}
.hf-features-inner{display:flex;flex-wrap:wrap;max-width:1280px;margin:0 auto}
.hf-feature-item{
    flex:1 1 25%;padding:56px 36px;text-align:center;
    border-right:1px solid rgba(255,255,255,.07);
    border-top:1px solid rgba(255,255,255,.07);
    transition:background .2s;
}
.hf-feature-item:last-child{border-right:none}
.hf-feature-item:hover{background:rgba(47,125,90,.07)}
.hf-feature-icon{
    width:76px;height:76px;border-radius:50%;background:rgba(47,125,90,.1);
    border:2px solid rgba(47,125,90,.28);display:flex;align-items:center;
    justify-content:center;margin:0 auto 24px;transition:background .2s,border-color .2s;
}
.hf-feature-item:hover .hf-feature-icon{background:rgba(47,125,90,.2);border-color:rgba(47,125,90,.55)}
.hf-feature-icon svg{width:32px;height:32px;color:var(--hf-green)}
.hf-feature-item strong{
    display:block;font-family:var(--font-2);font-size:16px;font-weight:700;
    text-transform:uppercase;letter-spacing:1.5px;color:#fff;margin-bottom:12px;
}
.hf-feature-item p{font-size:14px;font-weight:300;color:rgba(255,255,255,.42);line-height:1.75;max-width:220px;margin:0 auto}
@media(max-width:991px){
  .hf-feature-item{flex:1 1 50%;border-right:none;padding:40px 24px}
  .hf-feature-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.07)}
  .hf-features-heading{padding:64px 20px 40px}
}
@media(max-width:560px){
  .hf-feature-item{flex:1 1 100%;border-right:none !important}
  .hf-features-strapline{font-size:15px}
}

/* === HOW IT WORKS === */
.solo-how{background:var(--hf-offwhite);padding:var(--padding-section);text-align:center}
.solo-how .solo-title{margin-bottom:72px}
.solo-how-list{display:flex;justify-content:space-around;margin:0 auto;max-width:1170px;padding:0 15px}
.solo-how-item{max-width:260px;padding:0 16px;text-align:center}
.solo-how-item-icon{width:80px;height:80px;border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:var(--hf-stats-bg);border:2px solid var(--hf-sage)}
.solo-how-item-icon img{width:100%;height:100%;object-fit:cover}
.solo-how-item-icon svg{width:80px;height:80px;color:var(--hf-green)}
/* Compact icon variant used on home page */
.hf-how-compact .solo-how-item-icon.hf-icon-sm{width:76px;height:76px;margin-bottom:20px}
.hf-how-compact .solo-how-item-icon.hf-icon-sm svg{width:30px;height:30px;color:var(--hf-green)}
.solo-how-step{
    display:block;font-family:var(--font-2);font-size:11px;font-weight:600;
    letter-spacing:3px;color:var(--hf-green);text-transform:uppercase;margin-bottom:10px;
}
.solo-how-item strong{font-family:var(--font-2);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px;color:var(--hf-dark)}
.solo-how-item p{font-size:14.5px;font-weight:300;margin:0 auto;max-width:220px;line-height:1.7;color:rgba(45,45,45,.6)}
@media(max-width:991px){
  .solo-how .solo-title{margin-bottom:44px}
  .solo-how-list{flex-direction:column;align-items:center;gap:44px}
  .solo-how-item{max-width:340px;padding:0}
  .solo-how-item p{max-width:280px}
}

/* ============================================================
   PRODUCT DIG — 3 cups prominent
   ============================================================ */
.solo-dig{padding:80px 0 0;position:relative;overflow:hidden}
.solo-dig::after{background:var(--hf-sage);bottom:0;content:'';height:300px;left:0;position:absolute;right:0;z-index:0}
.solo-dig-inner{display:flex;align-items:flex-start;max-width:1440px;margin:0 auto;position:relative;z-index:2}
.solo-dig-info{width:30%;padding:60px 0 60px 60px;flex-shrink:0}
.solo-dig-subtitle{font-size:18px;font-weight:300;margin:24px 0 40px;line-height:1.6;padding-right:20px}
.solo-dig-arrows{display:flex;gap:12px}
.solo-dig-arrow{cursor:pointer;transition:transform .15s;display:inline-block;line-height:0}
.solo-dig-arrow:hover{transform:scale(1.1)}
.solo-dig-cups{width:70%;overflow:hidden}
.solo-dig-cups-slider{display:flex;overflow-x:auto;scroll-behavior:smooth;padding:20px 40px 60px 20px;gap:0;align-items:flex-end}
.solo-dig-cups-slider::-webkit-scrollbar{display:none}
.solo-dig-cups-slide{flex-shrink:0;width:320px;text-align:center;padding:0 16px}
.solo-dig-cups-slide a{display:block;text-decoration:none;color:inherit}
.solo-dig-cup-img-wrap{position:relative;display:flex;align-items:flex-end;justify-content:center;height:520px;margin-bottom:20px}
.solo-dig-cup-img-wrap img{max-height:500px;width:auto;max-width:260px;object-fit:contain;transition:transform .3s ease;display:block;margin:0 auto;filter:drop-shadow(0 20px 32px rgba(0,0,0,.18))}
.solo-dig-cups-slide:hover .solo-dig-cup-img-wrap img{transform:translateY(-10px)}
.solo-dig-cup-label{position:absolute;top:20px;right:5px;font-family:var(--font-1);font-size:12px;font-weight:500;color:rgba(45,45,45,.55);writing-mode:vertical-rl;letter-spacing:2px;text-transform:uppercase}
.solo-dig-cups-slide strong{display:block;font-family:var(--font-2);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.solo-dig-cups-slide p{font-size:14px;font-weight:300;color:rgba(45,45,45,.65)}
.solo-dig-cups-slide span{font-weight:500;color:var(--hf-dark)}
.solo-dig-button-wrap{background:var(--hf-sage);padding:40px 0 50px;position:relative;z-index:2;text-align:center}
@media(max-width:1280px){
  .solo-dig-info{width:35%;padding:60px 20px 60px 40px}
  .solo-dig-cups{width:65%}
}
@media(max-width:991px){
  .solo-dig-inner{flex-direction:column}
  .solo-dig-info{width:100%;padding:50px 30px 20px;text-align:center}
  .solo-dig-arrows{justify-content:center}
  .solo-dig-cups{width:100%}
  .solo-dig-cup-img-wrap{height:380px}
  .solo-dig-cups-slide{width:260px}
  .solo-dig::after{height:220px}
}
@media(max-width:767px){
  .solo-dig-cup-img-wrap{height:300px}
  .solo-dig-cups-slide{width:220px}
  .solo-dig-cups-slider{padding:20px 15px 50px}
}

/* ============================================================
   FRESH IN SECONDS — green steps + large image
   ============================================================ */
.solo-green{background:var(--hf-sage);padding:var(--padding-section)}
.solo-green-inner{display:flex;align-items:center;justify-content:center;margin:0 auto;max-width:1200px;padding:0 30px;gap:80px}
.solo-green-content{flex-shrink:0;max-width:520px}
.solo-green .solo-title{margin-bottom:50px}
.solo-green-list{list-style:none;margin:0 0 48px;padding:0}
.solo-green-list li{display:flex;align-items:flex-start;padding:22px 0;gap:24px}
.solo-green-list li:not(:last-child){border-bottom:1px solid rgba(45,45,45,.2)}
.solo-green-list span{flex-shrink:0;font-family:var(--font-2);font-size:36px;font-weight:700;color:var(--hf-dark);line-height:1;min-width:56px}
.solo-green-list em{font-size:20px;font-style:normal;font-weight:400;line-height:1.4;padding-top:4px}
.solo-green-list u{display:block;font-size:15px;font-weight:300;text-decoration:none;margin-top:4px;color:rgba(45,45,45,.6)}
.solo-green-img{flex-shrink:0;padding:0 0 14px 0}
.solo-green-img img{width:400px;height:560px;object-fit:cover;border-radius:15px;border:2px solid var(--hf-dark);box-shadow:12px 12px 0 #1F5E40;display:block}
.solo-green-img-placeholder{width:400px;height:560px;border-radius:15px;border:2px solid var(--hf-dark);box-shadow:12px 12px 0 #1F5E40;background:linear-gradient(135deg,#1F4F3A 0%,#2F7D5A 50%,#1A8C7A 100%);display:flex;align-items:center;justify-content:center}
@media(max-width:900px){
  .solo-green-inner{flex-direction:column;gap:40px;text-align:center}
  .solo-green .solo-title{text-align:center}
  .solo-green-list{max-width:420px;margin-left:auto;margin-right:auto}
  .solo-green-list li{text-align:left}
  .solo-green-img img,.solo-green-img-placeholder{width:100%;max-width:380px;height:420px}
  .solo-green-img{width:100%;max-width:380px;margin:0 auto}
}

/* ============================================================
   REAL INGREDIENTS — split image + text
   ============================================================ */
.solo-strawberry{padding:var(--padding-section);overflow:hidden}
.solo-strawberry .solo-title{margin-bottom:70px;text-align:center}
.solo-strawberry-inner{display:flex;align-items:stretch;justify-content:center;max-width:1440px;margin:0 auto}
.solo-strawberry-wrap{flex:1;position:relative;padding:0 14px 14px 0;max-width:640px}
.solo-strawberry-img{width:100%;height:640px;object-fit:cover;border-radius:15px;border:2px solid var(--hf-dark);box-shadow:14px 14px 0 #7AB89A;display:block}
.solo-strawberry-content{flex:1;position:relative;padding:80px 80px 80px 70px;z-index:2;display:flex;flex-direction:column;justify-content:center}
.solo-strawberry-content::before{content:'';position:absolute;background:var(--hf-yellow-bg);top:0;bottom:0;left:-10px;right:-9999px;z-index:-1}
.solo-strawberry-content strong{display:block;font-family:var(--font-2);font-size:26px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:24px;line-height:1.3}
.solo-strawberry-content p{font-size:18px;font-weight:300;margin:0 0 18px;line-height:1.7;max-width:520px}
.solo-strawberry-content .crof-hero-button{margin-top:12px;align-self:flex-start}
@media(max-width:1199px){
  .solo-strawberry-inner{flex-direction:column;padding:0 30px}
  .solo-strawberry-wrap{max-width:100%;padding:0 10px 10px 0}
  .solo-strawberry-img{height:420px;box-shadow:8px 8px 0 #7AB89A}
  .solo-strawberry-content{padding:60px 20px;background:var(--hf-yellow-bg)}
  .solo-strawberry-content::before{display:none}
  .solo-strawberry-content .crof-hero-button{align-self:center}
}
@media(max-width:767px){
  .solo-strawberry-img{height:300px;box-shadow:6px 6px 0 #7AB89A}
  .solo-strawberry-content{padding:40px 20px;text-align:center}
  .solo-strawberry-content strong{font-size:20px}
  .solo-strawberry-content p{font-size:15px}
}

/* === PARTNER LOGOS === */
.solo-friends{padding:var(--padding-section);text-align:center}
.solo-friends-title{font-family:var(--font-2);font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(45,45,45,.45);margin-bottom:50px}
.solo-friends-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:0 auto;max-width:1200px;padding:0 30px;gap:16px 0}
.solo-friends-item{display:flex;align-items:center;justify-content:center;width:200px;opacity:.5;transition:opacity .2s}
.solo-friends-item:hover{opacity:1}
.solo-friends-partner-text{font-family:var(--font-2);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--hf-dark)}
@media(max-width:767px){.solo-friends-item{width:50%}}

/* === REVIEWS === */
.solo-reviews{background:var(--hf-offwhite);padding:var(--padding-section);text-align:center}
.solo-reviews .solo-title{margin-bottom:16px}
.solo-reviews-subtitle{font-size:20px;font-weight:400;margin-bottom:70px;color:rgba(45,45,45,.6)}
.solo-reviews-list{display:flex;flex-wrap:wrap;margin:0 auto;max-width:1200px;padding:0 15px;gap:24px;justify-content:center}
.solo-reviews-item{background:#fff;padding:56px 36px;text-align:center;flex:1;min-width:280px;max-width:360px;border:1px solid #eee}
.solo-reviews-stars{display:flex;justify-content:center;gap:4px;margin-bottom:24px}
.solo-reviews-stars svg{width:20px;height:20px}
.solo-reviews-title{font-family:var(--font-2);font-size:16px;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;white-space:nowrap}
.solo-reviews-text{font-size:18px;line-height:1.65;margin-bottom:24px;font-weight:300}
.solo-reviews-author{color:#7c7c7c;font-size:16px;font-weight:700}
@media(max-width:767px){.solo-reviews-item{max-width:100%;width:100%;padding:36px 24px}.solo-reviews-text{font-size:16px}}

/* === BENEFITS === */
.solo-benefits{background:#fff;padding:var(--padding-section)}
.solo-benefits-row{display:flex;align-items:center;justify-content:center;max-width:1200px;margin:0 auto;padding:0 30px;gap:80px}
.solo-benefits-info{flex:1;max-width:580px}
.solo-benefits-subtitle{font-size:19px;font-weight:300;margin:20px 0 40px;line-height:1.7}
.solo-benefits-image-wrap{flex-shrink:0;padding:0 0 14px 0}
.solo-benefits-image-wrap img{width:460px;height:580px;object-fit:cover;border-radius:12px;border:2px solid var(--hf-dark);box-shadow:12px 12px 0 var(--hf-sage)}
.solo-benefits-image-placeholder{width:460px;height:580px;border-radius:12px;border:2px solid var(--hf-dark);box-shadow:12px 12px 0 var(--hf-sage);background:linear-gradient(135deg,var(--hf-stats-bg) 0%,var(--hf-sage) 100%);display:flex;align-items:center;justify-content:center}
.solo-benefits-list{list-style:none;max-width:560px;padding:0;margin:0 0 48px}
.solo-benefits-item{display:flex;align-items:center;border-bottom:2px solid #e8e8e8;padding:22px 0;gap:20px}
.solo-benefits-icon{flex-shrink:0;width:44px;height:44px;background:var(--hf-stats-bg);border-radius:50%;display:flex;align-items:center;justify-content:center}
.solo-benefits-icon svg{width:22px;height:22px;color:var(--hf-green)}
.solo-benefits-text{font-size:24px;font-weight:400;font-family:var(--font-2);text-transform:uppercase;letter-spacing:.5px}
@media(max-width:991px){
  .solo-benefits-row{flex-direction:column;gap:40px;padding:0 20px}
  .solo-benefits-info{max-width:100%;width:100%}
  .solo-benefits-image-wrap img,.solo-benefits-image-placeholder{width:100%;max-width:460px;height:400px;box-shadow:8px 8px 0 var(--hf-sage)}
  .solo-benefits .solo-title{text-align:center}
  .solo-benefits-subtitle{text-align:center}
  .solo-benefits-text{font-size:18px}
}

/* ============================================================
   VIDEO SYNC SECTION — Spec §8
   ============================================================ */
.hf-sync-section{
    background:var(--hf-dark);padding:var(--padding-section);
    border-top:1px solid rgba(255,255,255,.05);overflow:hidden;
}
.hf-sync-inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:80px}
.hf-sync-text{flex:1;min-width:0}
.hf-sync-eyebrow{
    display:block;font-family:var(--font-2);font-size:11px;font-weight:600;
    letter-spacing:4px;text-transform:uppercase;color:var(--hf-green);margin-bottom:20px;
}
.hf-sync-title{
    font-family:var(--font-2);font-size:44px;font-weight:700;line-height:1.1;
    text-transform:uppercase;letter-spacing:-.5px;color:#fff;margin-bottom:24px;
}
.hf-sync-desc{
    font-size:16px;font-weight:300;color:rgba(255,255,255,.48);
    line-height:1.8;max-width:440px;margin-bottom:28px;
}
.hf-sync-features{list-style:none;padding:0;margin:0 0 36px;display:flex;flex-direction:column;gap:12px}
.hf-sync-features li{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:400;color:rgba(255,255,255,.6)}
.hf-sync-dot{width:6px;height:6px;border-radius:50%;background:var(--hf-green);flex-shrink:0}
.hf-sync-video-wrap{
    flex-shrink:0;width:320px;aspect-ratio:464/688;position:relative;border-radius:16px;
    overflow:hidden;background:#000;
    box-shadow:0 0 0 2px rgba(47,125,90,.22),0 40px 100px rgba(0,0,0,.7);
}
.hf-sync-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.hf-sync-play-overlay{
    position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:18px;background:rgba(0,0,0,.4);border-radius:16px;
    cursor:pointer;z-index:2;transition:opacity .35s ease;
}
.hf-sync-play-btn{
    width:76px;height:76px;border-radius:50%;background:var(--hf-green);border:none;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:transform .2s,box-shadow .2s;animation:hf-play-pulse 2.4s ease-in-out infinite;
}
.hf-sync-play-btn:hover{transform:scale(1.12);animation:none;box-shadow:0 0 0 16px rgba(47,125,90,.15)}
.hf-sync-play-btn svg{width:26px;height:26px;color:#fff;margin-left:4px}
@keyframes hf-play-pulse{
    0%,100%{box-shadow:0 0 0 0   rgba(47,125,90,.55)}
    50%     {box-shadow:0 0 0 18px rgba(47,125,90,0)}
}
.hf-sync-play-label{
    font-family:var(--font-2);font-size:11px;font-weight:600;letter-spacing:3px;
    text-transform:uppercase;color:rgba(255,255,255,.7);pointer-events:none;
}
@media(max-width:1200px){
  .hf-sync-inner{gap:60px}
  .hf-sync-title{font-size:38px}
  .hf-sync-video-wrap{width:280px}
}
@media(max-width:1000px){
  .hf-sync-inner{gap:40px}
  .hf-sync-title{font-size:32px}
  .hf-sync-video-wrap{width:240px}
}
@media(max-width:820px){
  .hf-sync-inner{flex-direction:column;padding:0 24px;text-align:center;gap:52px;align-items:center}
  .hf-sync-desc{margin:0 auto 28px;max-width:540px}
  .hf-sync-title{font-size:30px}
  .hf-sync-features{align-items:center}
  .hf-sync-video-wrap{width:100%;max-width:320px}
}
@media(max-width:480px){
  .hf-sync-title{font-size:26px}
  .hf-sync-video-wrap{max-width:100%}
  .hf-sync-play-btn{width:64px;height:64px}
}

/* ============================================================
   PRODUCT PREVIEW — 4-col paginated grid
   ============================================================ */
.hf-products-preview{padding:100px 0 0;background:#fff}
.hf-pp-header{display:flex;flex-direction:column;align-items:center;margin-bottom:52px;gap:20px}
.hf-pp-titles{text-align:center}
.hf-pp-sub{font-size:17px;font-weight:300;line-height:1.7;color:rgba(45,45,45,.55);max-width:600px;margin:16px auto 0}
.hf-pp-arrows{display:flex;align-items:center;gap:12px}
.hf-pp-arrow{background:none;border:none;padding:0;cursor:pointer;line-height:0;transition:transform .15s,opacity .15s}
.hf-pp-arrow:hover{transform:scale(1.08)}
.hf-pp-arrow:disabled{opacity:.35;pointer-events:none}
.hf-pp-page-count{
    font-family:var(--font-2);font-size:13px;font-weight:600;letter-spacing:2px;
    color:rgba(45,45,45,.38);min-width:40px;text-align:center;
}
/* 4-col grid */
.hf-prod-4grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:991px){
  .hf-prod-4grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .hf-products-preview{padding:70px 0 0}
}
@media(max-width:480px){.hf-prod-4grid{gap:12px}}
/* Cards */
.hf-pp-card{
    display:block;text-decoration:none;color:inherit;border:2px solid var(--hf-dark);
    background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s;
}
.hf-pp-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--hf-dark)}
.hf-pp-card-img{position:relative;overflow:hidden;height:240px;background:var(--hf-stats-bg)}
.hf-pp-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.hf-pp-card:hover .hf-pp-card-img img{transform:scale(1.04)}
.hf-pp-card-cat{
    position:absolute;top:12px;left:12px;z-index:2;font-family:var(--font-2);font-size:10px;
    font-weight:600;letter-spacing:1.5px;text-transform:uppercase;background:var(--hf-dark);
    color:#fff;padding:4px 10px;border-radius:50px;
}
.hf-pp-card-body{padding:20px 18px 22px}
.hf-pp-card-name{
    display:block;font-family:var(--font-2);font-size:17px;font-weight:600;
    text-transform:uppercase;letter-spacing:.5px;color:var(--hf-dark);margin-bottom:6px;
}
.hf-pp-card-desc{font-size:13px;font-weight:300;color:rgba(45,45,45,.58);line-height:1.6;margin-bottom:12px}
.hf-pp-card-price{font-family:var(--font-2);font-size:20px;font-weight:700;color:var(--hf-green);display:block}
@media(max-width:767px){
  .hf-pp-card-img{height:180px}
  .hf-pp-card-body{padding:14px 12px 16px}
  .hf-pp-card-name{font-size:14px}
  .hf-pp-card-price{font-size:16px}
  .hf-pp-sub{font-size:15px}
}
.hf-pp-cta-wrap{background:#fff;padding:48px 0 68px;text-align:center}

/* ============================================================
   PAYMENT SECTION — Spec §6
   ============================================================ */
.hf-pay-section{background:#f4f9f6;padding:var(--padding-section);border-top:1px solid rgba(45,45,45,.06)}
.hf-pay-inner{max-width:860px;margin:0 auto;text-align:center;padding:0 24px}
.hf-pay-eyebrow{
    display:block;font-family:var(--font-2);font-size:11px;font-weight:600;
    letter-spacing:4px;text-transform:uppercase;color:var(--hf-green);margin-bottom:16px;
}
.hf-pay-title{
    font-family:var(--font-2);font-size:40px;font-weight:700;text-transform:uppercase;
    letter-spacing:-.5px;color:var(--hf-dark);margin-bottom:16px;
}
.hf-pay-sub{font-size:16px;font-weight:300;color:rgba(45,45,45,.55);line-height:1.75;max-width:500px;margin:0 auto 56px}
.hf-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px;text-align:left}
.hf-pay-card{
    background:#fff;border:2px solid rgba(45,45,45,.08);padding:36px 32px;
    transition:border-color .2s,transform .2s,box-shadow .2s;
}
.hf-pay-card:hover{border-color:rgba(47,125,90,.45);transform:translateY(-3px);box-shadow:0 12px 36px rgba(47,125,90,.09)}
.hf-pay-card-header{display:flex;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(45,45,45,.07)}
.hf-pay-card-header h3{
    font-family:var(--font-2);font-size:17px;font-weight:700;text-transform:uppercase;
    letter-spacing:1px;color:var(--hf-dark);margin:0;
}
.hf-pay-methods{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:16px}
.hf-pay-methods li{display:flex;align-items:center;gap:14px;font-size:14.5px;font-weight:400;color:rgba(45,45,45,.72)}
.hf-pay-method-icon{
    width:38px;height:38px;border-radius:50%;background:rgba(47,125,90,.08);
    border:1.5px solid rgba(47,125,90,.2);display:flex;align-items:center;
    justify-content:center;flex-shrink:0;
}
.hf-pay-method-icon svg{width:17px;height:17px;color:var(--hf-green)}
.hf-pay-powered-row{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid rgba(45,45,45,.07)}
.hf-pay-powered-label{font-size:12px;font-weight:300;color:rgba(45,45,45,.4);letter-spacing:.5px}
.hf-pay-badge{
    display:inline-flex;align-items:center;padding:5px 18px;border-radius:50px;
    font-family:var(--font-2);font-size:13px;font-weight:700;letter-spacing:.5px;
}
.hf-pay-stripe{background:#635bff;color:#fff}
.hf-pay-paystack{background:#00c3f7;color:#fff}
.hf-pay-security{
    display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;
    color:rgba(45,45,45,.6);background:rgba(47,125,90,.07);border:1.5px solid rgba(47,125,90,.2);
    padding:13px 28px;border-radius:50px;
}
.hf-pay-security svg{width:18px;height:18px;color:var(--hf-green);flex-shrink:0}
@media(max-width:767px){
  .hf-pay-grid{grid-template-columns:1fr;gap:20px}
  .hf-pay-title{font-size:28px}
  .hf-pay-sub{font-size:15px;margin-bottom:40px}
  .hf-pay-card{padding:26px 20px}
  .hf-pay-section{padding:70px 0}
}

/* === WAITLIST / FIND A MACHINE CTA === */
.hf-cta-section{background:var(--hf-dark);padding:var(--padding-section);text-align:center;border-bottom:4px solid var(--hf-green)}
.hf-cta-section .solo-title{color:#fff;margin-bottom:24px}
.hf-cta-section p{
    color:rgba(255,255,255,.52);font-size:19px;font-weight:300;max-width:520px;
    margin:0 auto 48px;line-height:1.75;padding:0 20px;
}
.hf-cta-note{margin-top:24px;margin-bottom:0 !important;font-size:13px !important;color:rgba(255,255,255,.3) !important}
@media(max-width:767px){
  .hf-cta-section{padding:64px 20px}
  .hf-cta-section .solo-title{font-size:28px;padding:0;margin-bottom:20px}
  .hf-cta-section p{font-size:15px;margin:0 auto 36px;padding:0;max-width:100%}
  .hf-cta-section .hf-btn-group{flex-direction:column;align-items:center;gap:12px;width:100%}
  .hf-cta-section .hf-btn-group .crof-hero-button{width:100%;max-width:320px;text-align:center;display:block;box-sizing:border-box}
}

/* === FLASH TOASTS === */
.hf-flash-wrap{position:fixed;top:120px;right:24px;max-width:360px;width:calc(100vw - 48px);z-index:9999}
.hf-flash{background:#fff;box-shadow:4px 4px 0 var(--hf-dark);border:2px solid var(--hf-dark);display:flex;align-items:flex-start;gap:12px;padding:16px 18px;animation:hfSlideIn .3s ease;border-left:4px solid var(--hf-green);margin-bottom:12px;border-radius:4px}
.hf-flash-error{border-left-color:#ef4444}
.hf-flash-body{flex:1}
.hf-flash-title{font-family:var(--font-2);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--hf-dark)}
.hf-flash-desc{font-size:13px;color:#6b7280;margin-top:4px}
@keyframes hfSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* === FOOTER === */
.hf-footer{background:#1F4F3A;color:rgba(255,255,255,.6);padding:80px 0 0;border-top:none;}
.hf-footer-inner{max-width:1280px;margin:0 auto;padding:0 40px}
.hf-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08)}
.hf-footer-brand p{font-size:14px;font-weight:300;line-height:1.7;margin-top:20px;max-width:280px;color:rgba(255,255,255,.42)}
.hf-footer-logo{display:inline-flex;align-items:center;text-decoration:none}
.hf-footer-logo img{height:38px;width:auto}
.hf-footer-logo-text{font-family:var(--font-2);font-size:24px;font-weight:700;color:#fff;text-transform:uppercase}
.hf-footer-logo-text span{color:#6FBD96}
.hf-footer-social{display:flex;gap:12px;margin-top:28px}
.hf-footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;transition:all .2s}
.hf-footer-social a:hover{border-color:#6FBD96;color:#6FBD96}
.hf-footer-heading{font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:22px;display:block}
.hf-footer-links{list-style:none}
.hf-footer-links li{margin-bottom:12px}
.hf-footer-links a{color:rgba(255,255,255,.48);text-decoration:none;font-size:14px;font-weight:300;transition:color .15s}
.hf-footer-links a:hover{color:#fff}
.hf-footer-contact-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:300;color:rgba(255,255,255,.42);margin-bottom:14px;line-height:1.5}
.hf-footer-contact-item svg{flex-shrink:0;margin-top:2px;opacity:.5}
.hf-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:13px;color:rgba(255,255,255,.28);flex-wrap:wrap;gap:12px}
.hf-footer-bottom a{color:rgba(255,255,255,.32);text-decoration:none;transition:color .15s}
.hf-footer-bottom a:hover{color:#fff}
.hf-footer-legal{display:flex;gap:24px}
@media(max-width:767px){.hf-footer-grid{grid-template-columns:1fr;gap:32px}.hf-footer-inner{padding:0 20px}.hf-footer-bottom{flex-direction:column;text-align:center}}

/* === COOKIE === */
.hf-cookie{position:fixed;bottom:20px;left:20px;right:20px;max-width:860px;margin:0 auto;background:var(--hf-dark);color:rgba(255,255,255,.7);padding:24px 28px;display:flex;align-items:center;gap:24px;justify-content:space-between;z-index:9998;border:2px solid rgba(255,255,255,.1);border-radius:4px;flex-wrap:wrap;box-shadow:4px 4px 0 rgba(0,0,0,.3);border-top:3px solid var(--hf-green)}
.hf-cookie p{font-size:14px;font-weight:300;line-height:1.6;flex:1}
.hf-cookie a{color:#6FBD96}
.hf-cookie-btns{display:flex;gap:12px;flex-shrink:0}

/* === MOBILE MENU === */
.hf-mobile-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:998}
.hf-mobile-menu{position:fixed;top:0;right:0;bottom:0;width:300px;background:#fff;z-index:999;padding:24px 20px 40px;overflow-y:auto;display:flex;flex-direction:column;box-shadow:-4px 0 0 var(--hf-dark)}
.hf-mobile-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.hf-mobile-menu-close{background:none;border:none;cursor:pointer;font-size:24px;color:var(--hf-dark);line-height:1;font-family:var(--font-2)}
.hf-mobile-nav{list-style:none;margin-bottom:32px}
.hf-mobile-nav li{border-bottom:1px solid #f0f0f0}
.hf-mobile-nav a{display:block;padding:14px 4px;font-family:var(--font-2);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--hf-dark);text-decoration:none;transition:color .15s}
.hf-mobile-nav a:hover{color:var(--hf-green)}
.hf-mobile-actions{display:flex;flex-direction:column;gap:12px;margin-top:auto}

/* === GENERAL PAGE STYLES === */
.hf-page-hero{background:var(--hf-stats-bg);padding:90px 0 70px;text-align:center}
.hf-page-hero .solo-title{margin-bottom:20px}
.hf-page-hero p{font-size:20px;font-weight:300;max-width:580px;margin:0 auto;line-height:1.7}
.hf-section{padding:var(--padding-section)}
.hf-container{max-width:1200px;margin:0 auto;padding:0 30px}
.hf-container-sm{max-width:820px;margin:0 auto;padding:0 30px}

/* Product cards */
.hf-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;margin-top:60px}
.hf-product-card{background:#fff;border:2px solid var(--hf-dark);transition:transform .2s,box-shadow .2s;overflow:hidden;display:block;text-decoration:none;color:inherit}
.hf-product-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #1F4F3A}
.hf-product-card img{width:100%;height:260px;object-fit:cover}
.hf-product-card-body{padding:24px}
.hf-product-card-title{font-family:var(--font-2);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.hf-product-card-desc{font-size:15px;font-weight:300;color:rgba(45,45,45,.7);margin-bottom:20px;line-height:1.6}
.hf-product-card-price{font-family:var(--font-2);font-size:24px;font-weight:700;color:var(--hf-green)}

/* Forms */
.hf-form-group{margin-bottom:22px}
.hf-label{font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:8px}
.hf-input{width:100%;padding:14px 16px;border:2px solid #ddd;font-family:var(--font-1);font-size:15px;background:#fff;transition:border-color .15s;border-radius:0;color:var(--hf-dark)}
.hf-input:focus{outline:none;border-color:var(--hf-green)}
.hf-input::placeholder{color:rgba(45,45,45,.35)}
textarea.hf-input{resize:vertical;min-height:120px}
select.hf-input{cursor:pointer}

/* Auth */
.hf-auth-page{min-height:100vh;background:var(--hf-offwhite);display:flex;align-items:center;justify-content:center;padding:60px 20px}
.hf-auth-card{background:#fff;width:100%;max-width:480px;padding:56px 48px;border:2px solid #1F4F3A;box-shadow:6px 6px 0 #1F4F3A}
.hf-auth-title{font-family:var(--font-2);font-size:36px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.hf-auth-sub{font-size:15px;font-weight:300;color:rgba(45,45,45,.6);margin-bottom:36px;line-height:1.5}
.hf-auth-footer{margin-top:24px;text-align:center;font-size:14px;color:rgba(45,45,45,.6)}
.hf-auth-footer a{color:var(--hf-green);font-weight:600;text-decoration:none}
@media(max-width:767px){.hf-auth-card{padding:36px 24px}}

/* Account */
.hf-account-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;max-width:1200px;margin:0 auto;padding:60px 30px}
.hf-account-sidebar{background:var(--hf-offwhite);border:2px solid #eee;height:fit-content;position:sticky;top:130px}
.hf-account-sidebar-head{padding:20px;border-bottom:1px solid #eee;font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(45,45,45,.45)}
.hf-account-nav-link{display:block;padding:14px 20px;font-family:var(--font-2);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:rgba(45,45,45,.6);text-decoration:none;transition:all .15s;border-left:3px solid transparent}
.hf-account-nav-link:hover,.hf-account-nav-link.active{color:var(--hf-dark);background:var(--hf-stats-bg);border-left-color:var(--hf-green)}
.hf-account-section-title{font-family:var(--font-2);font-size:32px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:36px;padding-bottom:20px;border-bottom:3px solid var(--hf-stats-bg)}
@media(max-width:767px){.hf-account-layout{grid-template-columns:1fr;padding:30px 16px}.hf-account-sidebar{position:static}}

/* Blog */
.hf-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-top:60px}
.hf-blog-card{background:#fff;border:2px solid var(--hf-dark);overflow:hidden;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}
.hf-blog-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #1F4F3A}
.hf-blog-card img{width:100%;height:220px;object-fit:cover}
.hf-blog-card-body{padding:28px}
.hf-blog-card-tag{font-family:var(--font-2);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--hf-green);margin-bottom:10px;display:block}
.hf-blog-card-title{font-family:var(--font-2);font-size:22px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;line-height:1.3}
.hf-blog-card-excerpt{font-size:14px;font-weight:300;color:rgba(45,45,45,.65);line-height:1.6}

/* Badges */
.hf-badge{display:inline-block;font-family:var(--font-2);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:50px;border:1.5px solid currentColor}
.hf-badge-green{color:var(--hf-green);border-color:var(--hf-green);background:#E6F4EC}
.hf-badge-dark{background:var(--hf-dark);color:#fff;border-color:var(--hf-dark)}
.hf-badge-grey{background:#f0f0f0;color:#666;border-color:#ccc}
.hf-badge-red{background:#fee2e2;color:#dc2626;border-color:#dc2626}
.hf-badge-blue{background:#e0f0ff;color:var(--hf-blue);border-color:var(--hf-blue)}

/* Tables */
.hf-table{width:100%;border-collapse:collapse}
.hf-table th{font-family:var(--font-2);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:14px 16px;text-align:left;background:var(--hf-offwhite);border-bottom:2px solid var(--hf-dark)}
.hf-table td{padding:18px 16px;border-bottom:1px solid #f0f0f0;font-size:14px}
.hf-table tr:last-child td{border-bottom:none}
.hf-table tr:hover td{background:#fafafa}

/* Map */
.hf-map-wrap{height:520px;border:2px solid var(--hf-dark)}

/* Scroll bar */
#hf-scroll-bar{position:fixed;top:0;left:0;height:3px;background:var(--hf-green);z-index:9999;width:0%;transition:width .08s linear}

/* Responsive */
@media(max-width:767px){
  .hf-mobile-btn{display:flex}
  .hf-mainnav,.hf-rightnav{display:none}
  body{margin-top:90px}
  .hf-promo-bar{font-size:11px;padding:8px 12px}
  .hf-header{top:36px}
  .hf-header-inner{height:54px}
  .crof-hero-button{padding:14px 28px;font-size:14px}
}
@media(min-width:768px){.hf-mobile-btn{display:none}}

/* ============================================================
   MOBILE RESPONSIVE UTILITY CLASSES
   ============================================================ */
.hf-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:767px){.hf-grid-2{grid-template-columns:1fr;gap:32px}}
.hf-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
@media(max-width:767px){.hf-grid-3{grid-template-columns:1fr}}
.hf-split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
@media(max-width:767px){.hf-split{grid-template-columns:1fr;min-height:auto}}
.hf-split-left{padding:60px 48px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:767px){.hf-split-left{padding:40px 24px;text-align:center;align-items:center}}
.hf-split-right{padding:60px 48px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:767px){.hf-split-right{padding:36px 24px}}
.hf-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
@media(max-width:767px){.hf-stat-row{grid-template-columns:1fr;gap:16px}}
.hf-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.hf-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #2d2d2d;overflow:hidden}
@media(max-width:767px){.hf-plan-grid{grid-template-columns:1fr}}
.hf-plan-col{padding:40px 28px;text-align:center}
@media(max-width:767px){.hf-plan-col{border-right:none !important;border-bottom:2px solid #2d2d2d}}
.hf-plan-col:last-child{border-bottom:none}
.hf-content-sidebar{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
@media(max-width:767px){.hf-content-sidebar{grid-template-columns:1fr;gap:24px}}
.hf-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:860px;margin:0 auto}
@media(max-width:767px){.hf-team-grid{grid-template-columns:1fr;gap:24px}}
.hf-h1{font-family:Oswald,serif;font-size:54px;font-weight:700;text-transform:uppercase;line-height:1.05}
@media(max-width:767px){.hf-h1{font-size:34px}}
.hf-h2{font-family:Oswald,serif;font-size:40px;font-weight:700;text-transform:uppercase;line-height:1.1}
@media(max-width:767px){.hf-h2{font-size:28px}}
.hf-h3{font-family:Oswald,serif;font-size:32px;font-weight:700;text-transform:uppercase}
@media(max-width:767px){.hf-h3{font-size:24px}}
@media(max-width:767px){
  .hf-page-hero{padding:60px 0 40px}
  .hf-page-hero p{font-size:16px}
}
.hf-auth-split{display:grid;grid-template-columns:1fr 1fr;border:2px solid #2d2d2d;box-shadow:8px 8px 0 #2d2d2d;overflow:hidden;max-width:960px;width:100%}
@media(max-width:767px){.hf-auth-split{grid-template-columns:1fr;box-shadow:4px 4px 0 #2d2d2d}}
.hf-auth-panel-green{padding:56px 44px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:767px){.hf-auth-panel-green{padding:36px 24px}}
.hf-auth-panel-white{background:#fff;padding:56px 44px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:767px){.hf-auth-panel-white{padding:36px 24px}}
.hf-waitlist-hero{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
@media(max-width:767px){.hf-waitlist-hero{grid-template-columns:1fr}}
.hf-waitlist-left{padding:70px 60px;display:flex;flex-direction:column;justify-content:center;background:#f5f5f0}
@media(max-width:767px){.hf-waitlist-left{padding:48px 24px;text-align:center}}
.hf-waitlist-right{display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}
@media(max-width:767px){.hf-waitlist-right{padding:36px 24px;min-height:280px}}
.hf-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:767px){.hf-contact-grid{grid-template-columns:1fr;gap:40px}}
.hf-cart-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
@media(max-width:767px){.hf-cart-grid{grid-template-columns:1fr;gap:32px}}
.hf-cart-item{display:flex;gap:20px;padding:24px 0;border-bottom:2px solid #e8e8e8;align-items:center}
@media(max-width:480px){.hf-cart-item{flex-wrap:wrap;gap:12px}}
.hf-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:0}
.hf-faq-item{border-bottom:2px solid #e8e8e8}
.hf-faq-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:none;cursor:pointer;text-align:left;gap:20px}
.hf-faq-question{font-family:Oswald,serif;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#2d2d2d;line-height:1.3}
@media(max-width:767px){.hf-faq-question{font-size:16px}}
.hf-faq-icon{width:28px;height:28px;flex-shrink:0;transition:transform .25s;color:var(--hf-green)}
.hf-faq-answer{padding:0 0 24px;display:none}
.hf-faq-answer p{font-size:16px;font-weight:300;line-height:1.8;color:rgba(45,45,45,.75)}
.hf-faq-item.open .hf-faq-icon{transform:rotate(45deg)}
.hf-faq-item.open .hf-faq-answer{display:block}
.hf-about-split{display:flex;align-items:stretch;max-width:1440px;margin:0 auto}
@media(max-width:991px){.hf-about-split{flex-direction:column}}
.hf-about-img{flex:1;max-width:580px;padding:0 14px 14px 0}
@media(max-width:991px){.hf-about-img{max-width:100%;padding:0 8px 8px 0}}
.hf-about-content{flex:1;padding:80px 70px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
@media(max-width:991px){.hf-about-content{padding:48px 24px;background:var(--hf-yellow-bg)}}
.hf-about-content::before{content:'';position:absolute;background:var(--hf-yellow-bg);top:0;bottom:0;left:-10px;right:-9999px;z-index:-1}
@media(max-width:991px){.hf-about-content::before{display:none}}
.hf-collect-code{background:#E6F4EC;border:2px solid #2d2d2d;padding:40px;margin-bottom:40px;display:inline-block;min-width:260px}
@media(max-width:480px){.hf-collect-code{min-width:100%;padding:28px 20px}}
.hf-order-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}
@media(max-width:767px){.hf-order-grid{grid-template-columns:1fr}}
.hf-profile-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:480px){.hf-profile-name-grid{grid-template-columns:1fr}}
.hf-loyalty-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:767px){.hf-loyalty-grid{grid-template-columns:1fr;gap:24px}}
.hf-preorder-grid{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
@media(max-width:767px){.hf-preorder-grid{grid-template-columns:1fr}}
.hf-status-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px;padding:20px 24px;border:2px solid #2d2d2d;background:#f8f7f7}
.hf-btn-group{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
@media(max-width:480px){.hf-btn-group{flex-direction:column;width:100%}}
@media(max-width:480px){.hf-btn-group .crof-hero-button{width:100%;text-align:center;display:block}}
.hf-px{padding-left:30px;padding-right:30px}
@media(max-width:767px){.hf-px{padding-left:16px;padding-right:16px}}
.hf-benefit-list{list-style:none;padding:0;margin:0}
.hf-benefit-item{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;font-weight:400;color:#2d2d2d}
.hf-benefit-dot{width:24px;height:24px;background:var(--hf-green);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid #1F4F3A}
.hf-contact-detail{display:flex;align-items:flex-start;gap:20px;padding:22px 0;border-bottom:1px solid #e8e8e8}
.hf-contact-icon{width:48px;height:48px;background:#E6F4EC;border-radius:50%;display:flex;align-items:center;justify-content:center}
.hf-machine-radio{display:flex;align-items:center;gap:20px;padding:18px 22px;border:2px solid #e8e8e8;cursor:pointer;transition:all .15s;margin-bottom:10px;border-radius:4px}
.hf-machine-radio:hover,.hf-machine-radio.selected{border-color:#2d2d2d;background:#E6F4EC;box-shadow:3px 3px 0 #2d2d2d}

/* ============================================================
   ADDITIONAL RESPONSIVE PATCHES
   ============================================================ */
.hf-blog-featured{display:grid;grid-template-columns:1fr 1fr;border:2px solid #2d2d2d;text-decoration:none;color:inherit;margin-bottom:48px;transition:transform .2s,box-shadow .2s;overflow:hidden;}
.hf-blog-featured:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #1F4F3A}
.hf-blog-featured-img{width:100%;height:360px;object-fit:cover;display:block}
.hf-blog-featured-body{padding:48px 40px;display:flex;flex-direction:column;justify-content:center;background:#E6F4EC}
@media(max-width:767px){
  .hf-blog-featured{grid-template-columns:1fr}
  .hf-blog-featured-img{height:240px}
  .hf-blog-featured-body{padding:28px 22px}
}
.hf-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}
@media(max-width:600px){.hf-dash-stats{grid-template-columns:1fr;gap:12px}}
.hf-dash-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.hf-product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.hf-product-detail-grid{grid-template-columns:1fr;gap:32px}}
.hf-product-detail-img{width:100%;height:520px;object-fit:cover;border-radius:15px;border:2px solid #2d2d2d;box-shadow:12px 12px 0 #B8DEC9;display:block}
@media(max-width:767px){.hf-product-detail-img{height:320px;box-shadow:6px 6px 0 #B8DEC9}}
.hf-scan-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.hf-machines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.hf-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:767px){.hf-support-grid{grid-template-columns:1fr}}
.hf-ticket-thread{border:2px solid #2d2d2d;overflow:hidden}
.hf-ticket-msg{padding:24px 28px;border-bottom:1px solid #e8e8e8}
.hf-ticket-msg:last-child{border-bottom:none}
.hf-ticket-msg.admin{background:#E6F4EC}
@media(max-width:767px){.hf-ticket-msg{padding:18px 16px}}
.hf-auth-center{min-height:100vh;background:var(--hf-offwhite);display:flex;align-items:center;justify-content:center;padding:60px 20px}
.hf-auth-box{background:#fff;width:100%;max-width:480px;padding:52px 44px;border:2px solid #2d2d2d;box-shadow:6px 6px 0 #1F4F3A}
@media(max-width:480px){.hf-auth-box{padding:36px 22px;box-shadow:4px 4px 0 #1F4F3A}}
.hf-blog-hero{background:#E6F4EC;padding:64px 0 44px;text-align:center;border-bottom:2px solid #2d2d2d}
@media(max-width:767px){.hf-blog-hero{padding:44px 0 28px}}
.hf-filter-bar{background:#fff;padding:28px 0;border-bottom:2px solid #e8e8e8}
.hf-filter-bar-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hf-account-hero{background:#E6F4EC;border-bottom:2px solid #2d2d2d;padding:36px 0}
@media(max-width:767px){.hf-account-hero{padding:28px 0}}
.hf-account-hero .hf-h2{padding:0 16px}
@media(max-width:767px){
  .hf-account-layout{padding:24px 16px;gap:24px}
  .hf-account-sidebar{position:static;overflow-x:auto}
  .hf-account-sidebar .hf-account-sidebar-head{display:none}
  .hf-account-sidebar{display:flex;flex-direction:row;border:2px solid #2d2d2d;background:#fff}
  .hf-account-nav-link{padding:12px 14px;font-size:11px;letter-spacing:1px;white-space:nowrap;border-left:none;border-bottom:3px solid transparent;flex-shrink:0}
  .hf-account-nav-link.active{border-left:none;border-bottom-color:var(--hf-green);background:var(--hf-stats-bg)}
  .hf-account-nav-link:hover{border-bottom-color:var(--hf-green);background:var(--hf-stats-bg)}
  .hf-account-sidebar form{display:none}
  .hf-account-section-title{font-size:22px}
}
.hf-map-wrap{height:420px;border:2px solid #2d2d2d}
@media(max-width:767px){.hf-map-wrap{height:280px}}
@media(max-width:767px){
  .hf-cart-grid > div:last-child{position:static !important}
}

/* ============================================================
   COMPONENT PATCHES
   ============================================================ */
@media(max-width:767px){
  .solo-strawberry > .solo-title{padding:0 20px;text-align:center;}
}
.hf-team-card{border:2px solid #2d2d2d;padding:48px 36px;text-align:center;transition:transform .2s,box-shadow .2s;}
.hf-team-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #1F4F3A;}
@media(max-width:767px){.hf-team-card{padding:36px 20px;}.hf-team-card:hover{transform:none;box-shadow:none;}}
.hf-team-avatar{width:120px;height:120px;border-radius:50%;margin:0 auto 28px;border:3px solid #2d2d2d;display:flex;align-items:center;justify-content:center;}
.hf-about-growth-wrap{max-width:1000px;margin:0 auto;padding:0 30px;}
@media(max-width:767px){.hf-about-growth-wrap{padding:0 16px;}}
.hf-waitlist-right-content{text-align:center;position:relative;z-index:2;padding:40px 32px;width:100%;}
@media(max-width:767px){.hf-waitlist-right-content{padding:32px 20px;}}
.hf-waitlist-count-number{font-family:Oswald,serif;font-size:72px;font-weight:700;color:#fff;line-height:1;}
@media(max-width:767px){.hf-waitlist-count-number{font-size:54px;}}
.hf-waitlist-benefit{display:flex;align-items:center;gap:12px;background:rgba(47,125,90,.18);padding:16px 20px;border-radius:4px;margin-bottom:12px;}
.hf-waitlist-benefit span{font-family:Oswald,serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#fff;}
@media(max-width:767px){.hf-waitlist-benefit{padding:12px 16px;}.hf-waitlist-benefit span{font-size:12px;}}
.hf-waitlist-orb{position:absolute;border-radius:50%;pointer-events:none;}
@media(max-width:767px){.hf-waitlist-orb{display:none;}}
.hf-partner-cta{background:#E6F4EC;border:2px solid #2d2d2d;padding:32px;margin-top:40px;}
@media(max-width:767px){.hf-partner-cta{padding:24px 20px;}}
.hf-contact-info-item{display:flex;align-items:flex-start;gap:20px;padding:24px 0;border-bottom:1px solid #e8e8e8;}
.hf-contact-info-icon{width:48px;height:48px;background:#E6F4EC;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hf-contact-info-label{font-family:Oswald,serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(45,45,45,.45);margin-bottom:6px;}
.hf-contact-info-value{font-size:17px;font-weight:400;color:#2d2d2d;text-decoration:none;transition:color .15s;display:block;}
.hf-contact-info-value:hover{color:var(--hf-green);}
@media(max-width:767px){
  .hf-contact-info-item{gap:14px;}
  .hf-contact-info-icon{width:40px;height:40px;flex-shrink:0;}
  .hf-contact-info-value{font-size:15px;}
}
.hf-auth-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:rgba(45,45,45,.35);font-size:13px;}
.hf-auth-divider::before,.hf-auth-divider::after{content:'';flex:1;height:1px;background:#e8e8e8;}
.hf-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 20px;border:2px solid #e8e8e8;background:#fff;font-family:Oswald,serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#2d2d2d;cursor:pointer;transition:all .15s;text-decoration:none;}
.hf-social-btn:hover{border-color:#2d2d2d;background:#f8f7f7;}
.hf-form-success{background:#E6F4EC;border:2px solid var(--hf-green);padding:20px 24px;margin-bottom:28px;font-family:Oswald,serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;}
.hf-form-error-msg{color:#dc2626;font-size:12px;margin-top:4px;display:block;}
.hf-check-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;}
.hf-check-row input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:var(--hf-green);width:16px;height:16px;cursor:pointer;}
.hf-check-row label{font-size:14px;font-weight:300;line-height:1.6;color:rgba(45,45,45,.75);cursor:pointer;}
.hf-check-row a{color:var(--hf-green);text-decoration:none;}
.hf-check-row a:hover{text-decoration:underline;}
.hf-product-img-placeholder{width:100%;height:560px;background:linear-gradient(180deg,#E6F4EC,#2F7D5A);border-radius:15px;border:2px solid #2d2d2d;box-shadow:12px 12px 0 #B8DEC9;display:flex;align-items:center;justify-content:center;}
@media(max-width:900px){.hf-product-img-placeholder{height:360px;box-shadow:6px 6px 0 #B8DEC9;}}
@media(max-width:767px){.hf-product-img-placeholder{height:280px;}}
.hf-product-img-wrap{padding:0 0 14px 0;}
@media(max-width:900px){.hf-product-img-wrap{padding:0 0 8px 0;}}
.hf-product-thumbs{display:flex;gap:12px;margin-top:16px;overflow-x:auto;padding-bottom:4px;}
.hf-product-thumbs::-webkit-scrollbar{height:4px;}
.hf-product-thumbs::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px;}
.hf-product-thumb{width:80px;height:80px;object-fit:cover;border:2px solid #eee;border-radius:4px;cursor:pointer;transition:border-color .15s;flex-shrink:0;}
.hf-product-thumb:hover{border-color:var(--hf-green);}
@media(max-width:767px){.hf-product-thumb{width:64px;height:64px;}}
.hf-product-machine-cta{background:#E6F4EC;border:2px solid #2d2d2d;padding:28px;margin-bottom:32px;}
@media(max-width:767px){.hf-product-machine-cta{padding:20px 16px;}}
.hf-product-section{border-top:2px solid #e8e8e8;padding-top:28px;margin-bottom:28px;}
.hf-product-section-label{font-family:Oswald,serif;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.hf-allergen-row{display:flex;flex-wrap:wrap;gap:8px;}
.hf-allergen-pill{font-family:Oswald,serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border:1.5px solid #b45309;color:#b45309;border-radius:50px;}
.hf-product-title{font-family:Oswald,serif;font-size:44px;font-weight:700;text-transform:uppercase;line-height:1.1;margin-bottom:20px;}
@media(max-width:767px){.hf-product-title{font-size:30px;}}
.hf-product-price{font-family:Oswald,serif;font-size:36px;font-weight:700;color:var(--hf-green);margin-bottom:28px;}
@media(max-width:767px){.hf-product-price{font-size:28px;}}
.hf-faq-cta-box{margin-top:60px;background:#E6F4EC;border:2px solid #2d2d2d;padding:40px;text-align:center;}
.hf-faq-cta-box-title{font-family:Oswald,serif;font-size:22px;font-weight:700;text-transform:uppercase;margin-bottom:12px;}
.hf-faq-cta-box p{font-size:15px;font-weight:300;margin:0 auto 24px;max-width:400px;line-height:1.7;color:rgba(45,45,45,.7);}
@media(max-width:767px){.hf-faq-cta-box{padding:28px 20px;margin-top:40px;}.hf-faq-cta-box-title{font-size:18px;}}
.hf-faq-category{font-family:Oswald,serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--hf-green);margin-bottom:24px;display:block;}

/* ============================================================
   FOOTER — Full override (muted dark green per spec)
   ============================================================ */
.hf-footer{
    background:#1F4F3A;
    border-top:none;
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.hf-about-eyebrow{
    display:block;font-family:var(--font-2);font-size:11px;font-weight:600;
    letter-spacing:4px;text-transform:uppercase;color:var(--hf-green);margin-bottom:16px;
}
.hf-about-hero{background:var(--hf-stats-bg);padding:88px 30px 72px;text-align:center;border-bottom:1px solid rgba(47,125,90,.12)}
.hf-about-hero-sub{font-family:var(--font-1);font-size:19px;font-weight:300;line-height:1.75;color:rgba(45,45,45,.6);max-width:560px;margin:0 auto}
@media(max-width:767px){
  .hf-about-hero{padding:60px 20px 48px}
  .hf-about-hero-sub{font-size:16px}
}
.hf-about-team-section{background:#fff}
.hf-about-profile{display:flex;align-items:center;gap:72px;max-width:1100px;margin:0 auto;padding:100px 30px;border-bottom:1px solid rgba(45,45,45,.07)}
.hf-about-profile:last-child{border-bottom:none}
.hf-about-profile-img-wrap{flex-shrink:0;width:340px;height:380px;border:2px solid var(--hf-dark);box-shadow:10px 10px 0 var(--hf-sage);overflow:hidden;border-radius:4px;transition:box-shadow .2s,transform .2s}
.hf-about-profile:hover .hf-about-profile-img-wrap{transform:translate(-3px,-3px);box-shadow:13px 13px 0 var(--hf-sage)}
.hf-about-profile-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.hf-about-profile:hover .hf-about-profile-img-wrap img{transform:scale(1.04)}
.hf-about-profile-img-placeholder{width:100%;height:100%}
.hf-about-placeholder-1{background:linear-gradient(135deg,var(--hf-stats-bg) 0%,var(--hf-sage) 100%)}
.hf-about-placeholder-2{background:linear-gradient(135deg,#A2D1ED 0%,#1E7AB8 100%)}
.hf-about-profile-body{flex:1;min-width:0}
.hf-about-profile-role{font-family:var(--font-2);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--hf-green);display:block;margin-bottom:12px}
.hf-about-profile-name{font-family:var(--font-2);font-size:38px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--hf-dark);margin:0 0 28px;line-height:1.1}
.hf-about-profile-bio{font-family:var(--font-1);font-size:17px;font-weight:300;line-height:1.85;color:rgba(45,45,45,.68);max-width:520px;margin:0}
@media(max-width:1100px){.hf-about-profile{gap:48px}}
@media(max-width:900px){
  .hf-about-profile{flex-direction:column;gap:36px;padding:64px 24px;text-align:center}
  .hf-about-profile-img-wrap{width:100%;max-width:320px;height:300px;box-shadow:6px 6px 0 var(--hf-sage)}
  .hf-about-profile:hover .hf-about-profile-img-wrap{transform:none;box-shadow:6px 6px 0 var(--hf-sage)}
  .hf-about-profile-bio{max-width:100%}
  .hf-about-profile-name{font-size:28px}
}
@media(max-width:560px){
  .hf-about-profile{padding:48px 20px}
  .hf-about-profile-name{font-size:24px}
  .hf-about-profile-bio{font-size:15px}
}
.hf-about-vm{background:var(--hf-dark);padding:var(--padding-section);border-top:1px solid rgba(255,255,255,.05)}
.hf-about-vm-heading{text-align:center;padding:0 30px 52px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:64px}
.hf-about-vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px;margin:0 auto;padding:0 30px}
.hf-about-vm-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--hf-green);padding:40px 36px;transition:background .2s,border-color .2s}
.hf-about-vm-card:hover{background:rgba(47,125,90,.07);border-top-color:#6FBD96}
.hf-about-vm-label{font-family:var(--font-2);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--hf-green);display:block;margin-bottom:18px}
.hf-about-vm-card p{font-family:var(--font-1);font-size:16px;font-weight:300;line-height:1.85;color:rgba(255,255,255,.58);margin:0}
@media(max-width:767px){
  .hf-about-vm-heading{padding:0 20px 36px;margin-bottom:44px}
  .hf-about-vm-grid{grid-template-columns:1fr;gap:16px;padding:0 20px}
  .hf-about-vm-card{padding:28px 22px;text-align:center}
}


/* ============================================================
   LOCATIONS PAGE — All section styles
   Follows HenovaFresh design system:
   Primary #2F7D5A | Light #E6F4EC | Dark #1F4F3A
   Fonts: Oswald (headings) + Roboto (body)
   ============================================================ */

/* ── Page Hero ─────────────────────────────────────────────── */
.hf-loc-hero {
    background: var(--hf-stats-bg);
    padding: 88px 0 72px;
    text-align: center;
    border-bottom: 1px solid rgba(47,125,90,.12);
}
.hf-loc-hero-eyebrow {
    display: block;
    font-family: var(--font-2);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--hf-green);
    margin-bottom: 16px;
}
.hf-loc-hero .solo-title { margin-bottom: 18px; }
.hf-loc-hero-sub {
    font-size: 19px;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(45,45,45,.6);
    max-width: 560px;
    margin: 0 auto 36px;
}
.hf-loc-hero-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
@media (max-width: 767px) {
    .hf-loc-hero     { padding: 60px 0 48px; }
    .hf-loc-hero-sub { font-size: 16px; padding: 0 8px; }
}

/* ── Filter Bar ────────────────────────────────────────────── */
.hf-loc-filter-bar {
    background: #fff;
    padding: 28px 0;
    border-bottom: 2px solid #f0f0f0;
    position: sticky;
    top: 106px;
    z-index: 10;
    box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
@media (max-width: 767px) {
    .hf-loc-filter-bar { top: 88px; padding: 16px 0; }
}
.hf-loc-filter-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.hf-loc-filter-label {
    font-family: var(--font-2);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(45,45,45,.38);
    margin-right: 4px;
    flex-shrink: 0;
}
.hf-loc-pill {
    font-family: var(--font-2);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 9px 20px;
    border: 2px solid rgba(45,45,45,.15);
    border-radius: 50px;
    text-decoration: none;
    background: #fff;
    color: rgba(45,45,45,.65);
    transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
    white-space: nowrap;
    line-height: 1;
}
.hf-loc-pill:hover {
    border-color: var(--hf-green);
    color: var(--hf-green);
}
.hf-loc-pill--active {
    background: var(--hf-dark);
    color: #fff !important;
    border-color: var(--hf-dark);
    box-shadow: 3px 3px 0 var(--hf-green);
}
@media (max-width: 767px) {
    .hf-loc-filter-inner { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .hf-loc-filter-inner::-webkit-scrollbar { display: none; }
    .hf-loc-pill { font-size: 11px; padding: 8px 14px; }
    .hf-loc-filter-label { display: none; }
}

/* ── Map ────────────────────────────────────────────────────── */
.hf-loc-map-section { background: #fff; }
.hf-map-wrap {
    height: 480px;
    border-bottom: 2px solid var(--hf-dark);
}
@media (max-width: 767px) { .hf-map-wrap { height: 300px; } }

/* ── Machine List Section ───────────────────────────────────── */
.hf-loc-list-section {
    background: var(--hf-offwhite);
    padding: 64px 0 88px;
}
.hf-loc-list-header {
    margin-bottom: 44px;
}
.hf-loc-list-eyebrow {
    display: block;
    font-family: var(--font-2);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--hf-green);
    margin-bottom: 12px;
}
@media (max-width: 767px) {
    .hf-loc-list-section { padding: 44px 0 64px; }
    .hf-loc-list-header  { margin-bottom: 28px; }
}

/* ── Machine Grid ───────────────────────────────────────────── */
.hf-loc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
}
@media (max-width: 767px) {
    .hf-loc-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* ── Machine Card ───────────────────────────────────────────── */
.hf-loc-card {
    background: #fff;
    border: 2px solid var(--hf-dark);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: transform .2s ease, box-shadow .2s ease;
}
.hf-loc-card:hover {
    transform: translate(-3px, -3px);
    box-shadow: 6px 6px 0 var(--hf-sage-dark);
}
.hf-loc-card--offline {
    opacity: .55;
}
.hf-loc-card--offline:hover {
    transform: none;
    box-shadow: none;
    cursor: default;
}

/* Card head: name + status */
.hf-loc-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
.hf-loc-card-name {
    font-family: var(--font-2);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--hf-dark);
    line-height: 1.2;
}

/* Status pill */
.hf-loc-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-2);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 50px;
    border: 1.5px solid currentColor;
}
.hf-loc-status--on  { color: var(--hf-green); background: rgba(47,125,90,.07); }
.hf-loc-status--off { color: #e53e3e;          background: rgba(229,62,62,.06); }
.hf-loc-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}
.hf-loc-status--on  .hf-loc-dot { animation: hf-dot-pulse 2s ease-in-out infinite; }
@keyframes hf-dot-pulse {
    0%,100% { opacity: 1; }
    50%      { opacity: .35; }
}

/* Address row */
.hf-loc-card-address {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 13px;
    font-weight: 300;
    color: rgba(45,45,45,.58);
    margin-bottom: 12px;
    line-height: 1.5;
}
.hf-loc-card-address svg {
    flex-shrink: 0;
    margin-top: 1px;
    color: rgba(45,45,45,.35);
}

/* Location type badge */
.hf-loc-type-badge {
    display: inline-block;
    font-family: var(--font-2);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--hf-green);
    background: rgba(47,125,90,.08);
    border: 1.5px solid rgba(47,125,90,.25);
    padding: 4px 12px;
    border-radius: 50px;
    margin-bottom: 20px;
}

/* Card CTA */
.hf-loc-card-btn.crof-hero-button {
    display: block;
    text-align: center;
    padding: 12px 18px;
    font-size: 12px;
    letter-spacing: 1.5px;
    box-shadow: 3px 3px 0 #1F4F3A;
    margin-top: auto;
}
.hf-loc-card-btn.crof-hero-button:hover {
    box-shadow: 5px 5px 0 #1F4F3A;
}
.hf-loc-offline-btn {
    text-align: center;
    padding: 12px 18px;
    font-family: var(--font-2);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: #f0f0f0;
    color: rgba(45,45,45,.35);
    border: 2px solid #ddd;
    border-radius: 50px;
    margin-top: auto;
    cursor: default;
}

/* ── Empty / Coming Soon ────────────────────────────────────── */
.hf-loc-empty {
    text-align: center;
    padding: 80px 24px;
    border: 2px solid #eee;
    background: #fff;
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.hf-loc-empty-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--hf-stats-bg);
    border: 2px solid var(--hf-sage);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hf-green);
    margin-bottom: 24px;
}
.hf-loc-empty-title {
    font-family: var(--font-2);
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--hf-dark);
    margin: 0 0 14px;
}
.hf-loc-empty-desc {
    font-size: 16px;
    font-weight: 300;
    color: rgba(45,45,45,.58);
    line-height: 1.75;
    max-width: 380px;
    margin: 0 auto 28px;
}



