/** Shopify CDN: Minification failed

Line 1265:0 Unexpected "}"

**/
/* ============================================================
   FORMGLASS   THEME CSS
   Single source of truth. No duplicates.
   ============================================================ */

:root {
  --cream: #f5f2ec;
  --warm-white: #faf8f5;
  --black: #0e0d0b;
  --charcoal: #1a1917;
  --warm-gray: #9a9590;
  --mid-gray: #d4d0c9;
  --accent: #b8976a;
  --text-body: #3a3834;
  --header-h: 72px;
  --announce-h: 0px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
body { font-family: 'Jost', sans-serif; font-weight: 300; background: var(--cream); color: var(--text-body); overflow-x: hidden; }
img[loading="lazy"] { opacity: 0; transition: opacity .4s ease; }
img.loaded { opacity: 1; }
.rte p { margin-bottom: 1em; font-size: .88rem; line-height: 1.95; color: var(--warm-gray); }

/* =====================
   ANNOUNCEMENT BAR
   ===================== */
.announcement-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 201;
  height: var(--announce-h);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 48px;
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.announcement-bar a { text-decoration: none; color: inherit; }
.announcement-bar.bar-hidden { transform: translateY(-100%); }
.announcement-close {
  position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  background: none; border: none; font-size: 1.1rem; line-height: 1;
  cursor: pointer; opacity: .55; padding: 4px; color: inherit;
}
.announcement-close:hover { opacity: 1; }

/* =====================
   HEADER
   ===================== */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 52px;
  background: rgba(245,242,236,.97);
  border-bottom: 1px solid rgba(212,208,201,.6);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
/* Hide on scroll down */
.site-header.header-hidden { transform: translateY(0); }
/* solid class kept for JS compatibility   no visual change needed */
.site-header.solid {}

/* Logo   left */
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300; font-size: 1rem;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--black); text-decoration: none;
  white-space: nowrap; display: flex; align-items: center;
}

/* Nav links   center-right */
.nav-links { display: flex; gap: 36px; align-items: center; }
.nav-links a {
  font-size: .68rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--charcoal); text-decoration: none;
  opacity: .65; transition: opacity .25s;
}
.nav-links a:hover { opacity: 1; }

/* Right   cart + hamburger */
.nav-right { display: flex; align-items: center; gap: 16px; }
.cart-icon-btn {
  background: none; border: none; cursor: pointer;
  display: flex; align-items: center; position: relative; padding: 4px;
  color: var(--charcoal); opacity: .7; transition: opacity .25s;
}
.cart-icon-btn:hover { opacity: 1; }
.cart-count {
  position: absolute; top: -5px; right: -7px;
  background: var(--accent); color: #fff;
  width: 16px; height: 16px; border-radius: 50%;
  font-size: .55rem; display: flex; align-items: center;
  justify-content: center; font-family: 'Jost', sans-serif;
  pointer-events: none; font-weight: 400;
}
/* Hamburger   mobile only */
.nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; background: none; border: none; }
.nav-hamburger span { display: block; width: 22px; height: 1px; background: var(--black); transition: all .3s; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* =====================
   MAIN CONTENT OFFSET
   ===================== */
#MainContent { padding-top: var(--header-h); }
body.no-announce-body #MainContent { padding-top: var(--header-h); }

/* =====================
   MOBILE NAV DRAWER
   ===================== */
.nav-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(14,13,11,.5); z-index: 198; opacity: 0; transition: opacity .3s;
}
.nav-overlay.visible { display: block; opacity: 1; }
.nav-drawer {
  position: fixed; inset: 0; background: var(--cream);
  z-index: 202; display: none; flex-direction: column;
  align-items: center; justify-content: center; gap: 28px; padding: 40px;
}
.nav-drawer.open { display: flex; }
.nav-drawer a {
  font-family: 'Cormorant Garamond', serif; font-size: 2.2rem;
  font-weight: 300; color: var(--black); text-decoration: none;
  letter-spacing: .06em; transition: color .2s;
}
.nav-drawer a:hover { color: var(--accent); }
.drawer-close {
  position: absolute; top: 24px; right: 28px;
  background: none; border: none; font-size: 2rem;
  color: var(--black); cursor: pointer; line-height: 1; padding: 4px;
  z-index: 10;
}
.drawer-cart-link { font-size: 1.1rem !important; opacity: .5; }

/* =====================
   CART DRAWER
   ===================== */
.cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 420px; max-width: 100vw;
  background: var(--warm-white); z-index: 300;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  display: flex; flex-direction: column;
  border-left: 1px solid var(--mid-gray);
}
.cart-drawer.open { transform: translateX(0); }
.cart-drawer-overlay {
  position: fixed; inset: 0; right: 420px; background: rgba(0,0,0,.35);
  z-index: 299; opacity: 0; pointer-events: none; transition: opacity .35s;
}
.cart-drawer-overlay.visible { opacity: 1; pointer-events: auto; }
.cart-drawer-header { display: flex; justify-content: space-between; align-items: center; padding: 24px 28px; border-bottom: 1px solid var(--mid-gray); flex-shrink: 0; }
.cart-drawer-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 300; color: var(--black); }
.cart-drawer-close { background: none; border: none; font-size: 1.6rem; color: var(--warm-gray); cursor: pointer; line-height: 1; padding: 4px; transition: color .2s; }
.cart-drawer-close:hover { color: var(--black); }
.cart-drawer-body { flex: 1; overflow-y: auto; padding: 0 28px; -webkit-overflow-scrolling: touch; }
.cart-drawer-loading { display: flex; align-items: center; justify-content: center; padding: 48px 0; font-size: .82rem; color: var(--warm-gray); letter-spacing: .1em; }
.cart-drawer-empty { display: flex; flex-direction: column; align-items: center; padding: 56px 0; text-align: center; font-size: .86rem; color: var(--warm-gray); gap: 20px; }
.cart-drawer-item { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--mid-gray); }
.cart-drawer-item-img img { width: 80px; height: 80px; object-fit: cover; display: block; background: var(--mid-gray); opacity: 0; transition: opacity .3s; }
.cart-drawer-item-img img.loaded { opacity: 1; }
.cart-drawer-item-title { font-size: .84rem; color: var(--black); margin-bottom: 4px; line-height: 1.4; }
.cart-drawer-item-variant { font-size: .75rem; color: var(--warm-gray); margin-bottom: 6px; }
.cart-drawer-item-price { font-family: 'Cormorant Garamond', serif; font-size: 1rem; font-weight: 300; color: var(--black); margin-bottom: 10px; }
.cart-drawer-item-qty { display: flex; align-items: center; border: 1px solid var(--mid-gray); width: fit-content; }
.cart-drawer-qty-btn { width: 30px; height: 30px; background: none; border: none; font-size: 1rem; cursor: pointer; color: var(--black); display: flex; align-items: center; justify-content: center; transition: background .2s; font-family: 'Jost', sans-serif; }
.cart-drawer-qty-btn:hover { background: var(--mid-gray); }
.cart-drawer-qty-val { width: 32px; text-align: center; font-size: .82rem; color: var(--black); border-left: 1px solid var(--mid-gray); border-right: 1px solid var(--mid-gray); display: flex; align-items: center; justify-content: center; height: 30px; }
.cart-drawer-item-remove { background: none; border: none; color: var(--warm-gray); font-size: 1.2rem; cursor: pointer; padding: 4px; line-height: 1; transition: color .2s; margin-top: 2px; }
.cart-drawer-item-remove:hover { color: var(--black); }
.cart-drawer-footer { padding: 20px 28px 28px; border-top: 1px solid var(--mid-gray); flex-shrink: 0; position: relative; z-index: 301; }
.cart-drawer-subtotal { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; font-size: .84rem; color: var(--black); }
.cart-drawer-subtotal span:last-child { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 300; }
.cart-drawer-note { font-size: .7rem; color: var(--warm-gray); margin-bottom: 16px; letter-spacing: .05em; }
.cart-drawer-checkout { display: block; width: 100%; padding: 15px; background: var(--black); color: var(--cream); text-align: center; text-decoration: none; font-family: 'Jost', sans-serif; font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 10px; transition: background .2s; }
.cart-drawer-checkout:hover { background: var(--charcoal); }
.cart-drawer-view { display: block; width: 100%; padding: 13px; border: 1px solid var(--black); color: var(--black); text-align: center; text-decoration: none; font-family: 'Jost', sans-serif; font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; transition: background .2s, color .2s; }
.cart-drawer-view:hover { background: var(--black); color: var(--cream); }

/* =====================
   BUTTONS
   ===================== */
.btn-primary { display: inline-block; padding: 14px 40px; background: var(--black); color: var(--cream); font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; text-decoration: none; border: none; font-family: 'Jost', sans-serif; font-weight: 300; transition: background .3s; cursor: pointer; }
.btn-primary:hover { background: var(--charcoal); }
.btn-primary:disabled { opacity: .45; cursor: not-allowed; }
.btn-ghost { display: inline-block; padding: 13px 36px; border: 1px solid var(--black); color: var(--black); font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s; font-family: 'Jost', sans-serif; font-weight: 300; background: none; cursor: pointer; }
.btn-ghost:hover { background: var(--black); color: var(--cream); }
.btn-light { display: inline-block; padding: 14px 40px; background: var(--warm-white); color: var(--black); font-size: .68rem; letter-spacing: .28em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s; border: none; font-family: 'Jost', sans-serif; font-weight: 300; cursor: pointer; }
.btn-light:hover { background: var(--accent); color: var(--warm-white); }
.btn-light:disabled { opacity: .45; cursor: not-allowed; }

/* =====================
   SHARED TYPOGRAPHY
   ===================== */
.section-label { font-size: .62rem; letter-spacing: .38em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.section-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(1.8rem,3.5vw,3.2rem); line-height: 1.15; color: var(--black); margin-bottom: 24px; }
.section-title em { font-style: italic; color: var(--accent); }
.body-text { font-size: .88rem; line-height: 1.95; color: var(--warm-gray); max-width: 500px; }
.divider { width: 36px; height: 1px; background: var(--accent); margin: 24px 0; }

/* =====================
   HERO
   ===================== */
.fg-hero { min-height: calc(100vh - var(--header-h)); display: grid; grid-template-columns: 1fr 1fr; }
.hero-left { display: flex; flex-direction: column; justify-content: center; padding: 80px 64px 72px; }
body.no-announce-body .hero-left { padding: 80px 64px 72px; }
.hero-eyebrow { font-size: .63rem; letter-spacing: .38em; text-transform: uppercase; color: var(--accent); margin-bottom: 32px; animation: fadeUp 1s ease both; }
.hero-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(3rem,5vw,6rem); line-height: .98; color: var(--black); margin-bottom: 28px; animation: fadeUp 1s .12s ease both; }
.hero-title em { font-style: italic; color: var(--accent); }
.hero-sub { font-size: .88rem; line-height: 1.95; color: var(--warm-gray); max-width: 340px; margin-bottom: 44px; animation: fadeUp 1s .24s ease both; }
.hero-right { overflow: hidden; background: #e6e0d5; }
.hero-right img { width: 100%; height: 100%; object-fit: cover; display: block; animation: slowZoom 9s ease both; }

/* =====================
   MARQUEE
   ===================== */
.marquee-wrap { border-top: 1px solid var(--mid-gray); border-bottom: 1px solid var(--mid-gray); overflow: hidden; padding: 16px 0; background: var(--warm-white); }
.marquee-track { display: flex; gap: 64px; width: max-content; animation: marquee 20s linear infinite; }
.marquee-item { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: .95rem; letter-spacing: .08em; color: var(--warm-gray); white-space: nowrap; }
.marquee-dot { display: inline-block; width: 4px; height: 4px; background: var(--accent); border-radius: 50%; vertical-align: middle; margin: 0 32px; }

/* =====================
   INTRO
   ===================== */
.fg-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding: 100px 72px; background: var(--warm-white); }
.intro-img-stack { position: relative; }
.intro-img-main { width: 100%; object-fit: cover; display: block; }
.intro-img-float { position: absolute; bottom: -28px; right: -24px; width: 48%; object-fit: cover; border: 5px solid var(--warm-white); }

/* =====================
   PRODUCT FEATURE SECTION
   ===================== */
.fg-product { background: var(--charcoal); display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; padding: 100px 72px; }
.fg-product .section-label { color: var(--accent); }
.fg-product .section-title { color: #faf8f5; }
.fg-product .section-title em { color: var(--accent); }
.fg-product-img { width: 100%; overflow: hidden; }
.product-img-main { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-img-placeholder { background: rgba(255,255,255,.05); display: block; width: 100%; }
.product-details { display: flex; flex-direction: column; gap: 40px; padding-top: 32px; }
.product-block h4 { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.product-block p { font-size: .86rem; line-height: 1.95; color: rgba(250,248,245,.55); }
.product-price { font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #faf8f5; margin-bottom: 6px; }
.product-price-note { font-size: .68rem; letter-spacing: .16em; color: rgba(250,248,245,.35); text-transform: uppercase; margin-bottom: 24px; }

/* =====================
   SPECS
   ===================== */
.fg-specs { padding: 56px 72px; background: var(--warm-white); border-bottom: 1px solid var(--mid-gray); }
.specs-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--mid-gray); border: 1px solid var(--mid-gray); margin-top: 36px; }
.spec-item { background: var(--warm-white); padding: 28px 24px; }
.spec-label { font-size: .6rem; letter-spacing: .32em; text-transform: uppercase; color: var(--warm-gray); margin-bottom: 8px; }
.spec-value { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 300; color: var(--black); }

/* =====================
   QUOTE
   ===================== */
.fg-quote { background: var(--black); text-align: center; padding: 100px 72px; }
.quote-mark { font-family: 'Cormorant Garamond', serif; font-size: 5rem; color: var(--accent); line-height: .5; margin-bottom: 32px; opacity: .4; }
.quote-text { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(1.3rem,2.4vw,2.1rem); font-weight: 300; color: #faf8f5; line-height: 1.65; max-width: 720px; margin: 0 auto 24px; }
.quote-attr { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; color: var(--accent); }

/* =====================
   CONCEPTS
   ===================== */
.fg-concepts { padding: 100px 72px; background: var(--warm-white); }
.concepts-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--mid-gray); border: 1px solid var(--mid-gray); margin-top: 48px; }
.concept-card { background: var(--warm-white); padding: 40px 32px; }
.concept-number { font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; color: var(--mid-gray); line-height: 1; margin-bottom: 20px; }
.concept-title { font-size: .67rem; letter-spacing: .26em; text-transform: uppercase; color: var(--black); margin-bottom: 14px; }
.concept-body { font-size: .84rem; line-height: 1.95; color: var(--warm-gray); }

/* =====================
   IN YOUR SPACE
   ===================== */
.fg-inspace { background: var(--charcoal); padding: 100px 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.fg-inspace .section-label { color: var(--accent); }
.fg-inspace .section-title { color: #faf8f5; }
.fg-inspace .body-text { color: rgba(250,248,245,.55); max-width: 400px; }
.inspace-imgs { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; min-height: 500px; }
.inspace-img-tall { grid-row: span 2; overflow: hidden; }
.inspace-img-tall img,
.inspace-img-tall .inspace-img-placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
.inspace-img-stack { display: contents; }
.inspace-img-sq { overflow: hidden; }
.inspace-img-sq img,
.inspace-img-sq .inspace-img-placeholder { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 100px; }
.inspace-img-placeholder { background: rgba(255,255,255,.06); }

/* =====================
   ABOUT
   ===================== */
.fg-about { display: grid; grid-template-columns: 5fr 7fr; background: var(--cream); }
.fg-about--no-image { grid-template-columns: 1fr; }
.fg-about--no-image .about-text { padding: 80px 80px; max-width: 100%; box-sizing: border-box; }
.about-img { width: 100%; object-fit: cover; display: block; }
.about-text { padding: 80px 72px; display: flex; flex-direction: column; justify-content: center; }
.about-text .body-text { max-width: 100%; margin-bottom: 16px; }

/* =====================
   ACQUIRE
   ===================== */
.fg-acquire { background: var(--charcoal); padding: 100px 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.fg-acquire .section-label { color: var(--accent); }
.fg-acquire .section-title { color: #faf8f5; }
.fg-acquire .body-text { color: rgba(250,248,245,.55); }
.acquire-details { display: flex; flex-direction: column; gap: 36px; }
.acquire-block h4 { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.acquire-block p { font-size: .86rem; line-height: 1.95; color: rgba(250,248,245,.55); }
.acquire-cta {}

/* =====================
   NEWSLETTER
   ===================== */
.fg-newsletter { background: var(--cream); text-align: center; padding: 90px 72px; border-top: 1px solid var(--mid-gray); }
.fg-newsletter .section-title { max-width: 520px; margin: 0 auto 12px; }
.fg-newsletter .body-text { margin: 0 auto 40px; text-align: center; }
.newsletter-form { display: flex; max-width: 420px; margin: 0 auto; border: 1px solid var(--black); }
.newsletter-form input { flex: 1; padding: 14px 20px; border: none; background: transparent; font-family: 'Jost', sans-serif; font-weight: 300; font-size: .84rem; color: var(--black); outline: none; }
.newsletter-form input::placeholder { color: var(--warm-gray); }
.newsletter-form button { padding: 14px 26px; background: var(--black); color: var(--cream); border: none; font-family: 'Jost', sans-serif; font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; transition: background .3s; cursor: pointer; }
.newsletter-form button:hover { background: var(--charcoal); }

/* =====================
   FOOTER
   ===================== */
.site-footer {}
.footer-main { max-width: 1280px; margin: 0 auto; padding: 72px 52px 48px; display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 48px; }
.footer-logo-img { display: block; margin-bottom: 16px; }
.footer-logo-text { margin-bottom: 14px; display: block; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 1rem; letter-spacing: .42em; text-transform: uppercase; }
.footer-tagline { font-size: .8rem; line-height: 1.85; margin-top: 12px; max-width: 240px; }
.footer-social { display: flex; gap: 16px; margin-top: 20px; }
.footer-social a { opacity: .5; transition: opacity .2s; display: flex; align-items: center; }
.footer-social a:hover { opacity: 1; }
.footer-col-heading { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; margin-bottom: 20px; font-family: 'Jost', sans-serif; font-weight: 400; }
.footer-link-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-link-col a { font-size: .78rem; text-decoration: none; opacity: .55; transition: opacity .2s; letter-spacing: .04em; }
.footer-link-col a:hover { opacity: 1; }
.footer-newsletter-text { font-size: .78rem; line-height: 1.8; margin-bottom: 20px; opacity: .55; }
.footer-email-wrap { display: flex; border: 1px solid; }
.footer-email-wrap input { flex: 1; padding: 12px 16px; background: transparent; border: none; font-family: 'Jost', sans-serif; font-size: .78rem; outline: none; }
.footer-email-wrap input::placeholder { opacity: .4; }
.footer-email-wrap button { padding: 12px 18px; border: none; font-family: 'Jost', sans-serif; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: opacity .2s; }
.footer-email-wrap button:hover { opacity: .85; }
.footer-success { font-size: .78rem; letter-spacing: .12em; }
.footer-bottom { max-width: 1280px; margin: 0 auto; padding: 20px 52px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer-copy { font-size: .68rem; letter-spacing: .1em; opacity: .4; }
.footer-bottom-links { display: flex; gap: 24px; }
.footer-bottom-links a { font-size: .65rem; letter-spacing: .12em; text-decoration: none; opacity: .4; transition: opacity .2s; text-transform: uppercase; }
.footer-bottom-links a:hover { opacity: .8; }
.footer-payment-icons { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.footer-payment-icons .payment-icon { height: 22px; width: auto; opacity: .45; }
.drawer-cart-link { font-size: 1rem; opacity: .5; text-decoration: none; color: var(--black); font-family: 'Cormorant Garamond', serif; letter-spacing: .06em; }

/* =====================
   REVEAL ANIMATION
   ===================== */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .85s ease, transform .85s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Always visible in Shopify Theme Editor and when JS hasn't run yet */
.shopify-design-mode .reveal,
.shopify-design-mode .reveal.visible,
.no-js .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }

/* =====================
   KEYFRAMES
   ===================== */
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes slowZoom { from { transform:scale(1.07); } to { transform:scale(1); } }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* =====================
   PRODUCT PAGE (PDP)
   ===================== */
.pdp { padding-top: 0; }
/* LEFT: SCROLLING STACK */
.pdp-stack { display:flex;flex-direction:column; }
.pdp-stack-hero { position:relative;width:100%; }
.pdp-stack-item { position:relative;width:100%;border-top:1px solid var(--mid-gray); }
.pdp-stack-img { width:100%;aspect-ratio:1/1;object-fit:cover;display:block; }
.pdp-stack-hero-label { position:absolute;bottom:20px;left:24px;display:flex;align-items:center;gap:16px; }
.pdp-stack-eyebrow { font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.7);background:rgba(0,0,0,.25);padding:6px 12px;backdrop-filter:blur(8px); }
.pdp-stack-index { font-size:.6rem;letter-spacing:.2em;color:rgba(255,255,255,.5); }
.pdp-stack-counter { position:absolute;bottom:14px;right:18px;font-size:.6rem;letter-spacing:.2em;color:var(--warm-gray); }

/* THUMBNAIL STRIP */
.pdp-strip { display:flex;gap:0;border-top:1px solid var(--mid-gray);overflow-x:auto;scrollbar-width:none; }
.pdp-strip::-webkit-scrollbar { display:none; }
.pdp-strip-btn { flex:1;min-width:80px;max-width:120px;border:none;border-right:1px solid var(--mid-gray);padding:0;cursor:pointer;background:var(--mid-gray);opacity:.65;transition:opacity .2s;flex-shrink:0; }
.pdp-strip-btn:last-child { border-right:none; }
.pdp-strip-btn img { width:100%;aspect-ratio:1/1;object-fit:cover;display:block; }
.pdp-strip-btn.active,.pdp-strip-btn:hover { opacity:1; }
.pdp-strip-btn.active { outline:2px solid var(--black);outline-offset:-2px; }

/* PDP CANVAS   desktop 50/50 layout */
.pdp-canvas { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; max-width:1400px; margin:0 auto; }

/* RIGHT: STICKY PANEL */
.pdp-panel { padding:48px 52px 60px;display:flex;flex-direction:column;gap:0;position:sticky;top:var(--header-h);align-self:start;border-left:1px solid var(--mid-gray);min-width:0; }
.pdp-panel::-webkit-scrollbar { display:none; }
.pdp-info { padding:0 0 60px 52px;display:flex;flex-direction:column;gap:0; }
.pdp-breadcrumb { display:flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.1em;color:var(--warm-gray);margin-bottom:20px; }
.pdp-breadcrumb a { color:var(--warm-gray);text-decoration:none; }
.pdp-breadcrumb a:hover { color:var(--black); }
.pdp-trust-row { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px; }
.pdp-trust-badge { display:inline-flex;align-items:center;gap:5px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(184,151,106,.08);padding:5px 10px;border:1px solid rgba(184,151,106,.25); }
.pdp-title { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.2rem,2.6vw,3rem);line-height:1.05;color:var(--black);margin-bottom:16px; }
.pdp-price-row { display:flex;align-items:baseline;gap:14px;margin-bottom:12px;flex-wrap:wrap; }
.pdp-price { font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--black); }
.pdp-compare-price { font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;color:var(--warm-gray);text-decoration:line-through; }
.pdp-save-badge { font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;background:var(--accent);color:#fff;padding:4px 10px; }
.pdp-stars-row { display:flex;align-items:center;gap:8px;margin-bottom:16px;text-decoration:none;width:fit-content; }
.pdp-stars-display { color:var(--accent);font-size:.9rem;letter-spacing:2px; }
.pdp-rating-num { font-size:.82rem;color:var(--black);font-weight:400; }
.pdp-review-count { font-size:.78rem;color:var(--accent);text-decoration:underline; }
.pdp-short-desc { font-size:.88rem;line-height:1.9;color:var(--warm-gray);margin-bottom:0; }
.pdp-divider { width:100%;height:1px;background:var(--mid-gray);margin:24px 0; }
.pdp-option-group { margin-bottom:22px; }
.pdp-option-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }
.pdp-option-label { font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--black); }
.pdp-option-selected { font-size:.72rem;color:var(--warm-gray); }
.pdp-option-btns { display:flex;flex-wrap:wrap;gap:8px; }
.pdp-opt-btn { padding:9px 20px;border:1px solid var(--mid-gray);background:none;color:var(--text-body);font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.1em;cursor:pointer;transition:all .2s; }
.pdp-opt-btn.active { border-color:var(--black);background:var(--black);color:var(--cream); }
.pdp-opt-btn:hover:not(.active) { border-color:var(--black); }
.pdp-qty-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px; }
.pdp-qty-wrap { display:flex;align-items:center;border:1px solid var(--mid-gray); }
.pdp-qty-btn { width:40px;height:44px;background:none;border:none;color:var(--black);font-size:1.3rem;cursor:pointer;font-family:'Jost',sans-serif;display:flex;align-items:center;justify-content:center;transition:background .2s; }
.pdp-qty-btn:hover { background:var(--mid-gray); }
.pdp-qty-input { width:48px;height:44px;text-align:center;background:none;border:none;border-left:1px solid var(--mid-gray);border-right:1px solid var(--mid-gray);color:var(--black);font-family:'Jost',sans-serif;font-size:.9rem;outline:none; }
.pdp-qty-input::-webkit-outer-spin-button,.pdp-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; }
.pdp-cta-group { display:flex;flex-direction:column;gap:10px;margin-bottom:12px; }
.pdp-add-btn { width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 32px;background:var(--black);color:var(--cream);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;border:none;font-family:'Jost',sans-serif;font-weight:300;cursor:pointer;transition:background .25s; }
.pdp-add-btn:hover:not(:disabled) { background:var(--charcoal); }
.pdp-add-btn:disabled { opacity:.45;cursor:not-allowed; }
.shopify-payment-button { margin-top:0; }
.pdp-dynamic-pay { width:100%; }
.pdp-dynamic-pay .shopify-payment-button { width:100%; }
.pdp-dynamic-pay .shopify-payment-button__button { width:100% !important;border-radius:0 !important;font-family:'Jost',sans-serif !important;font-size:.72rem !important;letter-spacing:.18em !important;min-height:52px !important;transition:opacity .2s !important; }
.pdp-dynamic-pay .shopify-payment-button__button--unbranded { background:var(--accent) !important;color:#fff !important; }
.pdp-dynamic-pay .shopify-payment-button__more-options { display:none !important; }
.pdp-or-divider { display:flex;align-items:center;gap:12px;margin:2px 0; }
.pdp-or-divider span { font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray);white-space:nowrap; }
.pdp-or-divider::before,.pdp-or-divider::after { content:'';flex:1;height:1px;background:var(--mid-gray); }
.pdp-checkout-btn { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 32px;border:1.5px solid var(--black);background:transparent;color:var(--black);font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s; }
.pdp-checkout-btn:hover { background:var(--black);color:var(--cream); }
.pdp-added-bar { display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(184,151,106,.1);border:1px solid rgba(184,151,106,.3);font-size:.78rem;color:var(--accent);letter-spacing:.08em;margin-bottom:8px;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s;pointer-events:none; }
.pdp-added-bar.visible { opacity:1;transform:translateY(0);pointer-events:auto; }
.pdp-added-bar a { color:var(--black);text-decoration:none;border-bottom:1px solid var(--black); }
.pdp-reassurance { display:flex;flex-direction:column;gap:0;border:1px solid var(--mid-gray);margin-top:8px; }
.pdp-reassurance-item { display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-bottom:1px solid var(--mid-gray); }
.pdp-reassurance-item:last-child { border-bottom:none; }
.pdp-reassurance-item svg { flex-shrink:0;color:var(--accent);margin-top:2px; }
.pdp-reassurance-item p { font-size:.78rem;color:var(--black);margin-bottom:2px;letter-spacing:.04em; }
.pdp-reassurance-item span { font-size:.72rem;color:var(--warm-gray); }
.pdp-payment-row { display:flex;align-items:center;gap:14px;margin-top:16px; }
.pdp-payment-label { font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray); }
.pdp-payment-icons { display:flex;flex-wrap:wrap;gap:6px;align-items:center; }
.payment-icon { height:24px;width:auto;opacity:.55; }
.pdp-tabs-section { max-width:1280px;margin:60px auto 0;padding:0 40px 80px; }
.pdp-tabs-nav { display:flex;border-bottom:1px solid var(--mid-gray); }
.pdp-tab-btn { padding:16px 32px;background:none;border:none;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gray);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s; }
.pdp-tab-btn.active,.pdp-tab-btn:hover { color:var(--black); }
.pdp-tab-btn.active { border-bottom-color:var(--black); }
.pdp-tab-content { display:none; }
.pdp-tab-content.active { display:block; }
.pdp-tab-inner { padding:56px 0; }
.pdp-story-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.pdp-story-title { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;color:var(--black); }
.pdp-desc-content { font-size:.88rem;line-height:1.95;color:var(--warm-gray); }

.pdp-details-grid { display:grid;grid-template-columns:1fr 1fr;gap:72px; }
.pdp-detail-block h3 { font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--black);margin-bottom:20px; }
.pdp-detail-block p { font-size:.86rem;line-height:1.95;color:var(--warm-gray); }
.pdp-specs-table { width:100%;border-collapse:collapse; }
.pdp-specs-table tr { border-bottom:1px solid var(--mid-gray); }
.pdp-specs-table td { padding:12px 0;font-size:.84rem;line-height:1.5; }
.pdp-specs-table td:first-child { color:var(--warm-gray);width:48%;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase; }
.pdp-specs-table td:last-child { color:var(--black); }
.pdp-reviews-summary { display:grid;grid-template-columns:200px 1fr auto;gap:48px;align-items:start;padding:48px 0;border-bottom:1px solid var(--mid-gray); }
.pdp-reviews-score-box { text-align:center; }
.pdp-big-score { font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:var(--black);line-height:1;display:block; }
.pdp-stars-lg { color:var(--accent);font-size:1.3rem;letter-spacing:3px;margin:6px 0; }
.pdp-reviews-total { font-size:.75rem;color:var(--warm-gray);letter-spacing:.08em; }
.pdp-rating-bars { display:flex;flex-direction:column;gap:10px;justify-content:center; }
.rating-bar-row { display:flex;align-items:center;gap:12px; }
.rating-num { font-size:.8rem;color:var(--warm-gray);width:8px;text-align:right;flex-shrink:0; }
.rating-bar { flex:1;height:6px;background:var(--mid-gray);border-radius:3px;overflow:hidden; }
.rating-bar-fill { height:100%;background:var(--accent);border-radius:3px; }
.rating-pct { font-size:.75rem;color:var(--warm-gray);white-space:nowrap;min-width:72px; }
.pdp-write-review-wrap { display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px; }
.pdp-write-prompt { font-size:.75rem;color:var(--warm-gray);letter-spacing:.08em; }
.pdp-write-btn { padding:12px 28px;background:var(--black);color:var(--cream);border:none;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .2s; }
.pdp-write-btn:hover { background:var(--charcoal); }
.pdp-review-form-wrap { display:none;border:1px solid var(--mid-gray);padding:40px;margin:32px 0;background:var(--warm-white); }
.pdp-review-form-wrap.open { display:block; }
.pdp-form-title { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--black);margin-bottom:28px; }
.pdp-review-form { display:flex;flex-direction:column;gap:20px; }
.pdp-form-row { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.pdp-form-field { display:flex;flex-direction:column;gap:8px; }
.pdp-form-field label { font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--black); }
.pdp-form-field input,.pdp-form-field textarea { padding:12px 14px;border:1px solid var(--mid-gray);background:var(--cream);font-family:'Jost',sans-serif;font-size:.86rem;color:var(--black);outline:none;transition:border-color .2s;resize:vertical; }
.pdp-form-field input:focus,.pdp-form-field textarea:focus { border-color:var(--black); }
.pdp-form-field input::placeholder,.pdp-form-field textarea::placeholder { color:var(--warm-gray); }
.pdp-star-picker { display:flex;gap:4px; }
.star-pick { background:none;border:none;font-size:1.8rem;color:var(--mid-gray);cursor:pointer;padding:0;line-height:1;transition:color .15s; }
.star-pick.hover,.star-pick.selected { color:var(--accent); }
.pdp-form-actions { display:flex;gap:12px;align-items:center;margin-top:4px; }
.pdp-submit-review { padding:13px 36px;background:var(--black);color:var(--cream);border:none;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .2s; }
.pdp-submit-review:hover { background:var(--charcoal); }
.pdp-cancel-review { background:none;border:none;font-family:'Jost',sans-serif;font-size:.72rem;color:var(--warm-gray);cursor:pointer;letter-spacing:.08em;text-decoration:underline; }
.pdp-form-note { font-size:.72rem;color:var(--warm-gray); }
.pdp-review-success { display:none;flex-direction:column;align-items:center;gap:16px;padding:32px;text-align:center; }
.pdp-review-success svg { color:var(--accent); }
.pdp-review-success p { font-size:.88rem;color:var(--text-body); }
.pdp-reviews-controls { display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--mid-gray); }
.pdp-reviews-count-label { font-size:.78rem;color:var(--warm-gray);letter-spacing:.06em;flex:1; }
.pdp-reviews-sort { display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--warm-gray); }
.pdp-reviews-sort select { padding:7px 12px;border:1px solid var(--mid-gray);background:var(--cream);font-family:'Jost',sans-serif;font-size:.72rem;color:var(--black);outline:none;cursor:pointer; }
.pdp-reviews-filter { display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--warm-gray); }
.filter-stars { display:flex;gap:6px; }
.filter-star-btn { padding:5px 12px;border:1px solid var(--mid-gray);background:none;font-family:'Jost',sans-serif;font-size:.7rem;color:var(--warm-gray);cursor:pointer;transition:all .2s; }
.filter-star-btn.active { border-color:var(--black);background:var(--black);color:var(--cream); }
.pdp-reviews-list { display:flex;flex-direction:column;gap:0; }
.pdp-review-card { display:flex;flex-direction:column;gap:12px;padding:28px 0;border-bottom:1px solid var(--mid-gray); }
.pdp-review-header { display:flex;align-items:flex-start;gap:14px; }
.pdp-reviewer-avatar { width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;flex-shrink:0; }
.pdp-reviewer-info { flex:1; }
.pdp-reviewer-name { font-size:.84rem;color:var(--black);font-weight:400;margin-bottom:4px; }
.pdp-review-stars-row { display:flex;align-items:center;gap:8px; }
.pdp-review-stars { color:var(--accent);font-size:.85rem;letter-spacing:2px; }
.pdp-verified-badge { font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(184,151,106,.1);padding:2px 8px;border:1px solid rgba(184,151,106,.25); }
.pdp-review-date { font-size:.72rem;color:var(--warm-gray);white-space:nowrap;margin-left:auto; }
.pdp-review-title { font-size:.88rem;color:var(--black);font-weight:400;letter-spacing:.02em; }
.pdp-review-body { font-size:.84rem;line-height:1.85;color:var(--text-body); }
.pdp-review-footer { display:flex;align-items:center;gap:16px;margin-top:4px; }
.pdp-helpful-btn { background:none;border:1px solid var(--mid-gray);padding:5px 14px;font-family:'Jost',sans-serif;font-size:.68rem;color:var(--warm-gray);cursor:pointer;letter-spacing:.06em;transition:all .2s; }
.pdp-helpful-btn:hover:not(.voted) { border-color:var(--black);color:var(--black); }
.pdp-helpful-btn.voted { color:var(--accent);border-color:rgba(184,151,106,.3);cursor:default; }
.pdp-reviews-more { display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 0 0; }
.pdp-reviews-showing { font-size:.75rem;color:var(--warm-gray);letter-spacing:.08em; }
.pdp-load-more-btn { padding:13px 44px;border:1px solid var(--black);background:none;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--black);cursor:pointer;transition:background .2s,color .2s; }
.pdp-load-more-btn:hover { background:var(--black);color:var(--cream); }
.pdp-upsell { max-width:1280px;margin:0 auto;padding:0 40px 80px;text-align:center; }
.pdp-upsell-title { font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--black);margin-bottom:40px; }
.pdp-upsell-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left; }

/* =====================
   CART PAGE
   ===================== */
.cart-page { max-width:900px;margin:0 auto;padding:60px 32px 80px; }
.cart-title { font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--black);margin-bottom:48px; }
.cart-title em { font-style:italic;color:var(--accent); }
.cart-empty { text-align:center;padding:60px 0; }
.cart-empty p { font-size:.88rem;color:var(--warm-gray); }
.cart-items { display:flex;flex-direction:column;border-top:1px solid var(--mid-gray); }
.cart-item { display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--mid-gray); }
.cart-item-img img { width:80px;height:80px;object-fit:cover;display:block; }
.cart-item-name { font-size:.88rem;color:var(--black);margin-bottom:4px; }
.cart-item-variant { font-size:.78rem;color:var(--warm-gray); }
.cart-item-price { font-size:.8rem;color:var(--warm-gray);margin-top:4px; }
.cart-item-qty { display:inline-flex;align-items:center;border:1px solid var(--mid-gray); }
.cart-item-qty .qty-btn { width:36px;height:36px;color:var(--black);background:none;border:none;font-size:1.1rem;font-family:'Jost',sans-serif;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0; }
.cart-item-qty .qty-input { width:40px;height:36px;text-align:center;background:none;border:none;border-left:1px solid var(--mid-gray);border-right:1px solid var(--mid-gray);color:var(--black);font-family:'Jost',sans-serif;font-size:.84rem;outline:none; }
.cart-item-qty .qty-input::-webkit-outer-spin-button,.cart-item-qty .qty-input::-webkit-inner-spin-button { -webkit-appearance:none;margin:0; }
.cart-item-qty .qty-input { -moz-appearance:textfield; }
.cart-item-total { font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;color:var(--black);white-space:nowrap; }
.cart-item-right { display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding-top:2px; }
.cart-item-bundle-note { font-size:.75rem;color:var(--accent);margin-top:4px;letter-spacing:.04em; }
.cart-remove { background:none;border:none;cursor:pointer;color:var(--warm-gray);display:flex;align-items:center;justify-content:center;padding:4px;transition:color .2s; }
.cart-remove:hover { color:var(--black); }
.cart-footer { display:flex;justify-content:space-between;align-items:flex-start;margin-top:40px;gap:32px; }
.cart-footer-right { display:flex;flex-direction:column;align-items:flex-end;gap:12px; }
.cart-subtotal { display:flex;align-items:baseline;gap:16px; }
.cart-subtotal-label { font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray); }
.cart-subtotal-price { font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--black); }
.cart-tax-note { font-size:.72rem;color:var(--warm-gray); }
.cart-checkout-btn { padding:16px 56px;font-size:.72rem; }

/* =====================
   COLLECTION PAGE
   ===================== */
.collection-page { padding: 60px 72px 80px; }
.collection-header { margin-bottom:56px; }
.collection-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.product-card { text-decoration:none;color:inherit;display:block; }
.product-card-img { overflow:hidden;background:var(--mid-gray);margin-bottom:16px; }
.product-card-img img { width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .7s ease; }
.product-card:hover .product-card-img img { transform:scale(1.04); }
.product-card-title { font-size:.88rem;color:var(--black);margin-bottom:4px; }
.product-card-price { font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;color:var(--warm-gray); }

/* =====================
   GENERIC PAGES
   ===================== */
.page-wrap { max-width:760px;margin:0 auto;padding:60px 32px 80px; }
.page-content { margin-top:32px; }
.error-page { min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px; }
.error-num { font-family:'Cormorant Garamond',serif;font-size:8rem;font-weight:300;color:var(--mid-gray);line-height:1;margin-bottom:8px; }
.error-title { font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--black);margin-bottom:12px; }
.error-body { font-size:.88rem;color:var(--warm-gray);margin-bottom:40px; }
.auth-page { max-width:440px;margin:0 auto;padding:60px 32px 80px; }
.auth-field { margin-bottom:20px; }
.auth-field label { display:block;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:8px; }
.auth-field input { width:100%;padding:13px 16px;border:1px solid var(--mid-gray);background:var(--warm-white);font-family:'Jost',sans-serif;font-size:.88rem;color:var(--black);outline:none;transition:border-color .2s; }
.auth-field input:focus { border-color:var(--black); }
.auth-btn { width:100%;text-align:center;margin-top:8px;padding:15px; }
.auth-alt { font-size:.8rem;color:var(--warm-gray);margin-top:20px; }
.auth-alt a { color:var(--black); }
.account-page { max-width:760px;margin:0 auto;padding:60px 32px 80px; }
.account-section-title { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--black);margin-bottom:24px; }
.order-row { display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--mid-gray);font-size:.84rem;align-items:center; }
.order-num { color:var(--accent);text-decoration:none; }
.order-date,.order-status { color:var(--warm-gray); }
.order-line { display:flex;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--mid-gray); }
.address-card { padding:20px;border:1px solid var(--mid-gray);margin-bottom:16px;font-size:.84rem;line-height:1.8;color:var(--text-body); }

/* =====================
   BACK TO TOP
   ===================== */
.back-to-top { position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--black);color:var(--cream);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px);transition:opacity .3s,transform .3s;pointer-events:none;z-index:50; }
.back-to-top.visible { opacity:1;transform:translateY(0);pointer-events:auto; }
.back-to-top:hover { background:var(--charcoal); }

/* =====================
   TABLET  769–1024px
   ===================== */
@media (max-width:1024px) and (min-width:769px) {
  :root { --header-h: 68px; }
  .site-header { padding:0 32px; }
  .fg-hero { grid-template-columns:1fr 1fr; }
  .fg-intro,.fg-product,.fg-inspace,.fg-acquire { padding:80px 40px;gap:48px; }
  .fg-about .about-text { padding:60px 40px; }
  .fg-specs,.fg-quote,.fg-concepts,.fg-newsletter { padding:72px 40px; }
  .specs-grid { grid-template-columns:repeat(2,1fr); }
  .concepts-grid { grid-template-columns:1fr; }
  .collection-page { padding:48px 40px 60px; }
  .collection-grid { grid-template-columns:repeat(2,1fr); }
  .pdp-canvas { grid-template-columns:1fr 1fr; }
  .pdp-panel { padding:36px 32px 48px;height:auto;position:sticky; }
  .pdp-tabs-section { padding:0 32px 60px; }
  .pdp-story-grid,.pdp-details-grid { grid-template-columns:1fr;gap:40px; }
  .pdp-reviews-list { grid-template-columns:1fr; }
  .pdp-upsell { padding:0 32px 60px; }
  .pdp-upsell-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr 1fr;gap:40px;padding:56px 40px 40px; }
  .footer-bottom { padding:20px 40px; }
}

/* =====================
   MOBILE  max 768px
   ===================== */
@media (max-width:768px) {
  :root { --header-h: 60px; --announce-h: 0px; }
  .site-header { padding:0 20px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .announcement-bar { padding:0 40px 0 16px;font-size:.62rem; }
  .fg-hero { grid-template-columns:1fr;min-height:auto; }
  .hero-left { order:2;padding:40px 24px 56px; }
  .hero-right { order:1; }
  .hero-sub { max-width:100%; }
  .btn-primary,.btn-ghost,.btn-light { width:100%;text-align:center; }
  .fg-intro { grid-template-columns:1fr;gap:32px;padding:56px 24px; }
  .intro-img-float { display:none; }
  .fg-product { grid-template-columns:1fr;gap:0;padding:0; }
  .fg-product-img { order:1; }
  .product-details { order:2;padding:48px 24px;gap:28px; }
  .fg-specs { padding:48px 24px; }
  .specs-grid { grid-template-columns:1fr 1fr; }
  .fg-quote { padding:64px 24px; }
  .fg-concepts { padding:56px 24px; }
  .concepts-grid { grid-template-columns:1fr;background:transparent;border:none;gap:0;margin-top:32px; }
  .concept-card { border-bottom:1px solid var(--mid-gray);padding:32px 0;background:transparent; }
  .concept-card:last-child { border-bottom:none; }
  .fg-inspace { grid-template-columns:1fr;gap:36px;padding:56px 24px; }
  .inspace-imgs { grid-template-columns:1fr 1fr; min-height:320px; }
  .fg-about { grid-template-columns:1fr; }
  .about-text { padding:48px 24px; box-sizing:border-box; width:100%; }
  .fg-acquire { grid-template-columns:1fr;gap:36px;padding:56px 24px; }
  .fg-newsletter { padding:56px 24px; }
  .newsletter-form { max-width:100%; }
  .section-title { font-size:clamp(1.4rem,5vw,2rem); }
  .fg-about .section-title { font-size:clamp(1.3rem,4.5vw,1.8rem); }
  .body-text { max-width:100%; }
  .pdp-canvas { grid-template-columns:1fr; }
  .pdp-stack { order:1; }
  .pdp-panel {
    order:2;
    position:relative;
    top:auto;
    height:auto;
    max-height:none;
    overflow-y:visible;
    overflow-x:hidden;
    padding:20px 16px 40px;
    border-left:none;
    border-top:1px solid var(--mid-gray);
    width:100%;
    box-sizing:border-box;
  }
  .pdp-breadcrumb { display:none; }
  .pdp-title { font-size:1.7rem; }
  .pdp-trust-row { flex-wrap:wrap;gap:6px; }
  .pdp-trust-badge { font-size:.58rem;padding:4px 8px; }
  .pdp-price-row { flex-wrap:wrap;gap:8px; }
  .pdp-price { font-size:1.7rem; }
  .pdp-short-desc { font-size:.82rem; }
  .pdp-opt-btn { padding:8px 14px;font-size:.72rem; }
  .pdp-qty-row { margin-bottom:16px; }
  .pdp-add-btn { padding:15px 12px;font-size:.65rem;letter-spacing:.14em; }
  .pdp-checkout-btn { padding:13px 12px;font-size:.65rem;letter-spacing:.14em; }
  .pdp-or-divider span { font-size:.58rem; }
  .pdp-cta-stack { gap:8px;width:100%; }
  .pdp-dynamic-pay { width:100%; }
  .pdp-faq { margin-top:20px; }
  .pdp-reassurance { margin-top:16px; }
  .pdp-reassurance-item { padding:12px 14px; }
  .pdp-reassurance-item p { font-size:.74rem; }
  .pdp-reassurance-item span { font-size:.68rem; }
  .pdp-payment-row { margin-top:12px;flex-wrap:wrap;gap:8px; }
  .pdp-strip-btn { min-width:52px;max-width:80px; }
  .pdp-tabs-section { padding:0 16px 56px; }
  .pdp-tab-btn { padding:12px 10px;font-size:.6rem;letter-spacing:.14em; }
  .pdp-story-grid,.pdp-details-grid { grid-template-columns:1fr;gap:32px; }
  .pdp-reviews-summary { grid-template-columns:1fr;gap:28px; }
  .pdp-write-review-wrap { flex-direction:row;align-items:center; }
  .pdp-review-form-wrap { padding:20px 16px; }
  .pdp-form-row { grid-template-columns:1fr; }
  .pdp-reviews-controls { gap:10px;flex-wrap:wrap; }
  .pdp-review-date { display:none; }
  .pdp-upsell { padding:0 16px 56px; }
  .pdp-upsell-grid { grid-template-columns:1fr 1fr;gap:16px; }
  .cart-page { padding:40px 20px 60px; }
  .cart-item { grid-template-columns:72px 1fr auto;gap:12px; }
  .cart-footer { flex-direction:column; }
  .cart-footer-right { align-items:flex-start;width:100%; }
  .cart-checkout-btn { width:100%;text-align:center; }
  .collection-page { padding:40px 20px 60px; }
  .collection-grid { grid-template-columns:1fr 1fr;gap:16px; }
  .auth-page,.account-page,.page-wrap { padding:40px 20px 60px; }
  .order-row { grid-template-columns:1fr 1fr;gap:8px; }
  .footer-main { grid-template-columns:1fr;gap:36px;padding:48px 24px 32px; }
  .footer-bottom { padding:16px 24px;flex-direction:column;align-items:flex-start;gap:12px; }
  .footer-bottom-links { flex-wrap:wrap;gap:16px; }
  .cart-drawer { width:100vw; }
  .back-to-top { bottom:20px;right:20px;width:40px;height:40px; }
  .pdp-reviews-summary { grid-template-columns: 1fr; }
}

@media (max-width:400px) {
  .specs-grid { grid-template-columns:1fr; }
  .collection-grid { grid-template-columns:1fr; }
  .newsletter-form { flex-direction:column;border:none;gap:8px; }
  .newsletter-form input { border:1px solid var(--black);padding:14px 20px; }
  .newsletter-form button { padding:14px;width:100%; }
}

/* =====================
   CONTACT PAGE
   ===================== */
.contact-page { max-width: 1200px; margin: 0 auto; padding: 72px 52px 100px; }

.contact-hero { text-align: center; margin-bottom: 72px; padding-bottom: 56px; border-bottom: 1px solid var(--mid-gray); }
.contact-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(2.4rem,4vw,3.8rem); line-height: 1.1; color: var(--black); margin-bottom: 20px; }
.contact-title em { font-style: italic; color: var(--accent); }
.contact-subtitle { font-size: .9rem; line-height: 1.9; color: var(--warm-gray); max-width: 520px; margin: 0 auto; }

.contact-layout { display: grid; grid-template-columns: 1fr 440px; gap: 80px; align-items: start; }

/* FORM */
.contact-form-col {}
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.contact-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.contact-field label { font-size: .62rem; letter-spacing: .28em; text-transform: uppercase; color: var(--black); }
.contact-field input,
.contact-field select,
.contact-field textarea {
  padding: 14px 16px;
  border: 1px solid var(--mid-gray);
  background: var(--warm-white);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: .88rem;
  color: var(--black);
  outline: none;
  transition: border-color .2s;
  appearance: none;
  -webkit-appearance: none;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { border-color: var(--black); }
.contact-field input::placeholder,
.contact-field textarea::placeholder { color: var(--warm-gray); }
.contact-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239a9590' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; cursor: pointer; }
.contact-field select option { color: var(--black); background: var(--warm-white); }
.contact-field textarea { resize: vertical; min-height: 140px; line-height: 1.7; }
.contact-submit {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 16px 32px;
  background: var(--black); color: var(--cream);
  border: none; font-family: 'Jost', sans-serif; font-weight: 300;
  font-size: .72rem; letter-spacing: .26em; text-transform: uppercase;
  cursor: pointer; transition: background .25s; margin-top: 4px;
}
.contact-submit:hover { background: var(--charcoal); }
.contact-success {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 64px 40px; border: 1px solid var(--mid-gray);
  background: var(--warm-white); gap: 16px;
}
.contact-success svg { color: var(--accent); }
.contact-success h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 300; color: var(--black); }
.contact-success p { font-size: .88rem; color: var(--warm-gray); }
.contact-error { padding: 14px 18px; border: 1px solid rgba(180,60,60,.3); background: rgba(180,60,60,.05); margin-bottom: 24px; font-size: .82rem; color: #a33; }

/* INFO COLUMN */
.contact-info-col { display: flex; flex-direction: column; gap: 0; }
.contact-info-block {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 24px 0; border-bottom: 1px solid var(--mid-gray);
}
.contact-info-block:first-child { padding-top: 0; }
.contact-info-icon {
  width: 44px; height: 44px; background: rgba(184,151,106,.1);
  border: 1px solid rgba(184,151,106,.25); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.contact-info-icon svg { stroke: var(--accent); }
.contact-info-title { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--black); margin-bottom: 4px; }
.contact-info-body { font-size: .86rem; color: var(--black); margin-bottom: 2px; }
.contact-info-note { font-size: .76rem; color: var(--warm-gray); }

/* FAQ */
.contact-faq { margin-top: 40px; }
.contact-faq-title { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; }
.contact-faq-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--mid-gray); }
.faq-q {
  width: 100%; text-align: left; background: none; border: none;
  padding: 16px 32px 16px 0; font-family: 'Jost', sans-serif;
  font-weight: 300; font-size: .86rem; color: var(--black);
  cursor: pointer; position: relative; transition: color .2s; line-height: 1.5;
}
.faq-q::after {
  content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: 1.2rem; color: var(--accent); line-height: 1; transition: transform .25s;
}
.faq-item.open .faq-q::after { transform: translateY(-50%) rotate(45deg); }
.faq-q:hover { color: var(--accent); }
.faq-a {
  font-size: .82rem; line-height: 1.85; color: var(--warm-gray);
  max-height: 0; overflow: hidden;
  transition: max-height .35s cubic-bezier(.4,0,.2,1), padding .35s;
  padding: 0;
}
.faq-item.open .faq-a { max-height: 200px; padding: 0 0 18px; }

/* RESPONSIVE */
@media (max-width: 1024px) and (min-width: 769px) {
  .contact-page { padding: 56px 40px 80px; }
  .contact-layout { grid-template-columns: 1fr; gap: 56px; }
  .contact-info-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .contact-faq { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .contact-page { padding: 40px 20px 72px; }
  .contact-hero { margin-bottom: 48px; padding-bottom: 40px; }
  .contact-layout { grid-template-columns: 1fr; gap: 48px; }
  .contact-form-grid { grid-template-columns: 1fr; }
}

/* =====================
   PDP CTA STACK (fixed spacing)
   ===================== */
.pdp-cta-stack { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.pdp-add-btn { width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 32px;background:var(--black);color:var(--cream);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;border:none;font-family:'Jost',sans-serif;font-weight:300;cursor:pointer;transition:background .25s; }
.pdp-add-btn:hover:not(:disabled) { background:var(--charcoal); }
.pdp-add-btn:disabled { opacity:.45;cursor:not-allowed; }
.pdp-checkout-btn { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 32px;border:1.5px solid var(--black);background:transparent;color:var(--black);font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s; }
.pdp-checkout-btn:hover { background:var(--black);color:var(--cream); }
.pdp-or-divider { display:flex;align-items:center;gap:12px; }
.pdp-or-divider span { font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-gray);white-space:nowrap; }
.pdp-or-divider::before,.pdp-or-divider::after { content:'';flex:1;height:1px;background:var(--mid-gray); }
.pdp-dynamic-pay { width:100%; }
.pdp-dynamic-pay .shopify-payment-button { width:100%; }
.pdp-dynamic-pay .shopify-payment-button__button { width:100%!important;border-radius:0!important;font-family:'Jost',sans-serif!important;font-size:.72rem!important;letter-spacing:.18em!important;min-height:52px!important; }
.pdp-dynamic-pay .shopify-payment-button__more-options { display:none!important; }

/* =====================
   PDP BELOW FOLD SECTIONS
   ===================== */
.pdp-section-title { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;color:var(--black);margin-bottom:24px; }
.pdp-section-title em { font-style:italic;color:var(--accent); }
.pdp-body-text { font-size:.88rem;line-height:1.95;color:var(--warm-gray); }

/* ORIGIN STORY */
.pdp-origin { background:var(--charcoal); }
.pdp-origin-inner { max-width:900px;margin:0 auto;padding:80px 52px; }
.pdp-origin .section-label { color:var(--accent); }
.pdp-origin .pdp-section-title { color:#faf8f5; }
.pdp-origin .pdp-section-title em { color:var(--accent); }
.pdp-origin .pdp-body-text { color:rgba(250,248,245,.55); }
.pdp-origin .pdp-divider { background:var(--accent); }


/* FEATURE GRID */
.pdp-features { background:var(--warm-white);border-top:1px solid var(--mid-gray); }
.pdp-features-inner { max-width:1280px;margin:0 auto;padding:80px 52px; }
.pdp-features .section-label { color:var(--accent); }
.pdp-features-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mid-gray);border:1px solid var(--mid-gray); }
.pdp-feature-card { background:var(--warm-white);padding:36px 28px; }
.pdp-feature-icon { width:52px;height:52px;background:rgba(184,151,106,.1);border:1px solid rgba(184,151,106,.2);display:flex;align-items:center;justify-content:center;margin-bottom:20px; }
.pdp-feature-icon svg { stroke:var(--accent); }
.pdp-feature-card h3 { font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;color:var(--black);margin-bottom:10px; }
.pdp-feature-card p { font-size:.82rem;line-height:1.9;color:var(--warm-gray); }

/* NUMBERS BAR */
.pdp-numbers { background:var(--black);padding:56px 52px; }
.pdp-numbers-grid { max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08); }
.pdp-number-item { background:var(--black);padding:36px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px; }
.pdp-number { font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:#faf8f5;line-height:1; }
.pdp-number-stars { color:var(--accent);font-size:.9rem;letter-spacing:2px; }
.pdp-number-label { font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,248,245,.4); }

/* PROCESS */
.pdp-process { background:var(--cream);border-top:1px solid var(--mid-gray); }
.pdp-process-inner { max-width:1280px;margin:0 auto;padding:80px 52px; }
.pdp-process-header { margin-bottom:56px; }
.pdp-process-header .section-label { color:var(--accent); }
.pdp-process-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--mid-gray);border:1px solid var(--mid-gray); }
.pdp-process-step { background:var(--cream);padding:36px 28px; }
.pdp-step-num { font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--mid-gray);line-height:1;margin-bottom:20px; }
.pdp-process-step h3 { font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--black);margin-bottom:12px; }
.pdp-process-step p { font-size:.82rem;line-height:1.9;color:var(--warm-gray); }

/* FOR WHO */
.pdp-for-who { background:var(--warm-white);border-top:1px solid var(--mid-gray); }
.pdp-for-who-inner { max-width:1280px;margin:0 auto;padding:80px 52px;display:grid;grid-template-columns:1fr 380px;gap:80px;align-items:start; }
.pdp-for-who .section-label { color:var(--accent); }
.pdp-gift-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:28px; }
.pdp-gift-tags span { font-size:.68rem;letter-spacing:.1em;padding:6px 14px;border:1px solid var(--mid-gray);color:var(--text-body); }
.pdp-for-who-card { background:var(--charcoal);padding:36px 32px;position:sticky;top:calc(72px + 20px); }
.pdp-for-who-price { font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:#faf8f5;margin-bottom:4px; }
.pdp-for-who-note { font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,248,245,.35);margin-bottom:16px; }
.pdp-for-who-stars { font-size:.88rem;color:var(--accent);margin-bottom:24px; }
.pdp-for-who-stars span { font-size:.72rem;color:rgba(250,248,245,.45);margin-left:6px;letter-spacing:.06em; }
.pdp-for-who-btn { width:100%;padding:16px;background:#faf8f5;color:var(--black);border:none;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-bottom:16px; }
.pdp-for-who-btn:hover:not(:disabled) { background:var(--accent);color:#faf8f5; }
.pdp-for-who-btn:disabled { opacity:.4;cursor:not-allowed; }
.pdp-for-who-reassure { display:flex;flex-direction:column;gap:8px; }
.pdp-for-who-reassure span { display:flex;align-items:center;gap:7px;font-size:.72rem;color:rgba(250,248,245,.45);letter-spacing:.06em; }
.pdp-for-who-reassure svg { stroke:var(--accent);flex-shrink:0; }

/* RESPONSIVE FOR NEW SECTIONS */
@media (max-width:1024px) and (min-width:769px) {
  .pdp-origin-inner,.pdp-features-inner,.pdp-process-inner,.pdp-for-who-inner { padding:64px 40px; }
  .pdp-origin-inner { grid-template-columns:1fr; gap:40px; }
  .pdp-features-grid { grid-template-columns:1fr 1fr; }
  .pdp-numbers-grid { grid-template-columns:repeat(2,1fr); }
  .pdp-process-steps { grid-template-columns:1fr 1fr; }
  .pdp-for-who-inner { grid-template-columns:1fr; }
  .pdp-for-who-card { position:relative;top:auto; }
}
@media (max-width:768px) {
  .pdp-origin-inner { grid-template-columns:1fr;gap:32px;padding:48px 16px; }
  .pdp-features-inner { padding:48px 16px; }
  .pdp-features-grid { grid-template-columns:1fr; }
  .pdp-numbers { padding:32px 16px; }
  .pdp-numbers-grid { grid-template-columns:1fr 1fr; }
  .pdp-number { font-size:2.2rem; }
  .pdp-process-inner { padding:48px 16px; }
  .pdp-process-steps { grid-template-columns:1fr; }
  .pdp-for-who-inner { grid-template-columns:1fr;gap:32px;padding:40px 16px 0; }
  .pdp-for-who-card { position:relative;top:auto;padding:32px 24px;border-radius:0;margin:0 -16px; }
  .pdp-gift-tags { gap:6px; }
  .pdp-gift-tags span { font-size:.62rem;padding:5px 10px; }
}

/* =====================
   PDP INLINE FAQ
   ===================== */
.pdp-faq { margin: 24px 0 0; border-top: 1px solid var(--mid-gray); }
.pdp-faq-heading { font-size: .6rem; letter-spacing: .28em; text-transform: uppercase; color: var(--accent); padding: 18px 0 10px; }
.pdp-faq-item { border-bottom: 1px solid var(--mid-gray); }
.pdp-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; background: none; border: none; padding: 14px 0;
  font-family: 'Jost', sans-serif; font-weight: 300; font-size: .82rem;
  color: var(--black); cursor: pointer; text-align: left; transition: color .2s;
}
.pdp-faq-q:hover { color: var(--accent); }
.pdp-faq-chevron { flex-shrink: 0; color: var(--warm-gray); transition: transform .3s; }
.pdp-faq-item.open .pdp-faq-chevron { transform: rotate(180deg); }
.pdp-faq-a {
  font-size: .8rem; line-height: 1.85; color: var(--warm-gray);
  max-height: 0; overflow: hidden;
  transition: max-height .35s cubic-bezier(.4,0,.2,1), padding .3s;
  padding-bottom: 0;
}
.pdp-faq-item.open .pdp-faq-a { max-height: 240px; padding-bottom: 16px; }

/* =====================
   SOCIAL PROOF + PANEL UPGRADES
   ===================== */
.pdp-social-proof {
  display: flex; align-items: center; gap: 8px;
  background: rgba(184,151,106,.08); border: 1px solid rgba(184,151,106,.2);
  padding: 8px 12px; margin-bottom: 14px;
  font-size: .72rem; color: var(--accent); letter-spacing: .06em;
}
.pdp-social-proof svg { stroke: var(--accent); flex-shrink: 0; }
.pdp-add-btn {
  background: var(--black); position: relative; overflow: hidden;
}
.pdp-add-btn::after {
  content: ''; position: absolute; inset: 0;
  background: rgba(255,255,255,0);
  transition: background .2s;
}
.pdp-add-btn:hover:not(:disabled)::after { background: rgba(255,255,255,.06); }
.pdp-checkout-btn {
  background: var(--accent); color: #fff;
  border-color: var(--accent);
}
.pdp-checkout-btn:hover { background: #a07d58; border-color: #a07d58; color: #fff; }

@media (max-width: 768px) {
  .pdp-social-proof { font-size: .66rem; }
}

/* =====================
   NEW GALLERY LAYOUT - 50/50 single image
   ===================== */
.pdp-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  box-sizing: border-box;
  min-width: 0;
}
.pdp-gallery-main {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px;
  background: var(--mid-gray);
}
.pdp-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
  display: block;
  transition: opacity .3s;
}
.pdp-thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumb {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  background: var(--mid-gray);
  padding: 0;
  transition: border-color .2s;
}
.pdp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pdp-thumb.active { border-color: var(--black); }
.pdp-thumb:hover:not(.active) { border-color: var(--mid-gray); }

@media (max-width: 768px) {
  .pdp-gallery {
    padding: 0;
    gap: 8px;
  }
  .pdp-gallery-main {
    aspect-ratio: 1/1;
  }
  .pdp-thumb { width: 52px; height: 52px; }
}

/* ── Image section collapse prevention ─────────────────────────────────── */
.fg-hero, .fg-intro, .fg-inspace, .fg-about, .fg-product { min-height: 1px; }
.hero-right { min-height: 200px; overflow: hidden; }
.intro-img-stack { min-height: 200px; }
.intro-img-placeholder { background: var(--mid-gray); display: block; }
.inspace-img-placeholder { background: rgba(255,255,255,.06); display: block; }
.hero-img-placeholder { display: block; }
/* Ensure images in sections never cause layout collapse */
.fg-hero .hero-right img,
.fg-intro .intro-img-main,
.fg-about .about-img,
.fg-inspace .inspace-imgs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── Bundle picker ──────────────────────────────────────────────────────── */
.pdp-bundle-section { margin: 24px 0 8px; }
.pdp-bundle-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.pdp-bundle-label { font-family: 'Jost', sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--charcoal); }
.pdp-bundle-social { font-family: 'Jost', sans-serif; font-size: .7rem; color: var(--accent); letter-spacing: .04em; }

.pdp-bundle-card {
  border: 1.5px solid var(--mid-gray); margin-bottom: 8px; cursor: pointer;
  transition: border-color .2s, box-shadow .2s; position: relative; overflow: hidden;
}
.pdp-bundle-card:hover { border-color: var(--charcoal); }
.pdp-bundle-card.active { border-color: var(--black); border-width: 2px; }
.pdp-bundle-card--featured.active { border-color: var(--black); }

.pdp-bundle-card-badge {
  background: var(--black); color: var(--accent); font-family: 'Jost', sans-serif;
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  padding: 5px 14px; display: inline-block;
}
.pdp-bundle-card-badge--gift { background: var(--accent); color: #fff; }
.pdp-bundle-card-badge--best { background: var(--black); color: var(--cream); }
.pdp-bundle-upsell {
  display: flex; align-items: center; gap: 7px;
  font-family: 'Jost', sans-serif; font-size: .75rem; letter-spacing: .03em;
  color: var(--warm-gray); margin-top: 14px; padding: 10px 14px;
  background: #f5f2ec; border-radius: 6px; border: 1px solid var(--mid-gray);
}
.pdp-bundle-upsell svg { flex-shrink: 0; color: var(--accent); }
.pdp-bundle-upsell strong { color: var(--black); font-weight: 600; }

/* Cart drawer bundle savings box */
.cart-bundle-savings-box {
  margin-top: 10px; padding: 12px 14px;
  background: #f5f2ec; border-radius: 7px;
  border: 1px solid var(--mid-gray);
}
.cart-bundle-savings-top {
  display: flex; align-items: center; gap: 6px;
  font-family: 'Jost', sans-serif; font-size: .72rem;
  font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 8px;
}
.cart-bundle-savings-row {
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Jost', sans-serif; font-size: .85rem; color: var(--black);
  font-weight: 500; margin-bottom: 6px;
}
.cart-bundle-savings-amount {
  font-weight: 700; color: var(--accent); font-size: .95rem;
}
.cart-bundle-savings-code {
  font-family: 'Jost', sans-serif; font-size: .72rem;
  color: var(--warm-gray); letter-spacing: .03em;
  padding-top: 6px; border-top: 1px solid var(--mid-gray);
}
.cart-bundle-savings-code strong {
  color: var(--black); letter-spacing: .08em;
  background: var(--mid-gray); padding: 1px 6px; border-radius: 3px;
}
.cart-bundle-code-hint {
  display: flex; align-items: center; gap: 7px;
  font-family: 'Jost', sans-serif; font-size: .75rem; letter-spacing: .03em;
  color: var(--warm-gray); margin-top: 10px; padding: 10px 14px;
  background: #f5f2ec; border-radius: 6px; border: 1px solid var(--mid-gray);
}
.cart-bundle-code-hint svg { flex-shrink: 0; color: var(--accent); }
.cart-bundle-code-hint strong {
  color: var(--black); letter-spacing: .08em;
  background: var(--mid-gray); padding: 1px 6px; border-radius: 3px;
}

.pdp-bundle-card-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; gap: 12px;
}
.pdp-bundle-card-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }

.pdp-bundle-radio {
  width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--mid-gray);
  flex-shrink: 0; transition: border-color .2s; position: relative;
}
.pdp-bundle-radio--active { border-color: var(--black); border-width: 2px; }
.pdp-bundle-radio--active::after {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 8px; height: 8px; border-radius: 50%; background: var(--black);
}

.pdp-bundle-card-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pdp-bundle-card-title { font-family: 'Jost', sans-serif; font-size: .82rem; font-weight: 500; color: var(--black); letter-spacing: .03em; }
.pdp-bundle-card-sub { font-family: 'Jost', sans-serif; font-size: .72rem; color: var(--warm-gray); }
.pdp-bundle-card-save { color: #2e7d4f; font-weight: 500; }

.pdp-bundle-card-right { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.pdp-bundle-card-compare { font-family: 'Cormorant Garamond', serif; font-size: .95rem; color: var(--warm-gray); text-decoration: line-through; }
.pdp-bundle-card-price { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 400; color: var(--black); }
.pdp-bundle-card.active .pdp-bundle-card-price { color: var(--black); }

/* Variant section inside each card   hidden until card is active */
.pdp-bundle-variants { display: none; padding: 0 16px 14px; border-top: 1px solid var(--mid-gray); padding-top: 14px; }
.pdp-bundle-variants.open { display: block; }
.pdp-bv-group { margin-bottom: 10px; }
.pdp-bv-group:last-child { margin-bottom: 0; }
.pdp-bv-label { font-family: 'Jost', sans-serif; font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--warm-gray); display: block; margin-bottom: 6px; }
.pdp-bv-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.pdp-bv-btn {
  font-family: 'Jost', sans-serif; font-size: .72rem; padding: 6px 14px;
  border: 1.5px solid var(--mid-gray); background: var(--warm-white) !important; cursor: pointer;
  color: var(--charcoal) !important; transition: border-color .15s, background .15s, color .15s;
}
.pdp-bv-btn:hover { border-color: var(--charcoal); }
.pdp-bv-btn.active { border-color: var(--black) !important; background: var(--black) !important; color: #fff !important; }

.pdp-bundle-trust {
  display: flex; gap: 16px; flex-wrap: wrap; margin-top: 12px;
  padding: 10px 0; border-top: 1px solid var(--mid-gray);
}
.pdp-bundle-trust-item { font-family: 'Jost', sans-serif; font-size: .68rem; letter-spacing: .06em; color: var(--warm-gray); }

@media (max-width: 480px) {
  .pdp-bundle-card-inner { padding: 12px 12px; }
  .pdp-bundle-card-title { font-size: .76rem; }
  .pdp-bundle-card-price { font-size: 1.1rem; }
  .pdp-bundle-trust { gap: 10px; }
  .pdp-bundle-trust-item { font-size: .65rem; }
}  .pdp-bundle-price { font-size: 1rem; }
}

/* ── Cart drawer enhancements ────────────────────────────────────────────── */
.cart-drawer-shipping-banner {
  display: flex; align-items: center; gap: 8px;
  background: #f0f7f2; color: #2e7d4f;
  font-family: 'Jost', sans-serif; font-size: .72rem; letter-spacing: .06em;
  padding: 10px 16px; margin-bottom: 0; border-bottom: 1px solid #d4eadb;
}
.cart-drawer-shipping-banner svg { flex-shrink: 0; stroke: #2e7d4f; }
.cart-drawer-item-saving {
  font-family: 'Jost', sans-serif; font-size: .68rem; color: #2e7d4f;
  margin: 4px 0 6px; letter-spacing: .04em;
}
.cart-drawer-item-each {
  font-size: .75rem; color: var(--warm-gray); font-family: 'Jost', sans-serif;
}
.cart-drawer-item-variant {
  font-family: 'Jost', sans-serif; font-size: .72rem;
  color: var(--warm-gray); margin: 2px 0 4px; letter-spacing: .04em;
}

/* =====================
   PDP LEFT EXTRAS — desktop only, inside gallery column
   ===================== */
.pdp-left-extras { display: none; }
@media (min-width: 769px) {
  .pdp-left-extras { display: block; }
  .pdp-manifesto-block { padding: 32px 24px 0; }
  .pdp-manifesto-label { font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:block; }
  .pdp-manifesto-heading { font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.5rem,2vw,2.2rem);line-height:1.2;color:var(--black);margin-bottom:16px; }
  .pdp-manifesto-divider { width:32px;height:1px;background:var(--accent);margin-bottom:16px; }
  .pdp-manifesto-body { font-family:'Jost',sans-serif;font-size:.82rem;line-height:1.9;color:var(--warm-gray);margin-bottom:28px; }
  .pdp-process-strip { display:flex;flex-direction:column;border-top:1px solid var(--mid-gray); }
  .pdp-process-item { display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:14px 0;border-bottom:1px solid var(--mid-gray); }
  .pdp-process-num { grid-row:1/3;font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.12em;color:var(--accent);padding-top:2px; }
  .pdp-process-title { font-family:'Jost',sans-serif;font-size:.78rem;color:var(--black);font-weight:500; }
  .pdp-process-desc { font-family:'Jost',sans-serif;font-size:.72rem;color:var(--warm-gray);margin-top:2px; }
  .pll-section { padding: 28px 24px 0; }
  .pll-section--first { padding-top: 32px; }
  .pll-label { font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:block; }
  .pll-quote { font-size:15px;font-style:italic;color:var(--black);line-height:1.7;border-left:2px solid var(--accent);padding-left:16px;font-family:'Cormorant Garamond',serif; }
  .pll-quote--second { margin-top:20px; }
  .pll-quoter { font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding-left:16px;margin-top:8px;display:block; }
  .pll-divider { width:calc(100% - 48px);height:1px;background:var(--mid-gray);margin:28px 24px 0; }
  .pll-tags { display:flex;flex-wrap:wrap;gap:8px; }
  .pll-tag { padding:5px 12px;border:.5px solid var(--mid-gray);font-size:.72rem;letter-spacing:.07em;color:var(--warm-gray);font-family:'Jost',sans-serif; }
  .pll-stats { display:flex;gap:0;border:.5px solid var(--mid-gray);margin:28px 24px 0; }
  .pll-stat { flex:1;padding:20px;border-right:.5px solid var(--mid-gray); }
  .pll-stat:last-child { border-right:none; }
  .pll-stat-n { font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--black); }
  .pll-stat-l { font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-gray);margin-top:4px; }
  .pll-feat-grid { display:grid;grid-template-columns:1fr 1fr;gap:0;border:.5px solid var(--mid-gray); }
  .pll-feat { padding:16px;border-right:.5px solid var(--mid-gray);border-bottom:.5px solid var(--mid-gray); }
  .pll-feat:nth-child(even) { border-right:none; }
  .pll-feat:nth-last-child(-n+2) { border-bottom:none; }
  .pll-feat-title { font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:5px; }
  .pll-feat-body { font-family:'Jost',sans-serif;font-size:.75rem;color:var(--warm-gray);line-height:1.65; }
  .pll-shipping { display:flex;flex-direction:column;gap:10px; }
  .pll-ship-item { display:flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-size:.78rem;color:var(--warm-gray); }
  .pll-dot { width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0; }
  .pll-edition { font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid-gray);border-top:.5px solid var(--mid-gray);padding:18px 24px 48px;margin-top:28px;display:block; }
}
