﻿@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/fredoka-latin.woff2') format('woff2')}
@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/nunito-latin.woff2') format('woff2')}
@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/pacifico-latin.woff2') format('woff2')}
:root{
 --navy:#07334b;--navy-hover:#164c68;--pink:#f90878;--pink-surface:#ff78b0;--pink-dark:#c80059;
 --blush:#fff1f6;--muted:#536572;--line:#d7e0e5;--pink-line:#edcfdd;
 --display:Fredoka,'Arial Rounded MT Bold',sans-serif;--body:Nunito,Arial,sans-serif;--script:Pacifico,cursive;
 --radius-panel:2rem;--radius-control:1.4rem;--radius-pill:999px;
 --gutter:1.25rem;--section-space:clamp(3rem,5vw,5rem);--ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--navy);background:#fff;font:1rem/1.7 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.25em}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(2.35rem,8.7vw,3.55rem);line-height:1.13}h2{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.15}h3{font-size:1.5rem;line-height:1.3}h2 em{font-family:var(--script);font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6}p{overflow-wrap:break-word}::selection{background:#ffd1e5;color:var(--navy)}:focus-visible{outline:3px solid var(--pink-dark);outline-offset:5px}body{scrollbar-color:#b88caa var(--blush)}[hidden]{display:none!important}.container{width:min(76rem,calc(100% - var(--gutter)*2));margin-inline:auto}.icon{width:1.35rem;height:1.35rem;flex:0 0 auto}.pink{color:var(--pink-dark)}.skip{position:fixed;top:-6rem;left:1rem;padding:.8rem 1.2rem;border-radius:var(--radius-pill);background:var(--navy);color:white;z-index:30}.skip:focus{top:1rem}
/* Navigation remains usable without JavaScript. */
.header{position:relative;z-index:10}.nav-wrap{min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.brand{display:inline-flex;width:10.5rem;flex-shrink:0}.brand img{width:100%;display:block}.menu-toggle{display:none;align-items:center;gap:.5rem;min-height:2.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-pill);padding:.5rem .8rem;color:var(--navy);font-size:.875rem;font-weight:800;cursor:pointer}.header nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%;padding-bottom:1rem}.header nav>a:not(.button){display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none;font-size:.875rem;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:3.5rem;max-width:100%;border:2px solid var(--navy);border-radius:var(--radius-pill);padding:.9rem 1.5rem;background:var(--navy);color:white;text-decoration:none;font-size:1rem;font-weight:800;line-height:1.4;cursor:pointer;transition:background .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}.button:active{transform:translateY(1px)}.button-small{min-height:2.875rem;font-size:.875rem;padding:.6rem 1.2rem;gap:1rem}.js-enabled .menu-toggle{display:flex}.js-enabled .header nav{display:none;position:absolute;top:100%;left:.65rem;right:.65rem;width:auto;padding:1rem 1.25rem 1.4rem;background:#fff;border:1px solid var(--line);border-radius:1.5rem;box-shadow:0 12px 28px #07334b12}.js-enabled .header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.js-enabled .header nav>a:not(.button){padding:.5rem 0;font-size:1rem}
/* One full-width hero: the headline and the next action own the composition. */
.hero{width:100%;margin:0 0 var(--section-space);padding:clamp(3rem,6vw,5.5rem) max(var(--gutter),env(safe-area-inset-right)) clamp(3.5rem,6vw,5.5rem);background:var(--blush);border-radius:0 0 clamp(2rem,5vw,5rem) clamp(2rem,5vw,5rem);text-align:center}
.hero-copy{width:100%;margin:0 auto;min-width:0}
.hero h1{max-width:25ch;margin-inline:auto;font-size:clamp(2.3rem,5.65vw,6rem);line-height:1.09;letter-spacing:-.025em;text-wrap:balance}
.hero h1>.pink{display:block;margin-top:.2em;line-height:1.15}
.hero-description{font-size:clamp(1.125rem,1.6vw,1.4rem);font-weight:800;line-height:1.5;margin-top:clamp(1.5rem,3vw,2.5rem)}
.intro{max-width:59ch;margin:.75rem auto 0;color:var(--muted);font-size:clamp(1rem,1.1vw,1.125rem);line-height:1.75;text-wrap:pretty}
.hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.75rem}
.hero-actions .button{padding:1rem 1.75rem;min-height:3.75rem;background:var(--pink-dark);border-color:var(--pink-dark);color:white}
.text-link{display:inline-flex;align-items:center;min-height:2.75rem;gap:.6rem;font-size:.95rem;font-weight:800;text-decoration:none}
.microcopy{font-size:.8rem;color:var(--muted);margin-top:1.1rem}
.join-panel>*,.how-title>*{min-width:0}
@media(hover:hover){.hero-actions .button:hover{background:#a8004c;border-color:#a8004c;box-shadow:0 6px 16px #c8005926}}
@media(max-width:30rem){.hero h1{font-size:clamp(2.15rem,8.6vw,2.6rem)}.hero-actions{flex-direction:column;gap:.5rem}.hero-actions .button{width:min(100%,19rem)}.hero-description{max-width:27ch;margin-inline:auto}}
/* Open rows inside one softly shaped brand panel. */
.section{padding-block:var(--section-space)}#why-lush{display:grid;gap:2rem;background:#fff6fa;border-radius:var(--radius-panel);padding:2.25rem 1.5rem;margin-bottom:var(--section-space)}.section-heading h2{font-size:clamp(2.8rem,6vw,4.4rem)}.section-heading h2 em{color:var(--pink-dark)}.section-heading>p{color:var(--muted);max-width:28ch;margin-top:1.1rem}.benefit{padding-block:1.5rem;border-bottom:1px solid var(--pink-line)}.benefit:first-child{padding-top:0}.benefit:last-child{padding-bottom:0;border-bottom:0}.benefit h3{margin-bottom:.65rem}.benefit p{color:var(--muted);max-width:48ch}
.how-section{margin-inline:.65rem;border-radius:var(--radius-panel) var(--radius-panel) var(--radius-panel) 1rem;background:var(--navy);color:white;padding-block:3rem}.how-section .container,.join-section .container,.legal-hero .container{width:min(72rem,calc(100% - 3rem))}.how-title>p{max-width:37ch;margin-top:1.25rem;color:#c6d5df}.steps{display:grid;gap:2rem;margin-top:2.5rem}.step>span{display:block;font-size:.8rem;letter-spacing:.06em;font-weight:800;color:#ff9bc8;margin-bottom:1rem}.step h3{margin-bottom:.8rem}.step p{color:#c6d5df;line-height:1.8;max-width:44ch}
.faq-layout{display:grid;gap:2rem}.faq-intro{color:var(--muted);margin-top:1rem}.faqs details{background:#f7fafb;border:1px solid var(--line);border-radius:var(--radius-control);padding-inline:1.1rem;margin-bottom:.75rem}.faqs details:last-child{margin-bottom:0}.faqs details[open]{background:var(--blush);border-color:var(--pink-line)}summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem;list-style:none;font-weight:800;line-height:1.5;cursor:pointer}summary::-webkit-details-marker{display:none}.faq-icon{color:var(--pink-dark);transition:transform .2s var(--ease)}details[open] .faq-icon{transform:rotate(45deg)}details p{padding-bottom:1.4rem;color:var(--muted);max-width:64ch;line-height:1.8}
.join-section{margin:0 .65rem 1.5rem;background:var(--pink-surface);border-radius:var(--radius-panel) 1rem var(--radius-panel) var(--radius-panel);padding-block:2.75rem}.join-panel{display:grid;gap:1.7rem;align-items:center}.join-panel h2{font-size:clamp(3.25rem,9vw,5.5rem);line-height:1.13}.join-panel h2 em{color:var(--navy)}.join-action>p:first-child{font-size:1.125rem;font-weight:800;line-height:1.6}.join-action .button{margin-top:1.5rem}.join-note{font-size:.8rem;margin-top:1rem;font-weight:700}.join-section :focus-visible{outline-color:var(--navy)}.application-notice{margin-top:1.25rem;padding:1.1rem 1.25rem;background:#fff;border-radius:1.25rem;max-width:40ch;font-size:.95rem}.application-notice strong{font-weight:800}.application-notice p{margin-top:.4rem;color:var(--muted)}.application-notice:target{scroll-margin-top:2rem}
.footer{padding:2rem 0 max(1.75rem,env(safe-area-inset-bottom))}.footer-top{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.footer-top .brand{width:9rem}.footer-top>p{font-size:.875rem;color:var(--muted)}.footer-top nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;width:100%;font-size:.875rem}.footer-top nav a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none}.age-badge{display:inline-grid;place-items:center;min-width:2.5rem;min-height:2.5rem;border:1px solid var(--line);border-radius:50%;font-size:.8rem;font-weight:800}.footer-bottom{display:grid;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;line-height:1.8}.footer-bottom>p:last-child{max-width:85ch}
/* Legal documents use the same shapes with a quieter reading scale. */
.legal-hero{margin-inline:.65rem;padding-block:2.5rem;background:var(--blush);border-radius:var(--radius-panel)}.legal-hero h1{font-size:clamp(2.5rem,5vw,3.75rem)}.updated{font-size:.875rem;color:var(--muted);margin-top:1.25rem}.legal-layout{padding-block:2rem 4rem}.legal-nav{border-bottom:1px solid var(--line);padding-bottom:1.25rem;margin-bottom:2rem}.legal-nav strong{display:block;margin-bottom:.75rem}.legal-nav a{display:inline-flex;align-items:center;min-height:2.75rem;margin-right:1.2rem;text-decoration:none;font-size:.875rem;color:var(--muted)}.legal-copy{max-width:70ch;min-width:0}.legal-copy section{margin-top:2.25rem}.legal-copy h2{font-size:1.65rem;letter-spacing:0;margin-bottom:1rem}.legal-copy p,.legal-copy li{color:var(--muted);line-height:1.85}.legal-copy p+p{margin-top:1rem}.legal-copy ul{padding-left:1.4rem}.legal-copy li{margin:.65rem 0}.draft-note{padding:1.25rem 1.5rem;background:var(--blush);border:1px solid var(--pink-line);border-radius:var(--radius-control);margin-bottom:2rem}.draft-note strong{color:var(--navy)}
@media(hover:hover){.button:hover{background:var(--navy-hover);box-shadow:0 6px 14px #07334b20}.header nav>a:not(.button):hover,.legal-nav a:hover{color:var(--pink-dark)}.text-link:hover,.footer-top nav a:hover{text-decoration:underline}summary:hover .faq-icon{transform:rotate(90deg)}details[open] summary:hover .faq-icon{transform:rotate(45deg)}}
@media(min-width:48rem){
 :root{--gutter:2rem;--radius-panel:3rem}
 .nav-wrap{min-height:6rem;flex-wrap:nowrap}.brand{width:11rem}.header nav,.js-enabled .header nav{display:flex;position:static;width:auto;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:1.4rem;padding:0;border:0;border-radius:0;box-shadow:none}.js-enabled .menu-toggle{display:none}.js-enabled .header nav>a:not(.button){font-size:.875rem;padding:0}

 #why-lush{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding:3rem}.how-section,.join-section,.legal-hero{margin-inline:1.25rem}.how-section{padding-block:3.75rem}.how-title{display:flex;justify-content:space-between;align-items:center;gap:3rem}.how-title>p{margin-top:0}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem}.step h3{font-size:1.35rem}
 .faq-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.join-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.join-section{padding-block:3.5rem}.footer-bottom{grid-template-columns:1fr 2.4fr;gap:3rem}
 .legal-layout{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:3rem;padding-block:3.5rem 5rem}.legal-nav{position:sticky;top:2rem;align-self:start;border:0;margin:0;padding:0}.legal-nav a{display:flex;margin:0 0 .4rem}.legal-hero{padding-block:3.5rem}
}
@media(min-width:64rem){
 :root{--gutter:3rem;--radius-panel:3.5rem}.nav-wrap{min-height:6.5rem}.brand{width:12rem}.header nav,.js-enabled .header nav{gap:2rem}#why-lush{gap:2.5rem;padding:3.5rem 4rem}.step h3{font-size:1.5rem}.steps{gap:3.5rem}.how-section{padding-block:4.5rem}.faq-layout{gap:2rem}.faqs details{padding-inline:1.5rem}.join-section{padding-block:4rem}.join-panel{gap:5rem}.footer-top nav{width:auto;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* A living collage at the edges; the headline always owns the center. */
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding-top:3.25rem;padding-bottom:2rem;background:radial-gradient(ellipse at 50% 30%,#fff 0%,#fff9fc 44%,#ffe5f0 100%)}
.hero-copy{position:relative;z-index:2;max-width:46rem;order:0}
.hero h1{font-size:clamp(2.3rem,4.1vw,4.3rem);max-width:none;line-height:1.12}
.hero h1>.pink{font-size:.9em;line-height:1.2;margin-top:.2em}
.hero .intro{font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:42ch;margin-top:1.5rem;color:var(--muted);line-height:1.7}
.hero-actions{margin-top:1.65rem}
.hero-visuals{position:relative;order:1;display:flex;align-items:center;justify-content:center;gap:2rem;width:100%;height:12.5rem;margin-top:1.4rem;pointer-events:none}
.photo-bubble{position:relative;flex:none;width:8.5rem;height:8.5rem;border-radius:50%;border:5px solid #fff;box-shadow:0 12px 24px #07334b16;animation:bubble-drift 4.8s ease-in-out 1;will-change:transform}
.photo-bubble img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.bubble-dating{width:9rem;height:9rem;animation-delay:-.8s;animation-duration:4.8s}
.bubble-label{position:absolute;left:50%;bottom:-.7rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transform:translateX(-50%);padding:.45rem .85rem;border:1px solid #f2d1e0;border-radius:999px;background:#fff;color:var(--navy);font-size:.85rem;line-height:1.4;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px #07334b0a}
.bubble-label .icon{color:var(--pink-dark);width:1rem;height:1rem}
.ambient-bubble{position:absolute;border:1px solid #f0bad2;border-radius:50%;background:#ffddeb80;z-index:-1;animation:bubble-drift 4.8s ease-in-out 1;will-change:transform}
.ambient-one{width:2rem;height:2rem;left:4%;top:16%;animation-delay:-1s}
.ambient-two{width:3.5rem;height:3.5rem;right:1%;bottom:9%;animation-delay:-.5s}
.ambient-three{width:1rem;height:1rem;right:18%;top:2%;background:var(--pink);border:0;opacity:.35}



@keyframes bubble-drift{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(5px,-12px,0) rotate(2deg)}}
@media(min-width:48rem){.hero{padding-top:3.75rem}.hero-visuals{gap:4rem;height:14rem}.photo-bubble{width:10rem;height:10rem}.bubble-dating{width:11rem;height:11rem}}
@media(min-width:75rem){
 .hero{padding-block:5rem 5.5rem;min-height:40rem;justify-content:center}
 .hero-visuals{position:absolute;inset:0;height:100%;margin:0;display:block;z-index:1}
 .photo-bubble{position:absolute;width:clamp(9rem,14vw,15rem);height:clamp(9rem,14vw,15rem)}
 .bubble-cams{left:3%;top:17%}
 .bubble-dating{right:3%;bottom:18%;width:clamp(10rem,16vw,17rem);height:clamp(10rem,16vw,17rem)}
 .bubble-label{font-size:1rem;padding:.6rem 1rem;bottom:-.6rem}
 .bubble-label .icon{width:1.15rem;height:1.15rem}
 .ambient-one{left:10%;top:auto;bottom:13%;width:4.5rem;height:4.5rem}
 .ambient-two{right:12%;bottom:auto;top:9%;width:3rem;height:3rem}
 .ambient-three{left:23%;right:auto;top:6%;width:1.5rem;height:1.5rem}
 
}
@media(max-width:30rem){.hero{padding-top:2.5rem}.hero h1{font-size:clamp(2.15rem,8.6vw,2.6rem)}.hero-visuals{gap:1.5rem}.photo-bubble{width:7.5rem;height:7.5rem}.bubble-dating{width:8rem;height:8rem}.hero-actions{flex-direction:column}.hero .intro br{display:none}}
@media(prefers-reduced-motion:reduce){.photo-bubble,.ambient-bubble{animation:none!important;will-change:auto}}

/* Rounded lettering and a third, branded membership bubble. */
.button,.text-link,.menu-toggle{font-family:var(--display);font-weight:600;letter-spacing:.01em}
.button{font-size:1.15rem}.button-small{font-size:1rem}.text-link{font-size:1.05rem}
.login-notice{margin:1.25rem auto 0;text-align:left}
.hero-visuals{gap:1.25rem}
.bubble-paysite{width:8rem;height:8rem;animation-delay:-1.6s}



@media(min-width:48rem){.hero-visuals{gap:3rem}.bubble-paysite{width:9rem;height:9rem}}
@media(min-width:75rem){.bubble-cams{top:10%}.bubble-paysite{position:absolute;left:7%;bottom:8%;width:clamp(7rem,10vw,10rem);height:clamp(7rem,10vw,10rem)}.ambient-one{left:2%;bottom:8%;width:2rem;height:2rem}}
@media(max-width:30rem){.hero-visuals{gap:.65rem;height:10rem}.photo-bubble,.bubble-dating,.bubble-paysite{width:clamp(5rem,24vw,7rem);height:clamp(5rem,24vw,7rem);border-width:3px}.bubble-dating{align-self:flex-start;margin-top:1rem}.bubble-label{font-size:.75rem;padding:.4rem .55rem;gap:.3rem}}

/* A softer introduction: expressive heading and a clear, connected sequence. */
.how-section{margin-inline:.65rem;padding-block:clamp(2.5rem,5vw,5rem);border-radius:2.5rem;background:#fff1f6;color:var(--navy)}
.how-section .container{width:min(72rem,calc(100% - 3rem))}
.how-layout{display:grid;gap:2.5rem}
.how-title{position:relative;display:block;padding:0;align-self:center}
.how-eyebrow{display:block;margin-bottom:1.25rem;color:var(--pink-dark);font-size:.75rem;font-weight:800;letter-spacing:.1em}
.how-title h2{font-size:clamp(2.7rem,4.5vw,4.4rem);line-height:1.12;letter-spacing:-.025em}
.how-title h2 em{display:inline-block;color:var(--pink-dark);line-height:1.5}
.how-title>p{margin-top:1rem;max-width:33ch;color:var(--muted);font-size:1rem;line-height:1.75}
.how-spark{display:none}
.steps{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none}
.step:not(:last-child)::before{content:'';position:absolute;left:calc(1.7rem - 1px);top:1.7rem;bottom:-1.7rem;border-left:2px dashed #eab8cd}
.step{position:relative;display:grid;grid-template-columns:3.4rem minmax(0,1fr);align-items:start;gap:1.1rem;padding:1.5rem 0}
.step:first-child{padding-top:0}.step:last-child{padding-bottom:0}
.step:not(:last-child)>div{padding-bottom:1.5rem;border-bottom:1px solid #eecfdd}
.step+.step{padding-top:0}
.step>.step-number{position:relative;display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0;border:4px solid #fff1f6;border-radius:45% 55% 48% 52%;background:var(--pink-dark);color:#fff;font-family:var(--display);font-size:1.1rem;font-weight:600;letter-spacing:0}
.step:nth-child(2)>.step-number{background:var(--navy);border-radius:55% 45% 55% 45%}
.step:nth-child(3)>.step-number{background:#ffc2dc;color:var(--navy)}
.step h3{margin:.35rem 0 .55rem;font-size:clamp(1.4rem,2vw,1.7rem)}
.step p{max-width:44ch;color:var(--muted);line-height:1.75;font-size:1rem}
@media(min-width:48rem){.how-section{margin-inline:1.25rem;border-radius:3.5rem}.how-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,6rem)}.how-title{padding-bottom:3rem}.how-spark{display:block;position:absolute;bottom:-1rem;left:.3rem;font-size:3.5rem;line-height:1;color:var(--pink-dark);transform:rotate(12deg)}.step{gap:1.5rem}.steps{margin:0;gap:0}}

/* Benefits remain one reading column at every viewport size. */
#why-lush{grid-template-columns:minmax(0,1fr)}
#why-lush>.section-heading,#why-lush>.benefit-list{width:100%;max-width:48rem;margin-inline:auto}
#why-lush .section-heading>p{max-width:48ch}
#why-lush .benefit p{max-width:65ch}

/* FAQ heading precedes the accordion in a single reading column. */
.faq-layout{grid-template-columns:minmax(0,1fr);max-width:48rem}

/* Heading above three parallel benefits; stack only on smaller screens. */
@media(min-width:48rem){#why-lush>.benefit-list{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}#why-lush .benefit{padding:0;border-bottom:0}#why-lush .benefit+.benefit{padding-left:2rem;border-left:1px solid var(--pink-line)}#why-lush .benefit p{max-width:none}}

.faq-layout>div:first-child{text-align:center}

/* A focused closing invitation with soft brand color and one central action. */
.join-section{position:relative;isolation:isolate;overflow:hidden;width:min(76rem,calc(100% - var(--gutter)*2));margin:0 auto 2rem;padding:clamp(2.75rem,5vw,4.5rem) 1.5rem;background:#fff1f6;border:1px solid #f4d9e5;border-radius:clamp(2rem,4vw,3.5rem)}
.join-section::before,.join-section::after{content:'';position:absolute;z-index:-1;width:clamp(6rem,16vw,14rem);aspect-ratio:1;border-radius:50%;border:1px solid #efbfd4;background:#ffe4ef;pointer-events:none}
.join-section::before{left:-7%;bottom:-45%}.join-section::after{right:-8%;top:-45%;width:clamp(8rem,20vw,18rem);background:transparent}
.join-section .join-panel{display:flex;flex-direction:column;width:100%;max-width:52rem;gap:.9rem;text-align:center}
.join-panel h2{font-size:clamp(2.35rem,4.1vw,3.8rem);line-height:1.25;text-wrap:balance}
.join-panel h2 em{display:inline-block;color:var(--pink-dark);line-height:1.55}
.join-action>p:first-child{font-size:clamp(1rem,1.5vw,1.125rem);font-weight:400;color:var(--muted);text-wrap:balance}
.join-action .button{margin-top:1.5rem;min-width:11rem;background:var(--pink-dark);border-color:var(--pink-dark)}
.join-action .join-note{margin-top:1rem;font-size:.8rem;font-weight:400;color:var(--muted)}
.join-action .application-notice{margin:1.25rem auto 0;text-align:left}
@media(hover:hover){.join-action .button:hover{background:#a8004c;border-color:#a8004c}}

#why-lush>.section-heading{text-align:center}
#why-lush .section-heading>p{margin-inline:auto}

/* Shared spacing rhythm. Section gaps belong to the parent, not both neighbours. */
:root{--panel-pad:clamp(1.5rem,4vw,4rem);--space-group:clamp(2rem,3vw,3rem);--space-copy:1rem;--space-action:1.5rem;--space-text:.75rem}
.landing-flow{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--section-space)}
.landing-flow>.hero,.landing-flow>#why-lush,.landing-flow>.how-section,.landing-flow>.faq-layout,.landing-flow>.join-section{margin-block:0}
.landing-flow>.hero{padding-block:var(--section-space)}
.landing-flow>#why-lush,.landing-flow>.how-section,.landing-flow>.join-section{width:min(76rem,calc(100% - var(--gutter)*2));margin-inline:auto;padding:var(--panel-pad)}
.landing-flow>.faq-layout{padding-block:0;gap:var(--space-group)}
#why-lush{gap:var(--space-group)}
.how-section .how-layout{width:100%;gap:var(--space-group)}
.section-heading>p,.faq-intro,.how-title>p{margin-top:var(--space-copy)}
.how-eyebrow{margin-bottom:var(--space-copy)}
.benefit h3{margin-bottom:var(--space-text)}
.benefit{padding-block:var(--space-action)}
.step{gap:var(--space-action);padding-bottom:var(--space-action)}
.step:not(:last-child)>div{padding-bottom:var(--space-action)}
.step:last-child{padding-bottom:0}
.step h3{margin-top:.35rem;margin-bottom:var(--space-text)}
.hero .intro{margin-top:var(--space-action)}
.hero-actions{margin-top:var(--space-action);gap:var(--space-copy) var(--space-action)}
.microcopy,.join-action .join-note{margin-top:var(--space-copy)}
.hero-actions .button,.join-action .button{min-height:3.75rem;padding:1rem 1.75rem}
.join-section .join-panel{gap:var(--space-copy)}
.join-action .button{margin-top:var(--space-action)}
.faqs details{margin-bottom:var(--space-text);padding-inline:var(--space-action)}
.faqs details:last-child{margin-bottom:0}
.faqs summary{padding-block:1.25rem}
.faqs details p{padding-bottom:var(--space-action)}
.landing-flow+.footer{padding-top:var(--section-space)}
.footer-top{gap:var(--space-copy) var(--space-action)}
.footer-bottom{margin-top:var(--space-action);padding-top:var(--space-action)}
.legal-copy section{margin-top:var(--space-group)}
@media(min-width:48rem){#why-lush>.benefit-list{gap:0}#why-lush .benefit,#why-lush .benefit+.benefit{padding:0 var(--space-action)}.how-section .how-layout{column-gap:var(--panel-pad)}}
@media(max-width:47.999rem){.step{gap:var(--space-copy)}}

/* Shared footer: distinct brand area, grouped navigation and readable fine print. */
.footer,.landing-flow+.footer{margin-top:var(--section-space);padding:clamp(2.5rem,4vw,4rem) 0 max(1.5rem,env(safe-area-inset-bottom));background:#fff6fa;border-top:1px solid #f1dce6;border-radius:clamp(2rem,4vw,4rem) clamp(2rem,4vw,4rem) 0 0}
.footer-shell{display:grid;gap:var(--space-group)}
.legal-layout{padding-bottom:0}
.footer-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.footer-brand{grid-column:1/-1}
.footer-brand .brand{width:12rem;max-width:100%}
.footer-brand>p{margin-top:.5rem;color:var(--navy);font-size:1rem}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.footer-links h2{font-size:1.15rem;margin:0 0 .65rem;color:var(--pink-dark);letter-spacing:0}
.footer-links a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.35rem 0;text-decoration:none;font-size:.9rem;line-height:1.5}
.footer-disclaimer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding-top:var(--space-action);border-top:1px solid var(--pink-line)}
.footer-disclaimer .age-badge{width:2.75rem;height:2.75rem;background:#fff;border-color:var(--pink-line);color:var(--navy);font-family:var(--display);font-size:.9rem;font-weight:600}
.footer-disclaimer p{max-width:110ch;color:var(--muted);font-size:.8rem;line-height:1.8}
.footer-disclaimer p+p{margin-top:.65rem}
.footer-copyright{color:var(--muted);font-size:.8rem;line-height:1.6}
@media(min-width:48rem){.footer-main{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:3rem}.footer-brand{grid-column:auto}.footer-brand .brand{width:14rem}.footer-disclaimer{gap:1.5rem}}
@media(hover:hover){.footer-links a:hover{color:var(--pink-dark);text-decoration:underline}}

.button[data-login]{gap:.5rem}
.login-icon{width:1.15rem;height:1.15rem}

.footer-disclaimer{display:block;text-align:center}
.footer-disclaimer p{margin-inline:auto}
.footer-copyright{text-align:center}

/* Keep the footer brand and navigation together as one compact group. */
.footer-main{width:100%;max-width:54rem;margin-inline:auto;gap:1.5rem 2rem}
.footer-brand .brand{width:11rem}
.footer-brand>p{margin-top:.25rem;font-size:.9rem}
.footer-links h2{margin-bottom:.35rem}
.footer-links a{padding-block:.2rem}
@media(min-width:48rem){.footer-main{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:2.5rem;align-items:start}.footer-brand .brand{width:12rem}}
