:root{--plum:#3d2a30;--plum2:#2a1c21;--blush:#ecd3ca;--rose:#c4968a;--cream:#fbf4ef;--cream2:#f4e7e0;--ink:#2a1c21;--mute:#7a6268;--serif:'Bodoni Moda',Didot,serif;--sans:'Jost',system-ui,sans-serif;--pad:clamp(90px,11vw,170px);--gx:clamp(20px,5vw,96px)}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;-webkit-font-smoothing:antialiased}
html.lenis,html.lenis body{height:auto}
body{background:var(--cream);color:var(--ink);font:400 17px/1.7 var(--sans)}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08}
h2{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.01em}
.eyebrow{opacity:0;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--rose);font-weight:500;margin-bottom:22px}
.eyebrow.dark{color:var(--rose)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;border-radius:999px;font-weight:500;font-size:15px;letter-spacing:.04em;transition:background .4s,color .4s,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.btn-sm{padding:10px 22px;font-size:14px;background:var(--plum);color:var(--cream)}
.btn-sm:hover{background:var(--rose)}
.btn-light{background:var(--blush);color:var(--plum2)}
.btn-light:hover{background:#fff;transform:translateY(-2px)}
.btn-line{box-shadow:inset 0 0 0 1px rgba(236,211,202,.45);color:var(--blush)}
.btn-line:hover{background:var(--blush);color:var(--plum2)}

/* intro */
.intro{position:fixed;inset:0;z-index:100;background:var(--plum2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;color:var(--blush)}
.intro-mono{position:relative;width:240px;height:240px;display:flex;align-items:center;justify-content:center}
.intro-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.intro-ring circle{fill:none;stroke:var(--blush);stroke-width:1.4}
.intro-ring .thin{stroke-width:.6;opacity:.6}
.ib{font-family:var(--serif);font-size:120px;line-height:1;position:absolute;top:50%;left:50%}
.ib1{transform:translate(-72%,-54%)}
.ib2{transform:translate(-28%,-54%) scaleX(-1)}
.intro-name{font-family:var(--serif);font-size:22px;letter-spacing:.3em;text-transform:uppercase}
.intro-name em{font-style:italic;text-transform:lowercase;letter-spacing:.1em;color:var(--rose)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px var(--gx);transition:background .5s,color .5s,padding .5s;color:var(--cream)}
.nav.scrolled{background:rgba(251,244,239,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);padding-top:12px;padding-bottom:12px}
.nav-logo{display:flex;align-items:center;gap:12px}
.nl-mono{width:42px;height:42px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;letter-spacing:-.04em}
.nl-text{font-family:var(--serif);font-size:19px;letter-spacing:.06em}
.nav-links{display:flex;gap:36px;font-size:14px;letter-spacing:.06em}
.nav-links a{opacity:.85;transition:opacity .3s}.nav-links a:hover{opacity:1}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--plum)}
.hero-left{color:var(--cream);padding:160px var(--gx) 80px;display:flex;flex-direction:column;justify-content:center}
.hero-title{font-size:clamp(56px,6.6vw,108px);line-height:.98;margin-bottom:34px}
.hero-title .l{display:block}
.hero-title em{font-style:italic;color:var(--blush)}
.hero-title .sm{font-size:.34em;font-family:var(--sans);font-weight:300;letter-spacing:.06em;margin-top:22px;color:rgba(251,244,239,.75)}
.hero-lead{max-width:500px;color:rgba(251,244,239,.78);margin-bottom:40px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:46px}
.hero-rating{display:flex;align-items:center;gap:16px;font-size:14px;color:rgba(251,244,239,.75);border-top:1px solid rgba(236,211,202,.2);padding-top:26px;max-width:500px}
.hero-rating strong{color:var(--blush);font-weight:500;font-size:18px}
.stars{color:#e8b9a8;letter-spacing:.18em;font-size:16px}
.hero-right{position:relative;overflow:hidden;background:var(--plum2)}
.lens{position:absolute;inset:0;clip-path:circle(34% at 50% 52%);will-change:clip-path}
.lens img{width:100%;height:100%;object-fit:cover;object-position:60% 62%}
.hero-tag{position:absolute;left:30px;bottom:30px;right:30px;color:var(--blush);font-size:13px;letter-spacing:.08em;display:flex;gap:10px;align-items:center}
.hero-tag span{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:0}

/* ticker */
.ticker{display:grid;grid-template-columns:repeat(5,1fr);background:var(--plum2);color:var(--cream);border-top:1px solid rgba(236,211,202,.12)}
.tick{padding:40px 28px;border-right:1px solid rgba(236,211,202,.12)}
.tick:last-child{border:0}
.tick b{display:block;font-family:var(--serif);font-weight:400;font-size:38px;color:var(--blush);line-height:1.1}
.tick span{font-size:13px;letter-spacing:.05em;color:rgba(251,244,239,.65)}

/* looks */
.looks{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;padding:var(--pad) var(--gx);background:var(--cream)}
.looks-sticky{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;justify-content:center}
.looks-title{margin-bottom:20px}
.eye-wrap{position:relative;background:var(--cream2);border-radius:300px 300px 30px 30px;padding:50px 40px 34px;margin-top:20px}
.eye{width:100%;height:auto;overflow:visible}
.lid{fill:none;stroke:var(--plum);stroke-width:5;stroke-linecap:round}
.lid-low{fill:none;stroke:var(--rose);stroke-width:1.5;stroke-linecap:round;opacity:.7}
.lashes path{fill:none;stroke:var(--plum2);stroke-linecap:round}
.eye-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;border-top:1px solid rgba(61,42,48,.15);padding-top:18px}
.eye-name{font-family:var(--serif);font-size:30px;font-style:italic}
.eye-price{font-size:14px;letter-spacing:.2em;color:var(--rose);font-weight:500}
.looks-list{padding:30vh 0 30vh}
.look{min-height:56vh;display:flex;flex-direction:column;justify-content:center;opacity:.22;transition:opacity .5s}
.look.is-active{opacity:1}
.look-no{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:20px}
.look h3{font-size:clamp(38px,3.6vw,56px);margin:8px 0 16px}
.look p{color:var(--mute);max-width:440px}
.look .lp{margin-top:18px;color:var(--plum);font-weight:500;letter-spacing:.04em}

/* prices */
.prices{background:var(--cream2);padding:var(--pad) var(--gx);display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw}
.prices-intro p:not(.eyebrow){color:var(--mute);margin-top:24px;max-width:400px}
.refill{background:var(--cream);border-radius:28px;padding:36px 40px;box-shadow:0 40px 80px -50px rgba(42,28,33,.35)}
.refill-head,.refill-row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;align-items:center;padding:16px 0}
.refill-head{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);border-bottom:1px solid rgba(61,42,48,.18)}
.refill-head span:not(:first-child),.refill-row b{text-align:center}
.refill-row{border-bottom:1px solid rgba(61,42,48,.08);position:relative}
.refill-row span{font-weight:500}
.refill-row b{font-family:var(--serif);font-weight:400;font-size:22px}
.refill-row b.wide{grid-column:2/5}
.refill-row::before{content:"";position:absolute;inset:0 -20px;background:var(--blush);border-radius:12px;z-index:-1;opacity:0;transition:opacity .3s}
.refill-row{z-index:0}.refill-row:hover::before{opacity:.5}
.refill-note{font-size:14px;color:var(--mute);margin-top:20px}
.pcards{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
.pcard{background:var(--cream);border-radius:200px 200px 22px 22px;padding:60px 26px 30px;display:flex;flex-direction:column;min-height:330px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pcard:hover{transform:translateY(-10px)}
.pcard h4{font-size:24px;margin-bottom:12px;text-align:center}
.pcard p{color:var(--mute);font-size:14px;text-align:center;flex:1}
.pcard b{font-family:var(--serif);font-weight:400;font-size:26px;text-align:center;margin-top:16px}
.pcard small{text-align:center;color:var(--rose);font-size:12px;letter-spacing:.08em}
.pcard-dark{background:var(--plum);color:var(--cream)}
.pcard-dark p{color:rgba(251,244,239,.7)}
.pcard-dark b{font-size:20px;color:var(--blush)}

/* voices */
.voices{background:var(--plum2);color:var(--cream);padding:var(--pad) 0;overflow:hidden}
.voices-head{display:flex;gap:6vw;align-items:center;padding:0 var(--gx);margin-bottom:70px}
.score{display:flex;flex-direction:column;align-items:center}
.score-num{font-family:var(--serif);font-size:clamp(120px,14vw,220px);line-height:.9;color:var(--blush)}
.voices-src{color:rgba(251,244,239,.6);margin-top:16px;font-size:15px}
.rv-rows{display:flex;flex-direction:column;gap:22px}
.rv-row{display:flex;gap:22px;width:max-content;will-change:transform}
.rv{width:440px;flex:0 0 auto;border:1px solid rgba(236,211,202,.16);border-radius:24px;padding:34px;background:rgba(61,42,48,.4)}
.rv blockquote{font-family:var(--serif);font-size:20px;line-height:1.45;margin-bottom:20px}
.rv figcaption{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}

/* story */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;padding:var(--pad) var(--gx);align-items:center}
.story-img{border-radius:999px 999px 30px 30px;overflow:hidden;height:80vh;max-height:760px}
.story-img img{width:100%;height:120%;object-fit:cover}
.story-text h2{margin-bottom:34px}
.story-p{color:var(--mute);margin-bottom:20px;max-width:560px;font-size:18px}
.story-sign{font-family:var(--serif);font-style:italic;font-size:32px;color:var(--plum);margin-top:30px}

/* academy */
.academy{background:var(--blush);padding:var(--pad) var(--gx)}
.academy-head{display:grid;grid-template-columns:200px 1fr;gap:4vw;align-items:center;margin-bottom:50px}
.academy-head p:not(.eyebrow){max-width:680px;color:#5b4248;margin-top:20px}
.academy-ic{width:200px;border-radius:50%;mix-blend-mode:multiply}
.courses{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.course{background:var(--cream);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:6px;min-height:180px;transition:transform .4s,background .4s}
.course:hover{transform:translateY(-6px)}
.course span{font-family:var(--serif);font-size:22px;line-height:1.2;flex:1}
.course small{color:var(--mute);font-size:13px}
.course b{font-weight:500;font-size:18px;color:var(--plum)}
.course.hl{background:var(--plum);color:var(--cream);grid-row:span 2}
.course.hl span{font-size:34px}
.course.hl b{color:var(--blush);font-size:26px;font-family:var(--serif);font-weight:400}
.course.hl small{color:rgba(251,244,239,.65)}

/* faq */
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;padding:var(--pad) var(--gx)}
.faq-side img{width:220px;margin-top:40px;opacity:.85;mix-blend-mode:multiply}
.faq-list details{border-top:1px solid rgba(61,42,48,.15)}
.faq-list details:last-child{border-bottom:1px solid rgba(61,42,48,.15)}
.faq-list summary{list-style:none;cursor:pointer;padding:28px 60px 28px 0;font-family:var(--serif);font-size:24px;position:relative;transition:color .3s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(61,42,48,.25);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:20px;transition:transform .4s,background .4s}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--blush)}
.faq-list summary:hover{color:var(--rose)}
.faq-list p{padding:0 60px 28px 0;color:var(--mute)}

/* contact */
.contact{background:var(--plum);color:var(--cream);padding:var(--pad) var(--gx) 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:center;overflow:hidden}
.contact-ring{position:relative;aspect-ratio:1;max-width:460px;width:100%}
.contact-ring svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--blush);font:500 15px var(--sans);letter-spacing:.3em;text-transform:uppercase}
.contact-ring img{position:absolute;inset:22%;width:56%;height:56%;border-radius:50%}
.contact-title{font-size:clamp(46px,5.4vw,84px);margin-bottom:36px}
.contact-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid rgba(236,211,202,.2);padding-top:36px}
.contact-grid h4{font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose);margin-bottom:12px;font-weight:500}
.contact-grid p{color:rgba(251,244,239,.85);margin-bottom:10px}
.ul{border-bottom:1px solid rgba(236,211,202,.5);font-size:15px}
.ul:hover{color:var(--blush)}
.footer{grid-column:1/-1;display:flex;justify-content:space-between;padding:28px 0 34px;margin-top:80px;border-top:1px solid rgba(236,211,202,.15);font-size:13px;color:rgba(251,244,239,.55)}
.footer a:hover{color:var(--blush)}

/* legal */
body.legal{background:var(--cream)}
.legal-head{display:flex;justify-content:space-between;align-items:center;padding:24px var(--gx);background:var(--plum);color:var(--cream)}
.legal-brand{font-family:var(--serif);font-size:22px;letter-spacing:.06em}
.legal-back{font-size:14px;color:var(--blush)}
.legal-main{max-width:820px;margin:0 auto;padding:90px 24px 120px}
.legal-kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.legal-main h1{font-size:clamp(46px,6vw,76px);margin:12px 0 40px}
.legal-main h2{font-size:28px;margin:44px 0 14px}.legal-main h3{font-size:22px;margin:24px 0 10px}
.legal-main p,.legal-main li{color:#5b4248;margin-bottom:12px}.legal-main ul{padding-left:20px}
.legal-main a{color:var(--plum);border-bottom:1px solid var(--rose)}
.legal-url{font-family:ui-monospace,monospace;font-size:13px}.legal-stand{margin-top:40px;font-size:14px}
.legal-foot{text-align:center;padding:30px;border-top:1px solid rgba(61,42,48,.12);font-size:14px;color:var(--mute)}

@media(max-width:900px){.nav-links{display:none}.hero,.looks,.prices,.story,.faq,.contact{grid-template-columns:1fr}.hero-right{min-height:70vh}.ticker{grid-template-columns:1fr 1fr}.pcards,.courses,.contact-grid{grid-template-columns:1fr 1fr}.looks-sticky{position:relative;height:auto}.rv{width:80vw}}
