/** Shopify CDN: Minification failed

Line 1238:0 Unexpected "}"

**/
/* ==========================================================================
   Lavish Three — brand layer for the Craft theme
   Palette from the Lavish Three Web Designer Handoff
   ========================================================================== */
:root {
  --l3-ivory: #FAF7F2;
  --l3-white: #FFFFFF;
  --l3-charcoal: #2D2B2A;
  --l3-charcoal-soft: #5E5A57;
  --l3-rose: #D8A7AC;
  --l3-rose-deep: #B07A82;
  --l3-rose-tint: #F6ECEC;
  --l3-sage: #9EADA1;
  --l3-sage-deep: #6F8274;
  --l3-sage-tint: #EEF1EE;
  --l3-blue: #C9DCE5;
  --l3-blue-tint: #EEF4F7;
  --l3-line: #E8E1D8;
  --l3-sage-btn: #667369;
  --l3-sage-btn-hover: #56625A;
  --l3-serif: Georgia, 'Times New Roman', Times, serif;
  --l3-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --l3-radius: 0;
  --l3-max: 1440px;

  /* Point Craft's own type at the brand fonts so native pages match */
  --font-heading-family: var(--l3-serif);
  --font-heading-weight: 400;
  --font-body-family: var(--l3-sans);
  --font-body-weight: 400;
}

body { background: var(--l3-ivory); color: var(--l3-charcoal); font-family: var(--l3-sans); font-weight: 400; letter-spacing: 0; }
h1, h2, h3, .h0, .h1, .h2, .h3 { font-family: var(--l3-serif); font-weight: 400; letter-spacing: .01em; }

/* ---------- Shared building blocks ---------- */
.l3 { font-family: var(--l3-sans); color: var(--l3-charcoal); }
.l3 *, .l3 *::before, .l3 *::after { box-sizing: border-box; }
.l3-wrap { max-width: var(--l3-max); margin: 0 auto; padding: 0 clamp(2rem, 7vw, 10.4rem); }
.l3-section { padding: 9rem 0; }
.l3-section--tight { padding: 6rem 0; }
.l3-bg-ivory { background: var(--l3-ivory); }
.l3-bg-white { background: var(--l3-white); }
.l3-bg-rose { background: var(--l3-rose-tint); }
.l3-bg-sage { background: var(--l3-sage-tint); }
.l3-bg-blue { background: var(--l3-blue-tint); }

.l3-eyebrow { display: inline-block; font-family: var(--l3-sans); font-size: 1.2rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--l3-rose-deep); margin: 0 0 2rem; }
.l3-eyebrow--sage { color: var(--l3-sage-deep); }
.l3-eyebrow--rose { color: var(--l3-rose-deep); }
.l3-title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(4.6rem, 6.2vw, 9.6rem); line-height: 1; letter-spacing: -.015em; margin: 0 0 3.2rem; color: var(--l3-charcoal); }
.l3-title em, .l3-h2 em { display: block; font-style: italic; color: var(--l3-rose); }
.l3-h2 em { display: inline; }
.l3-h2 { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(3.8rem, 4.8vw, 7.2rem); line-height: 1.02; letter-spacing: -.015em; margin: 0 0 3.2rem; }
.l3-h2--md { font-size: clamp(3.2rem, 3.6vw, 5.2rem); }
.l3-h3 { font-family: var(--l3-serif); font-weight: 400; font-size: 2.6rem; line-height: 1.2; margin: 0 0 1rem; }
.l3-lead { font-family: var(--l3-serif); font-size: clamp(1.8rem, 1.5vw, 2.2rem); line-height: 1.75; color: var(--l3-charcoal-soft); max-width: 64rem; margin: 0 0 3.2rem; }
.l3-body { font-size: 1.6rem; line-height: 1.8; color: var(--l3-charcoal-soft); }
.l3-body--serif { font-family: var(--l3-serif); font-size: 1.75rem; }
.l3-body p { margin: 0 0 1.6rem; }
.l3-small { font-size: 1.3rem; line-height: 1.6; color: var(--l3-charcoal-soft); }
.l3-center { text-align: center; }
.l3-center .l3-lead { margin-left: auto; margin-right: auto; }
.l3-rule { width: 4.8rem; height: 1px; background: var(--l3-rose); border: 0; margin: 2.4rem 0; }
.l3-center .l3-rule { margin-left: auto; margin-right: auto; }
.l3-heart { color: var(--l3-rose-deep); }

.l3-btn { display: inline-flex; align-items: center; justify-content: center; gap: 2.4rem; min-height: 5.4rem; padding: 1.6rem 3.2rem; border: 1px solid var(--l3-sage-btn); background: var(--l3-sage-btn); color: var(--l3-white); font-family: var(--l3-sans); font-size: 1.35rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-radius: 0; cursor: pointer; transition: background .25s ease, border-color .25s ease, color .25s ease; }
.l3-btn:hover { background: var(--l3-sage-btn-hover); border-color: var(--l3-sage-btn-hover); color: var(--l3-white); }
.l3-btn__arrow { font-weight: 400; font-size: 1.8rem; line-height: 1; }
.l3-btn--ghost { background: transparent; border-color: var(--l3-charcoal-soft); color: var(--l3-sage-btn); font-weight: 600; letter-spacing: .06em; text-transform: none; font-size: 1.45rem; min-height: 4.8rem; padding: 1.2rem 2.4rem; }
.l3-btn--ghost:hover { background: var(--l3-sage-btn); border-color: var(--l3-sage-btn); color: var(--l3-white); }
.l3-btn--block { width: 100%; }
.l3-btn[disabled] { opacity: .55; cursor: not-allowed; }
.l3-textlink { display: inline-block; font-family: var(--l3-sans); font-size: 1.5rem; font-weight: 600; letter-spacing: .04em; color: var(--l3-charcoal); text-decoration: none; border-bottom: 1px solid var(--l3-charcoal); padding-bottom: .6rem; }
.l3-textlink:hover { color: var(--l3-sage-btn); border-color: var(--l3-sage-btn); }
.l3-textlink--serif { font-family: var(--l3-serif); font-weight: 400; font-size: 1.7rem; color: var(--l3-charcoal-soft); border-color: var(--l3-charcoal-soft); padding-bottom: .2rem; }
.l3-link { font-size: 1.2rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--l3-sage-deep); text-decoration: none; }
.l3-link:hover { color: var(--l3-rose-deep); }
.l3 a:focus-visible, .l3 button:focus-visible, .l3 input:focus-visible, .l3 summary:focus-visible, .l3 label:focus-within { outline: 2px solid var(--l3-sage-deep); outline-offset: 3px; }

.l3-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.l3-media { position: relative; overflow: hidden; background: var(--l3-line); }
.l3-temp-tag { position: absolute; left: 1rem; bottom: 1rem; background: rgba(255,255,255,.85); font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; padding: .3rem .7rem; color: var(--l3-charcoal-soft); }

/* ---------- Hero ---------- */
.l3-hero { position: relative; min-height: min(86vh, 76rem); display: flex; align-items: flex-end; color: var(--l3-white); }
.l3-hero__media { position: absolute; inset: 0; }
.l3-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(45,43,42,.05) 30%, rgba(45,43,42,.48) 100%); }
.l3-hero__inner { position: relative; z-index: 1; width: 100%; padding-bottom: 7rem; padding-top: 12rem; }
.l3-hero .l3-title { color: var(--l3-white); max-width: 74rem; }
.l3-hero .l3-lead { color: rgba(255,255,255,.92); }
.l3-hero .l3-eyebrow { color: var(--l3-white); }
.l3-hero__actions { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; }
.l3-hero__actions .l3-btn--ghost { border-color: var(--l3-white); color: var(--l3-white); }
.l3-hero__actions .l3-btn--ghost:hover { background: var(--l3-white); color: var(--l3-charcoal); }
.l3-badges { display: flex; flex-wrap: wrap; gap: .6rem 2.4rem; list-style: none; padding: 0; margin: 3.2rem 0 0; font-size: 1.2rem; letter-spacing: .2em; text-transform: uppercase; }
.l3-badges li::before { content: "✿"; margin-right: .8rem; color: var(--l3-rose); }
.l3-badges--dark { color: var(--l3-charcoal-soft); }

/* ---------- Split (image + text) ---------- */
.l3-split { display: grid; grid-template-columns: 1fr 1fr; gap: 7rem; align-items: center; }
.l3-split--reverse .l3-split__media { order: 2; }
.l3-split__media { aspect-ratio: 4 / 5; }
.l3-split__media--wide { aspect-ratio: 5 / 4; }

/* ---------- Numbered cards ---------- */
.l3-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.6rem; margin-top: 5rem; }
.l3-cards--3 { grid-template-columns: repeat(3, 1fr); }
.l3-cards--4 { grid-template-columns: repeat(4, 1fr); }
.l3-card { background: var(--l3-white); border: 1px solid var(--l3-line); padding: 3rem 2.4rem; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: border-color .25s ease, transform .25s ease; }
a.l3-card:hover { border-color: var(--l3-rose); transform: translateY(-2px); }
.l3-card__num { font-family: var(--l3-serif); font-size: 1.6rem; color: var(--l3-rose-deep); margin-bottom: 2.4rem; }
.l3-card__meta { margin-top: auto; padding-top: 2rem; font-size: 1.15rem; letter-spacing: .18em; text-transform: uppercase; color: var(--l3-sage-deep); }
.l3-card .l3-body { font-size: 1.45rem; }

/* ---------- Steps ---------- */
.l3-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 4rem 0; border-top: 1px solid var(--l3-line); }
.l3-step { padding: 2.8rem 2.4rem 0 0; }
.l3-step + .l3-step { border-left: 1px solid var(--l3-line); padding-left: 2.4rem; }
.l3-step__num { font-size: 1.15rem; letter-spacing: .24em; color: var(--l3-sage-deep); }

/* ---------- Inquiry band ---------- */
.l3-cta { text-align: center; }
.l3-cta .l3-lead { margin-left: auto; margin-right: auto; }

/* ---------- Collection hero (kept short so products come quickly) ---------- */
.l3-chero { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 44rem; background: var(--l3-white); }
.l3-chero__text { padding: 6rem 6rem 6rem max(2.4rem, calc((100vw - var(--l3-max)) / 2 + 2.4rem)); display: flex; flex-direction: column; justify-content: center; }
.l3-chero__media { min-height: 34rem; }
.l3-crumbs { font-size: 1.2rem; letter-spacing: .12em; color: var(--l3-charcoal-soft); margin-bottom: 2.4rem; }
.l3-crumbs a { color: inherit; text-decoration: none; }
.l3-crumbs a:hover { color: var(--l3-rose-deep); }
.l3-crumbs span { margin: 0 .6rem; color: var(--l3-rose); }

/* ---------- Product cards (collections) ---------- */
.l3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.2rem 2.4rem; }
.l3-pcard { display: flex; flex-direction: column; text-decoration: none; color: inherit; background: var(--l3-white); border: 1px solid var(--l3-line); transition: border-color .25s ease; }
.l3-pcard:hover { border-color: var(--l3-rose); }
.l3-pcard__media { aspect-ratio: 4 / 5; }
.l3-pcard__body { padding: 2.4rem; display: flex; flex-direction: column; flex: 1; }
.l3-pcard__price { margin-top: auto; padding-top: 1.6rem; display: flex; justify-content: space-between; align-items: baseline; font-size: 1.35rem; letter-spacing: .08em; }
.l3-pcard__price .l3-link { font-size: 1.1rem; }
.l3-pcard--soon { opacity: .9; }
.l3-swatch { display: inline-block; width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 1px solid var(--l3-line); vertical-align: middle; margin-right: .8rem; }

/* Size table */
.l3-sizes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.2rem; margin-top: 3.2rem; }
.l3-size { background: var(--l3-white); border: 1px solid var(--l3-line); padding: 2.4rem 1.8rem; text-align: center; }
.l3-size__name { font-family: var(--l3-serif); font-size: 2.2rem; }
.l3-size__vol { font-size: 1.2rem; letter-spacing: .14em; text-transform: uppercase; color: var(--l3-sage-deep); margin: .6rem 0 1rem; }
.l3-size__price { font-size: 1.6rem; margin-top: 1.2rem; }

/* ---------- Product page ---------- */
.l3-product { padding: 4rem 0 8rem; background: var(--l3-ivory); }
.l3-product__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 6rem; align-items: start; }
.l3-gallery { position: sticky; top: 2rem; }
.l3-gallery__main { position: relative; aspect-ratio: 4 / 5; background: var(--l3-white); overflow: hidden; }
.l3-gallery__track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.l3-gallery__track::-webkit-scrollbar { display: none; }
.l3-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; height: 100%; }
.l3-gallery__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 1px solid var(--l3-line); background: rgba(255,255,255,.9); color: var(--l3-charcoal); font-size: 1.8rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.l3-gallery__arrow--prev { left: 1.2rem; } .l3-gallery__arrow--next { right: 1.2rem; }
.l3-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; margin-top: 1rem; }
.l3-thumb { aspect-ratio: 1; padding: 0; border: 1px solid var(--l3-line); background: var(--l3-white); cursor: pointer; overflow: hidden; }
.l3-thumb[aria-current="true"] { border-color: var(--l3-rose-deep); }
.l3-dots { display: none; justify-content: center; gap: .6rem; margin-top: 1.2rem; }
.l3-dots span { width: .7rem; height: .7rem; border-radius: 50%; background: var(--l3-line); }
.l3-dots span.is-active { background: var(--l3-rose-deep); }

.l3-info .l3-title { font-size: clamp(3.6rem, 4.4vw, 5.4rem); margin-bottom: 1.2rem; }
.l3-stars { font-size: 1.3rem; color: var(--l3-charcoal-soft); margin-bottom: 1.6rem; }
.l3-stars b { color: var(--l3-rose-deep); font-weight: 400; letter-spacing: .15em; margin-right: .6rem; }
.l3-price { font-family: var(--l3-serif); font-size: 3rem; margin: 1.6rem 0 2.4rem; }
.l3-highlight { background: var(--l3-rose-tint); border-left: 2px solid var(--l3-rose); padding: 1.2rem 1.6rem; font-size: 1.45rem; margin: 0 0 2.8rem; }
.l3-field { border: 0; padding: 0; margin: 0 0 2.8rem; min-width: 0; }
.l3-field__label { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: 1.2rem; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 1.2rem; padding: 0; }
.l3-field__label small { font-size: 1.2rem; letter-spacing: .04em; text-transform: none; color: var(--l3-charcoal-soft); }
.l3-field__hint { font-size: 1.35rem; color: var(--l3-charcoal-soft); margin: -.4rem 0 1.2rem; }

.l3-uses { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.l3-choice { position: relative; display: block; cursor: pointer; }
.l3-choice input { position: absolute; opacity: 0; pointer-events: none; }
.l3-choice__box { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.4rem 1.4rem; border: 1px solid var(--l3-line); background: var(--l3-white); border-radius: var(--l3-radius); transition: border-color .2s ease, background .2s ease; }
.l3-choice:hover .l3-choice__box { border-color: var(--l3-rose); }
.l3-choice input:checked + .l3-choice__box { border-color: var(--l3-rose-deep); background: var(--l3-rose-tint); box-shadow: inset 0 0 0 1px var(--l3-rose-deep); }
.l3-choice input:focus-visible + .l3-choice__box { outline: 2px solid var(--l3-sage-deep); outline-offset: 2px; }
.l3-choice input:disabled + .l3-choice__box { opacity: .45; cursor: not-allowed; }
.l3-choice__title { font-size: 1.45rem; font-weight: 400; }
.l3-choice__sub { font-size: 1.25rem; color: var(--l3-charcoal-soft); }
.l3-choice__price { font-family: var(--l3-serif); font-size: 1.9rem; margin-top: auto; padding-top: .4rem; }
.l3-uses .l3-choice__box { text-align: center; justify-content: center; }

.l3-size-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .8rem; }
.l3-size-grid .l3-choice[hidden] { display: none; }
.l3-dispatch { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.l3-date { margin-top: 1.2rem; }
.l3-date label { display: block; font-size: 1.3rem; margin-bottom: .6rem; }
.l3-input { width: 100%; min-height: 4.8rem; padding: 1rem 1.4rem; border: 1px solid var(--l3-line); background: var(--l3-white); font-family: var(--l3-sans); font-size: 1.5rem; color: var(--l3-charcoal); border-radius: var(--l3-radius); }
.l3-buy { display: grid; grid-template-columns: 13rem 1fr; gap: 1rem; margin: 3.2rem 0 1.6rem; }
.l3-qty { display: grid; grid-template-columns: 4rem 1fr 4rem; border: 1px solid var(--l3-line); background: var(--l3-white); border-radius: var(--l3-radius); }
.l3-qty button { border: 0; background: none; font-size: 1.8rem; cursor: pointer; color: var(--l3-charcoal); }
.l3-qty input { width: 100%; border: 0; text-align: center; font-family: var(--l3-sans); font-size: 1.5rem; background: none; -moz-appearance: textfield; }
.l3-qty input::-webkit-outer-spin-button, .l3-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.l3-trust { text-align: center; font-size: 1.2rem; letter-spacing: .16em; text-transform: uppercase; color: var(--l3-sage-deep); margin: 0 0 3.2rem; }
.l3-msg { font-size: 1.35rem; margin: 0 0 1.2rem; color: var(--l3-rose-deep); min-height: 1em; }

.l3-acc { border-top: 1px solid var(--l3-line); }
.l3-acc details { border-bottom: 1px solid var(--l3-line); }
.l3-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 1.8rem 0; font-size: 1.3rem; letter-spacing: .18em; text-transform: uppercase; }
.l3-acc summary::-webkit-details-marker { display: none; }
.l3-acc summary::after { content: "+"; font-size: 2rem; font-weight: 300; color: var(--l3-rose-deep); letter-spacing: 0; }
.l3-acc details[open] summary::after { content: "–"; }
.l3-acc__body { padding: 0 0 2rem; font-size: 1.5rem; line-height: 1.75; color: var(--l3-charcoal-soft); }
.l3-acc__body p { margin: 0 0 1rem; }

.l3-plan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-top: 4rem; }
.l3-plan .l3-card__num { margin-bottom: 1.2rem; }
.l3-tiers { list-style: none; padding: 0; margin: 1.6rem 0 0; font-size: 1.4rem; }
.l3-tiers li { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--l3-line); }
.l3-tiers li span:last-child { color: var(--l3-charcoal-soft); text-align: right; }
.l3-cover { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-top: 4rem; }
.l3-cover__big { font-family: var(--l3-serif); font-size: 4.4rem; color: var(--l3-rose-deep); line-height: 1; margin-bottom: 1.2rem; }

/* ---------- Page (rich text) ---------- */
.l3-rte { max-width: 72rem; margin: 0 auto; font-size: 1.6rem; line-height: 1.8; color: var(--l3-charcoal-soft); }
.l3-rte h2, .l3-rte h3 { color: var(--l3-charcoal); }

/* ---------- Footer ---------- */
.l3-footer { background: var(--l3-ivory); border-top: 1px solid var(--l3-line); padding: 7rem 0 4rem; text-align: center; }
.l3-footer__logo { width: min(30rem, 70%); height: auto; margin: 0 auto 1.6rem; display: block; }
.l3-footer__desc { font-size: 1.15rem; letter-spacing: .28em; text-transform: uppercase; color: var(--l3-sage-deep); margin: 0 0 1rem; }
.l3-footer__line { font-family: var(--l3-serif); font-style: italic; font-size: 2rem; color: var(--l3-charcoal-soft); margin: 0 0 3.2rem; }
.l3-footer__nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem 3.2rem; list-style: none; padding: 0; margin: 0 0 3.2rem; }
.l3-footer__nav a { font-size: 1.2rem; letter-spacing: .2em; text-transform: uppercase; color: var(--l3-charcoal); text-decoration: none; }
.l3-footer__nav a:hover { color: var(--l3-rose-deep); }
.l3-footer__motto { font-size: 1.2rem; letter-spacing: .3em; text-transform: uppercase; color: var(--l3-rose-deep); margin: 0 0 3.2rem; }
.l3-footer__legal { font-size: 1.15rem; color: var(--l3-charcoal-soft); border-top: 1px solid var(--l3-line); padding-top: 2.4rem; display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 2rem; }
.l3-footer__legal a { color: inherit; text-decoration: none; }

/* ---------- Header polish ---------- */
.header__heading-logo-wrapper { text-align: center; }
.l3-logo-desc { display: block; font-family: var(--l3-sans); font-size: 1rem; letter-spacing: .32em; text-transform: uppercase; color: var(--l3-sage-deep); margin-top: .6rem; text-align: center; white-space: nowrap; }
.header__menu-item { font-family: var(--l3-sans); font-size: 1.25rem; letter-spacing: .16em; text-transform: uppercase; }
.announcement-bar__message { font-family: var(--l3-sans); font-size: 1.1rem; letter-spacing: .26em; text-transform: uppercase; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .l3-cards { grid-template-columns: repeat(3, 1fr); }
  .l3-sizes { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 989px) {
  .l3-section { padding: 6.4rem 0; }
  .l3-split, .l3-product__grid, .l3-chero { grid-template-columns: 1fr; gap: 3.6rem; }
  .l3-split--reverse .l3-split__media { order: 0; }
  .l3-chero__text { padding: 4.8rem 2.4rem; }
  .l3-chero__media { min-height: 26rem; order: -1; }
  .l3-gallery { position: static; }
  .l3-grid, .l3-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .l3-plan, .l3-cover, .l3-cards--3 { grid-template-columns: 1fr; }
}
@media (max-width: 749px) {
  .l3-wrap { padding: 0 1.6rem; }
  .l3-hero { min-height: 72vh; }
  .l3-hero__inner { padding-bottom: 4.8rem; }
  .l3-cards, .l3-grid, .l3-cards--4 { grid-template-columns: 1fr; }
  .l3-sizes { grid-template-columns: repeat(2, 1fr); }
  .l3-steps { grid-template-columns: 1fr; }
  .l3-step, .l3-step + .l3-step { border-left: 0; padding: 2.4rem 0; border-bottom: 1px solid var(--l3-line); }
  .l3-thumbs, .l3-gallery__arrow { display: none; }
  .l3-dots { display: flex; }
  .l3-gallery__main { aspect-ratio: 1 / 1; margin: 0 -1.6rem; }
  .l3-size-grid { grid-template-columns: 1fr 1fr; }
  .l3-uses { grid-template-columns: 1fr; }
  .l3-dispatch { grid-template-columns: 1fr; }
  .l3-buy { grid-template-columns: 11rem 1fr; }
  .l3-logo-desc { font-size: .85rem; letter-spacing: .2em; }
}
@media (prefers-reduced-motion: reduce) { .l3 * { transition: none !important; scroll-behavior: auto !important; } }

/* ==========================================================================
   Homepage components — matched to the approved mockup screenshots
   ========================================================================== */

/* ---------- Header ---------- */
.l3-header { position: relative; z-index: 20; background: var(--l3-ivory); border-bottom: 1px solid var(--l3-line); }
.l3-header__bar { max-width: 1800px; margin: 0 auto; padding: 2rem clamp(2rem, 4.6vw, 9.2rem); display: flex; align-items: center; justify-content: space-between; gap: 2.4rem; min-height: 9rem; }
.l3-brand { text-decoration: none; color: var(--l3-charcoal); display: inline-flex; flex-direction: column; gap: .5rem; }
.l3-brand__name { font-family: var(--l3-serif); font-size: clamp(2rem, 1.7vw, 2.6rem); letter-spacing: .09em; text-transform: uppercase; line-height: 1; }
.l3-brand__desc { font-family: var(--l3-sans); font-size: .95rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--l3-sage-deep); line-height: 1; }
.l3-brand__logo { display: block; width: var(--l3-logo-w, 240px); max-width: 60vw; height: auto; }
.l3-nav { display: flex; align-items: center; gap: clamp(2.4rem, 3.2vw, 5.6rem); }
.l3-nav__link, .l3-nav__drop > summary { font-family: var(--l3-sans); font-size: 1.45rem; font-weight: 600; letter-spacing: .06em; color: var(--l3-charcoal); text-decoration: none; cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: .8rem; padding: 1rem 0; }
.l3-nav__drop > summary::-webkit-details-marker { display: none; }
.l3-nav__drop > summary::after { content: "v"; font-size: 1.05rem; font-weight: 400; color: var(--l3-rose-deep); transform: translateY(.3rem); }
.l3-nav__drop > summary { border-bottom: 1px solid transparent; padding-bottom: 1.4rem; margin-bottom: -.4rem; }
.l3-nav__drop[open] > summary, .l3-nav__drop:hover > summary { border-bottom-color: var(--l3-sage-btn); }
.l3-nav__link:hover, .l3-nav__drop > summary:hover { color: var(--l3-charcoal); }
.l3-nav__link:hover { color: var(--l3-sage-btn); }
.l3-nav__drop { position: relative; }
.l3-nav__menu { position: absolute; top: calc(100% + 1.6rem); left: -6.4rem; min-width: 28rem; background: rgba(255,255,255,.97); border: 1px solid var(--l3-line); box-shadow: 0 1.6rem 4rem rgba(45,43,42,.08); padding: 1.6rem 0; list-style: none; margin: 0; }
.l3-nav__menu a { display: block; padding: 1.5rem 3.6rem; font-family: var(--l3-sans); font-size: 1.7rem; font-weight: 600; letter-spacing: .05em; color: var(--l3-charcoal-soft); text-decoration: none; white-space: nowrap; }
.l3-nav__menu a:hover, .l3-nav__menu a:focus-visible { color: var(--l3-sage-btn); background: var(--l3-ivory); }
.l3-cart { position: relative; display: inline-flex; color: var(--l3-charcoal); }
.l3-cart svg { width: 2.2rem; height: 2.2rem; }
.l3-cart__count { position: absolute; top: -.6rem; right: -.9rem; min-width: 1.8rem; height: 1.8rem; border-radius: 1rem; background: var(--l3-rose); color: var(--l3-charcoal); font-size: 1.05rem; font-weight: 600; display: flex; align-items: center; justify-content: center; padding: 0 .4rem; }
.l3-burger { display: none; }
.l3-mnav { display: none; }

/* ---------- Split hero ---------- */
.l3-hero2 { display: grid; grid-template-columns: 47fr 53fr; min-height: clamp(62rem, calc(100vh - 9rem), 96rem); background: linear-gradient(160deg, #EFF2F0 0%, #FAF7F2 45%, #F6EEEA 100%); }
.l3-hero2__text { display: flex; flex-direction: column; justify-content: center; padding: 8rem clamp(2.4rem, 5vw, 9rem) 8rem clamp(2rem, 7.2vw, 14.4rem); }
.l3-hero2 .l3-eyebrow { margin-bottom: 3.2rem; }
.l3-hero2 .l3-title { margin-bottom: 4rem; max-width: 64rem; }
.l3-hero2 .l3-lead { margin-bottom: 4.8rem; max-width: 58rem; }
.l3-hero2__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 2rem 3.6rem; }
.l3-hero2__actions .l3-btn { padding: 1.6rem 2.8rem; gap: 2rem; }
.l3-hero2__media { position: relative; overflow: hidden; min-height: 42rem; }
.l3-hero2 .l3-badges { color: var(--l3-charcoal-soft); margin-top: 4.8rem; font-size: 1.1rem; font-weight: 600; letter-spacing: .18em; }
.l3-hero2 .l3-badges li::before { content: "•"; color: var(--l3-rose); }
.l3-tag { position: absolute; left: 3.6rem; bottom: 0; background: var(--l3-white); padding: 1.6rem 2.4rem; font-family: var(--l3-serif); font-size: 1.5rem; color: var(--l3-charcoal); max-width: calc(100% - 7.2rem); }
.l3-tag small { display: block; font-family: var(--l3-sans); font-size: 1rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--l3-rose-deep); margin-top: .4rem; }

/* ---------- Collection list ---------- */
.l3-clist { position: relative; background: linear-gradient(200deg, #EEF4F7 0%, #FFFFFF 28%, #FFFFFF 70%, #FBF6F4 100%); padding: 9.6rem 0 10rem; }
.l3-clist__head { display: grid; grid-template-columns: 1fr minmax(0, 42rem); gap: 6rem; align-items: start; margin-bottom: 8rem; }
.l3-clist__head .l3-h2 { margin: 0; max-width: 96rem; }
.l3-quote { background: linear-gradient(90deg, #E9F0F4, #F3F7F9); border-left: 3px solid var(--l3-rose); padding: 3.2rem 4rem 3.2rem 3.2rem; font-family: var(--l3-serif); font-style: italic; font-size: clamp(1.8rem, 1.5vw, 2.2rem); line-height: 1.65; color: var(--l3-charcoal); margin: 0; }
.l3-clist__body { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(4rem, 6vw, 10rem); align-items: start; }
.l3-clist__media { position: sticky; top: 3rem; }
.l3-clist__img { aspect-ratio: 740 / 925; overflow: hidden; }
.l3-clist__caption { display: flex; justify-content: space-between; gap: 2rem; padding: 2.4rem 0; border-bottom: 1px solid var(--l3-line); font-size: 1.15rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--l3-sage-deep); }
.l3-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--l3-line); }
.l3-row { border-bottom: 1px solid var(--l3-line); }
.l3-row__link { display: grid; grid-template-columns: 7rem 1fr 5.6rem; gap: 0 1.6rem; align-items: start; padding: 5.2rem 0 4.8rem; text-decoration: none; color: inherit; }
.l3-row__num { font-size: 1.15rem; font-weight: 600; letter-spacing: .12em; color: var(--l3-rose-deep); padding-top: 1.4rem; }
.l3-row__title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(2.8rem, 2.4vw, 3.8rem); line-height: 1.15; margin: 0 0 2rem; }
.l3-row__text { font-size: 1.6rem; line-height: 1.8; color: var(--l3-charcoal-soft); margin: 0 0 2.4rem; }
.l3-row__meta { font-size: 1.2rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--l3-sage-deep); }
.l3-row__arrow { align-self: center; width: 5.6rem; height: 5.6rem; border-radius: 50%; border: 1px solid var(--l3-line); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: var(--l3-charcoal-soft); transition: background .25s ease, color .25s ease, border-color .25s ease; }
a.l3-row__link:hover .l3-row__arrow { background: var(--l3-sage-btn); border-color: var(--l3-sage-btn); color: var(--l3-white); }
a.l3-row__link:hover .l3-row__title { color: var(--l3-sage-btn); }

/* ---------- Story (full-bleed image + text) ---------- */
.l3-story2 { display: grid; grid-template-columns: 1fr 1fr; background: linear-gradient(180deg, #F2F1EE 0%, #FAF7F2 55%, #F8F1EE 100%); }
.l3-story2--reverse .l3-story2__media { order: 2; }
.l3-story2__media { position: relative; overflow: hidden; min-height: 60rem; }
.l3-story2__text { padding: 10rem clamp(2.4rem, 7vw, 14rem); display: flex; flex-direction: column; justify-content: center; }
.l3-story2 .l3-h2 { margin-bottom: 4rem; }
.l3-steps2 { list-style: none; margin: 4.8rem 0 4.8rem; padding: 0; border-top: 1px solid var(--l3-line); }
.l3-steps2 li { display: grid; grid-template-columns: 6rem 1fr; padding: 2.4rem 0; border-bottom: 1px solid var(--l3-line); }
.l3-steps2__num { font-size: 1.1rem; font-weight: 600; letter-spacing: .12em; color: var(--l3-rose-deep); padding-top: .6rem; }
.l3-steps2 h3 { font-family: var(--l3-serif); font-weight: 400; font-size: 2.1rem; margin: 0 0 .6rem; }
.l3-steps2 p { margin: 0; font-size: 1.45rem; color: var(--l3-charcoal-soft); }

/* ---------- Inquiry band ---------- */
.l3-inq { background: linear-gradient(115deg, #DDAEB2 0%, #E8CACD 38%, #EEE6E8 62%, #D2E1E7 100%); padding: 11rem 0; }
.l3-inq__grid { display: grid; grid-template-columns: 1fr auto; gap: 4rem 8rem; align-items: center; }
.l3-inq .l3-eyebrow { color: #B27F87; }
.l3-inq .l3-h2 { max-width: 80rem; }
.l3-inq .l3-lead { margin-bottom: 0; max-width: 80rem; }
.l3-inq__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 2.4rem; }

/* ---------- Footer (layout from mockup; colour selectable) ---------- */
.l3-footer2 { padding: 7.2rem 0 5.6rem; }
.l3-footer2--dark { background: var(--l3-charcoal); color: var(--l3-white); }
.l3-footer2--light { background: var(--l3-ivory); color: var(--l3-charcoal); border-top: 1px solid var(--l3-line); }
.l3-footer2__grid { max-width: 1800px; margin: 0 auto; padding: 0 clamp(2rem, 5.2vw, 10.4rem); display: grid; grid-template-columns: 1fr auto 1fr; gap: 3.2rem 6rem; align-items: end; }
.l3-footer2__name { font-family: var(--l3-serif); font-size: 2.2rem; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 2rem; }
.l3-footer2__desc { font-family: var(--l3-serif); font-size: 1.5rem; margin: 0 0 .8rem; }
.l3-footer2__line { font-family: var(--l3-serif); font-style: italic; font-size: 1.4rem; opacity: .75; margin: 0; }
.l3-footer2__nav { display: flex; flex-wrap: nowrap; gap: 1.2rem 4rem; white-space: nowrap; list-style: none; margin: 0; padding: 0; justify-content: center; }
.l3-footer2__nav a { color: inherit; text-decoration: none; font-size: 1.3rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.l3-footer2__nav a:hover { color: var(--l3-rose); }
.l3-footer2__motto { text-align: right; font-size: 1.25rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--l3-blue); margin: 0; }
.l3-footer2--light .l3-footer2__motto { color: var(--l3-rose-deep); }
.l3-footer2__legal { max-width: 1800px; margin: 4.8rem auto 0; padding: 2.4rem clamp(2rem, 5.2vw, 10.4rem) 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: .8rem 2.4rem; font-size: 1.2rem; opacity: .7; }
.l3-footer2--light .l3-footer2__legal { border-top-color: var(--l3-line); }
.l3-footer2__legal a { color: inherit; text-decoration: none; }

@media (max-width: 989px) {
  .l3-nav { display: none; }
  .l3-burger { display: inline-flex; background: none; border: 0; padding: .8rem; cursor: pointer; color: var(--l3-charcoal); list-style: none; }
  .l3-burger::-webkit-details-marker { display: none; }
  .l3-burger svg { width: 2.4rem; height: 2.4rem; }
  .l3-mnav { display: block; }
  .l3-mnav__panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--l3-ivory); border-bottom: 1px solid var(--l3-line); padding: 1.6rem 2rem 2.8rem; box-shadow: 0 1.6rem 3rem rgba(45,43,42,.08); }
  .l3-mnav__panel a { display: block; padding: 1.2rem 0; font-size: 1.6rem; color: var(--l3-charcoal); text-decoration: none; border-bottom: 1px solid var(--l3-line); }
  .l3-mnav__panel .l3-mnav__sub a { padding-left: 1.6rem; font-size: 1.5rem; color: var(--l3-charcoal-soft); }
  .l3-mnav__panel .l3-btn { margin-top: 2rem; width: 100%; }
  .l3-header__tools { display: flex; align-items: center; gap: 1.6rem; }
  .l3-hero2, .l3-story2 { grid-template-columns: 1fr; }
  .l3-hero2__media { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
  .l3-hero2__text { padding: 5.6rem 2rem 6.4rem; }
  .l3-story2--reverse .l3-story2__media { order: 0; }
  .l3-story2__media { min-height: 0; aspect-ratio: 4 / 3; }
  .l3-story2__text { padding: 6.4rem 2rem; }
  .l3-clist { padding: 6.4rem 0; }
  .l3-clist__head, .l3-clist__body, .l3-inq__grid { grid-template-columns: 1fr; gap: 3.2rem; }
  .l3-clist__head { margin-bottom: 4.8rem; }
  .l3-clist__media { position: static; }
  .l3-footer2__grid { grid-template-columns: 1fr; text-align: center; align-items: center; }
  .l3-footer2__nav { flex-wrap: wrap; white-space: normal; }
  .l3-footer2__motto { text-align: center; }
  .l3-footer2__legal { justify-content: center; }
  .l3-inq { padding: 7.2rem 0; }
}
@media (min-width: 990px) { .l3-header__tools .l3-burger, .l3-mnav { display: none; } .l3-header__tools { display: contents; } }
@media (max-width: 749px) {
  .l3-row__link { grid-template-columns: 4.4rem 1fr; padding: 3.6rem 0; }
  .l3-row__arrow { display: none; }
  .l3-tag { left: 1.6rem; max-width: calc(100% - 3.2rem); }
  .l3-brand__desc { font-size: .8rem; letter-spacing: .16em; }
}

/* ==========================================================================
   Collection page components — matched to the Petal Confetti screenshots
   ========================================================================== */
.l3-kicker { font-family: var(--l3-serif); font-style: italic; font-size: 1.8rem; color: var(--l3-sage-deep); margin: 0 0 1.2rem; }
.l3-split-head { display: grid; grid-template-columns: 1fr minmax(0, 58rem); gap: 4rem 8rem; align-items: end; margin-bottom: 7.2rem; }
.l3-split-head .l3-h2 { margin: 0; max-width: 90rem; }
.l3-split-head .l3-lead { margin: 0; font-size: clamp(1.7rem, 1.35vw, 2rem); }

/* Page hero: image left, text right */
.l3-phero { display: grid; grid-template-columns: 52fr 48fr; min-height: clamp(56rem, 76vh, 86rem); background: linear-gradient(200deg, #EBEFED 0%, #FAF7F2 30%, #FAF7F2 70%, #F3E9E6 100%); }
.l3-phero__media { position: relative; min-height: 40rem; }
.l3-phero__tag { position: absolute; top: 3.2rem; left: 3.2rem; background: rgba(255,255,255,.94); padding: 1.4rem 2rem; font-size: 1.15rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--l3-charcoal-soft); }
.l3-phero__text { display: flex; flex-direction: column; justify-content: center; padding: 8rem clamp(2.4rem, 5vw, 9rem) 8rem clamp(2.4rem, 5vw, 10rem); }
.l3-phero .l3-title { margin-bottom: 3.2rem; }
.l3-phero .l3-lead { max-width: 76rem; }
.l3-note { display: flex; gap: 1.6rem; align-items: baseline; background: #F3E9E7; border-left: 2px solid var(--l3-rose); padding: 2.2rem 2.8rem; margin: 0 0 4.8rem; font-family: var(--l3-serif); font-size: 1.75rem; color: var(--l3-charcoal); }
.l3-note .l3-heart { font-style: normal; }

/* Blend cards */
.l3-blends { background: linear-gradient(200deg, #FBF5F3 0%, #FFFFFF 22%); padding: 9.6rem 0 10rem; }
.l3-bgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.l3-bcard { display: grid; grid-template-columns: 40fr 60fr; min-height: 48rem; background: #F9F6F2; border: 1px solid #E9E2DC; }
.l3-bcard__art { position: relative; display: block; overflow: hidden; background: linear-gradient(180deg, #F3E9E9 0%, #F6F1EE 100%); }
.l3-bcard__body { display: flex; flex-direction: column; padding: 4.4rem 4.2rem 4.4rem 4rem; }
.l3-bcard__mood { font-size: 1.1rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #8E9A90; margin: 0 0 1.6rem; }
.l3-bcard__title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(3rem, 2.6vw, 4.4rem); line-height: 1.08; margin: 0 0 1.2rem; }
.l3-bcard__title a { color: inherit; text-decoration: none; }
.l3-bcard__text { font-size: 1.55rem; line-height: 1.75; color: var(--l3-charcoal-soft); margin: 0; }
.l3-bcard__link { margin-top: auto; padding-top: 2.8rem; border-top: 1px solid #DDD6CF; font-size: 1.3rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--l3-sage-btn); text-decoration: none; }
.l3-bcard__link:hover { color: var(--l3-charcoal); }
.l3-petals { position: absolute; inset: 0; }
.l3-petal { position: absolute; display: block; border-radius: 50%; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--c) 82%, #fff) 0%, var(--c) 60%); box-shadow: 0 1.2rem 2.4rem rgba(45,43,42,.08); }
.l3-petal--1 { width: 34%; aspect-ratio: .72; left: 23%; top: 15%; transform: rotate(-10deg); }
.l3-petal--2 { width: 32%; aspect-ratio: 1.08; left: 50%; top: 13%; transform: rotate(-22deg); }
.l3-petal--3 { width: 19%; aspect-ratio: 1.08; left: 42%; top: 35%; }
.l3-petal--4 { width: 26%; aspect-ratio: .8; left: 12%; top: 49%; transform: rotate(-8deg); }
.l3-petal--5 { width: 43%; aspect-ratio: 1.35; left: 51%; top: 50%; }
.l3-petal--6 { width: 22%; aspect-ratio: .9; left: 35%; top: 71%; transform: rotate(-14deg); }
.l3-notebar { margin-top: 5.2rem; background: #F7F2F1; border-left: 3px solid var(--l3-rose); padding: 2.6rem 2.8rem; font-size: 1.5rem; color: var(--l3-charcoal-soft); }
.l3-notebar p { margin: 0; }
.l3-notebar strong { color: var(--l3-charcoal); font-weight: 600; }

/* Tiles */
.l3-tiles { padding: 11rem 0 12rem; background: var(--l3-white); }
.l3-tiles--bg-ivory { background: radial-gradient(60rem 40rem at 8% 0%, #E9EFF0 0%, rgba(233,239,240,0) 70%), #F9F6F2; }
.l3-tgrid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 1.6rem; }
.l3-tile { display: flex; flex-direction: column; text-decoration: none; color: inherit; padding: 4rem 3.2rem 4.4rem; }
.l3-tiles--plain .l3-tile { background: rgba(255,255,255,.72); border: 1px solid #EAE4DE; min-height: 26rem; }
.l3-tiles--accent .l3-tile { background: #F9F6F2; border-top: 3px solid var(--l3-rose); min-height: 28rem; }
.l3-tiles--accent .l3-tile--sage { border-top-color: var(--l3-sage); }
.l3-tiles--accent .l3-tile--blue { border-top-color: var(--l3-blue); }
.l3-tiles--accent .l3-tile--deep { border-top-color: var(--l3-rose-deep); }
.l3-tile__num { font-size: 1.2rem; font-weight: 600; letter-spacing: .1em; color: var(--l3-rose); margin-bottom: 4rem; }
.l3-tile--sage .l3-tile__num { color: var(--l3-sage-deep); }
.l3-tile--blue .l3-tile__num { color: #9DBBC9; }
.l3-tile--deep .l3-tile__num { color: var(--l3-rose-deep); }
.l3-tile__kicker { font-size: 1.05rem; font-weight: 600; letter-spacing: .1em; white-space: nowrap; text-transform: uppercase; color: var(--l3-rose-deep); margin-bottom: 3.2rem; }
.l3-tile__title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(2.4rem, 1.9vw, 3rem); margin: 0 0 1.4rem; }
.l3-tile__text { font-size: 1.5rem; line-height: 1.75; color: var(--l3-charcoal-soft); margin: 0; }
.l3-tile__price { margin: auto 0 0; padding-top: 2.4rem; font-family: var(--l3-serif); font-size: 2.4rem; color: var(--l3-charcoal); }
a.l3-tile:hover .l3-tile__title { color: var(--l3-sage-btn); }

/* Details + accordions */
.l3-details { background: linear-gradient(120deg, #EBD6D7 0%, #F5ECEA 30%, #F9F6F1 50%, #EEF2F2 72%, #D2E0E7 100%); padding: 11rem 0; }
.l3-details__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem 10rem; align-items: center; }
.l3-tri { border-top: 1px solid #D9D6D2; }
.l3-tri details { border-bottom: 1px solid #D9D6D2; }
.l3-tri summary { cursor: pointer; padding: 2.8rem 0; font-family: var(--l3-serif); font-size: 2rem; color: var(--l3-charcoal); list-style: none; display: flex; align-items: center; gap: .9rem; }
.l3-tri summary::-webkit-details-marker { display: none; }
.l3-tri summary::before { content: ""; width: 0; height: 0; border-style: solid; border-width: .6rem 0 .6rem 1rem; border-color: transparent transparent transparent var(--l3-charcoal); transition: transform .2s ease; }
.l3-tri details[open] > summary::before { transform: rotate(90deg); }
.l3-tri__body { padding: 0 0 3rem; font-size: 1.5rem; line-height: 1.8; color: var(--l3-charcoal-soft); }
.l3-tri__body p { margin: 0 0 1rem; }

.l3-inq--solid { background: #D6A9AD; }
.l3-inq--solid .l3-eyebrow { color: #7D5A5F; }
.l3-inq--solid .l3-lead { color: #5E4F50; }

@media (max-width: 989px) {
  .l3-split-head, .l3-details__grid { grid-template-columns: 1fr; margin-bottom: 4.8rem; }
  .l3-details__grid { margin-bottom: 0; }
  .l3-phero { grid-template-columns: 1fr; }
  .l3-phero__media { aspect-ratio: 4 / 3; min-height: 0; }
  .l3-phero__text { padding: 5.6rem 2rem 6.4rem; }
  .l3-bgrid { grid-template-columns: 1fr; }
  .l3-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .l3-tiles, .l3-details, .l3-blends { padding: 6.4rem 0; }
}
@media (max-width: 749px) {
  .l3-bcard { grid-template-columns: 1fr; min-height: 0; }
  .l3-bcard__art { aspect-ratio: 16 / 10; }
  .l3-bcard__body { padding: 3.2rem 2.4rem; }
  .l3-tgrid { grid-template-columns: 1fr; }
  .l3-tiles--plain .l3-tile, .l3-tiles--accent .l3-tile { min-height: 0; }
  .l3-phero__tag { top: 1.6rem; left: 1.6rem; }
}

/* Color cards (Decorative Petals) */
.l3-cgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.6rem; }
.l3-ccard { position: relative; display: flex; flex-direction: column; min-height: 32rem; padding: 2.6rem 2.6rem 5.6rem; background: #F9F6F2; border: 1px solid #E9E2DC; text-decoration: none; color: inherit; transition: border-color .25s ease; }
.l3-ccard:hover { border-color: var(--l3-rose); }
.l3-ccard__art { position: relative; display: block; aspect-ratio: 1 / .78; height: auto; margin-bottom: 3.2rem; overflow: hidden; }
.l3-cluster { position: absolute; inset: 0; }
.l3-cluster i { position: absolute; display: block; border-radius: 50%; box-shadow: 0 1.4rem 2.6rem rgba(45,43,42,.08); }
.l3-cluster i:nth-child(1) { width: 36%; aspect-ratio: .82; left: 13%; top: 30%; background: color-mix(in srgb, var(--c) 84%, #fff); transform: rotate(-12deg); }
.l3-cluster i:nth-child(2) { width: 36%; aspect-ratio: .95; left: 49%; top: 37%; background: color-mix(in srgb, var(--c) 80%, #fff); transform: rotate(18deg); }
.l3-cluster i:nth-child(3) { width: 38%; aspect-ratio: .72; left: 29%; top: 3%; background: radial-gradient(circle at 40% 30%, color-mix(in srgb, var(--c) 90%, #fff), var(--c) 65%); opacity: .95; }
.l3-ccard__title { font-family: var(--l3-serif); font-size: clamp(2.4rem, 1.9vw, 3rem); margin-bottom: 1.6rem; }
.l3-ccard__tag { font-size: 1.15rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8E9A90; }
.l3-ccard__arrow { position: absolute; right: 2.6rem; bottom: 2.4rem; font-size: 1.8rem; color: var(--l3-rose); }
@media (max-width: 1100px) { .l3-cgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 749px) { .l3-cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .l3-ccard { min-height: 0; } .l3-ccard__art { height: auto; } }

/* Bouquets & Arrangements — photo cards and feature band */
.l3-pcards { background: var(--l3-ivory); padding: 4.4rem 0 10rem; }
.l3-pcards__head { margin-bottom: 5.6rem; }
.l3-pcards__head .l3-eyebrow { margin-bottom: 2.4rem; }
.l3-title--inline { font-size: clamp(4.4rem, 5.6vw, 8.6rem); margin-bottom: 2.4rem; }
.l3-title--inline em { display: inline; color: #A8737C; }
.l3-pcards__head .l3-lead { max-width: 68rem; margin: 0 auto; font-size: clamp(1.7rem, 1.35vw, 2rem); }
.l3-pcgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3.6rem 3.2rem; }
.l3-pc { display: flex; flex-direction: column; background: var(--l3-white); text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
.l3-pc:hover { transform: translateY(-3px); box-shadow: 0 1.6rem 3.6rem rgba(45,43,42,.07); }
.l3-pc__media { display: block; aspect-ratio: 550 / 687; }
.l3-pc__body { display: flex; flex-direction: column; padding: 3.2rem 2.6rem 3.6rem; }
.l3-pc__mood { font-size: 1.15rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #7D5A5F; margin-bottom: 1.4rem; }
.l3-pc__title { font-family: var(--l3-serif); font-size: clamp(2.8rem, 2.3vw, 3.8rem); line-height: 1.15; padding-bottom: 2.4rem; border-bottom: 1px solid #E6E0DA; margin-bottom: 2.4rem; }
.l3-pc__foot { display: flex; justify-content: space-between; align-items: baseline; gap: 1.6rem; }
.l3-pc__price { font-family: var(--l3-serif); font-size: 2.2rem; }
.l3-pc__link { font-size: 1.45rem; font-weight: 600; color: var(--l3-sage-btn); letter-spacing: .02em; white-space: nowrap; }
.l3-pc:hover .l3-pc__link { color: var(--l3-charcoal); }
.l3-band { background: linear-gradient(100deg, #F5EAE9 0%, #F8F2EF 35%, #FAF7F2 55%, #EBF0F1 100%); padding: 10rem 0; }
.l3-band__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 4rem 8rem; align-items: start; }
.l3-band .l3-eyebrow { color: #C0858C; }
.l3-band__label { font-size: 1.45rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: #5A5250; margin: 0 0 1.6rem; }
@media (max-width: 989px) { .l3-pcgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .l3-band__grid { grid-template-columns: 1fr; } .l3-band { padding: 6.4rem 0; } }
@media (max-width: 749px) { .l3-pcgrid { grid-template-columns: 1fr; } .l3-pcards { padding-bottom: 6.4rem; } }

/* Sustainability page */
html { scroll-behavior: smooth; }
.l3-subnav { background: var(--l3-white); border-bottom: 1px solid var(--l3-line); position: sticky; top: 0; z-index: 15; }
.l3-subnav__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 5.6rem; }
.l3-subnav ul { display: flex; gap: 3.6rem; list-style: none; margin: 0; padding: 0; }
.l3-subnav a { font-size: 1.3rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--l3-charcoal-soft); text-decoration: none; }
.l3-subnav a:hover { color: var(--l3-sage-btn); }
.l3-subnav__back { color: var(--l3-rose-deep) !important; text-transform: none !important; letter-spacing: .02em !important; }
.l3-stats { background: var(--l3-white); padding: 10rem 0; }
.l3-statgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.l3-stat { background: #F9F6F2; border-top: 3px solid var(--l3-rose); padding: 4rem 3.2rem; display: flex; flex-direction: column; gap: 1.4rem; }
.l3-stat:nth-child(2) { border-top-color: var(--l3-sage); }
.l3-stat:nth-child(3) { border-top-color: var(--l3-blue); }
.l3-stat__num { font-family: var(--l3-serif); font-size: clamp(4.4rem, 4.4vw, 6.4rem); line-height: 1; color: var(--l3-charcoal); }
.l3-stat__label { font-size: 1.55rem; line-height: 1.7; color: var(--l3-charcoal-soft); }
.l3-stats__src { margin: 3.2rem 0 0; font-size: 1.3rem; line-height: 1.7; color: var(--l3-charcoal-soft); max-width: 110rem; }
.l3-aud { background: var(--l3-ivory); padding: 10rem 0; }
.l3-audgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; }
.l3-audcard { background: var(--l3-white); border: 1px solid #E9E2DC; display: flex; flex-direction: column; }
.l3-audcard__media { aspect-ratio: 16 / 10; }
.l3-audcard__body { padding: 4rem 4rem 4.4rem; display: flex; flex-direction: column; flex: 1; }
.l3-audcard__title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(2.8rem, 2.4vw, 3.6rem); line-height: 1.15; margin: 0 0 1.6rem; }
.l3-audcard .l3-btn { margin-top: 2.4rem; }
.l3-checks { list-style: none; padding: 0; margin: 1.6rem 0 0; }
.l3-checks li { position: relative; padding: 1rem 0 1rem 2.8rem; border-top: 1px solid var(--l3-line); font-size: 1.5rem; color: var(--l3-charcoal); }
.l3-checks li::before { content: "✓"; position: absolute; left: 0; top: 1rem; color: var(--l3-sage-btn); font-weight: 700; }
@media (max-width: 989px) { .l3-statgrid, .l3-audgrid { grid-template-columns: 1fr; } .l3-stats, .l3-aud { padding: 6.4rem 0; } .l3-subnav ul { gap: 2rem; } }
@media (max-width: 749px) { .l3-subnav__back { display: none; } .l3-subnav ul { width: 100%; justify-content: space-between; } .l3-subnav a { font-size: 1.1rem; } .l3-audcard__body { padding: 3.2rem 2.4rem; } }
.l3-rte-inline p { margin: 0 0 1.4rem; }
.l3-rte-inline p:last-child em, .l3-rte-inline .l3-size-note { display: block; font-family: var(--l3-sans); font-style: normal; font-size: 1.4rem; color: var(--l3-charcoal-soft); border-top: 1px solid var(--l3-line); padding-top: 1.4rem; margin-top: .4rem; }
.l3-gallery__slide.l3-media { position: relative; }

/* Petal palette photo cards (Decorative Petals & Foliage) */
.l3-palgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3.6rem 3.2rem; }
.l3-pal { display: flex; flex-direction: column; background: var(--l3-white); }
.l3-pal__media { display: block; aspect-ratio: 610 / 810; background: #F3EDE6; }
.l3-pal__body { display: flex; flex-direction: column; flex: 1; padding: 2.8rem 2.6rem 3.2rem; }
.l3-pal__tag { font-size: 1.4rem; color: #7D5A5F; margin: 0 0 1.4rem; }
.l3-pal__title { font-family: var(--l3-serif); font-weight: 400; font-size: clamp(2.6rem, 2.2vw, 3.4rem); line-height: 1.15; margin: 0 0 1.8rem; }
.l3-pal__title a { color: inherit; text-decoration: none; }
.l3-pal__text { font-size: 1.5rem; line-height: 1.8; color: var(--l3-charcoal-soft); margin: 0 0 1.6rem; padding-bottom: 1.6rem; border-bottom: 1px solid #E6E0DA; }
.l3-pal__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: baseline; gap: 1.6rem; }
.l3-pal__price { font-family: var(--l3-serif); font-size: 2rem; color: var(--l3-charcoal); }
.l3-pal__link { font-size: 1.4rem; color: var(--l3-charcoal-soft); text-decoration: underline; text-underline-offset: .4rem; white-space: nowrap; }
.l3-pal__link:hover { color: var(--l3-sage-btn); }
@media (max-width: 989px) { .l3-palgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) { .l3-palgrid { grid-template-columns: 1fr; } }

/* ===== v3: mockup copy updates ===== */
/* Product: tagline, line under button, buy row without quantity */
.l3-ptag { font-family: var(--l3-serif); font-style: italic; font-size: clamp(1.9rem, 1.6vw, 2.3rem); color: var(--l3-rose-deep); margin: 0 0 2rem; }
.l3-buy--solo { grid-template-columns: 1fr; }
.l3-under { text-align: center; font-family: var(--l3-serif); font-style: italic; font-size: 1.5rem; color: var(--l3-charcoal-soft); margin: -.4rem 0 3.2rem; }

/* Details: open-card style */
.l3-details--cards .l3-details__head { max-width: 80rem; margin: 0 auto 5.6rem; text-align: center; }
.l3-details--cards .l3-details__head .l3-lead { margin: 0 auto; }
.l3-details--accordion .l3-details__head .l3-lead { margin-top: -1.6rem; }
.l3-dcards { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 1.6rem; }
.l3-dcard { background: rgba(255,255,255,.72); border-top: 2px solid var(--l3-rose); padding: 3.2rem 2.8rem; }
.l3-dcard__title { font-family: var(--l3-serif); font-size: 2.1rem; margin: 0 0 1.4rem; color: var(--l3-charcoal); }
.l3-dcard__body, .l3-dcard__body p { font-size: 1.5rem; line-height: 1.7; color: var(--l3-charcoal-soft); margin: 0 0 1rem; }
.l3-dcard:nth-child(4n+2) { border-top-color: var(--l3-sage); }
.l3-dcard:nth-child(4n+3) { border-top-color: var(--l3-blue); }
.l3-dcard:nth-child(4n+4) { border-top-color: var(--l3-rose-deep); }
.l3-details__link { text-align: center; margin: 4.8rem 0 0; grid-column: 1 / -1; }
@media (max-width: 989px) { .l3-dcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) { .l3-dcards { grid-template-columns: 1fr; } }

/* Hero second paragraph */
.l3-phero__text2 { max-width: 64rem; margin: -1.6rem 0 4rem; }

/* Footer with link columns */
.l3-footer2--cols .l3-footer2__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
.l3-footer2__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem 4.8rem; }
.l3-footer2__head { font-size: 1.2rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--l3-blue); margin: .6rem 0 2rem; }
.l3-footer2--light .l3-footer2__head { color: var(--l3-rose-deep); }
.l3-footer2__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; }
.l3-footer2__links a { color: inherit; text-decoration: none; font-size: 1.45rem; opacity: .88; }
.l3-footer2__links a:hover { color: var(--l3-rose); opacity: 1; }
.l3-footer2__email { margin: 2rem 0 0; font-size: 1.4rem; }
.l3-footer2__email a { color: inherit; text-decoration: underline; text-underline-offset: .3em; text-decoration-color: rgba(255,255,255,.35); }
.l3-footer2__bottom { max-width: 1800px; margin: 5.6rem auto 0; padding: 2.4rem clamp(2rem, 5.2vw, 10.4rem) 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 2.4rem; font-size: 1.2rem; }
.l3-footer2__bottom > span, .l3-footer2__bottom > a { opacity: .7; color: inherit; text-decoration: none; }
.l3-footer2__bottom .l3-footer2__motto { margin-left: auto; }
.l3-footer2--light .l3-footer2__bottom { border-top-color: var(--l3-line); }
@media (max-width: 749px) {
  .l3-footer2--cols .l3-footer2__grid { grid-template-columns: 1fr; text-align: left; }
  .l3-footer2__bottom { justify-content: flex-start; }
  .l3-footer2__bottom .l3-footer2__motto { margin-left: 0; width: 100%; text-align: left; }
}
.l3-band .l3-h2 em { display: block; }

/* Framed image feature (Decorative Petals styling section) */
.l3-feature { background: var(--l3-ivory); padding: 8.8rem 0 4rem; }
.l3-feature__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem 8rem; align-items: center; }
.l3-feature--reverse .l3-feature__media { order: 2; }
.l3-feature__media { margin: 0; }
.l3-feature__frame { position: relative; aspect-ratio: 11 / 9; overflow: hidden; }
.l3-feature__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.l3-feature__caption { text-align: center; font-size: 1.3rem; color: var(--l3-charcoal-soft); margin-top: 1.4rem; }
.l3-feature__text { text-align: center; }
.l3-feature__text .l3-h2 { margin-bottom: 1.6rem; }
.l3-feature__body { font-size: 1.7rem; line-height: 1.75; color: var(--l3-charcoal); max-width: 64rem; margin: 0 auto 2.4rem; }
.l3-feature__link { font-size: 1.6rem; color: var(--l3-charcoal); text-decoration: none; }
.l3-feature__link:hover { text-decoration: underline; text-underline-offset: .3em; }
@media (max-width: 989px) { .l3-feature__grid { grid-template-columns: 1fr; } .l3-feature--reverse .l3-feature__media { order: 0; } .l3-feature { padding: 5.6rem 0 2.4rem; } }
/* Numbered cards on ivory: no box, just the colored top line */
.l3-tiles--accent.l3-tiles--bg-ivory .l3-tile { background: transparent; }
.l3-tiles--accent.l3-tiles--bg-ivory { background: var(--l3-ivory); }

/* ==========================================================================
   v4 — Exact sizing from the chat site (lavishthree chatgpt.site mockup)
   The mockup uses a 16px root; this theme uses Craft's 10px root, so every
   mockup rem value below is multiplied by 1.6.
   ========================================================================== */
:root {
  --l3-rose-deep: #B57F86;          /* mockup "terracotta" */
  --l3-charcoal-soft: #5D5855;      /* mockup "brown" */
  --l3-sage-btn: #657369;           /* mockup "olive" */
  --l3-sage-btn-hover: #D8A7AC;     /* mockup buttons turn rose on hover */
  --l3-mline: rgba(45,43,42,.16);   /* mockup "line" */
  --l3-butter: #C9DCE5;
}
.l3 { -webkit-font-smoothing: antialiased; }

/* ---------- Shared type ---------- */
.l3-eyebrow { color: var(--l3-rose-deep); letter-spacing: .19em; text-transform: uppercase; margin: 0 0 2.24rem; font-size: 1.12rem; font-weight: 700; line-height: 1.6; }
.l3-h2 { font-size: clamp(4.48rem, 4.8vw, 9.12rem); line-height: .98; letter-spacing: -.035em; margin: 0; }
.l3-btn { letter-spacing: .08em; gap: 2.24rem; min-height: 52px; padding: 1.52rem 2rem 1.52rem 2.4rem; font-size: 1.2rem; font-weight: 700; line-height: 1.5; border: 1px solid transparent; background: var(--l3-sage-btn); transition: all .18s; }
.l3-btn:hover, .l3-btn:focus-visible { background: var(--l3-rose); border-color: transparent; color: var(--l3-white); transform: translateY(-2px); }
.l3-btn__arrow { font-size: 1em; font-weight: inherit; line-height: inherit; }
.l3-textlink { border-bottom: 1px solid var(--l3-charcoal-soft); color: var(--l3-charcoal-soft); letter-spacing: .04em; padding: .72rem 0; font-size: 1.248rem; font-weight: 600; line-height: 1.5; }

/* ---------- Header ---------- */
.l3-header { background: rgba(250,247,242,.97); border-bottom: 1px solid rgba(45,43,42,.11); }
.l3-header__bar { max-width: none; min-height: 88px; height: 88px; padding: 0 4.5vw; gap: 2.4rem; }
.l3-brand { gap: .352rem; letter-spacing: .13em; line-height: 1; }
.l3-brand__name { font-size: 1.84rem; letter-spacing: .113em; line-height: 1; }
.l3-brand__desc { font-size: .832rem; letter-spacing: .18em; font-weight: 600; color: var(--l3-sage); line-height: 1; }
.l3-nav { gap: clamp(2.4rem, 2.8vw, 5.2rem); font-size: 1.248rem; font-weight: 600; letter-spacing: .07em; }
.l3-nav__link, .l3-nav__drop > summary { font-size: 1.248rem; font-weight: 600; letter-spacing: .07em; line-height: 1.5; padding: .8rem 0; margin: 0; gap: 0; border-bottom: 1px solid transparent; transition: border-color .18s; }
.l3-nav__link:hover, .l3-nav__link:focus-visible, .l3-nav__link[aria-current="page"] { color: var(--l3-charcoal); border-bottom-color: var(--l3-sage-btn); }
.l3-nav__drop > summary { padding-bottom: .8rem; }
.l3-nav__drop > summary::after { content: "\2304"; font-size: inherit; font-weight: inherit; color: var(--l3-rose); margin-left: .72rem; transform: none; }
.l3-nav__drop[open] > summary, .l3-nav__drop:hover > summary { border-bottom-color: var(--l3-sage-btn); }
.l3-nav__menu { top: calc(100% + 1.28rem); left: 50%; transform: translateX(-50%); min-width: 190px; padding: .88rem; background: rgba(255,255,255,.98); border: 1px solid var(--l3-mline); box-shadow: 0 18px 45px rgba(45,43,42,.12); }
.l3-nav__menu a { padding: 1.28rem 1.44rem; font-size: 1.248rem; font-weight: 600; letter-spacing: .07em; line-height: 1.5; color: var(--l3-charcoal-soft); }
.l3-nav__menu a:hover, .l3-nav__menu a:focus-visible { color: var(--l3-charcoal); background: rgba(216,167,172,.16); }
.l3-nav .l3-btn--ghost { min-height: 0; padding: 1.312rem 2rem; border: 1px solid var(--l3-sage-btn); background: transparent; color: var(--l3-sage-btn); font-size: 1.248rem; font-weight: 600; letter-spacing: .07em; line-height: 1.5; text-transform: none; transform: none; }
.l3-nav .l3-btn--ghost:hover, .l3-nav .l3-btn--ghost:focus-visible { background: var(--l3-sage-btn); color: var(--l3-white); }
.l3-cart svg { width: 2rem; height: 2rem; }

/* ---------- Homepage hero ---------- */
.l3-hero2 { grid-template-columns: minmax(0, 47%) minmax(0, 53%); min-height: calc(100svh - 88px); background: radial-gradient(circle at 8% 14%, rgba(201,220,229,.28), transparent 27%), radial-gradient(circle at 42% 88%, rgba(216,167,172,.18), transparent 30%), var(--l3-ivory); }
.l3-hero2__text { align-self: center; display: block; padding: 7vw 6vw 6vw 7vw; }
.l3-hero2 .l3-eyebrow { margin-bottom: 2.24rem; }
.l3-hero2 .l3-title { max-width: 700px; font-size: clamp(5.92rem, 6.15vw, 11.52rem); line-height: .88; letter-spacing: -.035em; margin: 0; }
.l3-hero2 .l3-title em { color: var(--l3-rose); margin-top: .18em; display: block; font-weight: 400; }
.l3-hero2 .l3-lead { max-width: 560px; color: var(--l3-charcoal-soft); margin: 3.52rem 0 0; font-size: clamp(1.68rem, 1.3vw, 2.16rem); line-height: 1.62; }
.l3-hero2__actions { align-items: center; gap: 3.2rem; margin-top: 3.52rem; flex-wrap: nowrap; }
.l3-hero2__actions .l3-btn { padding: 1.52rem 2rem 1.52rem 2.4rem; gap: 2.24rem; }
.l3-hero2 .l3-badges { border-top: 1px solid var(--l3-mline); color: var(--l3-sage); font-family: var(--l3-serif); gap: 3.04rem; margin: 6.08rem 0 0; padding: 1.92rem 0 0; font-size: 1.312rem; font-weight: 400; letter-spacing: normal; text-transform: none; line-height: 1.5; flex-wrap: nowrap; }
.l3-hero2 .l3-badges li::before { content: none; }
.l3-hero2 .l3-badges li + li::before { content: "\2022"; color: var(--l3-butter); margin-right: 3.04rem; }
.l3-hero2__media { background: var(--l3-ivory); min-height: 670px; }
.l3-hero2__media::after { content: ""; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,247,242,.16), transparent 22%), linear-gradient(transparent 68%, rgba(45,43,42,.15)); }
.l3-hero2__media .l3-img, .l3-hero2__media > img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 66% center; }
.l3-seal { z-index: 2; aspect-ratio: 1; color: #fff; text-align: center; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background: rgba(45,43,42,.78); border: 1px solid rgba(255,255,255,.82); border-radius: 50%; flex-direction: column; justify-content: center; align-items: center; gap: .72rem; width: 148px; display: flex; position: absolute; bottom: 4rem; left: 4rem; font-family: var(--l3-sans); }
.l3-seal span, .l3-seal strong { letter-spacing: .18em; font-size: .88rem; font-weight: 700; }
.l3-seal strong { max-width: 90px; line-height: 1.45; }
.l3-seal i { color: var(--l3-butter); font-style: normal; font-size: 1.6rem; }

/* ---------- Homepage collection list ---------- */
.l3-clist { background: radial-gradient(circle at 96% 4%, rgba(201,220,229,.42), transparent 24%), radial-gradient(circle at 3% 92%, rgba(216,167,172,.13), transparent 22%), var(--l3-white); padding: clamp(8.8rem, 9vw, 16rem) 0; }
.l3-clist > .l3-wrap { max-width: none; padding: 0 7vw; }
.l3-clist__head { grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); align-items: center; gap: 8vw; margin: 0; padding-bottom: clamp(4.8rem, 5vw, 8rem); }
.l3-clist__head .l3-h2 { max-width: none; }
.l3-quote { border-left: 4px solid var(--l3-rose); color: var(--l3-charcoal); background: rgba(201,220,229,.24); margin: 0; padding: 1.92rem 2.16rem; font-size: clamp(1.728rem, 1.35vw, 2.048rem); font-style: italic; line-height: 1.65; }
.l3-clist__body { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(4.8rem, 6vw, 11.2rem); align-items: start; }
.l3-clist__media { top: 3.2rem; }
.l3-clist__img { aspect-ratio: 4 / 5; }
.l3-clist__caption { border-bottom: 1px solid var(--l3-mline); color: var(--l3-sage); letter-spacing: .14em; gap: 1.6rem; padding: 1.6rem 0; font-size: 1.024rem; font-weight: 700; line-height: 1.5; }
.l3-rows { border-top: 1px solid var(--l3-mline); }
.l3-row { border-bottom: 1px solid var(--l3-mline); }
.l3-row__link { grid-template-columns: 3.52rem 1fr 4.8rem; gap: 2.08rem; align-items: stretch; padding: clamp(2.48rem, 2.6vw, 4.16rem) 0; transition: all .18s; }
a.l3-row__link:hover { background: rgba(216,167,172,.16); padding-left: 1.28rem; padding-right: 1.28rem; }
a.l3-row__link:hover .l3-row__title { color: inherit; }
.l3-row__num { color: var(--l3-rose); letter-spacing: .12em; padding-top: .48rem; font-size: 1.088rem; font-weight: 700; line-height: 1.5; }
.l3-row__title { font-size: clamp(2.24rem, 2.1vw, 3.44rem); line-height: 1.1; margin: 0; letter-spacing: normal; }
.l3-row__text { max-width: 590px; color: var(--l3-charcoal-soft); margin: 1.2rem 0 1.44rem; font-size: 1.408rem; line-height: 1.65; }
.l3-row__meta { display: block; color: var(--l3-sage); letter-spacing: .12em; font-size: .992rem; font-weight: 700; line-height: 1.5; }
.l3-row__arrow { border: 1px solid var(--l3-mline); width: 4.32rem; height: 4.32rem; color: var(--l3-sage-btn); font-size: 1.6rem; align-self: center; transition: all .18s; }
a.l3-row__link:hover .l3-row__arrow { border-color: var(--l3-sage-btn); background: var(--l3-sage-btn); color: #fff; }

/* ---------- Homepage story ---------- */
.l3-story2 { background: radial-gradient(circle at 88% 14%, rgba(158,173,161,.2), transparent 30%), radial-gradient(circle at 62% 82%, rgba(216,167,172,.25), transparent 36%), radial-gradient(circle at 44% 12%, rgba(201,220,229,.45), transparent 30%), var(--l3-ivory); }
.l3-story2__media { min-height: 760px; }
.l3-story2__media .l3-img, .l3-story2__media > img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; }
.l3-tag { color: var(--l3-charcoal); font-family: var(--l3-serif); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); background: rgba(255,255,255,.92); margin: 0; padding: 1.76rem 2rem; font-size: 1.36rem; line-height: 1.5; bottom: 3.2rem; left: 3.2rem; max-width: calc(100% - 6.4rem); }
.l3-tag small { color: var(--l3-charcoal-soft); letter-spacing: .12em; margin-top: .4rem; font-size: .88rem; font-weight: 700; line-height: 1.5; }
.l3-story2__text { align-self: center; display: block; padding: clamp(6.4rem, 7vw, 12.8rem); }
.l3-story2 .l3-h2 { max-width: 660px; margin: 0; }
.l3-story2 .l3-body { font-size: 1.488rem; line-height: 1.78; color: var(--l3-charcoal-soft); max-width: 620px; }
.l3-story2 .l3-body p { margin: 2.16rem 0 0; }
.l3-story2 .l3-body--serif { font-size: 1.488rem; line-height: 1.78; color: var(--l3-charcoal-soft); }
.l3-story2 .l3-body--serif p { margin-top: 2.16rem; }
.l3-steps2 { border-top: 1px solid var(--l3-mline); margin: 4.32rem 0 0; }
.l3-steps2 li { border-bottom: 1px solid var(--l3-mline); grid-template-columns: 3.2rem 1fr; gap: 1.6rem; padding: 1.6rem 0; }
.l3-steps2__num { color: var(--l3-rose-deep); letter-spacing: .12em; font-size: .992rem; font-weight: 700; padding-top: 0; line-height: 1.5; }
.l3-steps2 h3 { font-size: 1.68rem; line-height: 1.5; letter-spacing: normal; margin: 0; }
.l3-steps2 p { color: var(--l3-charcoal-soft); margin: .4rem 0 0; font-size: 1.152rem; line-height: 1.5; }
.l3-story2__text > div:last-child > .l3-btn { margin-top: 3.2rem; }

/* ---------- Homepage inquiry band ---------- */
.l3-inq { background: radial-gradient(circle at 86% 8%, rgba(255,255,255,.5), transparent 28%), linear-gradient(135deg, #D8A7AC 0%, #EAD1D3 52%, #C9DCE5 100%); padding: clamp(6.4rem, 7vw, 12rem) 0; }
.l3-inq > .l3-wrap { max-width: none; padding: 0 7vw; }
.l3-inq__grid { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6.4rem; }
.l3-inq .l3-eyebrow { color: var(--l3-rose-deep); }
.l3-inq .l3-h2 { max-width: 750px; }
.l3-inq .l3-lead { max-width: 650px; color: var(--l3-charcoal-soft); margin: 2.4rem 0 0; font-size: 1.6rem; line-height: 1.7; }
.l3-inq__actions { gap: 1.6rem; }
.l3-inq .l3-textlink--serif { color: var(--l3-sage-btn); border-bottom: 1px solid rgba(79,89,67,.42); font-size: 1.36rem; font-weight: 400; letter-spacing: normal; padding: 0; line-height: 1.5; }
.l3-inq--solid { background: #D6A9AD; }

/* ---------- Footer (mockup layout) ---------- */
.l3-foot { color: rgba(255,255,255,.82); background: var(--l3-charcoal); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 3.2rem; padding: 5.12rem 5vw; font-family: var(--l3-sans); }
.l3-foot__brand { display: flex; flex-direction: column; gap: 1.12rem; }
.l3-foot__brand strong { color: #fff; font-family: var(--l3-serif); letter-spacing: .12em; font-size: 1.6rem; font-weight: 400; line-height: 1.5; }
.l3-foot__brand span { max-width: 360px; font-family: var(--l3-serif); font-size: 1.28rem; line-height: 1.5; }
.l3-foot__brand span + span { color: rgba(255,255,255,.55); margin-top: -.72rem; font-size: 1.152rem; font-style: italic; }
.l3-foot__links { letter-spacing: .12em; text-transform: uppercase; gap: 3.2rem; font-size: 1.04rem; font-weight: 700; line-height: 1.5; display: flex; }
.l3-foot__links a { color: inherit; text-decoration: none; }
.l3-foot__links a:hover { color: var(--l3-rose); }
.l3-foot__motto { color: var(--l3-butter); letter-spacing: .15em; text-transform: uppercase; justify-self: end; margin: 0; font-size: .992rem; font-weight: 700; line-height: 1.5; }
.l3-foot__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .8rem 2.4rem; font-size: 1.12rem; opacity: .7; padding-top: 2.4rem; border-top: 1px solid rgba(255,255,255,.12); }
.l3-foot__legal a, .l3-foot__legal span { color: inherit; text-decoration: none; }
/* Centered light footer (product pages, Bouquet Preservation, Sustainability) */
.l3-foot--center { background: #F8F5F0; color: var(--l3-charcoal); border-top: 1px solid rgba(45,43,42,.08); grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 4.8rem 5vw; }
.l3-foot--center .l3-foot__brand { align-items: center; gap: 1.12rem; }
.l3-foot--center .l3-foot__brand strong { color: var(--l3-charcoal); font-size: 2.08rem; letter-spacing: .14em; }
.l3-foot--center .l3-foot__brand span { font-style: italic; color: var(--l3-charcoal-soft); font-size: 1.36rem; }
.l3-foot--center .l3-foot__brand span + span { font-family: var(--l3-sans); font-style: normal; color: var(--l3-charcoal); font-size: 1.2rem; margin-top: .4rem; }
.l3-foot--center .l3-foot__legal { border-top-color: var(--l3-mline); justify-content: center; }

@media (max-width: 1040px) {
  .l3-hero2 { grid-template-columns: 1fr 1fr; }
  .l3-hero2__text { padding: 6vw 5vw; }
  .l3-hero2 .l3-title { font-size: clamp(5.6rem, 7vw, 8rem); }
  .l3-hero2__actions { flex-direction: column; align-items: flex-start; gap: 1.76rem; }
  .l3-hero2 .l3-badges { flex-direction: column; gap: .72rem; }
  .l3-hero2 .l3-badges li + li::before { margin-right: 1.04rem; }
  .l3-story2__media { min-height: 660px; }
  .l3-inq__grid { grid-template-columns: 1fr; }
  .l3-foot { grid-template-columns: 1fr 1fr; }
  .l3-foot__links { justify-self: end; }
  .l3-foot__motto { grid-column: 1 / -1; justify-self: start; }
  .l3-foot--center { grid-template-columns: 1fr; }
}
@media (max-width: 989px) {
  /* keep the desktop grid until the mockup's own 760px switch */
  .l3-hero2, .l3-story2 { grid-template-columns: 1fr 1fr; }
  .l3-hero2__media { order: 0; aspect-ratio: auto; min-height: 670px; }
  .l3-hero2__text { padding: 6vw 5vw; }
  .l3-story2__media { min-height: 660px; aspect-ratio: auto; }
  .l3-story2__text { padding: clamp(6.4rem, 7vw, 12.8rem); }
  .l3-clist { padding: clamp(8.8rem, 9vw, 16rem) 0; }
  .l3-clist__head { grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); gap: 8vw; margin: 0; }
  .l3-clist__body { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(4.8rem, 6vw, 11.2rem); }
  .l3-clist__media { position: sticky; }
  .l3-inq { padding: clamp(6.4rem, 7vw, 12rem) 0; }
  .l3-inq__grid { grid-template-columns: 1fr; gap: 6.4rem; }
}
@media (max-width: 760px) {
  .l3-header__bar { height: 74px; min-height: 74px; padding: 0 2rem; }
  .l3-brand__desc { max-width: 170px; font-size: .72rem; line-height: 1.25; }
  .l3-hero2 { grid-template-columns: 1fr; min-height: 0; }
  .l3-hero2__text { padding: 7.52rem 2.08rem 6.08rem; }
  .l3-hero2__media { order: 0; min-height: 72svh; }
  .l3-hero2 .l3-title { font-size: clamp(5.44rem, 16vw, 8rem); }
  .l3-hero2 .l3-lead { font-size: 1.68rem; }
  .l3-hero2__actions { margin-top: 2.88rem; }
  .l3-hero2 .l3-badges { margin-top: 4.48rem; }
  .l3-seal { width: 122px; bottom: 1.92rem; left: 1.92rem; }
  .l3-clist { padding: 8.8rem 0; }
  .l3-clist > .l3-wrap { padding: 0 2.08rem; }
  .l3-clist__head { grid-template-columns: 1fr; gap: 2.56rem; }
  .l3-h2 { font-size: clamp(4.32rem, 12vw, 6.4rem); }
  .l3-clist__body { grid-template-columns: 1fr; }
  .l3-clist__media { position: static; }
  .l3-clist__img { aspect-ratio: 4 / 3; }
  .l3-row__link { grid-template-columns: 2.8rem 1fr 4.08rem; gap: 1.28rem; padding: clamp(2.48rem, 2.6vw, 4.16rem) 0; }
  .l3-row__arrow { display: flex; width: 3.84rem; height: 3.84rem; }
  .l3-story2 { grid-template-columns: 1fr; }
  .l3-story2__media { min-height: 72svh; }
  .l3-story2__text { padding: 8rem 2.08rem; }
  .l3-tag { left: 3.2rem; }
  .l3-inq { padding: 8rem 0; }
  .l3-inq > .l3-wrap { padding: 0 2.08rem; }
  .l3-inq__grid { gap: 4rem; }
  .l3-foot { grid-template-columns: 1fr; gap: 3.68rem; padding: 4.8rem 2.08rem; }
  .l3-foot__links, .l3-foot__motto { justify-self: start; }
  .l3-foot__links { flex-wrap: wrap; gap: 1.6rem 2.4rem; }
  .l3-foot--center { justify-items: center; }
}

/* Header on tablets/phones — as the mockup: no hamburger; the nav wraps under the wordmark */
@media (max-width: 989px) {
  .l3-nav { display: flex; }
  .l3-header__tools, .l3-mnav, .l3-burger, [data-l3-mobile-cart] { display: none !important; }
}
@media (max-width: 760px) {
  .l3-header__bar { flex-wrap: wrap; gap: 16px; height: auto; min-height: 88px; padding: 20px 2rem; }
  .l3-header__bar > .l3-brand { margin: auto; align-items: center; text-align: center; }
  .l3-nav { flex-wrap: wrap; justify-content: center; gap: 16px; }
  .l3-nav > .l3-nav__link { display: none; }
  .l3-nav__drop > summary { font-size: 1.024rem; }
  .l3-nav__menu { left: auto; right: auto; transform: none; z-index: 50; width: max-content; max-width: calc(100vw - 24px); }
  .l3-nav__menu a { white-space: normal; min-height: 44px; }
  .l3-nav .l3-btn--ghost { padding: 1.12rem 1.28rem; font-size: 1.024rem; }
}

/* Link-column footer, set in the chat site's footer type scale */
.l3-footer2 { padding: 5.12rem 0 4rem; }
.l3-footer2--dark { color: rgba(255,255,255,.82); }
.l3-footer2__grid { max-width: none; padding: 0 5vw; gap: 3.2rem 6.4rem; }
.l3-footer2__name { color: #fff; font-family: var(--l3-serif); letter-spacing: .12em; font-size: 1.6rem; font-weight: 400; line-height: 1.5; margin: 0 0 1.12rem; }
.l3-footer2--light .l3-footer2__name { color: var(--l3-charcoal); }
.l3-footer2__desc { font-size: 1.28rem; line-height: 1.5; margin: 0 0 .4rem; }
.l3-footer2__line { font-size: 1.152rem; line-height: 1.5; font-style: italic; opacity: .68; }
.l3-footer2__email { margin: 1.6rem 0 0; font-size: 1.28rem; font-family: var(--l3-serif); }
.l3-footer2__head { font-size: 1.04rem; font-weight: 700; letter-spacing: .12em; line-height: 1.5; color: var(--l3-butter); margin: 0 0 1.6rem; }
.l3-footer2__links { gap: 1rem; }
.l3-footer2__links a { font-size: 1.28rem; line-height: 1.5; font-family: var(--l3-serif); }
.l3-footer2__bottom { max-width: none; margin-top: 4rem; padding: 2.4rem 5vw 0; font-size: 1.12rem; }
.l3-footer2__motto { color: var(--l3-butter); letter-spacing: .15em; font-size: .992rem; font-weight: 700; line-height: 1.5; }
@media (max-width: 760px) { .l3-footer2__grid, .l3-footer2__bottom { padding-left: 2.08rem; padding-right: 2.08rem; } }

/* ==========================================================================
   v4 — Collection pages (Petal Confetti / Decorative Petals / shared blocks)
   ========================================================================== */
.l3 { line-height: 1.5; }
/* Page hero (image left, text right) */
.l3-phero { grid-template-columns: 52% 48%; height: calc(100svh - 180px); min-height: 650px; max-height: 790px; background: none; }
.l3-phero__media { background: var(--l3-ivory); min-height: 0; }
.l3-phero__media::after { content: ""; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(250,247,242,.2)), linear-gradient(transparent 75%, rgba(45,43,42,.14)); }
.l3-phero__media .l3-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.l3-phero__tag { z-index: 1; color: var(--l3-sage-btn); letter-spacing: .12em; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); background: rgba(255,255,255,.9); padding: 1.12rem 1.44rem; font-size: .992rem; font-weight: 700; line-height: 1.5; top: 2.4rem; left: 2.4rem; }
.l3-phero__text { background: radial-gradient(circle at 94% 8%, rgba(201,220,229,.38), transparent 29%), radial-gradient(circle at 4% 92%, rgba(216,167,172,.2), transparent 28%), var(--l3-ivory); padding: clamp(5.6rem, 5vw, 10rem); justify-content: center; }
.l3-phero .l3-eyebrow { margin-bottom: 1.12rem; }
.l3-kicker { color: var(--l3-sage); margin: 0 0 1.28rem; font-size: 1.44rem; line-height: 1.5; }
.l3-phero .l3-title { letter-spacing: -.055em; margin: 0; font-size: clamp(7.2rem, 7.4vw, 13.6rem); line-height: .78; }
.l3-phero .l3-title em { color: var(--l3-rose); font-weight: 400; display: block; }
.l3-phero .l3-lead { max-width: 590px; color: var(--l3-charcoal-soft); margin: 2.56rem 0; font-size: 1.728rem; line-height: 1.7; }
.l3-note { border-left: 3px solid var(--l3-rose); color: var(--l3-rose-deep); background: rgba(216,167,172,.14); align-items: center; gap: 1.12rem; margin: 2.24rem 0 3.84rem; padding: 1.44rem 1.6rem; font-family: var(--l3-sans); font-size: 1.92rem; line-height: 1.5; }
.l3-note em { color: var(--l3-charcoal); font-family: var(--l3-serif); font-size: 1.472rem; font-style: italic; }
.l3-phero .l3-hero2__actions { margin-top: 0; }

/* Split heading used above grids */
.l3-split-head { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); align-items: end; gap: 7vw; margin-bottom: 5.6rem; }
.l3-split-head .l3-h2 { letter-spacing: -.04em; max-width: none; }
.l3-split-head .l3-lead { color: var(--l3-charcoal-soft); margin: 0; font-size: 1.6rem; line-height: 1.75; max-width: none; }

/* Section wrappers use the mockup's 7vw gutter, no max width */
.l3-blends > .l3-wrap, .l3-tiles > .l3-wrap, .l3-details > .l3-wrap, .l3-band > .l3-wrap, .l3-feature > .l3-wrap { max-width: none; padding: 0 7vw; }

/* Blend cards */
.l3-blends { background: radial-gradient(circle at 96% 8%, rgba(216,167,172,.13), transparent 27%), var(--l3-white); padding: clamp(8.8rem, 9vw, 14.4rem) 0; }
.l3-bgrid { gap: 1.6rem; }
.l3-bcard { position: relative; border: 1px solid var(--l3-mline); background: var(--l3-ivory); grid-template-columns: .8fr 1.2fr; min-height: 380px; transition: all .18s; overflow: hidden; }
.l3-bcard:hover { border-color: var(--l3-rose); transform: translateY(-4px); box-shadow: 0 18px 38px rgba(45,43,42,.08); }
.l3-bcard__art { background: linear-gradient(145deg, #F4E8E9, #FAF7F2); }
.l3-bcard__body { justify-content: center; padding: 3.2rem; }
.l3-bcard__mood { color: var(--l3-sage); letter-spacing: .11em; font-size: .944rem; font-weight: 700; line-height: 1.5; margin: 0; }
.l3-bcard__title { margin: 1.28rem 0 0; font-size: clamp(2.8rem, 2.5vw, 4.48rem); line-height: 1; letter-spacing: normal; }
.l3-bcard__title a::after { content: ""; position: absolute; inset: 0; }
.l3-bcard__text { color: var(--l3-charcoal-soft); font-size: 1.28rem; line-height: 1.7; margin: 0; }
.l3-bcard__link { position: relative; z-index: 1; border-top: 1px solid var(--l3-mline); color: var(--l3-sage-btn); letter-spacing: .06em; margin-top: auto; padding-top: 1.92rem; font-size: 1.04rem; font-weight: 700; line-height: 1.5; }
.l3-notebar { border-left: 3px solid var(--l3-rose); color: var(--l3-charcoal-soft); background: rgba(216,167,172,.12) !important; margin: 3.2rem 0 0; padding: 1.76rem 2rem; font-size: 1.248rem; line-height: 1.7; }
.l3-notebar strong { font-weight: 700; color: inherit; }

/* Tiles: "plain" = size cards, "accent" = numbered use cards */
.l3-tiles { padding: clamp(8.8rem, 9vw, 14.4rem) 0; }
.l3-tiles--plain { background: radial-gradient(circle at 7% 5%, rgba(201,220,229,.44), transparent 27%), var(--l3-ivory); }
.l3-tiles--plain .l3-split-head { margin-bottom: 4rem; }
.l3-tiles--plain .l3-tgrid { gap: 1.12rem; }
.l3-tiles--plain .l3-tile { border: 1px solid var(--l3-mline); background: rgba(255,255,255,.72); justify-content: flex-start; min-height: 245px; padding: 2.4rem; transition: all .18s; }
.l3-tiles--plain a.l3-tile:hover { border-color: var(--l3-rose); background: #fff; transform: translateY(-3px); }
.l3-tiles--plain .l3-tile__kicker { color: var(--l3-rose-deep); letter-spacing: .1em; font-size: .992rem; font-weight: 700; line-height: 1.5; margin: 0; white-space: normal; }
.l3-tiles--plain .l3-tile__title { margin: 1.12rem 0 0; font-size: 2.56rem; line-height: 1.5; letter-spacing: normal; }
.l3-tiles--plain .l3-tile__text { color: var(--l3-charcoal-soft); font-size: 1.216rem; line-height: 1.6; margin: 0; }
.l3-tiles--plain .l3-tile__price { color: var(--l3-sage-btn); font-family: var(--l3-serif); font-size: 2.32rem; line-height: 1.5; margin: auto 0 0; padding-top: 0; }
.l3-tiles--accent { text-align: center; background: var(--l3-white); }
.l3-tiles__head { margin-bottom: 0; }
.l3-tiles--accent .l3-tiles__head .l3-h2 { letter-spacing: -.04em; }
.l3-tiles--accent .l3-tiles__head .l3-lead { margin: 2.4rem auto 0; }
.l3-tiles--accent .l3-tgrid { text-align: left; gap: 1.6rem; margin-top: 5.6rem; }
.l3-tiles--accent .l3-tile { border-top: 3px solid var(--l3-rose); background: var(--l3-ivory); min-height: 0; padding: 3.2rem; }
.l3-tiles--accent .l3-tile--sage { border-top-color: var(--l3-sage); }
.l3-tiles--accent .l3-tile--blue { border-top-color: var(--l3-butter); }
.l3-tiles--accent .l3-tile--deep { border-top-color: var(--l3-rose-deep); }
.l3-tiles--accent .l3-tile__num { color: var(--l3-rose); letter-spacing: .12em; font-size: 1.04rem; font-weight: 700; line-height: 1.5; margin: 0; }
.l3-tiles--accent .l3-tile--sage .l3-tile__num { color: var(--l3-sage); }
.l3-tiles--accent .l3-tile--blue .l3-tile__num { color: var(--l3-butter); }
.l3-tiles--accent .l3-tile--deep .l3-tile__num { color: var(--l3-rose-deep); }
.l3-tiles--accent .l3-tile__title { margin: 2.4rem 0 1.28rem; font-size: 2.16rem; line-height: 1.5; letter-spacing: normal; }
.l3-tiles--accent .l3-tile__text { color: var(--l3-charcoal-soft); margin: 0; font-size: 1.248rem; line-height: 1.7; }
.l3-tiles--accent.l3-tiles--bg-ivory { background: var(--l3-ivory); }
.l3-tiles--accent.l3-tiles--bg-ivory .l3-tile { background: var(--l3-white); }

/* Details + accordions */
.l3-details { background: linear-gradient(135deg, #EAD1D3, #FAF7F2 52%, #C9DCE5); padding: clamp(8.8rem, 9vw, 14.4rem) 0; }
.l3-details__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 8vw; }
.l3-details__head .l3-h2 { letter-spacing: -.04em; }
.l3-details__head .l3-lead, .l3-details--accordion .l3-details__head .l3-lead { color: var(--l3-charcoal-soft); margin: 2.4rem 0 0; font-size: 1.6rem; line-height: 1.75; max-width: none; }
.l3-tri { border-top: 0; }
.l3-tri details { border-top: 1px solid rgba(45,43,42,.18); border-bottom: 0; }
.l3-tri details:last-child { border-bottom: 1px solid rgba(45,43,42,.18); }
.l3-tri summary { display: list-item; list-style: disclosure-closed inside; padding: 1.92rem 0; font-size: 1.6rem; line-height: 1.5; gap: 0; }
.l3-tri details[open] > summary { list-style-type: disclosure-open; }
.l3-tri summary::-webkit-details-marker { display: inline; }
.l3-tri summary::before { content: none; }
.l3-tri__body { color: var(--l3-charcoal-soft); margin: -.32rem 0 2rem; padding: 0; font-size: 1.248rem; line-height: 1.7; }
.l3-tri__body p { margin: 0; }

/* Solid inquiry band (collection pages) */
.l3-inq--solid { background: var(--l3-rose); padding: clamp(6.4rem, 7vw, 11.2rem) 0; }
.l3-inq--solid .l3-inq__grid { align-items: end; }
.l3-inq--solid .l3-eyebrow { color: #7C555B; }
.l3-inq--solid .l3-h2 { letter-spacing: -.04em; }
.l3-inq--solid .l3-lead { max-width: 690px; color: var(--l3-charcoal-soft); margin: 0; font-size: 1.6rem; line-height: 1.7; }
.l3-inq--solid .l3-btn:hover { background: var(--l3-rose-deep); }

@media (max-width: 1050px) {
  .l3-phero { grid-template-columns: 1fr; height: auto; min-height: 0; max-height: none; }
  .l3-phero__media { min-height: 70svh; aspect-ratio: auto; }
  .l3-bgrid { grid-template-columns: 1fr; }
  .l3-tiles--plain .l3-tgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .l3-tiles--accent .l3-tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 989px) {
  .l3-phero__text { padding: clamp(5.6rem, 5vw, 10rem); }
  .l3-split-head { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr); margin-bottom: 5.6rem; }
  .l3-details__grid { grid-template-columns: 1fr 1fr; }
  .l3-tiles, .l3-details, .l3-blends { padding: clamp(8.8rem, 9vw, 14.4rem) 0; }
}
@media (max-width: 760px) {
  .l3-phero__media { min-height: 62svh; }
  .l3-phero__text { padding: 7.2rem 2.08rem; }
  .l3-phero .l3-title { font-size: clamp(6.72rem, 20vw, 9.6rem); }
  .l3-blends > .l3-wrap, .l3-tiles > .l3-wrap, .l3-details > .l3-wrap, .l3-band > .l3-wrap, .l3-feature > .l3-wrap { padding: 0 2.08rem; }
  .l3-blends, .l3-tiles, .l3-details { padding: 8rem 0; }
  .l3-bcard { grid-template-columns: 1fr; min-height: 0; }
  .l3-bcard__art { min-height: 280px; aspect-ratio: auto; }
  .l3-split-head, .l3-details__grid, .l3-inq__grid { grid-template-columns: 1fr; gap: 3.2rem; }
  .l3-tiles--plain .l3-tgrid, .l3-tiles--accent .l3-tgrid { grid-template-columns: 1fr; }
  .l3-tiles--plain .l3-tile { min-height: 190px; }
  .l3-inq--solid { padding: 8rem 0; }
  .l3-inq--solid .l3-inq__grid { align-items: start; }
}

/* Blend card illustrations (exact shapes from the chat site) */
.l3-bvis { position: absolute; inset: 0; display: block; background: linear-gradient(145deg, #F4E8E9, #FAF7F2); overflow: hidden; }
.l3-bvis i, .l3-bvis b { background: var(--c1); border-radius: 68% 32% 62% 38% / 66% 42% 58% 34%; width: 96px; height: 116px; position: absolute; top: 16%; left: 22%; transform: rotate(-18deg); box-shadow: inset -14px -12px 22px rgba(45,43,42,.08), 0 10px 18px rgba(45,43,42,.08); }
.l3-bvis i:nth-child(2) { background: var(--c2); width: 74px; height: 92px; top: 11%; left: 52%; transform: rotate(26deg); }
.l3-bvis i:nth-child(3) { background: var(--c3); width: 68px; height: 86px; top: 49%; left: 12%; transform: rotate(-44deg); }
.l3-bvis i:nth-child(4) { background: var(--c1); opacity: .84; width: 90px; height: 108px; top: 46%; left: 55%; transform: rotate(52deg); }
.l3-bvis i:nth-child(5) { background: var(--c2); width: 54px; height: 68px; top: 70%; left: 36%; transform: rotate(12deg); }
.l3-bvis b { background: var(--accent); border-radius: 52% 48% 58% 42%; width: 48px; height: 48px; top: 35%; left: 43%; transform: rotate(36deg); }
.l3-bvis--blushing-brooke { --c1: #F3EDDF; --c2: #D99AA7; --c3: #70263D; --accent: #91A08F; }
.l3-bvis--peppermint { --c1: #F3EDDF; --c2: #D99AA7; --c3: #F5D8DA; --accent: #91A08F; }
.l3-bvis--wildberry { --c1: #F3EDDF; --c2: #70263D; --c3: #77527E; --accent: #A66082; }
.l3-bvis--candy-sprinkles { --c1: #F3EDDF; --c2: #D99AA7; --c3: #77527E; --accent: #E59A45; }
.l3-bvis--autumn { --c1: #F3EDDF; --c2: #BF5D3E; --c3: #DFA641; --accent: #E4C548; }
.l3-bvis--evergreen { --c1: #F3EDDF; --c2: #70263D; --c3: #9EADA1; --accent: #657369; }
@media (max-width: 760px) { .l3-bcard__art { position: relative; } }

/* Band (two-column statement) — shared defaults */
.l3-band { padding: 8rem 0; }
.l3-band__grid { grid-template-columns: 1fr 1fr; column-gap: 6vw; row-gap: 0; align-items: start; }
.l3-band .l3-h2 { margin: 0; }
.l3-band .l3-lead, .l3-band .l3-body { margin: 0 0 1.6rem; }

/* ---------- Decorative Petals & Foliage collection ---------- */
.l3-tpl-collection--decorative-petals .l3-phero { grid-template-columns: 48% 52%; height: auto; min-height: 600px; max-height: none; }
.l3-tpl-collection--decorative-petals .l3-phero__media::after { content: none; }
.l3-tpl-collection--decorative-petals .l3-phero__media .l3-img { position: static; height: 100%; }
.l3-tpl-collection--decorative-petals .l3-phero__text { background: radial-gradient(circle at 95% 5%, rgba(201,220,229,.3), transparent 35%), var(--l3-ivory); padding: clamp(3.2rem, 5vw, 8.8rem); }
.l3-tpl-collection--decorative-petals .l3-phero .l3-eyebrow { margin-bottom: 2.24rem; }
.l3-tpl-collection--decorative-petals .l3-phero .l3-title { letter-spacing: -.045em; font-size: clamp(4.8rem, 5.6vw, 10.4rem); line-height: 1.02; }
.l3-tpl-collection--decorative-petals .l3-phero .l3-title em { color: #A8737D; }
.l3-tpl-collection--decorative-petals .l3-band { background: #fff; padding: 8rem 0; }
.l3-tpl-collection--decorative-petals .l3-band > .l3-wrap { padding: 0 7vw; }
.l3-tpl-collection--decorative-petals .l3-band__head { display: contents; }
.l3-tpl-collection--decorative-petals .l3-band .l3-eyebrow { grid-column: 1 / -1; }
.l3-tpl-collection--decorative-petals .l3-band .l3-h2 { font-size: clamp(4rem, 4.2vw, 7.52rem); line-height: 1.08; letter-spacing: normal; }
.l3-tpl-collection--decorative-petals .l3-band .l3-h2 em { color: #A8737D; display: block; }
.l3-tpl-collection--decorative-petals .l3-band .l3-lead, .l3-tpl-collection--decorative-petals .l3-band .l3-body { font-family: var(--l3-sans); color: var(--l3-charcoal-soft); margin: 0 0 1.6rem; font-size: 1.6rem; line-height: 1.75; max-width: none; }
.l3-tpl-collection--decorative-petals .l3-blends { background: var(--l3-ivory); padding: 8rem 0; }
.l3-palgrid { gap: 3.2rem; }
.l3-pal { background: #fff; overflow: hidden; }
.l3-pal__media { aspect-ratio: 3 / 4; }
.l3-pal__body { padding: 2.4rem; flex: none; }
.l3-pal__tag { color: #805C61; font-size: 1.4rem; line-height: 1.5; margin: 0; }
.l3-pal__title { margin: .8rem 0 1.6rem; font-size: 3.2rem; line-height: 1.5; letter-spacing: normal; }
.l3-pal__text { color: var(--l3-charcoal-soft); font-size: 1.6rem; line-height: 1.65; margin: 0; padding: 0; border: 0; }
.l3-pal__foot { border-top: 1px solid var(--l3-mline); flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.6rem; padding-top: 1.6rem; margin-top: 0; font-size: 1.4rem; }
.l3-pal__price { font-family: var(--l3-serif); font-size: 2rem; line-height: 1.5; }
.l3-pal__link { color: var(--l3-sage-btn); text-underline-offset: .32rem; text-decoration: underline; font-size: 1.4rem; }
.l3-tpl-collection--decorative-petals .l3-tiles--plain { background: radial-gradient(circle at 8% 4%, rgba(201,220,229,.42), transparent 26%), var(--l3-ivory); }
.l3-tpl-collection--decorative-petals .l3-feature { background: var(--l3-ivory); padding: clamp(8.8rem, 9vw, 14.4rem) 0 0; }
.l3-tpl-collection--decorative-petals .l3-feature__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 6vw; margin-bottom: 50px; }
.l3-tpl-collection--decorative-petals .l3-feature__frame { aspect-ratio: auto; overflow: visible; background: none; }
.l3-tpl-collection--decorative-petals .l3-feature__frame .l3-img, .l3-tpl-collection--decorative-petals .l3-feature__frame img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; max-height: 650px; object-fit: cover; object-position: center; }
.l3-tpl-collection--decorative-petals .l3-feature__caption { text-align: left; color: #746B64; margin-top: 10px; font-size: 12px; line-height: 1.5; }
.l3-tpl-collection--decorative-petals .l3-feature__text .l3-h2 { margin: 0; letter-spacing: -.04em; }
.l3-tpl-collection--decorative-petals .l3-feature__body { color: var(--l3-charcoal); font-size: 18px; line-height: 1.7; margin: 0; max-width: none; }
.l3-tpl-collection--decorative-petals .l3-feature__link { margin-top: 18px; font-size: 16px; display: inline-block; color: var(--l3-charcoal); }
.l3-tpl-collection--decorative-petals .l3-tiles--accent { background: var(--l3-ivory); padding-top: 0; }
.l3-tpl-collection--decorative-petals .l3-tiles--accent .l3-tiles__head:empty, .l3-tiles__head:not(:has(*)) { display: none; }
.l3-tpl-collection--decorative-petals .l3-tiles--accent .l3-tgrid { margin-top: 5.6rem; }
.l3-tpl-collection--decorative-petals .l3-tiles--accent .l3-tile { background: var(--l3-ivory); }
@media (max-width: 900px) {
  .l3-palgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .l3-tpl-collection--decorative-petals .l3-phero { grid-template-columns: 1fr 1fr; }
  .l3-tpl-collection--decorative-petals .l3-phero__text { padding: 3.2rem; }
}
@media (max-width: 700px) {
  .l3-tpl-collection--decorative-petals .l3-phero { grid-template-columns: 1fr; }
  .l3-tpl-collection--decorative-petals .l3-phero__media { height: 420px; min-height: 0; }
  .l3-tpl-collection--decorative-petals .l3-phero__media .l3-img { height: 100%; }
  .l3-tpl-collection--decorative-petals .l3-phero__text { padding: 4.8rem 2.08rem; }
  .l3-tpl-collection--decorative-petals .l3-band { padding: 4.8rem 0; }
  .l3-tpl-collection--decorative-petals .l3-band > .l3-wrap { padding: 0 2.08rem; }
  .l3-band__grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .l3-tpl-collection--decorative-petals .l3-blends { padding: 4.8rem 0; }
  .l3-palgrid { gap: 1.6rem; }
  .l3-pal__body { padding: 1.6rem; }
  .l3-pal__title { font-size: 2.56rem; }
  .l3-tpl-collection--decorative-petals .l3-feature__grid { grid-template-columns: 1fr; gap: 28px; }
  .l3-tpl-collection--decorative-petals .l3-feature__frame img { object-fit: contain; max-height: 600px; }
}
@media (max-width: 420px) { .l3-palgrid { grid-template-columns: 1fr; } }


/* ==========================================================================
   v4 — Petal product pages (Vintage Blush / Blushing Brooke layout).
   Copied from the chat site's product stylesheet; values are in px.
   ========================================================================== */
.l3-tpl-product--decorative-petals .shopify-section-group-header-group,
.l3-tpl-product--petal-confetti .shopify-section-group-header-group { display: none; }
.brooke-template { font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.brooke-template :where(h1, h2, h3, p, figure, blockquote, ol, ul) { margin: 0; padding: 0; }
.brooke-template :where(button) { -webkit-appearance: none; appearance: none; background: transparent; border: 0 solid; padding: 0; border-radius: 0; letter-spacing: inherit; }
.brooke-template :where(a) { color: inherit; text-decoration: none; }
.brooke-template :where(img) { display: block; width: 100%; }
.brooke-template :where(input) { -webkit-appearance: none; appearance: none; border-radius: 0; }
.brooke-template{ --ivory:#fbf4f6; --paper:#fffdf9; --ink:#4a443f; --sage:#8f9c7c; --olive:#59634d; --clay:#d58da0; --line:#ead8df; --burgundy:#70263d; background:var(--paper); color:var(--ink); font-family:Arial,sans-serif}
.brooke-template *{ box-sizing:border-box}
.brooke-template button,.brooke-template a,.brooke-template input,.brooke-template select{ font:inherit; color:inherit}
.brooke-template button{ cursor:pointer}
.brooke-announcement{ background:var(--olive); color:#fff; text-align:center; letter-spacing:.16em; padding:10px; font-size:11px}
.brooke-header{ border-bottom:1px solid var(--line); background:#fffdf8; grid-template-columns:1fr auto 1fr; align-items:center; height:92px; padding:0 4vw; display:grid}
.brooke-logo{ letter-spacing:.17em; font:23px Georgia,serif; text-decoration:none}
.brooke-header nav{ z-index:2; gap:30px; margin-top:112px; font-size:12px; display:flex; position:absolute; left:50%; transform:translate(-50%)}
.brooke-header nav a{ text-decoration:none}
.brooke-actions{ justify-self:end; font-size:13px}
.brooke-actions b{ background:#efb7c7; border-radius:50%; place-items:center; width:18px; height:18px; font-size:10px; display:inline-grid}
.brooke-menu{ background:0 0; border:0; display:none}
.brooke-crumbs{ color:#84747a; max-width:1380px; margin:52px auto 20px; padding:0 4vw; font-size:11px}
.brooke-crumbs a{ text-decoration:none}
.brooke-crumbs span{ margin:0 9px}
.brooke-product{ grid-template-columns:1.15fr .85fr; gap:7vw; max-width:1380px; margin:auto; padding:0 4vw 90px; display:grid}
.brooke-gallery{ align-self:start; position:sticky; top:20px}
.brooke-photo{ aspect-ratio:1; background:radial-gradient(circle at 18% 14%,#fffffff2,#0000 23%),linear-gradient(145deg,#eee5da,#faf7f2 56%,#e8efeb); position:relative; overflow:hidden}
.brooke-photo .petal{ background:var(--petal); border-radius:68% 32% 62% 38%/66% 42% 58% 34%; width:25%; height:30%; position:absolute; box-shadow:inset -16px -13px 24px #2d2b2a14,0 13px 26px #2d2b2a17}
.brooke-photo .ivory-one{ --petal:#f3eddf; top:15%; left:15%; transform:rotate(-24deg)}
.brooke-photo .pink-one{ --petal:#d99aa7; top:13%; left:52%; transform:rotate(28deg)scale(.82)}
.brooke-photo .ivory-two{ --petal:#f7f1e6; top:54%; left:55%; transform:rotate(55deg)}
.brooke-photo .burgundy-one{ --petal:#70263d; top:60%; left:18%; transform:rotate(-48deg)scale(.6)}
.brooke-photo .heart-leaf{ background:#91a08f; border-radius:10px 50% 50%; width:74px; height:66px; position:absolute; top:42%; left:42%; transform:rotate(-45deg); box-shadow:0 12px 24px #2d2b2a1f}
.brooke-photo .heart-leaf:before,.brooke-photo .heart-leaf:after{ content:""; background:inherit; border-radius:50%; width:74px; height:66px; position:absolute}
.brooke-photo .heart-leaf:before{ top:-36px; left:0}
.brooke-photo .heart-leaf:after{ top:0; left:36px}
.brooke-badge{ text-align:center; letter-spacing:.1em; background:#f7f3eee8; border-radius:50%; place-items:center; width:112px; height:112px; font-size:10px; line-height:1.55; display:grid; position:absolute; bottom:24px; right:24px}
.brooke-thumbs{ gap:12px; margin-top:14px; display:flex}
.brooke-thumbs button{ border:1px solid var(--line); background:#faf7f2; width:72px; height:62px; font:13px Georgia}
.brooke-thumbs .active{ border:2px solid var(--olive)}
.brooke-info{ padding-top:14px}
.brooke-eyebrow{ letter-spacing:.18em; color:#b97086; font-size:11px; font-weight:700}
.brooke-info h1,.brooke-guide h2,.brooke-story h2{ font-family:Georgia,serif; font-weight:400; line-height:1.04}
.brooke-info h1{ margin:14px 0 12px; font-size:58px}
.brooke-rating{ color:#d8ad59; font-size:12px}
.brooke-rating u{ color:#84747a; margin-left:8px}
.brooke-price{ margin:24px 0 18px; font:22px Georgia}
.brooke-lead{ color:#6d5b4e; border-bottom:1px solid var(--line); padding-bottom:28px; font:17px/1.75 Georgia}
.brooke-usage-heading{ justify-content:space-between; align-items:end; margin:28px 0 12px; font-size:13px; display:flex}
.brooke-usage-heading span{ color:#84747a; font-size:11px}
.brooke-usage-grid{ grid-template-columns:repeat(3,1fr); gap:8px; display:grid}
.brooke-usage-grid button{ border:1px solid var(--line); text-align:center; background:#fffdfb; min-height:58px; padding:10px; font:14px/1.25 Georgia}
.brooke-usage-grid button.selected,.brooke-sizegrid .selected{ border:2px solid var(--clay); background:#fae9ef}
.brooke-legend{ justify-content:space-between; align-items:end; margin:25px 0 14px; font-size:13px; display:flex}
.brooke-legend div>span{ color:#84747a; margin-top:5px; font-size:11px; display:block}
.brooke-legend a{ font-size:12px}
.brooke-sizegrid{ grid-template-columns:1fr 1fr; gap:10px; display:grid}
.brooke-sizegrid button{ border:1px solid var(--line); text-align:left; background:#fffdfb; padding:15px}
.brooke-sizegrid strong,.brooke-sizegrid span{ display:block}
.brooke-sizegrid strong{ font:16px Georgia}
.brooke-sizegrid span{ color:#84747a; margin-top:5px; font-size:11px}
.brooke-note{ background:#f9edf2; align-items:center; gap:14px; margin:12px 0 22px; padding:15px; display:flex}
.brooke-note i{ color:var(--clay); font-size:24px}
.brooke-note b,.brooke-note small{ display:block}
.brooke-note b{ font-size:13px}
.brooke-note small{ color:#5d5965; margin-top:3px}
.brooke-info label{ margin-bottom:18px; font-size:12px; font-weight:700; display:block}
.brooke-field-title{ flex-direction:column; justify-content:flex-end; min-height:36px; display:flex}
.brooke-field-title small{ color:#84747a; min-height:14px; margin-top:3px; font-size:10px; font-weight:400; display:block}
.brooke-info input,.brooke-info select{ border:1px solid var(--line); background:#fff; width:100%; height:48px; margin-top:9px; padding:0 13px; display:block}
.brooke-dispatch-block{ grid-template-columns:1fr 1fr; gap:0 12px; display:grid}
.brooke-dispatch-note{ border-left:3px solid var(--sage); background:#ecf9f0; grid-column:1/-1; margin:-4px 0 18px; padding:14px 16px}
.brooke-dispatch-note b{ font:15px Georgia}
.brooke-dispatch-note p{ color:#666; margin:5px 0 0; font-size:12px; line-height:1.6}
.brooke-buy{ grid-template-columns:116px 1fr; gap:10px; display:grid}
.brooke-quantity{ border:1px solid var(--line); justify-content:space-around; align-items:center; display:flex}
.brooke-quantity button{ background:0 0; border:0; font-size:20px}
.brooke-add{ border:1px solid var(--olive); background:var(--olive); color:#fff; text-transform:uppercase; letter-spacing:.12em; place-items:center; min-height:52px; font-size:11px; text-decoration:none; display:grid}
.brooke-micro{ text-align:center; letter-spacing:.07em; color:#84747a; font-size:10px}
.brooke-accordions{ border-top:1px solid var(--line); margin-top:27px}
.brooke-accordion{ border-bottom:1px solid var(--line)}
.brooke-accordion>button{ background:0 0; border:0; justify-content:space-between; width:100%; padding:19px 0; font:15px Georgia; display:flex}
.brooke-accordion p{ color:#666; margin:0 0 21px; font-size:13px; line-height:1.7}
.brooke-guide{ text-align:center; background:#f5edda; padding:90px 6vw}
.brooke-guide h2{ margin:15px; font-size:44px}
.brooke-intro{ color:#666; max-width:680px; margin:0 auto 50px; line-height:1.7}
.brooke-purpose-guide{ border-block:1px solid #d8c99b; grid-template-columns:repeat(3,1fr); max-width:980px; margin:auto; display:grid}
.brooke-purpose-guide article{ border-right:1px solid #d8c99b; padding:34px 18px}
.brooke-purpose-guide article:last-child{ border:0}
.brooke-purpose-guide em,.brooke-purpose-guide strong,.brooke-purpose-guide span{ display:block}
.brooke-purpose-guide em{ color:var(--olive); letter-spacing:.15em; margin-bottom:18px; font-size:10px}
.brooke-purpose-guide strong{ font:22px Georgia}
.brooke-purpose-guide span{ color:#777; margin-top:8px; font-size:12px}
.brooke-story{ background:var(--olive); color:#fff; grid-template-columns:1fr 1fr; gap:10vw; padding:100px 8vw; display:grid}
.brooke-story .brooke-eyebrow{ color:#f1e2ae}
.brooke-story h2{ margin:18px 0; font-size:42px}
.brooke-story>p{ align-self:center; font:18px/1.8 Georgia}
.brooke-footer{ text-align:center; background:#e8e2d9; padding:70px 20px}
.brooke-footer p{ color:#6d5b4e; margin:10px; font-family:Georgia}
@media (max-width: 800px){ .brooke-header{ height:74px}
.brooke-menu{ display:block}
.brooke-logo{ font-size:18px}
.brooke-header nav{ display:none}
.brooke-actions{ font-size:11px}
.brooke-crumbs{ margin-top:22px}
.brooke-product{ grid-template-columns:1fr; gap:25px; padding:0 20px 60px}
.brooke-gallery{ position:static}
.brooke-badge{ width:86px; height:86px; font-size:8px; bottom:14px; right:14px}
.brooke-info h1{ font-size:43px}
.brooke-usage-heading{ display:block}
.brooke-usage-heading span{ margin-top:5px; display:block}
.brooke-usage-grid,.brooke-dispatch-block{ grid-template-columns:1fr}
.brooke-buy{ grid-template-columns:100px 1fr}
.brooke-guide{ padding:70px 20px}
.brooke-guide h2{ font-size:35px}
.brooke-purpose-guide{ grid-template-columns:1fr}
.brooke-purpose-guide article{ border-bottom:1px solid #d8c99b; border-right:0}
.brooke-purpose-guide article:last-child{ border-bottom:0}
.brooke-story{ grid-template-columns:1fr; gap:10px; padding:70px 25px}
.brooke-story h2{ font-size:34px}
}
.brooke-photo img{ object-fit:cover; width:100%; height:100%}
.brooke-actions{ cursor:pointer; background:0 0; border:0}

.l3-tpl-product--decorative-petals .brooke-info .brooke-accordions p{ font-size:16px}
.scatter-product-colors{ color:#84747a; font-size:14px}
.brooke-template .brooke-add{ color:#fff}
.l3-tpl-product--decorative-petals .brooke-template .brooke-legend div>span,.l3-tpl-product--decorative-petals .brooke-template .brooke-sizegrid button span{ font-size:14px}
.l3-tpl-product--decorative-petals .brooke-template .brooke-announcement,.l3-tpl-product--decorative-petals .brooke-template .brooke-micro,.l3-tpl-product--decorative-petals .brooke-template .brooke-field-title small{ font-size:12px}
.brooke-header{ padding:0 16px}
.brooke-logo{ font-size:16px}
}
/* Theme additions for Shopify data */
.brooke-template a.brooke-actions { justify-self: end; }
.brooke-slide { position: absolute; inset: 0; }
.brooke-slide img { width: 100%; height: 100%; object-fit: cover; }
.brooke-sizegrid button[disabled] { opacity: .45; cursor: not-allowed; }
.brooke-add[disabled] { opacity: .6; cursor: not-allowed; }
.brooke-msg { color: #b97086; font-size: 13px; margin: 0 0 10px; min-height: 0; }
.brooke-msg:empty { display: none; }
.brooke-accordion__body p { color: #666; margin: 0 0 21px; font-size: 13px; line-height: 1.7; }
.l3-tpl-product--decorative-petals .brooke-accordion__body p { font-size: 16px; }
/* The chat site's footer picks up its global footer styles too */
.brooke-footer { color: rgba(255,255,255,.82); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: end; gap: 32px; }
.brooke-footer .brooke-logo { color: rgba(255,255,255,.82); }
.brooke-footer > p { letter-spacing: .15em; text-transform: uppercase; justify-self: end; font-size: 9.92px; font-weight: 700; }
@media (max-width: 1040px) { .brooke-footer { grid-template-columns: 1fr 1fr; } .brooke-footer > p { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 760px) { .brooke-footer { grid-template-columns: 1fr; gap: 36.8px; } .brooke-footer > p { justify-self: start; } }
.brooke-template h1, .brooke-template h2, .brooke-template h3 { letter-spacing: normal; }
.brooke-note small { font-size: 12.8px; }

.l3-tpl-product--decorative-petals .brooke-note small { font-size: 14px; line-height: 1.6; }

/* ---------- Bouquets & Arrangements collection ---------- */
.l3-pcards { background: var(--l3-ivory); padding: 0; }
.l3-pcards > .l3-wrap { max-width: none; padding: 0; }
.l3-pcards__head { text-align: center; padding: clamp(4.8rem, 5vw, 8.8rem) 7vw 4rem; margin: 0; }
.l3-pcards__head .l3-eyebrow { margin-bottom: 1.28rem; }
.l3-title--inline { letter-spacing: -.045em; margin: 0; font-size: clamp(4.8rem, 5.5vw, 9.6rem); line-height: 1.05; }
.l3-title--inline em { display: inline; color: #A8737D; font-weight: 400; }
.l3-pcards__head .l3-lead { max-width: 650px; color: var(--l3-charcoal-soft); margin: 1.6rem auto 0; font-size: 1.84rem; line-height: 1.6; }
.l3-pcgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.6rem, 2vw, 3.2rem); padding: 0 7vw 11.2rem; }
.l3-pc { background: #fff; transition: transform .18s, box-shadow .18s; }
.l3-pc:hover, .l3-pc:focus-visible { transform: translateY(-4px); box-shadow: 0 16px 35px rgba(45,43,42,.1); }
.l3-pc__media { aspect-ratio: 4 / 5; background: #F5F1EE; }
.l3-pc__body { flex: 1; padding: 2.24rem; }
.l3-pc__mood { color: #805C61; letter-spacing: .1em; font-size: 1.12rem; font-weight: 700; line-height: 1.25; margin: 0; }
.l3-pc__title { display: block; margin: 1.12rem 0 2.24rem; font-size: clamp(2.56rem, 2.2vw, 4rem); line-height: 1.1; padding: 0; border: 0; letter-spacing: normal; }
.l3-pc__foot { border-top: 1px solid var(--l3-mline); justify-content: space-between; align-items: center; gap: .8rem; padding-top: 1.6rem; font-size: 1.328rem; }
.l3-pc__price { font-family: var(--l3-serif); font-size: 2rem; line-height: 1.5; }
.l3-pc__link { color: var(--l3-sage-btn); font-weight: 700; font-size: 1.328rem; letter-spacing: normal; line-height: 1.5; }
@media (max-width: 989px) { .l3-pcgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .l3-pcards__head { padding: 4.8rem 2.08rem 3.2rem; }
  .l3-pcgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.12rem; padding: 0 2.08rem 6.4rem; }
  .l3-pc__body { padding: 1.44rem; }
  .l3-pc__title { font-size: 2.24rem; }
  .l3-pc__foot, .l3-pc__foot span { display: block; }
  .l3-pc__link { margin-top: .64rem; }
}
.l3-pc__media--contain .l3-img { object-fit: contain; }

/* ==========================================================================
   v4 — Chat-site kit for pages rebuilt with the mockup's own markup
   (Bouquet products, Bouquet Preservation, Workshops). Rem values converted
   from the mockup's 16px root to this theme's 10px root.
   ========================================================================== */
.l3m { --ivory: #FAF7F2; --linen: #FAF7F2; --paper: #FFFFFF; --sage: #9EADA1; --olive: #657369; --terracotta: #B57F86; --rose: #D8A7AC; --butter: #C9DCE5; --sky: #C9DCE5; --brown: #5D5855; --ink: #2D2B2A; --line: rgba(45,43,42,.16); --serif: Georgia, "Times New Roman", Times, serif; --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--ink); font-family: var(--sans); font-size: 1.6rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.l3m *, .l3m *::before, .l3m *::after { box-sizing: border-box; }
.l3m :where(h1, h2, h3, h4, p, figure, blockquote, ol, ul, dl, dd) { margin: 0; padding: 0; }
.l3m :where(h1, h2, h3, h4) { font-size: inherit; font-weight: inherit; letter-spacing: normal; }
.l3m :where(a) { color: inherit; text-decoration: none; }
.l3m :where(img) { display: block; width: 100%; max-width: 100%; }
.l3m :where(button) { -webkit-appearance: none; appearance: none; background: transparent; border: 0 solid; padding: 0; font: inherit; color: inherit; border-radius: 0; cursor: pointer; letter-spacing: inherit; }
.l3m :where(ol, ul) { list-style: none; }
.l3m :where(summary) { display: list-item; }
.l3m .eyebrow{color:var(--terracotta);letter-spacing:.19em;text-transform:uppercase;margin:0 0 2.24rem;font-size:1.12rem;font-weight:700;line-height:1.6}
.l3m .button{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:2.24rem;min-height:52px;padding:1.52rem 2rem 1.52rem 2.4rem;font-size:1.2rem;font-weight:700;transition:all .18s;display:inline-flex}
.l3m .button:hover,.l3m .button:focus-visible{transform:translateY(-2px)}
.l3m .button-primary{background:var(--olive);color:#fff}
.l3m .button-primary:hover,.l3m .button-primary:focus-visible{background:var(--rose)}
.l3m .text-link{border-bottom:1px solid var(--brown);color:var(--brown);letter-spacing:.04em;padding-block:0.72rem;font-size:1.248rem;font-weight:600}
.l3m .button-light{background:var(--olive);color:#fff}
.l3m .button-light:hover,.l3m .button-light:focus-visible{background:var(--terracotta)}

.l3-floral { }
.l3-floral .floral-page{background:var(--ivory)}
.l3-floral .floral-hero h1,.l3-floral .floral-intro h2,.l3-floral .floral-product h1,.l3-floral .floral-bouquets h2,.l3-floral .floral-note h2,.l3-floral .floral-closing h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:400;line-height:1.03}
.l3-floral .floral-products{background:#fff;padding:0 7vw 11.2rem}
.l3-floral .floral-shop-bar{border-top:1px solid var(--line);color:#805c61;letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.6rem;padding:1.6rem 0;font-size:1.248rem;font-weight:700;display:flex}
.l3-floral .floral-shop-bar button{border:1px solid var(--olive);color:var(--olive);font:inherit;cursor:pointer;background:0 0;padding:1.28rem 1.6rem}
.l3-floral .floral-shop-bar button:hover,.l3-floral .floral-shop-bar button:focus-visible{background:var(--olive);color:#fff}
.l3-floral .floral-product{border-top:1px solid var(--line);grid-template-columns:56% 1fr;align-items:center;gap:clamp(3.2rem,5vw,9.6rem);padding:5.6rem 0 9.6rem;display:grid}
.l3-floral .floral-product:nth-child(2n) .floral-gallery{order:2}
.l3-floral .floral-product:nth-child(2n){grid-template-columns:1fr 56%}
.l3-floral .floral-gallery{grid-template-columns:minmax(0,1fr) minmax(0,.44fr);align-items:end;gap:1.36rem;display:grid}
.l3-floral .floral-photo{background:#f5f1ee;margin:0;position:relative;overflow:hidden}
.l3-floral .floral-photo-main{aspect-ratio:.81}
.l3-floral .floral-photo-detail{aspect-ratio:.78;margin-bottom:2.4rem}
.l3-floral .floral-photo img{object-fit:cover;object-position:center;height:100%}
.l3-floral .floral-photo-main img,.l3-floral .floral-photo-detail img{width:100%;height:100%}
.l3-floral .floral-extra-gallery{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:1.36rem;display:grid}
.l3-floral .floral-extra-gallery img{object-fit:cover;object-position:center 38%;height:clamp(120px,16vw,220px)}
.l3-floral .floral-gallery-four .floral-photo-main img{object-fit:contain}
.l3-floral .floral-photo figcaption{color:var(--ink);letter-spacing:.04em;background:#faf7f2eb;padding:0.72rem 0.96rem;font-size:1.12rem;font-weight:600;position:absolute;bottom:0.96rem;left:0.96rem}
.l3-floral .floral-index,.l3-floral .floral-tone{color:#805c61;letter-spacing:.12em;text-transform:uppercase;font-size:1.216rem;font-weight:700}
.l3-floral .floral-index{border-bottom:1px solid var(--line);padding-bottom:2.24rem;display:block}
.l3-floral .floral-tone{margin:3.2rem 0 1.6rem}
.l3-floral .floral-product h1{font-size:clamp(4.32rem,4.4vw,8.32rem)}
.l3-floral .floral-description{color:var(--brown);font-family:var(--serif);margin:2.64rem 0 0;font-size:1.888rem;line-height:1.65}
.l3-floral .floral-dimensions{color:var(--brown);margin:2.4rem 0 0;font-size:1.408rem;line-height:1.7}
.l3-floral .floral-purchase{flex-wrap:wrap;align-items:center;gap:2.4rem;margin-top:3.68rem;display:flex}
.l3-floral .floral-purchase strong{font-family:var(--serif);font-size:2.88rem;font-weight:400}
.l3-floral .floral-purchase button{cursor:pointer;font-family:var(--sans)}
.l3-floral .floral-collection-coming h2,.l3-floral .floral-detail-notes h2{font-family:var(--serif);margin:0;font-size:clamp(4rem,4vw,7.68rem);font-weight:400;line-height:1.1}
.l3-floral .floral-breadcrumb{color:var(--brown);gap:1.12rem;padding:2.4rem 7vw 0;font-size:1.312rem;display:flex}
.l3-floral .floral-breadcrumb a{text-underline-offset:0.32rem;text-decoration:underline}
.l3-floral .floral-detail-page .floral-products{background:var(--ivory);padding-top:1.92rem;padding-bottom:4.8rem}
.l3-floral .floral-detail-page .floral-product,.l3-floral .floral-detail-page .floral-product:nth-child(2n){border:0;grid-template-columns:56% 1fr;padding:1.6rem 0 3.2rem}
.l3-floral .floral-detail-page .floral-product:nth-child(2n) .floral-gallery{order:0}
.l3-floral .floral-detail-notes{background:#fff;grid-template-columns:1fr 1fr;gap:6vw;padding:8rem 7vw;display:grid}
.l3-floral .floral-detail-accordions{border-top:1px solid var(--line)}
.l3-floral .floral-detail-accordions details{border-bottom:1px solid var(--line);padding:1.92rem 0}
.l3-floral .floral-detail-accordions summary{cursor:pointer;font-family:var(--serif);font-size:2.08rem}
.l3-floral .floral-detail-accordions p{color:var(--brown);line-height:1.7}
.l3-floral .floral-detail-return{background:var(--ivory);text-align:center;padding:4.8rem 7vw}
@media (max-width: 900px){.l3-floral .floral-product,.l3-floral .floral-product:nth-child(2n){grid-template-columns:1fr}}
@media (max-width: 900px){.l3-floral .floral-product:nth-child(2n) .floral-gallery{order:0}}
@media (max-width: 900px){.l3-floral .floral-gallery{max-width:760px}}
@media (max-width: 900px){.l3-floral .floral-detail-page .floral-product,.l3-floral .floral-detail-page .floral-product:nth-child(2n){grid-template-columns:1fr}}
@media (max-width: 700px){.l3-floral .floral-collection-coming,.l3-floral .floral-detail-notes{grid-template-columns:1fr;padding:6.4rem 2.08rem}}
@media (max-width: 700px){.l3-floral .floral-breadcrumb{padding:1.6rem 2.08rem 0}}
@media (max-width: 700px){.l3-floral .floral-products{padding:0 2.08rem 6.4rem}}
@media (max-width: 700px){.l3-floral .floral-shop-bar{font-size:1.12rem}}
@media (max-width: 700px){.l3-floral .floral-product{gap:3.2rem;padding:3.2rem 0 6.4rem}}
@media (max-width: 700px){.l3-floral .floral-photo-detail{margin-bottom:0.8rem}}
.l3-floral .floral-gallery-bouquet .floral-photo img,.l3-floral .floral-gallery-bouquet .floral-extra-gallery img,.l3-floral .floral-collection-image-bouquet img{object-fit:contain}
.l3-floral .floral-gallery-bouquet .floral-extra-gallery:has(img:only-child){grid-template-columns:1fr}
.l3-floral .floral-bag-link { border: 1px solid var(--olive); color: var(--olive); background: transparent; padding: 1.28rem 1.6rem; }
.l3-floral .floral-bag-link:hover, .l3-floral .floral-bag-link:focus-visible { background: var(--olive); color: #fff; }
.l3-floral .floral-product-copy h1 { font-family: var(--serif); letter-spacing: -.045em; margin: 0; font-weight: 400; line-height: 1.03; }
.l3-floral .floral-msg { flex-basis: 100%; color: var(--terracotta); font-size: 1.3rem; }
.l3-floral .floral-msg:empty { display: none; }
.l3-floral .floral-detail-accordions p { color: var(--brown); line-height: 1.7; }
.l3-floral .floral-photo .l3-img, .l3-floral .floral-photo img { height: 100%; }
.l3m .button { line-height: 1.5; }
.l3-floral .floral-bag-link { text-transform: none; }
.l3m details > summary { display: list-item; list-style: disclosure-closed inside; }
.l3m details[open] > summary { list-style-type: disclosure-open; }
.l3m details > summary::-webkit-details-marker { display: inline; }
.l3m details > summary::before, .l3m details > summary::after { content: none; }

/* ==========================================================================
   v4 — Bouquet Preservation page (copied from the chat site, scoped to .l3bp)
   ========================================================================== */
.l3bp{--ivory:#faf7f2;--paper:#fffdf9;--olive:#4f5943;--sage:#8f9c7c;--clay:#a96e55;--ink:#35392f;--brown:#6d5b4e;--line:#ded6cc}
.l3bp *{box-sizing:border-box}
.l3bp{scroll-behavior:smooth;scroll-padding-top:24px}
.l3bp{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Arial,sans-serif}
.l3bp a{color:inherit}
.l3bp button,.l3bp input,.l3bp select,.l3bp textarea{font:inherit}
.l3bp button,.l3bp a,.l3bp input,.l3bp select,.l3bp textarea{outline-offset:5px}
.l3bp button{cursor:pointer}
.l3bp a{text-decoration:none}
.l3bp h1,.l3bp h2,.l3bp h3,.l3bp p{margin-top:0}
.l3bp h1,.l3bp h2,.l3bp h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}
.l3bp h1{font-size:clamp(44px,5vw,76px);letter-spacing:-.045em;margin-bottom:24px}
.l3bp h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-.035em;margin-bottom:20px}
.l3bp h3{font-size:25px;margin-bottom:12px}
.l3bp .eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;color:var(--olive);text-transform:uppercase;margin-bottom:18px}
.l3bp .preview-bar{background:#e8e1d6;color:var(--brown);text-align:center;font-size:11px;padding:8px 16px}
.l3bp .announce{background:var(--olive);color:#fff;text-align:center;font-size:10px;letter-spacing:.19em;padding:9px 18px}
.l3bp header{display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;border-bottom:1px solid var(--line);gap:25px;background:var(--ivory)}
.l3bp .logo{font:22px Georgia;letter-spacing:.17em}
.l3bp .logo small{display:block;font:8px/2 Arial;letter-spacing:.16em;text-align:center;color:var(--brown);margin-top:5px}
.l3bp nav{display:flex;align-items:center;gap:25px;font-size:12px}
.l3bp nav a{padding-bottom:4px}
.l3bp nav a[aria-current]{border-bottom:1px solid var(--olive)}
.l3bp .btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--olive);border:1px solid var(--olive);color:white;padding:16px 24px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}
.l3bp .btn:hover{background:#37412f}
.l3bp .text-link{display:inline-block;border-bottom:1px solid var(--olive);font-size:12px;padding-bottom:3px}
.l3bp .hero{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:70px 7vw 65px;background:linear-gradient(110deg,#f2ede5,var(--paper))}
.l3bp .hero .copy{max-width:520px}
.l3bp .hero em{color:var(--clay)}
.l3bp .intro{font:19px/1.75 Georgia;color:var(--brown);max-width:490px}
.l3bp .hero .btn{margin:14px 0 20px}
.l3bp .micro{font-size:12px;color:var(--brown);line-height:1.7}
.l3bp .art-scene{position:relative;padding:36px 44px 25px;background:#e9e1d6;min-height:480px;display:flex;align-items:center;justify-content:center;border-radius:48% 48% 0 0}
.l3bp .frame{padding:12px;background:#c4a078;box-shadow:7px 15px 24px #493a2826,inset 0 0 0 2px #74593833;transition:background .2s;max-width:100%;width:330px}
.l3bp .frame-inner{padding:18px;background:#fffdf5;box-shadow:inset 0 0 5px #0002;aspect-ratio:4/5}
.l3bp .frame svg{width:100%;height:100%;display:block}
.l3bp .art-caption{text-align:center;font:italic 12px Georgia;color:var(--brown);margin:18px 0 0}
.l3bp .facts{display:flex;justify-content:center;gap:5vw;padding:23px;background:var(--ivory);border-block:1px solid var(--line);font-size:11px;color:var(--brown)}
.l3bp .facts span::before{content:'✧';margin-right:12px;color:var(--clay)}
.l3bp .section{max-width:1200px;margin:auto;padding:78px 32px}
.l3bp .section-top{text-align:center;max-width:650px;margin:0 auto 40px}
.l3bp .section-top>p:not(.eyebrow){color:var(--brown);font:17px/1.8 Georgia}
.l3bp .sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.l3bp .size-card{background:var(--ivory);border:1px solid var(--line);padding:32px;text-align:center;position:relative}
.l3bp .size-icon{height:110px;display:flex;align-items:center;justify-content:center;margin:5px 0 20px}
.l3bp .size-icon div{border:6px solid #b99570;background:#fffdf5;box-shadow:3px 6px 8px #0001;display:grid;place-items:center;color:var(--sage);font:italic 24px Georgia}
.l3bp .size-card p{font-size:13px;color:var(--brown);min-height:46px}
.l3bp .price{font:32px Georgia;display:block;margin:20px 0}
.l3bp .size-card .text-link{background:none;border:0;border-bottom:1px solid var(--olive);padding:5px 0}
.l3bp .tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--olive);color:white;font-size:9px;letter-spacing:.1em;padding:3px 12px;white-space:nowrap}
.l3bp .included{text-align:center;margin:24px auto 0;font-size:12px;color:var(--brown);max-width:760px}
.l3bp .design-section{background:#f2ede5}
.l3bp .design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.l3bp .design-art{background:#e6dfd3;padding:26px;margin-bottom:22px}
.l3bp .design-art .frame{width:100%;padding:9px;box-shadow:4px 8px 14px #493a2822}
.l3bp .design-art .frame-inner{aspect-ratio:1;padding:14px}
.l3bp .design-grid p{font-size:13px;color:var(--brown);max-width:310px}
.l3bp .choose{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.l3bp .choose-preview{position:sticky;top:30px}
.l3bp .choose-preview .art-scene{border-radius:0;min-height:430px}
.l3bp .choose-preview .frame{width:280px}
.l3bp .choices h2{font-size:38px}
.l3bp .choice-row{border-bottom:1px solid var(--line);padding:20px 0}
.l3bp .choice-row label,.l3bp .group-label{display:block;font-size:12px;font-weight:600;margin-bottom:12px}
.l3bp fieldset{padding:0;border:0;margin:0}
.l3bp .options{display:flex;flex-wrap:wrap;gap:9px}
.l3bp .option{background:transparent;border:1px solid #bcb6aa;color:var(--ink);padding:10px 14px;font-size:12px;display:inline-flex;align-items:center;gap:8px}
.l3bp .option[aria-pressed=true]{border:1.5px solid var(--olive);background:#e9edE5;box-shadow:inset 0 0 0 1px var(--olive)}
.l3bp .swatch{width:15px;height:15px;display:inline-block;border-radius:50%;border:1px solid #0002}
.l3bp .choices select{width:100%;padding:12px;background:var(--paper);border:1px solid #bcb6aa}
.l3bp .selection-price{font:34px Georgia;margin:24px 0 10px}
.l3bp .choices .btn{width:100%;margin:15px 0 12px}
.l3bp .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.l3bp .steps article{border-top:1px solid var(--line);padding-top:20px}
.l3bp .steps b{font:italic 24px Georgia;color:var(--clay);font-weight:400;display:block;margin-bottom:20px}
.l3bp .steps h3{font-size:23px}
.l3bp .steps p{font-size:13px;color:var(--brown)}
.l3bp .process-section{background:var(--ivory)}
.l3bp .faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.l3bp .faq-layout .lead{font:17px/1.8 Georgia;color:var(--brown)}
.l3bp details{border-bottom:1px solid var(--line)}
.l3bp details:first-child{border-top:1px solid var(--line)}
.l3bp summary{font:19px/1.4 Georgia;cursor:pointer;padding:22px 28px 22px 0;list-style:none;position:relative}
.l3bp summary::-webkit-details-marker{display:none}
.l3bp summary:after{content:'+';position:absolute;right:0;color:var(--olive)}
.l3bp details[open] summary:after{content:'−'}
.l3bp details p,.l3bp details li{font-size:14px;color:var(--brown);line-height:1.85}
.l3bp details p{margin-bottom:22px}
.l3bp details ol{padding-left:20px;margin-top:0}
.l3bp .close{background:#f0e7df;padding:65px 24px;text-align:center}
.l3bp .close p{max-width:510px;margin:0 auto 26px;font:18px/1.8 Georgia;color:var(--brown)}
.l3bp footer{text-align:center;padding:40px 20px;background:var(--ivory)}
.l3bp footer p{font:italic 14px Georgia;color:var(--brown);margin:16px 0}
.l3bp .note{border-left:2px solid var(--clay);padding-left:18px;margin-top:26px}
.l3bp dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:30px;max-width:560px;width:calc(100% - 32px);max-height:90vh;overflow:auto}
.l3bp dialog::backdrop{background:#292b2577}
.l3bp dialog h2{font-size:30px}
.l3bp dialog .close-dialog{float:right;border:0;background:none;font-size:25px;padding:0 5px}
.l3bp dialog .summary-box{background:var(--ivory);padding:16px;margin:20px 0;font-size:13px}
.l3bp dialog label{display:block;font-size:12px;margin:14px 0 5px}
.l3bp dialog input,.l3bp dialog textarea{width:100%;border:1px solid #bcb6aa;padding:10px;background:white}
.l3bp dialog .btn{width:100%;margin-top:22px}
.l3bp .skip{position:absolute;top:-100px;left:15px;background:var(--olive);color:white;padding:10px;z-index:20}
.l3bp .skip:focus{top:10px}
@media(max-width:760px){.l3bp header{flex-direction:column;padding:20px}}
@media(max-width:760px){.l3bp nav{gap:18px;font-size:11px;flex-wrap:wrap;justify-content:center}}
@media(max-width:760px){.l3bp .hero{grid-template-columns:1fr;padding:40px 24px;gap:30px}}
@media(max-width:760px){.l3bp .art-scene{min-height:400px;padding:25px 45px}}
@media(max-width:760px){.l3bp .hero h1{font-size:48px}}
@media(max-width:760px){.l3bp .facts{gap:10px;flex-direction:column;text-align:center}}
@media(max-width:760px){.l3bp .section{padding:50px 24px}}
@media(max-width:760px){.l3bp .sizes,.l3bp .design-grid{grid-template-columns:1fr}}
@media(max-width:760px){.l3bp .size-card{padding:25px}}
@media(max-width:760px){.l3bp .size-card p{min-height:0}}
@media(max-width:760px){.l3bp .size-icon{height:95px}}
@media(max-width:760px){.l3bp .design-grid{gap:25px}}
@media(max-width:760px){.l3bp .design-art{max-width:380px;margin:0 auto 20px}}
@media(max-width:760px){.l3bp .design-grid h3,.l3bp .design-grid p{text-align:center;max-width:none}}
@media(max-width:760px){.l3bp .choose{grid-template-columns:1fr;gap:35px}}
@media(max-width:760px){.l3bp .choose-preview{position:static}}
@media(max-width:760px){.l3bp .steps{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.l3bp .faq-layout{grid-template-columns:1fr;gap:25px}}
@media(max-width:760px){.l3bp .logo{font-size:21px}}
@media(max-width:760px){.l3bp .design-grid article{max-width:420px;margin:auto}}
@media(max-width:760px){.l3bp h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.l3bp{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.l3bp *{transition:none!important}}
.l3bp .design-grid{grid-template-columns:repeat(3,1fr);row-gap:44px}
.l3bp .style-card{display:block;width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left}
.l3bp .style-card .design-art{background:#eee9df;padding:23px;border:1px solid transparent;transition:border-color .2s}
.l3bp .style-card:hover .design-art,.l3bp .style-card:focus-visible .design-art{border-color:var(--olive)}
.l3bp .design-art .frame{background:#baa181;padding:7px}
.l3bp .design-art .frame-inner{background:#fffdf9;color:#5e6554;aspect-ratio:4/5;padding:12px}
.l3bp .style-number{font:italic 15px Georgia;color:var(--clay);display:block;margin-bottom:12px}
.l3bp .style-card p{min-height:65px}
.l3bp .style-card .text-link{font-size:11px}
.l3bp .frame-inner{color:#5e6554}
.l3bp .design-art svg{opacity:.92}
.l3bp .design-grid article:nth-last-child(-n+2){transform:translateX(53%)}
@media(max-width:760px){.l3bp .design-grid{grid-template-columns:1fr 1fr;gap:30px 16px}}
@media(max-width:760px){.l3bp .design-grid article:nth-last-child(-n+2){transform:none}}
@media(max-width:760px){.l3bp .design-grid article:last-child{grid-column:1/-1;width:50%}}
@media(max-width:760px){.l3bp .design-art{padding:12px!important}}
@media(max-width:760px){.l3bp .style-card h3{font-size:21px}}
@media(max-width:760px){.l3bp .style-card p{font-size:12px;text-align:left;min-height:90px}}
@media(max-width:760px){.l3bp .style-card h3{text-align:left}}
@media(max-width:760px){.l3bp .style-number{margin-top:18px}}
@media(max-width:760px){.l3bp .style-card .text-link{font-size:10px}}
@media(max-width:420px){.l3bp .design-grid{grid-template-columns:1fr}}
@media(max-width:420px){.l3bp .design-grid article:last-child{grid-column:auto;width:100%}}
@media(max-width:420px){.l3bp .style-card p{min-height:0}}
@media(max-width:420px){.l3bp .design-grid article{max-width:300px}}
@media(max-width:420px){.l3bp .style-card h3,.l3bp .style-card p{text-align:center}}
@media(max-width:420px){.l3bp .style-card{text-align:center}}
.l3bp .option:disabled{opacity:.45;cursor:default}
.l3bp .choose-preview .frame{transition:width .2s,background .2s}
.l3bp .real-work-hero{margin:0;max-width:570px}
.l3bp .real-work-hero img{display:block;width:100%;height:auto;border-radius:2px}
.l3bp .real-work-hero figcaption{text-align:center;color:var(--brown);padding:18px 10px 0}
.l3bp .real-work-hero figcaption strong{display:block;font:18px/1.5 Georgia;font-weight:400;color:var(--olive)}
.l3bp .real-work-hero figcaption span{display:block;font:italic 13px/1.7 Georgia;margin-top:4px}
.l3bp .real-work-hero figcaption small{display:block;font:10px/1.6 Arial;margin-top:8px}
.l3bp .hero{padding-top:45px;padding-bottom:45px}
.l3bp .design-section{background:var(--paper)}
.l3bp .style-card .design-art{background:#fff;padding:16px;border:1px solid transparent}
.l3bp .style-card .design-art .frame{background:transparent;padding:0;box-shadow:none;width:100%}
.l3bp .style-card .design-art .frame-inner{padding:0;background:#fff;color:#353535;box-shadow:none;aspect-ratio:336/356}
.l3bp .design-art svg{opacity:1}
.l3bp .illustrated-frame{display:none}
.l3bp .design-art .illustrated-frame{display:block}
.l3bp .style-card:hover .design-art{border-color:#bcb6aa}
.l3bp .style-card .style-number{color:var(--brown)}
.l3bp .frame-inner{--bloom-paper:#fff}
.l3bp .choose-preview .illustrated-frame{display:none}
.l3bp .choose-preview .art-scene{padding:28px 18px;min-height:480px;background:#f5f3ef}
.l3bp .choose-preview [data-live-frame]{padding:5px;background:transparent!important;border:1px solid #353535;box-shadow:none;max-width:100%;transition:width .2s,aspect-ratio .2s}
.l3bp .choose-preview [data-live-art]{width:100%;height:100%;padding:0;box-shadow:none;border:1px solid #777}
.l3bp .choose-preview .art-scene{container-type:inline-size}
.l3bp .choose-preview .art-scene [data-live-frame]{flex-shrink:0}
.l3bp .choose-preview .art-scene{align-items:center;justify-content:center}
@media(max-width:760px){.l3bp .choose-preview .art-scene{min-height:400px}}
.l3bp .photo-options{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.l3bp .real-work-hero figcaption .photo-options button{font-size:11px}
.l3bp .photo-options button[aria-pressed=true]{background:#e9ede5;border-color:var(--olive)}
.l3bp{background:#faf7f2}
.l3bp .design-section{background:#faf7f2}
.l3bp .keepsake-cream{background:#f2ede5}
.l3bp .choose-preview .art-scene{background:#eae2d6}
.l3bp .choices select{background:#faf7f2}
.l3bp .choice-row{border-color:#d5cabe}
.l3bp .choose-preview .art-caption,.l3bp .choices .micro{color:#6d5b4e}
.l3bp .bag-link{border:0;background:none;color:var(--olive);font-size:12px;padding:4px}
.l3bp .bag-link span{display:inline-block;background:var(--olive);color:#fff;border-radius:50%;min-width:19px;line-height:19px;margin-left:5px;font-size:10px}
.l3bp .choices input[type=date],.l3bp dialog select{width:100%;padding:12px;border:1px solid #bcb6aa;background:var(--ivory);color:var(--ink)}
.l3bp .bag-price{font:26px Georgia}
.l3bp .bag-details{font-size:14px;color:var(--brown)}
.l3bp .bag-actions{display:flex;gap:25px;margin:20px 0}
.l3bp .bag-actions button,.l3bp .back-bag{border:0;border-bottom:1px solid var(--olive);background:none;padding:4px 0;cursor:pointer}
.l3bp .back-bag{display:block;margin:20px auto 0}
.l3bp .payment-demo{background:#f2ede5;border:1px solid var(--line);padding:18px;margin:20px 0}
.l3bp .payment-demo p{font-size:12px;color:var(--brown)}
.l3bp .payment-demo span{display:block;border:1px dashed #aaa;padding:12px;color:#777;font-size:12px}
.l3bp .terms-label{display:flex!important;align-items:flex-start;gap:10px;line-height:1.6}
.l3bp .terms-label input{width:auto;margin-top:5px}
.l3bp dialog ol{padding-left:20px;font-size:14px;color:var(--brown)}
.l3bp #bag-content>.btn{width:100%;margin-top:15px}
.l3bp .size-icon div{border:1px solid #353535;background:transparent;box-shadow:none;outline:1px solid #777;outline-offset:-5px;color:#353535}
/* theme additions */
.l3-tpl-page--bouquet-preservation .shopify-section-group-header-group { display: none; }
.l3bp { -webkit-font-smoothing: antialiased; }
.l3bp h1, .l3bp h2, .l3bp h3 { color: inherit; }
.l3bp .bag-link { display: inline-block; }
.l3bp .real-work-hero .l3bp-hero-img { display: block; width: 100%; height: auto; border-radius: 2px; }
.l3bp details > *:not(summary) { margin-top: 0; }
.l3bp select { -webkit-appearance: auto; appearance: auto; }
.l3bp .btn[disabled] { opacity: .6; cursor: not-allowed; }

/* ==========================================================================
   v4 — Floral Recovery Initiative + Workshops pages (copied from the chat site, scoped to .l3s)
   ========================================================================== */
.l3-tpl-page--sustainability .shopify-section-group-header-group,
.l3-tpl-page--workshops .shopify-section-group-header-group { display: none; }
.l3s { font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.l3s :where(h1, h2, h3, h4, p, figure, blockquote, ol, ul, dl, dd) { margin: 0; padding: 0; }
.l3s :where(h1, h2, h3, h4) { font-size: inherit; font-weight: inherit; letter-spacing: normal; }
.l3s :where(a) { color: inherit; text-decoration: inherit; }
.l3s :where(img) { display: block; max-width: 100%; }
.l3s :where(button) { -webkit-appearance: none; appearance: none; background: transparent; border: 0 solid; padding: 0; border-radius: 0; }
.l3s :where(ol, ul) { list-style: none; }
.l3s :where(summary) { display: list-item; }
.l3s{--ivory:#faf7f2;--paper:#fffdf9;--ink:#35392f;--sage:#8f9c7c;--olive:#4f5943;--clay:#c78168;--line:#ddd4cc}
.l3s *{box-sizing:border-box}
.l3s{scroll-behavior:smooth}
.l3s{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,sans-serif}
.l3s button,.l3s a,.l3s input{font:inherit;color:inherit}
.l3s button{cursor:pointer}
.l3s .announcement{background:var(--olive);color:#fff;text-align:center;letter-spacing:.16em;padding:10px;font-size:11px}
.l3s header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:92px;padding:0 4vw;display:grid}
.l3s .logo{letter-spacing:.17em;font:23px Georgia,serif;text-decoration:none}
.l3s header nav{z-index:2;gap:30px;margin-top:112px;font-size:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}
.l3s header nav a{text-decoration:none}
.l3s .actions{justify-self:end;font-size:13px}
.l3s .actions b{background:var(--sage);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:inline-grid}
.l3s .menu{background:0 0;border:0;display:none}
.l3s .crumbs{color:#777;max-width:1380px;margin:52px auto 20px;padding:0 4vw;font-size:11px}
.l3s .crumbs span{margin:0 9px}
.l3s .product{grid-template-columns:1.15fr .85fr;gap:7vw;max-width:1380px;margin:auto;padding:0 4vw 90px;display:grid}
.l3s .gallery{align-self:start;position:sticky;top:20px}
.l3s .photo{aspect-ratio:1;background:#eee7df;position:relative;overflow:hidden}
.l3s .photo img{object-fit:cover;width:100%;height:100%}
.l3s .badge{text-align:center;letter-spacing:.1em;background:#f7f3eee8;border-radius:50%;place-items:center;width:112px;height:112px;font-size:10px;line-height:1.55;display:grid;position:absolute;bottom:24px;right:24px}
.l3s .thumbs{gap:12px;margin-top:14px;display:flex}
.l3s .thumbs button{border:1px solid var(--line);background:var(--ivory);width:72px;height:62px;font:13px Georgia}
.l3s .thumbs .active{border:2px solid var(--olive)}
.l3s .info{padding-top:14px}
.l3s .eyebrow{letter-spacing:.18em;color:var(--olive);font-size:11px;font-weight:700}
.l3s .info h1,.l3s .guide h2,.l3s .story h2{font-family:Georgia,serif;font-weight:400;line-height:1.04}
.l3s .info h1{margin:14px 0 12px;font-size:58px}
.l3s .rating{color:var(--clay);font-size:12px}
.l3s .rating u{color:#74776e;margin-left:8px}
.l3s .price{margin:24px 0 18px;font:22px Georgia}
.l3s .lead{color:#5d6058;border-bottom:1px solid var(--line);padding-bottom:28px;font:17px/1.75 Georgia}
.l3s .usage-heading{justify-content:space-between;align-items:end;margin:28px 0 12px;font-size:13px;display:flex}
.l3s .usage-heading span{color:#777;font-size:11px;font-weight:400}
.l3s .usage-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}
.l3s .usage-grid button{border:1px solid var(--line);text-align:center;background:0 0;min-height:58px;padding:10px;font:14px/1.25 Georgia}
.l3s .usage-grid button.selected{border:2px solid var(--olive);background:#f1f0e8}
.l3s .legend{justify-content:space-between;align-items:end;margin:25px 0 14px;font-size:13px;display:flex}
.l3s .legend div>span{color:#777;margin-top:5px;font-size:11px;font-weight:400;display:block}
.l3s .legend a{font-size:12px}
.l3s .sizegrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}
.l3s .sizegrid button{border:1px solid var(--line);text-align:left;background:0 0;padding:15px}
.l3s .sizegrid button strong,.l3s .sizegrid button span{display:block}
.l3s .sizegrid button strong{font:16px Georgia}
.l3s .sizegrid button span{color:#777;margin-top:5px;font-size:11px}
.l3s .sizegrid .selected{border:2px solid var(--olive);background:#f1f0e8}
.l3s .note{background:var(--ivory);align-items:center;gap:14px;margin:12px 0 22px;padding:15px;display:flex}
.l3s .note i{color:#b87872;font-size:24px}
.l3s .note b,.l3s .note small{display:block}
.l3s .note b{font-size:13px}
.l3s .note small{color:#6f716b;margin-top:3px}
.l3s .info label{margin-bottom:18px;font-size:12px;font-weight:700;display:block}
.l3s .field-title{flex-direction:column;justify-content:flex-end;min-height:36px;line-height:1.25;display:flex;color:var(--ink)!important;font-weight:700!important}
.l3s .field-title small{color:#777;min-height:14px;margin-top:3px;font-size:10px;font-weight:400;display:block}
.l3s .info input,.l3s .info select{border:1px solid var(--line);background:#fff;width:100%;height:48px;margin-top:9px;padding:0 13px;display:block}
.l3s .dispatch-block{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}
.l3s .dispatch-note{background:var(--ivory);border-left:3px solid var(--sage);grid-column:1/-1;margin:-4px 0 18px;padding:14px 16px}
.l3s .dispatch-note b{font:15px Georgia}
.l3s .dispatch-note p{color:#666;margin:5px 0 0;font-size:12px;line-height:1.6}
.l3s .buy{grid-template-columns:116px 1fr;gap:10px;display:grid}
.l3s .quantity{border:1px solid var(--line);justify-content:space-around;align-items:center;display:flex}
.l3s .quantity button{background:0 0;border:0;font-size:20px}
.l3s .add{border:1px solid var(--olive);background:var(--olive);color:#fff;text-transform:uppercase;letter-spacing:.12em;min-height:52px;font-size:11px}
.l3s .micro{text-align:center;letter-spacing:.07em;color:#72756d;font-size:10px}
.l3s .accordions{border-top:1px solid var(--line);margin-top:27px}
.l3s .accordion{border-bottom:1px solid var(--line)}
.l3s .accordion>button{background:0 0;border:0;justify-content:space-between;width:100%;padding:19px 0;font:15px Georgia;display:flex}
.l3s .accordion p{color:#666;margin:0 0 21px;font-size:13px;line-height:1.7}
.l3s .guide{background:var(--ivory);text-align:center;padding:90px 6vw}
.l3s .guide h2{margin:15px;font-size:44px}
.l3s .intro{color:#666;max-width:680px;margin:0 auto 50px;line-height:1.7}
.l3s .purpose-guide{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:980px;margin:auto;display:grid}
.l3s .purpose-guide article{border-right:1px solid var(--line);padding:34px 18px}
.l3s .purpose-guide article:last-child{border:0}
.l3s .purpose-guide em,.l3s .purpose-guide strong,.l3s .purpose-guide span{display:block}
.l3s .purpose-guide em{color:var(--clay);letter-spacing:.15em;margin-bottom:18px;font-size:10px}
.l3s .purpose-guide strong{font:22px Georgia}
.l3s .purpose-guide span{color:#777;margin-top:8px;font-size:12px}
.l3s .story{background:var(--olive);color:#fff;grid-template-columns:1fr 1fr;gap:10vw;padding:100px 8vw;display:grid}
.l3s .story .eyebrow{color:#e1d9ca}
.l3s .story h2{margin:18px 0;font-size:42px}
.l3s .story>p{align-self:center;font:18px/1.8 Georgia}
.l3s footer{text-align:center;background:#ebe4da;padding:70px 20px}
.l3s footer p{color:#666;margin:10px;font-family:Georgia}
.l3s .product-page{--ivory:#faf7f2;--paper:#fff;--ink:#2d2b2a;--sage:#9eada1;--olive:#657369;--clay:#d8a7ac;--line:#2d2b2a29;--marigold:#d8a7ac;--sky:#c9dce5;background:var(--paper);color:var(--ink)}
.l3s .product-page .announcement{background:var(--ink);color:#fff}
.l3s .product-page header{background:var(--ivory);border-color:var(--line)}
.l3s .product-page .actions b{background:var(--rose,#d8a7ac);color:var(--ink)}
.l3s .product-page .crumbs,.l3s .product-page .rating u,.l3s .product-page .usage-heading span,.l3s .product-page .legend div>span,.l3s .product-page .sizegrid button span,.l3s .product-page .field-title small,.l3s .product-page .micro{color:#6d6865}
.l3s .product-page .photo{background:var(--ivory)}
.l3s .product-page .badge{color:var(--ink);background:#faf7f2e8}
.l3s .product-page .thumbs button{background:#faf7f2}
.l3s .product-page .thumbs .active{border-color:var(--olive)}
.l3s .product-page .eyebrow{color:#a66f75}
.l3s .product-page .rating{color:var(--clay)}
.l3s .product-page .lead{color:#5d5855;border-color:var(--line)}
.l3s .product-page .usage-grid button,.l3s .product-page .sizegrid button{border-color:var(--line);color:var(--ink);background:#fff}
.l3s .product-page .usage-grid button strong,.l3s .product-page .sizegrid button strong{letter-spacing:.01em;font-weight:400}
.l3s .product-page .usage-grid button.selected,.l3s .product-page .sizegrid .selected{border-color:var(--clay);background:#f8ecee}
.l3s .product-page .note{background:#f8ecee}
.l3s .product-page .note i{color:var(--clay)}
.l3s .product-page .note small{color:#5d5855}
.l3s .product-page .info input,.l3s .product-page .info select{border-color:var(--line);background:#fff}
.l3s .product-page .dispatch-note{border-left-color:var(--sage);background:#eef2ef}
.l3s .product-page .add{border-color:var(--clay);background:var(--clay);color:var(--ink)}
.l3s .product-page .add:hover,.l3s .product-page .add:focus-visible{background:#c58f95;border-color:#c58f95}
.l3s .product-page .accordions,.l3s .product-page .accordion{border-color:var(--line)}
.l3s .product-page .guide{background:linear-gradient(135deg,#faf7f2 0%,#f4eaeb 50%,#edf4f7 100%)}
.l3s .product-page .purpose-guide,.l3s .product-page .purpose-guide article{border-color:var(--line)}
.l3s .product-page .purpose-guide em{color:#a66f75}
.l3s .product-page .story{color:#fff;background:#657369}
.l3s .product-page .story .eyebrow{color:#c9dce5}
.l3s .product-page .story>p{color:#fff}
.l3s .product-page footer{background:var(--ivory);color:var(--ink)}
.l3s .product-page footer p{color:#5d5855}
.l3s .initiative-page{background:var(--paper)}
.l3s .initiative-header{grid-template-columns:minmax(170px,1fr) auto minmax(330px,1fr);column-gap:32px;position:relative}
.l3s .initiative-header .back-link{justify-self:start;font-size:12px;text-decoration:none}
.l3s .initiative-header nav{justify-self:end;margin-top:0;position:static;left:auto;transform:none}
.l3s .initiative-header .logo{white-space:nowrap;justify-self:center;position:static;left:auto;transform:none}
.l3s .initiative-hero{background:linear-gradient(90deg,#f5f0e8 0 44%,var(--paper) 44%);grid-template-columns:.86fr 1.14fr;align-items:center;gap:6vw;min-height:720px;padding:70px 5vw 85px;display:grid}
.l3s .initiative-hero-copy{justify-self:end;max-width:590px}
.l3s .initiative-hero h1{letter-spacing:-.035em;margin:22px 0 20px;font:400 clamp(58px,6.4vw,96px)/.95 Georgia,serif}
.l3s .initiative-hero h1 em{white-space:nowrap;color:var(--clay);font-weight:400;display:inline-block}
.l3s .hero-subline{letter-spacing:.025em;margin:0 0 24px;color:var(--olive)!important;font:italic 18px/1.4 Georgia!important}
.l3s .initiative-hero-copy>p:last-of-type{color:#5d6058;max-width:530px;font:18px/1.75 Georgia}
.l3s .initiative-hero-image{align-self:stretch;margin:0;position:relative}
.l3s .initiative-hero-image img{object-fit:cover;width:100%;height:100%;min-height:570px}
.l3s .initiative-hero-image figcaption{letter-spacing:.06em;background:#f7f3eee8;padding:11px 14px;font-size:10px;position:absolute;bottom:18px;right:18px}
.l3s .hero-actions{align-items:center;gap:26px;margin-top:35px;display:flex}
.l3s .primary-link{background:var(--olive);color:#fff;text-transform:uppercase;letter-spacing:.12em;padding:17px 21px;font-size:10px;text-decoration:none;display:inline-block}
.l3s .text-link{color:var(--olive);font:14px Georgia}
.l3s .opening-note{text-align:center;max-width:920px;margin:auto;padding:115px 20px}
.l3s .script-line{color:var(--clay);font:italic 18px Georgia}
.l3s .opening-note h2,.l3s .process h2,.l3s .impact h2,.l3s .workshop h2,.l3s .join h2,.l3s .initiative-close h2{margin:15px 0 24px;font:400 44px/1.12 Georgia,serif}
.l3s .opening-note>p:last-child{color:#666;max-width:760px;margin:auto;font:16px/1.8 Georgia}
.l3s .process{background:var(--ivory);padding:100px 7vw}
.l3s .section-heading{text-align:center}
.l3s .process-grid{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:1160px;margin:55px auto 0;display:grid}
.l3s .process-grid article{border-right:1px solid var(--line);padding:38px 42px}
.l3s .process-grid article:last-child{border:0}
.l3s .process-grid span{letter-spacing:.15em;color:var(--clay);font-size:10px}
.l3s .process-grid h3{margin:22px 0 13px;font:28px Georgia}
.l3s .process-grid p{color:#686b64;font-size:13px;line-height:1.75}
.l3s .impact{background:var(--olive);color:#fff;padding:110px 7vw}
.l3s .impact-intro{text-align:center;max-width:800px;margin:auto}
.l3s .impact .eyebrow{color:#ded9cc}
.l3s .impact-intro>p:last-child{color:#e3e2dc;font:17px/1.75 Georgia}
.l3s .stats-grid{border-block:1px solid #ffffff4a;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:64px auto 30px;display:grid}
.l3s .stats-grid article{text-align:center;border-right:1px solid #ffffff4a;padding:42px 30px}
.l3s .stats-grid article:last-child{border:0}
.l3s .stats-grid strong,.l3s .stats-grid span{display:block}
.l3s .stats-grid strong{color:#f1dfd0;font:52px Georgia}
.l3s .stats-grid span{max-width:250px;margin:14px auto 0;font-size:12px;line-height:1.6}
.l3s .source-note{text-align:center;color:#d5d7d0;max-width:950px;margin:auto;font-size:10px;line-height:1.7}
.l3s .source-note a{color:inherit}
.l3s .workshop{grid-template-columns:1.08fr .92fr;min-height:660px;display:grid}
.l3s .workshop figure{margin:0}
.l3s .workshop img{object-fit:cover;width:100%;height:100%}
.l3s .workshop>div{align-self:center;padding:100px 8vw}
.l3s .workshop>div>p:not(.eyebrow){color:#666;font:16px/1.8 Georgia}
.l3s .workshop .quiet-line{border-left:2px solid var(--clay);padding-left:18px;color:var(--olive)!important;margin:28px 0!important}
.l3s .join-wrap{background:#eee7de;padding:105px 7vw 110px}
.l3s .join-heading{text-align:center;max-width:820px;margin:0 auto 55px}
.l3s .join-heading>p:last-child{color:#666;max-width:680px;margin:0 auto;font:16px/1.75 Georgia}
.l3s .join-heading h2{margin:15px 0 24px;font:400 44px/1.12 Georgia,serif}
.l3s .join{grid-template-columns:1.12fr .88fr;gap:34px;display:grid}
.l3s .join-card{background:var(--olive);color:#fff}
.l3s .join-card img{object-fit:cover;width:100%;height:360px}
.l3s .join-card>div,.l3s .partner-card{padding:48px}
.l3s .join-card .eyebrow{color:#e7d9cd}
.l3s .join-card h2,.l3s .partner-card h2{font-size:38px}
.l3s .join-card p{color:#e2e4de;font:15px/1.75 Georgia}
.l3s .join-card small{color:#d8dbd4;margin-top:16px;font-size:10px;line-height:1.5;display:block}
.l3s .primary-link.light{color:var(--olive);background:#f1e9de}
.l3s .partner-card{background:var(--paper);align-self:stretch}
.l3s .partner-card>p:not(.eyebrow),.l3s .partner-card li{color:#666;font-size:13px;line-height:1.7}
.l3s .partner-card ul{margin:25px 0 34px;padding-left:18px}
.l3s .initiative-close{text-align:center;background:#f7f3ee;padding:110px 20px}
.l3s .initiative-close h2{max-width:740px;margin:20px auto 28px}
.l3s .initiative-close>a{color:var(--olive);font:15px Georgia}
.l3s .initiative-page{--ivory:#faf7f2;--paper:#fffdf9;--ink:#35392f;--sage:#8f9c7c;--olive:#4f5943;--clay:#c78168;--line:#ddd4cc;--butter:#f1e2ae;--blush:#e7c1c8;--sky:#dcecef;background:var(--paper);color:var(--ink)}
.l3s .initiative-page .announcement{background:var(--olive);color:#fff}
.l3s .initiative-page .initiative-header{border-color:var(--line);background:#faf7f2}
.l3s .initiative-page .initiative-hero{background:linear-gradient(90deg,#f1ebe2 0 44%,var(--paper) 44%)}
.l3s .initiative-page .initiative-hero h1 em{color:var(--clay)}
.l3s .initiative-page .hero-subline,.l3s .initiative-page .text-link,.l3s .initiative-page .initiative-close>a{color:var(--olive)!important}
.l3s .initiative-page .initiative-hero-copy>p:last-of-type,.l3s .initiative-page .opening-note>p:last-child,.l3s .initiative-page .process-grid p,.l3s .initiative-page .workshop>div>p:not(.eyebrow),.l3s .initiative-page .join-heading>p:last-child,.l3s .initiative-page .partner-card>p:not(.eyebrow),.l3s .initiative-page .partner-card li{color:#6d5b4e}
.l3s .initiative-page .initiative-hero-image figcaption{color:var(--ink);background:#faf7f2e8}
.l3s .initiative-page .primary-link{background:var(--olive);color:#fff}
.l3s .initiative-page .opening-note{background:var(--paper)}
.l3s .initiative-page .script-line,.l3s .initiative-page .process-grid span{color:var(--clay)}
.l3s .initiative-page .process{background:var(--ivory)}
.l3s .initiative-page .process-grid,.l3s .initiative-page .process-grid article{border-color:var(--line)}
.l3s .initiative-page .impact{background:var(--olive);color:#fff}
.l3s .initiative-page .impact .eyebrow{color:var(--butter)}
.l3s .initiative-page .impact-intro>p:last-child{color:#ebe9e2}
.l3s .initiative-page .stats-grid,.l3s .initiative-page .stats-grid article{border-color:#ffffff4a}
.l3s .initiative-page .stats-grid strong{color:var(--butter)}
.l3s .initiative-page .source-note{color:#dfe2da}
.l3s .initiative-page .workshop{background:#fffdf9}
.l3s .initiative-page .workshop .quiet-line{border-left-color:var(--clay);color:var(--olive)!important}
.l3s .initiative-page .join-wrap{background:#f1ebe2}
.l3s .initiative-page .join-card{background:var(--olive);color:#fff}
.l3s .initiative-page .join-card .eyebrow{color:var(--butter)}
.l3s .initiative-page .join-card p{color:#e6e8e1}
.l3s .initiative-page .join-card small{color:#d4d8cf}
.l3s .initiative-page .primary-link.light{background:var(--butter);color:var(--olive)}
.l3s .initiative-page .partner-card{background:#f7efd6}
.l3s .initiative-page .initiative-close{background:#f8eff0}
.l3s .initiative-page footer{background:#e8e2d9}
.l3s .initiative-page footer p{color:#6d5b4e}
@media (max-width: 800px){.l3s header{height:74px}}
@media (max-width: 800px){.l3s .menu{display:block}}
@media (max-width: 800px){.l3s .logo{font-size:18px}}
@media (max-width: 800px){.l3s header nav{display:none}}
@media (max-width: 800px){.l3s .actions{font-size:11px}}
@media (max-width: 800px){.l3s .crumbs{margin-top:22px}}
@media (max-width: 800px){.l3s .product{grid-template-columns:1fr;gap:25px;padding:0 20px 60px}}
@media (max-width: 800px){.l3s .gallery{position:static}}
@media (max-width: 800px){.l3s .badge{width:86px;height:86px;font-size:8px;bottom:14px;right:14px}}
@media (max-width: 800px){.l3s .info h1{font-size:43px}}
@media (max-width: 800px){.l3s .usage-heading{display:block}}
@media (max-width: 800px){.l3s .usage-heading span{margin-top:5px;display:block}}
@media (max-width: 800px){.l3s .usage-grid,.l3s .dispatch-block{grid-template-columns:1fr}}
@media (max-width: 800px){.l3s .buy{grid-template-columns:100px 1fr}}
@media (max-width: 800px){.l3s .guide{padding:70px 20px}}
@media (max-width: 800px){.l3s .guide h2{font-size:35px}}
@media (max-width: 800px){.l3s .purpose-guide{grid-template-columns:1fr}}
@media (max-width: 800px){.l3s .purpose-guide article{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width: 800px){.l3s .purpose-guide article:last-child{border-bottom:0}}
@media (max-width: 800px){.l3s .story{grid-template-columns:1fr;gap:10px;padding:70px 25px}}
@media (max-width: 800px){.l3s .story h2{font-size:34px}}
@media (max-width: 800px){.l3s .initiative-header{grid-template-columns:1fr auto 1fr;column-gap:12px}}
@media (max-width: 800px){.l3s .initiative-header .back-link{font-size:0}}
@media (max-width: 800px){.l3s .initiative-header .back-link:after{content:"←";font-size:18px}}
@media (max-width: 800px){.l3s .initiative-header nav{display:none}}
@media (max-width: 800px){.l3s .initiative-hero{background:var(--ivory);grid-template-columns:1fr;min-height:0;padding:62px 20px 24px}}
@media (max-width: 800px){.l3s .initiative-hero-copy{justify-self:start}}
@media (max-width: 800px){.l3s .initiative-hero h1{font-size:54px}}
@media (max-width: 800px){.l3s .initiative-hero-image img{min-height:420px}}
@media (max-width: 800px){.l3s .hero-actions{flex-direction:column;align-items:flex-start;gap:18px}}
@media (max-width: 800px){.l3s .opening-note{padding:75px 22px}}
@media (max-width: 800px){.l3s .opening-note h2,.l3s .process h2,.l3s .impact h2,.l3s .workshop h2,.l3s .join h2,.l3s .initiative-close h2{font-size:34px}}
@media (max-width: 800px){.l3s .process{padding:75px 20px}}
@media (max-width: 800px){.l3s .process-grid{grid-template-columns:1fr}}
@media (max-width: 800px){.l3s .process-grid article{border-right:0;border-bottom:1px solid var(--line);padding:30px 10px}}
@media (max-width: 800px){.l3s .process-grid article:last-child{border-bottom:0}}
@media (max-width: 800px){.l3s .impact{padding:75px 20px}}
@media (max-width: 800px){.l3s .stats-grid{grid-template-columns:1fr}}
@media (max-width: 800px){.l3s .stats-grid article{border-bottom:1px solid #ffffff4a;border-right:0;padding:30px 15px}}
@media (max-width: 800px){.l3s .stats-grid article:last-child{border-bottom:0}}
@media (max-width: 800px){.l3s .workshop{grid-template-columns:1fr;min-height:0}}
@media (max-width: 800px){.l3s .workshop figure{height:420px}}
@media (max-width: 800px){.l3s .workshop>div{padding:70px 24px}}
@media (max-width: 800px){.l3s .join-wrap{padding:70px 20px}}
@media (max-width: 800px){.l3s .join-heading{margin-bottom:38px}}
@media (max-width: 800px){.l3s .join-heading h2{font-size:34px}}
@media (max-width: 800px){.l3s .join{grid-template-columns:1fr}}
@media (max-width: 800px){.l3s .join-card>div,.l3s .partner-card{padding:32px 25px}}
@media (max-width: 800px){.l3s .join-card img{height:300px}}
.l3s .workshop-skip{z-index:50;background:var(--olive);color:#fff;padding:12px;position:absolute;top:-100px;left:16px}
.l3s .workshop-skip:focus{top:10px}
.l3s .faq-header .faq-header-link{border-bottom:1px solid var(--olive);justify-self:end;padding:6px 0;font-size:12px;text-decoration:none}
.l3s .faq-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:7vw;max-width:1280px;margin:auto;padding:72px 5vw 52px;display:grid}
.l3s .faq-hero h1{letter-spacing:-.035em;margin:20px 0 24px;font:400 clamp(38px,4.4vw,66px)/1.08 Georgia,serif}
.l3s .faq-hero h1 em{color:#99634e;font-weight:400}
.l3s .faq-intro{color:#6d5b4e;max-width:490px;margin-bottom:28px;font:18px/1.75 Georgia,serif}
.l3s .faq-hero figure{margin:0}
.l3s .faq-hero img{aspect-ratio:1.1;object-fit:cover;border-radius:48% 48% 2px 2px;width:100%}
.l3s .faq-hero figcaption{text-align:center;color:#6d5b4e;padding:16px 6px;font:italic 13px/1.6 Georgia}
.l3s .faq-facts{text-align:center;background:#f1ebe2;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;padding:28px 16px;display:grid}
.l3s .faq-facts>div+div{border-left:1px solid var(--line)}
.l3s .faq-facts span{letter-spacing:.13em;color:var(--olive);font-size:10px}
.l3s .faq-facts p{margin:12px 0 4px;font:20px Georgia}
.l3s .faq-travel-note{text-align:center;color:#6d5b4e;padding:0 20px;font-size:12px;line-height:1.7}
.l3s .faq-content{grid-template-columns:.85fr 1.3fr;gap:8vw;max-width:1140px;margin:0 auto;padding:80px 32px 90px;scroll-margin-top:24px;display:grid}
.l3s .faq-heading h2,.l3s .faq-inquire h2{letter-spacing:-.025em;margin:16px 0 22px;font:400 42px/1.15 Georgia}
.l3s .faq-heading>p:last-of-type{color:#6d5b4e;font:16px/1.8 Georgia}
.l3s .faq-season{border-left:2px solid var(--clay);margin-top:30px;padding-left:20px}
.l3s .faq-season span{color:var(--olive);font:italic 20px Georgia}
.l3s .faq-season p{color:#6d5b4e;font:14px/1.8 Georgia}
.l3s .faq-questions details{border-bottom:1px solid var(--line)}
.l3s .faq-questions details:first-child{border-top:1px solid var(--line)}
.l3s .faq-questions summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;font:19px/1.35 Georgia;list-style:none;display:flex}
.l3s .faq-questions summary::-webkit-details-marker{display:none}
.l3s .faq-plus{flex-shrink:0;width:12px;height:12px;position:relative}
.l3s .faq-plus:before,.l3s .faq-plus:after{content:"";background:var(--olive);width:12px;height:1px;position:absolute;top:5px;left:0}
.l3s .faq-plus:after{transform:rotate(90deg)}
.l3s .faq-questions details[open] .faq-plus:after{transform:rotate(0)}
.l3s .faq-questions details>p{color:#6d5b4e;margin:0 28px 24px 0;font:15px/1.85 Arial,sans-serif}
.l3s .faq-break-note{color:#6d5b4e;margin-top:22px;font-size:12px;line-height:1.7}
.l3s .workshop-faq-page a:focus-visible,.l3s .faq-questions summary:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.l3s .faq-inquire{text-align:center;background:#f1ebe2;padding:65px 24px 75px;scroll-margin-top:24px}
.l3s .faq-inquire>p:not(.eyebrow){color:#6d5b4e;max-width:500px;margin:0 auto 26px;font:17px/1.8 Georgia}
.l3s .faq-inquire small{color:#6d5b4e;margin-top:18px;font-size:12px;display:block}
.l3s .workshop-faq-page footer{background:var(--paper);padding:50px 24px}
.l3s .workshop-faq-page footer .text-link{margin-top:14px;font-size:12px;line-height:1.8;display:inline-block}
@media (max-width: 700px){.l3s .faq-header{grid-template-columns:1fr auto;gap:20px;height:auto;min-height:90px;padding:20px}}
@media (max-width: 700px){.l3s .faq-header .logo{text-align:center;grid-area:1/1/auto/-1;font-size:18px}}
@media (max-width: 700px){.l3s .faq-header .back-link,.l3s .faq-header-link{grid-row:2}}
@media (max-width: 700px){.l3s .faq-hero{grid-template-columns:1fr;gap:30px;padding:45px 24px 25px}}
@media (max-width: 700px){.l3s .faq-hero h1{font-size:42px}}
@media (max-width: 700px){.l3s .faq-hero figure{max-width:430px;margin:auto}}
@media (max-width: 700px){.l3s .faq-facts{grid-template-columns:1fr;margin:0 24px;padding:12px 24px}}
@media (max-width: 700px){.l3s .faq-facts>div{padding:18px 0}}
@media (max-width: 700px){.l3s .faq-facts>div+div{border-left:0;border-top:1px solid var(--line)}}
@media (max-width: 700px){.l3s .faq-content{grid-template-columns:1fr;gap:24px;padding:50px 24px}}
@media (max-width: 700px){.l3s .faq-heading h2,.l3s .faq-inquire h2{font-size:36px}}
@media (max-width: 700px){.l3s .faq-season{margin-bottom:12px}}
@media (max-width: 700px){.l3s .faq-questions summary{font-size:18px}}
@media (max-width: 700px){.l3s .faq-inquire{padding:50px 24px}}
@media (max-width: 700px){.l3s .faq-inquire .primary-link{padding:17px 20px;font-size:12px}}
.l3s .workshop-faq-page .faq-hero img{object-position:center 63%}
.l3s .initiative-page .workshop img{object-position:58% center}
.l3s .workshop-faq-button{border:1px solid var(--olive);text-align:center;justify-content:center;align-items:center;min-height:50px;padding:16px 24px;text-decoration:none;transition:background .2s;display:inline-flex}
.l3s .initiative-page .workshop-faq-button:hover{background:#394330}
.l3s .workshop-faq-button:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.l3s :where(img), .l3m :where(img), .l3bp :where(img), .brooke-template :where(img) { height: auto; }
.l3-seal span { font-weight: 400; }
@media (max-width: 760px) {
  .l3-split-head .l3-h2, .l3-tiles__head .l3-h2, .l3-details__head .l3-h2, .l3-inq--solid .l3-h2, .l3-feature__text .l3-h2 { font-size: clamp(4.48rem, 4.8vw, 9.12rem); }
}

/* Copyright line — bottom of every page */
.l3-footer2 { padding-bottom: 0; }
.l3-footer2__mottorow { padding: 3.2rem 5vw 0; text-align: right; }
.l3-copy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 2.4rem; margin-top: 3.2rem; padding: 2rem 5vw 2.4rem; border-top: 1px solid rgba(255,255,255,.12); font-family: var(--l3-sans); line-height: 1.5; }
.l3-copy p { margin: 0; }
.l3-copy__left { font-size: 1.2rem; opacity: .75; }
.l3-copy__right { font-size: 1.05rem; opacity: .65; margin-left: auto; text-align: right; }
.l3-copy__policies { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; font-size: 1.1rem; opacity: .7; }
.l3-copy a { color: inherit; text-decoration: none; }
.l3-copy a:hover { text-decoration: underline; }
.l3-footer2--light .l3-copy, .l3-foot--center .l3-copy { border-top-color: var(--l3-line); }
.l3-foot .l3-copy { grid-column: 1 / -1; margin-top: 0; padding: 2rem 0 0; }
@media (max-width: 760px) { .l3-footer2__mottorow { text-align: left; padding: 2.4rem 2.08rem 0; } .l3-copy { padding: 1.6rem 2.08rem 2rem; } .l3-foot .l3-copy { padding: 1.6rem 0 0; } }
