@font-face{font-family:Bodoni;src:url('/fonts/bodoni.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/fonts/dm-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--pink:#ef4179;--blush:#fcebf0;--ink:#0b0b0b;--gutter:clamp(22px,6.4vw,86px);--serif:Bodoni,Didot,'Times New Roman',serif;--sans:DM,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:white;color:var(--ink);font-family:var(--sans);line-height:1.4}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.065em;line-height:.94}h3{font-size:15px;line-height:1.15;font-weight:600}em{font-style:normal;color:var(--pink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}svg{width:24px;height:24px;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,.product-track:focus-visible{outline:3px solid #a22351;outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:#ef417928}.skip{position:fixed;top:-100px;left:12px;z-index:50;background:white;padding:12px}.skip:focus{top:12px}
.links-header{position:sticky;top:0;z-index:20;height:68px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--gutter);gap:24px;background:#ffffffeb;transition:box-shadow .3s,background .3s}.links-header.is-scrolled{background:#fffffff5;box-shadow:0 1px 15px #36101c0d;backdrop-filter:blur(12px)}.wordmark{display:inline-flex;align-items:center;gap:16px;white-space:nowrap}.wordmark span:first-child{font-family:var(--serif);font-size:43px;line-height:1;letter-spacing:-.07em}.wordmark span:last-child{font-size:16px;letter-spacing:.24em}.links-header>p{font-size:8px;letter-spacing:.2em;margin-left:auto}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu summary::-webkit-details-marker{display:none}.menu summary span{width:25px;height:1.5px;background:var(--ink);transition:transform .2s}.menu[open] summary span:first-child{transform:translateY(7.5px) rotate(45deg)}.menu[open] summary span:nth-child(2){opacity:0}.menu[open] summary span:last-child{transform:translateY(-7.5px) rotate(-45deg)}.menu nav{position:absolute;right:0;top:48px;width:250px;display:grid;padding:12px 20px;background:white;border:1px solid #efdce3;box-shadow:0 12px 35px #30101d12}.menu nav a{font-size:11px;letter-spacing:.07em;min-height:48px;display:flex;align-items:center;border-bottom:1px solid #f3e8ec}.menu nav a:last-child{border:0}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;min-height:480px;overflow:hidden;background:#fff}.hero-photo{position:absolute;right:0;top:0;bottom:0;width:57%;z-index:-1;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff,transparent 27%);pointer-events:none}.hero-copy{padding:20px 0 32px var(--gutter);width:114%;align-self:center}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.22em;line-height:1.6;color:#a72350}.hero h1{font-size:clamp(56px,7.3vw,104px);margin:8px 0 10px;white-space:nowrap}.intro{font-size:15px;line-height:1.35;max-width:330px}.hero-actions{display:grid;gap:10px;max-width:330px;margin-top:20px}.pill{min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:40px;padding:12px 23px;font:600 11px/1.2 var(--sans);letter-spacing:.045em;transition:background .25s,transform .25s,box-shadow .25s;text-align:center}.pill svg{width:18px;height:18px;transition:transform .25s}.pill:hover{background:#30242a;box-shadow:0 5px 15px #30101d12}.pill:hover svg{transform:translateX(3px)}.pill:active{transform:scale(.98)}.pill-outline{background:#ffffffbd;color:var(--ink);border-color:#de6390}.pill-outline:hover{background:#fcebf0}.pill:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.pill:disabled svg{transform:none}.handwritten{font-family:'Apple Chancery','Brush Script MT',cursive;font-size:26px;font-style:italic;line-height:1;display:block;transform:rotate(-12deg)}.handwritten svg{display:block;margin:8px auto 0}.hero .handwritten{position:absolute;bottom:25px;left:13%;z-index:1;text-align:center}.hero-rail{position:absolute;right:3%;top:45px;text-align:center;font-size:8px;line-height:1.6;letter-spacing:.16em}.hero-rail span{display:block;width:25px;height:1px;background:#777;margin:14px auto}
.value-band{background:var(--blush);border-top:2px solid white;padding:14px var(--gutter)}.feature-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.feature-notes>div{border-right:1px solid #d6c4ca;padding:0 15px;min-width:0}.feature-notes>div:last-child{border:0}.feature-notes svg{width:29px;height:29px;margin-bottom:6px}.feature-notes strong{display:block;font-size:10px;line-height:1.3;letter-spacing:.13em;font-weight:600}.feature-notes p{font-size:11px;line-height:1.3;max-width:180px;margin:5px auto 0}
.collection{padding:28px var(--gutter) 30px}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:20px}.collection h2{font-size:clamp(34px,5.5vw,78px);margin-top:8px;white-space:nowrap}.collection-heading>p{font-size:13px;line-height:1.35;flex-shrink:0}.carousel-shell{position:relative}.product-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 1px 12px;scroll-padding-inline:1px}.product-track::-webkit-scrollbar{display:none}.product{flex:0 0 calc((100% - 54px)/4);min-width:0;text-align:center;scroll-snap-align:start;background:#fff}.cover-link{display:block;aspect-ratio:2/3;background:#fbeff3;overflow:hidden}.cover-link img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.cover-link:hover img{transform:scale(1.025)}.product h3{margin:12px auto 4px;min-height:36px;max-width:210px}.price{font-size:20px;font-weight:600;line-height:1.1;margin-bottom:12px}.product .pill{font-size:9px;padding:10px 12px;width:100%;gap:8px}.product .pill svg{width:13px;height:13px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 8px}.carousel-controls button{width:44px;height:44px;border:0;background:white;display:flex;align-items:center;justify-content:center;border-radius:50%}.carousel-controls>button{border:1px solid #e5d2d9}.carousel-controls>button:first-child svg{transform:rotate(180deg)}.carousel-controls>button:disabled{opacity:.3;cursor:default}.carousel-dots{display:flex}.carousel-dots button{width:44px}.carousel-dots span{width:6px;height:6px;background:#d2c9cc;border-radius:50%;transition:background .2s,transform .2s}.carousel-dots [aria-current] span{background:#ef4179;transform:scale(1.2)}.collection-action{text-align:center}.collection-action .pill{min-width:330px}.purchase-note{font-size:9px;letter-spacing:.09em;margin-top:7px}.purchase-note svg{width:11px;height:11px;vertical-align:middle}
.offer{display:grid;grid-template-columns:43% 57%;overflow:hidden;border-top:2px solid white;background:#fff9fb;min-height:400px}.offer-photo{position:relative;overflow:hidden;min-height:400px}.offer-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0}.offer-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 92%,#fff9fb)}.offer-copy{align-self:center;padding:34px 10% 28px 5%}.offer h2{font-size:clamp(45px,6vw,90px);white-space:nowrap;margin:8px 0 12px}.offer-copy>p:not(.eyebrow):not(.session-price){font-size:14px;line-height:1.35;max-width:450px;margin-bottom:12px}.offer-copy p.offer-detail{font-size:11px;color:#5c4b53}.offer-copy .pill{min-width:260px}.offer .feature-notes{margin-top:24px}.offer .feature-notes>div{padding:0 12px}.offer .feature-notes strong{font-size:9px;letter-spacing:.05em}.offer .feature-notes p{font-size:10px}.availability{font-size:11px;line-height:1.4;max-width:320px;margin-top:9px;color:#695a60}.session{grid-template-columns:48% 52%;background:white}.session .offer-photo{grid-column:2;grid-row:1}.session .offer-copy{grid-column:1;grid-row:1;padding:30px 7% 24px 13%}.session .offer-photo:after{background:linear-gradient(90deg,white,transparent 10%)}.session .offer-copy>p.session-lead{font-weight:500}.session-price{font-size:26px;font-weight:500;margin:13px 0}.session-price span{font-size:13px;font-weight:400}.session .eyebrow{color:var(--ink);font-size:9px}.closing{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px var(--gutter);background:var(--blush);border-top:2px solid white}.closing h2{font-size:clamp(32px,4vw,58px)}.closing>p{font-size:10px;letter-spacing:.15em;line-height:1.6;text-transform:uppercase}.closing .handwritten{font-size:26px;padding:0 18px}
footer{padding:22px var(--gutter) 18px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-main .wordmark{gap:10px}.footer-main .wordmark span:first-child{font-size:30px}.footer-main .wordmark span:last-child{font-size:10px;letter-spacing:.18em}.footer-main nav{display:flex;gap:22px;font-size:8px;letter-spacing:.12em}.footer-main nav a{min-height:44px;display:flex;align-items:center}footer>p{text-align:center;font-size:8px;letter-spacing:.1em;margin-top:14px;color:#62565c}
@media(min-width:1400px){.hero{min-height:630px}.hero-copy{width:115%}.intro{max-width:420px;font-size:18px}.hero-actions{max-width:400px}.hero-actions .pill{min-height:49px;font-size:12px}.offer{min-height:500px}.offer-copy{padding-top:50px;padding-bottom:50px}}
@media(max-width:900px) and (min-width:701px){.links-header>p{display:none}.collection-heading{display:block}.collection-heading>p{margin-top:12px}.collection h2{font-size:5.9vw}.offer-copy{padding-right:6%}.offer-copy .pill{min-width:0;width:100%}.offer .feature-notes>div{padding:0 6px}.session .offer-copy{padding-left:10%}}
@media(max-width:700px){html{scroll-padding-top:78px}.links-header{height:64px;gap:10px}.wordmark{gap:12px}.wordmark span:first-child{font-size:38px}.wordmark span:last-child{font-size:12px;letter-spacing:.22em}.links-header>p{display:none}.hero{display:flex;flex-direction:column;min-height:0;overflow:hidden}.hero-photo{position:relative;z-index:0;width:100%;height:380px;order:0}.hero-photo img{object-position:center top;height:100%;object-fit:cover}.hero-photo:after{inset:auto 0 0;height:45px;background:linear-gradient(transparent,white)}.hero-copy{order:1;width:100%;padding:10px var(--gutter) 28px}.hero h1{font-size:clamp(45px,14vw,76px);white-space:normal;margin:7px 0 13px}.hero .eyebrow{font-size:8px;letter-spacing:.17em}.intro{font-size:14px;max-width:370px}.hero-actions{max-width:none;gap:9px;margin-top:20px}.hero-actions .pill{min-height:47px;font-size:11px}.hero-rail{display:none}.hero .handwritten{left:auto;right:5%;bottom:28px;font-size:22px;text-shadow:0 1px 5px white}.value-band{padding:18px 12px}.feature-notes>div{padding:0 8px}.feature-notes svg{width:27px;height:27px}.feature-notes strong{font-size:8px;letter-spacing:.09em}.feature-notes p{font-size:10px;max-width:130px}.collection{padding:29px 0 28px}.collection-heading{display:block;padding:0 var(--gutter);margin-bottom:20px}.collection-heading .eyebrow{font-size:9px}.collection h2{white-space:normal;font-size:clamp(35px,10.4vw,65px);line-height:.95;margin-top:9px}.collection h2 em{display:block}.collection-heading>p{font-size:13px;margin-top:14px}.collection-heading>p br{display:none}.product-track{gap:16px;padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding-inline:var(--gutter)}.product{flex-basis:72%;max-width:310px}.product h3{font-size:16px;margin-top:14px;min-height:36px}.product .pill{min-height:44px;font-size:10px}.carousel-controls{margin-top:6px}.collection-action{padding:0 var(--gutter)}.collection-action .pill{min-width:0;width:100%;max-width:360px}.offer{display:flex;flex-direction:column;min-height:0}.offer-photo{height:380px;min-height:0}.offer-photo img{object-position:center top}.offer-photo:after,.session .offer-photo:after{inset:auto 0 0;height:35px;background:linear-gradient(transparent,#fff9fb)}.offer-copy,.session .offer-copy{padding:22px var(--gutter) 28px}.offer .eyebrow{font-size:8px;letter-spacing:.17em}.offer h2{font-size:clamp(39px,11.7vw,70px);white-space:normal;margin-top:10px}.offer-copy>p:not(.eyebrow):not(.session-price){font-size:14px;line-height:1.45}.offer-copy .pill{width:100%;min-width:0;min-height:47px}.offer .feature-notes{margin-top:27px}.offer .feature-notes>div{padding:0 7px}.offer .feature-notes strong{font-size:8px;letter-spacing:.04em}.offer .feature-notes p{font-size:10px}.session .offer-photo:after{background:linear-gradient(transparent,white)}.session .offer-copy{order:0}.session .offer-photo{order:1;height:380px}.session .offer-photo:after{top:0;bottom:auto;background:linear-gradient(white,transparent)}.session h2{font-size:clamp(45px,13.1vw,74px)}.closing{padding:25px var(--gutter);flex-wrap:wrap;gap:20px}.closing h2{font-size:36px;width:100%}.closing>p{font-size:9px}.closing .handwritten{font-size:24px;margin-left:auto;padding:0}.footer-main{display:block}.footer-main nav{justify-content:space-between;gap:12px;font-size:7px;letter-spacing:.07em;margin-top:15px}.footer-main .wordmark{justify-content:center;display:flex}footer>p{font-size:7px;line-height:1.5;margin-top:8px}}
@media(max-width:350px){.carousel-controls>button{display:none}.hero-photo{height:330px}.hero .eyebrow{font-size:7px}.hero h1{font-size:45px}.hero .handwritten{font-size:19px}.feature-notes strong{font-size:7px}.feature-notes p{font-size:9px}.offer-photo,.session .offer-photo{height:340px}.footer-main nav{font-size:6.5px}}
@media(prefers-reduced-motion:no-preference){.hero-copy>*{animation:enter .8s both}.hero-copy>h1{animation-delay:.06s}.hero-copy>.intro{animation-delay:.12s}.hero-copy>.hero-actions{animation-delay:.18s}.motion-ready .reveal.visible{animation:enter .75s both}.offer-photo img{transform:translateY(var(--photo-drift,0px)) scale(1.015)}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html,.product-track{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}}
