/** Shopify CDN: Minification failed

Line 1772:0 Unexpected "}"

**/
/* ============================================================
   RESET
============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Glacial Indifference', 'Century Gothic', 'Trebuchet MS', sans-serif;
    background-color: #f5f0e2;
    color: #283e2a;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
input, button { -webkit-appearance: none; border-radius: 0; }

/* ============================================================
   TYPOGRAPHY
============================================================ */
.display { font-family: 'Fraunces', Georgia, serif; font-weight: 900; line-height: 1.05; }
.script { font-family: 'Great Vibes', cursive; font-weight: 400; }

/* ============================================================
   BUTTONS
============================================================ */
.btn {
    display: inline-block;
    font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 16px 36px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all 0.28s ease;
}
.btn-ivory { background: #f5f0e2; color: #283e2a; border-color: #f5f0e2; }
.btn-ivory:hover { background: transparent; color: #f5f0e2; }
.btn-outline-ivory { background: transparent; color: #f5f0e2; border-color: #f5f0e2; }
.btn-outline-ivory:hover { background: #f5f0e2; color: #283e2a; }
.btn-forest { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }
.btn-forest:hover { background: transparent; color: #283e2a; }
.btn-outline-forest { background: transparent; color: #283e2a; border-color: #283e2a; }
.btn-outline-forest:hover { background: #283e2a; color: #f5f0e2; }
.btn-gold { background: #c8a870; color: #283e2a; border-color: #c8a870; }
.btn-gold:hover { background: transparent; color: #c8a870; border-color: #c8a870; }
.btn-outline-gold { background: transparent; color: #c8a870; border-color: #c8a870; }
.btn-outline-gold:hover { background: #c8a870; color: #283e2a; }

/* ============================================================
   NAV
============================================================ */
/* Search results page */
.search-results-page { background: #f5f0e2; min-height: 60vh; padding: 120px 24px 80px; max-width: 800px; margin: 0 auto; }
.search-results-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(24px, 5vw, 40px); color: #283e2a; margin-bottom: 32px; line-height: 1.2; }
.search-results-form { display: flex; gap: 12px; margin-bottom: 48px; }
.search-results-input { flex: 1; border: none; border-bottom: 2px solid #283e2a; background: transparent; font-family: Arial, sans-serif; font-size: 16px; color: #283e2a; padding: 10px 0; outline: none; }
.search-results-input::placeholder { color: rgba(40,62,42,0.4); }
.search-results-submit { background: #283e2a; color: #f5f0e2; border: none; padding: 10px 24px; font-family: Arial, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.search-results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.search-result-price { font-family: Arial, sans-serif; font-size: 13px; color: rgba(40,62,42,0.6); margin-top: 4px; }
.search-no-results { text-align: center; padding: 48px 0; font-family: Arial, sans-serif; font-size: 16px; color: rgba(40,62,42,0.6); }

/* Search overlay */
.search-overlay { position: fixed; top: 0; left: 0; right: 0; z-index: 400; background: #f5f0e2; padding: 0 24px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; }
.search-overlay.search-open { max-height: 100px; padding: 20px 24px; }
.search-overlay-form { display: flex; align-items: center; gap: 12px; max-width: 600px; margin: 0 auto; }
.search-overlay-input { flex: 1; border: none; border-bottom: 2px solid #283e2a; background: transparent; font-family: Arial, sans-serif; font-size: 18px; color: #283e2a; padding: 8px 0; outline: none; }
.search-overlay-input::placeholder { color: rgba(40,62,42,0.4); }
.search-overlay-btn { background: none; border: none; cursor: pointer; color: #283e2a; width: 28px; height: 28px; flex-shrink: 0; }
.search-overlay-btn svg { width: 22px; height: 22px; display: block; }
.search-overlay-close { background: none; border: none; cursor: pointer; color: #283e2a; width: 28px; height: 28px; flex-shrink: 0; }
.search-overlay-close svg { width: 20px; height: 20px; display: block; }

.nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 300;
    background-color: #283e2a;
    height: 80px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    transition: box-shadow 0.3s;
}
.nav.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,0.22); }
.nav-left { display: flex; align-items: center; justify-content: flex-start; }
.hamburger { display: flex; flex-direction: column; gap: 6px; cursor: pointer; padding: 4px; background: none; border: none; }
.hamburger span { display: block; width: 26px; height: 2px; background: #f5f0e2; transition: all 0.3s; }
.nav-logo { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.nav-logo img { width: 280px; height: 56px; object-fit: cover; object-position: center 50%; display: block; flex-shrink: 0; filter: brightness(0) invert(1) sepia(1) saturate(0.15) brightness(0.96); }
.nav-logo-text {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 900;
    font-size: 52px;
    color: #f5f0e2;
    letter-spacing: -0.01em;
    line-height: 1;
    transform: translateY(5px);
}
.nav-right { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.nav-icon-btn {
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    background: none; border: none; cursor: pointer;
    border-radius: 4px; transition: background 0.18s;
    position: relative; flex-shrink: 0;
}
.nav-icon-btn:hover { background: rgba(245,240,226,0.1); }
.nav-icon-btn svg { width: 22px; height: 22px; stroke: #f5f0e2; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cart-count {
    position: absolute; top: 4px; right: 4px;
    width: 14px; height: 14px;
    background: #adad8c; border-radius: 50%;
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 8px; font-weight: 700; color: #283e2a;
    display: none; align-items: center; justify-content: center;
}
.nav-links { display: none; }
.nav-cta { display: none; }

/* ============================================================
   MOBILE MENU OVERLAY
============================================================ */
.mobile-overlay {
    position: fixed; inset: 0;
    background: #283e2a;
    z-index: 500;
    display: flex; flex-direction: column;
    opacity: 0; visibility: hidden;
    transition: opacity 0.45s cubic-bezier(.4,0,.2,1), visibility 0.45s;
    overflow: auto;
}
.mobile-overlay.open { opacity: 1; visibility: visible; }
.mobile-overlay::before {
    content: 'Broekie.';
    position: absolute; bottom: -30px; right: -10px;
    font-family: 'Great Vibes', cursive;
    font-size: 220px;
    color: rgba(245,240,226,0.022);
    pointer-events: none; line-height: 1;
    user-select: none; z-index: 0;
}
.overlay-close {
    position: absolute; top: 24px; right: 24px;
    background: none; border: none; cursor: pointer;
    padding: 6px; line-height: 1;
    opacity: 0; transform: rotate(-90deg);
    transition: opacity 0.3s 0.1s, transform 0.35s 0.1s; z-index: 2;
}
.mobile-overlay.open .overlay-close { opacity: 1; transform: rotate(0deg); }
.overlay-scroll {
    flex: 1; display: flex; flex-direction: column;
    justify-content: center;
    padding: 88px 48px 44px;
    position: relative; z-index: 1;
}
.overlay-nav { display: flex; flex-direction: column; margin-bottom: 44px; }
.overlay-link {
    display: flex; align-items: baseline; gap: 14px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(245,240,226,0.06);
    text-decoration: none;
    opacity: 0; transform: translateX(-22px);
    transition: opacity 0.42s, transform 0.42s;
    position: relative;
}
.overlay-link:last-child { border-bottom: none; }
.mobile-overlay.open .overlay-link:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.12s; }
.mobile-overlay.open .overlay-link:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.19s; }
.mobile-overlay.open .overlay-link:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.26s; }
.mobile-overlay.open .overlay-link:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.33s; }
.mobile-overlay.open .overlay-link:nth-child(5) { opacity: 1; transform: translateX(0); transition-delay: 0.40s; }
.mobile-overlay.open .overlay-link:nth-child(6) { opacity: 1; transform: translateX(0); transition-delay: 0.47s; }
.overlay-link::after {
    content: ''; position: absolute; bottom: 0; left: 0;
    height: 1px; width: 0; background: #c8a870;
    transition: width 0.35s ease;
}
.overlay-link:hover::after { width: 100%; }
.overlay-link-num {
    font-family: 'Great Vibes', cursive;
    font-size: 22px; color: rgba(200,168,112,0.4);
    line-height: 1; flex-shrink: 0; width: 36px;
    transition: color 0.25s;
}
.overlay-link:hover .overlay-link-num { color: #c8a870; }
.overlay-link-content { display: flex; flex-direction: column; gap: 3px; }
.overlay-link-name {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(20px, 5vw, 32px);
    color: #f5f0e2; line-height: 1.05; transition: color 0.25s;
}
.overlay-link:hover .overlay-link-name { color: #c8a870; }
.overlay-link-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 9px; letter-spacing: 0.07em;
    color: rgba(245,240,226,0.3); transition: color 0.25s;
}
.overlay-link:hover .overlay-link-sub { color: rgba(200,168,112,0.55); }

/* Father's Day nav item */
.overlay-link--fd::after { background: #7aafd4; }
.overlay-link-num--fd { font-family: 'Great Vibes', cursive; font-size: 34px; color: rgba(122,175,212,0.45); width: 52px; }
.overlay-link--fd:hover .overlay-link-num--fd { color: #7aafd4; }
.overlay-link-name--fd { color: #a8d0f0; }
.overlay-link--fd:hover .overlay-link-name--fd { color: #d0e3ff; }
.overlay-link-sub--fd { color: rgba(168,208,240,0.4); }
.overlay-link--fd:hover .overlay-link-sub--fd { color: rgba(208,227,255,0.65); }

.overlay-footer {
    display: flex; align-items: center;
    justify-content: space-between; gap: 20px;
    flex-wrap: wrap;
    opacity: 0; transform: translateY(10px);
    transition: opacity 0.42s 0.42s, transform 0.42s 0.42s;
}
.mobile-overlay.open .overlay-footer { opacity: 1; transform: translateY(0); }
.overlay-cta {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: #283e2a; background: #c8a870;
    padding: 14px 28px; display: inline-block;
    transition: background 0.25s, color 0.25s;
}
.overlay-cta:hover { background: #f5f0e2; }
.overlay-social {
    display: flex; align-items: center; gap: 16px;
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
}
.overlay-social a { color: rgba(245,240,226,0.3); transition: color 0.2s; }
.overlay-social a:hover { color: #f5f0e2; }

/* ============================================================
   HERO SLIDER
============================================================ */
.hero-slider {
    position: relative;
    height: 100dvh;
    min-height: 620px;
    overflow: hidden;
    background: #1a2a1c;
}
.hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 100px 48px 140px;
    opacity: 0;
    transition: opacity 1s cubic-bezier(.4,0,.2,1);
    pointer-events: none;
}
.hero-slide.active { opacity: 1; pointer-events: all; }
.slide-bg {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.06);
    transition: transform 7s ease-out;
}
.hero-slide.active .slide-bg { transform: scale(1); }

.slide-bg-1 { background: url('hero-bg.jpeg') center center / cover no-repeat; }
.slide-bg-2 { background: radial-gradient(ellipse at 35% 58%, #2e1a0a 0%, #181008 48%, #0c0804 100%); }
.slide-bg-3 { background: radial-gradient(ellipse at 50% 38%, #1c3020 0%, #0e1e10 48%, #080e08 100%); }

.slide-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(160deg, rgba(8,6,4,0.52) 0%, rgba(8,6,4,0.32) 50%, rgba(8,6,4,0.72) 100%);
}
.slide-inner { position: relative; z-index: 2; max-width: 860px; }

.slide-eyebrow {
    font-family: 'Great Vibes', cursive;
    font-size: 40px; color: #adad8c;
    margin-bottom: 16px; display: block;
    opacity: 0;
}
.hero-slide.active .slide-eyebrow { animation: slideUp 0.85s ease forwards 0.15s; }

.slide-headline {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 900;
    font-size: clamp(38px, 5.5vw, 68px);
    line-height: 1.05; color: #f5f0e2;
    margin-bottom: 22px;
    opacity: 0;
}
.hero-slide.active .slide-headline { animation: slideUp 0.9s ease forwards 0.3s; }

.slide-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 17px; line-height: 1.62;
    color: rgba(245,240,226,0.65);
    max-width: 520px; margin: 0 auto 48px;
    opacity: 0;
}
.hero-slide.active .slide-sub { animation: slideUp 0.9s ease forwards 0.46s; }

.slide-ctas {
    display: flex; gap: 14px;
    justify-content: center; flex-wrap: wrap;
    opacity: 0;
}
.hero-slide.active .slide-ctas { animation: slideUp 0.9s ease forwards 0.6s; }

/* Dots */
.slider-dots {
    position: absolute;
    bottom: 44px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 10px; z-index: 10;
}
.slider-dot {
    width: 6px; height: 6px;
    border-radius: 3px;
    background: rgba(245,240,226,0.28);
    border: none; cursor: pointer;
    transition: all 0.4s ease; padding: 0;
}
.slider-dot.active { background: #f5f0e2; width: 28px; }

/* Arrows */
.slider-arrows {
    position: absolute; bottom: 34px; right: 40px;
    display: flex; gap: 8px; z-index: 10;
}
.slider-arrow {
    width: 44px; height: 44px;
    background: rgba(245,240,226,0.07);
    border: 1px solid rgba(245,240,226,0.16);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all 0.22s ease;
    color: rgba(245,240,226,0.65);
}
.slider-arrow:hover { background: rgba(245,240,226,0.16); color: #f5f0e2; }
.slider-arrow svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Counter */
.slider-counter {
    position: absolute; bottom: 50px; left: 40px;
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 10px; letter-spacing: 0.18em;
    color: rgba(245,240,226,0.28); z-index: 10;
}

/* ============================================================
   TRUST BAND (social proof)
============================================================ */
.trust-band {
    background: #1e3120;
    padding: 17px 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(173,173,140,0.08);
}
.trust-track {
    display: flex; align-items: center;
    animation: marquee 30s linear infinite;
    white-space: nowrap; width: max-content;
}
.trust-band .trust-item {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 0 36px;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #f5f0e2;
}
.trust-stars { color: #c8a870; font-size: 12px; letter-spacing: 2px; }
.trust-sep { color: rgba(200,168,112,0.6); font-size: 16px; padding: 0 8px; }

/* ============================================================
   SECTION SHARED
============================================================ */
.section-label {
    display: block;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 18px;
}
.section-headline {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 900;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.1; margin-bottom: 20px;
}
.section-body {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 15px; line-height: 1.72;
}

/* ============================================================
   ABOUT SECTION
============================================================ */
.about {
    background: #f5f0e2;
    padding: 120px 56px;
}
.about-inner {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 88px; align-items: center;
}
.about-photo {
    position: relative;
    aspect-ratio: 3/4;
    background: #1a2e1c;
    overflow: visible;
}
.about-photo::before {
    content: '';
    position: absolute;
    top: -14px; left: -14px; right: 14px; bottom: 14px;
    border: 1px solid rgba(200,168,112,0.22);
    pointer-events: none; z-index: 0;
}
.about-photo-inner {
    position: absolute; inset: 0;
    overflow: hidden;
    z-index: 1;
}
.about-photo-placeholder {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    background: radial-gradient(ellipse at 40% 35%, #3d2412 0%, #1e1008 50%, #0e0804 100%);
    position: relative;
}
.about-photo-b {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: 180px; color: rgba(245,240,226,0.035);
    line-height: 1; user-select: none; pointer-events: none;
}
.about-photo-script {
    position: absolute; bottom: 28px; left: 28px;
    font-family: 'Great Vibes', cursive;
    font-size: 26px; color: rgba(173,173,140,0.4);
}
.about-photo-frame-inner {
    position: absolute; inset: 18px;
    border: 1px solid rgba(173,173,140,0.18);
    pointer-events: none; z-index: 2;
}
.about-copy .section-headline { color: #283e2a; }
.about-copy .section-body { color: rgba(40,62,42,0.72); margin-bottom: 20px; }
.script-accent {
    font-family: 'Great Vibes', cursive;
    font-size: 30px; color: #adad8c;
    display: block; margin: 12px 0 36px;
}

/* ============================================================
   KEY OFFERS (3 cards)
============================================================ */
.key-offers { background: #283e2a; padding: 100px 56px; }
.key-offers-header {
    text-align: center; max-width: 560px;
    margin: 0 auto 68px;
}
.key-offers-header .section-headline { color: #f5f0e2; }
.key-offers-header .section-label { color: #adad8c; }
.key-offers-grid {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1px; background: rgba(173,173,140,0.1);
}
.key-offer-card {
    background: #1e3120;
    padding: 52px 40px;
    display: flex; flex-direction: column;
    transition: background 0.28s ease; cursor: pointer;
    position: relative; overflow: hidden;
}
.key-offer-card:hover { background: #243826; }
.key-offer-num {
    font-family: 'Fraunces', serif; font-weight: 900;
    font-size: 72px; color: rgba(245,240,226,0.04);
    line-height: 1; margin-bottom: 4px;
}
.key-offer-icon {
    width: 48px; height: 48px; margin-bottom: 24px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(200,168,112,0.28);
}
.key-offer-icon svg { width: 22px; height: 22px; stroke: #c8a870; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.key-offer-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(22px, 2.2vw, 28px);
    color: #f5f0e2; line-height: 1.1; margin-bottom: 16px;
}
.key-offer-text {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; line-height: 1.72;
    color: rgba(245,240,226,0.48);
    margin-bottom: 32px; flex: 1;
}
.key-offer-link {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #c8a870; display: inline-flex;
    align-items: center; gap: 8px;
    transition: opacity 0.2s;
}
.key-offer-link:hover { opacity: 0.7; }
.key-offer-link::after { content: '→'; }

/* ============================================================
   FLAVOURS
============================================================ */
.flavours { background: #1c2e1e; padding: 110px 56px; }
.flavours-header { text-align: center; max-width: 600px; margin: 0 auto 68px; }
.flavours-header .section-headline { color: #f5f0e2; }
.flavours-grid {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.flavour-card {
    background: rgba(245,240,226,0.04);
    border: 1px solid rgba(173,173,140,0.16);
    padding: 36px 28px;
    transition: all 0.28s ease; cursor: pointer;
}
.flavour-card:hover { background: rgba(245,240,226,0.09); border-color: rgba(173,173,140,0.4); transform: translateY(-4px); }
.flavour-disc { width: 72px; height: 72px; border-radius: 50%; margin-bottom: 24px; box-shadow: 0 12px 28px rgba(0,0,0,0.35); }
.f-chocchip { background: radial-gradient(circle at 38% 38%, #5a3018, #281208); }
.f-nutella { background: radial-gradient(circle at 38% 38%, #7a3820, #3a1408); }
.f-biscoff { background: radial-gradient(circle at 38% 38%, #b06e30, #5c3010); }
.f-oreo { background: radial-gradient(circle at 38% 38%, #2e2e2e, #0e0e0e); }
.flavour-name { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #f5f0e2; margin-bottom: 10px; }
.flavour-desc { font-family: 'Glacial Indifference', sans-serif; font-size: 13px; line-height: 1.65; color: rgba(245,240,226,0.5); }
.flavours-footer { text-align: center; margin-top: 52px; }

/* ============================================================
   LEAD MAGNET / EMAIL CAPTURE
============================================================ */
.lead-magnet { background: #f3ecd1; padding: 110px 56px; }
.lead-magnet-inner {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 80px; align-items: center;
}
.lead-magnet-copy .section-label { color: #adad8c; }
.lead-magnet-headline {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(30px, 3.5vw, 50px);
    line-height: 1.08; color: #283e2a; margin-bottom: 16px;
}
.lead-magnet-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 15px; line-height: 1.72;
    color: rgba(40,62,42,0.62); margin-bottom: 36px;
}
.email-form { display: flex; max-width: 460px; margin-bottom: 12px; }
.email-input {
    flex: 1; padding: 15px 20px;
    font-family: 'Glacial Indifference', sans-serif; font-size: 14px;
    background: rgba(40,62,42,0.06);
    border: 1px solid rgba(40,62,42,0.2); border-right: none;
    color: #283e2a; outline: none; transition: border-color 0.2s;
}
.email-input::placeholder { color: rgba(40,62,42,0.35); }
.email-input:focus { border-color: rgba(40,62,42,0.4); }
.email-btn {
    padding: 15px 24px;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.2em; text-transform: uppercase;
    background: #283e2a; color: #f5f0e2;
    border: 1px solid #283e2a; cursor: pointer;
    white-space: nowrap; transition: all 0.2s;
}
.email-btn:hover { background: #c8a870; border-color: #c8a870; color: #283e2a; }
.email-note { font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(40,62,42,0.35); }
.lead-magnet-visual { display: flex; align-items: center; justify-content: center; }
.lead-magnet-brand-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #283e2a;
  border-radius: 4px;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 1/1;
  padding: 48px 40px;
  position: relative;
  overflow: hidden;
}
.lead-magnet-brand-panel::before {
  content: '';
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(200,168,112,0.3);
  border-radius: 2px;
  pointer-events: none;
}
.lm-brand-eyebrow {
  font-family: 'Canela', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: #f5f0e2;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  display: block;
}
.lm-brand-script {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 46px;
  color: #c8a870;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 28px;
  display: block;
}
.lm-brand-tagline {
  font-family: 'Glacial Indifference', sans-serif;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(245,240,226,0.35);
  text-align: center;
  display: block;
}

/* ============================================================
   OCCASIONS
============================================================ */
.occasions { background: #f5f0e2; padding: 110px 56px; }
.occasions-header { text-align: center; max-width: 560px; margin: 0 auto 68px; }
.occasions-header .section-headline { color: #283e2a; }
.occasions-grid { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.occasion-card {
    background: #fff; padding: 40px 30px;
    border: 1px solid rgba(40,62,42,0.07);
    position: relative; overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;
}
.occasion-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: #283e2a; transform: scaleX(0); transition: transform 0.3s ease; transform-origin: left; }
.occasion-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(40,62,42,0.1); }
.occasion-card:hover::after { transform: scaleX(1); }
.occasion-num { font-family: 'Fraunces', serif; font-weight: 900; font-size: 48px; color: rgba(40,62,42,0.06); line-height: 1; margin-bottom: 20px; }
.occasion-title { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: #283e2a; margin-bottom: 12px; }
.occasion-text { font-family: 'Glacial Indifference', sans-serif; font-size: 14px; line-height: 1.65; color: rgba(40,62,42,0.65); }

/* ============================================================
   REVIEWS SECTION
============================================================ */
.reviews-section { background: #283e2a; padding: 100px 56px; }
.reviews-section-inner { max-width: 1120px; margin: 0 auto; }
.reviews-header { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.reviews-header .section-label { color: #c8a870; }
.reviews-header .section-headline { color: #f5f0e2; }
.reviews-widget-wrap { max-width: 1120px; margin: 0 auto; }

/* ── Fera widget overrides: force ALL text readable on dark green ── */
.reviews-widget-wrap *,
.reviews-widget-wrap p,
.reviews-widget-wrap span,
.reviews-widget-wrap div,
.reviews-widget-wrap h1,
.reviews-widget-wrap h2,
.reviews-widget-wrap h3,
.reviews-widget-wrap h4,
.reviews-widget-wrap h5,
.reviews-widget-wrap h6,
.reviews-widget-wrap a,
.reviews-widget-wrap li,
.reviews-widget-wrap strong,
.reviews-widget-wrap em,
.reviews-widget-wrap small { color: #f5f0e2 !important; }
.reviews-widget-wrap a { color: #c8a870 !important; text-decoration: underline !important; }
.reviews-widget-wrap button { color: #f5f0e2 !important; border-color: rgba(245,240,226,0.4) !important; background: transparent !important; }

/* Fera star rating under product title */
.pdp-fera-rating { margin: 6px 0 14px; }

/* Fera product reviews section */
.pdp-reviews-section { background: #f5f0e2; padding: 80px 56px; }
.pdp-reviews-inner { max-width: 1120px; margin: 0 auto; }
.pdp-reviews-header { text-align: center; max-width: 560px; margin: 0 auto 48px; }
.pdp-reviews-header .section-headline { color: #283e2a; }

/* ============================================================
   CORPORATE STRIP
============================================================ */
.corporate-strip { background: #283e2a; padding: 100px 56px; }
.corporate-strip-inner {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr auto;
    gap: 80px; align-items: center;
}
.corp-strip-copy .section-label { color: #adad8c; }
.corp-strip-copy .section-headline { color: #f5f0e2; font-size: clamp(26px, 3vw, 44px); }
.corp-strip-copy .section-body { color: rgba(245,240,226,0.55); max-width: 580px; margin-top: 4px; }
.corp-strip-cta { flex-shrink: 0; }

/* ============================================================
   TESTIMONIALS
============================================================ */
.testimonials { background: #f5f0e2; padding: 110px 0; overflow: hidden; }
.test-header { text-align: center; margin-bottom: 64px; padding: 0 56px; }
.test-header .section-headline { color: #283e2a; }
.test-track {
    display: flex; gap: 24px;
    overflow-x: auto; scroll-behavior: smooth;
    padding: 8px 56px 28px; cursor: grab;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.test-track::-webkit-scrollbar { display: none; }
.test-track.grabbing { cursor: grabbing; }
.test-card {
    background: #fff; border: 1px solid rgba(40,62,42,0.07);
    padding: 44px 36px; flex: 0 0 360px; min-height: 280px;
    display: flex; flex-direction: column; justify-content: space-between;
    transition: box-shadow 0.25s ease;
}
.test-card:hover { box-shadow: 0 12px 36px rgba(40,62,42,0.08); }
.test-opening { font-family: 'Great Vibes', cursive; font-size: 52px; color: #adad8c; line-height: 1; margin-bottom: 12px; }
.test-text { font-family: 'Glacial Indifference', sans-serif; font-size: 14px; line-height: 1.75; color: rgba(40,62,42,0.8); font-style: italic; margin-bottom: 28px; flex: 1; }
.test-author { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #adad8c; }
.test-nav { display: flex; justify-content: center; gap: 12px; margin-top: 36px; padding: 0 56px; }
.test-arrow { width: 44px; height: 44px; border: 1px solid rgba(40,62,42,0.2); background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; color: #283e2a; }
.test-arrow:hover { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }
.test-arrow svg { width: 16px; height: 16px; }

/* ============================================================
   FOOTER
============================================================ */
.footer { background: #1c2e1e; padding: 72px 56px 40px; }
.footer-top { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 56px; padding-bottom: 52px; border-bottom: 1px solid rgba(173,173,140,0.15); }
.footer-brand-logo { margin-bottom: 16px; }
.footer-brand-logo img { width: auto; height: 38px; object-fit: contain; display: block; filter: brightness(0) invert(1) sepia(1) saturate(0.15) brightness(0.96); }
.footer-brand-logo-text { font-family: 'Fraunces', serif; font-weight: 900; font-size: 32px; color: #f5f0e2; margin-bottom: 16px; display: block; }
.footer-tagline { font-family: 'Great Vibes', cursive; font-size: 22px; color: #adad8c; margin-bottom: 20px; display: block; }
.footer-desc { font-family: 'Glacial Indifference', sans-serif; font-size: 13px; line-height: 1.65; color: rgba(245,240,226,0.35); }
.footer-col-title { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: #adad8c; margin-bottom: 20px; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-links a { font-family: 'Glacial Indifference', sans-serif; font-size: 13px; color: rgba(245,240,226,0.5); transition: color 0.2s; }
.footer-links a:hover { color: rgba(245,240,226,0.9); }
.footer-bottom { max-width: 1120px; margin: 28px auto 0; display: flex; justify-content: space-between; align-items: center; }
.footer-copy { font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(245,240,226,0.22); }
.footer-social { display: flex; gap: 24px; }
.footer-social a { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(245,240,226,0.35); transition: color 0.2s; }
.footer-social a:hover { color: #adad8c; }

/* ============================================================
   ANIMATIONS
============================================================ */
@keyframes slideUp {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ============================================================
   RESPONSIVE   TABLET (≤900px)
============================================================ */
@media (max-width: 900px) {
    .nav { padding: 0 20px; height: 70px; }
    .nav-logo img { width: 230px; height: 48px; }
    .nav-logo-text { font-size: 46px; }

    .hero-slide { padding: 80px 32px 140px; }
    .slider-arrows { right: 20px; bottom: 28px; }
    .slider-counter { left: 20px; bottom: 44px; }

    .about { padding: 80px 24px; }
    .about-inner { grid-template-columns: 1fr; gap: 48px; }
    .about-photo { aspect-ratio: 4/3; }

    .key-offers { padding: 72px 24px; }
    .key-offers-grid { grid-template-columns: 1fr; }
    .key-offers-header { margin-bottom: 40px; }

    .flavours { padding: 72px 24px; }
    .flavours-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .flavours-header { margin-bottom: 48px; }

    .lead-magnet { padding: 80px 24px; }
    .lead-magnet-inner { grid-template-columns: 1fr; gap: 52px; }

    .occasions { padding: 72px 24px; }
    .occasions-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .occasions-header { margin-bottom: 48px; }

    .corporate-strip { padding: 72px 24px; }
    .corporate-strip-inner { grid-template-columns: 1fr; gap: 36px; }

    .testimonials { padding: 72px 0; }
    .test-header { padding: 0 24px; }
    .test-track { padding-left: 24px; padding-right: 24px; }
    .test-nav { padding: 0 24px; }
    .test-card { flex: 0 0 300px; }

    .footer { padding: 56px 24px 36px; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 40px; }
    .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
}

/* ============================================================
   RESPONSIVE   MOBILE (≤540px)
============================================================ */
@media (max-width: 540px) {
    .nav { padding: 0 16px; height: 64px; }
    .nav-logo img { width: 190px; height: 40px; }
    .nav-logo-text { font-size: 38px; }

    .hero-slide { padding: 80px 20px 140px; }
    .slide-eyebrow { font-size: 30px; }
    .slide-headline { font-size: 30px; line-height: 1.12; }
    .slide-sub { font-size: 14px; margin-bottom: 32px; }
    .slide-ctas { flex-direction: column; align-items: stretch; max-width: 280px; margin: 0 auto; }
    .slide-ctas .btn { width: 100%; text-align: center; padding: 16px 20px; }
    .slider-counter { display: none; }
    .slider-arrows { display: none; }
    .slider-dots { bottom: 38px; }

    .mobile-overlay { padding: 88px 32px 44px; }
    .overlay-link-name { font-size: 20px; }

    .about { padding: 60px 20px; }
    .about-photo-b { font-size: 100px; }

    .key-offers { padding: 60px 20px; }
    .key-offer-card { padding: 36px 24px; }

    .flavours { padding: 60px 20px; }
    .flavours-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .flavour-card { padding: 22px 16px; }
    .flavour-disc { width: 56px; height: 56px; margin-bottom: 16px; }
    .flavour-name { font-size: 11px; }
    .flavour-desc { font-size: 12px; }
    .flavours-footer { margin-top: 28px; }
    .flavours-footer .btn { width: 100%; text-align: center; }

    .lead-magnet { padding: 60px 20px; }
    .email-form { flex-direction: column; max-width: 100%; }
    .email-input { border-right: 1px solid rgba(40,62,42,0.2); border-bottom: none; }
    .email-btn { padding: 16px; }

    .occasions { padding: 60px 20px; }
    .occasions-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .occasion-card { padding: 22px 16px; }
    .occasion-num { font-size: 32px; margin-bottom: 10px; }
    .occasion-title { font-size: 11px; }
    .occasion-text { font-size: 12px; }
    .occasions-header { margin-bottom: 32px; }

    .corporate-strip { padding: 60px 20px; }
    .corp-strip-cta .btn { width: 100%; text-align: center; }

    .testimonials { padding: 60px 0; }
    .test-card { flex: 0 0 84vw; padding: 28px 22px; min-height: unset; }
    .test-opening { font-size: 40px; margin-bottom: 8px; }
    .test-text { font-size: 13px; }
    .test-header { margin-bottom: 36px; padding: 0 20px; }
    .test-track { padding: 8px 20px 24px; gap: 16px; }
    .test-nav { padding: 0 20px; margin-top: 24px; }

    .section-label { font-size: 9px; letter-spacing: 0.18em; margin-bottom: 12px; }
    .section-headline { font-size: 26px !important; line-height: 1.12 !important; }

    .footer { padding: 48px 20px 32px; }
    .footer-top { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
    .footer-bottom { flex-direction: column; gap: 14px; text-align: center; }
    .footer-social { gap: 18px; flex-wrap: wrap; justify-content: center; }
}

@media (max-width: 360px) {
    .slide-headline { font-size: 26px; }
    .occasions-grid { grid-template-columns: 1fr; }
    .flavours-grid { grid-template-columns: 1fr; }
    .test-card { flex: 0 0 90vw; }
    .nav-logo-text { font-size: 34px; }
}

/* ============================================================
   CART PAGE
============================================================ */
select { -webkit-appearance: none; border-radius: 0; font-family: inherit; }

/* Breadcrumb */
.breadcrumb { margin-top: 80px; background: #fff; border-bottom: 1px solid rgba(40,62,42,0.08); }
.breadcrumb-inner { max-width: 1400px; margin: 0 auto; padding: 14px 48px; display: flex; align-items: center; gap: 8px; }
.breadcrumb a, .breadcrumb span { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(40,62,42,0.5); }
.breadcrumb a:hover { color: #283e2a; }
.bc-sep { color: rgba(40,62,42,0.25); }
.breadcrumb span:last-child { color: #283e2a; }

/* Cart layout */
.cart-layout { display: grid; grid-template-columns: 1fr 400px; min-height: calc(100vh - 116px); }

/* Left   basket side */
.basket-side { padding: 56px 64px 72px; display: flex; flex-direction: column; align-items: center; }
.basket-header { width: 100%; max-width: 580px; margin-bottom: 40px; }
.basket-label { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(40,62,42,0.5); margin-bottom: 8px; }
.basket-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(28px, 3vw, 42px); line-height: 1.05; letter-spacing: -0.02em; color: #283e2a; }
.basket-count { font-size: 13px; color: rgba(40,62,42,0.55); margin-top: 6px; }

/* Basket wrap */
.basket-wrap { position: relative; width: 100%; max-width: 580px; }
.basket-svg { width: 100%; height: auto; display: block; }
.basket-drop-zone { position: absolute; top: 45%; left: 13%; right: 13%; bottom: 10%; display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; padding: 20px; }

/* Empty basket */
.basket-empty-msg { display: none; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.basket-empty-msg.visible { display: flex; }
.basket-empty-icon { font-size: 36px; opacity: 0.25; }
.basket-empty-text { font-size: 13px; letter-spacing: 0.06em; color: rgba(40,62,42,0.4); text-transform: uppercase; }

/* Drag hint */
.drag-hint { margin-top: 20px; display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(40,62,42,0.38); }
.drag-hint svg { width: 16px; height: 16px; stroke: rgba(40,62,42,0.3); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* Remove zone */
.remove-zone { position: fixed; bottom: 36px; left: 50%; transform: translateX(-50%) translateY(120px); background: #8b1a1a; color: #f5f0e2; padding: 14px 40px; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; transition: transform 0.3s cubic-bezier(.4,0,.2,1); z-index: 600; pointer-events: none; box-shadow: 0 8px 32px rgba(0,0,0,0.2); }
.remove-zone.visible { transform: translateX(-50%) translateY(0); }
.remove-zone svg { width: 16px; height: 16px; stroke: #f5f0e2; fill: none; stroke-width: 2; stroke-linecap: round; }

/* Cart box */
.cart-box { position: relative; width: 154px; flex-shrink: 0; cursor: grab; user-select: none; will-change: transform; transition: transform 0.18s ease; filter: drop-shadow(3px 6px 12px rgba(0,0,0,0.28)); }
.cart-box:hover { filter: drop-shadow(4px 8px 20px rgba(0,0,0,0.38)); }
.cart-box.is-dragging { cursor: grabbing; filter: drop-shadow(6px 12px 28px rgba(0,0,0,0.45)); }
.box-lid { width: 100%; height: 18px; background: linear-gradient(180deg, #3d5e40 0%, #304a33 100%); position: relative; overflow: hidden; }
.box-lid::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0px, transparent 5px, rgba(0,0,0,0.07) 5px, rgba(0,0,0,0.07) 6px); }
.box-lid::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: rgba(0,0,0,0.25); }
.box-face { width: 100%; background: #283e2a; background-image: repeating-linear-gradient(0deg, transparent 0px, transparent 7px, rgba(0,0,0,0.055) 7px, rgba(0,0,0,0.055) 8px); padding: 14px 16px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position: relative; }
.box-face::after { content: ''; position: absolute; bottom: -1px; left: 50%; transform: translateX(-50%); width: 28px; height: 8px; background: rgba(0,0,0,0.2); border-radius: 8px 8px 0 0; }
.box-brand { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 23px; color: #c8a870; line-height: 1; letter-spacing: -0.01em; }
.box-tagline { font-size: 7.5px; letter-spacing: 0.06em; color: rgba(200,168,112,0.7); margin-top: 2px; font-style: italic; }
.box-rule { width: 64px; height: 1px; background: rgba(200,168,112,0.28); margin: 8px auto; }
.box-item-name { font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(200,168,112,0.6); line-height: 1.4; }
.box-size-tag { font-size: 7px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(200,168,112,0.45); margin-top: 2px; }
.box-price-tag { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 13px; color: #c8a870; margin-top: 7px; }
.box-side { position: absolute; top: 18px; right: -7px; width: 7px; background: linear-gradient(180deg, #1c2e1e 0%, #162218 100%); background-image: repeating-linear-gradient(0deg, transparent 0px, transparent 7px, rgba(0,0,0,0.15) 7px, rgba(0,0,0,0.15) 8px); }

/* Box rotation variations */
.cart-box.rot-1 { transform: rotate(-5deg) translate(-6px, 6px); }
.cart-box.rot-2 { transform: rotate(4deg) translate(10px, -4px); }
.cart-box.rot-3 { transform: rotate(-2deg) translate(-2px, 10px); }
.cart-box.rot-4 { transform: rotate(6deg) translate(8px, 8px); }

/* Empty cart page state */
.empty-cart-page { display: none; flex-direction: column; align-items: center; justify-content: center; padding: 80px 48px; text-align: center; gap: 20px; }
.empty-cart-page.visible { display: flex; }
.empty-cart-page .empty-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 36px; color: #283e2a; letter-spacing: -0.02em; }
.empty-cart-page .empty-sub { font-size: 15px; color: rgba(40,62,42,0.6); line-height: 1.7; }

/* Right   summary panel */
.summary-panel { background: #283e2a; padding: 56px 40px 64px; display: flex; flex-direction: column; gap: 0; }
.summary-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(245,240,226,0.45); margin-bottom: 6px; }
.summary-heading { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 28px; color: #f5f0e2; letter-spacing: -0.01em; margin-bottom: 36px; }

/* Line items */
.summary-items { display: flex; flex-direction: column; gap: 0; margin-bottom: 28px; }
.summary-item { padding: 16px 0; border-bottom: 1px solid rgba(245,240,226,0.08); display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.summary-item:first-child { border-top: 1px solid rgba(245,240,226,0.08); }
.si-info { flex: 1; }
.si-name { font-size: 13px; color: #f5f0e2; font-weight: 700; letter-spacing: 0.02em; margin-bottom: 3px; }
.si-meta { font-size: 11px; letter-spacing: 0.06em; color: rgba(245,240,226,0.5); }
.si-qty { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,240,226,0.45); padding: 3px 8px; border: 1px solid rgba(245,240,226,0.15); display: flex; align-items: center; gap: 6px; }
.si-qty button { background: none; border: none; color: rgba(245,240,226,0.6); cursor: pointer; font-size: 14px; padding: 0; line-height: 1; }
.si-qty button:hover { color: #f5f0e2; }
.si-remove-btn { color: rgba(245,240,226,0.3) !important; margin-left: 4px; transition: color 0.2s; }
.si-remove-btn:hover { color: #e05060 !important; }
.si-qty-num { font-size: 13px; color: #f5f0e2; font-weight: 700; min-width: 16px; text-align: center; }
.si-price { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 16px; color: #f5f0e2; white-space: nowrap; }

/* Totals */
.summary-totals { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.total-row { display: flex; justify-content: space-between; align-items: center; }
.total-label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(245,240,226,0.55); }
.total-value { font-size: 13px; color: rgba(245,240,226,0.85); }
.total-row.grand { padding-top: 14px; border-top: 1px solid rgba(245,240,226,0.15); margin-top: 4px; }
.total-row.grand .total-label { font-size: 14px; color: #f5f0e2; font-weight: 700; }
.total-row.grand .total-value { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 26px; color: #f5f0e2; }
.hoppypay-row { font-size: 11px; letter-spacing: 0.04em; color: rgba(245,240,226,0.55); text-align: right; margin-top: -4px; }

/* Promo */
.promo-wrap { margin-bottom: 28px; }
.promo-toggle { background: none; border: none; cursor: pointer; padding: 0; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,240,226,0.45); display: flex; align-items: center; gap: 6px; transition: color 0.2s; }
.promo-toggle:hover { color: rgba(245,240,226,0.75); }
.promo-toggle-icon { font-size: 16px; line-height: 1; transition: transform 0.2s; }
.promo-toggle.open .promo-toggle-icon { transform: rotate(45deg); }
.promo-form { display: none; margin-top: 12px; }
.promo-form.open { display: flex; gap: 0; }
.promo-input { flex: 1; padding: 12px 14px; border: 1px solid rgba(245,240,226,0.2); border-right: none; background: rgba(245,240,226,0.06); color: #f5f0e2; font-size: 12px; letter-spacing: 0.06em; outline: none; }
.promo-input::placeholder { color: rgba(245,240,226,0.3); }
.promo-input:focus { border-color: rgba(245,240,226,0.4); }
.promo-apply { padding: 12px 18px; background: rgba(245,240,226,0.1); border: 1px solid rgba(245,240,226,0.2); color: #f5f0e2; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.promo-apply:hover { background: rgba(245,240,226,0.2); }
.promo-msg { font-size: 11px; color: #adad8c; margin-top: 6px; display: none; }
.promo-msg.visible { display: block; }

/* Checkout button */
/* ── CART DELIVERY DATE CONFIRMATION ── */
.cart-delivery-confirm { display:flex; align-items:flex-start; gap:14px; background:#283e2a; border-radius:12px; padding:18px 20px; margin-bottom:20px; }
.cart-delivery-confirm-icon { flex-shrink:0; width:38px; height:38px; background:rgba(245,240,226,0.14); border-radius:9px; display:flex; align-items:center; justify-content:center; }
.cart-delivery-confirm-icon svg { width:18px; height:18px; stroke:#f5f0e2; }
.cart-delivery-confirm-text { flex:1; }
.cart-delivery-confirm-heading { font-family:'Fraunces',Georgia,serif; font-weight:900; font-size:14px; color:#f5f0e2; margin:0 0 5px; letter-spacing:-0.01em; }
.cart-delivery-confirm-body { font-family:'Glacial Indifference',sans-serif; font-size:12.5px; color:rgba(245,240,226,0.78); margin:0; line-height:1.55; }
.cart-delivery-confirm-body strong { color:#f5f0e2; font-weight:700; }

.checkout-btn { width: 100%; padding: 20px; background: #f5f0e2; color: #283e2a; border: 2px solid #f5f0e2; font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; transition: all 0.28s; display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 20px; text-decoration: none; }
.checkout-btn:hover { background: transparent; color: #f5f0e2; }
.checkout-btn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Continue shopping */
.continue-link { display: block; text-align: center; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,240,226,0.4); transition: color 0.2s; margin-bottom: 28px; }
.continue-link:hover { color: rgba(245,240,226,0.75); }

/* Trust strip (cart) */
.trust-strip { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(245,240,226,0.08); }
.trust-strip .trust-item { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.06em; color: rgba(245,240,226,0.45); }
.trust-strip .trust-item svg { width: 16px; height: 16px; stroke: rgba(245,240,226,0.35); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* Upsell strip */
.upsell-strip { background: #fff; padding: 56px 64px; border-top: 1px solid rgba(40,62,42,0.07); }
.upsell-label { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(40,62,42,0.45); margin-bottom: 8px; }
.upsell-heading { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 28px; color: #283e2a; margin-bottom: 32px; letter-spacing: -0.01em; }
.upsell-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.upsell-card { cursor: pointer; }
.upsell-img { width: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; margin-bottom: 14px; }
.upsell-img--placeholder { background: #e8e0c8; }
.upsell-name { font-size: 14px; font-weight: 700; color: #283e2a; margin-bottom: 4px; }
.upsell-price { font-size: 12px; color: rgba(40,62,42,0.55); letter-spacing: 0.04em; }
.upsell-cta { display: inline-block; margin-top: 10px; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #283e2a; border-bottom: 1px solid rgba(40,62,42,0.3); padding-bottom: 2px; transition: border-color 0.2s; }
.upsell-card:hover .upsell-cta { border-color: #283e2a; }

/* ============================================================
   CATALOGUE / COLLECTION PAGE
============================================================ */

/* Collection grid */
/* ── COLLECTION PAGE ── */
.col-page { background: #f5f0e2; padding: 100px 32px 80px; max-width: 1200px; margin: 0 auto; }
.col-header { text-align: center; margin-bottom: 32px; }
.col-heading { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(28px, 4vw, 48px); color: #283e2a; line-height: 1.1; margin: 0; letter-spacing: -0.02em; }

/* ── FILTER PILLS ── */
.col-filters { display: flex; gap: 10px; flex-wrap: nowrap; justify-content: center; margin-bottom: 40px; overflow-x: auto; }
.col-filter { padding: 10px 22px; border-radius: 999px; border: 1.5px solid rgba(40,62,42,0.28); background: transparent; color: #283e2a; font-family: 'Glacial Indifference', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.col-filter:hover:not(.active) { border-color: #283e2a; background: rgba(40,62,42,0.06); }
.col-filter.active { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }

/* ── GRID ── */
.col-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }
@media (min-width: 900px) { .col-grid { grid-template-columns: repeat(3, 1fr); } }

/* ── CARD ── */
.col-card { display: flex; flex-direction: column; background: #fff; overflow: hidden; transition: opacity 0.25s; }
.col-card-img-link { display: block; text-decoration: none; overflow: hidden; }
.col-card-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #e8e0d0; }
.col-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.55s ease; }
.col-card-img-link:hover .col-card-img img { transform: scale(1.04); }
.col-card-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'Fraunces', serif; font-size: 24px; color: #283e2a; }
.col-card-body { padding: 16px 16px 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; background: #fff; }
.col-card-name { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.1em; color: rgba(40,62,42,0.55); line-height: 1.5; text-transform: uppercase; margin: 0; }
.col-card-price { font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: #283e2a; margin: 2px 0 0; font-weight: 900; letter-spacing: -0.01em; }
.col-card-btn { display: inline-block; margin-top: 14px; padding: 10px 24px; background: #283e2a; color: #f5f0e2; font-family: 'Glacial Indifference', sans-serif; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; border-radius: 999px; border: none; transition: background 0.2s, color 0.2s; }
.col-card-btn:hover { background: #c8a870; color: #283e2a; }

@media (max-width: 600px) {
  .col-page { padding: 80px 0 60px; }
  .col-header { padding: 0 20px; }
  .col-filters { padding: 0 16px; }
  .col-grid { gap: 2px; }
  .col-card-body { padding: 12px 12px 18px; }
  .col-card-price { font-size: 18px; }
}
.col-size-section { background: #f5f0e2; padding: 48px 24px 60px; border-top: 1px solid rgba(40,62,42,0.08); }
.col-size-heading { font-family: Arial, sans-serif; font-weight: 900; font-size: clamp(22px, 5vw, 36px); color: #1a1a1a; text-transform: uppercase; line-height: 1.1; margin-bottom: 28px; letter-spacing: -0.01em; }
.col-size-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.col-size-card { text-decoration: none; color: inherit; }
.col-size-card-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #e8e0d0; border-radius: 12px; }
.col-size-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.col-size-card:hover .col-size-card-img img { transform: scale(1.03); }
.col-size-card-name { font-family: Arial, sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; color: #1a1a1a; margin-top: 12px; line-height: 1.3; }

.cat-header { background: #283e2a; padding: 148px 48px 80px; text-align: center; }
.cat-header-script { font-family: 'Great Vibes', cursive; font-size: 24px; color: rgba(245,240,226,0.55); margin-bottom: 10px; }
.cat-header h1 { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(42px, 6vw, 72px); color: #f5f0e2; letter-spacing: -0.02em; line-height: 1; margin-bottom: 20px; }
.cat-header p { font-size: 16px; color: rgba(245,240,226,0.65); max-width: 480px; margin: 0 auto; line-height: 1.7; }

/* Catalogue section */
.cat-section { max-width: 1200px; margin: 0 auto; padding: 48px 48px 100px; }
.cat-pick-heading { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(22px, 4vw, 36px); color: #283e2a; text-align: center; margin-bottom: 32px; line-height: 1.2; }
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }

/* Product card */
.prod-card { background: #fff; display: flex; flex-direction: column; cursor: pointer; }
.prod-card:hover .prod-card-image img { transform: scale(1.03); }
.prod-card-image { width: 100%; aspect-ratio: 3/4; overflow: hidden; position: relative; background: #f0ebe0; }
.prod-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.prod-card-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'Great Vibes', cursive; font-size: 28px; color: rgba(245,240,226,0.5); }
.prod-card-badge { position: absolute; top: 12px; left: 12px; background: #adad8c; color: #283e2a; font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; padding: 4px 8px; }
.prod-card-body { padding: 12px 4px 8px; flex: 1; display: flex; flex-direction: column; gap: 2px; }
.prod-card-name { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 15px; color: #283e2a; line-height: 1.2; }
.prod-card-desc { display: none; }
.prod-card-price { font-size: 14px; color: #283e2a; margin-top: 4px; }
.prod-card-price strong { font-size: 15px; font-weight: 700; }
.prod-card-from { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(40,62,42,0.5); }
.prod-card-cta { margin: 8px 0 0; display: block; text-align: center; font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; padding: 12px 16px; background: #283e2a; color: #f5f0e2; border: none; transition: background 0.25s; }
.prod-card-cta:hover { background: #1a2e1c; }

/* Colour accents per card */
.card-accent-1 .prod-card-image-placeholder { background: #283e2a; }
.card-accent-2 .prod-card-image-placeholder { background: #4a3223; }
.card-accent-3 .prod-card-image-placeholder { background: #adad8c; }

/* Selling points strip */
.selling-strip { background: #283e2a; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.selling-item { padding: 40px 32px; border-right: 1px solid rgba(245,240,226,0.1); text-align: center; }
.selling-item:last-child { border-right: none; }
.selling-icon { font-size: 28px; margin-bottom: 12px; }
.selling-title { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #f5f0e2; font-weight: 700; margin-bottom: 6px; }
.selling-text { font-size: 12px; color: rgba(245,240,226,0.55); line-height: 1.6; }

/* Catalogue responsive */
@media (max-width: 900px) {
    .cat-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; }
    .cat-section { padding: 80px 0 80px; }
    .cat-header { padding: 120px 24px 60px; }
    .cat-pick-heading { font-size: 20px; margin-bottom: 20px; padding: 0 16px; }
    .prod-card-body { padding: 10px 8px 6px; }
    .prod-card-name { font-size: 13px; }
    .prod-card-cta { padding: 10px 8px; font-size: 9px; }
    .prod-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .prod-card:last-child:nth-child(odd) .prod-card-image { aspect-ratio: 16/9; }
    .selling-strip { grid-template-columns: repeat(2, 1fr); }
    .selling-item { border-right: none; border-bottom: 1px solid rgba(245,240,226,0.1); }
    .selling-item:nth-child(odd) { border-right: 1px solid rgba(245,240,226,0.1); }
}

/* Cart responsive */
@media (max-width: 1024px) {
    .cart-layout { grid-template-columns: 1fr; }
    .summary-panel { padding: 40px 32px 56px; }
    .basket-side { padding: 40px 24px 56px; }
}
@media (max-width: 768px) {
    /* Scale down boxes so they fit comfortably in the basket on mobile */
    .cart-box { width: 106px; }
    .box-lid { height: 13px; }
    .box-face { padding: 10px 10px 9px; }
    .box-brand { font-size: 9px; letter-spacing: 0.14em; }
    .box-tagline { font-size: 7px; letter-spacing: 0.06em; }
    .box-rule { margin: 5px 0; }
    .box-item-name { font-size: 10px; }
    .box-size-tag { font-size: 8px; }
    .box-price-tag { font-size: 10px; }
    .box-side { width: 5px; right: -5px; }
    /* Touch-friendly drag hint */
    .drag-hint::before { content: ''; }
    .drag-hint { font-size: 10px; }
    /* Remove zone more prominent on mobile */
    .remove-zone { padding: 16px 28px; font-size: 12px; }
}
@media (max-width: 480px) {
    .cart-box { width: 88px; }
    .box-face { padding: 8px 8px 7px; }
    .box-brand { font-size: 8px; }
    .box-item-name { font-size: 9px; }
    .box-price-tag { font-size: 9px; }
    .basket-side { padding: 32px 16px 48px; }
}
@media (max-width: 640px) {
    .upsell-grid { grid-template-columns: 1fr; max-width: 360px; }
    .upsell-strip { padding: 40px 24px; }
    .breadcrumb-inner { padding: 14px 20px; }
}

/* ============================================================
   PRODUCT PAGE   BREADCRUMB
============================================================ */
.pdp-breadcrumb {
    padding: 96px 48px 0;
    max-width: 1240px; margin: 0 auto;
}
.pdp-breadcrumb-inner {
    display: flex; align-items: center; gap: 8px;
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
    color: rgba(40,62,42,0.45);
}
.pdp-breadcrumb-inner a { color: rgba(40,62,42,0.45); transition: color 0.2s; }
.pdp-breadcrumb-inner a:hover { color: #283e2a; }
.pdp-breadcrumb-inner span { color: #283e2a; }
.pdp-breadcrumb-sep { color: rgba(40,62,42,0.3); }

/* ============================================================
   PRODUCT PAGE   LAYOUT
============================================================ */
.pdp-page {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    max-width: 1240px;
    margin: 0 auto;
    padding: 28px 48px 100px;
    align-items: start;
}

/* ── GALLERY ── */
.pdp-gallery { position: sticky; top: 96px; }
.pdp-main-img {
    width: 100%; aspect-ratio: 1 / 1;
    overflow: hidden; background: #e8e1cc;
    margin-bottom: 12px; cursor: zoom-in; position: relative;
}
.pdp-main-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 0.22s ease; }
.pdp-img-placeholder {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 16px; background: #283e2a;
}
.pdp-img-placeholder .ph-label {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 48px; color: rgba(245,240,226,0.2); text-align: center; line-height: 1.1;
}
.pdp-img-placeholder .ph-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(245,240,226,0.3);
}
.pdp-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.pdp-thumb {
    width: calc(16.666% - 7px); aspect-ratio: 1 / 1;
    padding: 0; border: 2px solid transparent;
    cursor: pointer; background: #e8e1cc;
    transition: border-color 0.2s; overflow: hidden;
}
.pdp-thumb:hover:not(.active) { border-color: rgba(40,62,42,0.3); }
.pdp-thumb.active { border-color: #283e2a; }
.pdp-thumb .thumb-inner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
/* ── GALLERY ARROWS ── */
.pdp-arr {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(40,62,42,0.72); border: none; color: #f5f0e2;
  width: 40px; height: 40px; border-radius: 50%;
  font-size: 24px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 10; transition: background 0.2s; padding: 0;
}
.pdp-arr:hover { background: rgba(40,62,42,0.95); }
.pdp-arr-prev { left: 12px; }
.pdp-arr-next { right: 12px; }
.thumb-choc    { background: linear-gradient(135deg, #3a2010, #1a0e08); }
.thumb-nutella { background: linear-gradient(135deg, #5c2e10, #2a1208); }
.thumb-biscoff { background: linear-gradient(135deg, #c89040, #7a5010); }
.thumb-oreo    { background: linear-gradient(135deg, #1a1a1a, #0a0a0a); }
.thumb-gift    { background: linear-gradient(135deg, #283e2a, #1a2e1c); }
.thumb-box     { background: linear-gradient(135deg, #adad8c, #7a7a5c); }
.thumb-inner span {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 10px; color: rgba(245,240,226,0.5);
    letter-spacing: 0.05em; text-align: center; padding: 2px;
}

/* ── INFO PANEL ── */
.pdp-info { padding-top: 4px; }
.pdp-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(26px, 3vw, 42px); line-height: 1.05;
    color: #283e2a; text-transform: uppercase; letter-spacing: 0.025em; margin-bottom: 14px;
}
.pdp-stars { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.pdp-stars .stars { color: #c8a050; font-size: 15px; letter-spacing: 2px; }
.pdp-review-count { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; color: rgba(40,62,42,0.5); letter-spacing: 0.04em; }
.pdp-price { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 28px; color: #283e2a; margin-bottom: 5px; }
.pdp-payflex { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; color: rgba(40,62,42,0.5); margin-bottom: 24px; }
.pdp-divider { height: 1px; background: rgba(40,62,42,0.12); margin: 22px 0; }

/* ── FORM FIELDS ── */
.pdp-field { margin-bottom: 24px; }
.pdp-label {
    display: block;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px; letter-spacing: 0.16em;
    text-transform: uppercase; color: #283e2a; margin-bottom: 8px;
}
.pdp-selected-val { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 11px; color: rgba(40,62,42,0.5); margin-left: 6px; }
.pdp-field-note { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; color: rgba(40,62,42,0.5); margin-bottom: 14px; line-height: 1.45; }
.pdp-optional { font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 10px; color: rgba(40,62,42,0.4); }
.pdp-req { color: #b94050; margin-left: 2px; }
.pdp-input-wrap { position: relative; margin-bottom: 10px; }
.pdp-input {
    width: 100%; padding: 13px 52px 13px 16px;
    border: 1px solid rgba(40,62,42,0.22); background: #fff;
    color: #283e2a; font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; outline: none; transition: border-color 0.2s;
}
.pdp-input:focus { border-color: #283e2a; }
.pdp-input::placeholder { color: rgba(40,62,42,0.3); }
.pdp-char-count {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 11px; color: rgba(40,62,42,0.3); pointer-events: none;
}
.pdp-textarea {
    width: 100%; padding: 13px 16px; min-height: 88px;
    border: 1px solid rgba(40,62,42,0.22); background: #fff;
    color: #283e2a; font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; outline: none; transition: border-color 0.2s;
    resize: vertical; line-height: 1.55;
}
.pdp-textarea:focus { border-color: #283e2a; }
.pdp-textarea::placeholder { color: rgba(40,62,42,0.3); }

/* ── BOX SIZE variant buttons ── */
.pdp-variant-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-variant-btn {
    padding: 12px 20px;
    border: 1px solid rgba(40,62,42,0.22); background: #fff;
    color: #283e2a; font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px; letter-spacing: 0.1em;
    text-transform: uppercase; cursor: pointer; transition: all 0.2s;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.pdp-variant-btn .vbtn-price { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 14px; letter-spacing: 0; text-transform: none; color: rgba(40,62,42,0.65); }
.pdp-variant-btn.active { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }
.pdp-variant-btn.active .vbtn-price { color: rgba(245,240,226,0.7); }
.pdp-variant-btn:hover:not(.active) { border-color: #283e2a; }

/* ── FLAVOUR dropdown ── */
.pdp-select {
    width: 100%; padding: 13px 40px 13px 16px;
    border: 1px solid rgba(40,62,42,0.22); background: #fff;
    color: #283e2a; font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; outline: none; cursor: pointer; transition: border-color 0.2s;
    appearance: none; -webkit-appearance: none;
    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='%23283e2a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 16px center;
}
.pdp-select:focus { border-color: #283e2a; }

/* ── TOPPING SWATCHES ── */
.pdp-field-sublabel { font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(40,62,42,0.42); margin-bottom: 12px; margin-top: -4px; }
.pdp-swatches { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding-bottom: 4px; }
.pdp-swatch { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; background: none; border: none; padding: 0; transition: transform 0.15s; flex-shrink: 0; min-width: 60px; }
.pdp-swatch:hover { transform: scale(1.06); }
.swatch-circle { width: 56px; height: 56px; border-radius: 50%; border: 2px solid rgba(40,62,42,0.15); transition: border-color 0.2s, border-width 0.15s; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.swatch-circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-swatch.active .swatch-circle { border-color: #283e2a; border-width: 3px; }
.swatch-none-icon { font-size: 20px; color: rgba(40,62,42,0.35); line-height: 1; }
.swatch-label { font-family: 'Glacial Indifference', sans-serif; font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(40,62,42,0.55); text-align: center; max-width: 60px; line-height: 1.3; }
.pdp-swatch.active .swatch-label { color: #283e2a; font-weight: 700; }

/* ── QUANTITY ── */
.pdp-qty-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.pdp-qty-row .pdp-label { margin-bottom: 0; }
.pdp-qty { display: flex; border: 1px solid rgba(40,62,42,0.22); }
.pdp-qty button { width: 44px; height: 44px; background: none; border: none; font-size: 22px; color: #283e2a; cursor: pointer; font-family: 'Fraunces', serif; font-weight: 900; transition: background 0.15s; line-height: 1; display: flex; align-items: center; justify-content: center; }
.pdp-qty button:hover { background: rgba(40,62,42,0.07); }
.pdp-qty input { width: 52px; height: 44px; text-align: center; border: none; border-left: 1px solid rgba(40,62,42,0.15); border-right: 1px solid rgba(40,62,42,0.15); font-family: 'Fraunces', serif; font-weight: 900; font-size: 16px; color: #283e2a; background: transparent; }

/* ── ADD TO CART ── */
.pdp-atc {
    width: 100%; padding: 18px 24px; font-size: 13px;
    letter-spacing: 0.16em; margin-top: 8px; margin-bottom: 22px;
    display: block; text-align: center; cursor: pointer;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; text-transform: uppercase;
    background: #283e2a; color: #f5f0e2; border: 2px solid #283e2a;
    transition: all 0.28s ease;
}
.pdp-atc:hover { background: transparent; color: #283e2a; }
.pdp-atc.added { background: #adad8c; border-color: #adad8c; color: #283e2a; }

/* ── DELIVERY DATE BANNER ── */
.pdp-delivery-banner { background:#283e2a; border-radius:12px; padding:18px 20px 16px; margin-bottom:28px; color:#f5f0e2; }
.pdp-delivery-banner-top { display:flex; align-items:flex-start; gap:14px; }
.pdp-delivery-icon { flex-shrink:0; width:40px; height:40px; background:rgba(245,240,226,0.14); border-radius:9px; display:flex; align-items:center; justify-content:center; }
.pdp-delivery-icon svg { width:20px; height:20px; stroke:#f5f0e2; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.pdp-delivery-text { flex:1; }
.pdp-delivery-heading { font-family:'Fraunces',serif; font-weight:900; font-size:16px; color:#f5f0e2; margin:0 0 4px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pdp-delivery-optional { font-family:'Glacial Indifference',sans-serif; font-size:9px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; background:rgba(245,240,226,0.18); color:rgba(245,240,226,0.75); padding:2px 8px; border-radius:20px; }
.pdp-delivery-desc { font-family:'Glacial Indifference',sans-serif; font-size:13px; color:rgba(245,240,226,0.78); margin:0; line-height:1.45; }
.pdp-delivery-expand { flex-shrink:0; background:none; border:none; cursor:pointer; padding:4px; display:flex; align-items:center; justify-content:center; color:rgba(245,240,226,0.6); transition:color 0.2s, transform 0.25s; }
.pdp-delivery-expand svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; }
.pdp-delivery-expand.open { transform:rotate(180deg); color:#f5f0e2; }
.pdp-delivery-picker { display:none; margin-top:16px; padding-top:16px; border-top:1px solid rgba(245,240,226,0.15); }
.pdp-delivery-picker.open { display:block; }
.pdp-delivery-picker label { font-family:'Glacial Indifference',sans-serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(245,240,226,0.65); display:block; margin-bottom:8px; }
.pdp-delivery-note { font-family:'Glacial Indifference',sans-serif; font-size:11.5px; color:rgba(245,240,226,0.55); margin:10px 0 0; line-height:1.45; }

/* ── BROEKIE CUSTOM CALENDAR ── */
.broekie-cal-trigger { display:flex; align-items:center; gap:10px; background:rgba(245,240,226,0.12); border:1.5px solid rgba(245,240,226,0.28); border-radius:10px; padding:12px 14px; cursor:pointer; transition:border-color 0.2s, background 0.2s; user-select:none; }
.broekie-cal-trigger:hover { border-color:rgba(245,240,226,0.65); background:rgba(245,240,226,0.18); }
.broekie-cal-trigger.selected { border-color:rgba(245,240,226,0.75); background:rgba(245,240,226,0.2); }
.broekie-cal-icon { flex-shrink:0; color:rgba(245,240,226,0.75); display:flex; }
.broekie-cal-icon svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.broekie-cal-label { flex:1; font-family:'Glacial Indifference',sans-serif; font-size:14px; color:rgba(245,240,226,0.7); }
.broekie-cal-trigger.selected .broekie-cal-label { color:#f5f0e2; }
.broekie-cal-chevron { flex-shrink:0; color:rgba(245,240,226,0.55); display:flex; transition:transform 0.22s; }
.broekie-cal-chevron svg { width:14px; height:14px; stroke:currentColor; fill:none; }
.broekie-cal-trigger.open .broekie-cal-chevron { transform:rotate(180deg); }
.broekie-cal-popup { display:none; margin-top:10px; background:#1e3020; border-radius:12px; padding:16px 14px 14px; border:1.5px solid rgba(245,240,226,0.18); }
.broekie-cal-popup.open { display:block; }
.broekie-cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.broekie-cal-month { font-family:'Fraunces',Georgia,serif; font-weight:900; font-size:15px; color:#f5f0e2; letter-spacing:-0.01em; }
.broekie-cal-nav { background:none; border:none; cursor:pointer; color:rgba(245,240,226,0.65); font-size:22px; line-height:1; padding:0 6px; transition:color 0.2s; font-family:'Fraunces',serif; }
.broekie-cal-nav:hover { color:#f5f0e2; }
.broekie-cal-nav:disabled { opacity:0.25; cursor:default; }
.broekie-cal-weekdays { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; margin-bottom:6px; }
.broekie-cal-weekdays span { font-family:'Glacial Indifference',sans-serif; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(245,240,226,0.45); padding:4px 0; }
.broekie-cal-days { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.broekie-cal-day { background:none; border:none; border-radius:7px; font-family:'Glacial Indifference',sans-serif; font-size:13px; color:rgba(245,240,226,0.82); cursor:pointer; padding:7px 0; text-align:center; transition:background 0.15s, color 0.15s; line-height:1; }
.broekie-cal-day:hover:not(:disabled) { background:rgba(245,240,226,0.14); color:#f5f0e2; }
.broekie-cal-day.selected { background:#f5f0e2; color:#283e2a; font-weight:700; }
.broekie-cal-day:disabled { color:rgba(245,240,226,0.22); cursor:default; }
.broekie-cal-day.empty { visibility:hidden; cursor:default; }
.pdp-delivery-default { margin-top:14px; padding-top:14px; border-top:1px solid rgba(245,240,226,0.12); display:flex; align-items:center; gap:8px; font-family:'Glacial Indifference',sans-serif; font-size:12px; color:rgba(245,240,226,0.55); }
.pdp-delivery-default svg { width:14px; height:14px; stroke:rgba(245,240,226,0.45); fill:none; stroke-width:2; flex-shrink:0; }

/* ── QUANTITY (alt style for classic PDP) ── */
.qty-wrap { display: flex; align-items: center; border: 1px solid rgba(40,62,42,0.22); }
.qty-btn { width: 44px; height: 44px; background: none; border: none; font-size: 22px; color: #283e2a; cursor: pointer; font-family: 'Fraunces', serif; font-weight: 900; transition: background 0.15s; line-height: 1; display: flex; align-items: center; justify-content: center; }
.qty-btn:hover { background: rgba(40,62,42,0.07); }
.qty-display { width: 52px; height: 44px; display: flex; align-items: center; justify-content: center; border-left: 1px solid rgba(40,62,42,0.15); border-right: 1px solid rgba(40,62,42,0.15); font-family: 'Fraunces', serif; font-weight: 900; font-size: 16px; color: #283e2a; }

/* ── ATC CONFIRM ── */
.atc-confirm { display: none; font-family: 'Glacial Indifference', sans-serif; font-size: 13px; color: rgba(40,62,42,0.7); text-align: center; padding: 12px; background: rgba(40,62,42,0.06); border-radius: 2px; margin-top: -10px; margin-bottom: 20px; }
.atc-confirm.show { display: block; }
.atc-confirm a { color: #283e2a; }

/* ── PDP VALIDATION ERROR ── */
.pdp-error { display: none; font-family: 'Glacial Indifference', sans-serif; font-size: 12px; color: #c0392b; letter-spacing: 0.04em; padding: 10px 14px; background: rgba(192,57,43,0.06); border-left: 3px solid #c0392b; margin-bottom: 4px; }
.pdp-error.show { display: block; }

/* ── FLAVOUR CHECKBOX GRID ── */
.flavour-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.flavour-check-label { display: flex; align-items: center; gap: 12px; cursor: pointer; padding: 14px 16px; border: 1.5px solid rgba(40,62,42,0.2); transition: all 0.2s; user-select: none; }
.flavour-check-label:hover { border-color: #283e2a; }
.flavour-check-label input[type="checkbox"] { display: none; }
.flavour-check-box { width: 20px; height: 20px; flex-shrink: 0; border: 1.5px solid rgba(40,62,42,0.3); display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
.flavour-check-label.checked .flavour-check-box { background: #283e2a; border-color: #283e2a; }
.flavour-check-label.checked .flavour-check-box::after { content: '✓'; color: #f5f0e2; font-size: 12px; font-weight: 700; }
.flavour-check-label.checked { border-color: #283e2a; background: rgba(40,62,42,0.04); }
.flavour-check-name { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #283e2a; }

/* ── FLAVOUR PROFILES SECTION ── */
.flavour-profiles { background: #fff; padding: 64px 48px; }
.flavour-profiles-inner { max-width: 960px; margin: 0 auto; }
.fp-header { text-align: center; margin-bottom: 48px; }
.fp-label { font-family: 'Glacial Indifference', sans-serif; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(40,62,42,0.5); margin-bottom: 8px; }
.fp-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(26px, 3vw, 38px); color: #283e2a; }
.fp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.fp-card { padding: 28px 20px; border: 1px solid rgba(40,62,42,0.08); text-align: center; }
.fp-swatch { width: 48px; height: 48px; margin: 0 auto 16px; }
.fp-name { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 16px; margin-bottom: 8px; color: #283e2a; }
.fp-desc { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; line-height: 1.7; color: rgba(40,62,42,0.65); }

/* ── TRUST BADGES ── */
.pdp-trust { display: flex; flex-wrap: wrap; gap: 12px 20px; padding-top: 20px; border-top: 1px solid rgba(40,62,42,0.1); }
.trust-item { display: flex; align-items: center; gap: 8px; font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(40,62,42,0.5); letter-spacing: 0.04em; }
.trust-item svg { width: 16px; height: 16px; stroke: rgba(40,62,42,0.4); fill: none; stroke-width: 1.5; flex-shrink: 0; }
.trust-badges { display: flex; flex-wrap: wrap; gap: 10px 20px; padding-top: 20px; border-top: 1px solid rgba(40,62,42,0.1); margin-bottom: 4px; }
.trust-badge { display: flex; align-items: center; gap: 8px; font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(40,62,42,0.5); letter-spacing: 0.04em; text-transform: uppercase; }
.trust-badge-icon { width: 16px; height: 16px; stroke: rgba(40,62,42,0.4); fill: none; stroke-width: 1.5; flex-shrink: 0; }

/* ============================================================
   BROEKIES PRESENTS
============================================================ */
.pdp-presents { border-top: 1px solid rgba(40,62,42,0.12); border-bottom: 1px solid rgba(40,62,42,0.12); background: #f5f0e2; }
.pdp-presents-inner { max-width: 1240px; margin: 0 auto; padding: 56px 48px; }
.pdp-presents-title { font-family: 'Glacial Indifference', 'Century Gothic', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: #283e2a; margin-bottom: 20px; }
.pdp-presents-inner p { font-family: 'Glacial Indifference', sans-serif; font-size: 15px; line-height: 1.75; color: rgba(40,62,42,0.72); margin-bottom: 16px; max-width: 860px; }
.pdp-presents-inner p:last-child { margin-bottom: 0; }

/* ============================================================
   MORE INFO TABS
============================================================ */
.pdp-tabs-section { background: #f5f0e2; border-top: 1px solid rgba(40,62,42,0.12); padding: 64px 48px; }
.pdp-tabs-inner { max-width: 1240px; margin: 0 auto; }
.pdp-tabs-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(22px, 2.5vw, 32px); color: #283e2a; text-transform: uppercase; letter-spacing: 0.03em; text-align: center; margin-bottom: 40px; }
.pdp-tab-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.pdp-tab-btn { flex: 1; min-width: 120px; padding: 16px 12px; background: #ede8d5; color: #283e2a; border: none; cursor: pointer; font-family: 'Glacial Indifference', 'Century Gothic', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; transition: background 0.22s, color 0.22s; border-radius: 2px; }
.pdp-tab-btn:hover:not(.active) { background: #e0d9c4; }
.pdp-tab-btn.active { background: #283e2a; color: #f5f0e2; }
.pdp-tab-content { display: none; }
.pdp-tab-content.active { display: block; }
.pdp-tab-content p { font-family: 'Glacial Indifference', sans-serif; font-size: 15px; line-height: 1.78; color: rgba(40,62,42,0.72); margin-bottom: 16px; max-width: 860px; }
.pdp-tab-content p:last-child { margin-bottom: 0; }
.pdp-tab-content p strong { color: #283e2a; font-weight: 700; }
.pdp-tab-content ul { list-style: none; padding: 0; margin: 0 0 16px; max-width: 860px; }
.pdp-tab-content ul li { font-family: 'Glacial Indifference', sans-serif; font-size: 15px; line-height: 1.78; color: rgba(40,62,42,0.72); padding: 6px 0; display: flex; align-items: flex-start; gap: 10px; }
.pdp-tab-content ul li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #adad8c; flex-shrink: 0; margin-top: 9px; }

/* ============================================================
   PRODUCT REVIEWS
============================================================ */
.pdp-reviews { background: #fff; border-top: 1px solid rgba(40,62,42,0.1); padding: 72px 48px 80px; }
.reviews-inner { max-width: 1240px; margin: 0 auto; }
.reviews-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 44px; }
.reviews-label { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(40,62,42,0.4); margin-bottom: 8px; }
.reviews-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(22px, 3vw, 34px); color: #283e2a; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 14px; line-height: 1.05; }
.reviews-summary { display: flex; align-items: center; gap: 14px; }
.reviews-avg { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 48px; color: #283e2a; line-height: 1; }
.reviews-stars-lg { color: #c8a050; font-size: 20px; letter-spacing: 3px; display: block; margin-bottom: 3px; }
.reviews-count { font-family: 'Glacial Indifference', sans-serif; font-size: 12px; color: rgba(40,62,42,0.45); letter-spacing: 0.06em; }
.reviews-all-link { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(40,62,42,0.5); text-decoration: underline; text-underline-offset: 4px; transition: color 0.2s; white-space: nowrap; }
.reviews-all-link:hover { color: #283e2a; }
.reviews-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; cursor: grab; padding-bottom: 16px; scrollbar-width: thin; scrollbar-color: rgba(40,62,42,0.15) transparent; }
.reviews-track::-webkit-scrollbar { height: 4px; }
.reviews-track::-webkit-scrollbar-thumb { background: rgba(40,62,42,0.15); }
.reviews-track.grabbing { cursor: grabbing; user-select: none; }
.review-card { flex: 0 0 300px; scroll-snap-align: start; background: #f9f6ee; padding: 26px 24px; display: flex; flex-direction: column; border: 1px solid rgba(40,62,42,0.07); }
.review-stars { color: #c8a050; font-size: 13px; letter-spacing: 2px; margin-bottom: 12px; }
.review-headline { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 15px; color: #283e2a; margin-bottom: 10px; line-height: 1.2; }
.review-text { font-family: 'Glacial Indifference', sans-serif; font-size: 13px; line-height: 1.72; color: rgba(40,62,42,0.68); flex: 1; margin-bottom: 18px; }
.review-footer { border-top: 1px solid rgba(40,62,42,0.08); padding-top: 13px; }
.review-author { font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #283e2a; margin-bottom: 4px; }
.review-meta { font-family: 'Glacial Indifference', sans-serif; font-size: 11px; color: rgba(40,62,42,0.38); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.review-verified { background: rgba(40,62,42,0.08); color: #283e2a; font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 7px; }
.reviews-footer { display: flex; justify-content: center; margin-top: 44px; }
.reviews-show-more { display: inline-flex; align-items: center; gap: 10px; padding: 16px 44px; border: 1px solid rgba(40,62,42,0.25); background: transparent; font-family: 'Glacial Indifference', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #283e2a; cursor: pointer; transition: all 0.25s; text-decoration: none; }
.reviews-show-more:hover { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }
.reviews-show-more svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s; }
.reviews-show-more:hover svg { transform: translateX(3px); }

/* ============================================================
   CORPORATE PAGE
============================================================ */

/* Reveal delays */
.reveal-delay-1 { transition-delay: 0.12s; }
.reveal-delay-2 { transition-delay: 0.24s; }
.reveal-delay-3 { transition-delay: 0.36s; }
.reveal-delay-4 { transition-delay: 0.48s; }

/* Section labels */
.section-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #adad8c; margin-bottom: 16px; }
.section-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(30px, 4vw, 52px); line-height: 1.08; letter-spacing: -0.02em; color: #283e2a; margin-bottom: 20px; }
.section-title.ivory { color: #f5f0e2; }
.section-sub { font-size: 16px; color: rgba(40,62,42,0.6); line-height: 1.7; max-width: 560px; }
.section-sub.ivory { color: rgba(245,240,226,0.62); }

/* Hero */
.corp-hero { background: #283e2a; padding: 160px 48px 120px; text-align: center; position: relative; overflow: hidden; }
.corp-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 60% 40%, rgba(200,168,112,0.08) 0%, transparent 65%), radial-gradient(ellipse at 20% 80%, rgba(173,173,140,0.06) 0%, transparent 50%); }
.corp-hero-eyebrow { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #c8a870; margin-bottom: 28px; position: relative; }
.corp-hero h1 { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(42px, 7vw, 88px); line-height: 1.0; letter-spacing: -0.025em; color: #f5f0e2; max-width: 900px; margin: 0 auto 28px; position: relative; }
.corp-hero h1 em { font-style: italic; color: #c8a870; }
.corp-hero-sub { font-size: clamp(15px, 1.6vw, 18px); color: rgba(245,240,226,0.65); max-width: 560px; margin: 0 auto 52px; line-height: 1.7; letter-spacing: 0.02em; position: relative; }
.corp-hero-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; }

/* Trust bar */
.trust-bar { background: #1f2f21; padding: 32px 48px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(200,168,112,0.15); }
.trust-bar-item { display: flex; align-items: center; gap: 16px; padding: 0 32px; border-right: 1px solid rgba(245,240,226,0.08); }
.trust-bar-item:first-child { padding-left: 0; }
.trust-bar-item:last-child { border-right: none; }
.trust-bar-icon { width: 38px; height: 38px; flex-shrink: 0; opacity: 0.8; }
.trust-bar-icon svg { width: 38px; height: 38px; stroke: #c8a870; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.trust-bar-label { font-size: 12px; letter-spacing: 0.06em; color: rgba(245,240,226,0.55); text-transform: uppercase; margin-bottom: 3px; }
.trust-bar-value { font-size: 15px; color: #f5f0e2; letter-spacing: 0.02em; }

/* Occasions */
.occasions-section { background: #f5f0e2; padding: 100px 48px; max-width: 1280px; margin: 0 auto; }
.occasions-header { text-align: center; margin-bottom: 64px; }
.occasions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.occasion-card { background: #ede9d8; padding: 44px 36px; transition: background 0.28s ease; cursor: default; }
.occasion-card:hover { background: #283e2a; }
.occasion-card:hover .occasion-icon svg { stroke: #c8a870; }
.occasion-card:hover .occasion-title { color: #f5f0e2; }
.occasion-card:hover .occasion-text { color: rgba(245,240,226,0.62); }
.occasion-icon { margin-bottom: 20px; }
.occasion-icon svg { width: 32px; height: 32px; stroke: #adad8c; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.28s ease; }
.occasion-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 20px; color: #283e2a; margin-bottom: 10px; letter-spacing: -0.01em; transition: color 0.28s ease; }
.occasion-text { font-size: 14px; color: rgba(40,62,42,0.58); line-height: 1.65; transition: color 0.28s ease; }

/* Packages */
.packages-section { background: #283e2a; padding: 100px 48px; }
.packages-inner { max-width: 1280px; margin: 0 auto; }
.packages-header { text-align: center; margin-bottom: 64px; }
.packages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.pkg-card { background: rgba(245,240,226,0.05); border: 1px solid rgba(245,240,226,0.1); padding: 40px 32px 44px; display: flex; flex-direction: column; transition: background 0.28s ease, border-color 0.28s ease; position: relative; }
.pkg-card:hover { background: rgba(245,240,226,0.1); border-color: rgba(200,168,112,0.3); }
.pkg-card.featured { background: rgba(200,168,112,0.12); border-color: rgba(200,168,112,0.4); }
.pkg-badge { position: absolute; top: -1px; left: 50%; transform: translateX(-50%); background: #c8a870; color: #283e2a; font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 18px; }
.pkg-tier { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #c8a870; margin-bottom: 12px; }
.pkg-name { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 26px; color: #f5f0e2; letter-spacing: -0.01em; margin-bottom: 8px; }
.pkg-qty { font-size: 13px; color: rgba(245,240,226,0.5); margin-bottom: 28px; }
.pkg-price-label { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,240,226,0.4); margin-bottom: 6px; }
.pkg-price { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 38px; color: #f5f0e2; letter-spacing: -0.02em; margin-bottom: 4px; }
.pkg-price span { font-size: 20px; }
.pkg-per { font-size: 12px; color: rgba(245,240,226,0.4); margin-bottom: 32px; }
.pkg-divider { border: none; border-top: 1px solid rgba(245,240,226,0.1); margin-bottom: 28px; }
.pkg-features { list-style: none; display: flex; flex-direction: column; gap: 12px; flex: 1; margin-bottom: 36px; }
.pkg-features li { font-size: 13.5px; color: rgba(245,240,226,0.72); display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.pkg-features li::before { content: '✦'; color: #c8a870; font-size: 9px; margin-top: 4px; flex-shrink: 0; }
.pkg-cta { display: block; text-align: center; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; padding: 15px; border: 1.5px solid rgba(245,240,226,0.3); color: #f5f0e2; transition: all 0.25s ease; }
.pkg-cta:hover { background: #f5f0e2; color: #283e2a; border-color: #f5f0e2; }
.pkg-card.featured .pkg-cta { background: #c8a870; color: #283e2a; border-color: #c8a870; }
.pkg-card.featured .pkg-cta:hover { background: transparent; color: #c8a870; }

/* Customisation */
.custom-section { background: #f5f0e2; padding: 100px 48px; }
.custom-inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.custom-visual { background: #283e2a; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.custom-visual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 40% 40%, rgba(200,168,112,0.12) 0%, transparent 60%); }
.custom-box-mock { text-align: center; position: relative; z-index: 1; }
.custom-box-mock-lid { width: 200px; height: 24px; background: linear-gradient(#3d5e40, #304a33); margin: 0 auto; }
.custom-box-mock-face { width: 200px; background: #283e2a; border: 1px solid rgba(200,168,112,0.3); padding: 28px 20px 24px; }
.custom-box-brand { font-family: 'Fraunces', Georgia, serif; font-size: 28px; font-weight: 900; color: #c8a870; margin-bottom: 4px; }
.custom-box-tagline { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(200,168,112,0.5); margin-bottom: 14px; }
.custom-box-divider { border: none; border-top: 1px solid rgba(200,168,112,0.25); margin-bottom: 14px; }
.custom-logo-area { border: 1px dashed rgba(200,168,112,0.35); padding: 14px 20px; }
.custom-logo-text { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(200,168,112,0.45); }
.custom-items { display: flex; flex-direction: column; gap: 0; }
.custom-item { padding: 28px 0; border-bottom: 1px solid rgba(40,62,42,0.1); display: flex; gap: 24px; align-items: flex-start; }
.custom-item:first-child { border-top: 1px solid rgba(40,62,42,0.1); }
.custom-item-num { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 36px; color: rgba(40,62,42,0.12); line-height: 1; flex-shrink: 0; width: 44px; }
.custom-item-title { font-size: 16px; font-weight: 700; color: #283e2a; margin-bottom: 6px; letter-spacing: 0.01em; }
.custom-item-text { font-size: 14px; color: rgba(40,62,42,0.58); line-height: 1.65; }

/* Process */
.process-section { background: #f3ecd1; padding: 100px 48px; }
.process-inner { max-width: 1100px; margin: 0 auto; }
.process-header { text-align: center; margin-bottom: 72px; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; position: relative; }
.process-steps::before { content: ''; position: absolute; top: 36px; left: 12.5%; right: 12.5%; height: 1px; background: rgba(40,62,42,0.15); z-index: 0; }
.process-step { background: #f3ecd1; padding: 0 28px 0; text-align: center; position: relative; z-index: 1; }
.process-num { width: 72px; height: 72px; background: #283e2a; color: #c8a870; font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 28px; display: flex; align-items: center; justify-content: center; margin: 0 auto 28px; border-radius: 50%; }
.process-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 18px; color: #283e2a; margin-bottom: 12px; letter-spacing: -0.01em; }
.process-text { font-size: 13.5px; color: rgba(40,62,42,0.6); line-height: 1.7; }
.process-promise { text-align: center; margin-top: 56px; padding: 28px 40px; background: #283e2a; display: inline-block; width: 100%; }
.process-promise p { font-size: 14px; color: rgba(245,240,226,0.7); letter-spacing: 0.04em; }
.process-promise strong { color: #c8a870; }

/* Testimonials (corporate) */
.testimonials-section { background: #283e2a; padding: 100px 48px; }
.testimonials-inner { max-width: 1280px; margin: 0 auto; }
.testimonials-header { text-align: center; margin-bottom: 64px; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.testi-card { background: rgba(245,240,226,0.05); border: 1px solid rgba(245,240,226,0.1); padding: 44px 36px; }
.testi-stars { color: #c8a870; font-size: 16px; letter-spacing: 3px; margin-bottom: 24px; }
.testi-quote { font-size: 15px; color: rgba(245,240,226,0.82); line-height: 1.75; margin-bottom: 32px; font-style: italic; }
.testi-quote::before { content: '\201C'; font-family: 'Fraunces', Georgia, serif; font-size: 48px; color: rgba(200,168,112,0.3); display: block; line-height: 0.8; margin-bottom: 14px; }
.testi-divider { border: none; border-top: 1px solid rgba(245,240,226,0.1); margin-bottom: 24px; }
.testi-name { font-size: 14px; color: #f5f0e2; font-weight: 700; margin-bottom: 4px; }
.testi-role { font-size: 12px; color: rgba(245,240,226,0.42); letter-spacing: 0.06em; text-transform: uppercase; }

/* FAQ */
.faq-section { background: #f5f0e2; padding: 100px 48px; }
.faq-inner { max-width: 860px; margin: 0 auto; }
.faq-header { text-align: center; margin-bottom: 64px; }
.faq-item { border-top: 1px solid rgba(40,62,42,0.12); }
.faq-item:last-child { border-bottom: 1px solid rgba(40,62,42,0.12); }
.faq-q { width: 100%; background: none; border: none; cursor: pointer; text-align: left; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 700; color: #283e2a; letter-spacing: 0.01em; font-family: inherit; }
.faq-q-icon { width: 22px; height: 22px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 1.5px solid rgba(40,62,42,0.25); border-radius: 50%; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease; }
.faq-q-icon svg { width: 10px; height: 10px; stroke: #283e2a; fill: none; stroke-width: 2.5; transition: transform 0.3s ease; }
.faq-item.open .faq-q-icon { background: #283e2a; border-color: #283e2a; }
.faq-item.open .faq-q-icon svg { stroke: #f5f0e2; transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.42s cubic-bezier(.4,0,.2,1); }
.faq-a-inner { padding: 0 0 28px; font-size: 14.5px; color: rgba(40,62,42,0.65); line-height: 1.8; }
.faq-item.open .faq-a { max-height: 300px; }

/* Enquiry form */
.form-section { background: #283e2a; padding: 100px 48px; }
.form-inner { max-width: 900px; margin: 0 auto; }
.form-header { text-align: center; margin-bottom: 64px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group.full { grid-column: 1 / -1; }
.form-label { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245,240,226,0.5); font-family: 'Glacial Indifference', sans-serif; }
.form-input, .form-select, .form-textarea { background: rgba(245,240,226,0.06); border: 1px solid rgba(245,240,226,0.18); padding: 16px 18px; color: #f5f0e2; font-size: 14px; font-family: inherit; transition: border-color 0.25s ease, background 0.25s ease; width: 100%; }
.form-input::placeholder, .form-textarea::placeholder { color: rgba(245,240,226,0.28); }
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: rgba(200,168,112,0.6); background: rgba(245,240,226,0.09); }
.form-select { cursor: pointer; appearance: none; -webkit-appearance: none; 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='%23f5f0e2' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px; }
.form-select option { background: #283e2a; color: #f5f0e2; }
.form-textarea { resize: vertical; min-height: 120px; }
.form-submit-wrap { margin-top: 36px; text-align: center; }
.form-note { margin-top: 20px; font-size: 12px; color: rgba(245,240,226,0.35); text-align: center; letter-spacing: 0.03em; }
.form-success { display: none; text-align: center; padding: 48px; background: rgba(200,168,112,0.1); border: 1px solid rgba(200,168,112,0.3); }
.form-success-icon { font-size: 40px; margin-bottom: 16px; color: #c8a870; }
.form-success h3 { font-family: 'Fraunces', Georgia, serif; font-size: 28px; color: #f5f0e2; margin-bottom: 10px; }
.form-success p { color: rgba(245,240,226,0.6); font-size: 15px; }

/* Final CTA strip */
.final-strip { background: #c8a870; padding: 72px 48px; text-align: center; }
.final-strip h2 { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(28px, 4vw, 52px); line-height: 1.05; letter-spacing: -0.02em; color: #283e2a; margin-bottom: 20px; }
.final-strip p { font-size: 16px; color: rgba(40,62,42,0.7); margin-bottom: 36px; max-width: 500px; margin-left: auto; margin-right: auto; }
.final-strip-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Corporate responsive */
@media (max-width: 1024px) {
    .packages-grid { grid-template-columns: repeat(2, 1fr); }
    .trust-bar { grid-template-columns: repeat(2, 1fr); gap: 1px; }
    .trust-bar-item { border-right: none; padding: 20px; border-bottom: 1px solid rgba(245,240,226,0.08); }
    .trust-bar-item:nth-child(2n) { border-bottom: none; }
    .custom-inner { grid-template-columns: 1fr; gap: 48px; }
    .custom-visual { max-width: 420px; }
}
@media (max-width: 768px) {
    .corp-hero { padding: 130px 24px 80px; }
    .occasions-section, .packages-section, .custom-section, .process-section,
    .testimonials-section, .faq-section, .form-section, .final-strip { padding: 72px 24px; }
    .occasions-grid { grid-template-columns: 1fr; }
    .packages-grid { grid-template-columns: 1fr; }
    .process-steps { grid-template-columns: 1fr 1fr; }
    .process-steps::before { display: none; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .trust-bar { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .corp-hero-ctas { flex-direction: column; align-items: center; }
    .process-steps { grid-template-columns: 1fr; }
    .final-strip-ctas { flex-direction: column; align-items: center; }
}

/* Product page responsive */
@media (max-width: 900px) {
    .pdp-breadcrumb { padding: 90px 24px 0; }
    .pdp-page { grid-template-columns: 1fr; gap: 36px; padding: 24px 24px 60px; }
    .pdp-gallery { position: static; }
    .pdp-thumb { width: calc(20% - 7px); }
    .pdp-presents-inner { padding: 40px 24px; }
    .pdp-tabs-section { padding: 48px 24px; }
    .pdp-tab-btn { font-size: 10px; padding: 14px 10px; min-width: 90px; }
    .pdp-reviews { padding: 52px 24px 60px; }
    .review-card { flex: 0 0 268px; }
}
@media (max-width: 540px) {
    .pdp-breadcrumb { padding: 80px 16px 0; }
    .pdp-page { padding: 20px 16px 48px; }
    .pdp-title { font-size: 24px; }
    .pdp-variant-btns { gap: 6px; }
    .pdp-variant-btn { padding: 10px 14px; font-size: 10px; }
    .swatch-circle { width: 48px; height: 48px; }
    .pdp-presents-inner { padding: 32px 16px; }
    .pdp-presents-inner p { font-size: 14px; }
    .pdp-tabs-section { padding: 36px 16px; }
    .pdp-tab-btns { gap: 6px; }
    .pdp-tab-btn { padding: 12px 8px; font-size: 9px; min-width: 0; flex: 1 1 calc(33% - 6px); }
    .pdp-tab-content p { font-size: 14px; }
    .pdp-reviews { padding: 40px 16px 48px; }
    .review-card { flex: 0 0 88vw; padding: 20px 18px; }
    .reviews-avg { font-size: 38px; }
    .flavour-grid { grid-template-columns: 1fr; }
    .fp-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .flavour-profiles { padding: 48px 16px; }
}
}
@media (max-width: 900px) {
    .fp-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .flavour-profiles { padding: 48px 24px; }
}

/* ============================================================
   CONTACT PAGE
============================================================ */
.contact-hero {
    background: #283e2a;
    padding: 160px 56px 100px;
    position: relative;
    overflow: hidden;
}
.contact-hero::before {
    content: 'hello.';
    position: absolute; bottom: -20px; right: 40px;
    font-family: 'Great Vibes', cursive; font-size: 260px;
    color: rgba(245,240,226,0.025);
    pointer-events: none; line-height: 1; user-select: none;
}
.contact-hero-inner { max-width: 720px; }
.contact-hero-label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 18px; display: block;
}
.contact-hero-headline {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(40px, 5.5vw, 68px); line-height: 1.05;
    color: #f5f0e2; margin-bottom: 20px;
}
.contact-hero-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 16px; line-height: 1.7;
    color: rgba(245,240,226,0.55); max-width: 480px;
}
.contact-body { padding: 96px 56px; }
.contact-body-inner {
    max-width: 1120px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 96px; align-items: start;
}
.contact-channels { display: flex; flex-direction: column; gap: 0; }
.contact-channels-label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 36px; display: block;
}
.contact-channel {
    display: flex; align-items: flex-start; gap: 20px;
    padding: 28px 0; border-bottom: 1px solid rgba(40,62,42,0.1);
    transition: background 0.2s;
}
.contact-channel:first-of-type { border-top: 1px solid rgba(40,62,42,0.1); }
.channel-icon {
    width: 44px; height: 44px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid rgba(200,168,112,0.3);
}
.channel-icon svg { width: 20px; height: 20px; stroke: #c8a870; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.channel-info { display: flex; flex-direction: column; gap: 4px; }
.channel-name {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #283e2a;
}
.channel-value {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 18px; color: #283e2a; line-height: 1.2;
}
.channel-note {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 12px; color: rgba(40,62,42,0.5); margin-top: 2px;
}
.channel-link {
    display: inline-block; margin-top: 10px;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #c8a870; transition: opacity 0.2s;
}
.channel-link:hover { opacity: 0.7; }
.contact-social-row { margin-top: 40px; }
.contact-social-label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 16px; display: block;
}
.contact-socials { display: flex; gap: 12px; flex-wrap: wrap; }
.social-pill {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #283e2a; border: 1px solid rgba(40,62,42,0.25);
    padding: 10px 20px; transition: all 0.22s ease;
}
.social-pill:hover { background: #283e2a; color: #f5f0e2; border-color: #283e2a; }
.contact-form-wrap {}
.contact-form-label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 36px; display: block;
}
.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 9px;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(40,62,42,0.5);
}
.form-field input,
.form-field select,
.form-field textarea {
    padding: 14px 16px;
    font-family: 'Glacial Indifference', sans-serif; font-size: 14px;
    background: #fff; color: #283e2a;
    border: 1px solid rgba(40,62,42,0.15);
    outline: none; transition: border-color 0.2s;
    width: 100%;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: #c8a870; }
.form-field input::placeholder,
.form-field textarea::placeholder { color: rgba(40,62,42,0.3); }
.form-field textarea { resize: vertical; min-height: 120px; }
.form-field select { appearance: none; cursor: pointer; 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='%23283e2a' 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; }
.form-submit {
    padding: 16px 36px;
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.2em; text-transform: uppercase;
    background: #283e2a; color: #f5f0e2;
    border: 2px solid #283e2a; cursor: pointer;
    transition: all 0.25s ease; align-self: flex-start;
}
.form-submit:hover { background: #c8a870; border-color: #c8a870; color: #283e2a; }
.form-note {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 11px; color: rgba(40,62,42,0.4);
}
.form-success {
    display: none;
    background: #283e2a; padding: 32px;
    text-align: center;
}
.form-success p {
    font-family: 'Great Vibes', cursive; font-size: 32px; color: #adad8c; margin-bottom: 10px;
}
.form-success span {
    font-family: 'Glacial Indifference', sans-serif; font-size: 13px; color: rgba(245,240,226,0.65);
}
/* Contact responsive */
@media (max-width: 900px) {
    .contact-hero { padding: 120px 24px 72px; }
    .contact-body { padding: 64px 24px; }
    .contact-body-inner { grid-template-columns: 1fr; gap: 56px; }
}
@media (max-width: 540px) {
    .contact-hero { padding: 100px 20px 60px; }
    .contact-body { padding: 52px 20px; }
    .form-row { grid-template-columns: 1fr; }
    .form-submit { width: 100%; text-align: center; }
}

/* ============================================================
   FAQ PAGE
============================================================ */
.faq-hero {
    background: #283e2a;
    padding: 160px 56px 100px;
    position: relative;
    overflow: hidden;
}
.faq-hero::before {
    content: 'answers.';
    position: absolute; bottom: -20px; right: 30px;
    font-family: 'Great Vibes', cursive; font-size: 260px;
    color: rgba(245,240,226,0.025);
    pointer-events: none; line-height: 1; user-select: none;
}
.faq-hero-inner { max-width: 720px; }
.faq-hero-label {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 18px; display: block;
}
.faq-hero-headline {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(40px, 5.5vw, 68px); line-height: 1.05;
    color: #f5f0e2; margin-bottom: 20px;
}
.faq-hero-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 16px; line-height: 1.7;
    color: rgba(245,240,226,0.55); max-width: 480px;
}
.faq-body { padding: 96px 56px; }
.faq-body-inner { max-width: 820px; margin: 0 auto; }
.faq-category { margin-bottom: 72px; }
.faq-category-title {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: #adad8c; margin-bottom: 32px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(40,62,42,0.15);
    display: block;
}
.faq-item { border-bottom: 1px solid rgba(40,62,42,0.12); }
.faq-question {
    width: 100%; display: flex; align-items: center;
    justify-content: space-between; gap: 20px;
    padding: 22px 0;
    background: none; border: none; cursor: pointer;
    text-align: left;
}
.faq-question-text {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(17px, 2.5vw, 22px); color: #283e2a;
    line-height: 1.2; transition: color 0.2s;
}
.faq-question:hover .faq-question-text { color: #c8a870; }
.faq-icon {
    flex-shrink: 0; width: 28px; height: 28px;
    border: 1px solid rgba(40,62,42,0.2);
    display: flex; align-items: center; justify-content: center;
    transition: border-color 0.25s, background 0.25s;
}
.faq-icon svg { width: 12px; height: 12px; stroke: #283e2a; fill: none; stroke-width: 2; stroke-linecap: round; transition: transform 0.35s ease, stroke 0.25s; }
.faq-question:hover .faq-icon { border-color: #c8a870; }
.faq-question:hover .faq-icon svg { stroke: #c8a870; }
.faq-item.open .faq-icon { background: #283e2a; border-color: #283e2a; }
.faq-item.open .faq-icon svg { stroke: #f5f0e2; transform: rotate(45deg); }
.faq-answer {
    max-height: 0; overflow: hidden;
    transition: max-height 0.45s cubic-bezier(.4,0,.2,1), padding 0.35s ease;
}
.faq-item.open .faq-answer { max-height: 400px; padding-bottom: 24px; }
.faq-answer p {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; line-height: 1.8;
    color: rgba(40,62,42,0.65);
}
.faq-answer a {
    color: #c8a870; border-bottom: 1px solid rgba(200,168,112,0.4);
    transition: border-color 0.2s;
}
.faq-answer a:hover { border-color: #c8a870; }
.faq-cta-strip {
    margin-top: 80px;
    background: #283e2a;
    padding: 56px 48px;
    display: flex; align-items: center;
    justify-content: space-between; gap: 40px;
    flex-wrap: wrap;
    position: relative; overflow: hidden;
}
.faq-cta-strip::before {
    content: 'hi.';
    position: absolute; bottom: -30px; right: 20px;
    font-family: 'Great Vibes', cursive; font-size: 200px;
    color: rgba(245,240,226,0.025);
    pointer-events: none; line-height: 1; user-select: none;
}
.faq-cta-text { position: relative; z-index: 1; }
.faq-cta-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(24px, 3vw, 36px); color: #f5f0e2;
    line-height: 1.1; margin-bottom: 10px;
}
.faq-cta-sub {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 14px; color: rgba(245,240,226,0.5); line-height: 1.6;
}
.faq-cta-btn {
    font-family: 'Glacial Indifference', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: #283e2a; background: #c8a870;
    padding: 16px 32px; display: inline-block;
    transition: background 0.25s, color 0.25s;
    position: relative; z-index: 1; flex-shrink: 0;
    white-space: nowrap;
}
.faq-cta-btn:hover { background: #f5f0e2; }
/* FAQ responsive */
@media (max-width: 900px) {
    .faq-hero { padding: 120px 24px 72px; }
    .faq-body { padding: 64px 24px; }
    .faq-cta-strip { padding: 44px 32px; }
}
@media (max-width: 540px) {
    .faq-hero { padding: 100px 20px 60px; }
    .faq-body { padding: 52px 20px; }
    .faq-cta-strip { padding: 36px 24px; gap: 24px; flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   OUR STORY PAGE
============================================================ */
.story-hero {
    background: #283e2a;
    min-height: 100vh;
    display: flex; flex-direction: column; justify-content: flex-end;
    padding: 80px 80px 96px;
    position: relative;
    overflow: hidden;
}
.story-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 80% 20%, rgba(200,168,112,0.08) 0%, transparent 55%),
        radial-gradient(ellipse at 10% 80%, rgba(173,173,140,0.06) 0%, transparent 50%);
}
.hero-bg-text {
    position: absolute;
    top: 50%; right: -20px;
    transform: translateY(-50%);
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(180px, 22vw, 340px);
    color: rgba(245,240,226,0.03);
    line-height: 1; letter-spacing: -0.04em;
    pointer-events: none; user-select: none;
    white-space: nowrap;
}
.story-hero-eyebrow {
    font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
    color: #c8a870; margin-bottom: 32px; position: relative;
}
.story-hero h1 {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(40px, 7.5vw, 100px); line-height: 1.0;
    letter-spacing: -0.03em; color: #f5f0e2;
    max-width: 900px; position: relative;
    margin-bottom: 48px;
}
.story-hero h1 em { font-style: italic; color: #c8a870; font-weight: 300; }
.story-hero-sub {
    font-size: clamp(15px, 1.6vw, 18px); color: rgba(245,240,226,0.6);
    max-width: 500px; line-height: 1.75; letter-spacing: 0.02em; position: relative;
}
.story-hero-scroll {
    position: absolute; bottom: 40px; right: 80px;
    display: flex; align-items: center; gap: 12px;
    font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(245,240,226,0.3);
}
.story-hero-scroll-line { width: 40px; height: 1px; background: rgba(245,240,226,0.2); }
.opening-section {
    background: #f5f0e2;
    padding: 120px 80px;
    max-width: 1400px; margin: 0 auto;
}
.opening-inner {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start;
}
.opening-label {
    font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
    color: #adad8c; padding-top: 14px;
    position: sticky; top: 120px;
}
.opening-label span { display: block; font-family: 'Great Vibes', cursive; font-size: 28px; text-transform: none; letter-spacing: 0; color: #c8a870; margin-top: 8px; }
.opening-body p {
    font-family: 'Fraunces', Georgia, serif; font-weight: 300;
    font-size: clamp(20px, 2.4vw, 30px); line-height: 1.65;
    color: #283e2a; letter-spacing: -0.01em;
    margin-bottom: 32px;
}
.opening-body p:last-child { margin-bottom: 0; }
.opening-body p strong { font-weight: 900; color: #283e2a; }
.origin-section {
    background: #283e2a;
    padding: 120px 80px;
    position: relative;
    overflow: hidden;
}
.origin-section::before {
    content: '01';
    position: absolute; top: 60px; right: 80px;
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 180px; color: rgba(245,240,226,0.04);
    line-height: 1; pointer-events: none;
}
.origin-inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.origin-visual { position: relative; }
.origin-box-stack {
    position: relative; width: 100%; aspect-ratio: 1;
    display: flex; align-items: center; justify-content: center;
}
.origin-box {
    width: 220px; height: 220px;
    background: #283e2a;
    border: 1px solid rgba(200,168,112,0.2);
    display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 6px;
    position: absolute;
}
.origin-box:nth-child(1) { transform: rotate(-8deg) translate(-40px, 20px); background: rgba(200,168,112,0.08); border-color: rgba(200,168,112,0.15); }
.origin-box:nth-child(2) { transform: rotate(4deg) translate(30px, -15px); background: rgba(245,240,226,0.05); border-color: rgba(245,240,226,0.12); }
.origin-box:nth-child(3) { transform: rotate(-2deg); background: rgba(200,168,112,0.05); border-color: rgba(200,168,112,0.25); z-index: 1; }
.origin-box-word { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 32px; color: rgba(200,168,112,0.7); letter-spacing: -0.02em; }
.origin-box-plus { font-size: 20px; color: rgba(245,240,226,0.2); }
.origin-box-eq { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(200,168,112,0.4); margin-top: 4px; }
.origin-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #adad8c; margin-bottom: 20px; }
.origin-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(32px, 3.5vw, 52px); line-height: 1.08;
    letter-spacing: -0.025em; color: #f5f0e2; margin-bottom: 32px;
}
.origin-title em { font-style: italic; color: #c8a870; font-weight: 300; }
.origin-body p {
    font-size: 16px; color: rgba(245,240,226,0.68); line-height: 1.8;
    margin-bottom: 20px;
}
.origin-body p:last-child { margin-bottom: 0; }
.pull-quote-section {
    background: #f3ecd1;
    padding: 100px 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.pull-quote-section::before {
    content: '\201C';
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 400px; line-height: 0.7;
    color: rgba(40,62,42,0.05);
    position: absolute; top: 40px; left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}
.pull-quote { max-width: 860px; margin: 0 auto; position: relative; z-index: 1; }
.pull-quote blockquote {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(26px, 3.8vw, 54px); line-height: 1.18;
    letter-spacing: -0.025em; color: #283e2a; margin-bottom: 32px;
}
.pull-quote blockquote em { font-style: italic; font-weight: 300; color: #6a7a4a; }
.pull-quote-source {
    font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
    color: rgba(40,62,42,0.4);
}
.product-section {
    background: #f5f0e2;
    padding: 120px 80px;
    position: relative;
    overflow: hidden;
}
.product-section::before {
    content: '02';
    position: absolute; top: 60px; left: 40px;
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 200px; color: rgba(40,62,42,0.04);
    line-height: 1; pointer-events: none;
}
.product-inner { max-width: 1280px; margin: 0 auto; }
.product-header { margin-bottom: 72px; max-width: 700px; }
.product-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #adad8c; margin-bottom: 18px; }
.product-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(32px, 4vw, 58px); line-height: 1.05;
    letter-spacing: -0.025em; color: #283e2a; margin-bottom: 20px;
}
.product-title em { font-style: italic; font-weight: 300; }
.product-intro { font-size: 17px; color: rgba(40,62,42,0.62); line-height: 1.75; max-width: 580px; }
.product-attributes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
}
.attr-card {
    background: #ede9d8;
    padding: 48px 40px;
    position: relative; overflow: hidden;
}
.attr-card::after {
    content: attr(data-letter);
    position: absolute; bottom: -20px; right: -10px;
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 120px; color: rgba(40,62,42,0.05);
    line-height: 1; pointer-events: none;
}
.attr-num { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 13px; color: #c8a870; letter-spacing: 0.1em; margin-bottom: 18px; }
.attr-title { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 26px; color: #283e2a; margin-bottom: 14px; letter-spacing: -0.01em; }
.attr-text { font-size: 14.5px; color: rgba(40,62,42,0.6); line-height: 1.75; }
.founders-section {
    background: #283e2a;
    padding: 120px 80px;
    position: relative; overflow: hidden;
}
.founders-section::before {
    content: '03';
    position: absolute; top: 60px; right: 80px;
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: 200px; color: rgba(245,240,226,0.03);
    line-height: 1; pointer-events: none;
}
.founders-inner { max-width: 1280px; margin: 0 auto; }
.founders-header { max-width: 680px; margin-bottom: 80px; }
.founders-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #adad8c; margin-bottom: 18px; }
.founders-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(32px, 4vw, 56px); line-height: 1.05;
    letter-spacing: -0.025em; color: #f5f0e2; margin-bottom: 20px;
}
.founders-title em { font-style: italic; font-weight: 300; color: #c8a870; }
.founders-sub { font-size: 16px; color: rgba(245,240,226,0.55); line-height: 1.75; }
.founders-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.founder-card {
    background: rgba(245,240,226,0.05);
    border: 1px solid rgba(245,240,226,0.08);
    padding: 52px 48px;
}
.founder-portrait {
    width: 80px; height: 80px; border-radius: 50%;
    background: rgba(200,168,112,0.15);
    border: 1px solid rgba(200,168,112,0.25);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 28px;
}
.founder-portrait svg { width: 36px; height: 36px; stroke: rgba(200,168,112,0.6); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.founder-name { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 28px; color: #f5f0e2; letter-spacing: -0.01em; margin-bottom: 6px; }
.founder-role { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #c8a870; margin-bottom: 28px; }
.founder-divider { border: none; border-top: 1px solid rgba(245,240,226,0.1); margin-bottom: 28px; }
.founder-bio { font-size: 15px; color: rgba(245,240,226,0.65); line-height: 1.8; margin-bottom: 20px; }
.founder-bio:last-child { margin-bottom: 0; }
.founders-together {
    margin-top: 2px;
    background: rgba(200,168,112,0.1);
    border: 1px solid rgba(200,168,112,0.2);
    padding: 52px 48px;
    display: grid; grid-template-columns: auto 1fr;
    gap: 40px; align-items: center;
}
.founders-together-icon { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 64px; color: rgba(200,168,112,0.4); line-height: 1; }
.founders-together-text h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 24px; color: #f5f0e2; margin-bottom: 12px; letter-spacing: -0.01em; }
.founders-together-text p { font-size: 15px; color: rgba(245,240,226,0.6); line-height: 1.75; }
.belief-section {
    background: #f5f0e2;
    padding: 120px 80px;
}
.belief-inner { max-width: 1280px; margin: 0 auto; }
.belief-header { text-align: center; margin-bottom: 80px; }
.belief-eyebrow { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #adad8c; margin-bottom: 18px; }
.belief-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(32px, 4vw, 56px); line-height: 1.05;
    letter-spacing: -0.025em; color: #283e2a; max-width: 700px; margin: 0 auto 20px;
}
.belief-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.belief-card {
    padding: 48px 36px;
    background: #ede9d8;
    border-top: 3px solid transparent;
    transition: border-color 0.28s ease;
}
.belief-card:hover { border-top-color: #c8a870; }
.belief-icon { margin-bottom: 22px; }
.belief-icon svg { width: 28px; height: 28px; stroke: #adad8c; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.belief-label { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #c8a870; margin-bottom: 10px; }
.belief-name { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: 22px; color: #283e2a; margin-bottom: 14px; letter-spacing: -0.01em; }
.belief-text { font-size: 13.5px; color: rgba(40,62,42,0.6); line-height: 1.75; }
.manifesto-section {
    background: #283e2a;
    padding: 140px 80px;
    text-align: center;
    position: relative; overflow: hidden;
}
.manifesto-section::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 50% 60%, rgba(200,168,112,0.07) 0%, transparent 60%);
}
.manifesto-script {
    font-family: 'Great Vibes', cursive;
    font-size: clamp(36px, 5vw, 72px); color: rgba(200,168,112,0.45);
    display: block; margin-bottom: 16px; position: relative;
}
.manifesto-title {
    font-family: 'Fraunces', Georgia, serif; font-weight: 900;
    font-size: clamp(44px, 8vw, 110px); line-height: 1.0;
    letter-spacing: -0.03em; color: #f5f0e2;
    position: relative; margin-bottom: 8px;
}
.manifesto-title-2 {
    font-family: 'Fraunces', Georgia, serif; font-weight: 300;
    font-style: italic;
    font-size: clamp(36px, 6.5vw, 90px); line-height: 1.0;
    letter-spacing: -0.03em; color: #c8a870;
    position: relative; margin-bottom: 52px;
}
.manifesto-body {
    max-width: 680px; margin: 0 auto 52px;
    position: relative;
}
.manifesto-body p {
    font-size: clamp(15px, 1.6vw, 18px); color: rgba(245,240,226,0.62);
    line-height: 1.8; margin-bottom: 20px;
}
.manifesto-body p:last-child { margin-bottom: 0; }
.manifesto-divider {
    width: 60px; height: 1px; background: rgba(200,168,112,0.4);
    margin: 0 auto 52px;
}
.manifesto-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; }
.stats-section {
    background: #c8a870;
    padding: 80px;
}
.stats-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.stat-item { text-align: center; padding: 0 20px; border-right: 1px solid rgba(40,62,42,0.15); }
.stat-item:last-child { border-right: none; }
.stat-num { font-family: 'Fraunces', Georgia, serif; font-weight: 900; font-size: clamp(40px, 5vw, 72px); color: #283e2a; line-height: 1; letter-spacing: -0.03em; margin-bottom: 8px; }
.stat-label { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(40,62,42,0.6); }
/* Story responsive */
@media (max-width: 1024px) {
    .story-hero { padding: 80px 48px 80px; }
    .opening-section { padding: 80px 48px; }
    .opening-inner { grid-template-columns: 1fr; gap: 32px; }
    .opening-label { position: static; display: flex; align-items: center; gap: 16px; }
    .origin-section, .product-section, .founders-section, .belief-section, .manifesto-section { padding: 80px 48px; }
    .origin-inner { grid-template-columns: 1fr; gap: 56px; }
    .product-attributes { grid-template-columns: 1fr; }
    .founders-grid { grid-template-columns: 1fr; }
    .founders-together { grid-template-columns: 1fr; }
    .belief-grid { grid-template-columns: 1fr 1fr; }
    .stats-inner { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .stat-item { border-right: none; border-bottom: 1px solid rgba(40,62,42,0.15); padding-bottom: 24px; }
    .stats-section { padding: 64px 48px; }
}
@media (max-width: 768px) {
    .story-hero { padding: 80px 24px 72px; min-height: auto; padding-top: 120px; }
    .story-hero-scroll { display: none; }
    .opening-section, .origin-section, .product-section, .founders-section,
    .belief-section, .manifesto-section, .pull-quote-section, .stats-section { padding: 72px 24px; }
    .belief-grid { grid-template-columns: 1fr; }
    .stats-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
    .founders-together { gap: 20px; }
}

/* ============================================================
   DISPATCH NOTICE
============================================================ */
.dispatch-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: #f0ead6;
  border-left: 3px solid #283e2a;
  padding: 14px 16px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.dispatch-notice:hover { background-color: #e8e0c8; }
.dispatch-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: #283e2a;
}
.dispatch-info-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #adad8c;
  margin-left: auto;
}
.dispatch-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.dispatch-label {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 13px;
  color: #283e2a;
  letter-spacing: 0.02em;
}
.dispatch-label strong { font-weight: 700; }
.dispatch-sub {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 11px;
  color: #8a7e60;
  letter-spacing: 0.04em;
}

/* Dispatch Modal */
.dispatch-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.dispatch-modal-overlay.open {
  opacity: 1;
  pointer-events: all;
}
.dispatch-modal {
  background: #f5f0e2;
  max-width: 460px;
  width: 100%;
  padding: 40px 36px 36px;
  position: relative;
  transform: translateY(16px);
  transition: transform 0.25s ease;
}
.dispatch-modal-overlay.open .dispatch-modal { transform: translateY(0); }
.dispatch-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #adad8c;
}
.dispatch-modal-close svg { width: 18px; height: 18px; display: block; }
.dispatch-modal-icon {
  width: 44px;
  height: 44px;
  background: #283e2a;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.dispatch-modal-icon svg { width: 22px; height: 22px; color: #f5f0e2; }
.dispatch-modal-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 900;
  font-size: 22px;
  color: #283e2a;
  line-height: 1.2;
  margin-bottom: 16px;
}
.dispatch-modal-body {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 13px;
  line-height: 1.75;
  color: #5a5040;
  margin-bottom: 12px;
}
.dispatch-modal-body strong { color: #283e2a; font-weight: 700; }
.dispatch-modal-schedule {
  border-top: 1px solid #d0c9b4;
  border-bottom: 1px solid #d0c9b4;
  margin: 20px 0;
  padding: 4px 0;
}
.dms-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
}
.dms-row + .dms-row { border-top: 1px solid #ede8d8; }
.dms-day {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 13px;
  color: #283e2a;
}
.dms-status {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 10px;
}
.dms-status--ships { background: #283e2a; color: #f5f0e2; }
.dms-status--next  { background: #f0ead6; color: #8a7e60; }
.dispatch-modal-btn {
  width: 100%;
  background: #283e2a;
  color: #f5f0e2;
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 16px;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.dispatch-modal-btn:hover { opacity: 0.88; }

/* ============================================================
   DISPATCH SCHEDULER — TEASER + MODAL
============================================================ */

/* Teaser block */
.ds-teaser {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f0ead6;
  border: 1px dashed #adad8c;
  padding: 14px 16px;
  cursor: pointer;
  margin-bottom: 20px;
  transition: background 0.18s;
}
.ds-teaser:hover { background: #e8e0c8; }
.ds-teaser > svg:first-child { width: 20px; height: 20px; flex-shrink: 0; color: #283e2a; }
.ds-teaser-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ds-teaser-title {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #283e2a;
}
.ds-teaser-sub {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 11px;
  color: #8a7e60;
}
.ds-teaser-arrow { width: 16px; height: 16px; flex-shrink: 0; color: #adad8c; }

/* Modal overlay */
.ds-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.ds-modal-overlay.open { opacity: 1; pointer-events: all; }

/* Modal panel — slides up from bottom */
.ds-modal {
  background: #f5f0e2;
  width: 100%;
  max-width: 560px;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  transform: translateY(40px);
  transition: transform 0.28s ease;
}
.ds-modal-overlay.open .ds-modal { transform: translateY(0); }

.ds-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #283e2a;
  padding: 20px 20px 18px;
  flex-shrink: 0;
}
.ds-modal-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 900;
  font-size: 20px;
  color: #f5f0e2;
  line-height: 1.15;
}
.ds-modal-sub {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 11px;
  color: #adad8c;
  margin-top: 4px;
  letter-spacing: 0.04em;
}
.ds-modal-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  flex-shrink: 0;
  margin-left: 12px;
  margin-top: 2px;
}
.ds-modal-close svg { width: 18px; height: 18px; display: block; color: #adad8c; }

/* Scrollable body */
.ds-modal-body { overflow-y: auto; flex: 1; }

/* Month groups */
.ds-month-group { padding: 14px 20px 2px; }
.ds-month-label {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #adad8c;
  margin-bottom: 10px;
}
.ds-date-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }

/* Date pills */
.ds-date-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  background: #eee8d4;
  border: 1px solid #d0c9b4;
  padding: 10px 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  min-width: 64px;
}
.ds-date-pill:hover { background: #e4dcc8; border-color: #283e2a; }
.ds-date-pill.selected { background: #283e2a; border-color: #283e2a; }
.ds-pill-day {
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a7e60;
  transition: color 0.15s;
}
.ds-pill-date {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 15px;
  color: #283e2a;
  line-height: 1.1;
  transition: color 0.15s;
}
.ds-date-pill.selected .ds-pill-day,
.ds-date-pill.selected .ds-pill-date { color: #f5f0e2; }

/* Delivery estimate strip */
.ds-delivery-estimate {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f0ead6;
  border-top: 1px solid #d0c9b4;
  padding: 13px 20px;
  min-height: 50px;
}
.ds-delivery-estimate svg { width: 18px; height: 18px; flex-shrink: 0; color: #283e2a; }
.ds-delivery-estimate > div { display: flex; flex-direction: column; gap: 2px; }
.ds-est-label { font-family: 'Glacial Indifference', 'Century Gothic', sans-serif; font-size: 13px; color: #283e2a; }
.ds-est-label strong { font-weight: 700; }
.ds-est-sub { font-family: 'Glacial Indifference', 'Century Gothic', sans-serif; font-size: 11px; color: #8a7e60; }

/* Disclaimer */
.ds-disclaimer {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 20px;
  border-top: 1px solid #d0c9b4;
}
.ds-disclaimer svg { width: 14px; height: 14px; flex-shrink: 0; color: #adad8c; margin-top: 2px; }
.ds-disclaimer p { font-family: 'Glacial Indifference', 'Century Gothic', sans-serif; font-size: 11px; line-height: 1.7; color: #8a7e60; margin: 0; }
.ds-disclaimer p strong { color: #283e2a; font-weight: 700; }

/* Footer confirm button */
.ds-modal-footer { padding: 16px 20px; border-top: 1px solid #d0c9b4; flex-shrink: 0; }
.ds-confirm-btn {
  width: 100%;
  background: #283e2a;
  color: #f5f0e2;
  font-family: 'Glacial Indifference', 'Century Gothic', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 16px;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.ds-confirm-btn:hover { opacity: 0.88; }
