
/* Layout: a coffee-house shop window. Bottles stand on warm shelves; each oil keeps its pack colour. */
:root{
  --bg:#fffaf3; --surface:#ffffff; --tint:#f5ebdd; --ink:#2a1a12; --muted:#6d5a4b; --line:#eadccb;
  --brand:#6f4428; --brand-ink:#fff8ef; --gold:#e2a400; --gold-ink:#8a5e00;
  --sun:#e0a100; --can:#2f7a2c; --palm:#c62127;
  --hero:#3b2416; --hero-ink:#fff4e2; --hero-muted:#e6cfb2; --glow:#f2b705;
  --shadow:0 18px 40px -22px rgba(59,36,22,.45);
  --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --font-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-script:"Fraunces",Georgia,serif;
  --font-data:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-theme="night"]{
  --bg:#120c09; --surface:#1c1410; --tint:#211812; --ink:#f6ece2; --muted:#bfae9e; --line:#3a2b22;
  --brand:#d29a63; --brand-ink:#1a110c; --gold:#f0b81c; --gold-ink:#f3c84f;
  --sun:#f0b81c; --can:#5fb35a; --palm:#ef4a4f;
  --hero:#0b0705; --hero-ink:#f6ece2; --hero-muted:#c9b4a0; --glow:#c98a2c;
  --shadow:0 18px 40px -22px rgba(0,0,0,.8);
  color-scheme:dark;
}
:root[data-theme="harvest"]{
  --bg:#3b2416; --surface:#4a2e1d; --tint:#56351f; --ink:#fff4e2; --muted:#ecd4b4; --line:#6e4a33;
  --brand:#f2b705; --brand-ink:#2a1a12; --gold:#ffcf3f; --gold-ink:#ffd45c;
  --sun:#f6b800; --can:#4caf50; --palm:#ef4b3f;
  --hero:#c84b1a; --hero-ink:#fff7e8; --hero-muted:#ffe2c4; --glow:#ffd23f;
  --shadow:0 18px 40px -20px rgba(0,0,0,.55);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;transition:background .3s,color .3s}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;line-height:1;margin:0;text-wrap:balance}
h1{font-size:clamp(2.9rem,7.4vw,5.6rem);font-weight:800}
h2{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:800}
h3{font-size:1.55rem;font-weight:700}
p{margin:0}
a{color:inherit}
.script{font-family:var(--font-script);font-style:italic;text-transform:none;font-weight:500;letter-spacing:0}
.eyebrow{font-family:var(--font-data);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
section{padding-block:80px}
.tint{background:var(--tint)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.1rem;padding:12px 22px;border-radius:999px;text-decoration:none;border:2px solid currentColor;color:inherit;background:transparent;cursor:pointer;transition:transform .15s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.gold{background:var(--glow);border-color:var(--glow);color:#2a1a12}
.btn.wa{background:#25d366;border-color:#25d366;color:#08290f}
.btn.block{width:100%}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* group bar + header */
.group-bar{background:#1b110b;color:#f3e7da;font-size:.82rem}
.group-bar .wrap{display:flex;gap:14px;align-items:center;padding-block:6px;flex-wrap:wrap}
.group-bar a{color:inherit;text-decoration:none;opacity:.8}
.group-bar a:hover,.group-bar a[aria-current]{opacity:1;text-decoration:underline}
.group-bar .sep{opacity:.45}
.group-bar .ship{margin-left:auto;opacity:.85}
@media (max-width:600px){.group-bar .ship{display:none}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:14px;padding-block:10px}
.mark{display:inline-flex;flex-direction:column;text-decoration:none;flex-shrink:0}
.mark .row{display:flex;font-family:var(--font-display);font-weight:800;font-size:1.55rem;line-height:1;letter-spacing:.02em}
.mark .h{background:linear-gradient(90deg,#5a1013,#8f1d21);color:#0f0d0b;padding:3px 7px 2px;-webkit-text-stroke:.6px #e9d9d0}
.mark .i{background:#0f0d0b;color:#e3262c;font-style:italic;padding:3px 8px 2px}
.mark small{font-size:.56rem;font-weight:600;color:var(--muted);margin-top:3px}
nav.main{display:flex;gap:20px;margin-left:12px}
nav.main a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
@media (max-width:960px){nav.main{display:none}}
.tools{margin-left:auto;display:flex;align-items:center;gap:8px}
.iconbtn{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.iconbtn:hover{border-color:var(--brand)}
.count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--palm);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}
.themes{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.themes button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.themes button[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 2px var(--surface) inset}
.themes .t-day{background:linear-gradient(135deg,#fff 50%,#f1e2cf 50%)}
.themes .t-night{background:linear-gradient(135deg,#1c1410 50%,#000 50%)}
.themes .t-harvest{background:conic-gradient(#3b2416 0 25%,#f2b705 0 50%,#2f7a2c 0 75%,#c62127 0)}
select.cur{font:inherit;font-size:.85rem;font-weight:600;padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
@media (max-width:560px){select.cur{display:none}.themes{gap:2px;padding:3px}.themes button{width:24px;height:24px}.iconbtn{width:38px;height:38px}.mark small{display:none}.mark .row{font-size:1.3rem}header.top .wrap{gap:8px}.tools{gap:6px}}

/* hero */
.hero{background:var(--hero);color:var(--hero-ink);padding-block:56px 0;overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;inset:auto -10% -40% 30%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 55%,transparent),transparent);opacity:.55;pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:end;position:relative}
.hero .wrap>*{min-width:0}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.hero .eyebrow{color:var(--hero-muted)}
.hero h1 .script{color:var(--glow);font-size:.82em;display:block;margin-top:.08em}
.hero .lead{color:var(--hero-muted);margin-top:18px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding-bottom:56px}
.hero .cta .btn:not(.gold){color:var(--hero-ink)}
.shelf{position:relative;overflow:visible;max-width:100%;display:flex;justify-content:center;align-items:flex-end;gap:0;min-height:380px}
.shelf img{height:clamp(200px,32vw,400px);width:auto;max-width:40%;object-fit:contain;filter:drop-shadow(0 26px 22px rgba(0,0,0,.35));transition:transform .4s}
.shelf img:nth-child(1){transform:translateX(14%) rotate(-4deg);z-index:1}
.shelf img:nth-child(2){z-index:3;height:clamp(230px,36vw,440px)}
@media (max-width:560px){.shelf{min-height:260px}.pricetag{width:90px;height:90px;right:0}.pricetag b{font-size:1.3rem}}
.shelf img:nth-child(3){transform:translateX(-14%) rotate(4deg);z-index:2}
@media (prefers-reduced-motion:no-preference){.shelf:hover img:nth-child(1){transform:translateX(6%) rotate(-7deg)}.shelf:hover img:nth-child(3){transform:translateX(-6%) rotate(7deg)}}
.pricetag{position:absolute;top:8%;right:4%;z-index:4;background:var(--glow);color:#2a1a12;border-radius:50%;width:112px;height:112px;display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:1;transform:rotate(10deg);box-shadow:var(--shadow)}
.pricetag small{display:block;font-size:.8rem;letter-spacing:.06em}
.pricetag b{font-size:1.6rem}
.pricetag i{font-style:normal;font-size:.7rem;display:block;margin-top:2px}

/* trust strip */
.trust{background:var(--brand);color:var(--brand-ink)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;padding-block:14px;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust span::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}

footer{background:#1b110b;color:#e9dccf;padding-block:44px}
footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
footer .wrap>*{min-width:0}
@media (max-width:820px){footer .wrap{grid-template-columns:1fr}}
footer p,footer li{color:#cbb9a7;font-size:.93rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
footer .eyebrow{color:#a99583}
footer .mark small{color:#cbb9a7}
.sign{font-family:var(--font-script);font-style:italic;font-size:1.3rem;color:#f2b705;margin-top:12px}

.scrim{position:fixed;inset:0;background:rgba(15,8,4,.55);z-index:40}
.search{position:fixed;inset:0 0 auto 0;z-index:41;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.25);padding-top:env(safe-area-inset-top,0px)}
.search .wrap{padding-block:16px;display:grid;gap:10px}
.search .bar{display:flex;gap:10px;align-items:center}
.search input{flex:1;font:inherit;font-size:1.2rem;padding:12px 16px;border-radius:999px;border:2px solid var(--brand);background:var(--surface);color:var(--ink);min-width:0}
.results{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:60vh;overflow:auto}
.results a{display:block;padding:10px 14px;border-radius:12px;text-decoration:none;background:var(--surface);border:1px solid var(--line)}
.results a:hover,.results a:focus{border-color:var(--brand)}
.results b{display:block}
.results span{color:var(--muted);font-size:.88rem}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:600;z-index:50;box-shadow:var(--shadow);max-width:calc(100% - 32px);text-align:center}
.rate{font-size:.78rem;color:var(--muted)}

.hero .wrap{grid-template-columns:1.1fr 1fr}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}
@media (max-width:760px){.doors{grid-template-columns:1fr}}
.door{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-top:8px solid var(--c);border-radius:18px;padding:26px;text-decoration:none;min-width:0;box-shadow:var(--shadow);transition:transform .2s}
.door:hover{transform:translateY(-3px)}
.door .place{font-family:var(--font-data);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.door p{color:var(--muted)}
.door .go{margin-top:auto;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.1rem}
.pts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.pts li{font-size:.82rem;font-weight:600;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 16%,transparent)}
.journey{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:860px){.journey{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.journey{grid-template-columns:1fr}}
.journey li{border-top:6px solid var(--c);padding-top:14px}
.journey b{display:block;font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem}
.journey span{color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding-bottom:56px}
.hero .cta .btn:not(.gold){color:var(--hero-ink)}
