:root{
  --ink:#0A0A09; --bone:#FFF8ED; --smoke:#B8AF9E; --line:#332E27;
  --hero:#FF6B2C; --pink:#FF3D8F; --azure:#2FA8FF; --auburn:#C4451A; --yellow:#FFE600;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ink); color:var(--bone); font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',serif; font-weight:700; line-height:1.05;}
.wrap{max-width:1100px; margin:0 auto; padding:0 24px;}
.eyebrow{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:0.16em; color:var(--hero); background:rgba(255,107,44,0.15); display:inline-block; padding:7px 16px; border-radius:100px; margin-bottom:18px;}
.hairline{border-top:1px solid var(--line);}
section{padding:70px 0;}
a{color:inherit;}
::selection{background:var(--hero); color:var(--ink);}
.marquee{background:var(--bone); color:var(--ink); padding:12px 0; overflow:hidden; white-space:nowrap; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:12px; letter-spacing:0.05em;}
header{position:sticky; top:0; z-index:50; background:rgba(10,10,9,0.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
nav.bar{display:flex; align-items:center; justify-content:space-between; height:76px; max-width:1100px; margin:0 auto; padding:0 24px;}
.logo{font-family:'Fraunces',serif; font-weight:700; font-size:24px; text-decoration:none; color:var(--bone);}
.navlinks{display:none; gap:28px;}
.navlinks a{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:0.14em; color:var(--smoke); text-decoration:none;}
.navlinks a:hover{color:var(--hero);}
@media(min-width:768px){.navlinks{display:flex;}}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:15px 30px; font-size:13px; font-weight:800; border:none; border-radius:100px; cursor:pointer; text-decoration:none; text-transform:uppercase; letter-spacing:0.03em;}
.btn-primary{background:var(--hero); color:var(--ink);}
.btn-primary:hover{filter:brightness(1.1);}
.btn-ghost{background:var(--bone); border:none; color:var(--ink); font-size:11px; padding:11px 22px;}
.btn-ghost:hover{filter:brightness(0.95);}
main{padding-top:0;}
.page-hero{padding:70px 0 40px;}
.page-hero h1{font-size:38px; max-width:680px;}
@media(min-width:768px){.page-hero h1{font-size:52px;}}
.hero{padding:50px 0 70px; position:relative;}
.hero-grid{display:grid; gap:36px; align-items:center;}
@media(min-width:860px){.hero-grid{grid-template-columns:1.1fr 0.9fr;}}
.hero h1{font-size:52px; max-width:640px;}
@media(min-width:768px){.hero h1{font-size:76px;}}
.hero p.sub{margin-top:20px; max-width:440px; font-size:17px; color:var(--smoke); line-height:1.5;}
.hero .btn{margin-top:26px;}
.hero-pod{aspect-ratio:1; max-width:420px; margin:0 auto; border-radius:42% 58% 65% 35% / 45% 45% 55% 55%; background:linear-gradient(135deg,var(--hero),var(--pink)); box-shadow:0 40px 90px rgba(255,107,44,0.3); position:relative; display:flex; align-items:center; justify-content:center;}
.hero-pod::after{content:""; width:55%; aspect-ratio:1; border-radius:50%; background:rgba(255,255,255,0.9);}
.sticker{position:absolute; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; background:var(--yellow); color:var(--ink); padding:8px 16px; border-radius:100px; transform:rotate(-6deg); top:10px; right:20px;}
.text-section p.headline{font-size:30px; max-width:620px; margin-bottom:16px;}
.text-section p.body{font-size:17px; color:var(--smoke); max-width:560px; line-height:1.6;}
@media(min-width:768px){.text-section p.headline{font-size:38px;}}
.grid3{display:grid; gap:14px; margin-top:44px;}
@media(min-width:768px){.grid3{grid-template-columns:repeat(3,1fr);}}
.grid3 .cell{background:rgba(255,255,255,0.04); border-radius:20px; padding:28px;}
.grid3 h3{font-size:19px; margin-bottom:10px;}
.grid3 p{font-size:14px; color:var(--smoke);}
.fine{margin-top:22px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--smoke);}
.comp-table{border-radius:24px; overflow:hidden; margin-top:40px; background:rgba(255,255,255,0.04);}
.comp-row{display:grid; grid-template-columns:1.4fr 1fr 1fr;}
.comp-head{background:rgba(255,255,255,0.08);}
.comp-head div{padding:16px; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:0.14em; color:var(--smoke);}
.comp-head div:last-child{color:var(--hero);}
.comp-row:not(.comp-head){border-top:1px solid var(--line);}
.comp-row div{padding:16px; font-size:14px;}
.comp-row div:nth-child(2){color:var(--smoke);}
.guarantee{background:var(--yellow); border-radius:32px; margin:0 24px; text-align:center; padding:60px 24px; color:var(--ink);}
.guarantee .eyebrow{background:rgba(10,10,9,0.1); color:var(--ink);}
.guarantee h2{font-size:34px; margin-bottom:14px;}
.guarantee p{max-width:500px; margin:0 auto; font-weight:600;}
.center{text-align:center;}
.offer ul{list-style:none; margin-top:22px;}
.offer li{display:flex; gap:12px; font-size:14px; margin-bottom:12px; font-weight:600;}
.offer li:before{content:"\2605"; color:var(--hero);}
.offer .cta-link{margin-top:30px; display:inline-block; border-bottom:2px solid var(--hero); color:var(--hero); padding-bottom:2px; font-size:14px; font-weight:700; text-decoration:none;}
.scent-grid{display:grid; gap:14px; margin-top:40px;}
@media(min-width:640px){.scent-grid{grid-template-columns:repeat(4,1fr);}}
.scent-card{border-radius:24px; padding:24px; min-height:200px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden;}
.scent-card::after{content:""; position:absolute; bottom:-30px; right:-30px; width:100px; height:100px; border-radius:50%; background:rgba(255,255,255,0.15);}
.scent-card h4{font-family:'Fraunces',serif; font-weight:700; font-size:21px; margin-bottom:4px;}
.scent-card p{font-size:12px; opacity:0.85; font-weight:600; position:relative; z-index:1;}
.scent-card.on-light{color:var(--ink);}
.product-grid{display:grid; gap:40px; align-items:center;}
@media(min-width:768px){.product-grid{grid-template-columns:1fr 1fr;}}
.product-photo{aspect-ratio:1; border-radius:32px; background:linear-gradient(135deg,var(--hero),var(--pink)); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:12px; text-align:center; padding:20px;}
.pill-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
.pill{background:rgba(255,255,255,0.08); padding:7px 16px; border-radius:100px; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:700;}
dl.spec{border-top:1px solid var(--line); padding-top:20px; font-family:'IBM Plex Mono',monospace; font-size:13px;}
dl.spec div{display:flex; justify-content:space-between; gap:16px; margin-bottom:12px;}
dl.spec dt{color:var(--smoke); text-transform:capitalize;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-q{width:100%; background:none; border:none; text-align:left; padding:20px 0; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:16px; font-weight:600; color:inherit; font-family:'Manrope',sans-serif;}
.faq-q .icon{font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--hero);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding-bottom:20px; font-size:14px; color:var(--smoke); max-width:560px;}
.faq-item.open .faq-a{max-height:240px;}
.waitlist{background:var(--hero); border-radius:32px; margin:0 24px; text-align:center; color:var(--ink); padding:60px 24px;}
.waitlist h2{font-size:32px;}
.waitlist p.sub{margin-top:12px; color:rgba(10,10,9,0.75); font-weight:600;}
form.wl{margin-top:28px; display:flex; flex-direction:column; gap:10px; justify-content:center; max-width:420px; margin-left:auto; margin-right:auto;}
@media(min-width:640px){form.wl{flex-direction:row;}}
form.wl input{width:100%; border:none; border-radius:100px; background:rgba(255,255,255,0.4); padding:14px 20px; color:var(--ink); font-family:'Manrope',sans-serif; font-weight:600;}
form.wl input::placeholder{color:rgba(10,10,9,0.55);}
form.wl input:focus{outline:2px solid var(--ink);}
form.wl button{background:var(--ink); color:var(--bone); border-radius:100px;}
form.wl button:hover{filter:brightness(1.3);}
.disclosure{margin-top:20px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(10,10,9,0.6);}
.success-msg{margin-top:28px; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:14px; display:none;}
footer{border-top:1px solid var(--line); padding:36px 0;}
.footer-note{text-align:center; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--smoke); margin-bottom:22px;}
.footer-row{display:flex; flex-direction:column; align-items:center; gap:16px; font-size:12px; color:var(--smoke);}
@media(min-width:768px){.footer-row{flex-direction:row; justify-content:space-between;}}
.footer-row nav{display:flex; gap:20px;}
.footer-row a{text-decoration:none; color:inherit;}
.footer-row a:hover{color:var(--hero);}
.warn-box{border-radius:16px; background:rgba(255,107,44,0.12); border:1px solid var(--hero); padding:20px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--hero); margin-bottom:32px;}
.legal-box{max-width:680px;}
.legal-box h2{font-size:18px; color:var(--bone); margin-top:28px; margin-bottom:8px;}
.legal-box p{color:var(--smoke); font-size:15px; line-height:1.6;}
.review-grid{display:grid; gap:14px; margin-top:36px;}
@media(min-width:640px){.review-grid{grid-template-columns:1fr 1fr 1fr;}}
.review-card{border-radius:20px; background:rgba(255,255,255,0.04); padding:20px;}
.review-stars{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--smoke); margin-bottom:12px; letter-spacing:4px;}
.review-card p{font-size:14px; font-style:italic; color:var(--smoke);}
.lab-grid{display:grid; gap:14px; margin-top:36px;}
@media(min-width:640px){.lab-grid{grid-template-columns:1fr 1fr;}}
.lab-card{border-radius:20px; background:rgba(255,255,255,0.04); padding:20px;}
