@charset "UTF-8";
/* =====================================================================
   TEASPOON HONEY V2 — DESIGN SYSTEM + SITE CHROME
   ---------------------------------------------------------------------
   Loaded after theme.css and after every legacy bundle, so it is the last
   word on tokens, chrome and the shared section primitives that the V2
   page templates are built from.

   Contents
     1. Tokens
     2. Typography restore (display serif)
     3. Primitives  (wrap, eyebrow, title, lede, buttons, rules)
     4. Feature strip / icon tiles
     5. Cards, steps, timeline, rails, logo walls, quotes
     6. Announcement bar
     7. Header
     8. Mobile menu
     9. Footer
    10. Motion + reduced-motion
   ===================================================================== */

/* ── 1. Tokens ─────────────────────────────────────────────────────── */
:root{
  --v2-cream:#FDF9F1;
  --v2-cream-2:#F8F1E3;
  --v2-sand:#F3EADA;
  --v2-ink:#33281D;
  --v2-body:#6E6154;
  --v2-gold:#B8801F;
  --v2-gold-2:#C99A3E;
  --v2-honey:#E3A62F;
  --v2-dark:#1E1710;
  --v2-dark-2:#15100A;
  --v2-line:rgba(51,40,29,.12);
  --v2-line-2:rgba(51,40,29,.07);
  --v2-onDark:#D9CDBD;
  --v2-wrap:1280px;
  --v2-gut:clamp(20px,4vw,48px);
  --v2-pad:clamp(56px,7.5vw,104px);
  --v2-r:10px;
  --v2-ease:cubic-bezier(.16,1,.3,1);
}

/* ── 2. Typography restore ─────────────────────────────────────────────
   The design comps are unambiguously set in a high-contrast display serif.
   theme.css had aliased --serif to Mulish (a deliberate perf choice) and
   added compensating weight/tracking on the display headings. Both are
   reverted here: Fraunces is already declared in fonts.css and both woff2
   files already ship in assets/css, so this costs no new request beyond
   the font itself.
   ------------------------------------------------------------------- */
:root{ --serif:"Fraunces",Georgia,serif; }

/* Undo the sans-compensation weights so the serif renders at its intended
   display weight instead of a faux-bold 700. */
.fpanel h2,.pola__vcap .t,.pola__head h2,.cta h2,.rev__title,
.card__title,.pd-name,.faq__q,.wpx__slide h3,
.woocommerce h1,.woocommerce .woocommerce-products-header__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-weight:400; letter-spacing:-.012em; }
.asym__quote{ font-weight:400; letter-spacing:-.01em; }

/* ── 3. Primitives ─────────────────────────────────────────────────── */
body{ background:var(--v2-cream); color:var(--v2-body); }

.v2{ position:relative; }
.v2--tight{ padding-block:clamp(38px,5vw,64px); }
.v2--flush{ padding-block:0; }
.v2--cream{ background:var(--v2-cream); }
.v2--sand{ background:var(--v2-cream-2); }
.v2--dark{ background:var(--v2-dark); color:var(--v2-onDark); }
.v2--dark .v2t,.v2--dark .v2card__t{ color:#fff; }
.v2--dark .v2lede,.v2--dark .v2card__d{ color:rgba(255,255,255,.72); }

.v2wrap{ width:100%; max-width:var(--v2-wrap); margin-inline:auto; padding-inline:var(--v2-gut); }
.v2wrap--wide{ max-width:1440px; }
.v2wrap--narrow{ max-width:960px; }

.v2eyebrow{
  display:block; font-family:var(--sans); font-size:0.75rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--v2-gold); margin:0 0 14px; }
.v2--dark .v2eyebrow{ color:var(--v2-gold-2); }

.v2t{
  font-family:var(--serif); font-weight:400; color:var(--v2-ink);
  font-size:clamp(1.75rem,3.3vw,2.7rem); line-height:1.14; letter-spacing:-.012em; margin:0; }
.v2t--lg{ font-size:clamp(2.2rem,5vw,3.7rem); line-height:1.06; }
.v2t--sm{ font-size:clamp(1.35rem,2.3vw,1.85rem); }
.v2t em,.v2t .gold{ font-style:normal; color:var(--v2-gold); }
.v2--dark .v2t em,.v2--dark .v2t .gold{ color:var(--v2-gold-2); }

.v2lede{ font-size:.95rem; line-height:1.85; color:var(--v2-body); margin:18px 0 0; max-width:52ch; }
.v2lede--c{ margin-inline:auto; }

/* Centred section header */
.v2head{ text-align:center; margin-bottom:clamp(34px,4.5vw,58px); }
.v2head .v2lede{ margin-inline:auto; }
.v2head--left{ text-align:left; }
.v2head .v2eyebrow{ letter-spacing:.22em; }

/* The small gold flourish under centred titles (design uses a tiny bee/star) */
.v2flour{ display:block; width:100%; margin:16px auto 0; text-align:center;
  color:var(--v2-gold-2); font-size:.8rem; line-height:1; }
.v2flour::before{ content:"\2739"; }

/* Buttons */
.v2btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.7em;
  min-height:46px; padding:.95em 1.9em; border:1px solid transparent; border-radius:4px;
  font-family:var(--sans); font-size:0.75rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:none; cursor:pointer;
  transition:background .3s,color .3s,border-color .3s,transform .4s var(--v2-ease),box-shadow .4s var(--v2-ease); }
.v2btn:hover{ transform:translateY(-2px); }
.v2btn__ar{ transition:transform .35s var(--v2-ease); }
.v2btn:hover .v2btn__ar{ transform:translateX(4px); }
.v2btn--dark{ background:var(--v2-ink); color:#fff; }
.v2btn--dark:hover{ background:#211a12; box-shadow:0 12px 28px rgba(51,40,29,.28); }
.v2btn--gold{ background:var(--v2-gold); color:#fff; }
.v2btn--gold:hover{ background:#a06d15; box-shadow:0 12px 28px rgba(184,128,31,.34); }
.v2btn--ghost{ background:transparent; color:var(--v2-ink); border-color:rgba(51,40,29,.35); }
.v2btn--ghost:hover{ background:var(--v2-ink); color:#fff; border-color:var(--v2-ink); }
.v2btn--light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }
.v2btn--light:hover{ background:#fff; color:var(--v2-ink); }
.v2btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.v2btns--c{ justify-content:center; }

/* Text link with arrow (card footers) */
.v2link{
  display:inline-flex; align-items:center; gap:.55em; font-size:0.75rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--v2-gold);
  text-decoration:none; transition:gap .3s var(--v2-ease),color .3s; }
.v2link:hover{ gap:.95em; color:var(--v2-ink); }

.v2rule{ border:0; height:1px; background:var(--v2-line); margin:0; }

/* ── 4. Feature strip / icon tiles ─────────────────────────────────── */
.v2strip{ background:var(--v2-cream-2); border-block:1px solid var(--v2-line-2); }
.v2strip__in{
  display:grid; grid-template-columns:repeat(var(--n,5),1fr);
  align-items:center; padding-block:clamp(22px,2.6vw,34px); }
.v2feat{ display:flex; align-items:center; gap:14px; padding-inline:clamp(10px,1.6vw,26px);
  position:relative; }
.v2feat + .v2feat::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:38px; background:var(--v2-line); }
.v2feat__ico{ flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; color:var(--v2-gold); }
.v2feat__ico img,.v2feat__ico svg{ width:100%; height:100%; object-fit:contain; }
.v2feat__t{ font-family:var(--sans); font-size:.775rem; font-weight:700; color:var(--v2-ink);
  letter-spacing:.02em; line-height:1.3; margin:0; }
.v2feat__d{ font-size:0.75rem; line-height:1.45; color:var(--v2-body); margin:3px 0 0; }
.v2feat--stack{ flex-direction:column; text-align:center; gap:10px; }

/* Icon tile grid (e.g. "What I believe in", "Our Promise") */
.v2tiles{ display:grid; grid-template-columns:repeat(var(--n,4),1fr); gap:clamp(18px,2.6vw,34px); }
.v2tile{ text-align:center; }
.v2tile__ico{ width:44px; height:44px; margin:0 auto 14px; color:var(--v2-gold); display:grid; place-items:center; }
.v2tile__ico img,.v2tile__ico svg{ width:100%; height:100%; object-fit:contain; }
.v2tile__t{ font-family:var(--sans); font-size:.83rem; font-weight:700; color:var(--v2-ink); margin:0 0 6px; letter-spacing:.01em; }
.v2tile__d{ font-size:.775rem; line-height:1.6; color:var(--v2-body); margin:0; }
.v2--dark .v2tile__t{ color:#fff; }
.v2--dark .v2tile__d{ color:rgba(255,255,255,.66); }
.v2--dark .v2tile__ico{ color:var(--v2-gold-2); }

/* Badge grid — bordered promise badges (2 rows of 4) */
.v2badges{ display:grid; grid-template-columns:repeat(var(--n,4),1fr); gap:clamp(14px,2vw,26px) 0; }
.v2badge{ text-align:center; padding-inline:12px; position:relative; }
.v2badge__ico{ width:40px; height:40px; margin:0 auto 10px; color:var(--v2-gold); }
.v2badge__ico img,.v2badge__ico svg{ width:100%; height:100%; object-fit:contain; }
.v2badge__t{ font-size:0.75rem; font-weight:700; color:var(--v2-ink); line-height:1.45; margin:0; letter-spacing:.01em; }

/* ── 5. Cards, steps, timeline, rails, logos, quotes ───────────────── */
.v2grid{ display:grid; grid-template-columns:repeat(var(--n,3),1fr); gap:clamp(16px,2.2vw,28px); }

.v2card{
  background:#fff; border:1px solid var(--v2-line-2); border-radius:var(--v2-r);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .45s var(--v2-ease),box-shadow .45s var(--v2-ease),border-color .3s; }
.v2card:hover{ transform:translateY(-5px); box-shadow:0 18px 44px rgba(51,40,29,.11); border-color:var(--v2-line); }
.v2card__media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--v2-sand); }
.v2card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--v2-ease); }
.v2card:hover .v2card__media img{ transform:scale(1.05); }
.v2card__body{ padding:clamp(18px,2vw,26px); display:flex; flex-direction:column; gap:9px; flex:1; }
.v2card__ico{ width:42px; height:42px; color:var(--v2-gold); margin-bottom:2px; }
.v2card__ico img,.v2card__ico svg{ width:100%; height:100%; object-fit:contain; }
.v2card__t{ font-family:var(--serif); font-weight:400; font-size:1.14rem; color:var(--v2-ink); margin:0; line-height:1.25; }
.v2card__d{ font-size:.8rem; line-height:1.68; color:var(--v2-body); margin:0; }
.v2card__foot{ margin-top:auto; padding-top:14px; }
/* Card with a floating circular icon over the image (Our Business pillars) */
.v2card--badge .v2card__ico{
  position:absolute; left:20px; bottom:-21px; width:42px; height:42px; padding:9px;
  background:#fff; border-radius:50%; box-shadow:0 6px 18px rgba(51,40,29,.16); margin:0; z-index:2; }
.v2card--badge .v2card__media{ overflow:visible; }
.v2card--badge .v2card__media > img{ border-radius:var(--v2-r) var(--v2-r) 0 0; }
.v2card--badge .v2card__body{ padding-top:34px; }

/* Numbered step row with connector (journeys / processes) */
.v2steps{ display:grid; grid-template-columns:repeat(var(--n,5),1fr); gap:0; position:relative; }
.v2step{ text-align:center; padding-inline:clamp(6px,1.2vw,18px); position:relative; }
.v2step__ring{
  width:66px; height:66px; margin:0 auto 16px; border-radius:50%;
  border:1px solid rgba(184,128,31,.4); background:var(--v2-cream);
  display:grid; place-items:center; color:var(--v2-gold); position:relative; z-index:2; }
.v2step__ring img,.v2step__ring svg{ width:30px; height:30px; object-fit:contain; }
.v2step__n{
  position:absolute; top:-4px; right:-4px; width:22px; height:22px; border-radius:50%;
  background:var(--v2-gold); color:#fff; font-size:0.69rem; font-weight:700;
  display:grid; place-items:center; letter-spacing:.02em; }
.v2step__t{ font-family:var(--sans); font-size:.8rem; font-weight:700; color:var(--v2-ink); margin:0 0 5px; }
.v2step__d{ font-size:0.75rem; line-height:1.6; color:var(--v2-body); margin:0; }
/* dotted connector between rings */
.v2step:not(:last-child)::after{
  content:""; position:absolute; top:33px; left:calc(50% + 40px); right:calc(-50% + 40px);
  border-top:1px dashed rgba(184,128,31,.45); z-index:1; }
.v2--dark .v2step__ring{ background:transparent; border-color:rgba(226,178,90,.4); color:var(--v2-gold-2); }
.v2--dark .v2step__t{ color:#fff; }
.v2--dark .v2step__d{ color:rgba(255,255,255,.66); }

/* Photo journey strip (Flower → Teaspoon): image cards with arrows */
.v2journey{ display:grid; grid-template-columns:repeat(var(--n,6),1fr); gap:clamp(10px,1.6vw,22px); align-items:start; }
.v2jstep{ position:relative; text-align:center; }
.v2jstep__media{ position:relative; aspect-ratio:1/1; border-radius:8px; overflow:hidden; background:var(--v2-sand); }
.v2jstep__media img{ width:100%; height:100%; object-fit:cover; }
.v2jstep__n{
  position:absolute; left:50%; transform:translateX(-50%); bottom:-13px; z-index:3;
  min-width:26px; height:26px; padding:0 7px; border-radius:100px; background:var(--v2-cream);
  border:1px solid rgba(184,128,31,.4); color:var(--v2-gold);
  font-size:0.69rem; font-weight:700; display:grid; place-items:center; }
.v2jstep__t{ font-family:var(--sans); font-size:.8rem; font-weight:700; color:var(--v2-ink); margin:26px 0 5px; }
.v2jstep__d{ font-size:0.75rem; line-height:1.55; color:var(--v2-body); margin:0; }
.v2jstep:not(:last-child)::after{
  content:""; position:absolute; top:50%; right:calc(-1 * clamp(10px,1.6vw,22px) / 2 - 4px);
  width:9px; height:9px; border-top:1.5px solid rgba(184,128,31,.55); border-right:1.5px solid rgba(184,128,31,.55);
  transform:translateY(-50%) rotate(45deg); }
@media(max-width:900px){ .v2jstep:not(:last-child)::after{ display:none; } }

/* Horizontal milestone timeline (Founder / Growing Together) */
.v2time{ position:relative; }
.v2time__track{ display:grid; grid-template-columns:repeat(var(--n,5),1fr); gap:clamp(12px,2vw,26px); position:relative; }
.v2time__track::before{
  content:""; position:absolute; left:6%; right:6%; top:var(--line-y,50%);
  border-top:1px solid rgba(184,128,31,.35); }
.v2tnode{ position:relative; text-align:center; }
.v2tnode__media{ aspect-ratio:4/3; border-radius:8px; overflow:hidden; background:var(--v2-sand); }
.v2tnode__media img{ width:100%; height:100%; object-fit:cover; }
.v2tnode__dot{ width:11px; height:11px; border-radius:50%; background:var(--v2-gold);
  margin:18px auto 14px; position:relative; z-index:2;
  box-shadow:0 0 0 4px var(--v2-cream); }
.v2tnode__y{ font-family:var(--sans); font-size:0.75rem; font-weight:700; letter-spacing:.1em; color:var(--v2-gold); margin:0 0 6px; }
.v2tnode__t{ font-family:var(--serif); font-weight:400; font-size:1rem; color:var(--v2-ink); margin:0 0 6px; }
.v2tnode__d{ font-size:0.75rem; line-height:1.6; color:var(--v2-body); margin:0; }
/* Dot-only variant (no photos) */
.v2time--plain .v2time__track::before{ top:6px; }
.v2time--plain .v2tnode__dot{ margin:0 auto 16px; }
.v2time--plain .v2tnode__dot--open{ background:var(--v2-cream); border:2px solid var(--v2-gold); }

/* Scroll rail (awards / gifting carousels) */
.v2rail{ position:relative; }
.v2rail__vp{ overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  -ms-overflow-style:none; scrollbar-width:none; padding-block:4px; }
.v2rail__vp::-webkit-scrollbar{ display:none; }
.v2rail__tr{ display:grid; grid-auto-flow:column; grid-auto-columns:var(--w,minmax(230px,1fr));
  gap:clamp(14px,1.8vw,24px); }
.v2rail__tr > *{ scroll-snap-align:start; }
.v2rail__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:38px; height:38px; border-radius:50%; border:1px solid var(--v2-line);
  background:#fff; color:var(--v2-ink); display:grid; place-items:center; cursor:pointer;
  transition:background .25s,color .25s,opacity .25s,box-shadow .25s; box-shadow:0 4px 14px rgba(51,40,29,.1); }
.v2rail__nav:hover{ background:var(--v2-ink); color:#fff; }
.v2rail__nav[disabled]{ opacity:.32; cursor:default; }
.v2rail__nav:hover[disabled]{ background:#fff; color:var(--v2-ink); }
.v2rail__nav--prev{ left:calc(-1 * clamp(8px,2vw,20px)); }
.v2rail__nav--next{ right:calc(-1 * clamp(8px,2vw,20px)); }
@media(max-width:1400px){ .v2rail__nav--prev{ left:4px; } .v2rail__nav--next{ right:4px; } }

/* Logo wall */
.v2logos{ display:grid; grid-template-columns:repeat(var(--n,8),1fr); gap:clamp(10px,1.6vw,22px); align-items:stretch; }
.v2logo{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px;
  text-align:center; padding:clamp(14px,1.6vw,20px) 10px; }
.v2logo__img{ height:38px; display:grid; place-items:center; }
.v2logo__img img{ max-height:38px; width:auto; max-width:100%; object-fit:contain;
  filter:grayscale(100%); opacity:.72; transition:filter .35s,opacity .35s; }
.v2logo:hover .v2logo__img img{ filter:none; opacity:1; }
.v2logo__d{ font-size:0.75rem; line-height:1.5; color:var(--v2-body); margin:0; }
/* bordered card variant */
.v2logos--card .v2logo{ background:#fff; border:1px solid var(--v2-line-2); border-radius:8px; }

/* Pull quote band */
.v2quote{ text-align:center; }
.v2quote__q{ font-family:var(--serif); font-weight:400; font-style:normal;
  font-size:clamp(1.25rem,2.7vw,2rem); line-height:1.42; color:#fff; margin:0; max-width:22ch; }
.v2quote__q--wide{ max-width:34ch; }
.v2quote__by{ font-family:var(--script); font-size:1.5rem; color:var(--v2-gold-2); margin:20px 0 0; }

/* Signature (Dr. Mohit Sharma) */
.v2sign{ font-family:var(--script); font-size:1.85rem; line-height:1; color:var(--v2-ink); margin:0; }
.v2sign__role{ font-size:0.75rem; letter-spacing:.02em; color:var(--v2-body); margin:8px 0 0; }
.v2--dark .v2sign{ color:#fff; }
.v2--dark .v2sign__role{ color:rgba(255,255,255,.7); }

/* Stat cluster */
.v2stats{ display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,44px); align-items:flex-start; }
.v2stat{ display:flex; align-items:center; gap:12px; position:relative; }
.v2stat + .v2stat::before{ content:""; position:absolute; left:calc(-1 * clamp(10px,1.5vw,22px));
  top:50%; transform:translateY(-50%); width:1px; height:34px; background:var(--v2-line); }
.v2stat__ico{ width:30px; height:30px; color:var(--v2-gold); flex:0 0 auto; }
.v2stat__ico img,.v2stat__ico svg{ width:100%; height:100%; object-fit:contain; }
.v2stat__n{ font-family:var(--serif); font-weight:400; font-size:1.5rem; color:var(--v2-ink); line-height:1; margin:0; }
.v2stat__l{ font-size:0.69rem; letter-spacing:.16em; text-transform:uppercase; color:var(--v2-body); margin:5px 0 0; }

/* Split media/text row */
.v2split{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(28px,5vw,74px); }
.v2split--mediaLeft{ direction:ltr; }
.v2split__media{ position:relative; }
.v2split__media img{ width:100%; height:auto; border-radius:8px; }
.v2split--bleedL{ grid-template-columns:minmax(0,46%) minmax(0,1fr); gap:clamp(28px,4.5vw,64px); }
.v2split--bleedR{ grid-template-columns:minmax(0,1fr) minmax(0,46%); gap:clamp(28px,4.5vw,64px); }
@media(max-width:900px){ .v2split,.v2split--bleedL,.v2split--bleedR{ grid-template-columns:1fr; } }

/* Full-bleed photo band with overlay copy */
.v2band{ position:relative; isolation:isolate; overflow:hidden; }
.v2band__bg{ position:absolute; inset:0; z-index:-2; }
.v2band__bg img{ width:100%; height:100%; object-fit:cover; }
.v2band::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,rgba(20,14,8,.82) 0%,rgba(20,14,8,.55) 45%,rgba(20,14,8,.15) 100%); }
.v2band--center::after{ background:linear-gradient(180deg,rgba(20,14,8,.5),rgba(20,14,8,.72)); }

/* Decorative corner botanicals */
.v2deco{ position:absolute; z-index:0; pointer-events:none; opacity:.5; width:clamp(90px,11vw,170px); }
.v2deco img{ width:100%; height:auto; }
.v2deco--tl{ top:0; left:0; }
.v2deco--tr{ top:0; right:0; transform:scaleX(-1); }
@media(max-width:900px){ .v2deco{ display:none; } }

/* Breadcrumb */
.v2crumb{ font-size:0.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v2-body); margin:0 0 22px; }
.v2crumb a{ color:var(--v2-body); text-decoration:none; }
.v2crumb a:hover{ color:var(--v2-gold); }
.v2crumb span{ margin-inline:.5em; opacity:.55; }

/* Page hero (interior pages) */
.v2hero{ position:relative; background:var(--v2-cream); overflow:hidden; }
.v2hero__grid{ display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr);
  align-items:center; gap:clamp(24px,4vw,56px); min-height:clamp(380px,46vw,560px); }
.v2hero__copy{ position:relative; z-index:2; padding-block:clamp(40px,5vw,70px); }
.v2hero__media{ position:relative; align-self:stretch; }
.v2hero__media img{ width:100%; height:100%; object-fit:cover; border-radius:0 0 0 10px; }
.v2hero--full .v2hero__media{ margin-right:calc(-1 * max(0px,(100vw - var(--v2-wrap)) / 2)); }
@media(max-width:900px){
  .v2hero__grid{ grid-template-columns:1fr; min-height:0; }
  .v2hero__media{ order:-1; aspect-ratio:16/10; }
  .v2hero--full .v2hero__media{ margin-right:0; }
}

/* Paper note card (the taped quote in the Story/Founder heroes) */
.v2note{
  position:relative; background:#FBF3DF; border-radius:3px; padding:26px 28px;
  box-shadow:0 14px 34px rgba(30,20,10,.24); max-width:330px;
  font-family:var(--script); font-size:1.32rem; line-height:1.55; color:#4A3A28; }
.v2note::before{
  content:""; position:absolute; top:-11px; left:50%; transform:translateX(-50%) rotate(-2deg);
  width:78px; height:22px; background:rgba(255,255,255,.55); box-shadow:0 2px 6px rgba(0,0,0,.1); }

/* Section for reveal-on-scroll */
[data-v2reveal]{ opacity:0; transform:translateY(18px); }
[data-v2reveal].is-in{ opacity:1; transform:none;
  transition:opacity .7s var(--v2-ease),transform .7s var(--v2-ease); }

/* ── 6. Announcement bar ───────────────────────────────────────────── */
.tspbar,.v2bar{
  background:var(--v2-dark); color:#E8DCC9; position:relative; z-index:90;
  border-bottom:1px solid rgba(255,255,255,.06); }
.v2bar__in{
  max-width:1440px; margin-inline:auto; padding:0 var(--v2-gut);
  min-height:44px; display:flex; align-items:center; justify-content:center; gap:20px; }
.v2bar__i{
  display:inline-flex; align-items:center; gap:10px; font-size:.86rem; letter-spacing:.04em; font-weight:500;
  color:#F4E9D2; white-space:nowrap; }
.v2bar__i svg{ width:16px; height:16px; color:var(--v2-gold-2); flex:0 0 auto; }
@media(max-width:680px){ .v2bar__i{ font-size:.78rem; } .v2bar__in{ min-height:38px; } }

/* ── 7. Header ─────────────────────────────────────────────────────── */
.hp-header.v2hd{
  position:sticky; top:0; left:auto; right:auto; z-index:80;
  background:var(--v2-cream); border-bottom:1px solid var(--v2-line-2);
  box-shadow:none; backdrop-filter:none; }
.hp-header.v2hd.is-stuck{
  background:rgba(253,249,241,.97); backdrop-filter:saturate(150%) blur(12px);
  box-shadow:0 4px 22px rgba(51,40,29,.09); border-bottom-color:var(--v2-line); }

.v2hd .hp-nav{ max-width:1440px; height:88px; gap:clamp(18px,3vw,48px); padding-inline:clamp(20px,3vw,40px); }
.v2hd .hp-brand{ color:var(--v2-ink); flex:0 0 auto; }
.v2hd .hp-brand .wm{
  width:auto; height:68px; max-width:290px; object-fit:contain;
  filter:none; padding:0; font-size:inherit; }
.v2hd .hp-nav{ height:100px; }
@media (max-width:1080px){ .v2hd .hp-brand .wm{ height:54px; max-width:230px } .v2hd .hp-nav{ height:82px } }
@media (max-width:640px){ .v2hd .hp-brand .wm{ height:44px; max-width:180px } .v2hd .hp-nav{ height:70px } }
.v2hd .hp-brand__tag{
  display:block; font-size:0.69rem; letter-spacing:.06em; color:var(--v2-body);
  margin-top:2px; white-space:nowrap; font-style:italic; }

/* nav links */
.v2hd .hp-links{ gap:clamp(18px,2.2vw,36px); align-items:center; flex:1 1 auto; justify-content:center; }
.v2hd .hp-links a,
.v2hd .hp-links .hp-navi__top{
  color:var(--v2-ink); font-family:var(--sans); font-size:.86rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
  position:relative; padding-block:8px; }
.v2hd .hp-links a:hover,.v2hd .hp-links .hp-navi__top:hover{ color:var(--v2-gold); }
.v2hd .hp-links > a::after,
.v2hd .hp-navi .hp-navi__top::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:var(--v2-gold); transform:scaleX(0); transform-origin:center;
  transition:transform .35s var(--v2-ease); }
.v2hd .hp-links > a:hover::after,
.v2hd .hp-navi:hover .hp-navi__top::after{ transform:scaleX(1); }
/* current page */
.v2hd .hp-links .is-current,
.v2hd .hp-links .is-current .hp-navi__top{ color:var(--v2-gold); }
.v2hd .hp-links .is-current::after,
.v2hd .hp-links .is-current .hp-navi__top::after{ transform:scaleX(1); }

.v2hd .hp-navi{ position:relative; display:inline-flex; align-items:center; }
.v2hd .hp-navi__chev{ margin-left:5px; width:9px; height:9px; opacity:.75;
  transition:transform .3s var(--v2-ease); }
.v2hd .hp-navi:hover .hp-navi__chev{ transform:rotate(180deg); }

.v2hd .hp-sub{
  position:absolute; top:100%; left:50%; transform:translate(-50%,8px);
  min-width:232px; background:#fff; border:1px solid var(--v2-line-2); border-radius:8px;
  box-shadow:0 20px 44px rgba(51,40,29,.16); padding:10px;
  display:flex; flex-direction:column; gap:1px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .28s var(--v2-ease),transform .28s var(--v2-ease),visibility .28s; }
.v2hd .hp-navi:hover .hp-sub,
.v2hd .hp-navi:focus-within .hp-sub{ opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.v2hd .hp-sub__link{
  display:block; padding:9px 13px; border-radius:5px; font-size:0.75rem; font-weight:600;
  letter-spacing:.06em; text-transform:none; color:var(--v2-ink); text-decoration:none;
  transition:background .22s,color .22s; }
.v2hd .hp-sub__link::after{ display:none; }
.v2hd .hp-sub__link:hover{ background:var(--v2-cream-2); color:var(--v2-gold); }
.v2hd .hp-sub__grp{ display:flex; flex-direction:column; }
.v2hd .hp-sub__link--head{ font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  font-size:0.69rem; color:var(--v2-gold); pointer-events:none; padding-bottom:3px; }
.v2hd .hp-sub__link--deep{ padding-left:24px; }

/* action icons */
.v2hd .hp-icons{ gap:clamp(12px,1.4vw,20px); flex:0 0 auto; }
.v2hd .hp-icons a,.v2hd .hp-icons button{ color:var(--v2-ink); width:26px; height:26px;
  transition:color .25s,transform .3s var(--v2-ease); }
.v2hd .hp-icons a:hover,.v2hd .hp-icons button:hover{ color:var(--v2-gold); transform:translateY(-1px); }
.v2hd .hp-icons .cart-count{
  top:-6px; right:-8px; background:var(--v2-gold); color:#fff;
  min-width:16px; height:16px; font-size:0.69rem; font-weight:700; }
.v2hd .hp-burger span{ background:var(--v2-ink); }

@media(max-width:1180px){ .v2hd .hp-links{ gap:14px; } .v2hd .hp-links a,.v2hd .hp-links .hp-navi__top{ font-size:0.69rem; letter-spacing:.08em; } }
@media(max-width:1080px){ .v2hd .hp-nav{ height:70px; } .v2hd .hp-brand .wm{ height:38px; } }

/* header search drawer */
.v2search{ border-top:1px solid var(--v2-line-2); background:var(--v2-cream); }
.v2search__form{
  max-width:var(--v2-wrap); margin-inline:auto; padding:16px var(--v2-gut) 6px;
  display:flex; align-items:center; gap:12px; color:var(--v2-body); }
.v2search__form input[type="search"]{
  flex:1 1 auto; min-width:0; border:0; background:transparent; outline:none;
  font-family:var(--sans); font-size:.95rem; color:var(--v2-ink); padding:10px 0; }
.v2search__form input[type="search"]::placeholder{ color:rgba(110,97,84,.6); }
.v2search__form .v2btn{ min-height:40px; padding:.7em 1.4em; }
.v2search__close{ background:none; border:0; font-size:1.5rem; line-height:1; color:var(--v2-body); cursor:pointer; }
.v2search__close:hover{ color:var(--v2-ink); }
.v2search__hint{
  max-width:var(--v2-wrap); margin:0 auto; padding:0 var(--v2-gut) 16px;
  font-size:0.75rem; color:var(--v2-body); }
.v2search__hint a{ color:var(--v2-gold); text-decoration:none; margin-left:10px; }
.v2search__hint a:hover{ text-decoration:underline; }

/* ── 8. Mobile menu ────────────────────────────────────────────────── */
.mobile-menu{ background:var(--v2-cream); padding:0; }
.mobile-menu .mm-top{ padding:18px var(--v2-gut); margin:0; border-bottom:1px solid var(--v2-line-2); }
.mobile-menu .brand{ font-family:var(--serif); font-size:1.2rem; color:var(--v2-ink); }
.mobile-menu nav{ padding:22px var(--v2-gut) 40px; gap:2px; overflow-y:auto; }
.mobile-menu nav a{
  font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--v2-ink); padding:13px 0;
  border-bottom:1px solid var(--v2-line-2); }
.mobile-menu .hp-navi--panel{ display:flex; flex-direction:column; }
.mobile-menu .hp-navi--panel .hp-navi__chev{ display:none; }
.mobile-menu .hp-sub{ display:flex; flex-direction:column; padding-left:14px; }
.mobile-menu .hp-sub__link{ font-size:.75rem; font-weight:500; letter-spacing:.04em;
  text-transform:none; color:var(--v2-body); padding:10px 0; }
.mobile-menu .hp-sub__link--head{ color:var(--v2-gold); font-weight:700;
  text-transform:uppercase; font-size:0.69rem; letter-spacing:.12em; }
.mobile-menu .hp-sub__link--deep{ padding-left:14px; }

.mobile-menu .mm-foot{ margin-top:auto; padding:20px var(--v2-gut) 28px;
  display:flex; flex-direction:column; gap:10px; border-top:1px solid var(--v2-line-2); }
.mobile-menu .mm-foot .v2btn{ width:100%; }

/* ── 8b. Accordion ─────────────────────────────────────────────────── */
.v2acc{ border-top:1px solid var(--v2-line); }
.v2acc__i{ border-bottom:1px solid var(--v2-line); }
.v2acc__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  background:none; border:0; cursor:pointer; text-align:left;
  padding:19px 2px; font-family:var(--sans); font-size:.86rem; font-weight:600;
  color:var(--v2-ink); }
.v2acc__q:hover{ color:var(--v2-gold); }
.v2acc__pm{ flex:0 0 auto; width:20px; height:20px; position:relative; color:var(--v2-gold); }
.v2acc__pm::before,.v2acc__pm::after{
  content:""; position:absolute; left:50%; top:50%; background:currentColor;
  transform:translate(-50%,-50%); transition:transform .35s var(--v2-ease),opacity .25s; }
.v2acc__pm::before{ width:13px; height:1.5px; }
.v2acc__pm::after{ width:1.5px; height:13px; }
.v2acc__i.is-open .v2acc__pm::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.v2acc__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s var(--v2-ease); }
.v2acc__i.is-open .v2acc__a{ grid-template-rows:1fr; }
.v2acc__a > div{ overflow:hidden; }
.v2acc__a p{ font-size:.8rem; line-height:1.78; color:var(--v2-body); margin:0 0 19px; max-width:66ch; }

/* ── 9. Footer ─────────────────────────────────────────────────────── */
.footer.v2ft{
  background:var(--v2-dark-2); color:var(--v2-onDark);
  padding:clamp(48px,6vw,74px) 0 0; margin:0; border:0; }
.v2ft__top{
  max-width:1440px; margin-inline:auto; padding:0 var(--v2-gut) clamp(34px,4vw,52px);
  display:grid; grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(0,1fr)) minmax(180px,1.25fr);
  gap:clamp(22px,2.6vw,40px); }
.v2ft__brand .wm{ width:auto; height:44px; max-width:190px; object-fit:contain; filter:brightness(0) invert(1); opacity:.94; }
.v2ft__tag{ font-family:var(--sans); font-size:.75rem; line-height:1.7; color:var(--v2-onDark);
  margin:16px 0 0; max-width:24ch; font-style:normal; }
.v2ft__soc{ display:flex; gap:9px; margin-top:20px; }
.v2ft__soc a{
  width:31px; height:31px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
  display:grid; place-items:center; color:var(--v2-onDark);
  transition:background .28s,color .28s,border-color .28s,transform .3s var(--v2-ease); }
.v2ft__soc a:hover{ background:var(--v2-gold); border-color:var(--v2-gold); color:#fff; transform:translateY(-2px); }
.v2ft__soc svg{ width:14px; height:14px; }

.v2ft__col h2,.v2ft__col .footer__ct{
  font-family:var(--sans); font-size:0.69rem; font-weight:700; letter-spacing:.17em;
  text-transform:uppercase; color:var(--v2-gold-2); margin:0 0 16px; }
.v2ft__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.v2ft__col a{ font-size:.755rem; line-height:1.5; color:var(--v2-onDark); text-decoration:none;
  transition:color .24s,padding-left .28s var(--v2-ease); }
.v2ft__col a:hover{ color:var(--v2-gold-2); padding-left:3px; }

.v2ft__promise{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px 8px; }
.v2ft__pi{ text-align:center; }
.v2ft__pi .ico{ width:26px; height:26px; margin:0 auto 8px; color:var(--v2-gold-2); }
.v2ft__pi .ico img,.v2ft__pi .ico svg{ width:100%; height:100%; object-fit:contain;
  filter:brightness(0) saturate(100%) invert(69%) sepia(35%) saturate(680%) hue-rotate(2deg) brightness(92%) contrast(88%); }
.v2ft__pi span{ display:block; font-size:0.69rem; line-height:1.4; color:var(--v2-onDark); }

.v2ft__bottom{ border-top:1px solid rgba(255,255,255,.08); }
.v2ft__bottom > div{
  max-width:1440px; margin-inline:auto; padding:18px var(--v2-gut);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:0.75rem; color:rgba(217,205,189,.7); }
.v2ft__bottom a{ color:inherit; text-decoration:none; }
.v2ft__bottom a:hover{ color:var(--v2-gold-2); }
.v2ft__made .hb{ color:#D9534F; }

@media(max-width:1180px){
  .v2ft__top{ grid-template-columns:repeat(3,1fr); }
  .v2ft__brand{ grid-column:1 / -1; }
  .v2ft__promiseCol{ grid-column:1 / -1; }
  .v2ft__promise{ grid-template-columns:repeat(4,1fr); max-width:420px; }
}
@media(max-width:680px){
  .v2ft__top{ grid-template-columns:repeat(2,1fr); }
  .v2ft__bottom > div{ justify-content:center; text-align:center; }
}

/* ── 10. Responsive collapse for the primitives ────────────────────── */
@media(max-width:1100px){
  .v2strip__in{ grid-template-columns:repeat(3,1fr); row-gap:20px; }
  .v2feat:nth-child(3n+1)::before{ display:none; }
  .v2logos{ grid-template-columns:repeat(4,1fr); }
  .v2badges{ grid-template-columns:repeat(4,1fr); }
}
@media(max-width:900px){
  .v2tiles{ grid-template-columns:repeat(3,1fr); }
  .v2grid{ grid-template-columns:repeat(2,1fr); }
  .v2steps{ grid-template-columns:repeat(2,1fr); row-gap:32px; }
  .v2step::after{ display:none; }
  .v2journey{ grid-template-columns:repeat(3,1fr); row-gap:26px; }
  .v2time__track{ grid-template-columns:repeat(2,1fr); row-gap:32px; }
  .v2time__track::before{ display:none; }
}
@media(max-width:680px){
  .v2strip__in{ grid-template-columns:repeat(2,1fr); }
  .v2feat::before{ display:none !important; }
  .v2tiles,.v2grid{ grid-template-columns:1fr; }
  .v2badges{ grid-template-columns:repeat(2,1fr); }
  .v2logos{ grid-template-columns:repeat(3,1fr); }
  .v2steps{ grid-template-columns:1fr; }
  .v2journey{ grid-template-columns:repeat(2,1fr); }
  .v2time__track{ grid-template-columns:1fr; }
  .v2stat + .v2stat::before{ display:none; }
}

@media(prefers-reduced-motion:reduce){
  [data-v2reveal]{ opacity:1; transform:none; }
  .v2btn:hover,.v2card:hover{ transform:none; }
  .v2card:hover .v2card__media img{ transform:none; }
  .v2rail__vp{ scroll-behavior:auto; }
}





/* ====================================================================
   FIX TOP WHITESPACE GAP ABOVE HEADER/ANNOUNCEMENT BAR (SCOPED)
   ==================================================================== */
html, body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#wpadminbar {
  display: none !important;
}

html {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Homepage Only - Dark background */
body.home {
  background-color: #0d0a08 !important;
}

/* Shop Page & Browse Pages - Revert to Original Light Luxury Cream Background */
body.woocommerce-shop, body.woocommerce-page, body.archive, .luxshop {
  background-color: #faf7f2 !important;
  color: #43372d !important;
}

.v2bar {
  margin-top: 0 !important;
  position: relative !important;
  top: 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.v2bar__in {
  max-width: 1440px !important;
  margin-inline: auto !important;
}

.hp-header, #header, .v2hd {
  margin-top: 0 !important;
  position: relative !important;
  top: 0 !important;
}

#main, .site-main, .site-main--front, .site-main--page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ABOUT US PAGE STYLES */
/* ====================================================================
   ABOUT US V2 — PIXEL-PERFECT DESIGN REPLICA
   ==================================================================== */
:root {
  --v2-gold: #c49646;
  --v2-gold-dark: #a87b32;
  --v2-ink: #1f1b16;
  --v2-soft: #635a50;
  --v2-cream: #fbf9f4;
  --v2-cream-dark: #f3efe6;
  --v2-border: rgba(196, 150, 70, 0.2);
  --v2-serif: 'Playfair Display', Georgia, serif;
  --v2-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --v2-script: 'Alex Brush', 'Caveat', cursive;
}

.ab-page {
  background-color: var(--v2-cream);
  color: var(--v2-ink);
  font-family: var(--v2-sans);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Common Typography & Utilities */
.ab-container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 4vw, 60px);
  padding-right: clamp(20px, 4vw, 60px);
}

.ab-eyebrow {
  display: inline-block;
  font-family: var(--v2-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--v2-gold);
  margin-bottom: 14px;
}

.ab-h2 {
  font-family: var(--v2-serif);
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  font-weight: 600;
  line-height: 1.12;
  color: var(--v2-ink);
  margin: 0 0 18px 0;
  letter-spacing: -0.02em;
}

.ab-h2 em {
  font-style: italic;
  font-weight: 400;
  color: var(--v2-gold);
}

.ab-p {
  font-family: var(--v2-sans);
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--v2-soft);
  margin: 0 0 16px 0;
}

/* Buttons */
.ab-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--v2-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 100px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.ab-btn--dark {
  background: var(--v2-ink);
  color: #ffffff;
  border: 1px solid var(--v2-ink);
}

.ab-btn--dark:hover {
  background: var(--v2-gold);
  border-color: var(--v2-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(196, 150, 70, 0.25);
}

.ab-btn--outline {
  background: transparent;
  color: var(--v2-ink);
  border: 1px solid var(--v2-ink);
}

.ab-btn--outline:hover {
  background: var(--v2-ink);
  color: #ffffff;
  transform: translateY(-2px);
}

/* ====================================================================
   SECTION 1: HERO
   ==================================================================== */
.ab-hero {
  position: relative;
  padding: 50px 0 70px 0;
  background: var(--v2-cream);
  overflow: hidden;
}

.ab-hero__botanical {
  position: absolute;
  left: 0;
  top: 10%;
  width: 240px;
  pointer-events: none;
  opacity: 0.18;
}

.ab-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.ab-hero__breadcrumb {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--v2-soft);
  margin-bottom: 24px;
}

.ab-hero__breadcrumb a {
  color: var(--v2-soft);
  text-decoration: none;
  transition: color 0.2s;
}

.ab-hero__breadcrumb a:hover {
  color: var(--v2-gold);
}

.ab-hero__title {
  font-family: var(--v2-serif);
  font-size: clamp(3.2rem, 5.5vw, 4.8rem);
  font-weight: 700;
  line-height: 1.06;
  color: var(--v2-ink);
  margin: 0 0 24px 0;
  letter-spacing: -0.02em;
}

.ab-hero__title span {
  font-weight: 400;
}

.ab-hero__text {
  max-width: 480px;
}

.ab-hero__text p {
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--v2-soft);
  margin-bottom: 16px;
}

.ab-hero__media {
  position: relative;
  display: flex;
  justify-content: center;
}

.ab-hero__img {
  width: 100%;
  max-width: 540px;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(31, 27, 22, 0.08);
  object-fit: cover;
}

/* ====================================================================
   SECTION 2: THE INSPIRATION
   ==================================================================== */
.ab-inspiration {
  background: #ffffff;
  padding: 90px 0;
}

.ab-inspiration__grid {
  display: grid;
  grid-template-columns: 0.85fr 1fr 0.85fr;
  gap: 40px;
  align-items: center;
}

.ab-inspiration__photo {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.ab-inspiration__photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.ab-inspiration__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 24px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
  color: #ffffff;
}

.ab-inspiration__name {
  font-family: var(--v2-serif);
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0;
}

.ab-inspiration__role {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 2px;
  display: block;
}

.ab-inspiration__content {
  padding: 0 10px;
}

.ab-inspiration__signature {
  font-family: var(--v2-script);
  font-size: 2.2rem;
  color: var(--v2-ink);
  margin-top: 28px;
}

/* Note Card Graphic */
.ab-notecard {
  position: relative;
  background: var(--v2-cream);
  border: 1px solid rgba(196, 150, 70, 0.25);
  border-radius: 4px;
  padding: 50px 36px 40px 36px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.05), inset 0 0 40px rgba(196, 150, 70, 0.04);
}

.ab-notecard__seal {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 42px;
  height: 42px;
  background: var(--v2-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(196, 150, 70, 0.4);
}

.ab-notecard__seal svg {
  width: 22px;
  height: 22px;
  fill: #ffffff;
}

.ab-notecard__quote {
  font-family: var(--v2-script);
  font-size: 1.85rem;
  line-height: 1.45;
  color: var(--v2-ink);
  text-align: center;
  margin: 0;
}

.ab-notecard__floral {
  position: absolute;
  bottom: 12px;
  right: 16px;
  width: 54px;
  height: auto;
  opacity: 0.35;
}

/* ====================================================================
   SECTION 3: WHY TEASPOON HONEY
   ==================================================================== */
.ab-why {
  background: var(--v2-cream);
  padding: 70px 0;
  border-top: 1px solid var(--v2-border);
  border-bottom: 1px solid var(--v2-border);
}

.ab-why__header {
  text-align: center;
  margin-bottom: 44px;
}

.ab-why__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  position: relative;
}

.ab-why__item {
  padding: 0 24px;
  text-align: center;
  position: relative;
}

.ab-why__item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 10%;
  height: 80%;
  width: 1px;
  background: var(--v2-border);
}

.ab-why__icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 16px auto;
  color: var(--v2-gold);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ab-why__icon svg {
  width: 36px;
  height: 36px;
  stroke: var(--v2-gold);
  stroke-width: 1.5;
  fill: none;
}

.ab-why__title {
  font-family: var(--v2-sans);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 6px 0;
}

.ab-why__desc {
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--v2-soft);
  margin: 0;
}

/* ====================================================================
   SECTION 4: OUR STORY
   ==================================================================== */
.ab-story {
  background: #ffffff;
  padding: 95px 0;
}

.ab-story__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 50px;
  align-items: center;
}

.ab-story__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ab-story__card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: 360px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.ab-story__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ab-story__card:hover img {
  transform: scale(1.06);
}

.ab-story__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 12, 9, 0.88) 0%, rgba(15, 12, 9, 0.2) 60%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 20px;
  color: #ffffff;
}

.ab-story__card-title {
  font-family: var(--v2-serif);
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 4px 0;
  color: #ffffff;
}

.ab-story__card-desc {
  font-size: 0.76rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}

/* ====================================================================
   SECTION 5: FROM HIVE TO YOU
   ==================================================================== */
.ab-hive {
  background: var(--v2-cream);
  padding: 85px 0;
}

.ab-hive__header {
  text-align: center;
  margin-bottom: 50px;
}

.ab-hive__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.ab-hive__line {
  position: absolute;
  top: 55px;
  left: 8%;
  right: 8%;
  height: 1px;
  border-top: 1px dashed var(--v2-gold);
  z-index: 1;
  opacity: 0.6;
}

.ab-hive__step {
  position: relative;
  z-index: 2;
  text-align: center;
}

.ab-hive__circle-wrap {
  position: relative;
  width: 110px;
  height: 110px;
  margin: 0 auto 18px auto;
}

.ab-hive__circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  background: var(--v2-cream-dark);
}

.ab-hive__circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ab-hive__badge {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  border: 1px solid var(--v2-gold);
  color: var(--v2-ink);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 100px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.ab-hive__step-title {
  font-family: var(--v2-sans);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 4px 0;
}

.ab-hive__step-desc {
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--v2-soft);
  margin: 0;
}

/* ====================================================================
   SECTION 6: OUR PROMISE
   ==================================================================== */
.ab-promise {
  background: #ffffff;
  padding: 95px 0;
}

.ab-promise__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: center;
}

.ab-promise__media {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}

.ab-promise__media img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}

.ab-promise__badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 36px;
}

.ab-promise__badge {
  background: var(--v2-cream);
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  padding: 20px 12px;
  text-align: center;
  transition: all 0.3s ease;
}

.ab-promise__badge:hover {
  background: #ffffff;
  border-color: var(--v2-gold);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(196, 150, 70, 0.12);
}

.ab-promise__badge-icon {
  width: 32px;
  height: 32px;
  margin: 0 auto 10px auto;
  color: var(--v2-gold);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ab-promise__badge-icon svg {
  width: 28px;
  height: 28px;
  stroke: var(--v2-gold);
  stroke-width: 1.5;
  fill: none;
}

.ab-promise__badge-title {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--v2-ink);
  margin: 0 0 2px 0;
  display: block;
}

.ab-promise__badge-sub {
  font-size: 0.75rem;
  color: var(--v2-soft);
  display: block;
}

/* Responsive Styles */
@media (max-width: 1024px) {
  .ab-hero__grid, .ab-inspiration__grid, .ab-story__grid, .ab-promise__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ab-why__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .ab-why__item:not(:last-child)::after {
    display: none;
  }
  .ab-hive__timeline {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  .ab-hive__line {
    display: none;
  }
}

@media (max-width: 640px) {
  .ab-why__grid, .ab-promise__badges {
    grid-template-columns: repeat(2, 1fr);
  }
  .ab-story__cards {
    grid-template-columns: 1fr;
  }
  .ab-hive__timeline {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ABOUT US PAGE LAYOUT FIX & HEADER CLEARANCE */
body.page-template-page-about-us {
  background-color: #faf7f2 !important;
  color: #43372d !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ab-page {
  background-color: #faf7f2 !important;
}

.ab-hero {
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
}




/* ABOUT US HERO FULL BACKGROUND IMAGE STYLING */
.ab-hero {
  position: relative !important;
  background: linear-gradient(to right, rgba(13, 10, 8, 0.92) 0%, rgba(13, 10, 8, 0.78) 45%, rgba(13, 10, 8, 0.4) 80%, rgba(13, 10, 8, 0.2) 100%),
              url('https://techhands.net/Teaspoon-honey/wp-content/uploads/2026/08/hero-mountain-jar.png') center right/cover no-repeat !important;
  background-attachment: fixed !important;
  color: #ffffff !important;
  min-height: 600px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
  padding-bottom: 80px !important;
}

.ab-hero__grid {
  grid-template-columns: 1.2fr 0.8fr !important;
  align-items: center !important;
}

.ab-hero__title {
  color: #ffffff !important;
}

.ab-hero__title span {
  color: #c49646 !important;
}

.ab-hero__text p, .ab-p {
  color: rgba(255, 255, 255, 0.92) !important;
}

.ab-hero__breadcrumb a, .ab-hero__breadcrumb span {
  color: rgba(255, 255, 255, 0.75) !important;
}

.ab-hero__media {
  opacity: 0.95;
}

.ab-hero__media img {
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.6));
}




/* ABOUT US HERO — CLEAN LIGHT LUXURY LAYOUT (IMAGE REMOVED, ULTRA-LEGIBLE) */
.ab-hero {
  position: relative !important;
  background: #faf7f2 !important;
  color: #43372d !important;
  min-height: auto !important;
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
  padding-bottom: clamp(50px, 7vh, 80px) !important;
}

.ab-hero__grid {
  display: block !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.ab-hero__text {
  max-width: 100% !important;
}

.ab-hero__breadcrumb {
  justify-content: center !important;
  display: flex !important;
  gap: 8px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #8c7b6c !important;
  margin-bottom: 20px !important;
}

.ab-hero__breadcrumb a {
  color: #8c7b6c !important;
  text-decoration: none !important;
}

.ab-hero__title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(2.4rem, 5vw, 3.8rem) !important;
  line-height: 1.12 !important;
  color: #1f1b16 !important;
  margin: 0 0 24px !important;
}

.ab-hero__title span {
  color: #c49646 !important;
  font-style: italic !important;
}

.ab-hero__text p, .ab-p {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
  line-height: 1.75 !important;
  color: #55483d !important;
  max-width: 68ch !important;
  margin: 0 auto 16px !important;
}

.ab-hero__media {
  display: none !important;
}

.ab-btn--dark {
  background: #1f1b16 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.9em 2em !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin-top: 24px !important;
  transition: background 0.25s, transform 0.25s !important;
}

.ab-btn--dark:hover {
  background: #c49646 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}




/* ABOUT US HERO — REVERTED 2-COLUMN LAYOUT WITH SIDE IMAGE */
.ab-hero {
  position: relative !important;
  background: #faf7f2 !important;
  color: #43372d !important;
  min-height: auto !important;
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
  padding-bottom: clamp(60px, 8vh, 100px) !important;
}

.ab-hero__grid {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: clamp(30px, 5vw, 70px) !important;
  align-items: center !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.ab-hero__text {
  max-width: 580px !important;
}

.ab-hero__breadcrumb {
  justify-content: flex-start !important;
  display: flex !important;
  gap: 8px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #8c7b6c !important;
  margin-bottom: 20px !important;
}

.ab-hero__title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(2.4rem, 4.5vw, 3.8rem) !important;
  line-height: 1.12 !important;
  color: #1f1b16 !important;
  margin: 0 0 24px !important;
}

.ab-hero__title span {
  color: #c49646 !important;
}

.ab-hero__text p, .ab-p {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(0.98rem, 1.3vw, 1.1rem) !important;
  line-height: 1.75 !important;
  color: #55483d !important;
  margin-bottom: 16px !important;
}

.ab-hero__media {
  display: block !important;
  position: relative !important;
}

.ab-hero__img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 20px 40px rgba(67, 55, 45, 0.12)) !important;
}

.ab-btn--dark {
  background: #1f1b16 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.9em 2em !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin-top: 24px !important;
}



/* ABOUT US HERO — FULL BACKGROUND IMAGE (NO GRADIENT OVERLAY, NO SIDE CARD) */
.ab-hero {
  position: relative !important;
  background-image: url('https://techhands.net/Teaspoon-honey/wp-content/uploads/2026/08/hero-mountain-jar.png') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  color: #ffffff !important;
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
  padding-bottom: 80px !important;
}

.ab-hero__grid {
  display: block !important;
  max-width: 640px !important;
  margin: 0 !important;
  margin-left: max(20px, calc((100vw - 1440px) / 2 + 60px)) !important;
  text-align: left !important;
}

.ab-hero__text {
  max-width: 600px !important;
}

.ab-hero__breadcrumb {
  justify-content: flex-start !important;
  display: flex !important;
  gap: 8px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.88) !important;
  margin-bottom: 20px !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

.ab-hero__breadcrumb a {
  color: rgba(255, 255, 255, 0.88) !important;
  text-decoration: none !important;
}

.ab-hero__title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(2.5rem, 4.8vw, 4rem) !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  margin: 0 0 24px !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7) !important;
}

.ab-hero__title span {
  color: #f2b831 !important;
  font-style: italic !important;
}

.ab-hero__text p, .ab-p {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(1rem, 1.3vw, 1.12rem) !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7) !important;
  margin-bottom: 16px !important;
}

.ab-hero__media {
  display: none !important;
}

.ab-btn--dark {
  background: #1f1b16 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.9em 2.2em !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin-top: 20px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
}



/* ABOUT US HERO — HIGH CONTRAST & LEGIBILITY (POSITION UNCHANGED) */
.ab-hero {
  position: relative !important;
  background-image: url('https://techhands.net/Teaspoon-honey/wp-content/uploads/2026/08/hero-mountain-jar.png') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: calc(var(--tspbar-h, 38px) + 90px) !important;
  padding-bottom: 80px !important;
}

.ab-hero__container, .ab-container {
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 5vw, 80px) !important;
}

.ab-hero__text {
  max-width: 580px !important;
  background: rgba(13, 10, 8, 0.45) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: clamp(24px, 4vw, 36px) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(242, 184, 49, 0.25) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4) !important;
}

.ab-hero__breadcrumb {
  display: flex !important;
  gap: 8px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #f2b831 !important;
  margin-bottom: 16px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
}

.ab-hero__breadcrumb a, .ab-hero__breadcrumb span {
  color: #f2b831 !important;
  text-decoration: none !important;
}

.ab-hero__title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(2.4rem, 4.5vw, 3.8rem) !important;
  line-height: 1.12 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  margin: 0 0 20px !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.9), 0 1px 3px rgba(0, 0, 0, 0.95) !important;
}

.ab-hero__title span {
  color: #f2b831 !important;
  font-style: italic !important;
}

.ab-hero__text p, .ab-p {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(1rem, 1.3vw, 1.12rem) !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9), 0 1px 2px rgba(0, 0, 0, 0.95) !important;
  margin-bottom: 14px !important;
}

.ab-hero__media {
  display: none !important;
}

.ab-btn--dark {
  background: #f2b831 !important;
  color: #1f1b16 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.95em 2.2em !important;
  border-radius: 100px !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin-top: 16px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
  transition: transform 0.25s, background 0.25s !important;
}

.ab-btn--dark:hover {
  background: #ffffff !important;
  color: #1f1b16 !important;
  transform: translateY(-2px) !important;
}



/* ALL REAL PHOTOGRAPHY CARD ENHANCEMENTS */
.ab-story__card {
  position: relative !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  aspect-ratio: 3 / 4 !important;
  box-shadow: 0 16px 36px rgba(51, 40, 29, 0.12) !important;
  border: 1px solid rgba(196, 150, 70, 0.2) !important;
  transition: transform 0.4s cubic-bezier(0.16, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
}

.ab-story__card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 50px rgba(51, 40, 29, 0.2) !important;
}

.ab-story__card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}

.ab-story__card:hover img {
  transform: scale(1.06) !important;
}

.ab-story__card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(13, 10, 8, 0.92) 0%, rgba(13, 10, 8, 0.5) 50%, rgba(13, 10, 8, 0.1) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: clamp(20px, 2.5vw, 32px) !important;
  color: #ffffff !important;
}

.ab-story__card-title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6) !important;
}

.ab-story__card-desc {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(0.82rem, 1vw, 0.92rem) !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin: 0 !important;
}

.ab-hive__circle img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}



/* SECTION 4 OUR STORY CARDS — GAP & BRIGHTNESS FIX */
.ab-story__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: clamp(30px, 4vw, 60px) !important;
  align-items: center !important;
}

.ab-story__cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  width: 100% !important;
}

.ab-story__card {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  aspect-ratio: 3 / 4.2 !important;
  box-shadow: 0 14px 32px rgba(51, 40, 29, 0.14) !important;
  border: 1px solid rgba(196, 150, 70, 0.2) !important;
  background: #1f1b16 !important;
  transition: transform 0.4s cubic-bezier(0.16, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
}

.ab-story__card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 48px rgba(51, 40, 29, 0.22) !important;
}

.ab-story__card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: brightness(1.05) contrast(1.05) !important;
  transition: transform 0.5s ease !important;
}

.ab-story__card:hover img {
  transform: scale(1.06) !important;
}

.ab-story__card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(13, 10, 8, 0.95) 0%, rgba(13, 10, 8, 0.65) 35%, rgba(13, 10, 8, 0.1) 65%, transparent 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: clamp(18px, 2vw, 26px) !important;
  color: #ffffff !important;
}

.ab-story__card-title {
  font-family: var(--v2-serif, 'Fraunces', serif) !important;
  font-size: clamp(1.1rem, 1.5vw, 1.35rem) !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin: 0 0 6px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7) !important;
}

.ab-story__card-desc {
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: clamp(0.8rem, 0.95vw, 0.88rem) !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  margin: 0 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7) !important;
}



/* ====================================================================
   UNIVERSAL DROPDOWN MENU VISIBILITY & LEGIBILITY FIX
   ==================================================================== */
.hp-navi {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.hp-sub, .v2hd .hp-sub, .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translate(-50%, 10px) !important;
  min-width: 240px !important;
  background: #ffffff !important;
  color: #1f1b16 !important;
  border-radius: 14px !important;
  padding: 12px 8px !important;
  box-shadow: 0 16px 40px rgba(13, 10, 8, 0.22), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(196, 150, 70, 0.25) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
  z-index: 9999 !important;
}

.hp-navi:hover .hp-sub,
.hp-navi:focus-within .hp-sub,
.hp-navi:hover .sub-menu,
.hp-navi:focus-within .sub-menu,
li.menu-item-has-children:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) !important;
}

.hp-sub a, .hp-sub__link, .sub-menu a, .v2hd .hp-sub__link {
  display: block !important;
  padding: 10px 16px !important;
  font-family: var(--v2-sans, 'Mulish', sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: #43372d !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: background 0.2s, color 0.2s, padding-left 0.2s !important;
  white-space: nowrap !important;
}

.hp-sub a:hover, .hp-sub__link:hover, .sub-menu a:hover, .v2hd .hp-sub__link:hover {
  background: #f7f3ec !important;
  color: #c49646 !important;
  padding-left: 20px !important;
}

.hp-sub__link--head {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #c49646 !important;
  padding: 8px 16px 4px !important;
  pointer-events: none !important;
}

.hp-sub__link--deep {
  padding-left: 26px !important;
  font-size: 0.78rem !important;
  color: #55483d !important;
}

.hp-sub__link--deep:hover {
  padding-left: 30px !important;
  color: #c49646 !important;
}

/* ── Paragraph size bump (+2px, added 2026-08-07 per user request) ── */
.dprom__p,.gifti__p,.vprev__p,.bsell__sub,.luxv2-valley__sub,.luxv2-body,.luxv2-p,.ab-p,.dprom__card-desc,.vprop__desc,.gifti__f-sub{
  font-size: 17px !important;
  line-height: 1.72;
}
.hero-slide__sub{ font-size: clamp(1rem, 1.4vw, 1.15rem) !important; }
body p:not([class]){ font-size: 17px; }

/* ---------------------------------------------------------------------------
 * Horizontal overflow containment (2026-08-12)
 *
 * `body{overflow-x:hidden}` alone only HIDES a too-wide layout: iOS Safari still
 * lets the page pan sideways, and making body a scroll container interferes
 * with the sticky header. `overflow-x:clip` cannot be panned and does not
 * create a scroll container, so sticky positioning keeps working.
 *
 * The block cart/checkout are CSS grids, and grid children default to
 * min-width:auto, so one long word or a wide table can push the whole column
 * past the viewport. min-width:0 lets them shrink instead.
 * ------------------------------------------------------------------------ */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}

.wc-block-checkout,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wc-block-cart{max-width:100%;overflow-x:clip}

.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-components-main,
.wc-block-components-sidebar{min-width:0}

/* Long product names and email addresses must wrap, not widen the column. */
.wc-block-components-product-name,
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__label,
.wc-block-components-address-card{overflow-wrap:anywhere}

/* Any stray wide block (tables, pre) scrolls inside itself, never the page. */
.wc-block-checkout table,
.wc-block-cart table,
.woocommerce-order-details table,
.woocommerce-customer-details table{display:block;max-width:100%;overflow-x:auto}

/* ---------------------------------------------------------------------------
 * LARGE SCREENS: laptops above 1440, desktop monitors, and TVs (2026-08-12)
 *
 * The theme had NO rule above 1180px. Content sat in a fixed 1440px column, so
 * on a 27-inch monitor or a television the page became a narrow ribbon of
 * tiny text stranded in the middle of the screen, and full-bleed bands
 * stretched behind it looking empty.
 *
 * 89% of this theme's type is rem-based, so raising the ROOT size scales the
 * whole system (type, rem paddings, rem gaps) in proportion rather than
 * needing hundreds of individual overrides. Containers are declared in px, so
 * those are widened to match at each step.
 *
 * Steps are deliberately gentle. Anything larger reads as a zoomed-in page.
 * ------------------------------------------------------------------------ */

/* Container tokens so the steps below have one place to change. */
:root{ --tsp-wrap: 1440px; }

.v2wrap--wide,
.v2bar__in,
.v2hd .hp-nav,
.v2ft__top,
.v2ft__bottom > div,
.ab-container,
.ab-hero__container,
.wrap,
.sec-wrap{ max-width: var(--tsp-wrap); }

/* 1600px+ : large laptops and standard desktop monitors. */
@media (min-width: 1600px){
	html{ font-size: 17px; }
	:root{ --tsp-wrap: 1560px; }
}

/* 1920px+ : full-HD monitors and the smaller end of TV. */
@media (min-width: 1920px){
	html{ font-size: 18px; }
	:root{ --tsp-wrap: 1680px; }
}

/* 2560px+ : QHD/4K monitors and living-room televisions, usually viewed from
   much further away, so the type genuinely needs to be larger. */
@media (min-width: 2560px){
	html{ font-size: 20px; }
	:root{ --tsp-wrap: 1900px; }
}

/* Reading measure must stay comfortable no matter how wide the screen gets:
   scaling the container without capping prose gives 200-character lines. */
@media (min-width: 1600px){
	.v2t__sub, .v2lead, .stx__lead, .stx__chbody,
	.tsup__sub, .tsty__list p,
	.woocommerce-product-details__short-description,
	.pdp-buy__desc{ max-width: 68ch; }
}

/* Full-bleed media bands: cap the height so a hero photo does not swallow a
   2560px-tall screen, and keep the focal point centred. */
@media (min-width: 1600px){
	.v2hero__media img,
	.v2-fhero img,
	.stx__frame img{ max-height: 78vh; object-fit: cover; }
}

/* ---------------------------------------------------------------------------
 * TOUCH TARGETS (2026-08-12)
 *
 * A responsive audit found 14 controls below the 44x44 CSS px minimum across
 * every touch class the client named (320-430 phones, 768/800/1024 tablets),
 * including several primary conversion controls: the shop card's Add button
 * (27px tall), the PDP sticky bar's Add to cart (37px), the cart drawer's
 * quantity steppers (26x24), and all four header icons (26x26).
 *
 * Where growing the visible box would shift the layout, the target is expanded
 * with a transparent pseudo-element instead, so nothing moves visually.
 * ------------------------------------------------------------------------ */
@media (pointer: coarse), (max-width: 1080px){

	/* Header chrome: search, account, cart and burger are the entire mobile nav. */
	.v2hd .hp-icons a,
	.v2hd .hp-icons button{ position:relative; }
	.v2hd .hp-icons a::after,
	.v2hd .hp-icons button::after{
		content:''; position:absolute; left:50%; top:50%;
		width:44px; height:44px; transform:translate(-50%,-50%);
	}

	/* Dismiss controls collapse to their glyph because the global reset strips
	   button padding. Negative margin keeps the visual position identical. */
	.close-x,
	.v2search__close,
	.luxshop__fclose,
	.cart-drawer__close,
	.cart-drawer__item-remove{
		width:44px !important; height:44px !important; padding:0 !important;
		display:flex !important; align-items:center !important; justify-content:center !important;
	}
	.close-x,.v2search__close{ margin-right:-10px; }

	/* Shop + related card actions: the store's primary conversion control. */
	.woocommerce ul.products li.product .button,
	.pdp-relcard .pdp-btn,
	.bsell-card__btn{ min-height:44px !important; }
	.bsell-card__btn{ width:44px !important; height:44px !important; }

	/* PDP: sticky buy bar, gallery zoom, carousel arrows, quantity steppers. */
	.pdp-sticky .pdp-btn--gold{ min-height:44px !important; }
	.pdp-gal__zoom{ width:44px !important; height:44px !important; }
	.pdp-rel__arrow{ width:44px !important; height:44px !important; }
	.pdp .quantity .tspqty-btn,
	.pdp .quantity button{ min-width:44px !important; }

	/* Cart drawer quantity steppers, and the block cart's remove link. */
	.cdx-qty__b{ width:44px !important; height:44px !important; }
	.wc-block-cart-item__remove-link{
		display:inline-flex !important; align-items:center !important;
		min-height:44px !important;
	}

	/* Shop filters: the chips ARE the filtering interaction. */
	.luxshop__fgroup label,
	.luxshop__fbtn,
	.luxshop__clear{
		min-height:44px !important;
		display:inline-flex !important; align-items:center !important;
	}
	.luxshop__clear{ padding:0 4px !important; }

	/* Bottom app nav tabs. */
	.tsp-appnav__item{ min-height:44px !important; }

	/* Gifting page: occasion chips and the per-card conversion link. */
	.gp__chip{ min-height:44px !important; display:inline-flex !important; align-items:center !important; }
	.gp__go{ min-height:44px !important; display:inline-flex !important; align-items:center !important; }

	/* Text links that act as buttons elsewhere on the site. */
	.fdx__wabtn,
	.stx__meet,
	.lart__back,
	.tsp-free__code{
		min-height:44px !important;
		display:inline-flex !important; align-items:center !important;
	}
}
