@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-Light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Merriweather";src:url(fonts/Merriweather-Italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
:root{--black:#161616;--linen:#F7F6EB;--card:#FDFCF5;--line:#DEDBCB;--clay:#AF491C;--orange:#EA8032;--sky:#B0CBFF;--blue:#5169A5;--muted:#4A473F;--soft:#D9D6C8;--panel:#222220}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--linen);color:var(--black);font-family:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
.serif{font-family:"Merriweather",Georgia,serif;font-style:italic}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.dark{background:var(--black);color:var(--linen)}
.orange{background:var(--orange);color:var(--black)}
.kicker{font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;align-items:center}
.section{padding:104px 0}
h2{font-size:clamp(34px,4.4vw,52px);line-height:1.1;font-weight:400;letter-spacing:-.5px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn-light{background:var(--linen);color:var(--black)}
.btn-ghost{color:var(--linen);border:1px solid #6B675C}
.btn-dark{background:var(--black);color:var(--linen)}
.btn-orange{background:var(--orange);color:var(--black)}
.btn:hover{opacity:.9}
.photo{position:relative;min-height:520px;border-radius:24px;overflow:hidden}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* nav */
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:48px;padding-bottom:20px}
@media (max-width:640px){.nav{padding-top:32px}}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:26px;font-size:15px}
.nav-links a{text-decoration:none}
.nav-links a:not(.btn):hover{color:var(--orange)}
/* hero */
.hero{padding:56px 0 88px}
.hero h1{font-size:clamp(48px,7vw,80px);line-height:1.02;font-weight:400;letter-spacing:-1.5px}
.hero .lead{font-size:24px;line-height:1.5;color:var(--orange)}
.hero .body{font-size:18px;color:var(--soft);max-width:520px}
.stack{display:flex;flex-direction:column;gap:26px}
.row{display:flex;flex-wrap:wrap;gap:14px}
/* truth */
.truth h2{font-size:clamp(30px,3.6vw,44px);line-height:1.15}
.truth .serif{font-size:21px;line-height:1.55}
/* products */
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.head-row p{max-width:460px;color:var(--muted);font-size:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.product{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:40px 32px 32px;display:flex;flex-direction:column;gap:14px}
.product .shot{height:340px;display:flex;align-items:flex-end;justify-content:center}
.product .shot img{height:330px;width:auto}
.product .shot img.small{height:255px}
.product h3{font-size:30px;font-weight:500;line-height:1.2}
.product .kicker{color:var(--clay);margin-top:8px}
.product .spec{font-size:15px;color:var(--muted)}
.product .buy{margin-top:auto;padding-top:14px;border-top:1px solid #E6E3D4;display:flex;align-items:center;justify-content:space-between;gap:12px}
.price{font-size:20px;font-weight:600}
/* shades */
.shades{background:var(--card);border-top:1px solid #E6E3D4;border-bottom:1px solid #E6E3D4}
.swatches{display:flex;flex-wrap:wrap;gap:14px}
.swatch{width:60px;height:60px;border-radius:50%;border:3px solid var(--card);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.swatch[aria-pressed="true"]{border-color:var(--black);box-shadow:none}
.shade-name{font-size:22px;font-weight:600}
.note{background:var(--linen);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:6px}
.small{font-size:14px;color:#6B675C}
/* ritual */
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.steps li{display:flex;gap:24px;align-items:flex-start;background:var(--panel);border-radius:20px;padding:24px 28px}
.steps .num{font-size:40px;font-weight:300;color:var(--orange);line-height:1}
.steps b{display:block;font-size:20px;font-weight:600;margin-bottom:4px}
.steps span{color:var(--soft);font-size:16px}
.ritual-shot{background:var(--linen);border-radius:24px;min-height:540px;display:flex;align-items:flex-end;justify-content:center;gap:40px;padding:56px 24px}
.ritual-shot img:first-child{height:420px;width:auto}
.ritual-shot img:last-child{height:300px;width:auto}
/* audiences */
.aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.aud img{width:100%;height:100%;min-height:300px;object-fit:cover}
.aud div{padding:32px;display:flex;flex-direction:column;gap:12px}
.aud h3{font-size:26px;font-weight:500;line-height:1.25}
.aud p{font-size:16px}
/* science */
.science{background:var(--sky)}
.proofs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.proof{background:var(--card);border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;gap:14px}
.proof .stat{font-size:32px;font-weight:700;color:var(--clay);line-height:1.1}
.proof .src{margin-top:auto;font-size:13px;font-style:italic;color:var(--muted);line-height:1.5}
/* italy */
.list>div{border-top:1px solid #CFCBB9;padding:20px 0}
.list>div:last-child{border-bottom:1px solid #CFCBB9}
.list h3{font-size:20px;font-weight:600}
.list p{font-size:16px;color:var(--muted)}
.lineup{border-radius:24px;overflow:hidden;background:var(--linen)}
/* values */
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.value{background:var(--panel);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:10px}
.value h3{font-size:20px;font-weight:600}
.value p{font-size:15px;color:var(--soft)}
/* join */
.join{text-align:center}
.join form{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.join input[type=email]{flex:1 1 280px;max-width:420px;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid var(--black);background:var(--linen);font-size:16px;font-family:inherit;color:var(--black)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* footer */
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.footer-bottom{border-top:1px solid #3A3A38;padding-top:24px;display:block;text-align:center;gap:16px;font-size:13px;color:#B8B5A8;line-height:1.7}
.footer-bottom a{color:#B8B5A8}
@media (max-width:640px){.swatch{width:50px;height:50px}.swatches{gap:10px}.aud img{max-height:380px;min-height:260px}.wrap{padding:0 20px}.section{padding:72px 0}.photo{min-height:380px}.ritual-shot{min-height:420px}.ritual-shot img:first-child{height:320px}.ritual-shot img:last-child{height:230px}}

/* reasons duo */
.hint{color:var(--muted);font-size:16px}
.duo{display:flex;gap:16px;height:600px}
.panel{position:relative;flex:1 1 0;min-width:0;border-radius:28px;overflow:hidden;cursor:pointer;outline:none;transition:flex-grow .6s cubic-bezier(.2,.8,.2,1)}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,22,22,.88) 0%,rgba(22,22,22,.35) 45%,rgba(22,22,22,0) 70%);pointer-events:none}
.panel-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:36px;color:var(--linen);display:flex;flex-direction:column;gap:10px}
.panel .kicker{font-size:12px}
.teen .kicker{color:var(--orange)}
.adult .kicker{color:var(--sky)}
.panel h3{font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.1}
.panel h3 em{font-style:italic}
.teen h3 em{color:var(--orange)}
.adult h3 em{color:var(--sky)}
.more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s ease,opacity .4s ease}
.more>*{min-height:0}
.more-inner{overflow:hidden}
.chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:14px;padding:8px 14px;border-radius:999px;background:rgba(247,246,235,.14);border:1px solid rgba(247,246,235,.3);backdrop-filter:blur(6px)}
.teen .chips b{color:var(--orange)}
.adult .chips b{color:var(--sky)}
.more p{margin-top:14px;font-size:16px;color:var(--soft);max-width:420px}
@media (hover:hover) and (min-width:821px){
.duo:hover .panel,.duo:focus-within .panel{flex-grow:.75}
.duo .panel:hover,.duo .panel:focus{flex-grow:1.6}
.duo:hover .panel:not(:hover) img,.duo:focus-within .panel:not(:focus) img{filter:grayscale(.6) brightness(.75)}
.panel:hover img,.panel:focus img{transform:scale(1.05)}
.panel:hover .more,.panel:focus .more{grid-template-rows:1fr;opacity:1}
}
@media (hover:none),(max-width:820px){
.duo{flex-direction:column;height:auto}
.panel{min-height:520px;cursor:default}
.more{grid-template-rows:1fr;opacity:1}
.hint{display:none}
}
.panel:focus-visible{box-shadow:0 0 0 3px var(--black)}

/* truth / answer duo */
.duo-text{height:440px}
.tpanel{display:flex;align-items:flex-end;transition:flex-grow .6s cubic-bezier(.2,.8,.2,1),transform .5s,opacity .5s}
.tpanel::after{display:none}
.truth-card{background:var(--black);color:var(--linen)}
.answer-card{background:var(--linen);color:var(--black)}
.tbody{position:relative;z-index:1;padding:40px;display:flex;flex-direction:column;gap:14px}
.truth-card .kicker{color:var(--orange)}
.answer-card .kicker{color:var(--clay)}
.tpanel h2{font-size:clamp(28px,3vw,40px);line-height:1.15}
.tpanel .serif{font-size:22px;line-height:1.5;margin-top:6px}
.truth-card .serif{color:var(--orange)}
.tag{position:absolute;top:28px;right:32px;font-size:56px;font-weight:300;line-height:1;opacity:.35}
@media (hover:hover) and (min-width:821px){
.duo-text:hover .tpanel:not(:hover),.duo-text:focus-within .tpanel:not(:focus):not(:focus-within){transform:scale(.97)}
.tpanel:hover .more,.tpanel:focus .more,.tpanel:focus-within .more{grid-template-rows:1fr;opacity:1}
.duo-text .tpanel:focus-within{flex-grow:1.6}
}
@media (hover:none),(max-width:820px){.duo-text{height:auto}.tpanel{flex:none;min-height:0}.tag{font-size:40px;top:20px;right:24px}.tbody{padding:72px 28px 32px}}

.tpanel .more p{font-size:22px;margin-top:6px;max-width:none}

.answer-card .more p{color:var(--black)}

/* truth / answer single flip box */
.flip{position:relative;border-radius:32px;background:var(--linen);color:var(--black);padding:44px 48px 40px;min-height:460px;display:flex;flex-direction:column;gap:32px;transition:background .6s ease,color .6s ease;overflow:hidden}
.flip.is-why{background:var(--black);color:var(--linen)}
.flip:focus-visible{box-shadow:0 0 0 3px var(--black)}
.flip-tabs{display:flex;gap:28px;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.flip-tabs button{appearance:none;background:none;border:0;padding:0 0 8px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;border-bottom:2px solid transparent;transition:color .5s,border-color .5s,opacity .5s}
.flip-tabs button:hover{opacity:1}
.flip-tabs button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.flip .t1{color:var(--clay);border-color:var(--clay)}
.flip .t2{opacity:.45}
.flip.is-why .t1{color:var(--linen);border-color:transparent;opacity:.45}
.flip.is-why .t2{color:var(--orange);border-color:var(--orange);opacity:1}
.flip-stage{display:grid;flex:1;align-items:end}
.side{grid-area:1/1;display:flex;flex-direction:column;gap:18px;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.side h2{font-size:clamp(32px,4.6vw,60px);line-height:1.08;max-width:900px}
.side .serif{font-size:clamp(19px,1.8vw,24px);line-height:1.5}
.side-why .serif{color:var(--orange)}
.side-why{opacity:0;transform:translateY(24px);pointer-events:none}
.flip.is-why .side-answer{opacity:0;transform:translateY(-24px);pointer-events:none}
.flip.is-why .side-why{opacity:1;transform:none;pointer-events:auto}
.flip-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;font:600 15px "Plus Jakarta Sans",sans-serif;cursor:pointer}
.flip-btn .to-answer{display:none}
.flip.is-why .flip-btn .to-why{display:none}
.flip.is-why .flip-btn .to-answer{display:inline}
.flip.is-why .flip-btn svg{transform:rotate(180deg)}
@media (max-width:640px){.flip{padding:32px 24px;min-height:0}.flip-tabs{gap:16px;font-size:11px}}

.side-answer{flex-direction:row;align-items:flex-end;gap:32px}
.answer-text{display:flex;flex-direction:column;gap:18px;flex:1 1 0;min-width:0}
.answer-shot{width:340px;height:340px;object-fit:contain;flex:none;margin:-40px -12px -20px 0;transition:transform .8s cubic-bezier(.2,.8,.2,1) .1s}
.side-answer .answer-text h2{font-size:clamp(30px,4vw,54px)}
.flip.is-why .answer-shot{transform:translateY(-30px) scale(.95)}
@media (max-width:820px){.side-answer{flex-direction:column-reverse;align-items:flex-start;gap:12px}.answer-shot{width:220px;height:220px;margin:0}}

.side-why{flex-direction:row;align-items:flex-end;gap:32px}
.truth-shot{width:300px;height:340px;object-fit:cover;border-radius:20px;flex:none;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.flip:not(.is-why) .truth-shot{transform:translateY(40px) scale(.95)}
@media (max-width:820px){.side-why{flex-direction:column-reverse;align-items:flex-start;gap:20px}.truth-shot{width:100%;height:260px}}

.hero-solo{display:flex;flex-direction:column;padding-top:40px;padding-bottom:40px}
.hero-solo .stack{max-width:980px}
.hero-solo h1{font-size:clamp(56px,10vw,128px);letter-spacing:-2.5px}
.hero-solo .lead{font-size:clamp(22px,2.4vw,30px)}
.hero-solo .body{max-width:620px}

@media (max-width:640px){.wrap.nav{padding-top:32px;padding-bottom:16px}}

.origin{font-size:17px;line-height:1.6;color:var(--soft);max-width:520px}
.fix .head-row p{max-width:520px}
.fix-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.fix-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px 28px;display:flex;flex-direction:column;gap:12px}
.fix-card .was{font-size:15px;color:var(--muted);text-decoration:line-through;text-decoration-color:var(--clay);text-decoration-thickness:2px}
.fix-card h3{font-size:24px;font-weight:500;line-height:1.2}
.fix-card p:last-child{font-size:16px;color:#2E2C27}
