/** Shopify CDN: Minification failed

Line 763:0 Expected "}" to go with "{"

**/
/* oh'g — base stylesheet */
:root {
  --red: #c14a2a;
  --red-deep: #9e1500;
  --red-ink: #3a0d05;
  --beige: #efe6d2;
  --beige-soft: #f7f0de;
  --beige-deep: #e1d4b5;
  --matcha: #9bb14a;
  --matcha-deep: #6b8030;
  --bone: #fbf6e9;
  --ink: #1a1107;
  --char: #2a1d10;
  --line: color-mix(in oklab, var(--ink) 14%, transparent);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--beige);
  color: var(--ink);
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "ss02";
}
body { overflow-x: hidden; cursor: none; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; border: 0; background: none; cursor: none; color: inherit; }

/* ——— Type */
.ohg-display { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; letter-spacing: -.04em; line-height: .86; font-variation-settings: "opsz" 96; }
.ohg-serif  { font-family: "Instrument Serif", serif; font-weight: 400; }
.ohg-mono   { font-family: "JetBrains Mono", ui-monospace, monospace; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; }

/* ——— Custom cursor */
.ohg-cursor {
  position: fixed; top: 0; left: 0; width: 22px; height: 22px; border-radius: 50%;
  background: var(--red); pointer-events: none; z-index: 9000; mix-blend-mode: multiply;
  transform: translate(-50%,-50%); transition: width .25s, height .25s, background .25s;
  will-change: transform;
}
.ohg-cursor.hover { width: 64px; height: 64px; background: var(--matcha); }
.ohg-cursor.dark  { background: var(--bone); mix-blend-mode: difference; }
.ohg-cursor-dot {
  position: fixed; top: 0; left: 0; width: 4px; height: 4px; border-radius: 50%;
  background: var(--ink); pointer-events: none; z-index: 9001; transform: translate(-50%,-50%);
}
@media (hover: none) {
  .ohg-cursor, .ohg-cursor-dot { display: none; }
  body, button { cursor: auto; }
}

/* ——— Grain overlay */
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 60;
  mix-blend-mode: multiply; opacity: .16;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.20 0 0 0 0 0.10 0 0 0 0 0.06 0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ——— Reveal animations */
.reveal   { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal-x  { opacity: 0; transform: translateX(-40px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal-x.in { opacity: 1; transform: none; }
.stagger > *   { opacity: 0; transform: translateY(20px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.stagger.in > * { opacity: 1; transform: none; }
.stagger.in > *:nth-child(1) { transition-delay: .05s; }
.stagger.in > *:nth-child(2) { transition-delay: .12s; }
.stagger.in > *:nth-child(3) { transition-delay: .19s; }
.stagger.in > *:nth-child(4) { transition-delay: .26s; }
.stagger.in > *:nth-child(5) { transition-delay: .33s; }
.stagger.in > *:nth-child(6) { transition-delay: .40s; }
.stagger.in > *:nth-child(7) { transition-delay: .47s; }
.stagger.in > *:nth-child(8) { transition-delay: .54s; }

/* ——— Weather strip */
.ohg-weather {
  background: var(--ink); color: var(--beige);
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 32px; font-family: "JetBrains Mono"; font-size: 10.5px;
  letter-spacing: .18em; text-transform: uppercase;
  border-bottom: 1px solid color-mix(in oklab, var(--beige) 25%, transparent);
  overflow: hidden; gap: 32px;
}
.ohg-weather .strip { overflow: hidden; flex: 1; mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.ohg-weather .strip-track { display: inline-flex; gap: 48px; animation: ohg-tick 35s linear infinite; white-space: nowrap; }
.ohg-weather .strip-track .acc { color: var(--matcha); }
.ohg-weather .right { flex-shrink: 0; color: var(--matcha); }

/* ——— Navbar */
.ohg-navbar {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in oklab, var(--beige) 95%, transparent);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  padding: 12px 32px; height: 80px;
}
.navbar-logo { display: flex; align-items: center; }
.navbar-logo img { height: 50px; width: auto; }

/* ——— Nav */
.ohg-nav {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in oklab, var(--beige) 92%, transparent);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--line);
  display: none;
}
.ohg-nav-inner { display: flex; align-items: center; justify-content: space-between; padding: 16px 32px; gap: 24px; }
.ohg-brand { display: flex; align-items: center; gap: 8px; }
.ohg-brand img { height: 28px; width: auto; }
.ohg-nav ul { display: flex; gap: 32px; list-style: none; }
.ohg-nav ul a { font-family: "Bricolage Grotesque"; font-weight: 500; font-size: 14px; letter-spacing: -.005em; color: var(--ink); opacity: .85; position: relative; }
.ohg-nav ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.ohg-nav ul a:hover { opacity: 1; }
.ohg-nav ul a:hover::after { transform: scaleX(1); }
.ohg-nav .cta { display: flex; align-items: center; gap: 14px; }
.ohg-nav .bag { font-family: "Bricolage Grotesque"; font-weight: 600; font-size: 13px; border: 1px solid var(--ink); padding: 10px 16px; border-radius: 999px; background: var(--ink); color: var(--beige); display: inline-flex; align-items: center; gap: 8px; }
.ohg-nav .bag b { background: var(--matcha); color: var(--ink); border-radius: 999px; padding: 2px 7px; font-size: 11px; font-weight: 700; }
.ohg-nav .lang { font-family: "JetBrains Mono"; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }

/* ——— Hero v2 - Video-first with red & white text, bottom-left layout */
.ohg-hero-v2 {
  position: relative; overflow: hidden; min-height: 100vh;
  display: flex; align-items: flex-end; justify-content: flex-start;
  border-bottom: 1px solid var(--red-ink);
}
.ohg-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.ohg-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(135deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.25) 50%, rgba(0,0,0,.35) 100%);
}
.ohg-hero-content {
  position: relative; z-index: 2; text-align: left; color: var(--bone);
  padding: 32px; max-width: 90%; display: flex; flex-direction: column;
  align-items: flex-start; justify-content: flex-end; gap: 24px;
}
.ohg-hero-headline {
  font-size: clamp(48px, 12vw, 140px); line-height: .92; letter-spacing: -.035em;
  font-weight: 800;
  font-family: "Bekar", "Bricolage Grotesque", sans-serif;
  display: flex; flex-direction: column; gap: 12px; color: #8B3A3A;
}
.ohg-hero-headline span { display: block; }
.ohg-hero-headline em {
  font-family: "Bekar", "Bricolage Grotesque", sans-serif; font-style: normal; font-weight: 800;
  color: #8B3A3A; letter-spacing: -.035em;
}
.ohg-hero-body {
  font-size: 16px; line-height: 1.6; max-width: 50ch;
  font-weight: 400; color: #8B3A3A;
  font-family: "Bricolage Grotesque";
  letter-spacing: -.005em;
}
.ohg-hero-cta { display: flex; gap: 16px; justify-content: flex-start; flex-wrap: wrap; margin-top: 12px; }

.ohg-btn { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 15px; padding: 16px 28px; border-radius: 999px; border: 2px solid var(--red); display: inline-flex; align-items: center; gap: 10px; transition: transform .35s cubic-bezier(.2,.7,.2,1), background .3s, color .3s; cursor: pointer; }
.ohg-btn.solid { background: var(--red); color: #fff; border-color: var(--red); }
.ohg-btn.solid:hover { background: #fff; color: var(--red); transform: translateY(-3px); box-shadow: 0 20px 50px rgba(193, 74, 42, .3); }
.ohg-btn.ghost { color: #fff; border-color: #fff; }
.ohg-btn.ghost:hover { background: rgba(255,255,255,.1); transform: translateY(-3px); }
.ohg-btn .arrow { display: inline-block; transition: transform .3s; }
.ohg-btn:hover .arrow { transform: translateX(5px); }
/* ——— Marquee */
.ohg-marquee { background: var(--ink); color: var(--beige); overflow: hidden; padding: 18px 0; border-bottom: 1px solid var(--ink); }
.ohg-marquee-track { display: flex; gap: 48px; animation: ohg-tick 28s linear infinite; white-space: nowrap; font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 28px; letter-spacing: -.015em; }
.ohg-marquee-track .acc { color: var(--matcha); }
.ohg-marquee-track .red { color: var(--red); }
@keyframes ohg-tick { from{ transform: translateX(0); } to{ transform: translateX(-50%); } }

/* ——— Triptych */
.ohg-tript { display: grid; grid-template-columns: 1fr 1fr 1fr; min-height: 90vh; border-bottom: 1px solid var(--line); }
.ohg-tript .panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; overflow: hidden; cursor: none; color: var(--bone); }
.ohg-tript .panel.matcha { background: #7a8033; }
.ohg-tript .panel.red    { background: var(--red-deep); }
.ohg-tript .panel.beige  { background: #cab28a; color: var(--char); }
.ohg-tript .light { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(118deg,transparent 38%,rgba(255,255,255,.18) 42%,rgba(255,255,255,.05) 48%,transparent 56%); mix-blend-mode: overlay; }
.ohg-tript .shadow { position: absolute; left: 38%; bottom: 0; width: 36%; aspect-ratio: .45/1; background: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0)); transform: skewX(-22deg) translateX(-60%); transform-origin: bottom right; pointer-events: none; }
.ohg-tript .bar { position: relative; align-self: center; margin: 24px auto; width: min(78%,360px); aspect-ratio: .78/1; display: flex; align-items: center; justify-content: center; filter: drop-shadow(0 30px 50px rgba(0,0,0,.45)); transition: transform .65s cubic-bezier(.2,.7,.2,1); overflow: hidden; }
.ohg-tript .panel:hover .bar { transform: translateY(-14px) rotate(-1deg) scale(1.03); }
.ohg-tript .bar img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.ohg-tript .top-meta { display: flex; justify-content: space-between; font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; opacity: .85; position: relative; z-index: 3; }
.ohg-tript .pricetag { font-family: "JetBrains Mono"; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; padding: 6px 12px; border: 1px solid currentColor; border-radius: 999px; }
.ohg-tript .meta { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 10px; }
.ohg-tript .meta .no { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; opacity: .85; }
.ohg-tript .meta h3 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 44px; line-height: .92; letter-spacing: -.025em; }
.ohg-tript .meta h3 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; }
.ohg-tript .meta p { font-family: "Instrument Serif"; font-style: italic; font-size: 16px; line-height: 1.35; max-width: 28ch; opacity: .95; }
.ohg-tript .meta .row { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; }
.ohg-tript .meta .row a { display: inline-flex; align-items: center; gap: 6px; border-bottom: 1px solid currentColor; padding-bottom: 2px; transition: gap .25s; }
.ohg-tript .meta .row a:hover { gap: 10px; }

/* ——— Section base */
.ohg-section { padding: 140px 32px; position: relative; }
.ohg-eyebrow { font-family: "JetBrains Mono"; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: color-mix(in oklab,currentColor 70%,transparent); display: inline-flex; align-items: center; gap: 10px; }
.ohg-eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
h2.ohg-h2 { font-size: clamp(56px,8.5vw,140px); line-height: .86; letter-spacing: -.035em; font-family: "Bricolage Grotesque"; font-weight: 800; font-variation-settings: "opsz" 96; }
h2.ohg-h2 .ital { font-family: "Instrument Serif"; font-weight: 400; font-style: italic; letter-spacing: -.01em; color: var(--red); }

/* ——— Ingredients */
.ohg-inside { background: var(--beige); border-bottom: 1px solid var(--line); }
.ohg-inside-head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: end; margin-bottom: 64px; }
.ohg-inside-head .lede { font-size: 21px; line-height: 1.4; max-width: 42ch; color: color-mix(in oklab,var(--ink) 80%,transparent); }
.ohg-inside-head .lede em { font-family: "Instrument Serif"; font-style: italic; color: var(--red); font-size: 1.05em; }
.ohg-ingr-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; }
.ohg-ingr { background: var(--beige); padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; min-height: 300px; position: relative; transition: background .35s; }
.ohg-ingr .idx { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; opacity: .55; }
.ohg-ingr h4 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 30px; line-height: .95; letter-spacing: -.025em; }
.ohg-ingr h4 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; color: var(--red); }
.ohg-ingr p { font-family: "Instrument Serif"; font-size: 16px; line-height: 1.4; font-style: italic; color: color-mix(in oklab,var(--ink) 78%,transparent); }
.ohg-ingr .sw { margin-top: auto; display: flex; align-items: center; gap: 10px; font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; opacity: .7; }
.ohg-ingr .sw i { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.ohg-ingr:hover { background: var(--bone); }
.ohg-ingr::after { content: ""; position: absolute; right: 18px; top: 18px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid color-mix(in oklab,var(--ink) 25%,transparent); opacity: 0; transition: opacity .3s; }
.ohg-ingr:hover::after { opacity: 1; background: var(--matcha); border-color: var(--matcha); }

/* ——— Why */
.ohg-why { background: var(--red-deep); color: var(--bone); border-bottom: 1px solid var(--red-ink); overflow: hidden; }
.ohg-why::before { content: ""; position: absolute; inset: 0; background: radial-gradient(700px 500px at 110% -10%,rgba(255,255,255,.12),transparent 60%); pointer-events: none; }
.ohg-why-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; position: relative; z-index: 2; }
.ohg-why h2.ohg-h2 .ital { color: var(--matcha); }
.ohg-why .strike { text-decoration: line-through; text-decoration-thickness: 5px; text-decoration-color: rgba(255,255,255,.55); opacity: .55; }
.ohg-why .pcol { display: flex; flex-direction: column; gap: 24px; padding-top: 36px; border-top: 1px solid rgba(255,255,255,.3); }
.ohg-why .pcol p { font-size: 18px; line-height: 1.45; max-width: 46ch; }
.ohg-why .pcol p em { color: var(--matcha); font-style: italic; font-family: "Instrument Serif"; font-size: 1.06em; }
.ohg-why .stats { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; margin-top: 24px; }
.ohg-why .stat { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.4); }
.ohg-why .stat b { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: 64px; line-height: .9; letter-spacing: -.04em; }
.ohg-why .stat b .small { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-size: .5em; color: var(--matcha); }
.ohg-why .stat span { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }

/* ——— Ritual */
.ohg-ritual { background: var(--bone); border-bottom: 1px solid var(--line); }
.ohg-ritual-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 72px; gap: 32px; flex-wrap: wrap; }
.ohg-ritual-head .right { max-width: 36ch; font-family: "Instrument Serif"; font-style: italic; font-size: 19px; line-height: 1.4; color: color-mix(in oklab,var(--ink) 80%,transparent); }
.ohg-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.ohg-step { padding: 28px 0; border-top: 1px solid var(--ink); transition: padding-top .35s; }
.ohg-step:hover { padding-top: 18px; }
.ohg-step .n { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: 140px; line-height: .9; position: relative; letter-spacing: -.06em; }
.ohg-step .n .tick { position: absolute; top: 14px; right: 0; font-family: "JetBrains Mono"; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; opacity: .55; }
.ohg-step h4 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 22px; letter-spacing: -.015em; margin-top: 18px; }
.ohg-step p { margin-top: 8px; font-size: 15px; line-height: 1.45; font-family: "Instrument Serif"; font-style: italic; color: color-mix(in oklab,var(--ink) 78%,transparent); }
.ohg-step:nth-child(1) .n { color: var(--red); }
.ohg-step:nth-child(2) .n { color: var(--ink); }
.ohg-step:nth-child(3) .n { color: var(--matcha-deep); }
.ohg-step:nth-child(4) .n { color: var(--ink); }
.ohg-step:hover .n { transform: translateY(-4px); transition: transform .4s cubic-bezier(.2,.7,.2,1); }

/* ——— Pull quote */
.ohg-quote { background: var(--matcha); color: var(--ink); padding: 170px 32px; border-bottom: 1px solid var(--line); overflow: hidden; position: relative; }
.ohg-quote::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 60%); pointer-events: none; animation: ohg-floaty 13s ease-in-out infinite; }
.ohg-quote .big { font-family: "Instrument Serif"; font-style: italic; font-size: clamp(40px,5.6vw,90px); line-height: 1.04; letter-spacing: -.02em; max-width: 20ch; color: var(--red-ink); }
.ohg-quote .big::before { content: "\201C"; color: var(--red); margin-right: .05em; }
.ohg-quote .big::after  { content: "\201D"; color: var(--red); }
.ohg-quote .who { margin-top: 36px; font-family: "JetBrains Mono"; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; display: flex; align-items: center; gap: 12px; }
.ohg-quote .who::before { content: ""; width: 36px; height: 1px; background: var(--ink); }

/* ——— Reviews */
.ohg-reviews { background: var(--beige-soft); color: var(--char); border-bottom: 1px solid var(--line); }
.ohg-reviews .head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; flex-wrap: wrap; gap: 24px; }
.ohg-rev-strip { background: var(--red-deep); color: var(--bone); overflow: hidden; border-radius: 24px; padding: 14px 0; margin-bottom: 32px; }
.ohg-rev-strip-track { display: flex; gap: 36px; animation: ohg-tick 38s linear infinite; white-space: nowrap; font-family: "Bricolage Grotesque"; font-weight: 600; font-size: 22px; letter-spacing: -.01em; }
.ohg-rev-strip-track .star { color: var(--matcha); }
.ohg-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.ohg-card { background: var(--bone); padding: 32px; border: 1px solid var(--ink); display: flex; flex-direction: column; gap: 18px; position: relative; border-radius: 18px; transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.ohg-card:hover { transform: translateY(-6px) rotate(-.5deg); }
.ohg-card:nth-child(2) { background: var(--red-deep); color: var(--bone); border-color: var(--red-ink); }
.ohg-card:nth-child(2):hover { transform: translateY(-6px) rotate(.5deg); }
.ohg-card:nth-child(3) { background: var(--matcha); color: var(--ink); border-color: var(--matcha-deep); }
.ohg-card .stars { font-family: "JetBrains Mono"; font-size: 14px; letter-spacing: .1em; color: var(--red-deep); }
.ohg-card:nth-child(2) .stars { color: var(--matcha); }
.ohg-card:nth-child(3) .stars { color: var(--red-deep); }
.ohg-card blockquote { font-family: "Instrument Serif"; font-style: italic; font-size: 21px; line-height: 1.32; }
.ohg-card .by { margin-top: auto; font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; }
.ohg-card .avatar { position: absolute; top: -22px; right: -12px; width: 56px; height: 56px; border-radius: 50%; background: var(--ink); color: var(--matcha); display: flex; align-items: center; justify-content: center; font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 22px; transform: rotate(8deg); border: 1px solid var(--ink); }
.ohg-card:nth-child(2) .avatar { background: var(--bone); color: var(--red-deep); }
.ohg-card:nth-child(3) .avatar { background: var(--red-deep); color: var(--bone); }

/* ——— Story */
.ohg-story { background: var(--ink); color: var(--bone); border-bottom: 1px solid var(--line); overflow: hidden; }
.ohg-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ohg-story h2.ohg-h2 .ital { color: var(--matcha); }
.ohg-story p { font-family: "Instrument Serif"; font-size: 19px; line-height: 1.5; max-width: 50ch; color: color-mix(in oklab,var(--bone) 82%,transparent); }
.ohg-story p+p { margin-top: 18px; }
.ohg-lockup { position: relative; aspect-ratio: 1/1; border: 1px solid color-mix(in oklab,var(--bone) 25%,transparent); padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 24px; }
.ohg-lockup .seal { width: 300px; height: 300px; border-radius: 50%; border: 1px solid color-mix(in oklab,var(--bone) 35%,transparent); display: flex; align-items: center; justify-content: center; align-self: center; position: relative; }
.ohg-lockup .seal .ring { position: absolute; inset: -14px; animation: ohg-spin 28s linear infinite; }
.ohg-lockup .seal .ring svg { width: 100%; height: 100%; }
@keyframes ohg-spin { to{ transform: rotate(360deg); } }
.ohg-lockup .seal .core { font-family: "Instrument Serif"; font-style: italic; font-size: 80px; color: var(--matcha); line-height: .9; text-align: center; letter-spacing: -.02em; }
.ohg-lockup .seal .core small { display: block; font-family: "JetBrains Mono"; font-style: normal; font-size: 11px; letter-spacing: .22em; color: color-mix(in oklab,var(--bone) 65%,transparent); margin-top: 6px; text-transform: uppercase; }
.ohg-lockup .corners { display: flex; justify-content: space-between; font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; opacity: .7; }

/* ——— FAQ */
.ohg-faq { background: var(--beige); border-bottom: 1px solid var(--line); }
.ohg-faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; }
.ohg-faq h2.ohg-h2 .ital { color: var(--red); }
.ohg-faq .left p { margin-top: 24px; font-family: "Instrument Serif"; font-style: italic; font-size: 18px; line-height: 1.45; color: color-mix(in oklab,var(--ink) 78%,transparent); max-width: 32ch; }
.ohg-faq .qs { display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.ohg-faq details { border-bottom: 1px solid var(--ink); padding: 22px 0; cursor: none; }
.ohg-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-family: "Bricolage Grotesque"; font-weight: 600; font-size: 24px; letter-spacing: -.02em; }
.ohg-faq summary::-webkit-details-marker { display: none; }
.ohg-faq summary .plus { font-family: "JetBrains Mono"; font-size: 24px; font-weight: 400; transition: transform .35s ease,color .3s; }
.ohg-faq details[open] summary .plus { transform: rotate(45deg); color: var(--red); }
.ohg-faq details[open] summary { color: var(--red); }
.ohg-faq details p { margin-top: 14px; font-family: "Instrument Serif"; font-style: italic; font-size: 17px; line-height: 1.45; color: color-mix(in oklab,var(--ink) 80%,transparent); max-width: 62ch; }

/* ——— Newsletter */
.ohg-news { background: var(--red-deep); color: var(--bone); padding: 160px 32px; overflow: hidden; position: relative; }
.ohg-news::before { content: ""; position: absolute; inset: 0; background: radial-gradient(700px 500px at -10% 110%,rgba(0,0,0,.3),transparent 55%); pointer-events: none; }
.ohg-news-grid { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 48px; position: relative; z-index: 2; }
.ohg-news h2.ohg-h2 { max-width: 800px; margin: 0 auto; }
.ohg-news h2.ohg-h2 .ital { color: var(--matcha); }
.ohg-news .reveal-x { text-align: center; }
.ohg-news .right { display: flex; flex-direction: column; gap: 18px; align-items: center; }
.ohg-news .right p { font-family: "Instrument Serif"; font-style: italic; font-size: 19px; line-height: 1.4; max-width: 60ch; opacity: .95; }
.ohg-news-form { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; }
.ohg-news-form-wrapper { display: flex; border: 1px solid var(--bone); border-radius: 999px; padding: 6px; align-items: center; gap: 8px; max-width: 100%; width: fit-content; }
.ohg-news input { flex: 1; background: transparent; border: 0; color: var(--bone); font: inherit; padding: 12px 18px; outline: 0; font-family: "Bricolage Grotesque"; font-weight: 500; font-size: 15px; min-width: 260px; }
.ohg-news input::placeholder { color: color-mix(in oklab,var(--bone) 65%,transparent); }
.ohg-news button { flex-shrink: 0; background: var(--matcha); color: var(--ink); font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 14px; padding: 13px 24px; border-radius: 999px; transition: background .3s, transform .3s; cursor: pointer; white-space: nowrap; }
.ohg-news button:hover { background: var(--bone); transform: scale(1.05); }
.ohg-news .pills { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.ohg-news .pills span { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; padding: 6px 12px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; }

/* ——— Floating soap bubbles */
.ohg-news::before {
  content: "";
  position: absolute; bottom: -150px; left: 15%; width: 120px; height: 120px;
  border: 2px solid rgba(255,255,255,.25);
  border-radius: 50%; pointer-events: none; z-index: 1;
  animation: ohg-bubble-float1 6s ease-in-out infinite;
  box-shadow: inset -25px -25px 50px rgba(255,255,255,.2), 0 0 40px rgba(255,255,255,.1);
}
.ohg-news::after {
  content: "";
  position: absolute; bottom: -200px; right: 20%; width: 160px; height: 160px;
  border: 2px solid rgba(255,255,255,.2);
  border-radius: 50%; pointer-events: none; z-index: 1;
  animation: ohg-bubble-float2 7s ease-in-out infinite 1s;
  box-shadow: inset -35px -35px 70px rgba(255,255,255,.15), 0 0 50px rgba(255,255,255,.08);
}

@keyframes ohg-bubble-float1 {
  0% { bottom: -150px; left: 15%; opacity: 0; }
  5% { opacity: 1; }
  45% { left: 25%; bottom: 200px; }
  95% { opacity: 1; }
  100% { bottom: 120%; left: 35%; opacity: 0; }
}

@keyframes ohg-bubble-float2 {
  0% { bottom: -200px; right: 20%; opacity: 0; }
  5% { opacity: 1; }
  30% { right: 30%; bottom: 150px; }
  50% { right: 15%; bottom: 300px; }
  95% { opacity: 1; }
  100% { bottom: 120%; right: 25%; opacity: 0; }
}

.ohg-floating-bubble {
  position: absolute; border-radius: 50%; pointer-events: none;
  box-shadow: inset -30px -30px 60px rgba(255,255,255,.15), 0 0 50px rgba(255,255,255,.08);
}

@keyframes ohg-bubble-random {
  0% { opacity: 0; transform: translateX(0) scale(0.9); }
  5% { opacity: 1; }
  25% { transform: translateX(80px) translateY(-200px); }
  50% { transform: translateX(-60px) translateY(-400px); }
  75% { transform: translateX(40px) translateY(-600px); }
  95% { opacity: 1; }
  100% { opacity: 0; transform: translateX(20px) translateY(-800px) scale(0.95); }
}

/* ——— Interactive scroll effects */
.ohg-ingr-showcase { scroll-behavior: smooth; }
.ingr-showcase-carousel:hover { animation-play-state: paused; }

@keyframes ohg-bubble-float {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  100% { transform: translateY(-300px) scale(0.5); opacity: 0; }
}
.ingr-img:hover { animation: ingr-cycle 2.7s steps(9, end) infinite, ohg-bubble-float 3s ease-out !important; }

/* ——— Big wordmark */
.ohg-bigword { background: var(--beige); padding: 80px 32px; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 400px; }
.ohg-logo-marquee-track { display: flex; gap: 30px; animation: ohg-tick 18s linear infinite; width: max-content; }
.ohg-logo-marquee-track img { width: 220px; height: auto; display: block; flex-shrink: 0; }

/* ——— Ingredients Showcase */
.ohg-ingr-showcase { background: var(--beige); padding: 100px 32px; }
.ingr-showcase-content { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; max-width: 1400px; margin: 0 auto; }
.ingr-showcase-left { display: flex; flex-direction: column; gap: 20px; }
.ingr-showcase-left .ohg-eyebrow { color: var(--red); font-size: 11px; }
.ingr-showcase-left .ohg-h2 { font-size: clamp(40px, 6vw, 60px); line-height: 0.95; }
.ingr-showcase-left .ohg-h2 em { color: var(--matcha); font-style: italic; }
.ingr-showcase-left p { font-size: 16px; line-height: 1.35; color: var(--char); max-width: 45ch; }
.ingr-showcase-left .ohg-btn { margin-top: 12px; }

.ingr-showcase-right { position: relative; height: 600px; display: flex; align-items: center; justify-content: center; }
.ingr-showcase-carousel { position: relative; width: 520px; height: 520px; }
.ingr-img { position: absolute; width: 100%; height: 100%; object-fit: contain; opacity: 0; transform: rotate(0deg) scale(0.8); animation: ingr-cycle 2.7s steps(9, end) infinite; }
.ingr-img:nth-child(1) { animation-delay: -0.0s; }
.ingr-img:nth-child(2) { animation-delay: -0.3s; }
.ingr-img:nth-child(3) { animation-delay: -0.6s; }
.ingr-img:nth-child(4) { animation-delay: -0.9s; }
.ingr-img:nth-child(5) { animation-delay: -1.2s; }
.ingr-img:nth-child(6) { animation-delay: -1.5s; }
.ingr-img:nth-child(7) { animation-delay: -1.8s; }
.ingr-img:nth-child(8) { animation-delay: -2.1s; }
.ingr-img:nth-child(9) { animation-delay: -2.4s; }

@keyframes ingr-cycle {
  0% { opacity: 0; transform: rotate(0deg) scale(0.8); }
  11% { opacity: 1; transform: rotate(2deg) scale(1); }
  22% { opacity: 1; transform: rotate(2deg) scale(1); }
  33% { opacity: 0; transform: rotate(4deg) scale(0.95); }
  100% { opacity: 0; transform: rotate(4deg) scale(0.95); }
}

@keyframes ohg-lather-bubble {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { opacity: 1; }
  100% { transform: translateY(-400px) scale(0); opacity: 0; }
}

/* ——— Click ripple foam effect */
.ohg-ripple {
  position: fixed; border-radius: 50%; pointer-events: none;
  box-shadow: 0 0 20px rgba(155, 177, 74, 0.6), 0 0 40px rgba(155, 177, 74, 0.3);
  animation: ohg-ripple-expand 0.8s ease-out forwards;
}

@keyframes ohg-ripple-expand {
  0% {
    width: 20px; height: 20px; opacity: 1;
    box-shadow: 0 0 20px rgba(155, 177, 74, 0.8), 0 0 40px rgba(155, 177, 74, 0.5);
  }
  100% {
    width: 300px; height: 300px; opacity: 0;
    box-shadow: 0 0 60px rgba(155, 177, 74, 0.1), 0 0 100px rgba(155, 177, 74, 0);
  }
}

.ohg-foam-particle {
  position: fixed; pointer-events: none; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.8), rgba(155,177,74,0.4));
  animation: ohg-foam-rise 1.2s ease-out forwards;
}

@keyframes ohg-foam-rise {
  0% {
    opacity: 1; transform: translateY(0) translateX(0) scale(1);
  }
  100% {
    opacity: 0; transform: translateY(-200px) translateX(var(--tx)) scale(0.3);
  }
}

/* ——— Footer */
.ohg-footer { background: var(--beige); padding: 0 32px 40px; color: var(--ink); }
.ohg-foot-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; padding: 48px 0; border-top: 1px solid var(--ink); }
.ohg-foot-top h5 { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 18px; color: color-mix(in oklab,var(--ink) 60%,transparent); }
.ohg-foot-top ul { list-style: none; display: flex; flex-direction: column; gap: 10px; font-family: "Bricolage Grotesque"; font-weight: 500; font-size: 18px; letter-spacing: -.01em; }
.ohg-foot-top ul a:hover { color: var(--red); }
.ohg-foot-top .about p { font-family: "Instrument Serif"; font-style: italic; max-width: 34ch; font-size: 17px; line-height: 1.45; color: color-mix(in oklab,var(--ink) 80%,transparent); }
.ohg-foot-top .about img { height: 36px; margin-bottom: 18px; }
.ohg-foot-bot { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-top: 1px solid var(--ink); font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in oklab,var(--ink) 70%,transparent); flex-wrap: wrap; gap: 10px; }

/* ——— Product Cards Section */
.ohg-products { background: var(--beige); }
.ohg-products-head { margin-bottom: 64px; }
.ohg-cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.ohg-product-card { background: var(--bone); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s cubic-bezier(.2,.7,.2,1); }
.ohg-product-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,.12); }
.ohg-product-card .card-image { aspect-ratio: 0.78/1; overflow: hidden; background: var(--beige-soft); }
.ohg-product-card .card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); display: block; }
.ohg-product-card:hover .card-image img { transform: scale(1.05); }
.ohg-product-card .card-content { padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; }
.ohg-product-card .card-benefit { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: color-mix(in oklab,var(--ink) 60%,transparent); }
.ohg-product-card h3 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 32px; letter-spacing: -.025em; line-height: .92; }
.ohg-product-card h3 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; color: var(--red); }
.ohg-product-card > .card-content > p { font-family: "Instrument Serif"; font-style: italic; font-size: 16px; color: color-mix(in oklab,var(--ink) 75%,transparent); line-height: 1.4; margin-top: 8px; }
.ohg-product-card .card-footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.ohg-product-card .price { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 24px; letter-spacing: -.02em; }
.ohg-product-card .card-cta { font-family: "Bricolage Grotesque"; font-weight: 600; font-size: 13px; color: var(--ink); padding: 10px 16px; border: 1px solid var(--ink); border-radius: 999px; transition: background .3s,color .3s; }
.ohg-product-card .card-cta:hover { background: var(--red-deep); color: var(--bone); border-color: var(--red-deep); }


.ohg-collection-hero { background: var(--red-deep); color: var(--bone); padding: 80px 32px 64px; border-bottom: 1px solid var(--red-ink); }
.ohg-collection-hero h1 { font-size: clamp(64px,10vw,160px); line-height: .86; letter-spacing: -.045em; font-family: "Bricolage Grotesque"; font-weight: 800; font-variation-settings: "opsz" 96; }
.ohg-collection-hero h1 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; color: var(--matcha); }
.ohg-collection-hero p { margin-top: 24px; font-family: "Instrument Serif"; font-style: italic; font-size: 20px; max-width: 44ch; opacity: .9; }
.ohg-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; padding: 64px 32px; background: var(--beige); }
.ohg-product-card { background: var(--bone); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.ohg-product-card:hover { transform: translateY(-8px); }
.ohg-product-card .img-wrap { aspect-ratio: 1/1; overflow: hidden; background: var(--beige-soft); }
.ohg-product-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.ohg-product-card:hover img { transform: scale(1.04); }
.ohg-product-card .info { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.ohg-product-card .info .tag { font-family: "JetBrains Mono"; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: color-mix(in oklab,var(--ink) 60%,transparent); }
.ohg-product-card .info h3 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 26px; letter-spacing: -.02em; line-height: .96; }
.ohg-product-card .info h3 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; }
.ohg-product-card .info p { font-family: "Instrument Serif"; font-style: italic; font-size: 15px; color: color-mix(in oklab,var(--ink) 75%,transparent); line-height: 1.4; }
.ohg-product-card .info .price-row { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.ohg-product-card .info .price { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 22px; letter-spacing: -.02em; }
.ohg-product-card .info .add-btn { background: var(--ink); color: var(--beige); font-family: "Bricolage Grotesque"; font-weight: 600; font-size: 13px; padding: 10px 18px; border-radius: 999px; transition: background .3s,color .3s; }
.ohg-product-card .info .add-btn:hover { background: var(--red-deep); }

/* ——— Product detail */
.ohg-product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding: 80px 32px; background: var(--beige); min-height: 80vh; align-items: start; }
.ohg-product-detail .gallery { position: sticky; top: 90px; aspect-ratio: 1/1; border-radius: 24px; overflow: hidden; background: var(--beige-soft); }
.ohg-product-detail .gallery img { width: 100%; height: 100%; object-fit: cover; }
.ohg-product-detail .copy .tag { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: color-mix(in oklab,var(--ink) 55%,transparent); margin-bottom: 12px; }
.ohg-product-detail .copy h1 { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: clamp(48px,6vw,90px); line-height: .86; letter-spacing: -.04em; font-variation-settings: "opsz" 96; }
.ohg-product-detail .copy h1 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; color: var(--red); }
.ohg-product-detail .copy .tagline { margin-top: 18px; font-family: "Instrument Serif"; font-style: italic; font-size: 22px; line-height: 1.35; color: color-mix(in oklab,var(--ink) 80%,transparent); }
.ohg-product-detail .copy .price-big { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: 48px; letter-spacing: -.035em; margin-top: 24px; }
.ohg-product-detail .copy .atc { width: 100%; margin-top: 20px; background: var(--red-deep); color: var(--bone); font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 16px; padding: 18px 32px; border-radius: 999px; display: flex; align-items: center; justify-content: center; gap: 12px; transition: background .3s,transform .3s; }
.ohg-product-detail .copy .atc:hover { background: var(--ink); transform: translateY(-2px); }
.ohg-product-detail .copy .desc { margin-top: 32px; font-family: "Instrument Serif"; font-style: italic; font-size: 18px; line-height: 1.55; color: color-mix(in oklab,var(--ink) 80%,transparent); border-top: 1px solid var(--line); padding-top: 28px; }
.ohg-ingr-list { margin-top: 28px; display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--line); }
.ohg-ingr-list .ingr-item { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-family: "Bricolage Grotesque"; font-weight: 500; font-size: 16px; letter-spacing: -.01em; }
.ohg-ingr-list .ingr-item .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--matcha); flex-shrink: 0; }
.ohg-ingr-list .ingr-item span { font-family: "Instrument Serif"; font-style: italic; font-size: 14px; color: color-mix(in oklab,var(--ink) 65%,transparent); margin-left: auto; }

/* ——— Cart */
.ohg-cart { padding: 80px 32px; background: var(--beige); min-height: 80vh; }
.ohg-cart h1 { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: clamp(48px,7vw,110px); letter-spacing: -.04em; line-height: .86; margin-bottom: 48px; font-variation-settings: "opsz" 96; }
.ohg-cart h1 em { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; color: var(--red); }
.ohg-cart-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: start; }
.ohg-cart-items { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--ink); }
.ohg-cart-item { display: grid; grid-template-columns: 96px 1fr auto; gap: 24px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); }
.ohg-cart-item img { width: 96px; height: 96px; object-fit: cover; border-radius: 10px; }
.ohg-cart-item .item-info h4 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 20px; letter-spacing: -.015em; }
.ohg-cart-item .item-info p { font-family: "JetBrains Mono"; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in oklab,var(--ink) 60%,transparent); margin-top: 6px; }
.ohg-cart-item .item-price { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 22px; letter-spacing: -.02em; }
.ohg-cart-summary { background: var(--bone); border: 1px solid var(--ink); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: 90px; }
.ohg-cart-summary h3 { font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 24px; letter-spacing: -.02em; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.ohg-cart-summary .row { display: flex; justify-content: space-between; font-family: "Bricolage Grotesque"; font-weight: 500; font-size: 16px; }
.ohg-cart-summary .total { font-weight: 700; font-size: 22px; border-top: 1px solid var(--ink); padding-top: 16px; }
.ohg-cart-summary .checkout-btn { background: var(--red-deep); color: var(--bone); font-family: "Bricolage Grotesque"; font-weight: 700; font-size: 16px; padding: 18px 32px; border-radius: 999px; text-align: center; display: block; transition: background .3s,transform .3s; }
.ohg-cart-summary .checkout-btn:hover { background: var(--ink); transform: translateY(-2px); }

/* ——— Responsive */
@media (max-width: 1100px) {
  .ohg-hero-bottom,.ohg-why-grid,.ohg-story-grid,.ohg-faq-grid,.ohg-inside-head,.ohg-news-grid,.ohg-product-detail { grid-template-columns: 1fr; gap: 32px; }
  .ohg-hero-bottom .right { align-items: flex-start; }
  .ohg-hero-bottom .right q { text-align: left; }
  .ohg-ingr-grid { grid-template-columns: repeat(2,1fr); }
  .ohg-steps { grid-template-columns: repeat(2,1fr); }
  .ohg-cards,.ohg-cards-grid,.ohg-product-grid { grid-template-columns: 1fr; }
  .ohg-foot-top { grid-template-columns: 1fr 1fr; gap: 24px; }
  .ohg-tript { grid-template-columns: 1fr; min-height: auto; }
  .ohg-tript .panel { min-height: 80vh; }
  .ohg-nav ul { display: none; }
  .ohg-float-bar.f3 { display: none; }
  .ohg-cart-grid { grid-template-columns: 1fr; }
  .ohg-product-detail .gallery { position: static; }


@media (max-width: 768px) {
  /* Hero Section */
  .ohg-hero-v2 {
    min-height: 75vh;
    align-items: flex-end;
    justify-content: flex-start;
    padding-bottom: 16px;
  }
  .ohg-hero-content {
    padding: 20px 16px;
    max-width: 100%;
    gap: 16px;
  }
  .ohg-hero-headline {
    font-size: clamp(28px, 7vw, 75px);
    gap: 8px;
    line-height: 0.95;
  }
  .ohg-hero-body {
    font-size: 15px;
    line-height: 1.5;
    max-width: 100%;
  }


  /* Newsletter */
  .ohg-news {
    padding: 80px 20px;
  }
  .ohg-news h2.ohg-h2 {
    font-size: clamp(40px, 8vw, 100px);
  }
  .ohg-news .right p {
    font-size: 16px;
    max-width: 100%;
  }
  .ohg-news::before,
  .ohg-news::after {
    display: none;
  }
  .ohg-news-form-wrapper {
    flex-direction: column;
    width: 100%;
    max-width: 500px;
    gap: 24px;
    padding: 0;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .form-input-container {
    width: 100%;
    border: 2px solid var(--bone) !important;
    border-radius: 6px !important;
    padding: 0 18px !important;
    background: transparent !important;
  }
  .ohg-news input {
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    background: transparent !important;
  }
  .form-button-container {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .ohg-news button {
    background: var(--matcha) !important;
    color: var(--ink) !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 28px !important;
    width: auto;
  }

  /* Ingredients Showcase - 640px Tablet */
  .ohg-ingr-showcase { padding: 24px 10px; }
  .ingr-showcase-content { display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: center; }
  .ingr-showcase-left { gap: 4px; text-align: center; align-items: center; order: 2; width: 100%; max-width: 100%; }
  .ingr-showcase-left .ohg-eyebrow { font-size: 7px; display: none; }
  .ingr-showcase-left .ohg-h2 { font-size: clamp(12px, 2.5vw, 15px); line-height: 1.05; }
  .ingr-showcase-left p { font-size: 9px; line-height: 1.2; max-width: 100%; }
  .ingr-showcase-right { order: 1; height: 220px; width: 100%; display: flex; align-items: center; justify-content: center; }
  .ingr-showcase-carousel {
    height: 220px;
    width: 220px;
  }
  .ohg-h2 {
    font-size: clamp(40px, 8vw, 100px);
  }

  /* General */
  .ohg-section {
    padding: 60px 20px;
  }
  h2.ohg-h2 {
    font-size: clamp(36px, 8vw, 90px);
  }
}

@media (max-width: 640px) {
  .ohg-section { padding: 50px 16px; }
  .ohg-nav-inner,.ohg-weather,.ohg-hero { padding-left: 16px; padding-right: 16px; }
  .ohg-hero { padding-top: 40px; }
  .ohg-hero-v2 { min-height: 52vh; padding-bottom: 14px; }
  .ohg-hero-content { padding: 14px 12px; gap: 12px; }
  .ohg-hero-headline { font-size: clamp(22px, 6vw, 52px); gap: 5px; }
  .ohg-hero-body { font-size: 14px; line-height: 1.45; }

  .ohg-step .n { font-size: 64px; }
  .ohg-product-grid { padding: 40px 16px; }
  .ohg-cart { padding: 50px 16px; }
  .ohg-news { padding: 60px 16px; }
  .ohg-news h2.ohg-h2 { font-size: clamp(32px, 7vw, 70px); }

  h2.ohg-h2 { font-size: clamp(32px, 7vw, 70px); }

  /* Buttons & Forms */
  .ohg-news-form-wrapper {
    flex-direction: column;
    width: 100%;
    gap: 24px;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .form-input-container {
    width: 100%;
    border: 2px solid var(--bone) !important;
    border-radius: 6px !important;
    padding: 0 16px !important;
    background: transparent !important;
  }
  .ohg-news input {
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 0 !important;
    background: transparent !important;
    font-size: 14px;
  }
  .form-button-container {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .ohg-news button {
    background: var(--matcha) !important;
    color: var(--ink) !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-size: 13px;
    width: auto;
  }
  .ohg-btn { padding: 12px 18px; font-size: 13px; }
}

@media (max-width: 480px) {
  body { font-size: 14px; }
  .ohg-section { padding: 40px 12px; }
  .ohg-hero-v2 { min-height: 50vh; padding-bottom: 12px; }
  .ohg-hero-content { padding: 12px 10px; gap: 10px; max-width: 100%; }
  .ohg-hero-headline { font-size: clamp(20px, 5vw, 44px); gap: 4px; line-height: 1; }
  .ohg-hero-body { font-size: 13px; line-height: 1.4; max-width: 100%; }

  h2.ohg-h2 { font-size: clamp(28px, 6vw, 60px); }
  .ohg-eyebrow { font-size: 9px; }

  .ohg-news { padding: 50px 12px; }
  .ohg-news::before,
  .ohg-news::after {
    display: none;
  }
  .ohg-news h2.ohg-h2 { font-size: clamp(28px, 6vw, 60px); }
  .ohg-news-form-wrapper { padding: 0; flex-direction: column; gap: 12px; }
  .ohg-news input { padding: 12px 14px; font-size: 13px; min-width: 100%; width: 100%; border: 1px solid var(--bone); border-radius: 12px; }
  .ohg-news button { padding: 10px 16px; font-size: 12px; width: 100%; border-radius: 12px; }

  .ohg-ingr-showcase { padding: 20px 8px; }
  .ingr-showcase-content { display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; }
  .ingr-showcase-left { gap: 3px; text-align: center; align-items: center; order: 2; width: 100%; max-width: 100%; }
  .ingr-showcase-left .ohg-eyebrow { font-size: 6px; display: none; }
  .ingr-showcase-left .ohg-h2 { font-size: clamp(10px, 2.2vw, 13px); line-height: 1.05; }
  .ingr-showcase-left p { font-size: 8px; line-height: 1.2; max-width: 100%; }
  .ingr-showcase-right { order: 1; height: 200px; width: 100%; display: flex; align-items: center; justify-content: center; }
  .ingr-showcase-carousel { height: 200px; width: 200px; }

  .ohg-btn { padding: 10px 14px; font-size: 12px; }
}
