:root{
  /* Palette - lighter, warm */
  --black:#221f1f;
  --charcoal:#1e1c1a;
  --brown-dark:#3a2410;
  --brown:#6b3f1e;
  --brown-mid:#8b5a2b;
  --gold:#c9933a;
  --gold-light:#e8b86d;
  --gold-pale:#f5e6c8;
  /* Light backgrounds */
  --white:#ffffff;
  --gray-50:#f9f9f9;
  --gray-100:#f2f2f2;
  --gray-200:#e8e6e3;
  --warm-50:#faf7f3;
  --warm-100:#f5ede0;
  /* Text */
  --text-dark:#1e1c1a;
  --text-mid:#5a4a3a;
  --text-muted:#8a7a6a;
  /* Shadows */
  --shadow:0 8px 40px rgba(0,0,0,.11);
  --shadow-sm:0 2px 16px rgba(0,0,0,.07);
  --shadow-gold:0 8px 32px rgba(201,147,58,.25);
  --radius:10px;--radius-lg:18px;
  --gutter:clamp(18px,3vw,28px);
  --section-pad-lg:clamp(84px,8vw,110px);
  --section-pad-md:clamp(72px,7vw,100px);
  --tr:.32s cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:132px;-webkit-text-size-adjust:100%;}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text-dark);overflow-x:hidden;line-height:1.7;text-rendering:optimizeLegibility;}
body.menu-open{overflow:hidden;}
img{max-width:100%;display:block;object-fit:cover;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{cursor:pointer;border:none;outline:none;font-family:inherit;}
input,select,textarea{font-family:inherit;}
::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-track{background:var(--gray-100);}
::-webkit-scrollbar-thumb{background:var(--brown-mid);border-radius:3px;}

/* PRELOADER */
.pl{position:fixed;inset:0;background:
  radial-gradient(circle at top,rgba(201,147,58,.14),transparent 42%),
  linear-gradient(180deg,rgba(58,36,16,.18),transparent 36%),
  var(--charcoal);
  z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;
  transition:opacity .85s ease,visibility .85s ease;}
.pl.gone{opacity:0;visibility:hidden;pointer-events:none;}
.pl-wrap{position:relative;width:224px;height:224px;}
.pl-logo{width:162px;height:162px;object-fit:contain;position:absolute;top:31px;left:31px;filter:drop-shadow(0 18px 42px rgba(201,147,58,.3));}
.pl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--gold);animation:spin 1.6s linear infinite;}
.pl-inner{position:absolute;inset:12px;border-radius:50%;border:1.5px solid transparent;border-top-color:rgba(201,147,58,.36);animation:spin 2.45s linear infinite reverse;}
@keyframes spin{to{transform:rotate(360deg);}}
.pl-copy{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;}
.pl-text{font-family:'Playfair Display',serif;font-weight:700;color:#f7efe2;font-size:clamp(1.9rem,3.2vw,2.5rem);letter-spacing:.05em;
  text-shadow:0 8px 24px rgba(0,0,0,.32);}
.pl-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-light);font-size:1.18rem;letter-spacing:.22em;
  text-shadow:0 6px 18px rgba(0,0,0,.28);}
.pl-bar{width:212px;height:3px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;}
.pl-fill{height:100%;background:var(--gold);width:0;transition:width .1s ease;}

/* WHATSAPP */
.wa-tab{position:fixed;right:0;top:56%;transform:translateY(-50%);z-index:905;}
.wa-tab-btn{display:inline-flex;align-items:center;gap:9px;border-radius:12px 0 0 12px;background:#25d366;color:#fff;
  padding:11px 15px;font-size:.71rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 10px 22px rgba(0,0,0,.2),0 8px 22px rgba(37,211,102,.34);
  transition:transform var(--tr),box-shadow var(--tr),background var(--tr);}
.wa-tab-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.24),0 12px 28px rgba(37,211,102,.42);background:#1fb856;}
.wa-tab-btn i{font-size:1.05rem;}
.wa-tab.hide-trigger .wa-tab-btn{opacity:0;pointer-events:none;transform:translateX(14px);}
.wa-tab.hide-trigger .wa-tab-btn:hover{transform:translateX(14px);}
.wa-tab-panel{width:min(336px,calc(100vw - 24px));background:#fff;border:1px solid rgba(29,168,81,.28);
  border-radius:14px;overflow:auto;box-shadow:0 22px 40px rgba(0,0,0,.2);backdrop-filter:blur(8px);
  position:absolute;right:calc(100% + 12px);top:50%;
  max-height:min(78dvh,620px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;
  opacity:0;transform:translateY(-50%) scale(.98);pointer-events:none;transition:var(--tr);}
.wa-tab.open .wa-tab-panel{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto;}
.wa-tab.open .wa-tab-btn{opacity:0;pointer-events:none;transform:translateX(14px);}
.wa-tab.open .wa-tab-btn:hover{transform:translateX(14px);}
.wa-tab-head{display:flex;align-items:flex-start;justify-content:space-between;padding:11px 13px;
  background:linear-gradient(135deg,#25d366,#1da851);}
.wa-tab-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:7px;}
.wa-tab-sub{font-size:.72rem;color:rgba(255,255,255,.86);margin-top:2px;line-height:1.35;}
.wa-tab-close{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:.84rem;transition:var(--tr);}
.wa-tab-close:hover{background:rgba(255,255,255,.28);}
.wa-tab-form{display:grid;gap:8px;padding:12px 12px 11px;}
.wa-tab-input,.wa-tab-msg{width:100%;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;
  padding:10px 12px;color:var(--text-dark);font-size:.83rem;line-height:1.45;outline:none;transition:border-color var(--tr),background var(--tr);}
.wa-tab-msg{min-height:86px;resize:vertical;}
.wa-tab-input:focus,.wa-tab-msg:focus{border-color:#25d366;background:#fff;}
.wa-filter-wrap{background:linear-gradient(180deg,#fff,#f9fbfa);border:1px solid rgba(29,168,81,.16);border-radius:10px;padding:11px;}
.wa-filter-title{font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#1c7f46;margin:0 0 8px;}
.wa-filter-intro{background:linear-gradient(180deg,#ffffff,#f6fcf8);border:1px solid rgba(29,168,81,.2);border-radius:10px;padding:10px;display:grid;gap:8px;}
.wa-filter-help{font-size:.69rem;line-height:1.45;color:var(--text-mid);}
.wa-filter-help strong{color:#1c7f46;font-weight:700;}
.wa-roast-guide{display:grid;grid-template-columns:1fr;gap:6px;}
.wa-roast-card{background:#fff;border:1px solid rgba(29,168,81,.16);border-radius:8px;padding:7px 8px;display:grid;gap:2px;}
.wa-roast-kicker{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1c7f46;}
.wa-roast-name{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--text-dark);line-height:1.3;}
.wa-roast-copy{font-size:.64rem;line-height:1.4;color:var(--text-mid);}
.wa-matrix-help{margin-bottom:10px;}
.wa-matrix-head{display:grid;grid-template-columns:minmax(118px,1fr) repeat(3,minmax(68px,1fr));gap:8px;align-items:center;padding:0 8px 7px;color:#1c7f46;
  font-size:.57rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.wa-matrix-head .wa-matrix-head-main{padding-left:3px;}
.wa-matrix-grid{display:grid;gap:8px;}
.wa-matrix-row{display:grid;grid-template-columns:minmax(118px,1fr) repeat(3,minmax(68px,1fr));gap:8px;align-items:center;
  border:1px solid rgba(29,168,81,.2);border-radius:9px;padding:8px;background:#fff;
  box-shadow:0 2px 10px rgba(13,77,42,.04);transition:border-color var(--tr),box-shadow var(--tr),background var(--tr);}
.wa-matrix-row.is-selected{border-color:rgba(29,168,81,.5);background:#f6fcf8;box-shadow:0 0 0 1px rgba(29,168,81,.14),0 10px 20px rgba(13,77,42,.08);}
.wa-matrix-label{font-size:.67rem;font-weight:700;color:var(--text-dark);line-height:1.35;padding-left:2px;letter-spacing:.01em;}
.wa-matrix-size{display:grid;justify-items:center;align-content:center;gap:5px;min-width:0;
  border:1px solid rgba(29,168,81,.16);border-radius:8px;padding:6px 5px;background:linear-gradient(180deg,#ffffff,#f8fcfa);}
.wa-size-label{display:none;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1c7f46;}
.wa-volume-stepper{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,auto);justify-items:center;align-items:center;gap:4px;}
.wa-qty-btn{width:26px;height:26px;border:1px solid rgba(29,168,81,.32);border-radius:6px;background:#f1fbf6;color:#1c7f46;font-size:.9rem;font-weight:700;line-height:1;display:grid;place-items:center;transition:var(--tr);}
.wa-qty-btn:hover{background:#eaf8f0;border-color:rgba(29,168,81,.44);}
.wa-qty-btn:disabled{opacity:.45;cursor:not-allowed;}
.wa-qty-val{min-width:28px;text-align:center;font-size:.74rem;font-weight:700;color:var(--text-dark);font-variant-numeric:tabular-nums;
  border:1px solid rgba(15,81,50,.18);border-radius:6px;padding:3px 4px;background:#fff;}
.wa-tab-total{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(29,168,81,.24);border-radius:9px;background:linear-gradient(180deg,#ffffff,#f4fbf7);}
.wa-tab-total-label{font-size:.61rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1c7f46;}
.wa-tab-total-value{font-size:.9rem;font-weight:800;color:#0f5132;letter-spacing:.02em;}
.wa-tab-total-note{font-size:.66rem;color:var(--text-muted);line-height:1.45;margin-top:-2px;}
.wa-tab-total.is-ready{border-color:rgba(29,168,81,.52);box-shadow:0 0 0 1px rgba(29,168,81,.16),0 10px 22px rgba(16,96,52,.08);}
.wa-tab-total.is-empty .wa-tab-total-value{color:#64748b;}
.wa-tab-send{width:100%;justify-content:center;padding:11px 14px;font-size:.69rem;letter-spacing:.1em;}
.wa-tab-error{font-size:.72rem;color:#b91c1c;line-height:1.4;min-height:18px;}
.wa-tab-guide{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(201,147,58,.35);border-radius:8px;background:rgba(201,147,58,.08);color:var(--text-dark);
  padding:10px 12px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:var(--tr);}
.wa-tab-guide:hover{background:rgba(201,147,58,.14);border-color:rgba(201,147,58,.52);transform:translateY(-1px);}
.wa-tab-guide i{color:var(--gold);}
.wa-tab-guide:disabled,.wa-tab-guide[aria-disabled="true"]{
  background:#f1f5f9;border-color:#cbd5e1;color:#64748b;cursor:not-allowed;transform:none;opacity:1;
}
.wa-tab-guide:disabled:hover,.wa-tab-guide[aria-disabled="true"]:hover{
  background:#f1f5f9;border-color:#cbd5e1;transform:none;
}
.wa-tab-guide:disabled i,.wa-tab-guide[aria-disabled="true"] i{color:#94a3b8;}
.wa-tab-note{font-size:.7rem;color:var(--text-muted);line-height:1.45;text-align:center;}

/* UTILITY */
.container{width:min(1200px,calc(100% - (var(--gutter) * 2)));margin:0 auto;padding:0;}
section[id]{scroll-margin-top:132px;}
.sec-lbl{font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
  margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.sec-lbl::before{content:'';width:28px;height:1.5px;background:var(--gold);display:block;flex-shrink:0;}
.sec-lbl.center{justify-content:center;}
.sec-lbl.dark-lbl{color:rgba(245,237,224,.5);}
.sec-lbl.dark-lbl::before{background:rgba(245,237,224,.3);}
.h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:700;line-height:1.18;color:var(--text-dark);}
.h2.lt{color:#fff;}
.sub{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:var(--text-mid);margin-top:10px;max-width:540px;}
.sub.lt{color:rgba(245,237,224,.7);}
.sub.center{margin:10px auto 0;text-align:center;}
.gold-line{width:48px;height:3px;background:var(--gold);border-radius:2px;margin:16px 0;}
#about,#our-coffee,#green-beans,#shop,#corporate,#reunion,#community,#contact{padding:var(--section-pad-lg) 0;}
#featured,#why,#brewing,#testimonials,#faq{padding:var(--section-pad-md) 0;}
.about-grid>*,.coffee-inner>*,.green-showcase>*,.green-hero-card>*,.green-info-panel>*,.shop-top>*,.packaging-showcase>*,.qb-layout>*,.corp-grid>*,.reunion-shell>*,.reunion-feature-grid>*,.comm-grid>*,.brew-grid>*,.contact-grid>*,.footer-grid>*{min-width:0;}
.pcard-body,.cart-item-info,.feat-body{min-width:0;}
.ci-val,.bank-acc p,.fci p,.ft-links a,.form-note,.cart-item-name,.pcard-name,.pcard-note{overflow-wrap:anywhere;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:4px;
  font-family:'DM Sans',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:var(--tr);}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:#b8832e;transform:translateY(-2px);box-shadow:var(--shadow-gold);}
.btn-outline-dark{border:1.5px solid rgba(255,255,255,.5);color:#fff;}
.btn-outline-dark:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,147,58,.08);}
.btn-outline-light{border:1.5px solid var(--gold);color:var(--gold);}
.btn-outline-light:hover{background:var(--gold);color:#fff;}
.btn-dark{background:var(--charcoal);color:#fff;}
.btn-dark:hover{background:var(--brown-dark);transform:translateY(-2px);}
.btn-green{background:#25d366;color:#fff;}
.btn-green:hover{background:#1fb856;transform:translateY(-2px);}
.btn-sm{padding:9px 18px;font-size:.7rem;}
.btn:disabled{opacity:.5;pointer-events:none;}
.btn-wa-ghost{background:rgba(37,211,102,.1);color:#1fb856;border:1.5px solid rgba(37,211,102,.3);}
.btn-wa-ghost:hover{background:#25d366;color:#fff;border-color:#25d366;}

/* CURRENCY TOGGLE */
.cur-tog{display:flex;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:3px;gap:2px;}
.cur-btn{background:none;color:rgba(255,255,255,.5);font-size:.66rem;font-weight:700;letter-spacing:.08em;padding:5px 11px;border-radius:100px;transition:var(--tr);white-space:nowrap;}
.cur-btn.on{background:var(--gold);color:#fff;}
.cur-btn:hover:not(.on){color:#fff;}
.cur-tog.light{background:var(--gray-100);border-color:var(--gray-200);box-shadow:var(--shadow-sm);}
.cur-tog.light .cur-btn{color:var(--text-muted);}
.cur-tog.light .cur-btn.on{background:var(--gold);color:#fff;}
.cur-tog.light .cur-btn:hover:not(.on){color:var(--text-dark);}

/* NAVBAR */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  border-bottom:1px solid rgba(255,255,255,.18);
  transition:background var(--tr),box-shadow var(--tr),border-color var(--tr),padding var(--tr);}
#nav::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.58;
  background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.1) 42%,rgba(255,255,255,0) 75%);
  transition:opacity var(--tr);}
#nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent 0%,rgba(56,44,32,.04) 14%,rgba(56,44,32,.12) 50%,rgba(56,44,32,.04) 86%,transparent 100%);
  transition:opacity var(--tr);}
#nav.top{background:linear-gradient(180deg,rgba(12,12,12,.78) 0%,rgba(8,8,8,.62) 100%);
  box-shadow:0 12px 30px rgba(0,0,0,.32);}
#nav.stuck{background:linear-gradient(180deg,rgba(12,12,12,.8) 0%,rgba(7,7,7,.66) 100%);
  box-shadow:0 14px 34px rgba(0,0,0,.36);
  border-bottom-color:rgba(255,255,255,.24);}
#nav.top::before{opacity:.44;}
#nav.stuck::before{opacity:.52;}
#nav.top::after{opacity:.35;}
#nav.stuck::after{
  opacity:1;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 14%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.12) 86%,transparent 100%);
}
#nav.top .nav-logo-mark,#nav.stuck .nav-logo-mark{--logo-drop:0px;}
#nav.top .nav-brand-name,#nav.stuck .nav-brand-name{color:#fffefb;text-shadow:0 1px 3px rgba(0,0,0,.34);}
#nav.top .nav-brand-tag,#nav.stuck .nav-brand-tag{color:#fff4de;text-shadow:0 1px 3px rgba(0,0,0,.34);}
#nav.top .nav-links a,#nav.stuck .nav-links a{
  color:rgba(255,251,242,.95);font-weight:600;letter-spacing:.085em;text-shadow:0 1px 2px rgba(0,0,0,.3);
}
#nav.top .nav-links a:hover,#nav.top .nav-links a.on,#nav.stuck .nav-links a:hover,#nav.stuck .nav-links a.on{color:#fff;}
#nav.top .nav-links a::after,#nav.stuck .nav-links a::after{background:#fff7e8;height:2px;}
#nav.stuck .nav-quote-btn{background:rgba(255,255,255,.24);color:#fff;border:1px solid rgba(255,255,255,.56);}
#nav.stuck .nav-quote-btn:hover{background:#fff;color:#9a6320;border-color:#fff;}
#nav.stuck .nav-cart-btn{color:#fff8eb;}
#nav.stuck .nav-cart-btn:hover{color:#fff;}
#nav.stuck .cur-tog{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.38);}
#nav.stuck .cur-btn{color:rgba(255,255,255,.78);}
#nav.stuck .cur-btn.on{background:rgba(255,255,255,.94);color:#8b5a2b;}
#nav.stuck .cur-btn:hover:not(.on){color:#fff;}
#nav.stuck .hamburger span{background:#fff;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:126px;overflow:visible;}
.nav-logo{display:flex;align-items:center;gap:10px;position:relative;}
.nav-logo-mark{position:relative;width:98px;height:98px;display:grid;place-items:center;flex-shrink:0;
  --logo-drop:0px;transform:translateY(var(--logo-drop));
  border-radius:50%;
  border:2.4px solid #fff;
  box-sizing:border-box;
  overflow:hidden;isolation:isolate;
  transition:none;}
.nav-logo-mark::before{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:0;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 10px 20px rgba(0,0,0,.24),
    0 0 14px rgba(255,255,255,.08);
}
.nav-logo-mark::after{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2;opacity:.66;
  background:
    radial-gradient(120% 88% at 22% 12%,rgba(255,255,255,.42) 0%,rgba(255,255,255,.16) 28%,rgba(255,255,255,0) 56%),
    linear-gradient(168deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 52%),
    radial-gradient(100% 80% at 50% 100%,rgba(255,255,255,.08),rgba(255,255,255,0) 62%);
}
.nav-logo-img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 55%;
  padding:0;background:transparent;border:none;
  position:relative;z-index:1;
  clip-path:circle(50% at 50% 50%);
  top:-10.5%;
  transform:scale(2.18);
  transform-origin:center;
  box-shadow:0 18px 32px rgba(0,0,0,.24);
  transition:none;}
.nav-brand{display:flex;flex-direction:column;gap:2px;padding-top:0;}
.nav-brand-name{font-family:'Playfair Display',serif;font-size:1.36rem;font-weight:900;color:#fff;display:block;letter-spacing:.02em;transition:color var(--tr);}
.nav-brand-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.74rem;color:#d49a41;letter-spacing:.14em;
  text-shadow:0 1px 1px rgba(0,0,0,.82),0 4px 12px rgba(0,0,0,.5);transition:color var(--tr),text-shadow var(--tr);}
.nav-links{display:flex;align-items:center;gap:0;}
.nav-links a{font-size:.71rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.8);padding:8px 10px;transition:var(--tr);position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:3px;left:10px;right:10px;height:1.5px;background:#fff;transform:scaleX(0);transition:transform .25s ease;}
.nav-links a:hover,.nav-links a.on{color:#fff;}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1);}
.nav-quote-btn{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:4px!important;padding:7px 14px!important;font-size:.69rem!important;}
.nav-quote-btn:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-cart-btn{background:none;color:#fff;font-size:1.05rem;padding:6px 10px;position:relative;transition:color var(--tr);}
.nav-cart-btn:hover{color:var(--gold);}
.cart-dot{position:absolute;top:2px;right:2px;background:var(--gold);color:#fff;font-size:.55rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:var(--tr);}
.cart-dot.on{opacity:1;transform:scale(1);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;padding:8px;}
.hamburger span{display:block;width:22px;height:1.5px;background:#fff;transition:var(--tr);}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob-nav{display:none;position:fixed;top:126px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);
  padding:18px 22px 22px;border-bottom:1px solid var(--gray-200);z-index:999;opacity:0;transform:translateY(-10px);transition:var(--tr);}
.mob-nav.open{display:block;opacity:1;transform:translateY(0);}
.mob-nav a{display:block;font-size:.79rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--text-mid);padding:10px 0;border-bottom:1px solid var(--gray-100);transition:color var(--tr);}
.mob-nav a:hover{color:var(--gold);}
.mob-nav .btn{margin-top:12px;width:100%;justify-content:center;padding:11px 16px;}

/* HERO */
#hero{position:relative;height:100vh;height:100svh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;}
.hero-img{position:absolute;inset:0;overflow:hidden;background:#0f0b08;--hero-top-clearance:126px;}
.hero-img::before{content:'';position:absolute;inset:-3%;
  background-image:url('../../images/Cover12.jpg');background-size:cover;background-position:center center;background-repeat:no-repeat;
  filter:blur(14px) brightness(.56) saturate(.9);transform:scale(1.06);}
.hero-img::after{content:'';position:absolute;left:0;right:0;top:var(--hero-top-clearance);bottom:0;
  background-image:url('../../images/Cover2.jpg');background-size:contain;background-position:center top;background-repeat:no-repeat;
  filter:brightness(1.06) contrast(1.03);}
.hero-overlay{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 62% 44% at 50% 15%,rgba(255,224,156,.24) 0%,rgba(255,224,156,0) 68%),
    linear-gradient(90deg,rgba(10,7,4,.68) 0%,rgba(10,7,4,.42) 38%,rgba(10,7,4,.12) 78%,rgba(10,7,4,.06) 100%),
    linear-gradient(to top,rgba(10,7,4,.62) 0%,rgba(10,7,4,.14) 52%,rgba(10,7,4,.04) 100%);}
.hero-body{position:relative;z-index:2;padding:0 0 clamp(34px,5vw,56px);max-width:min(620px,100%);}
.hero-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-bottom:18px;display:flex;align-items:center;gap:10px;animation:fadeUp .9s ease both;
  text-shadow:0 2px 6px rgba(0,0,0,.72),0 8px 18px rgba(0,0,0,.58);}
.hero-eyebrow::before{content:'';width:36px;height:1px;background:var(--gold);}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:900;
  line-height:1.08;color:#fff;margin-bottom:16px;animation:fadeUp .9s ease .1s both;
  text-shadow:0 3px 10px rgba(0,0,0,.82),0 14px 32px rgba(0,0,0,.62);}
.hero-h1 em{font-style:italic;color:var(--gold-light);}
.hero-desc{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-style:italic;
  color:rgba(255,255,255,.82);max-width:460px;margin-bottom:32px;line-height:1.65;animation:fadeUp .9s ease .2s both;
  text-shadow:0 2px 8px rgba(0,0,0,.78),0 10px 22px rgba(0,0,0,.56);}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;animation:fadeUp .9s ease .3s both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.hero-scroll-hint{position:absolute;bottom:24px;left:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;
  color:rgba(255,255,255,.42);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  transform:translateX(-50%);animation:heroScrollFloat 2.2s ease-in-out infinite;}
@keyframes heroScrollFloat{
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(7px);}
}

/* INTRO STRIP (light gray) */
#intro-strip{background:var(--gray-100);border-bottom:1px solid var(--gray-200);}
.intro-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.intro-pill{padding:36px 28px;border-right:1px solid var(--gray-200);text-align:center;}
.intro-pill:last-child{border-right:none;}
.intro-pill-icon{font-size:1.6rem;margin-bottom:12px;display:block;}
.intro-pill h3{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--text-dark);margin-bottom:7px;}
.intro-pill p{font-size:.82rem;color:var(--text-muted);line-height:1.65;}

/* ABOUT */
#about{padding:110px 0;background:var(--white);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-img-wrap{position:relative;padding:0 30px 30px 0;}
.about-img-wrap::before{content:'';position:absolute;inset:24px 0 0 24px;border-radius:28px;
  background:linear-gradient(135deg,rgba(201,147,58,.18),rgba(58,36,16,.04));z-index:0;}
.about-main-img,.about-float-img{position:relative;z-index:1;border:1px solid rgba(201,147,58,.16);}
.about-main-img{width:100%;aspect-ratio:4/5;border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow);filter:saturate(1.02) contrast(1.03);}
.about-float-img{position:absolute;bottom:-10px;right:0;width:180px;height:220px;border-radius:var(--radius);
  object-fit:cover;box-shadow:var(--shadow);border:4px solid var(--white);filter:saturate(.98) contrast(1.02);}
.about-text{color:var(--text-mid);font-size:.95rem;line-height:1.85;margin-top:16px;}
.about-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;}
.pill{background:var(--warm-100);color:var(--brown);font-size:.69rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:100px;border:1px solid rgba(107,63,30,.15);}
.about-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}

/* OUR COFFEE - warm bg */
#our-coffee{padding:110px 0;background:var(--warm-50);}
.coffee-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.coffee-stats{margin-top:26px;display:flex;gap:20px;flex-wrap:wrap;}
.coffee-stat{text-align:center;min-width:108px;}
.coffee-stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;}
.coffee-stat-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);}
.coffee-imgs-stack{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;}
.coffee-img-a,.coffee-img-b{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;position:relative;
  border:1px solid rgba(201,147,58,.14);box-shadow:var(--shadow);}
.coffee-img-b{margin-top:36px;}
.coffee-img-a::after,.coffee-img-b::after,.corp-img::after,.comm-photo::after{content:'';position:absolute;inset:12px;
  border:1px solid rgba(255,255,255,.26);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none;}
.coffee-img-a img,.coffee-img-b img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.03);}
.coffee-img-a img{object-position:center 58%;}
.coffee-img-b img{object-position:center 46%;}

/* GREEN BEANS & EXPORT */
#green-beans{
  background:
    radial-gradient(circle at 18% 10%,rgba(126,166,74,.2),transparent 28%),
    radial-gradient(circle at 82% 0,rgba(232,184,109,.16),transparent 34%),
    linear-gradient(135deg,#071b0c 0%,#123115 42%,#261a10 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
#green-beans::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 34%,rgba(0,0,0,.14));
  pointer-events:none;
}
.green-showcase{position:relative;z-index:1;display:grid;gap:28px;}
.green-hero-card{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.78fr);gap:42px;align-items:center;min-height:520px;padding:48px;border-radius:30px;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(4,24,10,.9) 0%,rgba(6,34,15,.78) 48%,rgba(6,34,15,.16) 78%),
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.28)),
    url('../../images/highlands.jpg') center/cover no-repeat;
  border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 82px rgba(0,0,0,.36),0 18px 34px rgba(7,27,12,.34);}
.green-hero-card::after{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.25);border-radius:22px;pointer-events:none;}
.green-hero-copy{position:relative;z-index:1;max-width:680px;}
.green-hero-copy h2{font-family:'Playfair Display',serif;font-size:clamp(2.25rem,4.7vw,4rem);line-height:1.06;color:#fff;margin-top:4px;font-weight:700;text-shadow:0 12px 30px rgba(0,0,0,.28);}
.green-hero-lead{font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-style:italic;color:rgba(245,237,224,.82);line-height:1.55;margin-top:16px;max-width:620px;}
.green-hero-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}
.green-hero-list p{display:flex;align-items:flex-start;gap:12px;color:rgba(255,255,255,.9);font-size:.9rem;line-height:1.5;padding:12px 13px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.07);}
.green-hero-list i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:rgba(126,166,74,.62);color:#fff;border:1px solid rgba(255,255,255,.22);font-size:1.05rem;}
.hero-green-actions{margin-top:28px;}
.green-hero-beans{position:relative;z-index:1;justify-self:end;width:min(100%,430px);border-radius:28px;padding:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);box-shadow:0 28px 60px rgba(0,0,0,.36);}
.green-hero-beans img{width:100%;aspect-ratio:3/2;border-radius:20px;object-fit:cover;object-position:center;box-shadow:0 18px 36px rgba(0,0,0,.26);}
.green-info-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:28px;align-items:stretch;}
.green-info-copy{padding:30px;border:1px solid rgba(232,184,109,.2);border-radius:22px;background:rgba(255,255,255,.08);box-shadow:0 16px 42px rgba(0,0,0,.18);backdrop-filter:blur(10px);}
.green-info-copy .sec-lbl{margin-bottom:10px;}
.green-text{font-size:.93rem;color:rgba(245,237,224,.74);line-height:1.85;margin-top:18px;max-width:760px;}
.green-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px;}
.green-buyer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.green-buyer-card{background:rgba(255,255,255,.08);border:1px solid rgba(232,184,109,.18);border-radius:18px;padding:20px;box-shadow:0 14px 34px rgba(0,0,0,.16);transition:transform var(--tr),background var(--tr),border-color var(--tr);}
.green-buyer-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:rgba(232,184,109,.32);}
.green-buyer-card i{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(126,166,74,.34);color:#f3f8e7;font-size:1.05rem;margin-bottom:12px;border:1px solid rgba(255,255,255,.16);}
.green-buyer-card h3{font-family:'Playfair Display',serif;font-size:.98rem;color:#fff;margin-bottom:7px;line-height:1.3;}
.green-buyer-card p{font-size:.78rem;color:rgba(245,237,224,.68);line-height:1.65;}
.green-proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1040px;margin:4px auto 0;}
.green-proof{display:grid;justify-items:center;gap:11px;text-align:center;}
.green-proof img{width:min(100%,190px);aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.84);box-shadow:0 16px 36px rgba(0,0,0,.32);object-fit:cover;background:rgba(255,255,255,.08);}
.green-proof:nth-child(1) img{object-position:center;}
.green-proof:nth-child(2) img{object-position:center;}
.green-proof:nth-child(3) img{object-position:center 44%;}
.green-proof:nth-child(4) img{object-position:center 34%;}
.green-proof figcaption{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(245,237,224,.68);}

/* SHOP - white */
#shop{padding:110px 0;background:var(--white);}
.shop-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap;gap:20px;}
.shop-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.packaging-showcase{display:grid;grid-template-columns:1fr;gap:24px;margin:0 0 38px;padding:28px;
  background:radial-gradient(circle at top right,rgba(201,147,58,.16),transparent 32%),linear-gradient(135deg,#fffdf8 0%,#fffaf2 44%,#f5ede0 100%);
  border:1px solid rgba(201,147,58,.2);border-radius:26px;box-shadow:0 20px 42px rgba(56,44,32,.08);}
.packaging-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;max-width:760px;margin:0 auto;}
.packaging-kicker{font-size:.67rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.packaging-title{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.08;color:var(--text-dark);margin-bottom:10px;max-width:13ch;}
.packaging-lead{font-family:'Cormorant Garamond',serif;font-size:1.14rem;font-style:italic;color:var(--text-mid);margin-bottom:18px;max-width:44ch;}
.packaging-freshness{padding:15px 18px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(201,147,58,.16);
  font-size:.87rem;color:var(--text-mid);line-height:1.72;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);max-width:820px;margin-inline:auto;text-align:center;}
.packaging-closing{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.94rem;font-weight:700;color:var(--brown);align-self:center;text-align:center;}
.packaging-closing i{color:var(--gold);flex-shrink:0;}
.packaging-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;}
.packaging-card{display:grid;grid-template-rows:minmax(420px,auto) auto;border:1px solid rgba(201,147,58,.18);border-radius:24px;overflow:hidden;
  background:rgba(255,255,255,.9);box-shadow:0 16px 34px rgba(56,44,32,.07);}
.packaging-shot{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px;padding:22px 16px 8px;overflow:hidden;}
.packaging-shot::before{content:'';position:absolute;inset:14px;border-radius:18px;border:1px solid rgba(255,255,255,.34);pointer-events:none;}
.packaging-shot img{position:relative;z-index:1;display:block;width:min(100%,390px);max-width:calc(100% - 20px);height:auto;max-height:430px;object-fit:contain;object-position:center;
  transform:scale(1.03);transform-origin:center center;filter:drop-shadow(0 26px 28px rgba(17,16,16,.18));}
.packaging-card.black .packaging-shot img{width:min(100%,430px);max-width:calc(100% - 20px);}
.packaging-shot.gold,.packaging-shot.black{background:linear-gradient(160deg,#fff9ef,#f3debb 52%,#dfbb84 100%);}
.packaging-card-copy{padding:20px 22px 22px;background:rgba(255,255,255,.96);border-top:1px solid rgba(201,147,58,.14);}
.packaging-card-kicker{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;}
.packaging-card-copy h4{font-family:'Playfair Display',serif;font-size:1.12rem;color:var(--text-dark);margin-bottom:8px;}
.packaging-card-copy p{font-size:.86rem;color:var(--text-mid);line-height:1.66;}
.packaging-card.gold .packaging-card-kicker,.packaging-card.black .packaging-card-kicker{background:rgba(184,122,52,.14);color:#8a5822;}
.shop-filter-guide{margin:0 0 18px;padding:22px;border-radius:22px;border:1px solid rgba(201,147,58,.2);
  background:radial-gradient(circle at top right,rgba(201,147,58,.15),transparent 34%),linear-gradient(135deg,#fffdf8 0%,#fbf5eb 56%,#f3e7d5 100%);
  box-shadow:0 14px 32px rgba(56,44,32,.08);}
.shop-filter-guide-head{max-width:820px;margin:0 auto;text-align:center;}
.shop-filter-kicker{font-size:.63rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.shop-filter-kicker i{font-size:.68rem;opacity:.9;}
.shop-filter-guide-head h3{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.15;color:var(--text-dark);margin-bottom:8px;}
.shop-filter-lead{font-size:.84rem;line-height:1.65;color:var(--text-mid);}
.shop-filter-lead strong{color:var(--brown);font-weight:700;}
.shop-filter-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;}
.shop-filter-step{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
  background:rgba(255,255,255,.78);border:1px solid rgba(201,147,58,.2);font-size:.68rem;color:var(--text-mid);}
.shop-filter-step i{color:var(--brown);font-size:.72rem;}
.roast-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:40px;padding:12px;
  background:linear-gradient(135deg,#f8f4ed,#fffdf9 48%,#f5ede0);border:1px solid rgba(201,147,58,.2);
  border-radius:24px;box-shadow:0 18px 36px rgba(56,44,32,.08);}
.rnav-btn{position:relative;overflow:hidden;width:100%;background:rgba(255,255,255,.78);font-family:'DM Sans',sans-serif;
  color:var(--text-dark);padding:18px 18px 16px;border:1px solid rgba(201,147,58,.14);border-radius:18px;transition:var(--tr);
  display:flex;align-items:flex-start;gap:14px;text-align:left;min-height:104px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 18px rgba(17,16,16,.05);}
.rnav-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(201,147,58,.08),rgba(201,147,58,0));opacity:0;transition:var(--tr);pointer-events:none;}
.rnav-btn:hover{transform:translateY(-2px);border-color:rgba(201,147,58,.28);box-shadow:0 14px 28px rgba(56,44,32,.1);}
.rnav-btn:hover::after,.rnav-btn.on::after{opacity:1;}
.rnav-btn.on{background:linear-gradient(180deg,#fffaf2,#fff6e9);border-color:rgba(201,147,58,.42);box-shadow:0 18px 34px rgba(107,63,30,.12);}
.rnav-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(107,63,30,.12);box-shadow:0 8px 16px rgba(17,16,16,.06);transition:var(--tr);flex-shrink:0;}
.rnav-icon i{font-size:.98rem;}
.rnav-copy{display:flex;flex-direction:column;gap:5px;min-width:0;}
.rnav-kicker{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);}
.rnav-label{font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:700;letter-spacing:.02em;color:var(--text-dark);line-height:1.2;}
.rnav-note{font-size:.78rem;color:var(--text-mid);line-height:1.45;}
.rnav-btn[data-rt="light"] .rnav-icon{background:linear-gradient(135deg,#f8e7bf,#f2d089);color:#9d6a18;}
.rnav-btn[data-rt="medium"] .rnav-icon{background:linear-gradient(135deg,#ddb17a,#b9773d);color:#fff3e2;}
.rnav-btn[data-rt="dark"] .rnav-icon{background:linear-gradient(135deg,#5b3921,#1e140d);color:#f0cf93;}
.rnav-btn.on .rnav-icon{transform:translateY(-1px) scale(1.04);box-shadow:0 12px 22px rgba(17,16,16,.12);}
.rnav-btn.on .rnav-kicker{color:var(--brown);}
.rcat-header{margin-bottom:28px;}
.rcat-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--text-dark);}
.rcat-desc{font-size:.88rem;color:var(--text-muted);margin-top:6px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;}
.rcat-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.rcat-col-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--text-dark);
  padding-bottom:10px;border-bottom:1.5px solid var(--gold-pale);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.rcat-col-title i{color:var(--gold);font-size:.85rem;}
/* Product card */
.pcard{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);margin-bottom:18px;}
.pcard:last-child{margin-bottom:0;}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-pale);}
.pcard-inner{display:flex;align-items:center;gap:0;}
.pcard-thumb{width:110px;height:110px;flex-shrink:0;overflow:hidden;background:var(--warm-100);}
.pcard-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--tr);}
.pcard:hover .pcard-thumb img{transform:scale(1.06);}
.pcard-body{flex:1;padding:16px 18px;}
.pcard-size{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;}
.pcard-name{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--text-dark);margin-bottom:5px;line-height:1.3;}
.pcard-note{font-size:.76rem;color:var(--text-muted);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:.9rem;}
.pcard-right{padding:16px 16px 16px 0;display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;}
.pcard-price{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--gold);}
.qty-row{display:flex;align-items:center;gap:8px;background:var(--gray-100);border-radius:4px;padding:4px 10px;}
.qty-row button{background:none;color:var(--text-muted);font-size:1rem;width:18px;text-align:center;transition:color var(--tr);}
.qty-row button:hover{color:var(--gold);}
.qval{font-size:.82rem;font-weight:600;color:var(--text-dark);min-width:16px;text-align:center;}
.pcard-actions{display:flex;gap:7px;flex-wrap:wrap;}
.pcard-actions .btn{font-size:.63rem;padding:7px 12px;}

/* QUOTE BUILDER */
#quote-builder{margin-top:56px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:36px;}
.order-focus-target.is-active{
  outline:2px solid rgba(201,147,58,.5);
  outline-offset:6px;
  box-shadow:0 22px 44px rgba(74,55,31,.22),0 0 0 1px rgba(201,147,58,.2) inset;
  animation:orderFocusPulse 1.35s ease;
}
@keyframes orderFocusPulse{
  0%{outline-color:rgba(201,147,58,.18);box-shadow:0 8px 18px rgba(74,55,31,.08),0 0 0 1px rgba(201,147,58,.1) inset;}
  45%{outline-color:rgba(201,147,58,.58);box-shadow:0 24px 48px rgba(74,55,31,.24),0 0 0 1px rgba(201,147,58,.28) inset;}
  100%{outline-color:rgba(201,147,58,.45);box-shadow:0 22px 44px rgba(74,55,31,.22),0 0 0 1px rgba(201,147,58,.2) inset;}
}
.qb-hdr h3{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--text-dark);margin-bottom:6px;}
.qb-hdr p{font-size:.84rem;color:var(--text-muted);margin-bottom:24px;}
.qb-progress{display:flex;margin-bottom:24px;border:1px solid var(--gray-200);border-radius:8px;overflow:hidden;}
.qb-step{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--white);}
.qb-step+.qb-step{border-left:1px solid var(--gray-200);}
.qb-step .num{width:26px;height:26px;border-radius:50%;background:var(--gray-200);color:var(--text-muted);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--tr);}
.qb-step p{font-size:.75rem;font-weight:500;color:var(--text-muted);}
.qb-step.is-active{background:var(--gold-pale);}
.qb-step.is-active .num{background:var(--gold);color:#fff;}
.qb-step.is-active p{color:var(--brown);}
.qb-step.is-complete .num{background:#22c55e;color:#fff;}
.qb-step.is-complete p{color:var(--text-mid);}
.qb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;}
.qb-stat{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:14px 16px;text-align:center;}
.qb-stat strong{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold);display:block;margin-bottom:3px;}
.qb-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);}
.qb-layout{display:grid;grid-template-columns:1fr 260px;gap:24px;}
.qb-items-box{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:16px;min-height:80px;max-height:320px;overflow-y:auto;scrollbar-gutter:stable both-edges;margin-bottom:12px;}
.q-empty{font-style:italic;color:var(--text-muted);font-size:.84rem;text-align:center;padding:14px;font-family:'Cormorant Garamond',serif;}
.q-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--gray-100);gap:12px;}
.q-item:last-child{border-bottom:none;}
.q-item-info strong{font-size:.8rem;color:var(--text-dark);display:block;margin-bottom:2px;}
.q-item-info small{font-size:.71rem;color:var(--text-muted);}
.q-item-total{font-family:'Playfair Display',serif;color:var(--gold);font-size:.95rem;white-space:nowrap;}
.q-total-line{text-align:right;margin-bottom:12px;font-size:1rem;font-family:'Playfair Display',serif;color:var(--text-dark);}
.q-total-line strong{color:var(--gold);}
.q-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.q-actions > *{min-width:0;}
.btn-wa{background:#25d366;color:#fff;}.btn-wa:hover{background:#1fb856;}
.btn-wa.is-disabled{opacity:.58;}
.pay-opts{border-top:1px solid var(--gray-200);padding-top:16px;}
.pay-opts h4{font-family:'Playfair Display',serif;font-size:.95rem;color:var(--text-dark);margin-bottom:10px;}
.pay-method{display:flex;align-items:center;gap:12px;}
.pay-method+.pay-method{margin-top:12px;}
.pay-icon{width:34px;height:34px;background:var(--gold-pale);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold);}
.pay-icon svg{width:17px;height:17px;}
.pay-info h5{font-size:.8rem;font-weight:600;color:var(--text-dark);}
.pay-info p{font-size:.76rem;color:var(--text-muted);margin-top:2px;}
.soon{font-size:.63rem;background:var(--gold-pale);color:var(--brown);padding:2px 8px;border-radius:100px;border:1px solid rgba(201,147,58,.3);display:inline-block;}
.pay-online-hint{margin-top:12px;font-size:.76rem;color:var(--text-muted);}
.pay-icon-card{background:rgba(201,147,58,.16);color:var(--brown);}
.pay-box{max-width:620px;}
.pay-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.pay-stat{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:14px;text-align:center;}
.pay-stat strong{display:block;font-family:'Playfair Display',serif;font-size:1.22rem;color:var(--gold);margin-bottom:4px;}
.pay-stat span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.pay-online-note{padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#fffaf1,#fff7ec);border:1px solid rgba(201,147,58,.2);font-size:.8rem;color:var(--text-mid);line-height:1.65;margin-bottom:14px;}
.pay-providers{margin-top:18px;}
.paypal-shell{border:1px solid var(--gray-200);border-radius:14px;padding:12px;background:var(--gray-50);}
.pay-unavailable{font-size:.78rem;color:var(--text-muted);line-height:1.6;}
.pay-status-line{font-size:.76rem;color:var(--text-muted);margin-top:10px;}
.pay-launch-btn[disabled]{opacity:.45;pointer-events:none;}
.flow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 14px;}
.flow-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:12px;text-align:center;}
.flow-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.08rem;color:var(--gold);margin-bottom:4px;}
.flow-card span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.flow-summary-note{font-size:.76rem;color:var(--text-muted);line-height:1.65;margin-bottom:8px;}
.remember-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;}
.remember-check{display:inline-flex;align-items:flex-start;gap:9px;font-size:.76rem;color:var(--text-mid);line-height:1.58;cursor:pointer;}
.remember-check input{margin-top:2px;accent-color:var(--gold);}
.remember-clear{background:none;color:var(--brown);font-size:.72rem;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:3px;}
.remember-clear:hover{color:var(--gold);}
.qb-side{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:20px;}
.qb-side h4{font-family:'Playfair Display',serif;font-size:.95rem;color:var(--text-dark);margin-bottom:12px;}
.q-guide{list-style:none;counter-reset:qs;display:flex;flex-direction:column;gap:11px;}
.q-guide li{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--text-mid);line-height:1.6;counter-increment:qs;}
.q-guide li::before{content:counter(qs);flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;font-size:.67rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.q-status{font-size:.78rem;color:var(--text-muted);font-style:italic;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100);}
/* Client modal */
.cn-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:1200;align-items:center;justify-content:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;
  padding-top:calc(20px + env(safe-area-inset-top));padding-right:calc(20px + env(safe-area-inset-right));
  padding-bottom:calc(20px + env(safe-area-inset-bottom));padding-left:calc(20px + env(safe-area-inset-left));}
.cn-modal.active{display:flex;}
.cn-box{background:var(--white);border-radius:var(--radius-lg);padding:32px;max-width:440px;width:min(100%,440px);
  max-height:min(calc(100dvh - 40px),760px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;box-shadow:var(--shadow);}
.cn-box h4{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--text-dark);margin-bottom:6px;}
.cn-box>p{font-size:.84rem;color:var(--text-muted);margin-bottom:18px;}
.ord-box{max-width:540px;}
.cn-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);display:block;margin-bottom:5px;margin-top:12px;}
.cn-input{width:100%;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;padding:11px 14px;color:var(--text-dark);font-size:.88rem;transition:border-color var(--tr);outline:none;}
.cn-input:focus{border-color:var(--gold);background:var(--white);}
.cn-box textarea.cn-input{resize:vertical;min-height:96px;}
.cn-error{font-size:.76rem;color:#ef4444;margin-top:7px;min-height:18px;}
.cn-actions{display:flex;gap:10px;margin-top:18px;justify-content:flex-end;}
.cn-actions > *,.form-row > *{min-width:0;}

/* FEATURED - light gray */
#featured{padding:100px 0;background:var(--gray-100);}
.feat-hdr{text-align:center;margin-bottom:52px;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feat-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--tr),box-shadow var(--tr);background:var(--white);}
.feat-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);}
.feat-card-img{aspect-ratio:4/3;overflow:hidden;position:relative;}
.feat-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(17,16,16,.18),transparent 58%);pointer-events:none;}
.feat-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--tr);filter:saturate(1.04) contrast(1.02);}
.feat-card:hover .feat-card-img img{transform:scale(1.05);}
.fc-badge{position:absolute;top:12px;right:12px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 11px;border-radius:100px;}
.feat-body{padding:20px 20px 24px;}
.fc-roast{font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.fc-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--text-dark);margin-bottom:7px;}
.fc-taste{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--text-mid);font-size:.92rem;margin-bottom:13px;line-height:1.55;}
.fc-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.fc-pack{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;}

/* WHY - light gray */
#why{padding:100px 0;background:var(--warm-50);}
.why-hdr{text-align:center;margin-bottom:56px;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.why-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);
  padding:28px 22px;text-align:center;transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-pale);}
.why-icon{width:58px;height:58px;background:var(--gold-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.4rem;color:var(--gold);transition:background var(--tr);}
.why-card:hover .why-icon{background:rgba(201,147,58,.2);}
.why-title{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--text-dark);margin-bottom:8px;}
.why-desc{font-size:.8rem;color:var(--text-muted);line-height:1.7;}

/* CORPORATE - white */
#corporate{padding:110px 0;background:var(--white);}
.corp-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.corp-img,.comm-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);position:relative;
  border:1px solid rgba(201,147,58,.14);background:var(--white);}
.corp-img{aspect-ratio:5/4;}
.corp-img img,.comm-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.03);transition:transform var(--tr);}
.corp-img img{object-position:center 58%;}
.corp-img:hover img,.comm-photo:hover img{transform:scale(1.03);}
.val-cards{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.val-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;transition:transform var(--tr),box-shadow var(--tr);}
.val-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.val-card h3{font-family:'Playfair Display',serif;font-size:.88rem;font-weight:700;color:var(--text-dark);margin-bottom:5px;}
.val-card p{font-size:.76rem;color:var(--text-muted);line-height:1.6;}

/* REUNION SUPPORT - premium community feature */
#reunion{padding:110px 0;background:
  linear-gradient(180deg,rgba(248,244,236,.95),rgba(255,255,255,.98) 52%,rgba(247,243,236,.92));}
.reunion-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;
  border:1px solid rgba(201,147,58,.18);border-radius:26px;padding:38px;background:
  linear-gradient(135deg,rgba(255,255,255,.96),rgba(252,248,240,.94));box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}
.reunion-shell::before{content:'';position:absolute;inset:0 58% 0 0;background:
  linear-gradient(135deg,rgba(26,23,20,.05),rgba(201,147,58,.07));pointer-events:none;}
.reunion-copy{position:relative;z-index:1;}
.reunion-text{font-size:.92rem;color:var(--text-mid);margin-top:14px;line-height:1.85;}
.reunion-meta{display:grid;grid-template-columns:1fr;gap:11px;margin-top:24px;}
.reunion-meta-item{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.76);
  border:1px solid rgba(201,147,58,.16);border-radius:12px;padding:13px 14px;box-shadow:0 10px 24px rgba(60,42,28,.04);}
.reunion-meta-item i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--gold-pale);color:var(--gold);flex-shrink:0;}
.reunion-meta-item span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.reunion-meta-item strong{display:block;font-family:'Playfair Display',serif;font-size:.96rem;color:var(--text-dark);line-height:1.25;}
.reunion-actions{margin-top:24px;display:flex;gap:11px;flex-wrap:wrap;}
.reunion-visual{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:14px;}
.reunion-hoodie-stage{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch;}
.reunion-hoodie-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(201,147,58,.18);
  box-shadow:0 22px 50px rgba(17,16,16,.14);min-height:430px;display:grid;grid-template-rows:1fr auto;}
.reunion-hoodie-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 50% 28%,rgba(201,147,58,.18),transparent 35%),
  linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.1));}
.hoodie-black{background:linear-gradient(180deg,#1a1715,#080807);}
.hoodie-white{background:linear-gradient(180deg,#fff,#f4efe7);}
.hoodie-tag{position:absolute;top:14px;left:14px;z-index:2;border-radius:100px;padding:6px 10px;font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.hoodie-black .hoodie-tag{background:rgba(201,147,58,.16);border:1px solid rgba(201,147,58,.34);color:#f3d28a;}
.hoodie-white .hoodie-tag{background:rgba(17,16,16,.06);border:1px solid rgba(17,16,16,.08);color:var(--brown);}
.hoodie-img-wrap{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;padding:48px 16px 6px;min-height:320px;}
.hoodie-img-wrap img{width:min(116%,360px);max-height:345px;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.28));transition:transform var(--tr);}
.reunion-hoodie-card:hover .hoodie-img-wrap img{transform:translateY(-4px) scale(1.02);}
.hoodie-card-foot{position:relative;z-index:1;padding:0 18px 20px;}
.hoodie-card-foot h3{font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:5px;}
.hoodie-card-foot p{font-size:.74rem;line-height:1.55;}
.hoodie-black .hoodie-card-foot h3{color:#fff;}
.hoodie-black .hoodie-card-foot p{color:rgba(255,255,255,.62);}
.hoodie-white .hoodie-card-foot h3{color:var(--text-dark);}
.hoodie-white .hoodie-card-foot p{color:var(--text-muted);}
.reunion-price-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--charcoal);
  color:#fff;border-radius:16px;padding:16px 18px;border:1px solid rgba(201,147,58,.4);box-shadow:0 16px 36px rgba(17,16,16,.16);}
.reunion-price-card span{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.reunion-price-card strong{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);line-height:1;}
.reunion-price-card small{font-size:.72rem;color:rgba(255,255,255,.66);text-align:right;}
.reunion-flyer-card{display:grid;grid-template-columns:86px 1fr;gap:13px;align-items:center;background:rgba(255,255,255,.86);
  border:1px solid rgba(201,147,58,.18);border-radius:16px;padding:10px;box-shadow:0 12px 28px rgba(60,42,28,.06);}
.reunion-flyer-card img{width:86px;height:86px;border-radius:11px;object-fit:cover;object-position:center;display:block;}
.reunion-flyer-card span{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
.reunion-flyer-card p{font-size:.76rem;color:var(--text-muted);line-height:1.55;}
.reunion-download{display:inline-flex;align-items:center;gap:7px;margin-top:9px;color:var(--brown);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:color var(--tr),transform var(--tr);}
.reunion-download i{color:var(--gold);}
.reunion-download:hover{color:var(--gold);transform:translateX(2px);}
.reunion-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;}
.reunion-feature{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:20px 18px;box-shadow:0 12px 26px rgba(60,42,28,.04);transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.reunion-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--gold-pale);}
.reunion-feature i{color:var(--gold);font-size:1.1rem;margin-bottom:12px;}
.reunion-feature h3{font-family:'Playfair Display',serif;font-size:.92rem;color:var(--text-dark);margin-bottom:5px;}
.reunion-feature p{font-size:.76rem;color:var(--text-muted);line-height:1.65;}

/* COMMUNITY - warm */
#community{padding:110px 0;background:var(--warm-100);}
.comm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.comm-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.comm-photo{aspect-ratio:4/5;transition:transform var(--tr),box-shadow var(--tr);}
.comm-photo:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.comm-photo:nth-child(1) img{object-position:42% center;}
.comm-photo:nth-child(2){margin-top:30px;}
.comm-photo:nth-child(2) img{object-position:center 26%;}

/* BREWING - white */
#brewing{padding:100px 0;background:var(--white);}
.brew-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.brew-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.brew-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px 15px;transition:transform var(--tr),box-shadow var(--tr);}
.brew-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.brew-card:nth-child(1){grid-column:1/-1;display:flex;gap:16px;align-items:center;}
.brew-icon{font-size:1.8rem;margin-bottom:9px;display:block;}
.brew-card:nth-child(1) .brew-icon{margin-bottom:0;}
.brew-lbl{font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.brew-val{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--text-dark);}
.brew-sub{font-size:.74rem;color:var(--text-muted);margin-top:2px;}
.brew-tips{margin-top:24px;display:flex;flex-direction:column;gap:14px;}
.tip{display:flex;gap:12px;align-items:flex-start;}
.tip-num{flex-shrink:0;width:25px;height:25px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700;margin-top:3px;}
.tip-txt{font-size:.86rem;color:var(--text-mid);line-height:1.65;}
.tip-txt strong{color:var(--text-dark);}

/* TESTIMONIALS - gray */
#testimonials{padding:100px 0;background:var(--gray-100);}
.testi-hdr{text-align:center;margin-bottom:48px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;}
.testi-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;transition:transform var(--tr),box-shadow var(--tr);}
.testi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.stars{color:var(--gold);font-size:.82rem;letter-spacing:2px;margin-bottom:11px;}
.testi-txt{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--text-mid);line-height:1.7;margin-bottom:15px;}
.testi-auth{display:flex;align-items:center;gap:11px;}
.t-av{width:36px;height:36px;border-radius:50%;background:var(--gold-pale);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--brown);font-family:'Playfair Display',serif;font-weight:700;}
.t-name{font-size:.8rem;font-weight:600;color:var(--text-dark);}
.t-role{font-size:.7rem;color:var(--text-muted);margin-top:1px;}
.trust-banner{background:var(--white);border:1px solid var(--gold-pale);border-radius:var(--radius-lg);
  padding:28px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:var(--shadow-sm);}
.trust-txt{font-family:'Playfair Display',serif;font-size:1.2rem;font-style:italic;color:var(--text-dark);}
.trust-badges{display:flex;gap:18px;flex-wrap:wrap;}
.t-badge{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-mid);}
.t-badge i{color:var(--gold);}

/* FAQ */
#faq{padding:100px 0;background:var(--white);}
.faq-hdr{text-align:center;margin-bottom:44px;}
.faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:box-shadow var(--tr);}
.faq-item:hover{box-shadow:var(--shadow-sm);}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;
  font-size:.88rem;font-weight:600;color:var(--text-dark);cursor:pointer;list-style:none;gap:14px;transition:color var(--tr);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.3rem;color:var(--gold);font-weight:300;flex-shrink:0;transition:transform var(--tr);}
.faq-item[open]{background:var(--white);}
.faq-item[open] summary{color:var(--brown);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 20px 16px;font-size:.86rem;color:var(--text-mid);line-height:1.75;}

/* CONTACT - warm gray */
#contact{padding:110px 0;background:var(--gray-50);}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;align-items:start;}
.ci-items{margin-top:26px;display:flex;flex-direction:column;gap:16px;}
.ci-item{display:flex;gap:12px;align-items:flex-start;}
.ci-icon{width:38px;height:38px;background:var(--gold-pale);border:1px solid rgba(201,147,58,.25);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.88rem;flex-shrink:0;}
.ci-lbl{font-size:.63rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.ci-val{font-size:.86rem;color:var(--text-dark);font-weight:500;line-height:1.55;}
.ci-val a{color:var(--text-dark);transition:color var(--tr);}
.ci-val a:hover{color:var(--gold);}
.bank-block{margin-top:22px;background:var(--warm-100);border:1px solid rgba(201,147,58,.2);border-radius:var(--radius);padding:18px;}
.bank-block h4{font-family:'Playfair Display',serif;font-size:.9rem;color:var(--text-dark);margin-bottom:12px;}
.bank-accounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bank-acc{background:var(--white);border-radius:7px;padding:12px;border:1px solid var(--gray-200);}
.bank-acc h5{font-size:.7rem;font-weight:700;color:var(--brown);margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em;}
.bank-acc p{font-size:.74rem;color:var(--text-mid);line-height:1.65;}
.c-social{display:flex;gap:9px;margin-top:20px;}
.c-soc{width:36px;height:36px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.88rem;transition:var(--tr);}
.c-soc:hover{background:var(--gold);color:#fff;border-color:var(--gold);}
.c-form-wrap{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);}
.form-ttl{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--text-dark);margin-bottom:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fg{margin-bottom:13px;}
.fg label{font-size:.69rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:7px;padding:11px 14px;color:var(--text-dark);font-size:.87rem;line-height:1.4;transition:border-color var(--tr);outline:none;}
.fg input::placeholder,.fg textarea::placeholder{color:var(--text-muted);}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);background:var(--white);}
.fg select{min-height:46px;}
.fg textarea{resize:vertical;min-height:100px;}
.form-note{font-size:.76rem;color:var(--text-muted);margin-top:6px;line-height:1.7;}
.form-note a{color:#25d366;font-weight:600;}
.form-sub{width:100%;justify-content:center;margin-top:5px;}

/* CART SIDEBAR */
.cart-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:1100;opacity:0;pointer-events:none;transition:opacity var(--tr);}
.cart-ov.open{opacity:1;pointer-events:all;}
.cart-sb{position:fixed;top:0;right:0;bottom:0;width:min(400px,100vw);height:100dvh;max-height:100dvh;background:var(--white);
  border-left:1px solid var(--gray-200);z-index:1101;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);box-shadow:-8px 0 40px rgba(0,0,0,.12);}
.cart-sb.open{transform:translateX(0);}
.cart-sb-hdr{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 16px;border-bottom:1px solid var(--gray-200);}
.cart-sb-hdr h3{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--text-dark);}
.cart-cl{background:var(--gray-100);color:var(--text-dark);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:var(--tr);}
.cart-cl:hover{background:var(--gray-200);}
.cart-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:16px 20px;}
.qb-items-box,.cn-box,.cart-list{scrollbar-width:thin;scrollbar-color:rgba(201,147,58,.55) transparent;}
.qb-items-box::-webkit-scrollbar,.cn-box::-webkit-scrollbar,.cart-list::-webkit-scrollbar{width:8px;}
.qb-items-box::-webkit-scrollbar-track,.cn-box::-webkit-scrollbar-track,.cart-list::-webkit-scrollbar-track{background:transparent;}
.qb-items-box::-webkit-scrollbar-thumb,.cn-box::-webkit-scrollbar-thumb,.cart-list::-webkit-scrollbar-thumb{background:rgba(201,147,58,.42);border-radius:999px;}
.qb-items-box::-webkit-scrollbar-thumb:hover,.cn-box::-webkit-scrollbar-thumb:hover,.cart-list::-webkit-scrollbar-thumb:hover{background:rgba(201,147,58,.62);}
.cart-empty-msg{text-align:center;padding:50px 0;color:var(--text-muted);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;}
.cart-empty-msg i{font-size:2.2rem;margin-bottom:12px;display:block;color:var(--gray-200);}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--gray-100);}
.cart-item-img{width:50px;height:50px;border-radius:7px;background:var(--warm-100);overflow:hidden;flex-shrink:0;}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1;}
.cart-item-name{font-size:.8rem;font-weight:600;color:var(--text-dark);line-height:1.35;margin-bottom:2px;}
.cart-item-sub{font-size:.7rem;color:var(--text-muted);}
.cart-item-btm{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.cart-item-price{font-family:'Playfair Display',serif;font-size:.9rem;color:var(--gold);}
.cart-item-rm{background:none;color:var(--text-muted);font-size:.82rem;transition:color var(--tr);}
.cart-item-rm:hover{color:#ef4444;}
.cart-footer-box{padding:18px 20px calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--gray-200);}
.cart-tot-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.cart-tot-row .lbl{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);}
.cart-tot-row .amt{font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--gold);}
.cart-checkout{width:100%;justify-content:center;margin-bottom:8px;}
.cart-wa-btn{width:100%;justify-content:center;background:#25d366;color:#fff;}
.cart-wa-btn:hover{background:#1fb856;}

/* FOOTER */
#footer{background:var(--charcoal);padding:68px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;padding-bottom:52px;}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.footer-logo-mark{width:56px;height:56px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;
  border:2px solid #fff;box-sizing:border-box;
  background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1),rgba(255,255,255,0) 58%);
  box-shadow:0 10px 24px rgba(0,0,0,.28);}
.footer-logo-img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 55%;position:relative;top:-10.5%;transform:scale(2.18);transform-origin:center;display:block;}
.footer-brand-copy{min-width:0;}
.fb-name{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:900;color:#fff;}
.fb-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.78rem;color:var(--gold);letter-spacing:.18em;margin-bottom:12px;}
.fb-desc{font-size:.8rem;color:rgba(245,237,224,.42);line-height:1.75;margin-bottom:20px;}
.soc-links{display:flex;gap:9px;}
.soc-lnk{width:36px;height:36px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:7px;display:flex;align-items:center;justify-content:center;color:rgba(245,237,224,.5);font-size:.88rem;transition:var(--tr);}
.soc-lnk:hover{background:var(--gold);color:#fff;border-color:var(--gold);}
.fc-title{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.ft-links{display:flex;flex-direction:column;gap:9px;}
.ft-links a{font-size:.8rem;color:rgba(245,237,224,.45);transition:color var(--tr);}
.ft-links a:hover{color:var(--gold-light);}
.fc-contacts{display:flex;flex-direction:column;gap:9px;}
.fci{display:flex;gap:9px;align-items:flex-start;}
.fci i{color:var(--gold);margin-top:3px;font-size:.78rem;flex-shrink:0;}
.fci p{font-size:.78rem;color:rgba(245,237,224,.45);line-height:1.5;}
.footer-btm{border-top:1px solid rgba(255,255,255,.07);padding:18px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-copy{font-size:.73rem;color:rgba(245,237,224,.28);}
.site-credit{font-size:.73rem;color:rgba(245,237,224,.28);transition:color var(--tr);}
.site-credit:hover{color:var(--gold);}
.site-credit strong{color:var(--gold-light);}

/* TOAST */
.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));right:calc(26px + env(safe-area-inset-right));background:var(--white);border:1px solid var(--gray-200);border-left:3px solid var(--gold);
  border-radius:9px;padding:13px 18px;display:flex;align-items:center;gap:11px;
  box-shadow:var(--shadow);z-index:2000;opacity:0;transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease;pointer-events:none;max-width:min(300px,calc(100vw - 20px - env(safe-area-inset-right)));z-index:2100;}
.toast.show{opacity:1;transform:translateY(0);}
.toast i{color:var(--gold);font-size:1rem;}
.toast span{font-size:.8rem;color:var(--text-dark);font-weight:500;line-height:1.4;}

/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}
.rv.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}.d5{transition-delay:.5s;}

/* RESPONSIVE */
@media(max-width:1100px){
  .nav-links{display:none;}
  .nav-right .cur-tog{display:none;}
  .hamburger{display:flex;}
  .nav-inner{height:114px;}
  .hero-img{--hero-top-clearance:114px;}
  .mob-nav{top:116px;left:16px;right:16px;padding:14px 18px 18px;border:1px solid rgba(201,147,58,.12);border-radius:20px;box-shadow:0 18px 36px rgba(0,0,0,.12);}
  .shop-top{align-items:flex-start;}
  .hero-body{max-width:560px;}
}
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr 1fr;}
  .green-info-panel{grid-template-columns:1fr;}
  .green-hero-card{grid-template-columns:1fr;gap:26px;min-height:0;background:
    linear-gradient(180deg,rgba(4,24,10,.9) 0%,rgba(6,34,15,.8) 52%,rgba(6,34,15,.22) 100%),
    url('../../images/highlands.jpg') center/cover no-repeat;}
  .green-hero-beans{justify-self:start;width:min(100%,420px);}
  .green-proof-strip{max-width:760px;grid-template-columns:repeat(2,minmax(0,1fr));}
  .packaging-showcase{padding:28px;}
  .qb-layout{grid-template-columns:1fr;}
  .rcat-cols{grid-template-columns:1fr;}
  #quote-builder{padding:30px;}
  .reunion-shell{grid-template-columns:1fr;gap:30px;}
  .reunion-shell::before{inset:0 0 48% 0;}
  .reunion-hoodie-card{min-height:400px;}
  .hoodie-img-wrap{min-height:292px;}
  .reunion-feature-grid{grid-template-columns:repeat(2,1fr);}
  .trust-banner{padding:24px 28px;}
}
@media(max-width:768px){
  .nav-inner{height:98px;}
  .nav-logo{gap:8px;}
  .nav-logo-mark{width:78px;height:78px;}
  #nav.top .nav-logo-mark,#nav.stuck .nav-logo-mark{--logo-drop:0px;}
  .nav-logo-img{padding:0;box-shadow:0 14px 28px rgba(0,0,0,.22);}
  .nav-brand{gap:1px;padding-top:0;}
  .nav-brand-name{font-size:1.04rem;}
  .nav-brand-tag{font-size:.58rem;letter-spacing:.14em;}
  .pl-wrap{width:186px;height:186px;}
  .pl-logo{width:134px;height:134px;top:26px;left:26px;}
  .pl-text{font-size:1.82rem;}
  .pl-tagline{font-size:1rem;letter-spacing:.18em;}
  .pl-bar{width:176px;}
  .mob-nav{top:100px;left:12px;right:12px;padding:14px 14px 16px;border-radius:16px;}
  .shop-actions{width:auto;max-width:100%;justify-content:center;margin:0 auto;}
  .shop-actions .btn,.shop-actions>a{flex:0 0 auto;}
  .mob-nav a{font-size:.74rem;padding:9px 0;}
  .mob-nav .btn{margin-top:10px;}
  .about-grid,.brew-grid,.contact-grid,.corp-grid,.comm-grid,.coffee-inner{grid-template-columns:1fr;gap:36px;}
  .feat-grid,.why-grid,.testi-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-brand{gap:10px;}
  .footer-logo-mark{width:52px;height:52px;}
  .trust-banner{flex-direction:column;text-align:center;padding:22px;}
  .form-row{grid-template-columns:1fr;}
  .c-form-wrap,.cn-box,#quote-builder{padding:22px;}
  .cn-modal{padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));align-items:flex-start;}
  .cn-box{width:min(100%,680px);max-height:calc(100dvh - 24px);margin:auto 0;}
  .qb-items-box{max-height:260px;}
  .cn-input,.fg input,.fg select,.fg textarea{font-size:16px;}
  .cn-actions{flex-direction:column;align-items:stretch;}
  .cn-actions .btn{width:100%;justify-content:center;}
  .flow-summary{grid-template-columns:1fr;}
  .remember-row{flex-direction:column;align-items:flex-start;}
  .reunion-shell{padding:24px;border-radius:22px;}
  .reunion-meta-item{align-items:flex-start;}
  .reunion-actions{display:grid;grid-template-columns:1fr;}
  .reunion-actions .btn{width:100%;justify-content:center;}
  .reunion-hoodie-stage{grid-template-columns:1fr;}
  .reunion-hoodie-card{min-height:390px;}
  .hoodie-img-wrap{min-height:292px;padding-top:44px;}
  .hoodie-img-wrap img{width:min(104%,340px);max-height:320px;}
  .reunion-price-card{align-items:flex-start;flex-direction:column;}
  .reunion-price-card small{text-align:left;}
  .reunion-feature-grid{grid-template-columns:1fr;}
  .bank-block{padding:16px;}
  .bank-acc{padding:14px;}
  .ci-item{gap:10px;}
  .ci-icon{width:34px;height:34px;}
  .brew-cards{grid-template-columns:1fr;}
  .brew-card:nth-child(1){flex-direction:column;align-items:flex-start;}
  .qb-progress{display:grid;grid-template-columns:1fr;}
  .qb-step+.qb-step{border-left:none;border-top:1px solid var(--gray-200);}
  .qb-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .qb-stat:last-child{grid-column:1/-1;}
  .q-total-line{text-align:left;}
  .q-actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .q-actions .btn,.q-actions a{width:100%;justify-content:center;}
  .bank-accounts{grid-template-columns:1fr;}
  .val-cards{grid-template-columns:1fr;}
  .pay-summary{grid-template-columns:1fr;}
  .intro-strip-inner{grid-template-columns:1fr;}
  .intro-pill{padding:28px 22px;border-right:none;border-bottom:1px solid var(--gray-200);}
  .intro-pill:last-child{border-bottom:none;}
  .packaging-showcase{padding:22px;gap:20px;border-radius:22px;}
  .packaging-shot{min-height:340px;padding:20px 12px 8px;}
  .packaging-shot img{width:min(92%,320px);max-width:calc(100% - 16px);max-height:320px;transform:none;}
  .packaging-card.black .packaging-shot img{width:min(94%,350px);max-width:calc(100% - 16px);}
  .packaging-card{grid-template-rows:minmax(340px,auto) auto;}
  .shop-filter-guide{padding:18px;border-radius:18px;}
  .shop-filter-steps{gap:7px;}
  .shop-filter-step{font-size:.66rem;padding:6px 9px;}
  .roast-nav{grid-template-columns:1fr;gap:10px;padding:10px;border-radius:20px;}
  .rnav-btn{min-height:auto;padding:16px 18px;align-items:center;}
  .rnav-note{max-width:none;}
  .about-img-wrap{padding:0 18px 18px 0;}
  .about-float-img{width:142px;height:176px;right:0;bottom:-8px;}
  .coffee-imgs-stack{grid-template-columns:1fr;gap:12px;}
  .coffee-img-a,.coffee-img-b{aspect-ratio:4/3;}
  .coffee-img-b{display:block;margin-top:0;}
  .coffee-stats{gap:16px;justify-content:space-between;}
  .coffee-stat{min-width:0;flex:1 1 0;}
  .green-hero-card{border-radius:22px;padding:26px 20px;}
  .green-hero-card::after{inset:12px;border-radius:16px;}
  .green-hero-copy h2{font-size:clamp(2rem,10vw,3rem);margin-top:4px;}
  .green-hero-lead{font-size:1.08rem;}
  .green-hero-list{grid-template-columns:1fr;gap:9px;}
  .green-hero-list p{font-size:.86rem;align-items:flex-start;padding:10px 11px;}
  .green-hero-list i{width:38px;height:38px;font-size:.92rem;}
  .green-hero-beans{border-radius:20px;padding:7px;}
  .green-hero-beans img{border-radius:14px;}
  .green-info-copy{padding:22px;border-radius:18px;}
  .green-buyer-grid{grid-template-columns:1fr;}
  .green-actions{flex-direction:column;align-items:stretch;}
  .green-actions .btn{width:100%;justify-content:center;}
  .green-proof-strip{gap:16px;}
  .green-proof img{width:min(100%,160px);}
  .pcard-inner{flex-direction:column;align-items:stretch;}
  .pcard-thumb{width:100%;height:220px;}
  .pcard-body{padding-bottom:14px;}
  .pcard-right{width:100%;padding:14px 16px 16px;border-top:1px solid var(--gray-100);flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;text-align:center;}
  .pcard-price{font-size:1.25rem;}
  .pcard-actions{margin-left:0;}
  .comm-photo:nth-child(2){margin-top:0;}
  #hero{height:auto;min-height:0;display:block;background:var(--charcoal);padding-top:98px;}
  .hero-img{position:relative;inset:auto;height:clamp(340px,60vh,560px);--hero-top-clearance:0px;}
  .hero-overlay{display:none;}
  .hero-body{max-width:100%;padding:26px 0 8px;margin-top:0;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .hero-eyebrow{justify-content:center;}
  .hero-eyebrow::before{display:none;}
  .hero-h1{font-size:clamp(2.35rem,9vw,3.4rem);}
  .hero-desc{display:block;font-size:1rem;max-width:32ch;margin:0 auto 24px;}
  .hero-actions{width:100%;flex-direction:column;align-items:center;}
  .hero-actions .btn{width:min(100%,340px);justify-content:center;}
  .hero-actions{padding-bottom:0;}
  .hero-scroll-hint{display:none;}
  .toast{left:16px;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:none;}
  .wa-tab{right:0;top:clamp(108px,18vh,142px);bottom:auto;transform:none;}
  .wa-tab-btn{border-radius:12px 0 0 12px;}
  .wa-tab-panel{position:fixed;width:min(336px,calc(100vw - 24px));max-height:min(68dvh,540px);left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%) scale(.98);}
  .wa-tab.open .wa-tab-panel{transform:translate(-50%,-50%) scale(1);}
  .cart-sb{width:min(430px,100vw);}
}
@media(max-width:480px){
  .nav-inner{height:92px;}
  .nav-logo-mark{width:68px;height:68px;}
  #nav.top .nav-logo-mark,#nav.stuck .nav-logo-mark{--logo-drop:0px;}
  .nav-brand{padding-top:0;}
  .nav-brand-name{font-size:.96rem;}
  .nav-brand-tag{font-size:.54rem;}
  .mob-nav{top:94px;}
  #hero{padding-top:92px;}
  .hero-img{height:clamp(320px,56vh,460px);}
  .hero-body{padding-top:22px;margin-top:0;}
  .hero-h1{font-size:2.05rem;}
  .hero-desc{font-size:.96rem;line-height:1.55;}
  .hero-actions{padding-bottom:0;}
  .shop-actions{flex-direction:row;align-items:center;justify-content:center;}
  .shop-actions .btn,.shop-actions>a{width:auto;flex:0 0 auto;}
  .pay-box{padding:22px;}
  .packaging-showcase{padding:18px;gap:18px;}
  .packaging-visuals{grid-template-columns:1fr;}
  .packaging-card{grid-template-rows:minmax(320px,auto) auto;}
  .packaging-shot{min-height:320px;padding:18px 10px 8px;}
  .packaging-shot img{width:min(92%,300px);max-width:calc(100% - 14px);max-height:300px;transform:none;}
  .packaging-card.black .packaging-shot img{width:min(94%,330px);max-width:calc(100% - 14px);}
  .pl-wrap{width:166px;height:166px;}
  .pl-logo{width:118px;height:118px;top:24px;left:24px;}
  .pl-text{font-size:1.52rem;letter-spacing:.04em;}
  .pl-tagline{font-size:.9rem;letter-spacing:.14em;}
  .pl-bar{width:156px;}
  .qb-stats{grid-template-columns:1fr;}
  .qb-stat:last-child{grid-column:auto;}
  .q-actions{flex-direction:column;}
  .q-actions .btn{justify-content:center;width:100%;}
  .pay-summary{grid-template-columns:1fr;}
  .pcard-right{flex-direction:row;align-items:center;justify-content:center;}
  .pcard-actions{margin-left:0;width:auto;}
  .pcard-actions .btn{flex:0 0 auto;justify-content:center;}
  .qty-row{align-self:auto;}
  .comm-gallery{grid-template-columns:1fr;}
  .comm-photo{aspect-ratio:5/4;}
  .trust-banner{padding:20px 18px;}
  .footer-brand{align-items:flex-start;}
  .footer-logo-mark{width:48px;height:48px;}
  .c-form-wrap,.cn-box,#quote-builder{padding:20px;}
  .cn-box{border-radius:16px;max-height:calc(100dvh - 16px);}
  .wa-tab-panel{width:min(320px,calc(100vw - 16px));max-height:min(64dvh,500px);left:50%;right:auto;}
  .shop-filter-guide{padding:16px 14px;}
  .shop-filter-guide-head h3{font-size:1.12rem;}
  .shop-filter-lead{font-size:.8rem;}
  .shop-filter-steps{gap:6px;}
  .shop-filter-step{font-size:.62rem;padding:5px 8px;gap:6px;}
  .shop-filter-step i{font-size:.66rem;}
  .wa-filter-intro{padding:9px;gap:7px;}
  .wa-filter-help{font-size:.67rem;}
  .wa-roast-card{padding:7px;}
  .wa-roast-name{font-size:.7rem;}
  .wa-roast-copy{font-size:.62rem;}
  .wa-filter-wrap{padding:9px;}
  .wa-matrix-head{display:none;}
  .wa-matrix-row{grid-template-columns:1fr;gap:7px;padding:8px;}
  .wa-matrix-label{font-size:.66rem;padding-left:0;}
  .wa-matrix-size{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border:1px solid rgba(29,168,81,.24);border-radius:7px;background:#fbfefd;}
  .wa-size-label{display:inline-block;font-size:.58rem;letter-spacing:.09em;}
  .wa-volume-stepper{grid-template-columns:1fr;grid-template-rows:repeat(3,auto);gap:4px;}
  .wa-qty-btn{width:24px;height:24px;font-size:.84rem;}
  .wa-qty-val{font-size:.7rem;min-width:24px;padding:2px 4px;}
  .wa-tab-total{padding:8px 9px;}
  .wa-tab-total-label{font-size:.58rem;}
  .wa-tab-total-value{font-size:.84rem;}
  .wa-tab-total-note{font-size:.64rem;}
  .cart-sb-hdr,.cart-list,.cart-footer-box{padding-left:16px;padding-right:16px;}
  .cart-sb{width:100vw;border-left:none;}
  .footer-btm{justify-content:flex-start;}
  .rcat-cols{grid-template-columns:1fr;}
}
@media(max-width:390px){
  .c-form-wrap,.cn-box,#quote-builder,.pay-box{padding:18px;}
  .cn-modal{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));}
  .cn-box{max-height:calc(100dvh - 16px);}
  .wa-tab-panel{width:min(302px,calc(100vw - 10px));max-height:min(60dvh,470px);left:50%;right:auto;}
  .wa-filter-intro{padding:8px;gap:6px;}
  .wa-filter-help{font-size:.64rem;line-height:1.4;}
  .wa-roast-kicker{font-size:.54rem;}
  .wa-roast-name{font-size:.68rem;}
  .wa-roast-copy{font-size:.61rem;}
  .wa-filter-wrap{padding:8px;}
  .wa-filter-title{font-size:.58rem;margin-bottom:6px;}
  .wa-matrix-row{padding:7px;gap:6px;}
  .wa-matrix-label{font-size:.63rem;}
  .wa-matrix-size{padding:5px 6px;gap:7px;}
  .wa-size-label{font-size:.56rem;}
  .wa-qty-btn{width:23px;height:23px;font-size:.8rem;}
  .wa-qty-val{font-size:.68rem;padding:2px 3px;}
  .wa-tab-total-value{font-size:.8rem;}
  .wa-tab-total-note{font-size:.62rem;line-height:1.4;}
  .qb-items-box{padding:14px;max-height:240px;}
  .qb-step{padding:10px 12px;gap:8px;align-items:flex-start;}
  .qb-step .num{width:24px;height:24px;font-size:.7rem;}
  .qb-step p{font-size:.7rem;line-height:1.35;}
  .qb-stat,.pay-stat{padding:12px 10px;}
  .qb-stat strong{font-size:1.32rem;}
  .pay-stat strong{font-size:1.12rem;}
  .qb-stat span,.pay-stat span{font-size:.62rem;letter-spacing:.08em;}
  .q-item{flex-direction:column;gap:6px;}
  .q-item-total{font-size:.9rem;}
  .q-total-line{font-size:.94rem;}
  .q-actions .btn,.q-actions a,.cn-actions .btn,.cart-checkout,.cart-wa-btn{padding:10px 14px;font-size:.68rem;line-height:1.35;}
  .cn-label,.fg label{font-size:.64rem;letter-spacing:.08em;}
  .pay-online-note,.pay-status-line,.form-note,.flow-summary-note,.remember-check{font-size:.74rem;line-height:1.6;}
  .flow-card{padding:10px;}
  .flow-card strong{font-size:1rem;}
  .bank-acc p,.ci-val{font-size:.8rem;}
  .cart-tot-row .amt{font-size:1.26rem;}
  .cart-footer-box{padding:16px 14px 20px;}
}
@media(max-width:320px){
  .cn-modal{padding:calc(6px + env(safe-area-inset-top)) calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left));}
  .cn-box,.pay-box{padding:14px;}
  .cn-box{border-radius:14px;max-height:calc(100dvh - 12px);}
  .cn-box h4{font-size:1.06rem;line-height:1.2;}
  .cn-box>p{font-size:.76rem;margin-bottom:12px;}
  .form-row{gap:10px;}
  .cn-actions{gap:8px;}
  .cn-actions .btn,.cart-checkout,.cart-wa-btn{padding:9px 12px;font-size:.66rem;line-height:1.3;}
  .cn-input,.wa-tab-input,.wa-tab-msg,.fg input,.fg select,.fg textarea{padding:10px 11px;font-size:16px;}
  .wa-tab{top:106px;}
  .wa-tab-btn{padding:10px 11px;font-size:.62rem;gap:6px;}
  .wa-tab-btn i{font-size:.92rem;}
  .wa-tab-head{padding:10px 11px;}
  .wa-tab-title{font-size:.66rem;}
  .wa-tab-sub{font-size:.66rem;}
  .wa-tab-form{padding:10px;gap:7px;}
  .wa-tab-panel{width:min(286px,calc(100vw - 6px));max-height:min(56dvh,420px);left:50%;right:auto;}
  .wa-filter-help{font-size:.62rem;}
  .wa-roast-name{font-size:.66rem;}
  .wa-roast-copy{font-size:.6rem;}
  .wa-matrix-row{padding:6px;gap:5px;}
  .wa-matrix-label{font-size:.61rem;}
  .wa-matrix-size{padding:4px 5px;gap:6px;}
  .wa-size-label{font-size:.54rem;}
  .wa-volume-stepper{grid-template-columns:1fr;grid-template-rows:repeat(3,auto);gap:3px;}
  .wa-qty-btn{width:22px;height:22px;font-size:.78rem;}
  .wa-qty-val{font-size:.66rem;min-width:22px;padding:1px 3px;}
  .wa-tab-total{padding:7px 8px;}
  .wa-tab-total-label{font-size:.55rem;}
  .wa-tab-total-value{font-size:.76rem;}
  .wa-tab-total-note{font-size:.6rem;}
  .wa-tab-send{padding:10px 12px;font-size:.63rem;}
  .cart-sb-hdr{padding:14px 12px;}
  .cart-sb-hdr h3{font-size:1.05rem;}
  .cart-list{padding:12px;}
  .cart-footer-box{padding:12px 12px calc(16px + env(safe-area-inset-bottom));}
  .cart-tot-row .amt{font-size:1.12rem;}
  .toast{left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));padding:10px 12px;}
}
