:root{
  --green-900:#2d6a1a; --green-800:#3a7f22; --green-700:#4a952c; --green-600:#5aa12f;
  --leaf:#6dba3a; --leaf-bright:#84cc4a; --gold:#c19a3e; --gold-soft:#d8b864;
  --cream:#f2fbec; --cream-2:#e6f5dc; --card:#f7fdf2; --paper:#f0faeb;
  --ink:#1a3010; --muted:#4a6b38; --line:#c8e8b0; --rajma:#7a2f2a; --amber:#b8720c;
  --shadow:0 10px 30px -12px rgba(45,106,26,.22); --shadow-sm:0 4px 14px -8px rgba(45,106,26,.22);
  --r:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Make content fit narrow screens rather than forcing the page sideways.
   No overflow:hidden/clip here on purpose — that would cut content off
   instead of reflowing it. */
html,body{max-width:100%}
table{max-width:100%}
/* Long unbroken strings (emails, URLs, order IDs) are a common cause of a
   page scrolling sideways on phones: they can't wrap, so they push the
   layout wider. Let them break instead. */
body{overflow-wrap:break-word}
img,video,canvas,svg{max-width:100%;height:auto}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:"Mulish",system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 12% -5%,rgba(109,186,58,.14),transparent 40%),radial-gradient(circle at 92% 0%,rgba(193,154,62,.08),transparent 38%);
}
h1,h2,h3,h4{font-family:"Fraunces",serif;font-weight:600;line-height:1.12;margin:0;color:var(--green-900)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.eyebrow{font-family:"Mulish";font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--leaf)}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- HEADER ---------- */
.topbar{background:var(--green-700);color:#e0f5cc;font-size:12.5px;letter-spacing:.04em;text-align:center;padding:7px 12px}
.topbar b{color:#fff;font-weight:700}
header{position:sticky;top:0;z-index:50;background:rgba(250,247,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:18px;padding:13px 0}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:50px;height:50px;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.brand .bn{font-family:"Fraunces";font-weight:700;font-size:21px;color:var(--green-800);line-height:1}
.brand .bt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf);font-weight:700;margin-top:3px}
.search{flex:1;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:40px;padding:9px 16px;transition:.2s}
.search:focus-within{border-color:var(--leaf);box-shadow:0 0 0 4px rgba(122,189,63,.14)}
.search svg{flex-shrink:0;color:var(--muted)}
.search input{border:none;outline:none;width:100%;font-size:15px;background:none;color:var(--ink)}
.icons{display:flex;align-items:center;gap:6px;flex-shrink:0}
.iconbtn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 9px;border-radius:12px;color:var(--green-800);transition:.18s;font-size:10.5px;font-weight:700;letter-spacing:.02em}
.iconbtn:hover{background:rgba(122,189,63,.14)}
.iconbtn svg{width:23px;height:23px}
.badge{position:absolute;top:0;right:3px;background:var(--rajma);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.badge:empty,.badge[data-c="0"]{display:none}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:#111;color:#f0fbea;border-radius:0 0 34px 34px}
.hero .wrap{padding:54px 22px 60px;position:relative;z-index:2}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}
.hero-slide.active{opacity:1;animation:kenburns 7s ease forwards}
@keyframes kenburns{from{transform:scale(1.09)}to{transform:scale(1)}}
.hero-tint{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.38) 55%,rgba(0,0,0,.18) 100%)}
.hero h1,.hero p{text-shadow:0 1px 12px rgba(8,28,12,.35)}
.hero .eyebrow{color:var(--gold-soft)}
.hero h1{color:#fff;font-size:clamp(34px,5vw,58px);font-weight:600;margin:14px 0 16px;max-width:16ch}
.hero h1 em{font-style:italic;color:var(--leaf-bright)}
.hero p{max-width:48ch;color:#d8e7c8;font-size:17px;margin:0 0 26px}
.hero-cta{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#2a2007;font-weight:800;padding:14px 26px;border-radius:40px;letter-spacing:.02em;transition:.2s;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.hero-cta:hover{transform:translateY(-2px);background:var(--gold-soft)}
.hero-deco{position:absolute;right:-60px;bottom:-80px;width:460px;height:460px;border-radius:50%;border:2px solid rgba(255,255,255,.12);z-index:1}
.hero-deco:before{content:"";position:absolute;inset:46px;border-radius:50%;border:2px solid rgba(255,255,255,.10)}
.hero-stats{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap}
.hero-stats div b{font-family:"Fraunces";font-size:30px;color:#fff;display:block;font-weight:600}
.hero-stats div span{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);font-weight:700}

/* ---------- SECTION ---------- */
section{padding:62px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 40px}
.sec-head h2{font-size:clamp(28px,3.6vw,40px);margin:10px 0 8px}
.sec-head p{color:var(--muted);margin:0}

/* ---------- CATEGORIES ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cat{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/3.4;cursor:pointer;box-shadow:var(--shadow);background:var(--green-800);padding:9px;box-sizing:border-box}
.cat img{width:100%;height:100%;object-fit:cover;transition:.6s;border-radius:16px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.cat:hover img{transform:scale(1.07)}
.cat-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,30,12,.86) 8%,rgba(10,30,12,.12) 55%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.cat-ov h3{color:#fff;font-size:27px}
.cat-ov span{color:#cfe3b8;font-size:13.5px;font-weight:600;margin-top:3px}
.cat-ov .go{margin-top:12px;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:13px;padding:8px 16px;border-radius:30px;backdrop-filter:blur(4px);transition:.2s}
.cat:hover .go{background:var(--gold);color:#2a2007;border-color:var(--gold)}

/* ---------- AI HEALTH ADVISOR ---------- */
.adv-fab{position:fixed;bottom:24px;right:24px;z-index:80;display:flex;align-items:center;gap:10px;background:var(--green-800);color:#fff;border-radius:50px;padding:14px 20px 14px 14px;box-shadow:0 14px 30px -10px rgba(45,106,26,.45);transition:.25s;font-weight:700;font-size:14px}
.wa-fab{position:fixed;bottom:96px;right:24px;z-index:80;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;box-shadow:0 14px 30px -10px rgba(37,211,102,.55);transition:.25s;text-decoration:none}
.wa-fab:hover{transform:translateY(-3px);background:#1ebe5a}
.wa-fab svg{width:30px;height:30px}
@media (max-width:640px){.wa-fab{bottom:86px;right:14px;width:50px;height:50px}.wa-fab svg{width:26px;height:26px}}
.adv-fab:hover{transform:translateY(-3px);background:var(--green-900)}
.adv-fab .ic{width:38px;height:38px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;position:relative}
.adv-fab .dot{position:absolute;top:-3px;right:-3px;width:13px;height:13px;border-radius:50%;background:#ff5252;border:2px solid var(--cream);animation:advping 1.8s infinite}
@keyframes advping{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.adm-icon-btn.pulse{animation:btnpulse 1.4s infinite;box-shadow:0 0 0 rgba(184,134,11,.5)}
@keyframes btnpulse{0%{box-shadow:0 0 0 0 rgba(184,134,11,.5)}70%{box-shadow:0 0 0 8px rgba(184,134,11,0)}100%{box-shadow:0 0 0 0 rgba(184,134,11,0)}}
.adv-panel{position:fixed;bottom:24px;right:24px;z-index:90;width:400px;max-width:92vw;max-height:82vh;background:var(--card);border-radius:22px;box-shadow:0 24px 60px -18px rgba(20,40,10,.4);border:1px solid var(--line);display:none;flex-direction:column;overflow:hidden}
.adv-panel.open{display:flex;animation:advrise .25s ease}
@keyframes advrise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.adv-head{background:linear-gradient(120deg,var(--green-800),var(--green-700));color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0}
.adv-head .ic{width:38px;height:38px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.adv-head .t b{display:block;font-family:"Fraunces";font-size:15.5px}
.adv-head .t span{font-size:11.5px;color:#d8e7c8;letter-spacing:.02em}
.adv-head .x{margin-left:auto;color:#e0f5cc;font-size:18px;opacity:.85;cursor:pointer}
.adv-head .x:hover{opacity:1}
.adv-body{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;background:var(--paper);min-height:0}
.adv-msg{max-width:88%;font-size:14px;line-height:1.5;padding:10px 13px;border-radius:14px;animation:advrise .2s ease;white-space:pre-wrap}
.adv-msg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px;align-self:flex-start}
.adv-msg.user{background:var(--green-700);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.adv-msg.err{background:#fff3f1;border:1px solid #f3c9c0;color:#8a3a2a;align-self:flex-start}
.adv-opts{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:100%}
.adv-opt{background:#fff;border:1.5px solid var(--leaf);color:var(--green-800);font-weight:700;font-size:12.5px;padding:8px 13px;border-radius:30px;transition:.15s}
.adv-opt:hover{background:var(--leaf);color:#fff}
.adv-bundle{background:#fff;border:1.5px solid var(--gold-soft);border-radius:16px;padding:12px;align-self:stretch;display:flex;flex-direction:column;gap:8px}
.adv-bundle h4{font-size:13.5px;color:var(--green-900);display:flex;align-items:center;gap:6px;margin:0}
.adv-bitem{display:flex;align-items:center;gap:9px;font-size:12.5px}
.adv-bitem img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0}
.adv-bitem .nm{font-weight:700;color:var(--ink)}
.adv-bitem .why{color:var(--muted);font-size:11px}
.adv-bundle .badd{margin-top:4px;background:var(--gold);color:#2a2007;font-weight:800;font-size:12.5px;padding:9px;border-radius:30px;text-align:center;cursor:pointer}
.adv-bundle .badd:hover{background:var(--gold-soft)}
.adv-foot{padding:9px 14px;border-top:1px solid var(--line);background:#fff;font-size:10px;color:var(--muted);text-align:center;flex-shrink:0}
.adv-typing span{display:inline-block;width:6px;height:6px;background:var(--leaf);border-radius:50%;margin-right:3px;animation:advtype 1s infinite}
.adv-typing span:nth-child(2){animation-delay:.15s}.adv-typing span:nth-child(3){animation-delay:.3s}
@keyframes advtype{0%,80%,100%{opacity:.25}40%{opacity:1}}
.adv-quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 10px;flex-shrink:0}
.adv-quick button{background:#fff;border:1.5px solid var(--line);color:var(--green-800);font-weight:700;font-size:11.5px;padding:6px 11px;border-radius:30px;transition:.15s;cursor:pointer}
.adv-quick button:hover{border-color:var(--leaf);background:var(--paper)}
.adv-quick button:disabled{opacity:.45;cursor:not-allowed}
.adv-inputbar{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}
.adv-inputbar textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:18px;padding:10px 15px;font-size:13.5px;font-family:"Mulish";outline:none;max-height:90px;line-height:1.4}
.adv-inputbar textarea:focus{border-color:var(--leaf)}
.adv-send{background:var(--green-700);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.18s}
.adv-send:hover{background:var(--green-900)}
.adv-send:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:480px){
  .adv-panel{right:8px;left:8px;bottom:14px;width:auto;max-width:none;max-height:88vh}
  .adv-fab{right:14px;bottom:14px}
  .adv-fab .lbl{display:none}
  .adv-fab{padding:14px}
}
/* ═══════════════════════════════════════════

   
   ═══════════════════════════════════════════ */
#admin-portal{display:none;position:fixed;inset:0;z-index:99999;background:var(--ink);overflow-y:auto;font-family:"Mulish",sans-serif}
#admin-portal.open{display:block}

/* LOGIN SCREEN */
.adm-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 30%,rgba(193,154,62,.10) 0%,transparent 60%),linear-gradient(160deg,var(--green-900),#0e1f08)}
.adm-login-box{width:400px;max-width:92vw;padding:42px 38px;background:#10220a;border:1px solid rgba(193,154,62,.25);border-radius:18px;position:relative;box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
.adm-login-box::before{content:'';position:absolute;top:-1px;left:2.2rem;right:2.2rem;height:2px;background:var(--gold);border-radius:2px}
.adm-lock-icon{text-align:center;font-size:30px;margin-bottom:14px}
.adm-logo{font-family:"Fraunces",serif;font-style:italic;font-size:26px;color:var(--gold-soft);text-align:center;margin-bottom:2px}
.adm-logo-sub{font-size:10.5px;letter-spacing:.4em;text-transform:uppercase;color:rgba(216,184,100,.55);text-align:center;margin-bottom:30px}
.adm-field{margin-bottom:18px}
.adm-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);display:block;margin-bottom:7px;font-weight:700}
.adm-input{width:100%;background:rgba(255,255,255,.04);border:1.5px solid rgba(193,154,62,.25);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14.5px;color:#f2fbec;outline:none;transition:border-color .25s}
.adm-input:focus{border-color:var(--gold)}
.adm-input::placeholder{color:rgba(242,251,236,.25)}
.adm-login-btn{width:100%;background:var(--gold);border:none;color:#2a2007;font-family:inherit;font-size:13.5px;letter-spacing:.04em;font-weight:800;border-radius:10px;padding:13px;cursor:pointer;transition:.2s;margin-top:6px}
.adm-login-btn:hover{background:var(--gold-soft)}
.adm-error{font-size:12.5px;color:#ff8a7a;text-align:center;margin-top:12px;min-height:16px;font-weight:600}
.adm-hint{font-size:11px;color:rgba(216,184,100,.4);text-align:center;margin-top:16px}

/* DASHBOARD */
.adm-dash{display:none;min-height:100vh;background:var(--cream)}
.adm-dash.visible{display:block}
.adm-topbar{--adm-topbar-h:60px;background:var(--green-900);border-bottom:1px solid rgba(193,154,62,.2);padding:14px 26px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.adm-topbar-logo{font-family:"Fraunces",serif;font-style:italic;color:var(--gold-soft);font-size:19px;display:flex;align-items:center;gap:10px}
.adm-topbar-logo small{font-size:11px;font-style:normal;letter-spacing:.16em;color:rgba(216,184,100,.55);font-family:"Mulish";text-transform:uppercase;font-weight:700}
.adm-topbar-right{display:flex;align-items:center;gap:16px}
.adm-user-badge{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);background:rgba(193,154,62,.12);padding:6px 14px;border-radius:30px;border:1px solid rgba(193,154,62,.25);font-weight:700}
.adm-logout{font-size:12.5px;letter-spacing:.04em;color:rgba(240,251,234,.65);background:rgba(255,255,255,.08);border:none;border-radius:30px;cursor:pointer;transition:.2s;font-family:inherit;font-weight:700;padding:8px 16px}
.adm-logout:hover{background:rgba(255,255,255,.18);color:#fff}
.adm-body{display:grid;grid-template-columns:215px 1fr;min-height:calc(100vh - 60px)}
/* The nav used to scroll away with the content, so switching tabs meant
   scrolling back to the top every time. It now sticks below the topbar
   and, if the menu is taller than the screen, scrolls on its own. */
.adm-sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 0;
  position:sticky;top:60px;align-self:start;
  height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin}
.adm-sidebar::-webkit-scrollbar{width:5px}
.adm-sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.adm-nav-item{display:flex;align-items:center;gap:11px;padding:11px 22px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:.2s;border-left:3px solid transparent}
.adm-nav-item:hover{color:var(--green-800);background:var(--cream-2)}
.adm-nav-item.active{color:var(--green-900);border-left-color:var(--gold);background:var(--paper)}
.adm-nav-icon{font-size:16px;width:18px;text-align:center;flex-shrink:0}
.adm-nav-section{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#a9c790;padding:14px 22px 8px;font-weight:800}
.adm-main{padding:30px 32px 60px;overflow-y:auto;min-width:0}
.adm-page{display:none}.adm-page.active{display:block}
.adm-page-title{font-family:"Fraunces",serif;font-size:28px;font-weight:600;color:var(--green-900);margin-bottom:4px}
.adm-page-sub{font-size:13px;color:var(--muted);margin-bottom:28px}
.adm-divider{height:1px;background:var(--line);margin:24px 0}

/* STAT CARDS */
.adm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.adm-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.adm-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),transparent)}
.adm-card-n{font-family:"Fraunces",serif;font-size:30px;font-weight:600;color:var(--green-800);line-height:1}
.adm-card-l{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-weight:700}
.adm-card-delta{font-size:12px;color:#3a9a52;margin-top:4px;font-weight:700}

/* TABLE */
.adm-table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}
.adm-table-head{padding:15px 20px;border-bottom:1px solid var(--cream-2);display:flex;justify-content:space-between;align-items:center}
.adm-table-title{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--green-800);font-weight:800}
.adm-table-badge{font-size:11.5px;letter-spacing:.03em;background:var(--cream-2);color:var(--green-800);padding:4px 12px;border-radius:30px;font-weight:700}
table.adm-t{width:100%;border-collapse:collapse}
table.adm-t th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#9bb389;padding:11px 13px;text-align:left;border-bottom:1px solid var(--cream-2);font-weight:800}
table.adm-t td{font-size:13.5px;color:var(--ink);padding:12px 13px;border-bottom:1px solid var(--cream-2);font-weight:500}
table.adm-t tr:last-child td{border-bottom:none}
table.adm-t tr:hover td{background:var(--paper)}
.adm-status{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:4px 11px;border-radius:20px;font-weight:800;display:inline-block}
.adm-status.new{background:#e3f6e8;color:#2a9d52}
.adm-status.confirmed{background:#fdf2dc;color:#a87a17}
.adm-status.pending{background:#fde7e4;color:#c0392b}
.adm-status.done{background:#e9ecf0;color:#6b7280}
.adm-status.cancelled{background:#fde7e4;color:#c0392b;text-decoration:line-through}
.adm-status.none{background:#eef0e9;color:#7d8a72}
.adm-status.requested{background:#fdf2dc;color:#a87a17}
.adm-status.processing{background:#e3eefc;color:#2466b0}
.adm-status.completed{background:#e3f6e8;color:#2a9d52}
.adm-dest{font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;padding:4px 11px;border-radius:20px;font-weight:800;display:inline-block;background:#f1ecdf;color:#8a6d2e}
.adm-dest.bank{background:#eef1fb;color:#4a5fab}
.sh-stage-btn{font-size:10.5px;font-weight:700;padding:6px 11px;border-radius:20px;border:1.5px solid var(--line);background:var(--cream-2);color:var(--green-800);cursor:pointer;transition:.18s;white-space:nowrap}
.sh-stage-btn:hover{background:var(--line)}
.sh-stage-btn.done{background:#e3f6e8;color:#2a9d52;border-color:#c8e8b0}
.sh-stage-btn.cur{background:var(--green-800);color:#fff;border-color:var(--green-800);cursor:default}
.sh-action-btn{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:8px 14px;border-radius:8px;border:1.5px solid var(--green-700);background:#fff;color:var(--green-800);cursor:pointer;transition:.16s ease;white-space:nowrap;text-decoration:none}
.sh-action-btn:hover{background:var(--green-700);color:#fff;border-color:var(--green-700);transform:translateY(-1px);box-shadow:0 3px 8px rgba(63,125,63,.25)}
.sh-action-btn:active{transform:translateY(0);box-shadow:none}
.sh-action-btn.secondary{border-color:var(--line);color:var(--muted)}
.sh-action-btn.secondary:hover{background:var(--cream-2);color:var(--green-800);border-color:var(--green-700);box-shadow:none}

/* FORM PANEL */
.adm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.star-picker{display:flex;gap:6px;font-size:28px;line-height:1}
.star-picker span{cursor:pointer;color:#ddd;transition:.12s;user-select:none}
.star-picker span.on{color:#f5a623}
.star-picker span:hover{transform:scale(1.15)}
.adm-form-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-800);font-weight:800}
.adm-form-input{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13.5px;color:var(--ink);outline:none;transition:border-color .2s;width:100%}
.adm-form-input:focus{border-color:var(--leaf)}
.adm-save-btn{font-family:inherit;font-size:13px;letter-spacing:.02em;background:var(--green-800);color:#fff;border:none;border-radius:10px;padding:11px 22px;cursor:pointer;transition:.2s;font-weight:700}
.adm-save-btn:hover{background:var(--green-900)}
.adm-ghost-btn{font-family:inherit;font-size:13px;background:none;color:var(--muted);border:1.5px solid var(--line);border-radius:10px;padding:11px 22px;cursor:pointer;transition:.2s;margin-left:10px;font-weight:700}
.adm-ghost-btn:hover{border-color:var(--leaf);color:var(--green-800)}
.adm-toast{position:fixed;bottom:24px;right:24px;background:var(--green-900);color:#fff;border-left:4px solid var(--gold);border-radius:10px;padding:13px 20px;font-size:13.5px;z-index:999999;opacity:0;transform:translateY(10px);transition:.3s;pointer-events:none;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);font-weight:600}
.adm-toast.show{opacity:1;transform:translateY(0)}

/* GALLERY-STYLE GRID (for product images) */
.adm-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.adm-gitem{position:relative;aspect-ratio:1;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px}
.adm-gitem img{width:100%;height:100%;object-fit:cover}
.adm-gitem-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(26,48,16,.78);color:#fff;font-size:11px;font-weight:700;padding:7px 9px;text-align:center}
.adm-gitem-actions{position:absolute;inset:0;background:rgba(26,48,16,.55);display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:.25s}
.adm-gitem:hover .adm-gitem-actions{opacity:1}
.adm-icon-btn{width:34px;height:34px;border:1.5px solid rgba(255,255,255,.6);background:rgba(255,255,255,.08);color:#fff;font-size:13px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.adm-icon-btn:hover{background:rgba(255,255,255,.25)}
.adm-icon-btn.del:hover{border-color:#ff8a7a;color:#ff8a7a;background:rgba(255,80,60,.18)}
.adm-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.adm-row-actions .adm-icon-btn{border-color:var(--line);color:var(--green-800);background:var(--cream-2)}
.adm-row-actions .adm-icon-btn:hover{background:var(--line)}
.adm-row-actions .adm-icon-btn.del{color:#c0392b}
.adm-row-actions .adm-icon-btn.del:hover{background:#fde7e4;border-color:#fbb}
.adm-row-actions .adm-icon-btn.sm{width:28px;height:28px;font-size:13px}
.adm-menu-wrap{position:relative;display:inline-block}
.adm-menu-wrap summary{list-style:none;cursor:pointer}
.adm-menu-wrap summary::-webkit-details-marker{display:none}
.adm-menu-wrap summary::marker{content:''}
.adm-menu-wrap .adm-icon-btn{border-color:var(--line);color:var(--green-800);background:var(--cream-2)}
.adm-menu-wrap[open] .adm-icon-btn{background:var(--line)}
.adm-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.16);min-width:170px;z-index:500;overflow:hidden}
.adm-menu-item{display:flex;align-items:center;gap:9px;padding:10px 14px;font-size:12.5px;font-weight:700;color:var(--green-800);cursor:pointer;transition:.15s;white-space:nowrap}
.adm-menu-item:hover{background:var(--cream-2)}
.adm-menu-item.del{color:#c0392b}
.adm-menu-item.del:hover{background:#fde7e4}
.adm-menu-divider{height:1px;background:var(--line);margin:4px 0}

/* PRODUCT CARD GRID (Products page) */
.adm-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.adm-prod-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.2s}
.adm-prod-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.adm-prod-thumb{position:relative;aspect-ratio:1.1;background:var(--paper);overflow:hidden}
.adm-prod-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.adm-prod-badge{position:absolute;top:9px;left:9px;background:var(--gold);color:#2a2007;font-size:10px;font-weight:800;letter-spacing:.02em;padding:4px 9px;border-radius:20px}
.adm-prod-cat{position:absolute;top:9px;right:9px;background:rgba(26,48,16,.72);color:#fff;font-size:10px;font-weight:700;padding:4px 9px;border-radius:20px}
.adm-prod-body{padding:13px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1}
.adm-prod-name{font-size:14px;font-weight:800;color:var(--ink);line-height:1.25}
.adm-prod-price{font-size:13px;font-weight:700;color:var(--green-800)}
.adm-prod-rating{font-size:11.5px;color:var(--muted);font-weight:600}
.adm-prod-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.adm-prod-actions button{flex:1;font-size:12px;font-weight:700;padding:8px;border-radius:8px;transition:.18s}
.adm-prod-actions .ed{background:var(--cream-2);color:var(--green-800)}
.adm-prod-actions .ed:hover{background:var(--line)}
.adm-prod-actions .del{background:#fde7e4;color:#c0392b}
.adm-prod-actions .del:hover{background:#fad0cb}
.adm-prod-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:50px 20px;background:#fff;border:1px solid var(--line);border-radius:16px}

/* CATEGORY CARD GRID (Categories page) */
.adm-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.si-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:6px}
.si-tile{position:relative;border-radius:12px;overflow:hidden;border:1.5px solid var(--line);background:var(--cream-2);aspect-ratio:4/3}
.si-tile img{width:100%;height:100%;object-fit:cover;display:block}
.si-tile-actions{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);opacity:0;transition:.15s;display:flex;align-items:flex-end;justify-content:flex-end;gap:6px;padding:8px}
.si-tile:hover .si-tile-actions{opacity:1}
.si-tile-btn{width:30px;height:30px;border-radius:8px;border:none;background:rgba(255,255,255,.92);color:var(--green-800);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:.15s}
.si-tile-btn:hover{background:#fff;transform:scale(1.08)}
.si-tile-btn.danger:hover{background:#fee;color:#c0392b}
.si-add-row{margin-bottom:18px}
.si-empty{font-size:12.5px;color:var(--muted);padding:14px 0}
.adm-cat-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.2s}
.adm-cat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.adm-cat-thumb{position:relative;aspect-ratio:1.4;background:var(--paper);overflow:hidden}
.adm-cat-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.adm-cat-count{position:absolute;top:9px;right:9px;background:rgba(26,48,16,.72);color:#fff;font-size:10px;font-weight:700;padding:4px 9px;border-radius:20px}
.adm-cat-body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:5px;flex:1}
.adm-cat-name{font-family:"Fraunces",serif;font-size:17px;font-weight:600;color:var(--ink)}
.adm-cat-tagline{font-size:12px;color:var(--muted);line-height:1.4;min-height:32px}
.adm-cat-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.adm-cat-actions button{flex:1;font-size:12px;font-weight:700;padding:8px;border-radius:8px;transition:.18s}
.adm-cat-actions .ed{background:var(--cream-2);color:var(--green-800)}
.adm-cat-actions .ed:hover{background:var(--line)}
.adm-cat-actions .del{background:#fde7e4;color:#c0392b}
.adm-cat-actions .del:hover{background:#fad0cb}
.adm-cat-add-card{border:2px dashed var(--line);border-radius:16px;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.2s;min-height:200px;color:var(--muted);font-weight:700;font-size:13px}
.adm-cat-add-card:hover{border-color:var(--leaf);background:var(--cream-2);color:var(--green-800)}
.adm-cat-add-card svg{opacity:.7}
@media (max-width:900px){.adm-cat-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.adm-cat-grid{grid-template-columns:repeat(2,1fr)}}

/* IMAGE UPLOAD WIDGET (product modal) */
.adm-img-upload{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.adm-img-dropzone{width:96px;height:96px;border-radius:14px;border:2px dashed var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s;flex-shrink:0;overflow:hidden;position:relative}
.adm-img-dropzone:hover{border-color:var(--leaf);background:var(--cream-2)}
.adm-img-dropzone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adm-img-dropzone .ph{color:var(--muted);font-size:11px;font-weight:700;text-align:center;padding:0 8px}
.adm-img-dropzone .ph svg{display:block;margin:0 auto 4px}
.adm-img-side{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:2px}
.adm-img-side .or{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.adm-img-clear{font-size:11.5px;font-weight:700;color:#c0392b;background:none;border:none;cursor:pointer;text-align:left;padding:0;width:fit-content}
.adm-img-clear:hover{text-decoration:underline}

@media (max-width:900px){.adm-prod-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.adm-prod-grid{grid-template-columns:repeat(2,1fr)}}

/* STOCK STATUS */
.adm-prod-card.oos{opacity:.72}
.adm-stock-pill{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.02em;border:none;border-radius:20px;padding:6px 12px;cursor:pointer;transition:.18s;width:fit-content;margin:2px 0 4px}
.adm-stock-pill .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.adm-stock-pill.in{background:#e3f6e8;color:#2a9d52}
.adm-stock-pill.in .dot{background:#2a9d52}
.adm-stock-pill.in:hover{background:#cdf0d8}
.adm-stock-pill.out{background:#fde7e4;color:#c0392b}
.adm-stock-pill.out .dot{background:#c0392b}
.adm-stock-pill.out:hover{background:#fad0cb}
.adm-toggle-row{display:flex;justify-content:space-between;align-items:center;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:14px}
.adm-toggle-row .lbl{font-size:13.5px;font-weight:700;color:var(--ink)}
.adm-toggle-row .sub{font-size:11.5px;color:var(--muted);font-weight:600;margin-top:2px}
.adm-toggle{width:44px;height:25px;background:#d8d8d8;border-radius:13px;position:relative;cursor:pointer;border:none;transition:background .25s;flex-shrink:0}
.adm-toggle.on{background:var(--green-700)}
.adm-toggle::after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.adm-toggle.on::after{transform:translateX(19px)}

/* SETTINGS */
.adm-settings-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.adm-settings-title{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--green-800);font-weight:800;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--cream-2)}

/* MODALS (add/edit) */
.adm-modal-bg{display:none;position:fixed;inset:0;z-index:999999;background:rgba(10,20,6,.6);align-items:center;justify-content:center;padding:18px}
.adm-modal-bg.open{display:flex}
.adm-modal{background:#fff;border-radius:16px;width:600px;max-width:95vw;padding:30px;position:relative;max-height:90vh;overflow-y:auto}
.adm-modal-title{font-family:"Fraunces",serif;font-size:21px;color:var(--green-900);margin-bottom:20px;font-weight:600}
@media (max-width:760px){
  .adm-body{grid-template-columns:92px 1fr}
  /* Tables have 8-10 columns. Squeezed onto a phone they'd be unreadable,
     so give them a sensible minimum and let the card scroll sideways on
     its own. Without min-width:0 above, the table would instead stretch
     the whole admin page and make the entire screen scroll. */
  .adm-t{min-width:700px}
  .adm-main{padding:18px 14px 50px}
  .adm-nav-item{flex-direction:column;gap:4px;padding:10px 4px;font-size:10px;text-align:center;line-height:1.2}
  .adm-nav-icon{width:auto;font-size:17px}
  .adm-nav-section{display:none}
  .adm-cards{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}
  .adm-form-grid{grid-template-columns:1fr}
  .adm-gallery-grid{grid-template-columns:repeat(2,1fr)}

  /* Topbar: shrink the chrome so the store name and Logout both fit. */
  .adm-topbar{padding:11px 14px}
  .adm-sidebar{top:50px;height:calc(100vh - 50px);padding:12px 0}
  .adm-topbar-logo{font-size:16px;gap:7px;min-width:0}
  .adm-topbar-logo small{display:none}
  .adm-topbar-right{gap:9px}
  .adm-user-badge{display:none}
  .adm-logout{padding:7px 13px;font-size:12px}

  /* Page headings were eating most of the first screen. */
  .adm-page-title{font-size:21px}
  .adm-page-sub{font-size:12px;margin-bottom:18px}

  /* Stat cards: smaller type, less padding, still two per row. */
  .adm-card{padding:14px}
  .adm-card-n{font-size:23px}
  .adm-card-l{font-size:10px;letter-spacing:.02em}

  /* Table cards: tighter, and the header stacks when the search box and
     filters can't sit beside the title. */
  .adm-table-head{padding:12px 14px;flex-wrap:wrap;gap:9px}
  .adm-table-title{font-size:11.5px}
  .adm-table-badge{margin-left:0!important}
  table.adm-t th{padding:9px 10px;font-size:10px}
  table.adm-t td{padding:10px 10px;font-size:12.5px}

  /* Forms and settings blocks. */
  .adm-settings-section{padding:16px 14px;margin-bottom:14px}
  .adm-form-input{font-size:16px;padding:11px 12px}
  .adm-save-btn{padding:12px 18px;width:100%}

  /* Touch targets: 34px is small for a thumb. */
  .adm-icon-btn{width:40px;height:40px;font-size:15px}
  .adm-row-actions{gap:7px}

  /* Modals: full-width sheets with room to breathe. */
  .adm-modal{padding:20px 16px;max-width:96vw;max-height:88vh;border-radius:14px}
  .adm-modal-title{font-size:18px;margin-bottom:14px}

  /* The search and filter controls carry inline max-widths meant for a
     desktop toolbar. They sit above the table card, not inside it, so
     target them directly and let them fill the row. */
  input.adm-form-input[id$="-search"],
  select.adm-form-input[id$="-filter"]{max-width:none!important;width:100%}
}

@media (max-width:420px){
  /* Narrowest phones: drop the icon rail to labels-only width and give
     the content every pixel we can. */
  .adm-body{grid-template-columns:62px 1fr}
  .adm-nav-item{font-size:9px;padding:9px 2px}
  .adm-main{padding:14px 10px 44px}
  .adm-cards{grid-template-columns:1fr}
  .adm-gallery-grid{grid-template-columns:1fr}
}


/* ---------- A2 FEATURE ---------- */
.feature{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.feat-img{position:relative}
.feat-img img{width:92%;display:block;border-radius:22px;box-shadow:var(--shadow);border:6px solid #fff}
.feat-badge{position:absolute;top:-18px;left:-18px;background:var(--gold);color:#2a2007;width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:800;line-height:1.1;box-shadow:var(--shadow);transform:rotate(-8deg)}
.feat-badge b{font-family:"Fraunces";font-size:25px}
.feat-badge span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.feat-txt h2{font-size:clamp(28px,3.6vw,42px);margin:10px 0 14px}
.feat-txt h2 em{font-style:italic;color:var(--leaf)}
.benefits{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:13px}
.benefits li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:#2f3a29}
.benefits .ck{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(122,189,63,.18);color:var(--green-700);display:flex;align-items:center;justify-content:center;margin-top:1px}
.benefits b{color:var(--green-900);font-weight:800}
.farm-note{background:#fff;border:1px solid var(--line);border-left:4px solid var(--leaf);border-radius:0 14px 14px 0;padding:16px 18px;font-size:14.5px;color:#3a4633;font-style:italic}
.farm-note b{font-style:normal;color:var(--green-800)}
/* ---------- PRODUCT DESCRIPTION TABS ---------- */
.desc-tabs{margin-top:26px;border-top:1px solid var(--line);padding-top:4px}
.desc-tab-btns{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:0;flex-wrap:wrap}
.desc-tab-btn{padding:10px 16px;font-family:"Mulish";font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-1px;cursor:pointer;transition:.18s;background:none;border-top:none;border-left:none;border-right:none}
.desc-tab-btn:hover{color:var(--green-700)}
.desc-tab-btn.active{color:var(--green-800);border-bottom-color:var(--leaf)}
.desc-panel{display:none;padding:20px 0 4px;animation:up .3s both}
.desc-panel.active{display:block}
.desc-body p{margin:0 0 13px;font-size:15px;color:#2a4a1e;line-height:1.75}
.why-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:9px}
.why-list li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:#2a4a1e}
.why-list li::before{content:"✦";color:var(--leaf);flex-shrink:0;font-size:12px;margin-top:4px}
.highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 6px}
.hl-chip{display:flex;align-items:center;gap:9px;background:rgba(109,186,58,.10);border:1px solid rgba(109,186,58,.26);border-radius:10px;padding:10px 13px;font-size:13.5px;font-weight:700;color:var(--green-800)}
.hl-chip span{font-size:15px;flex-shrink:0}
.uses-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 6px}
.use-item{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-size:13.5px;color:#2a4a1e;font-weight:600}
.use-item span{font-size:16px;flex-shrink:0}
.variants-row{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 4px}
.var-chip{border:1.5px solid var(--line);border-radius:30px;padding:7px 15px;font-size:13px;font-weight:700;color:var(--green-800);background:#fff}
.storage-box{background:linear-gradient(135deg,rgba(109,186,58,.09),rgba(193,154,62,.07));border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:grid;gap:10px}
.storage-row{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:#2a4a1e}

/* ---------- LOCATION BAR (checkout address) ---------- */
.loc-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:rgba(109,186,58,.08);border:1.5px dashed var(--line);border-radius:14px;padding:13px 16px;margin-bottom:18px}
.loc-btn{display:inline-flex;align-items:center;gap:7px;background:var(--green-700);color:#fff;font-weight:800;font-size:13.5px;padding:10px 18px;border-radius:30px;border:none;cursor:pointer;transition:.18s;letter-spacing:.01em}
.loc-btn:hover{background:var(--green-900)}
.loc-btn:disabled{opacity:.6;cursor:not-allowed}
.loc-or{font-size:13px;color:var(--muted);font-weight:600}
.loc-status{font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:20px;background:rgba(109,186,58,.14);color:var(--green-800)}
.loc-status.loc-err{background:rgba(200,100,60,.10);color:#b05030}
.storage-row>span:first-child{font-size:17px;flex-shrink:0;margin-top:1px}
/* The text span MUST be allowed to shrink and wrap. It used to inherit
   flex-shrink:0 from a rule matching both spans, so on narrow screens it
   refused to wrap and ran straight out of the box. min-width:0 is the
   part that actually lets a flex child wrap — without it, flex items
   default to min-width:auto and stay as wide as their longest line. */
.storage-row>span:last-child{flex:1;min-width:0}
.taste-box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:14px 0}
.taste-box h4{font-family:"Mulish";font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf);margin:0 0 8px}
.taste-box p{margin:0;font-size:15px;color:#2a4a1e;line-height:1.7}

/* ---------- PRODUCT CARDS ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid.loved{grid-template-columns:repeat(2,1fr);max-width:860px;margin:0 auto;gap:30px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.25s;position:relative}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pcard-imgwrap{position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#fff,var(--cream-2));overflow:hidden;padding:16px;box-sizing:border-box}
.pcard-imgwrap img{width:100%;height:100%;object-fit:cover;transition:.5s;border-radius:14px}
.pcard:hover .pcard-imgwrap img{transform:scale(1.05)}
.tag{position:absolute;top:12px;left:12px;background:var(--green-800);color:#eaf6dc;font-size:11px;font-weight:800;letter-spacing:.04em;padding:5px 11px;border-radius:20px;text-transform:uppercase}
.tag.gold{background:var(--gold);color:#2a2007}
.heart{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--muted);box-shadow:var(--shadow-sm);transition:.2s}
.heart:hover{color:var(--rajma)}
.heart.on{color:#fff;background:var(--rajma)}
.heart.on svg{fill:#fff}
.pcard-body{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:20px;margin-bottom:5px}
.rate{display:flex;align-items:center;gap:7px;margin-bottom:12px}
.stars{display:flex;gap:1px;color:var(--gold)}
.stars svg{width:15px;height:15px;fill:currentColor}
.rate span{font-size:12.5px;color:var(--muted);font-weight:600}
.wlabel{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.weights{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
.wpill{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:6px 13px;font-size:13px;font-weight:700;color:#2a5015;transition:.15s}
.wpill:hover{border-color:var(--leaf)}
.wpill.sel{background:var(--green-800);border-color:var(--green-800);color:#fff}
.wpill.oos-size{background:#f2f2f2;border-color:#e2e2e2;color:#999;cursor:not-allowed;text-decoration:line-through}
.wpill.oos-size:hover{border-color:#e2e2e2}
.price-row{display:flex;align-items:baseline;gap:8px;margin-top:auto;margin-bottom:13px}
.price{font-family:"Fraunces";font-size:25px;font-weight:600;color:var(--green-900)}
.price small{font-size:14px;font-weight:600;color:var(--muted)}
.addbtn{width:100%;background:var(--green-700);color:#fff;font-weight:800;font-size:15px;padding:13px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;transition:.2s;letter-spacing:.02em}
.addbtn:hover{background:var(--green-900)}
.addbtn svg{width:18px;height:18px}
.pcard.oos .pcard-imgwrap img{filter:grayscale(.55) brightness(.82)}
.oos-badge{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(20,30,12,.32)}
.oos-badge span{background:#2a2007;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:8px 18px;border-radius:30px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.addbtn.oos-btn{background:var(--cream-2);color:var(--muted);cursor:not-allowed}
.addbtn.oos-btn:hover{background:var(--cream-2)}

/* ---------- HAPPY CUSTOMERS (photo testimonials) ---------- */
.hcslider-wrap{position:relative}
.hc-grid{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.hc-grid::-webkit-scrollbar{height:6px}
.hc-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}
.hc-grid .hc-card{flex:0 0 calc(50% - 11px);scroll-snap-align:start}
.hcslider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:#fff;color:var(--green-800);font-size:18px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;z-index:2;transition:.15s}
.hcslider-arrow:hover{background:var(--green-800);color:#fff;transform:translateY(-50%) scale(1.08)}
.hcslider-arrow.left{left:-14px}
.hcslider-arrow.right{right:-14px}
.hc-card{display:flex;flex-direction:column;gap:18px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold-soft);
  border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm)}
.hc-head{display:flex;align-items:center;gap:18px}
.hc-photo{flex:0 0 76px;width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:center;
  border:3px solid #fff;box-shadow:0 6px 18px -8px rgba(45,106,26,.45);background:var(--cream-2)}
.hc-fallback{flex:0 0 76px;width:76px;height:76px;border-radius:50%;background:var(--leaf);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-weight:700;font-size:27px;
  border:3px solid #fff;box-shadow:0 6px 18px -8px rgba(45,106,26,.45)}
.hc-who{min-width:0;display:flex;flex-direction:column}
.hc-name{font-family:"Fraunces",serif;font-weight:700;font-size:23px;color:var(--green-900);line-height:1.25}
.hc-city{font-size:14.5px;color:var(--muted);margin-top:2px}
.hc-role{font-weight:800;color:var(--green-700)}
.hc-stars{margin:8px 0 0;color:var(--gold);display:flex;gap:2px}
.hc-stars svg{width:16px;height:16px;fill:currentColor}
.hc-quote{margin:0;font-size:18px;line-height:1.8;color:var(--ink);max-width:none}
.hc-quote::before{content:"“";font-family:"Fraunces",serif;font-size:36px;color:var(--gold);
  line-height:0;position:relative;top:10px;margin-right:4px}
.hc-tag{align-self:flex-start;padding:5px 14px;border-radius:999px;
  background:var(--cream-2);color:var(--green-800);font-size:12.5px;font-weight:700;
  display:inline-flex;align-items:center;gap:5px}
@media(max-width:900px){
  .hc-grid .hc-card{flex:0 0 88%}
  .hc-card{padding:20px;gap:14px}
  .hc-photo,.hc-fallback{flex-basis:62px;width:62px;height:62px;font-size:22px}
  .hc-name{font-size:19px}
  .hc-quote{font-size:16px}
  .hcslider-arrow{width:36px;height:36px;font-size:15px}
  .hcslider-arrow.left{left:-6px}
  .hcslider-arrow.right{right:-6px}
}

/* ---------- REVIEWS ---------- */
.reviews{background:linear-gradient(160deg,var(--green-800),var(--green-700));color:#eaf3df;border-radius:34px;margin:0 22px}
.reviews .wrap{padding:60px 22px}
.reviews .sec-head h2{color:#fff}
.reviews .sec-head p{color:#bcd3a6}
.reviews .eyebrow{color:var(--gold-soft)}
.rgrid{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.rgrid::-webkit-scrollbar{height:6px}
.rgrid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:10px}
.rgrid .rcard{flex:0 0 calc(33.333% - 15px);scroll-snap-align:start}
.rslider-wrap{position:relative}
.rslider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:#fff;color:var(--green-800);font-size:18px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;z-index:2;transition:.15s}
.rslider-arrow:hover{background:var(--green-800);color:#fff;transform:translateY(-50%) scale(1.08)}
.rslider-arrow.left{left:-14px}
.rslider-arrow.right{right:-14px}
.rcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:16px}
.rhead{display:flex;align-items:center;gap:16px}
.rcard .stars{color:var(--gold-soft);margin:6px 0 0;display:flex;gap:2px}
.rcard p{font-size:16.5px;line-height:1.8;color:#eef4e4;margin:0}
.rcard p::before{content:"“";font-family:"Fraunces",serif;font-size:32px;color:var(--gold-soft);
  line-height:0;position:relative;top:9px;margin-right:3px}
.rwho{min-width:0;display:flex;flex-direction:column}
.ravatar{flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:"Fraunces";font-size:22px;border:3px solid rgba(255,255,255,.25)}
.rwho b{display:block;color:#fff;font-family:"Fraunces",serif;font-weight:700;font-size:19px;line-height:1.25}
.rwho span{font-size:13px;color:var(--gold-soft);margin-top:2px}
.rtag{align-self:flex-start;padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.12);
  color:#fff;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:5px}

/* ---------- PAGE (category) ---------- */
.page-head{background:var(--paper);border-bottom:1px solid var(--line);padding:30px 0 34px}
.crumb{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:7px}
.crumb a{cursor:pointer}
.crumb a:hover{color:var(--leaf)}
.crumb b{color:var(--green-800)}
.page-head h1{font-size:clamp(30px,4vw,46px)}
.page-head p{color:var(--muted);margin:8px 0 0;max-width:60ch}
.backlink{display:inline-flex;align-items:center;gap:7px;color:var(--green-700);font-weight:700;font-size:14px;margin-bottom:14px;cursor:pointer}
.backlink:hover{color:var(--leaf)}

/* ---------- FOOTER ---------- */
footer{background:var(--green-900);color:#cfe0bd;padding:54px 0 26px;margin-top:30px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-grid h4{color:#fff;font-size:16px;margin-bottom:15px;font-family:"Mulish";font-weight:800;letter-spacing:.04em}
.foot-grid a,.foot-grid li{color:#bccfa9;font-size:14px;line-height:2;list-style:none}
.foot-grid a{cursor:pointer}
.foot-grid a:hover{color:var(--gold-soft)}
.foot-grid ul{padding:0;margin:0}
.foot-brand p{font-size:14px;color:#a9c194;margin:12px 0 0;max-width:34ch}
.foot-brand .bn{font-family:"Fraunces";font-size:22px;color:#fff;font-weight:700}
.copy{text-align:center;padding-top:22px;font-size:13px;color:#8da876}
.certs-section{background:var(--cream-2);padding:56px 0 60px;border-top:1px solid var(--line)}
.certs-head{text-align:center;max-width:600px;margin:0 auto 34px}
.certs-head h2{font-size:clamp(24px,3vw,32px);margin-top:8px}
.certs-head p{color:var(--muted);font-size:14.5px;margin-top:10px}
.certs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.certs-section{background:#e6f2d8}
.cert-card{background:#fff;border:1px solid #cfe6bb;border-radius:22px;padding:32px 20px 26px;box-shadow:var(--shadow-sm);cursor:pointer;transition:.25s;text-align:center;display:flex;flex-direction:column;align-items:center}
.cert-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cert-seal{width:164px;height:164px;margin-bottom:22px}
.cert-card h3{font-family:"Fraunces",serif;font-size:21px;color:var(--green-900);font-weight:700;margin:0}
.cert-card p{color:var(--green-700);font-size:15.5px;line-height:1.6;margin:14px 0 0}
.cert-code{font-size:12.5px;color:var(--muted);margin-top:14px;letter-spacing:.02em}
.cert-view{margin-top:auto;padding-top:22px;font-size:13.5px;font-weight:800;letter-spacing:.04em;color:var(--green-700);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}
.cert-card:hover .cert-view{color:var(--green-900)}
@media(max-width:1100px){.certs-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.certs-grid{grid-template-columns:1fr}.certs-section{padding:44px 0 46px}}
.cert-lightbox{display:none;position:fixed;inset:0;z-index:999999;background:rgba(10,18,6,.88);align-items:center;justify-content:center;padding:26px}
.cert-lightbox.open{display:flex}
.cert-lightbox-inner{position:relative;max-width:min(720px,92vw);max-height:92vh;display:flex;flex-direction:column;align-items:center}
.cert-lightbox-inner img{max-width:100%;max-height:78vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff;cursor:zoom-in;transition:transform .25s}
.cert-lightbox-inner img.zoomed{cursor:zoom-out;transform:scale(1.9)}
.cert-lightbox-cap{color:#e9f2df;font-size:13.5px;margin-top:14px;text-align:center}
.cert-lightbox-close{position:absolute;top:-46px;right:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;width:38px;height:38px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cert-lightbox-close:hover{background:rgba(255,255,255,.24)}
@media(max-width:640px){.cert-lightbox-inner img{max-height:64vh}.cert-lightbox-close{top:auto;bottom:-52px;right:calc(50% - 19px)}}

/* ---------- CART DRAWER ---------- */
.overlay{position:fixed;inset:0;background:rgba(15,30,12,.5);opacity:0;visibility:hidden;transition:.3s;z-index:80}
.overlay.show{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:var(--cream);z-index:90;transform:translateX(100%);transition:.34s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4)}
.drawer.show{transform:translateX(0)}
.drawer-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}
.drawer-head h3{font-size:21px;display:flex;align-items:center;gap:9px}
.closex{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.2s}
.closex:hover{background:var(--rajma);color:#fff;border-color:var(--rajma)}
.cart-items{flex:1;overflow-y:auto;padding:16px 20px}
.cart-empty{text-align:center;color:var(--muted);padding:70px 20px}
.cart-empty svg{width:60px;height:60px;color:var(--line);margin-bottom:16px}
.citem{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}
.citem img{width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--cream-2);flex-shrink:0}
.citem-info{flex:1;min-width:0}
.citem-info h4{font-family:"Mulish";font-weight:800;font-size:15px;color:var(--ink);margin-bottom:2px}
.citem-info .cw{font-size:12.5px;color:var(--muted);font-weight:600}
.citem-info .cp{font-family:"Fraunces";font-weight:600;color:var(--green-800);font-size:16px;margin-top:5px}
.qty{display:flex;align-items:center;gap:0;border:1.5px solid var(--line);border-radius:30px;overflow:hidden;width:fit-content;margin-top:8px;background:#fff}
.qty button{width:30px;height:30px;font-size:17px;font-weight:700;color:var(--green-700);display:flex;align-items:center;justify-content:center}
.qty button:hover{background:rgba(122,189,63,.16)}
.qty span{min-width:30px;text-align:center;font-weight:800;font-size:14px}
.citem-rm{background:none;color:var(--muted);font-size:12px;font-weight:700;margin-top:8px;text-decoration:underline;align-self:flex-start}
.citem-rm:hover{color:var(--rajma)}
.drawer-foot{border-top:1px solid var(--line);padding:20px 22px;background:var(--paper)}
.ship-note{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--green-700);background:rgba(122,189,63,.14);padding:9px 13px;border-radius:10px;margin-bottom:14px}
.subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.subtotal span{font-weight:700;color:var(--muted)}
.subtotal b{font-family:"Fraunces";font-size:26px;color:var(--green-900);font-weight:600}
.checkout{width:100%;background:var(--gold);color:#2a2007;font-weight:800;font-size:16px;padding:15px;border-radius:13px;transition:.2s;letter-spacing:.02em}
.checkout:hover{background:var(--gold-soft)}
.cod-row{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--muted);margin-top:11px;font-weight:600}

/* ---------- TOAST ---------- */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--green-900);color:#fff;padding:14px 22px;border-radius:40px;font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:10px;z-index:100;transition:.35s;box-shadow:0 14px 30px -10px rgba(0,0,0,.5)}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast svg{color:var(--leaf-bright)}

/* animation */
.reveal{opacity:0;transform:translateY(22px);animation:up .7s forwards}
@keyframes up{to{opacity:1;transform:none}}
.hidden{display:none!important}

/* ---------- AUTH / ACCOUNT ---------- */
.acc-av{width:24px;height:24px;border-radius:50%;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;font-family:"Fraunces"}
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 150px)}
.auth-aside{background:linear-gradient(160deg,var(--green-800),var(--green-700));color:#eaf3df;padding:56px 54px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-aside .auth-logo{width:64px;height:64px;border-radius:50%;margin-bottom:24px;
margin-top: -270px;
  box-shadow:0 4px 14px rgba(0,0,0,.25)}
.auth-aside h2{color:#fff;font-size:36px;margin:6px 0 14px}
.auth-aside p{color:#cfe3b8;max-width:34ch;margin:0 0 28px;font-size:16px}
.auth-points{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.auth-points li{display:flex;align-items:center;gap:12px;color:#e8f1dc;font-weight:600;font-size:15px}
.auth-points li span{width:24px;height:24px;border-radius:50%;background:var(--gold);color:#2a2007;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;font-size:13px}
.auth-main{display:flex;align-items:center;justify-content:center;padding:46px 22px;background:var(--cream)}
.auth-card{width:100%;max-width:412px}
.auth-card h1{font-size:34px;margin:14px 0 6px}
.auth-sub{color:var(--muted);margin:0 0 24px}
.gbtn{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px;font-weight:700;font-size:15px;color:#2f3a29;transition:.18s}
.gbtn:hover{border-color:var(--green-600);box-shadow:var(--shadow-sm)}
.divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--muted);font-size:12.5px;font-weight:600}
.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}
.fld{display:block;margin-bottom:15px}
.fld span{display:block;font-size:13px;font-weight:700;color:#3a4633;margin-bottom:6px}
.fld input{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);transition:.18s}
.fld input:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(122,189,63,.14)}
.forgot{display:block;text-align:right;font-size:13px;font-weight:700;color:var(--green-700);margin:-4px 0 16px}
.forgot:hover{color:var(--leaf)}
.auth-submit{width:100%;background:var(--green-700);color:#fff;font-weight:800;font-size:16px;padding:14px;border-radius:12px;transition:.2s}
.auth-submit:hover{filter:brightness(.92)}
.auth-switch{text-align:center;margin-top:20px;font-size:14.5px;color:var(--muted)}
.auth-switch a{color:var(--green-700);font-weight:800;cursor:pointer}
.auth-switch a:hover{color:var(--leaf)}
.auth-legal{text-align:center;font-size:12px;color:var(--muted);margin:16px 0 0}
/* ---------- PASSWORD STRENGTH ---------- */
.pass-wrap{position:relative}
.pass-toggle{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:0;display:flex;align-items:center}
.pass-toggle:hover{color:var(--green-800)}
.strength-bar{display:flex;gap:5px;margin-top:8px}
.strength-bar span{flex:1;height:4px;border-radius:4px;background:var(--line);transition:.35s}
.strength-bar.s1 span:nth-child(1){background:#e54040}
.strength-bar.s2 span:nth-child(-n+2){background:#e8880a}
.strength-bar.s3 span:nth-child(-n+3){background:#c19a3e}
.strength-bar.s4 span:nth-child(-n+4){background:var(--leaf)}
.strength-label{font-size:12px;font-weight:700;margin-top:5px}
.strength-label.s1{color:#e54040}.strength-label.s2{color:#e8880a}.strength-label.s3{color:#c19a3e}.strength-label.s4{color:var(--leaf)}
.pass-reqs{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:5px}
.pass-reqs li{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px;transition:.2s}
.pass-reqs li.ok{color:var(--green-700)}
.pass-reqs li .req-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;font-size:9px}
.pass-reqs li.ok .req-dot{background:var(--leaf);border-color:var(--leaf);color:#fff}
.auth-banner{background:rgba(193,154,62,.14);border:1px solid var(--gold);border-radius:11px;padding:11px 14px;font-size:13.5px;color:#7a5c12;font-weight:600;margin-bottom:18px;line-height:1.5}
.fld-hint{display:block;font-size:12px;color:var(--muted);margin-top:6px;font-weight:600}
.reg-note{background:rgba(122,189,63,.12);border-radius:10px;padding:10px 13px;font-size:13px;color:var(--green-800);font-weight:600;margin:-6px 0 16px}
.acc-grid{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:start}
.acc-profile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;text-align:center}
.acc-av-lg{width:84px;height:84px;border-radius:50%;background:var(--leaf);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Fraunces";font-size:38px;font-weight:600;margin:0 auto 16px}
.acc-profile h3{font-size:22px}
.acc-profile p{color:var(--muted);font-size:14px;margin:4px 0 0;word-break:break-all}
.acc-tag{display:inline-block;margin-top:12px;background:rgba(122,189,63,.16);color:var(--green-700);font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px}
.acc-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acc-link{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:.2s;cursor:pointer}
.acc-link:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--leaf)}
.acc-link b{display:block;font-family:"Fraunces";font-size:19px;color:var(--green-900);font-weight:600}
.acc-link span{font-size:13px;color:var(--muted);font-weight:600}

/* ---------- CONTACT ---------- */
.contact-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 30px;margin-bottom:26px}
.contact-hero-head{display:flex;align-items:center;gap:10px;font-family:"Fraunces";font-size:20px;font-weight:600;color:var(--green-900);margin-bottom:10px}
.contact-hero-head .em{font-size:22px}
.contact-hero .cnum{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:4px}
.contact-hero .chours{font-size:13.5px;color:var(--muted);font-weight:600;margin-bottom:20px}
.contact-hero .contact-btns{display:flex;gap:14px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:12px;padding:20px 22px;transition:.2s}
.contact-card:hover{box-shadow:var(--shadow)}
.contact-card.cc-purple{border-left-color:#9b6fd6}
.contact-card.cc-green{border-left-color:var(--green-700)}
.contact-card.cc-dark{border-left-color:var(--ink)}
.contact-card.cc-pink{border-left-color:#e0468f}
.contact-card.cc-violet{border-left-color:#6f52c9}
.contact-card.cc-gold{border-left-color:var(--gold)}
.contact-card h3{display:flex;align-items:center;gap:9px;font-size:17px;margin-bottom:10px}
.contact-card h3 .em{font-size:18px}
.contact-card .csub{font-size:12.5px;color:var(--muted);font-weight:700;margin:-6px 0 8px}
.contact-card a.cmail{display:block;font-size:14px;font-weight:600;color:var(--green-800);text-decoration:underline;text-underline-offset:2px;margin-top:4px}
.contact-card a.cmail:hover{color:var(--green-900)}
.cbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 8px;border-radius:12px;font-weight:800;font-size:15px;letter-spacing:.01em;transition:.18s}
.cbtn-call{background:var(--green-800);color:#fff}
.cbtn-call:hover{background:var(--green-900)}
.cbtn-wa{background:var(--green-800);color:#fff}
.cbtn-wa:hover{background:var(--green-900)}
@media (max-width:620px){.contact-grid{grid-template-columns:1fr}.contact-hero .contact-btns{flex-direction:column}}

/* ---------- ABOUT ---------- */
.about-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;margin-bottom:26px}
.about-hero-head{display:flex;align-items:center;gap:10px;font-family:"Fraunces";font-size:20px;font-weight:600;color:var(--green-900);margin-bottom:10px}
.about-hero-head .em{font-size:22px}
.about-hero p{font-size:15px;line-height:1.7;color:var(--muted);max-width:70ch}
.about-hero p+p{margin-top:12px}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.about-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 16px;text-align:center}
.about-stat .num{font-family:"Fraunces";font-size:28px;font-weight:700;color:var(--green-900)}
.about-stat .lbl{font-size:12.5px;color:var(--muted);font-weight:700;margin-top:4px}
.about-sec-title{font-family:"Fraunces";font-size:22px;font-weight:600;margin:0 0 16px}
@media (max-width:620px){.about-stats{grid-template-columns:1fr 1fr}}

/* ---------- FAQ ---------- */
.faq-cat{margin-bottom:30px}
.faq-cat-title{font-family:"Fraunces";font-size:19px;font-weight:600;color:var(--green-900);margin:0 0 12px}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;font-weight:700;font-size:15px;color:var(--ink);user-select:none}
.faq-q:hover{color:var(--green-800)}
.faq-q .chev{flex-shrink:0;width:20px;height:20px;transition:transform .25s;color:var(--leaf)}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a-inner{padding:0 20px 18px;font-size:14px;line-height:1.65;color:var(--muted)}

/* ---------- FARMS ---------- */
.farm-card{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:12px;padding:20px 22px;transition:.2s}
.farm-card:hover{box-shadow:var(--shadow)}
.farm-card h3{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;margin-bottom:8px}
.farm-card .region-tag{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--green-800);background:var(--cream-2);padding:4px 10px;border-radius:20px;white-space:nowrap}
.farm-card .produce{font-size:12.5px;font-weight:700;color:var(--gold);margin:-4px 0 8px}
.farm-card p{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0}
.farm-card.fc-green{border-left-color:var(--green-700)}
.farm-card.fc-gold{border-left-color:var(--gold)}
.farm-card.fc-purple{border-left-color:#9b6fd6}
.farm-card.fc-dark{border-left-color:var(--ink)}

/* ---------- CHECKOUT / TRACKING ---------- */
.co-grid,.track-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.co-steps{display:flex;align-items:center;margin-bottom:24px}
.co-step{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14px;color:var(--muted)}
.co-step.active{color:var(--green-800)} .co-step.done{color:var(--green-700)}
.co-dot{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.co-step.active .co-dot{border-color:var(--green-700);background:var(--green-700);color:#fff}
.co-step.done .co-dot{border-color:var(--leaf);background:var(--leaf);color:#fff}
.co-bar{flex:1;height:2px;background:var(--line);margin:0 12px}
.co-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.co-card h2{font-size:24px;margin-bottom:6px}
.co-sub{color:var(--muted);margin:0 0 22px;font-size:14.5px}
.link{color:var(--green-700);font-weight:700;cursor:pointer}.link:hover{color:var(--leaf)}
.phone-in{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}
.phone-in:focus-within{border-color:var(--leaf);box-shadow:0 0 0 4px rgba(122,189,63,.14)}
.phone-in .cc{padding:13px;background:var(--cream-2);font-weight:800;color:var(--green-800);border-right:1.5px solid var(--line)}
.phone-in input{border:none;outline:none;flex:1;padding:13px 14px;font-size:15px;background:none;font-family:inherit}
.otp-row{display:flex;gap:12px;margin-bottom:22px}
.otp-box{width:56px;height:62px;text-align:center;font-size:26px;font-weight:800;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--green-900);font-family:"Fraunces"}
.otp-box:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(122,189,63,.14)}
.resend{text-align:center;margin-top:14px;font-size:13.5px;color:var(--muted)}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.co-actions{display:flex;gap:12px;align-items:center;margin-top:8px}
.ghost-btn{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px 18px;font-weight:700;color:var(--green-800);transition:.18s}
.ghost-btn:hover{border-color:var(--green-700)}
.pay-opt{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:14px;padding:17px 18px;margin-bottom:14px;cursor:pointer;background:#fff;transition:.18s}
.pay-opt:hover{border-color:var(--leaf)}
.pay-opt.sel{border-color:var(--green-700);background:rgba(122,189,63,.06)}
.radio{width:21px;height:21px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;position:relative}
.pay-opt.sel .radio{border-color:var(--green-700)}
.pay-opt.sel .radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--green-700)}
.pay-info{flex:1}.pay-info b{display:block;font-size:16px;color:var(--ink)}.pay-info span{font-size:13px;color:var(--muted)}
.cod-ic{font-size:24px}
.pay-icons{display:flex;gap:5px}
.ui-chip{font-size:10px;font-weight:800;padding:4px 7px;border-radius:6px;color:#fff;white-space:nowrap}
.ui-chip.gp{background:#4285F4}.ui-chip.pp{background:#5f259f}.ui-chip.pt{background:#00baf2}
.pay-detail{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;margin:-6px 0 16px}
.upi-apps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.upi-app{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:700;font-size:13px;color:#3a4633;transition:.15s}
.upi-app:hover{border-color:var(--leaf)} .upi-app.on{border-color:var(--green-700);background:var(--green-700);color:#fff}
.or-sep{text-align:center;font-size:12px;color:var(--muted);margin:10px 0;font-weight:600}
.upi-input{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14.5px;font-family:inherit;background:#fff}
.upi-input:focus{outline:none;border-color:var(--leaf)}
.os-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:14px}
.os-card h3{font-size:18px;margin-bottom:14px}
.os-line{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.os-line img{width:46px;height:46px;border-radius:9px;object-fit:cover;background:var(--cream-2)}
.os-info{flex:1}.os-info b{display:block;font-size:14px;font-weight:700}.os-info span{font-size:12.5px;color:var(--muted)}
.os-price{font-weight:800;color:var(--green-800);font-size:14px}
.os-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14.5px;color:var(--muted);font-weight:600}
.os-row b{color:var(--ink)}
.os-row.total{border-top:1.5px solid var(--line);margin-top:6px;padding-top:13px;font-size:16px;color:var(--ink)}
.os-row.total b{font-family:"Fraunces";font-size:22px;color:var(--green-900)}
.co-trust{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.9;font-weight:600}
.ord-hero{background:linear-gradient(160deg,var(--green-900),var(--green-700));color:#eaf3df;border-radius:var(--r);padding:28px 30px;margin-bottom:22px;display:flex;align-items:center;gap:20px}
.ord-check{width:60px;height:60px;border-radius:50%;background:var(--leaf);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ord-check svg{width:32px;height:32px;color:#fff}
.ord-hero h2{color:#fff;font-size:26px}
.ord-hero p{margin:5px 0 0;color:#cfe3b8;font-size:14px}
.ord-hero .eta{color:var(--gold-soft);font-weight:700}
.track-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.track-card h3{font-size:19px;margin-bottom:6px}
.track-meta{font-size:13px;color:var(--muted);margin-bottom:24px;font-weight:600}
.awb-badge{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,var(--cream-2),#fff);border:1.5px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:22px}
.awb-badge-left{display:flex;flex-direction:column;gap:2px}
.awb-badge-label{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.awb-badge-id{font-size:19px;font-weight:800;color:var(--green-900);letter-spacing:.02em;font-family:ui-monospace,'SF Mono',Consolas,monospace}
.awb-badge-courier{font-size:12px;color:var(--muted);font-weight:600}
.awb-badge-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.awb-copy-btn{background:#fff;border:1.5px solid var(--green-700);color:var(--green-800);font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:9px;cursor:pointer;transition:.15s}
.awb-copy-btn:hover{background:var(--green-700);color:#fff}
.awb-copy-btn.copied{background:var(--green-800);color:#fff;border-color:var(--green-800)}
.awb-track-btn{font-size:12.5px;font-weight:700;color:var(--green-700);text-decoration:none;white-space:nowrap}
.awb-track-btn:hover{text-decoration:underline}
.status-amber{color:var(--amber)}
.status-green{color:var(--green-700)}
.status-rajma{color:var(--rajma)}
.timeline{position:relative;max-height:340px;overflow-y:auto;padding-right:6px}
.timeline::-webkit-scrollbar{width:6px}
.timeline::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.tl-step{display:flex;gap:16px;padding-bottom:26px;position:relative}
.tl-step:last-child{padding-bottom:0}
.tl-step:not(:last-child):before{content:"";position:absolute;left:14px;top:30px;bottom:-2px;width:2px;background:var(--line)}
.tl-step.done:not(:last-child):before{background:var(--leaf)}
.tl-mark{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;color:#fff;font-weight:800;font-size:14px}
.tl-step.done .tl-mark{background:var(--leaf);border-color:var(--leaf)}
.tl-step.cur .tl-mark{background:var(--green-700);border-color:var(--green-700);box-shadow:0 0 0 5px rgba(122,189,63,.22)}
.tl-txt b{display:block;font-size:15.5px;color:var(--muted)}
.tl-step.done .tl-txt b{color:var(--green-800)}
.tl-txt span{font-size:13px;color:var(--muted)}

.addr-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.addr-card h4{font-size:15px;margin-bottom:9px}
.addr-card p{font-size:13.5px;color:#3a4633;line-height:1.7;margin:0}
.pay-pill{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:rgba(122,189,63,.14);color:var(--green-700);font-weight:700;font-size:12.5px;padding:7px 13px;border-radius:20px}
.ordl{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin-bottom:14px;display:flex;align-items:center;gap:18px;cursor:pointer;transition:.2s}
.ordl:hover{box-shadow:var(--shadow);border-color:var(--leaf)}
.ordl-imgs{display:flex}
.ordl-imgs img{width:48px;height:48px;border-radius:9px;object-fit:cover;border:2px solid var(--card);margin-left:-14px;background:var(--cream-2)}
.ordl-imgs img:first-child{margin-left:0}
.ordl-info{flex:1}.ordl-info b{font-size:15px}.ordl-info span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ordl-status{font-weight:800;font-size:13.5px;color:var(--green-700)}
.cp-box{display:flex;gap:8px;margin:14px 0}
.cp-box input{flex:1;border:1.5px dashed var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px;font-family:inherit;background:#fff}
.cp-box input:focus{outline:none;border-color:var(--leaf)}
.cp-box button{background:var(--green-800);color:#fff;font-weight:700;font-size:13.5px;padding:0 18px;border-radius:10px}
.cp-box button:hover{background:var(--green-900)}
.cp-applied{display:flex;align-items:center;justify-content:space-between;background:rgba(122,189,63,.13);border:1px dashed var(--leaf);border-radius:10px;padding:10px 13px;margin:14px 0;font-size:13.5px;color:var(--green-800);font-weight:600}
.os-row.disc b{color:var(--leaf)}
.pay-eq{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;background:#eef6e6;border:1px solid #d6e8c4;border-radius:12px;padding:12px 16px;margin:0 0 14px;font-size:14px;color:var(--muted);font-weight:600}
.pay-eq b{color:var(--ink)}
.pay-eq span:last-child{margin-left:auto;font-weight:800;color:var(--green-900)}
.pay-eq span:last-child b{font-family:"Fraunces";font-size:18px;color:var(--green-900)}
.ord-hero.arrived{background:linear-gradient(160deg,#8a5a12,var(--gold))}
.ord-hero.cancelled{background:linear-gradient(160deg,#6b241d,var(--rajma))}
.dotp-card{display:flex;gap:20px;align-items:center;background:var(--card);border:2px solid var(--gold);border-radius:var(--r);padding:24px 26px;margin-bottom:22px;box-shadow:var(--shadow)}
.dotp-icon{font-size:46px;flex-shrink:0}
.dotp-body{flex:1}
.dotp-body h3{font-size:21px;margin-bottom:4px}
.dotp-body p{color:var(--muted);font-size:14px;margin:0 0 14px}
.dotp-code{display:flex;gap:10px;margin-bottom:16px}
.dotp-code span{width:48px;height:56px;border-radius:12px;background:var(--green-900);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Fraunces";font-size:28px;font-weight:600;letter-spacing:.04em}
.dotp-verify{display:flex;gap:10px;max-width:420px}
.dotp-verify input{flex:1;border:1.5px solid var(--line);border-radius:11px;padding:12px 15px;font-size:16px;font-weight:700;letter-spacing:.2em;font-family:inherit;background:#fff}
.dotp-verify input:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(122,189,63,.14)}
.dotp-verify button{background:var(--green-700);color:#fff;font-weight:800;font-size:14.5px;padding:0 22px;border-radius:11px;white-space:nowrap}
.dotp-verify button:hover{background:var(--green-900)}
.dotp-foot{font-size:13px;color:var(--muted);margin-top:12px;font-weight:600}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.cats{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  .nav{flex-wrap:wrap;gap:12px}
  .search{order:3;max-width:100%;flex-basis:100%}
  .feat-grid{grid-template-columns:1fr;gap:32px}
  .cats{grid-template-columns:repeat(2,1fr);gap:16px}
  .grid,.grid.loved{grid-template-columns:repeat(2,1fr);gap:16px}
  .rgrid .rcard{flex:0 0 88%}
  .rslider-arrow{width:36px;height:36px;font-size:15px}
  .rslider-arrow.left{left:-6px}
  .rslider-arrow.right{right:-6px}
  .ravatar{flex-basis:52px;width:52px;height:52px;font-size:18px}
  .rwho b{font-size:17px}
  .rcard p{font-size:15.5px}
  .iconbtn span:not(.acc-av){display:none}
  .iconbtn svg{width:25px;height:25px}
  .brand .bn{font-size:18px}
  .auth{grid-template-columns:1fr}
  .auth-aside{display:none}
  .acc-grid{grid-template-columns:1fr}
  .acc-links{grid-template-columns:1fr}
  .co-grid,.track-grid{grid-template-columns:1fr}
  .otp-box{width:52px;height:58px;font-size:23px}
  .dotp-card{flex-direction:column;text-align:center}
  .dotp-code{justify-content:center}
  .dotp-verify{flex-direction:column;max-width:100%}
}
@media(max-width:540px){
  .grid,.grid.loved{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr}
  .hero .wrap{padding:40px 22px}
  section{padding:44px 0}
  .reviews{margin:0 12px}
}

/* ---------- USES IMAGE SLIDESHOW ---------- */
.uses-slideshow{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:#111;box-shadow:0 8px 28px -10px rgba(45,106,26,.28);user-select:none;max-width:200px;margin:0 auto}
.uses-slides-track{display:flex;height:100%;transition:none}
.uses-slide{min-width:100%;height:100%;position:relative;display:none;flex-direction:column}
.uses-slide.uses-active{display:flex}
.uses-slide img{width:100%;height:100%;object-fit:cover;display:block}
.uses-slide-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,transparent 100%);color:#fff;padding:18px 16px 14px;font-size:14.5px;font-weight:600;letter-spacing:.01em;text-align:center}
.uses-slide-cap b{font-family:"Fraunces";font-size:18px;display:block;margin-bottom:3px;color:#f5e8c0}
.uses-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:4}
.uses-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);border:none;cursor:pointer;padding:0;transition:.2s}
.uses-dot.uses-dot-active{background:#fff;transform:scale(1.2)}
.uses-prev,.uses-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.22);backdrop-filter:blur(4px);border:none;color:#fff;font-size:20px;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:4;transition:.18s;line-height:1}
.uses-prev{left:10px}.uses-next{right:10px}
.uses-prev:hover,.uses-next:hover{background:rgba(255,255,255,.42)}

/* ================= EDITORIAL ABOUT/FARM DESIGN ================= */
.about-editorial{
  --ae-sage:#F1F3E8; --ae-milk:#FFFDF7; --ae-ink:#241F17; --ae-ink-soft:#5B5546;
  --ae-pasture:#33502F; --ae-pasture-dark:#233A20; --ae-ghee:#C6892B; --ae-ghee-light:#EAD9B4;
  --ae-soil:#1B1712; --ae-line: rgba(36,31,23,0.14);
  background:var(--ae-sage); color:var(--ae-ink); font-family:'Work Sans',sans-serif; line-height:1.65;
}
.about-editorial *{box-sizing:border-box}
.about-editorial .ae-wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.about-editorial h1,.about-editorial h2,.about-editorial h3{font-family:'Fraunces',serif;font-weight:500;margin:0;color:var(--ae-ink)}
.about-editorial .ae-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ae-pasture-dark);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.about-editorial .ae-eyebrow::before{content:"";width:26px;height:1px;background:var(--ae-ghee);display:inline-block}
.about-editorial .ae-backbar{padding:22px 0 0}
.about-editorial .ae-backlink{font-family:'Work Sans',sans-serif;font-size:13.5px;font-weight:600;color:var(--ae-ink-soft);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.about-editorial .ae-backlink:hover{color:var(--ae-pasture)}

.about-editorial .ae-hero{padding:56px 0 90px;border-bottom:1px solid var(--ae-line);position:relative}
.about-editorial .ae-hero h1{font-size:clamp(32px,5.4vw,58px);line-height:1.08;max-width:820px;letter-spacing:-.01em}
.about-editorial .ae-hero h1 em{font-style:italic;color:var(--ae-pasture)}
.about-editorial .ae-hero p.ae-lede{margin-top:28px;max-width:600px;font-size:19px;color:var(--ae-ink-soft)}
.about-editorial .ae-hero-meta{margin-top:56px;display:flex;gap:0;border-top:1px solid var(--ae-line);padding-top:0;flex-wrap:wrap}
.about-editorial .ae-hero-meta div{flex:1;min-width:150px;padding:20px 28px 0 0;border-right:1px solid var(--ae-line)}
.about-editorial .ae-hero-meta div:last-child{border-right:none}
.about-editorial .ae-hero-meta .ae-num{font-family:'Fraunces',serif;font-size:24px;color:var(--ae-pasture)}
.about-editorial .ae-hero-meta .ae-lbl{font-size:13px;color:var(--ae-ink-soft);margin-top:4px}

.about-editorial .ae-problem{background:var(--ae-soil);color:#EDE9DE;padding:90px 0}
.about-editorial .ae-problem .ae-eyebrow{color:var(--ae-ghee-light)}
.about-editorial .ae-problem .ae-eyebrow::before{background:var(--ae-ghee)}
.about-editorial .ae-problem-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-top:36px;align-items:start}
.about-editorial .ae-problem h2{color:#FBF8EF;font-size:clamp(24px,3vw,34px);line-height:1.25}
.about-editorial .ae-problem-copy p{color:#C9C3B2;font-size:16px}
.about-editorial .ae-stat-stack{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.about-editorial .ae-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);gap:20px;flex-wrap:wrap}
.about-editorial .ae-stat-row .ae-term{font-size:14px;color:#B8B2A0;white-space:nowrap}
.about-editorial .ae-stat-row .ae-desc{font-size:14px;color:#EDE9DE;text-align:right;max-width:280px}

.about-editorial .ae-founder{padding:90px 0}
.about-editorial .ae-founder-top{max-width:760px}
.about-editorial .ae-founder-top h2{font-size:clamp(26px,3.4vw,36px);line-height:1.2}
.about-editorial .ae-founder-body{margin-top:48px;display:grid;grid-template-columns:220px 1fr;gap:56px}
.about-editorial .ae-founder-card{background:var(--ae-milk);border:1px solid var(--ae-line);border-radius:2px;padding:24px 22px;position:sticky;top:24px;height:fit-content}
.about-editorial .ae-founder-card .ae-name{font-family:'Fraunces',serif;font-size:20px}
.about-editorial .ae-founder-card .ae-role{font-size:13px;color:var(--ae-ink-soft);margin-top:4px}
.about-editorial .ae-founder-card hr{border:none;border-top:1px solid var(--ae-line);margin:18px 0}
.about-editorial .ae-founder-card dl{margin:0;font-size:13px}
.about-editorial .ae-founder-card dt{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ae-ink-soft);margin-top:14px}
.about-editorial .ae-founder-card dt:first-child{margin-top:0}
.about-editorial .ae-founder-card dd{margin:3px 0 0;color:var(--ae-ink)}
.about-editorial .ae-founder-text p{font-size:17px;color:var(--ae-ink-soft)}
.about-editorial .ae-founder-text p strong{color:var(--ae-ink);font-weight:500}
.about-editorial .ae-founder-text .ae-pull{font-family:'Fraunces',serif;font-style:italic;font-size:22px;line-height:1.5;color:var(--ae-pasture-dark);border-left:2px solid var(--ae-ghee);padding-left:24px;margin:36px 0}

.about-editorial .ae-timeline{background:var(--ae-milk);padding:90px 0;border-top:1px solid var(--ae-line);border-bottom:1px solid var(--ae-line)}
.about-editorial .ae-timeline h2{font-size:clamp(24px,3vw,30px);max-width:600px}
.about-editorial .ae-tl-list{margin-top:48px}
.about-editorial .ae-tl-item{display:grid;grid-template-columns:120px 1fr;gap:32px;padding:26px 0;border-top:1px solid var(--ae-line)}
.about-editorial .ae-tl-item:last-child{border-bottom:1px solid var(--ae-line)}
.about-editorial .ae-tl-year{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ae-ghee);padding-top:2px}
.about-editorial .ae-tl-title{font-size:17px;font-weight:500}
.about-editorial .ae-tl-desc{font-size:15px;color:var(--ae-ink-soft);margin-top:6px;max-width:600px}

.about-editorial .ae-mission{padding:90px 0}
.about-editorial .ae-mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.about-editorial .ae-mission-card{border-top:2px solid var(--ae-pasture);padding-top:20px}
.about-editorial .ae-mission-card h3{font-size:19px}
.about-editorial .ae-mission-card p{font-size:15px;color:var(--ae-ink-soft);margin-top:10px}

.about-editorial .ae-stamps{background:var(--ae-pasture-dark);padding:90px 0;color:var(--ae-sage)}
.about-editorial .ae-stamps .ae-eyebrow{color:var(--ae-ghee-light)}
.about-editorial .ae-stamps .ae-eyebrow::before{background:var(--ae-ghee)}
.about-editorial .ae-stamps h2{color:#F7F5EA;font-size:clamp(24px,3vw,32px);max-width:640px}
.about-editorial .ae-stamps p.ae-sub{color:#C7D0BE;max-width:560px;margin-top:16px;font-size:16px}
.about-editorial .ae-stamp-row{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.about-editorial .ae-stamp{background:var(--ae-pasture-dark);padding:30px 22px;text-align:center}
.about-editorial .ae-stamp .ae-ring{width:64px;height:64px;border:1.5px solid var(--ae-ghee);border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-style:italic;font-size:12px;color:var(--ae-ghee-light);line-height:1.2}
.about-editorial .ae-stamp .ae-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.04em;color:#EDE9DE}

.about-editorial .ae-products{padding:90px 0}
.about-editorial .ae-gallery{padding:90px 0;border-top:1px solid var(--ae-line)}
.about-editorial .ae-gallery h2{font-size:clamp(24px,3vw,32px);max-width:600px}
.about-editorial .ae-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:10px;margin-top:44px}
.about-editorial .ae-gallery-grid a{display:block;overflow:hidden;position:relative;border-radius:2px}
.about-editorial .ae-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.about-editorial .ae-gallery-grid a:hover img{transform:scale(1.06)}
.about-editorial .ae-gallery-grid a.wide{grid-column:span 2}
.about-editorial .ae-gallery-grid a.tall{grid-row:span 2}
@media (max-width:820px){
  .about-editorial .ae-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .about-editorial .ae-gallery-grid a.wide{grid-column:span 2}
  .about-editorial .ae-gallery-grid a.tall{grid-row:span 1}
}
.about-editorial .ae-products h2{font-size:clamp(24px,3vw,32px);max-width:600px}
.about-editorial .ae-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--ae-line);border-left:1px solid var(--ae-line)}
.about-editorial .ae-prod{padding:30px 24px;border-right:1px solid var(--ae-line);border-bottom:1px solid var(--ae-line)}
.about-editorial .ae-prod .ae-idx{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ae-ghee)}
.about-editorial .ae-prod h3{font-size:18px;margin-top:14px}
.about-editorial .ae-prod p{font-size:14px;color:var(--ae-ink-soft);margin-top:8px}

.about-editorial .ae-cta{padding:90px 0 100px;text-align:center}
.about-editorial .ae-cta h2{font-size:clamp(26px,4vw,40px);max-width:680px;margin:0 auto;line-height:1.25}
.about-editorial .ae-cta p{margin-top:18px;color:var(--ae-ink-soft);font-size:16px}
.about-editorial .ae-cta-btn{display:inline-block;margin-top:32px;padding:14px 34px;background:var(--ae-pasture);color:var(--ae-milk);font-size:14px;text-decoration:none;border-radius:2px;letter-spacing:.02em;cursor:pointer;border:none;font-family:'Work Sans',sans-serif}
.about-editorial .ae-cta-btn:hover{background:var(--ae-pasture-dark)}

@media (max-width:820px){
  .about-editorial .ae-problem-grid{grid-template-columns:1fr;gap:36px}
  .about-editorial .ae-founder-body{grid-template-columns:1fr}
  .about-editorial .ae-founder-card{position:static}
  .about-editorial .ae-mission-grid{grid-template-columns:1fr;gap:32px}
  .about-editorial .ae-stamp-row{grid-template-columns:repeat(2,1fr)}
  .about-editorial .ae-prod-grid{grid-template-columns:repeat(2,1fr)}
  .about-editorial .ae-hero-meta{flex-direction:column}
  .about-editorial .ae-hero-meta div{border-right:none;border-bottom:1px solid var(--ae-line);padding-bottom:16px;margin-bottom:16px}
}

/* ================= ABOUT PAGE (v2) ================= */
.about-v2{
  --a2-forest:#173d2b; --a2-forest-2:#24583d; --a2-leaf:#6b9b61; --a2-cream:#f1f8ed;
  --a2-paper:#fbfef9; --a2-gold:#c99743; --a2-ink:#1d2b22; --a2-muted:#657166;
  --a2-line:#dfe5db; --a2-soft-green:#deeedb; --a2-shadow:0 20px 60px rgba(23,61,43,.12);
  background:var(--a2-cream);color:var(--a2-ink);
  font-family:'DM Sans',system-ui,sans-serif;line-height:1.7;
}
.about-v2 *{box-sizing:border-box}
.about-v2 a{color:inherit;text-decoration:none}
.about-v2 h1,.about-v2 h2,.about-v2 h3,.about-v2 h4{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;color:var(--a2-ink);margin:0;line-height:1.12}
.about-v2 .a2-container{width:min(1160px,calc(100% - 48px));margin:0 auto}
.about-v2 .a2-serif{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.about-v2 .a2-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--a2-forest-2);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.about-v2 .a2-kicker::before{content:'';width:30px;height:2px;background:var(--a2-gold)}

/* Hero */
.about-v2 .a2-hero{position:relative;overflow:hidden;min-height:600px;padding:76px 0 104px;color:#fff;
  background:radial-gradient(circle at 86% 26%,rgba(201,151,67,.22),transparent 21rem),linear-gradient(112deg,#123524 0%,#1e5338 58%,#2f6945 100%)}
.about-v2 .a2-hero::after{content:'';position:absolute;width:620px;height:620px;right:-160px;bottom:-290px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.about-v2 .a2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:88px;align-items:center}
.about-v2 .a2-hero .a2-kicker{color:#e7d5a5}
.about-v2 .a2-hero h1{max-width:700px;margin:22px 0 24px;color:#fff;font-size:clamp(3.1rem,6.3vw,6.2rem);line-height:.98;letter-spacing:-.045em}
.about-v2 .a2-hero h1 em{color:#e3bd6d;font-style:italic}
.about-v2 .a2-hero-intro{max-width:610px;margin:0;color:#d8e4d9;font-size:1.12rem}
.about-v2 .a2-hero-badge{justify-self:end;width:min(100%,360px);padding:30px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}
.about-v2 .a2-hero-badge .a2-badge-mark{width:74px;height:74px;display:grid;place-items:center;margin-bottom:26px;border:1px solid #e2bb69;border-radius:50%;color:#e2bb69;font-family:Georgia,serif;font-size:2rem}
.about-v2 .a2-hero-badge h2{margin:0;color:#fff;font-size:1.35rem;line-height:1.35}
.about-v2 .a2-hero-badge p{margin:10px 0 0;color:#cfddd0;font-size:.92rem}
.about-v2 .a2-hero-scroll{position:absolute;z-index:1;bottom:34px;left:max(24px,calc((100% - 1160px) / 2));color:#dce9db;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-v2 .a2-hero-scroll::after{content:'';display:inline-block;width:48px;height:1px;margin-left:14px;vertical-align:middle;background:#c99743}
.about-v2 .a2-backlink{display:flex;width:fit-content;align-items:center;gap:6px;margin:-30px 0 30px;color:#cfe3cd;font-size:.85rem;font-weight:600;cursor:pointer}
.about-v2 .a2-backlink:hover{color:#e3bd6d}

/* Sections */
.about-v2 .a2-section{padding:112px 0}
.about-v2 .a2-section-heading{max-width:760px}
.about-v2 .a2-section-heading h2{margin:18px 0 0;color:var(--a2-forest);font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.06;letter-spacing:-.035em}
.about-v2 .a2-section-heading p{max-width:670px;margin:22px 0 0;color:var(--a2-muted);font-size:1.05rem}

.about-v2 .a2-about{background:var(--a2-paper)}
.about-v2 .a2-about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.about-v2 .a2-about-copy{color:var(--a2-muted);font-size:1.05rem}
.about-v2 .a2-about-copy p{margin:0 0 22px}
.about-v2 .a2-about-copy p:first-child{color:var(--a2-ink);font-size:1.22rem;font-weight:600;line-height:1.55}
.about-v2 .a2-purpose-card{padding:28px;background:var(--a2-soft-green);border-left:3px solid var(--a2-gold)}
.about-v2 .a2-purpose-card span{color:var(--a2-forest-2);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-v2 .a2-purpose-card p{margin:12px 0 0;color:var(--a2-forest);font-family:'DM Serif Display',Georgia,serif;font-size:1.55rem;line-height:1.3}

.about-v2 .a2-why{background:var(--a2-cream)}
.about-v2 .a2-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about-v2 .a2-why-copy p{margin:0 0 22px;color:var(--a2-muted);font-size:1.05rem}
.about-v2 .a2-why-copy p:first-child{color:var(--a2-ink);font-size:1.28rem;line-height:1.55}
.about-v2 .a2-quote{position:relative;margin:0;padding:34px 34px 34px 42px;background:var(--a2-forest);color:#fff;box-shadow:var(--a2-shadow)}
.about-v2 .a2-quote::before{content:'\201C';position:absolute;top:8px;left:22px;color:var(--a2-gold);font-family:Georgia,serif;font-size:5rem;line-height:1}
.about-v2 .a2-quote p{position:relative;margin:0;font-family:'DM Serif Display',Georgia,serif;font-size:2rem;line-height:1.2}
.about-v2 .a2-quote small{display:block;margin-top:24px;color:#bdd0bf;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

.about-v2 .a2-problem{color:#fff;background:var(--a2-forest)}
.about-v2 .a2-problem .a2-kicker{color:#e6d29c}
.about-v2 .a2-problem .a2-section-heading h2{color:#fff}
.about-v2 .a2-problem .a2-section-heading p{color:#c9d9ca}
.about-v2 .a2-problem-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.about-v2 .a2-problem-copy{margin-top:46px;max-width:720px;color:#d4e0d5;font-size:1.1rem}
.about-v2 .a2-problem-copy strong{color:#fff}
.about-v2 .a2-figure{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:25px 0;border-top:1px solid rgba(255,255,255,.22)}
.about-v2 .a2-figure:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.about-v2 .a2-figure-number{color:#e0b965;font-family:'DM Serif Display',Georgia,serif;font-size:3.2rem;line-height:1}
.about-v2 .a2-figure-text{color:#d4e0d5;font-size:.9rem;line-height:1.45}
.about-v2 .a2-figure-text strong{display:block;color:#fff;font-size:1rem}

.about-v2 .a2-solution{background:var(--a2-paper)}
.about-v2 .a2-solution-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:92px;align-items:center}
.about-v2 .a2-solution-panel{padding:46px;background:var(--a2-soft-green)}
.about-v2 .a2-solution-panel h3{margin:0 0 24px;color:var(--a2-forest);font-size:1.7rem}
.about-v2 .a2-solution-panel p{margin:0;color:var(--a2-muted);font-size:1.04rem}
.about-v2 .a2-product-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:32px;border-top:1px solid var(--a2-line)}
.about-v2 .a2-product{padding:20px 0;border-bottom:1px solid var(--a2-line)}
.about-v2 .a2-product strong{display:block;color:var(--a2-forest);font-size:1.05rem}
.about-v2 .a2-product span{display:block;color:var(--a2-muted);font-size:.86rem}
.about-v2 .a2-solution-copy p{color:var(--a2-muted);font-size:1.08rem}
.about-v2 .a2-solution-copy p:first-of-type{color:var(--a2-ink);font-family:'DM Serif Display',Georgia,serif;font-size:2rem;line-height:1.25}

.about-v2 .a2-leader{background:#e3f1df}
.about-v2 .a2-leader-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:90px;align-items:center}
.about-v2 .a2-leader-portrait{position:relative;width:100%;aspect-ratio:1 / 1;background:var(--a2-forest);overflow:hidden}
.about-v2 .a2-leader-portrait::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,44,31,.28));pointer-events:none}
.about-v2 .a2-leader-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.about-v2 .a2-leader-content h2{margin:16px 0 8px;color:var(--a2-forest);font-size:clamp(2.2rem,4vw,3.8rem);line-height:1}
.about-v2 .a2-leader-role{color:var(--a2-forest-2);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.about-v2 .a2-leader-content p{max-width:650px;color:var(--a2-muted);font-size:1rem}
.about-v2 .a2-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.about-v2 .a2-credential{padding:8px 13px;border:1px solid #cbd8c9;color:var(--a2-forest-2);font-size:.78rem;font-weight:600}

.about-v2 .a2-closing{padding:118px 0;text-align:center;background:var(--a2-gold);color:var(--a2-forest)}
.about-v2 .a2-closing h2{max-width:780px;margin:0 auto;color:var(--a2-forest);font-size:clamp(2.5rem,5vw,5.3rem);line-height:.98;letter-spacing:-.04em}
.about-v2 .a2-closing p{max-width:610px;margin:24px auto 0;font-size:1.05rem}
.about-v2 .a2-note{padding:22px 0 26px;background:var(--a2-cream);color:var(--a2-muted);font-size:.76rem;line-height:1.6}

@media (max-width:820px){
  .about-v2 .a2-container{width:min(100% - 36px,680px)}
  .about-v2 .a2-hero{min-height:auto;padding:56px 0 84px}
  .about-v2 .a2-hero-grid,.about-v2 .a2-about-grid,.about-v2 .a2-why-grid,.about-v2 .a2-problem-layout,.about-v2 .a2-solution-grid,.about-v2 .a2-leader-grid{grid-template-columns:1fr;gap:42px}
  .about-v2 .a2-hero-badge{justify-self:start}
  .about-v2 .a2-hero-scroll{display:none}
  .about-v2 .a2-section{padding:78px 0}
  .about-v2 .a2-about-grid{gap:34px}
  .about-v2 .a2-problem-copy{margin-top:34px}
  .about-v2 .a2-solution-panel{padding:30px}
  .about-v2 .a2-closing{padding:86px 0}
}
@media (max-width:480px){
  .about-v2 .a2-hero h1{font-size:3.25rem}
  .about-v2 .a2-hero-intro{font-size:1rem}
  .about-v2 .a2-quote p{font-size:1.65rem}
  .about-v2 .a2-product-list{grid-template-columns:1fr}
}
