/* One page grid: shared outer gutters, inner inset and column gap. */
.lo-membership-section {
 --wellness-green:#183322; --wellness-cream:#fff7e8; --wellness-yellow:#fde739;
 --wellness-sage:#dce6b0; --wellness-ink:#091808;
 --wellness-inset:var(--lo-page-inset); --wellness-gap:var(--lo-page-gap);
 --wellness-space:var(--lo-section-space);
}
body.bricks-is-frontend #brx-content > .lo-membership-section { padding-block:0 var(--wellness-space); }
body.bricks-is-frontend #brx-content > .lo-membership-section > .brxe-container {
 padding:0 var(--wellness-inset); gap:var(--wellness-gap); grid-template-columns:repeat(2,minmax(0,1fr));
}
#brx-content .lo-membership-section :is(.brxe-block,.brxe-container,.brxe-shortcode) { min-width:0; }
#brx-content .lo-membership-section:not(:is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature)) h2 { font-size:clamp(36px,3.8vw,60px); line-height:1.12; letter-spacing:-.025em; }
#brx-content .lo-membership-section .brxe-text-basic { font-size:16px; line-height:1.75; }
#brx-content .lo-wellness-hero { margin-top:101px; }
body.bricks-is-frontend #brx-content > :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) > .brxe-container {
 display:flex; flex-direction:column; gap:0; padding:0; border-radius:12px;
 background:var(--wellness-green); color:var(--wellness-cream); overflow:hidden;
}
.lo-wellness-lead { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:stretch; }
.lo-wellness-copy { padding:var(--wellness-inset); gap:22px; justify-content:center; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) h1 { font-size:clamp(44px,4.2vw,72px); line-height:1.08; letter-spacing:-.03em; text-wrap:initial; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-offer-kicker { font-size:11px; letter-spacing:.08em; line-height:1.5; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-intro { font-size:17px; line-height:1.7; color:#e5e9db; }
.lo-wellness-purchase { gap:16px; margin-top:4px; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-price { font:700 32px/1.2 'LO Playfair',serif; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-note { color:#dce2d5; font-size:13px; line-height:1.6; }
.lo-wellness-supply {
 position:relative; min-height:520px; isolation:isolate; justify-content:flex-end;
 background:#e8e2d6; color:var(--wellness-green); border-radius:0; overflow:hidden;
 padding:32px var(--wellness-inset); text-align:center;
}
.lo-wellness-supply .lo-wellness-pack {
 position:absolute; top:20px; left:8%; width:84%; height:calc(100% - 142px);
 object-fit:contain; mix-blend-mode:normal; transform:rotate(-7deg);
}
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-worth {
 position:absolute; right:24px; top:32px; display:flex; flex-direction:column; justify-content:center;
 width:116px; height:116px; padding:12px; border-radius:50%; background:var(--wellness-yellow);
 font:400 12px/1.45 'LO Poppins',sans-serif; transform:rotate(8deg); z-index:1;
}
.lo-wellness-worth strong { font:700 30px/1.2 'LO Playfair',serif; }
.lo-wellness-worth span { display:block; font-size:11px; }
.lo-wellness-supply-copy { position:relative; gap:8px; align-items:center; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-included { font-size:12px; line-height:1.4; }
#brx-content .lo-wellness-supply h2 { font-size:34px; line-height:1.2; }
.lo-wellness-supply h2 span { white-space:nowrap; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-supply-note { font-size:14px; line-height:1.5; }
/* Five equal benefits. Smaller screens scroll within this rail only. */
.lo-wellness-extras { padding:28px var(--wellness-inset) 32px; gap:28px; border-top:1px solid #dce6b030; }
.lo-wellness-rail-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; }
#brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-extras-title { font:italic 700 25px/1.25 'LO Playfair',serif; color:var(--wellness-sage); }
.lo-wellness-rail-controls { flex-direction:row; gap:8px; width:auto; flex-shrink:0; }
.lo-wellness-rail-controls[hidden] { display:none!important; }
#brx-content .lo-wellness-rail-controls button {
 display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #dce6b066; border-radius:50%;
 background:transparent; color:var(--wellness-cream); font:400 24px/1 sans-serif; cursor:pointer;
 transition:background-color 180ms ease,color 180ms ease;
}
#brx-content .lo-wellness-rail-controls button:hover:not(:disabled) { background:var(--wellness-yellow); color:var(--wellness-green); }
#brx-content .lo-wellness-rail-controls button:disabled { opacity:.35; cursor:default; }
#brx-content .lo-wellness-rail-controls button:focus-visible { outline:2px solid var(--wellness-yellow); outline-offset:3px; }
.lo-wellness-benefits {
 display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0;
 width:100%; align-items:stretch; grid-auto-rows:1fr; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
 scrollbar-width:thin; scrollbar-color:#dce6b080 #ffffff12;
}
.lo-wellness-benefits:focus-visible { outline:2px solid var(--wellness-yellow); outline-offset:6px; }
.lo-wellness-benefit { display:grid; grid-template-rows:30px minmax(58px,auto) 1fr; gap:12px; min-width:0; height:100%; align-self:stretch; scroll-snap-align:start; padding:20px; border:1px solid #dce6b040; border-radius:14px; background:#244330; transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.lo-wellness-benefit::before {
 content:''; width:30px; height:30px; background:center/contain no-repeat;
 filter:brightness(0) invert(.92) sepia(.35) saturate(2); margin-bottom:4px;
}
.lo-wellness-benefit--supply::before { background-image:url('icons/supply.svg'); }
.lo-wellness-benefit--delivery::before { background-image:url('icons/delivery.svg'); }
.lo-wellness-benefit--saving::before { background-image:url('icons/saving.svg'); }
.lo-wellness-benefit--voucher::before { background-image:url('icons/voucher.svg'); }
.lo-wellness-benefit--newsletter::before { background-image:url('icons/newsletter.svg'); }
#brx-content .lo-wellness-benefit h3 { font-size:23px; line-height:1.2; letter-spacing:-.02em; text-wrap:initial; }
#brx-content .lo-wellness-benefit .brxe-text-basic { font-size:14px; line-height:1.6; color:#dce2d5; }
/* Member savings demonstrate the offer immediately after the hero. */
#brx-content .lo-membership-section .lo-mystery-copy { gap:24px; }
#brx-content .lo-membership-section .lo-mystery-copy .lo-mystery-kicker { font-size:14px; }
#brx-content .lo-membership-section .lo-mystery-machine {
 max-width:none; border:0; border-radius:12px; box-shadow:none; padding:24px;
}
#brx-content .lo-membership-section .lo-mystery-machine:hover { transform:none; box-shadow:none; }
#brx-content .lo-membership-section .lo-mystery-name { border:0; border-radius:12px; }
#brx-content .lo-membership-section .lo-mystery-name::before { border-radius:12px; }
#brx-content .lo-membership-section .lo-mystery-name__was { opacity:1; color:#526147; }
body.bricks-is-frontend #brx-content > .lo-wellness-faq > .brxe-container { padding-top:var(--wellness-space); border-top:1px solid #18332230; align-items:start; }
#brx-content .lo-wellness-faq .accordion-title-wrapper { padding-block:22px; }
#brx-content .lo-wellness-faq .accordion-title h3 { font-size:25px; line-height:1.25; }
#brx-content .lo-wellness-faq .accordion-content-wrapper { font-size:16px; line-height:1.75; }
body.bricks-is-frontend #brx-content > .lo-wellness-close > .brxe-container {
 border-radius:12px; background:var(--wellness-green); padding-block:var(--wellness-inset);
}
#brx-content .lo-wellness-close .lo-link { color:var(--wellness-sage); }
@media(max-width:1199px) {
 .lo-wellness-benefits { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:clamp(240px,30vw,300px); padding:6px var(--wellness-inset) 18px; width:calc(100% + 2 * var(--wellness-inset)); max-width:none; margin-inline:calc(-1 * var(--wellness-inset)); scroll-padding-inline:var(--wellness-inset); }
}
@media(min-width:768px) and (max-width:1100px) {
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) h1 { font-size:44px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-intro { font-size:15px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-worth { width:100px; height:100px; right:16px; }
}
@media(max-width:767px) {
 .lo-membership-section { --wellness-inset:24px; --wellness-gap:32px; --wellness-space:56px; }
 body.bricks-is-frontend #brx-content > .lo-membership-section > .brxe-container { grid-template-columns:minmax(0,1fr); }
 .lo-wellness-lead { grid-template-columns:minmax(0,1fr); }
 .lo-wellness-copy { padding-block:32px; gap:20px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) h1 { font-size:clamp(36px,9.5vw,60px); }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) h1 em { font-size:.94em; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-offer-kicker { font-size:10px; gap:8px; letter-spacing:.04em; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-intro { font-size:15px; line-height:1.65; }
 .lo-wellness-purchase { gap:14px; margin-top:0; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-price { font-size:29px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-note { font-size:12px; }
 .lo-wellness-supply { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:284px; padding-block:22px; border-radius:0; text-align:left; }
 .lo-wellness-supply .lo-wellness-pack { grid-column:2; grid-row:1; position:relative; top:auto; left:auto; width:calc(100% + 30px); max-width:none; height:240px; object-fit:contain; transform:rotate(7deg); }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-worth { top:20px; left:var(--wellness-inset); right:auto; width:94px; height:94px; font-size:11px; text-align:center; transform:rotate(-8deg); }
 .lo-wellness-worth strong { font-size:26px; }
 .lo-wellness-worth span { font-size:10px; }
 .lo-wellness-supply-copy { grid-column:1; grid-row:1; align-self:end; align-items:flex-start; gap:8px; }
 .lo-wellness-supply h2 span { display:block; }
 #brx-content .lo-wellness-supply h2 { font-size:28px; line-height:1.1; text-wrap:initial; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-included { display:none; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-supply-note { font-size:12px; }
 .lo-wellness-extras { padding-block:24px 28px; gap:24px; border-top:0; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-extras-title { font-size:23px; text-wrap:initial; }
 .lo-wellness-benefits { grid-auto-columns:min(240px,calc(100% - 32px)); gap:20px; }
 #brx-content .lo-wellness-benefit h3 { font-size:24px; }
 #brx-content .lo-membership-section:not(:is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature)) h2 { font-size:36px; }
 #brx-content .lo-membership-section .lo-mystery-copy { grid-row:1; gap:20px; }
 #brx-content .lo-membership-section .lo-mystery-machine { --reel-height:280px; padding:16px; width:calc(100% + 2 * var(--wellness-inset)); max-width:none; margin-inline:calc(-1 * var(--wellness-inset)); }
 #brx-content .lo-membership-section .lo-mystery-machine .lo-mystery-label { left:16px; top:16px; }
 #brx-content .lo-membership-section .lo-mystery-machine .lo-mystery-name { padding:20px; column-gap:12px; }
 #brx-content .lo-membership-section .lo-mystery-name__title { font-size:24px; }
 #brx-content .lo-wellness-faq .accordion-title h3 { font-size:23px; }
}
@media(max-width:359px) {
 .lo-membership-section { --wellness-inset:20px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) h1 { font-size:34px; }
 .lo-wellness-supply { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #brx-content .lo-wellness-supply h2 { font-size:24px; }
 #brx-content :is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature) .lo-wellness-extras-title { font-size:21px; }
 #brx-content .lo-membership-section:not(:is(.lo-wellness-hero,.lo-home-member,.lo-ultimate-feature)) h2 { font-size:32px; }
}
/* Ultimate: the hero composition mirrored, pack shot first, with the six
   supplements in the benefit rail. Everything else comes from the hero rules. */
#brx-content .lo-ultimate-feature .lo-wellness-copy { grid-column:2; grid-row:1; }
#brx-content .lo-ultimate-feature .lo-wellness-supply { grid-column:1; grid-row:1; }
#brx-content .lo-ultimate-feature .lo-wellness-copy h2 { font-size:clamp(40px,4.2vw,64px); line-height:1.08; letter-spacing:-.03em; text-wrap:initial; }
#brx-content .lo-ultimate-feature .lo-wellness-supply h3 { font-size:34px; line-height:1.2; letter-spacing:-.02em; }
#brx-content .lo-ultimate-feature .lo-wellness-supply h3 span { white-space:nowrap; }
/* The pack shot is photographed on the panel colour, so it sits flat and unrotated. */
.lo-ultimate-feature .lo-wellness-supply .lo-wellness-pack { top:24px; left:10%; width:80%; height:calc(100% - 160px); transform:none; -webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent); mask-image:radial-gradient(closest-side,#000 82%,transparent); }
.lo-ultimate-product { grid-template-rows:auto auto auto 1fr; gap:10px; }
.lo-ultimate-product::before { display:none; }
#brx-content .lo-ultimate-product .lo-ultimate-product__image { width:64px; height:76px; margin-bottom:6px; border-radius:10px; overflow:hidden; background:#e8e2d6; }
#brx-content .lo-ultimate-product .lo-ultimate-product__image img, #brx-content .lo-ultimate-product img.lo-ultimate-product__image { width:64px; height:76px; object-fit:cover; }
#brx-content .lo-ultimate-product .lo-ultimate-product__tag { font:500 11px/1.4 'LO Poppins',sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--wellness-sage); }
#brx-content .lo-ultimate-product--membership .lo-ultimate-product__tag { color:var(--wellness-yellow); }
#brx-content .lo-ultimate-product h3 { font-size:21px; line-height:1.2; letter-spacing:-.015em; text-wrap:balance; }
#brx-content .lo-ultimate-product h3 a { color:inherit; text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat; transition:background-size 220ms ease; }
#brx-content .lo-ultimate-product h3 a:is(:hover,:focus-visible) { background-size:100% 1px; }
#brx-content .lo-ultimate-product h3 a:focus-visible { outline:2px solid var(--wellness-yellow); outline-offset:3px; }
@media(min-width:1200px) { .lo-ultimate-feature .lo-wellness-benefits { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:767px) {
 #brx-content .lo-ultimate-feature .lo-wellness-copy { grid-column:1; grid-row:1; }
 #brx-content .lo-ultimate-feature .lo-wellness-supply { grid-column:1; grid-row:2; }
 #brx-content .lo-ultimate-feature .lo-wellness-copy h2 { font-size:clamp(34px,9vw,44px); }
 #brx-content .lo-ultimate-feature .lo-wellness-supply h3 { font-size:23px; line-height:1.1; }
 #brx-content .lo-ultimate-feature .lo-wellness-supply h3 span { display:inline; white-space:normal; }
 .lo-ultimate-feature .lo-wellness-supply .lo-wellness-pack { top:auto; left:auto; width:calc(100% + 24px); height:250px; transform:none; }
}
@media(prefers-reduced-motion:reduce) { #brx-content .lo-ultimate-product h3 a { transition:none; } }
@media(prefers-reduced-motion:reduce) {
}

@media(hover:hover) and (pointer:fine) {
 .lo-wellness-benefit:hover { background:#31533a; border-color:#dce6b0a6; transform:translateY(-3px); }
}
@media(min-width:1200px) { .lo-wellness-benefits { padding-block:6px; } }
@media(prefers-reduced-motion:reduce) { .lo-wellness-benefit { transition:none; } .lo-wellness-benefit:hover { transform:none; } }
/* Preserve the site's arrow-circle CTA on the two membership features. */
#brx-content .lo-wellness-join::before { content:""; }
@media(prefers-reduced-motion:reduce) {
 #brx-content .lo-wellness-join, #brx-content .lo-wellness-join::before, #brx-content .lo-wellness-join * { transition:none; }
}
/* Membership FAQ interaction states, using the native accordion state. */
#brx-content .lo-wellness-faq .accordion-title-wrapper {
 padding-inline:16px; cursor:pointer;
 transition:background-color 180ms ease,color 180ms ease;
}
#brx-content .lo-wellness-faq .accordion-title-wrapper .title,
#brx-content .lo-wellness-faq .accordion-title-wrapper .icon { color:inherit; }
@media(hover:hover) {
 #brx-content .lo-wellness-faq .accordion-title-wrapper:hover { background:#e7ebd4; color:#183322; }
}
#brx-content .lo-wellness-faq .accordion-title-wrapper[aria-expanded="true"] { background:#183322; color:#fff7e8; }
#brx-content .lo-wellness-faq .accordion-title-wrapper[aria-expanded="true"] .icon { color:#fde739; }
#brx-content .lo-wellness-faq .accordion-title-wrapper:active { background:#dce6b0; color:#183322; }
#brx-content .lo-wellness-faq .accordion-title-wrapper:focus-visible { outline:2px solid #183322; outline-offset:3px; position:relative; z-index:1; }
@media(prefers-reduced-motion:reduce) { #brx-content .lo-wellness-faq .accordion-title-wrapper { transition:none; } }
/* Align the membership arrow with its circle, independently of inherited CTA insets. */
#brx-content .lo-wellness-join .lo-cta__icon { left:0; }
#brx-content .lo-wellness-join .lo-cta__icon img { transform:none; }
#brx-content .lo-wellness-join:is(:hover,:focus-visible) .lo-cta__icon img { transform:scale(.5); }
/* Keep the member-price CTA's hover pill fitted to its label. */
body.bricks-is-frontend #brx-content .lo-membership-section .lo-mystery-copy .lo-cta { width:fit-content; max-width:100%; }
body.bricks-is-frontend #brx-content .lo-membership-section .lo-mystery-copy .lo-cta__text { flex:0 1 auto; }
/* Centre the label in the expanded membership pill using its actual side padding. */
#brx-content .lo-wellness-join { --join-label-shift:-18px; padding-inline:72px 36px; }
#brx-content .lo-wellness-join .lo-cta__text { padding-inline:0; }
#brx-content .lo-wellness-join:is(:hover,:focus-visible) .lo-cta__text { transform:translateX(var(--join-label-shift)); }
/* Two plan cards need more of the closing panel than the heading does. */
@media(min-width:1100px) {
 body.bricks-is-frontend #brx-content > .lo-wellness-close > .brxe-container { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; }
}
#brx-content .lo-wellness-close .lo-plan-grid { align-items:stretch; }
