@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/287637279c44650d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b387097da7407747-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cb9f64d62d112b41-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_a0f935{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_a0f935{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_7776a5{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_7776a5{--font-nunito:"Nunito","Nunito Fallback"}:root{--ink:#2a2230;--ink-soft:#615768;--ink-faint:#9a8fa0;--surface:#ffffff;--surface-2:#fff4f7;--card:#ffffff;--line:rgba(42,34,48,0.08);--blush:#b23e5a;--blush-fill:#d9637b;--blush-tint:#f6e3e8;--blush-glow:#ffd3de;--primary:#b23e5a;--on-primary:#ffffff;--menstrual-tint:#f4d9df;--menstrual-hero:#f58ca2;--menstrual:#d9637b;--follicular-tint:#fbe6d6;--follicular-hero:#f7b48f;--follicular:#7fa86b;--ovulatory-tint:#fbf1d2;--ovulatory-hero:#f4cd6a;--ovulatory:#e6b33c;--luteal-tint:#e8e1f5;--luteal-hero:#b9a8e8;--luteal:#8e7cc3;--font-display:var(--font-fraunces),"Iowan Old Style",Georgia,serif;--font-body:var(--font-nunito),ui-rounded,"SF Pro Rounded",system-ui,sans-serif;--step--1:clamp(0.84rem,0.82rem + 0.1vw,0.9rem);--step-0:clamp(1rem,0.97rem + 0.15vw,1.09rem);--step-1:clamp(1.2rem,1.13rem + 0.35vw,1.4rem);--step-2:clamp(1.45rem,1.3rem + 0.7vw,1.9rem);--step-3:clamp(1.8rem,1.5rem + 1.4vw,2.7rem);--step-4:clamp(2.3rem,1.75rem + 2.6vw,4rem);--step-5:clamp(2.8rem,1.9rem + 4.2vw,5.6rem);--radius-s:14px;--radius-m:22px;--radius-l:32px;--radius-xl:44px;--shadow-s:0 2px 10px rgba(122,52,78,0.06);--shadow-m:0 14px 40px -12px rgba(122,52,78,0.18);--shadow-l:0 40px 90px -30px rgba(122,52,78,0.32);--gutter:clamp(16px,4vw,40px);--max:1180px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:clip}body{margin:0;background:radial-gradient(1200px 700px at 85% -10%,#ffe1ea 0,transparent 60%),radial-gradient(900px 600px at -10% 30%,#fff0f5 0,transparent 55%),var(--surface);background-repeat:no-repeat;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}img,svg,video{display:block;max-width:100%;height:auto}a{color:var(--blush);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--blush-fill);text-decoration-color:var(--blush-fill)}:focus-visible{outline:3px solid var(--blush-fill);outline-offset:3px;border-radius:6px}::selection{background:var(--blush-glow)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:560;font-variation-settings:"SOFT" 100,"WONK" 0;line-height:1.08;letter-spacing:-.015em;margin:0 0 .45em;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{margin:0 0 1em;text-wrap:pretty}.accent,em.accent{font-style:italic;color:var(--blush);font-variation-settings:"SOFT" 100,"WONK" 1}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.narrow{max-width:760px}.section{padding-block:clamp(64px,10vw,140px);position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--step--1);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blush);margin-bottom:14px}.eyebrow:before{content:"";width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--blush-glow),var(--blush-fill))}.lead{font-size:var(--step-1);color:var(--ink-soft);max-width:60ch}.center{text-align:center;margin-inline:auto}.muted{color:var(--ink-soft)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:0;font:800 var(--step-0) /1 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease-out),background .2s;will-change:transform}.btn:hover{transform:translateY(-2px) scale(1.02)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 12px 30px -10px rgba(178,62,90,.6)}.btn-primary:hover{box-shadow:0 18px 40px -10px rgba(178,62,90,.7)}.btn-soft{background:var(--blush-tint);color:var(--blush)}.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.card{background:var(--card);border-radius:var(--radius-l);box-shadow:var(--shadow-m);padding:clamp(20px,3vw,32px);position:relative}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--blush-tint);color:var(--blush);font-size:var(--step--1);font-weight:800}.grid{display:grid;grid-gap:clamp(16px,2.4vw,28px);gap:clamp(16px,2.4vw,28px)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}[data-phase=menstrual]{--phase:var(--menstrual);--phase-tint:var(--menstrual-tint);--phase-hero:var(--menstrual-hero)}[data-phase=follicular]{--phase:var(--follicular);--phase-tint:var(--follicular-tint);--phase-hero:var(--follicular-hero)}[data-phase=ovulatory]{--phase:var(--ovulatory);--phase-tint:var(--ovulatory-tint);--phase-hero:var(--ovulatory-hero)}[data-phase=luteal]{--phase:var(--luteal);--phase-tint:var(--luteal-tint);--phase-hero:var(--luteal-hero)}.phase-surface{background:linear-gradient(180deg,var(--phase-tint,var(--blush-tint)),var(--surface) 85%)}.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;z-index:0}html.motion [data-reveal]{opacity:0;transform:translateY(28px)}html.motion [data-reveal=scale]{transform:scale(.94)}html.motion [data-reveal=left]{transform:translateX(-40px)}html.motion [data-reveal=right]{transform:translateX(40px)}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes shimmer{to{background-position:200%}}.float{animation:float 6s ease-in-out infinite}.shimmer-text{background:linear-gradient(90deg,var(--blush) 0,#e98aa1 30%,var(--luteal) 55%,var(--blush) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s linear infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.prose{font-size:var(--step-0);line-height:1.75}.prose h2{font-size:var(--step-3);margin-top:1.8em}.prose h3{font-size:var(--step-2);margin-top:1.4em}.prose ol,.prose ul{padding-left:1.3em;margin:0 0 1.2em}.prose li{margin-bottom:.45em}.prose li::marker{color:var(--blush-fill)}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:1.2em 0 1.6em;font-size:var(--step--1);background:var(--card);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-s)}.prose td,.prose th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.prose th{background:var(--blush-tint);color:var(--blush);font-weight:800}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--card);padding:10px 16px;border-radius:12px}.skip-link:focus{left:8px}.small{font-size:var(--step--1)}.split-word{overflow:hidden;vertical-align:bottom;padding:.04em .06em .16em;margin:-.04em -.06em -.16em}.split-word,.split-word>span{display:inline-block}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);background:color-mix(in srgb,var(--surface) 72%,transparent);border-bottom:1px solid var(--line)}.site-header-inner{gap:24px;min-height:68px}.brand,.site-header-inner{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink);font:600 1.45rem/1 var(--font-display)}.brand img{border-radius:10px;box-shadow:var(--shadow-s)}.site-nav{display:flex;gap:4px;margin-left:auto}.site-nav a{color:var(--ink-soft);text-decoration:none;font-weight:700;padding:8px 12px;border-radius:999px;transition:background .2s,color .2s}.site-nav a:hover{background:var(--blush-tint);color:var(--blush)}.btn-small{min-height:42px;padding:0 18px;font-size:var(--step--1)}@media (max-width:860px){.site-nav{display:none}.site-header-inner>.btn{margin-left:auto}}.site-footer{background:var(--surface-2);border-top:1px solid var(--line);padding:64px 0 32px;font-size:var(--step--1)}.footer-top{display:grid;grid-template-columns:minmax(220px,300px) 1fr;grid-gap:48px;gap:48px}@media (max-width:860px){.footer-top{grid-template-columns:1fr}}.footer-logo{font:600 2rem/1 var(--font-display);margin-bottom:8px}.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:28px;gap:28px}.footer-head a{color:var(--ink);font-weight:800;text-decoration:none}.footer-cols ul{list-style:none;padding:0;margin:0}.footer-cols li{margin-bottom:6px}.footer-cols li a{color:var(--ink-soft);text-decoration:none}.footer-cols li a:hover{color:var(--blush)}.disclaimer{margin-top:40px;color:var(--ink-faint);max-width:80ch}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px;color:var(--ink-faint)}.footer-bottom a{color:inherit}.store-badge{display:inline-block;transition:transform .3s var(--ease-spring)}.store-badge:hover{transform:scale(1.04)}.lulu{position:relative;flex:none}.lulu>img{width:100%;height:100%;object-fit:contain;transition:opacity .3s}.lulu>[data-lottie],.lulu>img{position:absolute;inset:0}.hero{position:relative;overflow:hidden;padding:clamp(40px,7vw,96px) 0 clamp(56px,8vw,120px);background:linear-gradient(170deg,#ffffff 0,var(--phase-tint,var(--blush-tint)) 55%,#ffffff 100%);transition:background 1.2s var(--ease-out)}.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.hero-blob-a{width:520px;height:520px;background:var(--phase-hero,var(--menstrual-hero));top:-160px;right:-120px;transition:background 1.2s;animation:float 14s ease-in-out infinite}.hero-blob-b{width:420px;height:420px;background:var(--luteal-hero);bottom:-160px;left:-140px;opacity:.35;animation:float 18s ease-in-out infinite reverse}.hero-blob-c{width:260px;height:260px;background:var(--ovulatory-hero);top:40%;left:45%;opacity:.25;animation:float 11s ease-in-out infinite}.hero-petal{position:absolute;width:14px;height:14px;border-radius:60% 0 60% 0;background:var(--blush-glow);opacity:.8;animation:float 7s ease-in-out infinite}.petal-1{background:var(--luteal-tint);width:10px;height:10px}.petal-2{background:var(--ovulatory-tint);border-radius:50%;width:8px;height:8px}.petal-3{background:var(--menstrual-hero);opacity:.4}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(24px,4vw,64px);gap:clamp(24px,4vw,64px);align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero h1{font-size:clamp(2.6rem,1.6rem + 4.6vw,5.8rem);font-weight:520}.hero-word{display:inline-block;min-width:3.4ch}.hero-word-inner{display:inline-block;color:var(--blush);animation:word-in .7s var(--ease-spring) both;font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}@keyframes word-in{0%{opacity:0;transform:translateY(.5em) rotate(-6deg) scale(.8)}}.hero-ctas{align-items:center;gap:14px;margin:28px 0 22px}.hero-ctas,.hero-proof{display:flex;flex-wrap:wrap}.hero-proof{list-style:none;padding:0;margin:0;gap:8px 18px;color:var(--ink-soft);font-weight:700;font-size:var(--step--1)}.hero-visual{display:flex;justify-content:center}.hero-stage{position:relative;width:min(330px,78vw);transform-style:preserve-3d}.hero-phone,.phone,.rail-shot img{border-radius:46px;padding:9px;background:linear-gradient(145deg,#3a3040,#18131c);box-shadow:var(--shadow-l),inset 0 0 0 1.5px rgba(255,255,255,.12)}.hero-phone img{border-radius:38px}.hero-chip{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 16px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;box-shadow:var(--shadow-m);font-size:var(--step--1);white-space:nowrap;z-index:2}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.chip-a{top:12%;left:-26%}.chip-b{top:44%;right:-30%}.chip-c{bottom:18%;left:-22%}@media (max-width:520px){.chip-a{left:-6%}.chip-b{right:-6%}.chip-c{left:-4%}}.hero-lulu{position:absolute;right:-22%;bottom:-6%;z-index:3;filter:drop-shadow(0 18px 24px rgba(122,52,78,.25))}@media (max-width:520px){.hero-lulu{right:-8%}.hero-lulu .lulu{width:140px!important;height:140px!important}}.marquee{overflow:hidden;padding:18px 0;background:var(--card);border-block:1px solid var(--line)}.marquee-track{display:flex;gap:36px;width:max-content;animation:marquee 40s linear infinite}.marquee-item{display:flex;align-items:center;gap:10px;font:italic 500 1.4rem/1 var(--font-display);color:var(--ink-soft);text-transform:capitalize}@keyframes marquee{to{transform:translateX(-33.333%)}}.problem h2{font-size:var(--step-4)}.journey-stage{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.journey-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 50%,var(--phase-hero) 0,transparent 55%),linear-gradient(180deg,var(--phase-tint),var(--surface));opacity:.9;transition:background .8s var(--ease-out)}.journey-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center}@media (max-width:860px){.journey-inner{grid-template-columns:1fr;gap:16px;padding-block:72px 24px}.journey-ring{order:-1;max-width:280px}}.journey-swap{animation:swap-in .6s var(--ease-out) both}@keyframes swap-in{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}}.journey-mood-big{font-size:var(--step-4);color:var(--phase);margin:12px 0;filter:saturate(1.2) brightness(.85)}.journey-tip{font-weight:700;background:color-mix(in srgb,var(--card) 80%,transparent);border-radius:var(--radius-m);padding:14px 18px;box-shadow:var(--shadow-s)}.journey-ring{position:relative;width:100%;max-width:440px;aspect-ratio:1;margin-inline:auto}.journey-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.journey-lulu{width:46%;animation:lulu-pop .6s var(--ease-spring) both}@keyframes lulu-pop{0%{transform:scale(.6) rotate(-10deg);opacity:0}}.journey-day{font-weight:800;color:var(--ink-soft);margin:0}.journey-day strong{font-size:1.6em;color:var(--ink)}.journey-card img{margin-bottom:8px}.journey-card{background:linear-gradient(180deg,var(--phase-tint),var(--card))}.journey-mood{font:italic 600 var(--step-1) var(--font-display);color:var(--phase)}.forecast-grid,.partner-grid,.privacy-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:center}@media (max-width:860px){.forecast-grid,.partner-grid,.privacy-grid{grid-template-columns:1fr}}.ticks{list-style:none;padding:0}.ticks li{padding-left:34px;position:relative;margin-bottom:12px;font-weight:600}.ticks li:before{content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--blush-tint);color:var(--blush);display:grid;place-items:center;font-size:.8rem;font-weight:900}.forecast-card{background:linear-gradient(160deg,var(--phase-tint),var(--card) 70%);box-shadow:var(--shadow-l)}.forecast-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:clamp(4px,1.4vw,8px);gap:clamp(4px,1.4vw,8px);margin:18px 0}.forecast-day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;background:var(--card);border-radius:var(--radius-m);font-size:var(--step--1);text-transform:capitalize;box-shadow:var(--shadow-s)}.forecast-day img{width:100%;max-width:64px;transition:transform .4s var(--ease-spring)}.forecast-day:hover img{transform:scale(1.18) rotate(-6deg)}.forecast-day span{color:var(--ink-soft)}.forecast-note{display:flex;align-items:center;gap:12px;margin:0;font-weight:700;font-style:italic}.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:40px}@media (max-width:860px){.bento{grid-template-columns:1fr}}.bento-card{position:relative;overflow:hidden;border-radius:var(--radius-l);padding:28px;background:linear-gradient(160deg,var(--phase-tint),var(--card) 80%);box-shadow:var(--shadow-m);transition:transform .5s var(--ease-spring),box-shadow .4s;min-height:280px}.bento-card.wide{grid-column:span 2}@media (max-width:860px){.bento-card.wide{grid-column:auto}}.bento-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:var(--shadow-l)}.bento-art{width:120px;margin-bottom:14px;transition:transform .6s var(--ease-spring)}.bento-card:hover .bento-art{transform:scale(1.12) rotate(-8deg)}.bento-card p{color:var(--ink-soft);margin:0}.rail{padding-block:clamp(64px,9vw,120px);overflow:hidden;background:var(--surface);position:relative;z-index:1}.rail-pinned{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.rail-track{display:flex;gap:clamp(24px,4vw,56px);padding:32px var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;perspective:1400px;scrollbar-width:none}.rail-pinned .rail-track{overflow:visible;padding-left:max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}.rail-shot{flex:none;width:clamp(210px,22vw,270px);margin:0;scroll-snap-align:center;transform-style:preserve-3d}.rail-shot img{border-radius:36px;padding:7px}.rail-shot figcaption{display:flex;flex-direction:column;text-align:center;margin-top:16px}.rail-shot figcaption span{color:var(--ink-soft);font-size:var(--step--1)}.privacy{background:radial-gradient(circle at 20% 30%,var(--luteal-tint),transparent 60%),var(--surface-2)}.privacy-visual{display:grid;place-items:center}.lock-orb{position:relative;width:min(340px,70vw);aspect-ratio:1;display:grid;place-items:center}.lock-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--luteal-hero);animation:ring 4s var(--ease-out) infinite;opacity:0}.lock-ring.r2{animation-delay:1.3s}.lock-ring.r3{animation-delay:2.6s}@keyframes ring{0%{transform:scale(.35);opacity:.9}to{transform:scale(1);opacity:0}}.lock-icon{font-size:4.5rem;width:140px;height:140px;display:grid;place-items:center;border-radius:50%;background:var(--card);box-shadow:var(--shadow-l);animation:float 5s ease-in-out infinite}.privacy-points strong{display:block;margin-bottom:4px}.privacy-points p{color:var(--ink-soft);margin:0}.partner{background:linear-gradient(180deg,var(--surface),var(--phase-tint) 50%,var(--surface))}.partner-bunnies{display:flex;align-items:center;justify-content:center}.partner-bunnies .lulu:last-child{transform:scaleX(-1);margin-left:-30px}.heart-burst{font-size:2.6rem;margin:0 -20px;z-index:2;animation:heartbeat 1.6s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.18)}}.tools-teaser{background:linear-gradient(180deg,var(--surface),var(--phase-tint),var(--surface))}.tools-teaser-widget{max-width:760px;margin:32px auto 0}.tools-more{margin-top:24px;font-weight:700}.trial-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin:36px 0;position:relative}.trial-steps:before{content:"";position:absolute;top:22px;left:16%;right:16%;height:3px;background:linear-gradient(90deg,var(--menstrual),var(--ovulatory),var(--luteal));border-radius:3px}@media (max-width:600px){.trial-steps{grid-template-columns:1fr}.trial-steps:before{display:none}}.trial-dot{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;font-weight:900;margin-bottom:8px;box-shadow:0 0 0 6px var(--surface)}.trial-steps strong{display:block}.trial-steps p{color:var(--ink-soft);font-size:var(--step--1)}.faq-list{margin-top:24px}.faq-item{background:var(--card);border-radius:var(--radius-m);box-shadow:var(--shadow-s);margin-bottom:12px;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:20px 56px 20px 22px;font-weight:800;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--blush-tint);color:var(--blush);display:grid;place-items:center;font-size:1.2rem;transition:transform .4s var(--ease-spring)}.faq-item[open] summary:after{transform:translateY(-50%) rotate(135deg)}.faq-item p{padding:0 22px 20px;margin:0;color:var(--ink-soft)}.final-cta{background:radial-gradient(circle at 50% 30%,var(--blush-glow),transparent 60%)}.final-lulu{margin:0 auto 8px}.app-cta{display:flex;gap:20px;align-items:center;background:linear-gradient(140deg,var(--blush-tint),var(--card));border-radius:var(--radius-l);padding:24px;margin:40px 0;box-shadow:var(--shadow-m)}@media (max-width:600px){.app-cta{flex-direction:column;text-align:center}}.app-cta-title{font:600 var(--step-2) /1.1 var(--font-display);margin-bottom:6px}.app-cta-small{font-size:var(--step--1);color:var(--ink-faint);margin:8px 0 0}.tool{display:grid;grid-gap:22px;gap:22px}.tool-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));grid-gap:18px;gap:18px;align-items:end}.tool-field{display:grid;grid-gap:6px;gap:6px;font-weight:800;font-size:var(--step--1)}.tool-field small{font-weight:500;color:var(--ink-faint)}.tool-field input{font:700 var(--step-0) var(--font-body);color:var(--ink);padding:12px 14px;border-radius:var(--radius-s)}.stepper,.tool-field input{border:1.5px solid var(--line);background:var(--surface);min-height:52px}.stepper{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-s);padding:4px}.stepper button{width:42px;height:42px;border:0;border-radius:12px;background:var(--blush-tint);color:var(--blush);font-size:1.4rem;font-weight:900;cursor:pointer;transition:transform .25s var(--ease-spring)}.stepper button:active{transform:scale(.88)}.stepper output{font-weight:900;font-size:var(--step-1)}.stepper small{font-size:.7em;color:var(--ink-soft)}.tool-result{background:var(--surface);border-radius:var(--radius-m);padding:20px;animation:swap-in .5s var(--ease-out) both}.tool-big{font-size:var(--step-1);margin-bottom:6px}.tool-big strong{color:var(--blush)}.tool-list{list-style:none;padding:0;margin:14px 0;display:grid;grid-gap:6px;gap:6px}.tool-list li{display:flex;align-items:center;gap:10px;font-weight:600}.tool-warning{background:var(--ovulatory-tint);border-radius:var(--radius-s);padding:12px 14px;font-size:var(--step--1);font-weight:600}.tool-privacy{font-size:var(--step--1);color:var(--ink-faint);margin:0}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-top:16px}.mini-day{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--phase-tint);font-size:var(--step--1);font-weight:800;color:var(--ink);max-width:48px;justify-self:center;width:100%}.mini-day[data-phase=menstrual]{background:var(--menstrual-hero);color:#fff}.mini-day[data-phase=ovulatory]{background:var(--ovulatory-hero)}.mini-day.is-today{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--ink)}.mini-legend{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px;font-size:var(--step--1);color:var(--ink-soft)}.mini-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:var(--phase-hero)}.phase-today{display:flex;gap:18px;align-items:center}.pms-list{padding-left:1.2em;display:grid;grid-gap:14px;gap:14px}.pms-list li>span{font-weight:700}.pms-scale{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pms-scale button{border:0;border-radius:999px;padding:8px 14px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font:700 var(--step--1) var(--font-body);color:var(--ink-soft);cursor:pointer;transition:all .25s var(--ease-spring)}.pms-scale button.is-on{background:var(--primary);color:#fff;box-shadow:none;transform:scale(1.05)}.article-hero{position:relative;overflow:hidden;padding:clamp(32px,5vw,72px) 0 clamp(24px,4vw,48px);background:linear-gradient(180deg,var(--phase-tint,var(--blush-tint)),var(--surface))}.article-hero-grid{display:grid;grid-template-columns:1fr auto;grid-gap:32px;gap:32px;align-items:center}@media (max-width:760px){.article-hero-grid{grid-template-columns:1fr}.article-art{order:-1;width:130px!important}}.article-hero h1{font-size:var(--step-4)}.article-art{width:220px;filter:drop-shadow(0 18px 30px rgba(122,52,78,.22))}.crumbs{font-size:var(--step--1);margin-bottom:14px;color:var(--ink-faint)}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--blush)}.meta-line{font-size:var(--step--1);color:var(--ink-faint)}.answer-box{background:var(--card);border-radius:var(--radius-l);padding:22px 24px;box-shadow:var(--shadow-m);border-left:5px solid var(--phase,var(--blush-fill));font-size:var(--step-1);line-height:1.55;margin:8px 0 32px}.answer-box p{margin:0}.answer-label{display:block;font:800 var(--step--1) /1 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--blush);margin-bottom:10px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:56px;gap:56px;align-items:start}@media (max-width:960px){.article-layout{grid-template-columns:1fr}.toc{display:none}}.toc{position:-webkit-sticky;position:sticky;top:96px;font-size:var(--step--1)}.toc p{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.toc ol{list-style:none;padding:0;border-left:2px solid var(--line)}.toc a{display:block;padding:6px 14px;color:var(--ink-soft);text-decoration:none;margin-left:-2px;border-left:2px solid transparent}.toc a:hover{color:var(--blush);border-left-color:var(--blush-fill)}.callout{display:flex;gap:14px;border-radius:var(--radius-m);padding:18px 20px;margin:1.4em 0;background:var(--blush-tint)}.callout.tip{background:var(--follicular-tint)}.callout.doctor{background:var(--luteal-tint)}.callout p{margin:0}.callout-icon{font-size:1.6rem;line-height:1}.callout img{width:64px;height:64px;flex:none}.phase-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:12px;gap:12px;margin:1.2em 0 1.6em}.phase-card{border-radius:var(--radius-m);padding:16px;background:var(--phase-tint);font-size:var(--step--1)}.phase-card strong{display:block;color:var(--phase);filter:brightness(.8);margin-bottom:4px}.faq-block h2{margin-top:1.6em}.sources{font-size:var(--step--1);color:var(--ink-faint);margin-top:40px}.sources ol{padding-left:1.2em}.sources a{color:var(--ink-soft);word-break:break-word}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:16px;gap:16px}.page-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--radius-l);background:linear-gradient(160deg,var(--phase-tint,var(--blush-tint)),var(--card) 75%);box-shadow:var(--shadow-s);color:var(--ink);text-decoration:none;transition:transform .45s var(--ease-spring),box-shadow .3s}.page-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}.page-card img{width:72px;height:72px;transition:transform .5s var(--ease-spring)}.page-card:hover img{transform:scale(1.12) rotate(-6deg)}.page-card strong{font:600 var(--step-1) /1.2 var(--font-display)}.page-card span{color:var(--ink-soft);font-size:var(--step--1)}.hub-hero{padding:clamp(40px,6vw,88px) 0 32px;background:linear-gradient(180deg,var(--phase-tint),var(--surface))}.hub-hero-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}@media (max-width:700px){.hub-hero-grid{flex-direction:column-reverse;align-items:flex-start}}.receipts{background:linear-gradient(180deg,var(--surface),var(--phase-tint) 60%,var(--surface))}.meet-grid,.receipts-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:center}@media (max-width:860px){.meet-grid,.receipts-grid{grid-template-columns:1fr}}.bars{display:flex;align-items:flex-end;gap:6px;height:220px;margin-top:18px}.bars span{flex:1 1;border-radius:8px 8px 3px 3px;background:var(--luteal-hero);transform-origin:bottom;animation:bar-grow 1.2s var(--ease-spring) both}.bars span[data-hot]{background:var(--menstrual-hero)}@keyframes bar-grow{0%{transform:scaleY(0)}}.bars-axis{display:flex;justify-content:space-between;font-size:var(--step--1);color:var(--ink-faint);margin-top:8px}.meet-faces{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.meet-faces img{width:100%;background:var(--blush-tint);border-radius:50%;padding:10px;transition:transform .5s var(--ease-spring)}.meet-faces img:nth-child(2n){background:var(--luteal-tint)}.meet-faces img:nth-child(3n){background:var(--ovulatory-tint)}.meet-faces img:hover{transform:scale(1.12) rotate(-8deg)}.pricing-terms{max-width:56ch;margin:18px auto 0}.tool-slot{max-width:820px;margin:-12px auto 40px;position:relative;z-index:2}.forecast-grid>*,.hero-grid>*,.meet-grid>*,.partner-grid>*,.privacy-grid>*,.receipts-grid>*{min-width:0}@media (max-width:520px){.forecast-day{font-size:.72rem;padding:8px 2px}.forecast-card{padding:18px 14px}}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}.seg button{border:0;border-radius:999px;padding:10px 16px;background:transparent;font:800 var(--step--1) var(--font-body);color:var(--ink-soft);cursor:pointer;transition:all .3s var(--ease-spring)}.seg button.is-on{background:var(--primary);color:#fff}.progress{height:12px;border-radius:999px;background:var(--blush-tint);overflow:hidden;margin:12px 0}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--menstrual-hero),var(--ovulatory-hero),var(--luteal-hero));transition:width .8s var(--ease-out)}.chance-bars{display:flex;align-items:flex-end;gap:10px;height:110px;margin:14px 0}.chance-bar{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.chance-bar span{width:100%;max-width:36px;border-radius:8px 8px 3px 3px;background:var(--ovulatory-tint);transition:background .3s}.chance-bar.is-on span{background:var(--blush-fill)}.chance-bar small{font-weight:800;color:var(--ink-faint)}.mini-table{width:100%;margin:10px 0;border-collapse:collapse}.mini-table td{padding:8px 0;border-bottom:1px solid var(--line);font-weight:700}.mini-table td:last-child{text-align:right;color:var(--blush)}.cal-month+.cal-month{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.qr{display:none}@media (min-width:900px) and (hover:hover) and (pointer:fine){.qr{display:flex;align-items:center;gap:14px;width:-moz-fit-content;width:fit-content;padding:12px 18px 12px 12px;border-radius:var(--radius-m);background:#ffffff;box-shadow:var(--shadow-m)}.qr-inline{margin:0 0 22px}.final-ctas .qr-inline{margin:0;text-align:left}.qr-float{position:fixed;right:24px;bottom:24px;z-index:40;flex-direction:column;gap:8px;padding:14px;text-align:center;animation:qr-in .8s 1.5s var(--ease-spring) both}.qr-float .qr-code{width:96px;height:96px}.qr-float .qr-text span{display:none}}.qr-code{width:84px;height:84px;flex:none}.qr-code svg{width:100%;height:100%}.qr-text{display:flex;flex-direction:column;line-height:1.3}.qr-text strong{font-size:var(--step-0)}.qr-text span{font-size:var(--step--1);color:var(--ink-soft)}.final-ctas{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:8px 0 16px}@keyframes qr-in{0%{opacity:0;transform:translateY(30px) scale(.9)}}.hatch{display:flex;flex-direction:column;align-items:center;margin:4px 0 14px}.hatch-stage{position:relative;width:160px;height:250px}.hatch-glow{position:absolute;left:50%;top:46%;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;background:radial-gradient(circle,#ffe3ec 0,rgba(255,227,236,0) 65%);opacity:0;animation:hatch-glow 1.2s ease-out 1.7s both}.hatch-egg,.hatch-top{position:absolute;left:0;bottom:0;overflow:visible}.hatch-egg{z-index:2;transform-origin:50% 100%;animation:hatch-wobble .8s ease-in-out .2s 2 both}.hatch-top{z-index:3;transform-origin:30% 60%;animation:hatch-wobble .8s ease-in-out .2s 2 both,hatch-pop .9s cubic-bezier(.3,1.4,.5,1) 1.75s both}.hatch-crack{stroke-dasharray:1;stroke-dashoffset:1;animation:hatch-crack .45s ease-out 1.25s forwards}.hatch-rim{opacity:0;animation:hatch-show .01s 1.75s forwards}.hatch-bunny{position:absolute;z-index:1;left:50%;bottom:74px;width:128px;height:128px;margin-left:-64px;transform-origin:50% 100%;animation:hatch-bunny .9s cubic-bezier(.34,1.7,.5,1) 1.9s both,hatch-bob 2.4s ease-in-out 2.9s infinite}.hatch-heart,.hatch-spark{position:absolute;z-index:4;opacity:0;pointer-events:none}.hatch-spark{color:var(--ovulatory);font-size:1.4rem;animation:hatch-spark 1.1s ease-out 2.1s both}.hatch-spark.s1{left:-14px;top:40px}.hatch-spark.s2{right:-16px;top:64px;animation-delay:2.25s;font-size:1.1rem}.hatch-spark.s3{right:6px;top:4px;animation-delay:2.4s;color:var(--luteal)}.hatch-heart{font-size:1.2rem;animation:hatch-heart 1.6s ease-out 2.2s both}.hatch-heart.h1{left:18px;top:30px}.hatch-heart.h2{right:22px;top:20px;animation-delay:2.45s}.hatch-caption{margin:4px 0 0;font:italic 600 var(--step-0) var(--font-display);color:var(--blush);opacity:0;animation:hatch-show .6s ease-out 2.3s forwards}@keyframes hatch-wobble{0%,to{transform:rotate(0deg)}20%{transform:rotate(-7deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}@keyframes hatch-crack{to{stroke-dashoffset:0}}@keyframes hatch-pop{0%{transform:translate(0) rotate(0deg)}45%{transform:translate(-30px,-78px) rotate(-30deg)}to{transform:translate(-58px,-40px) rotate(-52deg)}}@keyframes hatch-bunny{0%{opacity:0;transform:translateY(46px) scale(.6)}15%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hatch-bob{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes hatch-glow{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes hatch-spark{0%{opacity:0;transform:scale(0) rotate(0deg)}40%{opacity:1;transform:scale(1.3) rotate(90deg)}to{opacity:0;transform:scale(.6) rotate(180deg)}}@keyframes hatch-heart{0%{opacity:0;transform:translateY(10px) scale(.4)}30%{opacity:1;transform:translateY(-10px) scale(1)}to{opacity:0;transform:translateY(-60px) scale(.9)}}@keyframes hatch-show{to{opacity:1}}@media (prefers-reduced-motion:reduce){.hatch-crack{stroke-dashoffset:0}.hatch-heart,.hatch-spark{display:none}}