:root {
  --ink: #23201b;
  --muted: #71695e;
  --paper: #fffdf9;
  --cream: #f8f2e8;
  --cream-2: #efe4d2;
  --gold: #d99b24;
  --gold-dark: #a66a0a;
  --navy: #182d67;
  --line: #e7ddce;
  --shadow: 0 20px 60px rgba(91, 63, 18, .12);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", Arial, sans-serif; line-height: 1.55; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 16px; background: #fff; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.announcement { padding: 8px 20px; color: #fff; background: #a86d0a; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(218, 199, 167, .7); background: rgba(255, 253, 249, .92); backdrop-filter: blur(14px); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { text-decoration: none; display: inline-flex; flex-direction: column; line-height: 1; }
.brand-name { color: var(--gold-dark); font: 700 2rem/1 "Playfair Display", Georgia, serif; letter-spacing: -.025em; }
.brand-tagline { margin-top: 5px; color: #9a7a45; font-size: .55rem; letter-spacing: .24em; text-transform: uppercase; }
.site-header nav { display: flex; align-items: center; gap: 28px; }
.site-header nav a { color: #4e473d; font-size: .9rem; font-weight: 600; text-decoration: none; }
.nav-cta { padding: 10px 18px; color: #fff !important; border-radius: 999px; background: var(--ink); }
.product-hero { overflow: hidden; padding: 64px 0 74px; background: radial-gradient(circle at 18% 25%, #fff 0 14%, transparent 40%), linear-gradient(135deg, #fbf7f0, #efe4d0); }
.product-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); gap: 72px; align-items: center; }
.product-gallery { min-height: 610px; position: relative; display: grid; place-items: center; border: 1px solid rgba(218, 195, 152, .55); border-radius: 38px; background: rgba(255, 255, 255, .72); box-shadow: var(--shadow); overflow: hidden; }
.product-gallery::before, .product-gallery::after { content: ""; position: absolute; width: 290px; height: 290px; border-radius: 50%; filter: blur(4px); opacity: .55; }
.product-gallery::before { left: -110px; top: -90px; background: #ffe3a0; }
.product-gallery::after { right: -130px; bottom: -120px; background: #f5c451; }
.product-gallery picture, .product-gallery > img { position: relative; z-index: 1; width: min(72%, 430px); }
.product-gallery picture img { width: 100%; max-height: 570px; object-fit: contain; }
.gallery-note { position: absolute; z-index: 2; left: 24px; bottom: 20px; padding: 8px 13px; border: 1px solid #ead9bc; border-radius: 999px; color: #796343; background: rgba(255,255,255,.84); font-size: .76rem; font-weight: 700; }
.eyebrow { margin: 0 0 10px; color: var(--gold-dark); font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
.product-summary h1, .checkout-copy h1, .success-card h1 { margin-bottom: 20px; font: 700 clamp(2.55rem, 5vw, 4.5rem)/1.02 "Playfair Display", Georgia, serif; letter-spacing: -.04em; }
.lede { max-width: 640px; color: #5e574e; font-size: 1.12rem; }
.benefit-list, .gold-checks { list-style: none; margin: 28px 0; padding: 0; display: grid; gap: 12px; }
.benefit-list li, .gold-checks li { position: relative; padding-left: 32px; font-weight: 600; }
.benefit-list li::before, .gold-checks li::before { content: "✓"; position: absolute; left: 0; top: -2px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold); font-size: .75rem; }
.quick-order { margin-top: 28px; padding: 24px; border: 1px solid #dfcfb4; border-radius: 22px; background: rgba(255,255,255,.72); }
.quick-order > label, .quantity-row label { display: block; margin-bottom: 7px; font-size: .82rem; font-weight: 700; }
.quick-order select, .quantity-row input { width: 100%; padding: 13px 14px; border: 1px solid #cdbd9f; border-radius: 12px; color: var(--ink); background: #fff; }
.price-row { margin: 18px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.price-row strong { font-size: 2rem; }
.price-row span { color: #4b7353; font-size: .86rem; font-weight: 700; }
.quantity-row { width: 115px; margin-bottom: 18px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; border: 0; border-radius: 999px; padding: 13px 24px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { width: 100%; color: #fff; background: linear-gradient(135deg, #bc7910, #e2a52f); box-shadow: 0 12px 28px rgba(185, 117, 11, .26); }
.button-primary:hover { box-shadow: 0 16px 34px rgba(185, 117, 11, .33); }
.button-secondary { color: var(--ink); border: 1px solid #cab996; background: #fff; }
.checkout-note, .secure-note { margin: 12px 0 0; color: var(--muted); font-size: .78rem; text-align: center; }
.trust-row { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 18px; color: #62594e; font-size: .77rem; }
.policy-links { margin-top: 16px; padding-top: 16px; display: grid; gap: 7px; border-top: 1px solid #ddcfb7; }
.policy-links a { color: #6d542c; font-size: .78rem; font-weight: 600; text-underline-offset: 3px; }
.sold-out { margin-top: 24px; padding: 16px; border-radius: 12px; background: #efe8dc; font-weight: 700; }
.editorial-intro { padding: 110px 0 92px; text-align: center; }
.editorial-intro h2, .a-plus-heading h2, .final-cta h2 { max-width: 820px; margin: 0 auto 22px; font: 700 clamp(2.1rem, 4vw, 3.6rem)/1.08 "Playfair Display", Georgia, serif; letter-spacing: -.035em; }
.editorial-intro > p:last-child { max-width: 730px; margin: 0 auto; color: var(--muted); font-size: 1.08rem; }
.a-plus { padding: 88px 0; background: #f5efe5; }
.a-plus-heading { margin-bottom: 38px; text-align: center; }
.a-plus-desktop { width: min(970px, calc(100% - 32px)); margin-inline: auto; display: grid; gap: 18px; }
.a-plus-banner { display: block; overflow: hidden; border-radius: 20px; box-shadow: 0 14px 38px rgba(98, 68, 20, .11); }
.a-plus-banner img { width: 100%; }
.a-plus-mobile { display: none; }
.results-note { margin-top: 24px; color: #7c7164; font-size: .78rem; text-align: center; }
.final-cta { padding: 92px 0; background: var(--ink); color: #fff; }
.final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 56px; }
.final-cta h2 { margin: 0; max-width: 720px; }
.final-cta .button { width: auto; min-width: 220px; }
.site-footer { padding: 64px 0 22px; color: #d9d1c7; background: #171512; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 56px; }
.footer-brand { color: #e7b75c; }
.footer-grid p { max-width: 420px; color: #938b82; }
.footer-grid h2 { margin-bottom: 14px; color: #fff; font: 600 .76rem/1 "DM Sans", sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.footer-grid a { display: block; margin: 8px 0; color: #bfb7ad; text-decoration: none; }
.footer-bottom { margin-top: 48px; padding-top: 18px; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #322e29; color: #716a62; font-size: .75rem; }

.checkout-section { padding: 80px 0 100px; background: linear-gradient(145deg, #f9f4eb, #eee2cf); }
.checkout-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.checkout-copy { position: sticky; top: 130px; }
.checkout-copy h1 { font-size: clamp(2.5rem, 4vw, 4rem); }
.checkout-copy > p { color: var(--muted); }
.order-promise { display: grid; gap: 9px; margin-top: 28px; color: #4c6d51; font-weight: 700; }
.checkout-form { padding: 34px; border: 1px solid #e4d6bf; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
fieldset { margin: 0 0 28px; padding: 0; border: 0; }
legend { width: 100%; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font: 700 1.15rem/1.3 "Playfair Display", serif; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 15px; }
.field { min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 6px; font-size: .8rem; font-weight: 700; }
.form-control { width: 100%; min-height: 48px; padding: 11px 12px; border: 1px solid #cfc3b0; border-radius: 10px; background: #fff; }
textarea.form-control { min-height: 96px; resize: vertical; }
.form-control:focus { outline: 3px solid rgba(217, 155, 36, .18); border-color: var(--gold); }
.errorlist { margin: 6px 0 0; padding: 0; list-style: none; color: #a22929; font-size: .78rem; }
.form-alert { margin-bottom: 22px; padding: 12px 14px; border-radius: 10px; color: #7c1e1e; background: #fae9e7; }
.terms-field { margin: 0 0 18px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; font-size: .82rem; }
.terms-field input { margin-top: 4px; }
.terms-field .errorlist { grid-column: 2; }
.field-help { margin-top: 5px; display: block; color: var(--muted); font-size: .72rem; }
.compliance-summary { margin: 0 0 18px; padding: 18px; border: 1px solid #e0c98d; border-radius: 14px; background: #fff8e6; }
.compliance-summary > strong { font-family: "Playfair Display", serif; font-size: 1.08rem; }
.compliance-summary ul { margin: 10px 0; padding-left: 20px; color: #5f564a; font-size: .82rem; }
.inline-policy-links { display: flex; flex-wrap: wrap; gap: 8px 15px; }
.inline-policy-links a { color: #76510d; font-size: .78rem; font-weight: 700; }
.success-section { min-height: 70vh; padding: 90px 20px; display: grid; place-items: center; background: linear-gradient(145deg, #f9f4eb, #eee2cf); }
.success-card { width: min(650px, 100%); padding: 52px; border: 1px solid #e1d2b8; border-radius: 32px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.success-icon { width: 62px; height: 62px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold); font-size: 1.6rem; }
.success-card h1 { font-size: 3rem; }
.order-summary { margin: 28px 0; padding: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; text-align: left; }
.order-summary div { padding: 11px 16px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.order-summary div:last-child { border: 0; }
.order-summary dt { color: var(--muted); }
.order-summary dd { margin: 0; font-weight: 700; text-align: right; }
.summary-total { background: var(--cream); }
.email-copy { color: var(--muted); font-size: .88rem; }
.policy-page { padding: 80px 0 100px; background: var(--cream); }
.policy-card { max-width: 820px; padding: 48px; border: 1px solid var(--line); border-radius: 28px; background: #fff; }
.policy-card > h1 { font: 700 3.4rem/1.1 "Playfair Display", serif; }
.policy-card h2 { margin-top: 34px; font: 700 1.4rem/1.2 "Playfair Display", serif; }
.policy-card p { color: #5f574d; }
.policy-card li { margin-bottom: 8px; color: #5f574d; }
.policy-updated { font-size: .82rem; }
.policy-nav { margin: 0 0 34px; padding: 14px 0; display: flex; flex-wrap: wrap; gap: 10px 18px; border-block: 1px solid var(--line); }
.policy-nav a { color: #775514; font-size: .78rem; font-weight: 700; text-underline-offset: 4px; }
.policy-callout { margin: 26px 0; padding: 18px 20px; border: 1px solid #e0c37a; border-radius: 15px; color: #5b461f; background: #fff7df; }
.merchant-card { margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--cream); }
.merchant-card h2 { margin-top: 16px; }
.merchant-card h2:first-child { margin-top: 0; }
.merchant-identity { color: #5f574d; font-style: normal; line-height: 1.75; }
.merchant-profile-warning { padding: 16px; border: 1px solid #dfb96a; border-radius: 12px; color: #76510d; background: #fff7df; }
.policy-contact { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }

@media (max-width: 900px) {
  .product-grid, .checkout-grid { grid-template-columns: 1fr; gap: 42px; }
  .product-gallery { min-height: 540px; }
  .checkout-copy { position: static; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 28px; }
}

@media (max-width: 768px) {
  .shell { width: min(100% - 28px, 620px); }
  .announcement { padding: 7px 12px; font-size: .66rem; }
  .header-inner { min-height: 66px; }
  .brand-name { font-size: 1.65rem; }
  .brand-tagline { font-size: .47rem; }
  .site-header nav a:not(.nav-cta) { display: none; }
  .nav-cta { padding: 9px 14px; font-size: .78rem; }
  .product-hero { padding: 28px 0 50px; }
  .product-grid { gap: 34px; }
  .product-gallery { min-height: 440px; border-radius: 26px; }
  .product-gallery picture, .product-gallery > img { width: min(76%, 340px); }
  .product-summary h1 { font-size: clamp(2.4rem, 12vw, 3.4rem); }
  .quick-order { padding: 18px; }
  .price-row { align-items: center; }
  .trust-row { justify-content: center; }
  .editorial-intro { padding: 74px 0 66px; }
  .a-plus { padding: 64px 0; }
  .a-plus-desktop { display: none; }
  .a-plus-mobile { width: min(100% - 24px, 520px); margin-inline: auto; display: grid; gap: 18px; }
  .mobile-story { overflow: hidden; border: 1px solid #e5d5b8; border-radius: 26px; background: #fffdf8; box-shadow: 0 14px 38px rgba(98, 68, 20, .1); }
  .gold-wash { background: radial-gradient(circle at 75% 16%, #fff4ca, transparent 34%), linear-gradient(160deg, #fff, #f4e6c7); }
  .mobile-visual { display: block; }
  .mobile-visual img { width: 100%; }
  .product-cutout { padding: 22px 24px 0; }
  .product-cutout img { max-height: 410px; object-fit: contain; }
  .story-copy { padding: 26px; }
  .story-copy h2 { margin-bottom: 18px; font: 700 clamp(2rem, 10vw, 3rem)/1.04 "Playfair Display", serif; letter-spacing: -.035em; }
  .story-copy .gold-checks { margin-bottom: 0; }
  .centered-copy { text-align: center; }
  .ingredients-story { background: radial-gradient(circle at 50% 35%, #fff7d8, transparent 35%), #fff; }
  .slim-bottle { width: 56%; margin: -4px auto 10px; }
  .ingredient-grid { padding: 0 20px 24px; display: grid; gap: 10px; }
  .ingredient-grid section { padding: 16px; border: 1px solid #ecd89e; border-radius: 16px; background: rgba(255,255,255,.9); }
  .ingredient-grid h3 { margin-bottom: 5px; color: var(--gold-dark); font-size: 1rem; letter-spacing: .05em; text-transform: uppercase; }
  .ingredient-grid p { margin: 0; color: var(--muted); font-size: .85rem; }
  .edge-to-edge img { aspect-ratio: 5 / 5.4; object-fit: cover; }
  .how-story .story-copy { margin-top: -56px; position: relative; border-radius: 24px 24px 0 0; background: rgba(255,253,249,.96); }
  .steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
  .steps li { padding: 14px; display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: start; border-radius: 15px; background: #f5e1aa; }
  .steps li > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold-dark); font-size: .72rem; font-weight: 700; }
  .steps strong { display: block; margin-bottom: 2px; }
  .steps p { margin: 0; color: #685c4a; font-size: .82rem; }
  .two-crops { height: 400px; position: relative; display: grid; grid-template-columns: 1fr 1fr; background: #f5ead7; }
  .two-crops picture { overflow: hidden; }
  .two-crops img { width: 100%; height: 100%; object-fit: cover; }
  .two-crops picture:first-child img { object-position: 42% center; }
  .stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .stat-grid div { min-width: 0; padding: 13px 6px; border-radius: 14px; color: #fff; background: var(--gold); text-align: center; }
  .stat-grid strong { display: block; font-size: 1.18rem; }
  .stat-grid span { display: block; font-size: .62rem; line-height: 1.2; }
  .absorb-story .edge-to-edge img { object-position: 65% center; }
  .concern-tags { display: flex; flex-wrap: wrap; gap: 8px; }
  .concern-tags span { padding: 7px 11px; border: 1px solid #e6c66f; border-radius: 999px; color: #775315; background: #fff6dc; font-size: .75rem; font-weight: 700; }
  .comparison-list { padding: 0 18px 22px; display: grid; gap: 15px; }
  .comparison-list section { overflow: hidden; border: 1px solid #e5bf5f; border-radius: 18px; background: linear-gradient(#fff, #eab142); text-align: center; }
  .comparison-list picture, .comparison-list img { width: 100%; }
  .comparison-list img { aspect-ratio: 306 / 350; object-fit: cover; }
  .comparison-list strong { display: block; margin-top: 9px; color: #fff; font-size: 2.2rem; line-height: 1; }
  .comparison-list p { margin: 5px 12px 14px; color: #fff; font-size: .82rem; font-weight: 700; }
  .final-cta-inner { flex-direction: column; align-items: flex-start; }
  .final-cta .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .checkout-section { padding: 52px 0 72px; }
  .checkout-form { padding: 22px 18px; }
  .field-row { grid-template-columns: 1fr; gap: 14px; }
  .success-card { padding: 36px 22px; }
  .success-card h1 { font-size: 2.5rem; }
  .policy-card { padding: 32px 22px; }
  .policy-card > h1 { font-size: 2.7rem; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 360px) {
  .shell { width: calc(100% - 20px); }
  .a-plus-mobile { width: calc(100% - 12px); }
  .story-copy { padding: 22px 18px; }
  .stat-grid { grid-template-columns: 1fr; }
  .stat-grid div { display: flex; align-items: center; justify-content: space-between; padding-inline: 14px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
