*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --white:#FFFFFF;--offwhite:#F7F9FA;--light-blue:#EBF8FC;
  --border:#D8EEF4;--border-gray:#E2E2E2;--black:#111111;
  --text:#2A2A2A;--muted:#777777;--cyan:#1FB8D4;--cyan-dark:#1698AF;
  --cyan-tint:#EBF8FC;--spice:#C8401A;
}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--text);font-family:'Inter',sans-serif;line-height:1.65;overflow-x:hidden}
nav{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:2px solid var(--black);display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem;height:68px}
.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.nav-logo img{height:46px;width:auto;object-fit:contain}
.nav-logo-text{font-family:'Nunito',sans-serif;font-size:1.2rem;font-weight:900;color:var(--black)}
.nav-logo-text span{color:var(--cyan)}
.nav-links{display:flex;align-items:center;gap:1.5rem;list-style:none}
.nav-links a{font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--black);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--cyan)}
.nav-cta{background:var(--cyan)!important;color:var(--white)!important;padding:.5rem 1.25rem;border-radius:4px}
.nav-cta:hover{background:var(--cyan-dark)!important}
.btn-cyan{display:inline-block;background:var(--cyan);color:var(--white);font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;border-radius:5px;border:none;cursor:pointer;transition:background .2s,transform .15s}
.btn-cyan:hover{background:var(--cyan-dark);transform:translateY(-1px)}
.btn-black{display:inline-block;background:var(--black);color:var(--white);font-family:'Nunito',sans-serif;font-size:.9rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.85rem 2rem;border-radius:5px;transition:opacity .2s}
.btn-black:hover{opacity:.8}
.btn-outline{display:inline-block;background:transparent;color:var(--black);font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.82rem 1.75rem;border-radius:5px;border:2px solid var(--black);transition:background .2s,color .2s}
.btn-outline:hover{background:var(--black);color:var(--white)}
.eyebrow{display:block;font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:.6rem}
.section-title{font-family:'Nunito',sans-serif;font-size:clamp(1.8rem,4vw,2.75rem);font-weight:900;color:var(--black);line-height:1.05;letter-spacing:-.02em;margin-bottom:1.25rem}
.section-body{font-size:1rem;color:#555;line-height:1.8;max-width:580px}
footer{background:var(--black);padding:2.5rem 2.5rem 1.5rem;color:rgba(255,255,255,.4)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand-name{font-family:'Nunito',sans-serif;font-size:1.4rem;font-weight:900;color:var(--white);margin-bottom:.25rem}
.footer-brand-name span{color:var(--cyan)}
.footer-tagline{font-family:'Nunito',sans-serif;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:.85rem}
.footer-desc{font-size:.82rem;line-height:1.65;color:rgba(255,255,255,.4);margin-bottom:1.25rem;max-width:260px}
.footer-social{display:flex;gap:.6rem}
.soc-btn{width:32px;height:32px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;text-decoration:none;color:rgba(255,255,255,.5);font-weight:700;transition:background .2s}
.soc-btn:hover{background:var(--cyan);color:var(--white);border-color:var(--cyan)}
.footer-col-title{font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.footer-links a{font-size:.82rem;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.74rem;color:rgba(255,255,255,.25)}
.footer-bottom a{color:rgba(255,255,255,.25);text-decoration:none}
.form-group{margin-bottom:1rem}
.form-label{display:block;font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.form-control{width:100%;background:var(--white);border:1.5px solid var(--border-gray);border-radius:5px;padding:.7rem .9rem;font-family:'Inter',sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .2s}
.form-control:focus{border-color:var(--cyan)}
textarea.form-control{min-height:110px;resize:vertical}
select.form-control{cursor:pointer}
@media(max-width:900px){nav{padding:0 1.25rem}.nav-links{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-bottom{flex-direction:column;align-items:flex-start}}

/* ============================================================
   ANDROID & CROSS-PLATFORM FIXES — appended
   ============================================================ */

/* Prevent grid blowout on Android */
.services-grid,
.menu-grid,
.bundles-grid,
.how-grid,
.rev-grid,
.what-grid,
.et-grid,
.pkg-grid,
.why-grid{
  min-width:0;
}
.services-grid > *,
.menu-grid > *,
.bundles-grid > *{
  min-width:0;
  overflow:hidden;
}

/* Fix Android Chrome 100vh bug with nav */
@supports(height:100dvh){
  #hero,.cafe-hero,.mem-hero,.page-hero{
    min-height:calc(100dvh - 68px);
  }
}

/* Responsive nav for mid-size Android tablets */
@media(max-width:1024px) and (min-width:901px){
  .nav-links{gap:1rem}
  .nav-links a{font-size:.78rem}
}

/* Fix text overflow in cards on Android */
.menu-card,.svc-card,.bcard,.what-card,.et-card,.pkg-card,
.cafe-menu-card,.proof-card,.rcard,.media-card{
  overflow:hidden;
  word-break:break-word;
}

/* Improve tap targets on Android */
@media(max-width:900px){
  .btn-cyan,.btn-black,.btn-outline,.btn-warm,
  .btn-atc,.btn-buy-full,.btn-warm-full,
  .btn-subscribe,.btn-submit,.btn-rev,.btn-join{
    padding:1rem 1.5rem!important;
    font-size:1rem!important;
    min-height:52px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  /* Prevent overflow on seasoning page hero */
  .product-hero{
    padding:0 1rem 3rem!important;
  }
  /* Fix gallery thumbs on Android */
  .gallery-thumbs{
    grid-template-columns:repeat(2,1fr)!important;
  }
  /* Fix blog post body */
  .post-body-wrap{
    padding:2rem 1rem!important;
  }
  /* Fix catering/corporate forms */
  .form-card,.contact-form-box,.contact-form{
    padding:1.25rem!important;
  }
  /* Fix hero cred strip wrapping */
  .hero-cred,.hero-cred-strip{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1rem!important;
    padding-top:1.5rem!important;
  }
  /* Sauce row — 3 col on small Android */
  .cafe-bottom-row{
    grid-template-columns:1fr!important;
  }
}

/* Extra small Android screens (320px-375px) */
@media(max-width:375px){
  nav{padding:0 1rem}
  .nav-logo-text{font-size:1rem}
  section{padding:3rem 1rem!important}
  .section-title{font-size:1.5rem!important}
  h1.hero-headline,.cafe-hero-title{
    font-size:2rem!important;
    line-height:1.05!important;
  }
  .hero-actions{flex-direction:column}
  .hero-actions a{width:100%;text-align:center}
  .used-strip{flex-direction:column;align-items:flex-start}
  .trust-row{grid-template-columns:1fr 1fr!important}
  .price-block{flex-wrap:wrap}
  .checkout-options{gap:.65rem}
}
