:root{--ivory:#F7F2EA;--paper:#FBF8F3;--ink:#1E1A17;--bone:#1E1A17;--mute:#6E655D;--line:#E2D9CD;--ox:#7A0F14;--red:#B3121B;--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font:300 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:opacity .4s}a:hover{opacity:.6}
.wrap{max-width:1320px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.02em;line-height:1.02}
h1{font-size:clamp(44px,7vw,96px)}h2{font-size:clamp(36px,5vw,64px)}h3{font-size:28px;font-weight:400}
.lower{text-transform:lowercase}em{font-style:italic;color:var(--ox)}
.eyebrow,.tier,.lbl{font:500 11px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.ul{display:inline-block;padding-bottom:.08em;border-bottom:1px solid var(--ox)}
.lead{font-size:17px;color:var(--mute);max-width:520px}.mute{color:var(--mute)}.red{color:var(--ox)}.note{font-size:12px;color:var(--mute);margin-top:14px}
.btn{display:inline-block;background:var(--ink);color:var(--ivory);border:1px solid var(--ink);padding:16px 34px;font:500 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.btn:hover{background:transparent;color:var(--ink);opacity:1}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--ivory)}.btn.block{display:block;width:100%;text-align:center;margin-top:12px}
.btn.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.btn.light:hover{background:transparent;color:var(--ivory)}
.bar{font:400 10px var(--sans);letter-spacing:.24em;text-transform:uppercase;text-align:center;padding:10px;color:var(--mute);border-bottom:1px solid var(--line)}
.nav{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font:400 22px var(--serif);letter-spacing:.38em}.logo i{display:none}
.nav ul{display:flex;gap:34px;list-style:none}.nav ul a{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase}
.cartbtn{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase}.cartbtn b{font-weight:400}
.burger{display:none;background:none;border:0;font-size:20px;color:var(--ink);cursor:pointer}
section{padding:120px 0}.hair{border-top:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:56px;flex-wrap:wrap}
/* hero */
.hero2{display:grid;grid-template-columns:1fr 1fr;height:min(calc(100vh - 110px),860px);min-height:560px}
.hero2 .pan{position:relative;overflow:hidden}.hero2 img{width:100%;height:100%;object-fit:cover}
.hero2 .txt{position:absolute;left:0;right:0;bottom:0;padding:56px 48px;color:var(--ivory);background:linear-gradient(transparent,rgba(30,10,8,.55))}
.hero2 .txt .eyebrow{color:rgba(247,242,234,.8)}.hero2 h1{margin:16px 0 26px}
.hero-intro{text-align:center;padding:110px 24px}.hero-intro p{margin:24px auto 0}
/* cards */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pcard .art{aspect-ratio:4/5;background:radial-gradient(circle at 50% 42%,rgba(179,18,27,.22),transparent 62%),var(--paper);display:grid;place-items:center;border:1px solid var(--line);transition:transform 1.2s}
.pcard:hover .art{transform:scale(1.015)}.pcard .art svg{width:62%}
.pcard h3{font-size:24px;margin:20px 0 4px}.pcard .row{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:10px;margin-top:10px;font-size:14px}
/* categories */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.cat{position:relative;aspect-ratio:3/4;overflow:hidden}.cat img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s}.cat:hover img{transform:scale(1.04)}.cat:hover{opacity:1}
.cat .v{position:absolute;left:22px;bottom:26px;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--ivory);font:300 34px var(--serif);letter-spacing:.06em}
.cat .lbl{position:absolute;right:22px;bottom:26px;color:var(--ivory)}
/* glow band */
.glow{position:relative;color:var(--ivory);background:#2a0405;overflow:hidden}
.glow .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.glow:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(179,18,27,.55),rgba(30,6,6,.85) 70%)}
.glow .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.glow .eyebrow{color:rgba(247,242,234,.7)}
.check{background:var(--ivory);color:var(--ink);padding:48px}.check ul{list-style:none;margin-top:20px}
.check li{padding:16px 0;border-top:1px solid var(--line);display:flex;gap:14px}.check li:before{content:"";flex:none;width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.step{padding:40px 36px 0 0}.step+.step{border-left:1px solid var(--line);padding-left:36px}.step .n{font:300 54px var(--serif);color:var(--ox)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split img{aspect-ratio:4/5;object-fit:cover;width:100%}
/* faq */
details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font:400 22px var(--serif);display:flex;justify-content:space-between}summary:after{content:"+";font-family:var(--sans);font-weight:200}details[open] summary:after{content:"–"}
details p{margin-top:12px;color:var(--mute);max-width:720px}
.ugc{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.ugc img{aspect-ratio:1;object-fit:cover;width:100%}
/* pdp */
.pdp{padding:56px 0 100px}.pdp .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:start}
.gallery{position:sticky;top:90px}.gallery .main{aspect-ratio:1;background:radial-gradient(circle at 50% 45%,rgba(179,18,27,.25),transparent 60%),var(--paper);border:1px solid var(--line);display:grid;place-items:center}
.gallery .main svg{width:58%}.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px}.thumbs img{aspect-ratio:4/5;object-fit:cover;width:100%}
.buy h1{font-size:clamp(44px,5vw,72px);margin:14px 0 10px}.stars{font-size:13px;color:var(--mute);letter-spacing:.2em}
.pricebox{display:flex;align-items:baseline;gap:14px;margin:26px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.now{font:300 38px var(--serif)}.tag{font:500 10px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.opts{display:grid;gap:10px}.opt{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border:1px solid var(--line);cursor:pointer;transition:border-color .3s}
.opt.on{border-color:var(--ink)}.opt span{display:block;font-size:13px;color:var(--mute)}.opt b{font-weight:500}.opt .p{font:300 22px var(--serif)}
.buyrow{display:flex;gap:10px;margin-top:20px}.buyrow .btn{flex:1}
.qty{display:flex;border:1px solid var(--line)}.qty button{background:none;border:0;width:40px;font-size:16px;cursor:pointer;color:var(--ink)}.qty input{width:40px;text-align:center;border:0;background:none;font:inherit;color:var(--ink)}
.ticks{list-style:none;margin:28px 0}.ticks li{padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.trust{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust div{padding:16px 10px;font-size:12px;color:var(--mute)}.trust b{display:block;font:400 18px var(--serif);color:var(--ink)}
.specs{width:100%;border-collapse:collapse;font-size:14px}.specs td{padding:12px 0;border-top:1px solid var(--line)}.specs td:first-child{color:var(--mute);width:35%}
.sticky-buy{display:none}
.compare,.panel,.quote{border:1px solid var(--line);padding:28px;background:var(--paper)}
table{border-collapse:collapse}th,td{text-align:left}
.co{padding:70px 0}.co .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:48px}.panel{margin-bottom:20px}.panel h3{margin-bottom:10px}
.stripe-slot{border:1px dashed var(--line);padding:16px;font-size:14px}code{font-size:12px}
.item{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.item .ic{width:46px;height:46px;background:radial-gradient(circle,rgba(179,18,27,.35),var(--paper))}
.rm{background:none;border:0;color:var(--mute);cursor:pointer;margin-left:10px}.line{display:flex;justify-content:space-between;padding:10px 0;font-size:14px}.tot{border-top:1px solid var(--ink);font:400 22px var(--serif)}
.prose{max-width:760px;margin:0 auto;padding:80px 24px}.prose h2{font-size:36px;margin:52px 0 14px}.prose p,.prose li{margin:12px 0;color:#3c352f}.prose ul,.prose ol{padding-left:20px}
footer{background:var(--ink);color:#cfc5b8;padding:90px 0 40px;font-size:14px}footer .logo{color:var(--ivory)}footer .red{color:#e8b4a8}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}footer h4{font:500 10px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#8f857a;margin-bottom:16px}footer ul{list-style:none;display:grid;gap:8px}
footer .legal{display:grid;gap:8px;margin-top:70px;padding-top:24px;border-top:1px solid #3a332d;font-size:11px;color:#8f857a}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--ivory);padding:14px 26px;font-size:13px;opacity:0;transition:.5s;z-index:99}.toast.on{opacity:1;transform:translate(-50%,0)}
.js .fade{opacity:0;transform:translateY(18px);transition:opacity 1.4s ease,transform 1.4s ease}.js .fade.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .fade{opacity:1;transform:none;transition:none}*{transition:none!important}}
:focus-visible{outline:1px solid var(--ox);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--ink);color:var(--ivory);padding:8px;z-index:100}
@media(max-width:900px){.pcard .row{flex-direction:column;gap:2px}.pcard h3{font-size:21px}section{padding:80px 0}.nav ul{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--ivory);border-bottom:1px solid var(--line)}.nav ul.open{display:flex}.nav ul li{padding:16px 24px;border-top:1px solid var(--line)}.burger{display:block}
.hero2{grid-template-columns:1fr;min-height:0}.hero2 .pan{aspect-ratio:4/5}.hero2 .pan+.pan{display:none}.hero2 .txt{padding:32px 24px}
.grid4{grid-template-columns:1fr 1fr;gap:16px}.cats{grid-template-columns:1fr}.cat{aspect-ratio:4/3}.glow .wrap,.split,.pdp .wrap,.co .wrap{grid-template-columns:1fr;gap:40px}.check{padding:30px}
.steps{grid-template-columns:1fr}.step+.step{border-left:0;padding-left:0}.step{padding:30px 0;border-bottom:1px solid var(--line)}.ugc{grid-template-columns:repeat(3,1fr)}
footer .cols{grid-template-columns:1fr 1fr}.gallery{position:static}.sticky-buy{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--ivory);border-top:1px solid var(--line);padding:12px 20px;justify-content:space-between;align-items:center}.sticky-buy b{font:300 26px var(--serif)}}
