:root{--ink:#17120f;--cream:#f4eee5;--muted:#b7a99b;--pink:#e8a6a0;--gold:#d6b77c;--line:rgba(244,238,229,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.cursor-glow{position:fixed;left:0;top:0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(232,166,160,.16),transparent 68%);pointer-events:none;z-index:1}
.nav{position:absolute;top:0;left:0;width:100%;padding:28px 6vw;display:flex;align-items:center;justify-content:space-between;z-index:5}
.logo{font-size:23px;letter-spacing:.24em;font-weight:700}
.logo span{color:var(--pink)}
.nav-links{display:flex;gap:34px;color:#e0d5c9;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.cart{border:1px solid var(--line);padding:11px 17px;border-radius:99px;font-size:12px;letter-spacing:.08em;background:transparent;color:var(--cream);cursor:pointer}
.hero{min-height:820px;height:100svh;max-height:1080px;position:relative;display:flex;justify-content:center;align-items:center;gap:48px;padding:120px 6vw 90px;overflow:hidden;background:#211813}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,12,9,.9) 0%,rgba(17,12,9,.55) 46%,rgba(17,12,9,.2) 100%),linear-gradient(0deg,#17120f 0%,transparent 22%,transparent 78%,rgba(0,0,0,.35));z-index:1}
.hero-photo{position:absolute;inset:0;background:url('images/hero.jpg') center 48%/cover;transform:scale(1.12);filter:saturate(.78)}
.hero-content{position:relative;z-index:2;width:min(560px,100%);flex:0 1 560px}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:13px}
.eyebrow:before{content:'';width:35px;height:1px;background:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1{font-family:'Playfair Display',serif;font-size:clamp(64px,8vw,112px);line-height:.94;font-weight:500;letter-spacing:-.055em;margin:28px 0}
.hero h1 em{color:var(--pink);font-weight:500}
.hero-copy{max-width:400px;color:#d4c8bc;line-height:1.8;font-size:14px;margin-bottom:34px}
.primary{border:0;background:var(--pink);color:#241715;padding:16px 24px;border-radius:2px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;cursor:pointer;transition:transform .3s,background .3s;display:inline-flex}
.primary:hover{transform:translateY(-3px);background:#f2bcb5}
.hero-note{position:relative;z-index:2;margin-top:22px;color:#d6c7b9;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue{position:absolute;left:6vw;bottom:34px;z-index:2;color:#c6b8aa;font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.scroll-cue:after{content:'';display:inline-block;width:55px;height:1px;background:var(--pink);vertical-align:middle;margin-left:14px}
.cherry-stage{position:relative;z-index:3;width:220px;flex:0 0 220px;display:flex;flex-direction:column;align-items:center}
.pin{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(214,183,124,.18)}
.hanger{display:flex;flex-direction:column;align-items:center;transform-origin:50% 0}
.string{width:1px;height:54px;background:linear-gradient(#d6b77c,#7d9a52)}
.cherry{width:168px;height:auto;overflow:visible;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}
.cherry-leaf{fill:#8eaf63}
.floater{position:absolute;width:54px;height:54px;z-index:2;pointer-events:none}
.floater-a{left:8px;top:18px}
.floater-b{right:18px;top:36px;width:42px;height:42px}
.intro{padding:140px 10vw 130px;display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;align-items:center}
.intro h2,.section-heading{font-family:'Playfair Display',serif;font-size:clamp(42px,5vw,70px);font-weight:500;line-height:1.05;letter-spacing:-.04em}
.intro h2 em,.section-heading em,.newsletter h2 em{color:var(--pink)}
.intro-text{color:var(--muted);font-size:14px;line-height:1.9;max-width:460px}
.signature{margin-top:28px;color:var(--gold);font-family:'Playfair Display',serif;font-style:italic;font-size:23px}
.products{padding:90px 6vw 150px;background:#211914}
.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}
.section-top p{max-width:260px;color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:9px}
.section-heading{margin:14px 0 0}
.filters{display:flex;gap:9px;margin-bottom:28px;flex-wrap:wrap}
.filter{background:transparent;border:1px solid var(--line);color:#cbbdb0;padding:9px 15px;border-radius:99px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.filter.active,.filter:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{position:relative;min-width:0}
.product-image{height:390px;overflow:hidden;position:relative;background:#352820}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;filter:saturate(.78)}
.product-card:hover .product-image img{transform:scale(1.07);filter:saturate(1)}
.product-tag{position:absolute;top:16px;left:16px;background:rgba(23,18,15,.75);padding:8px 11px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.product-info{display:flex;justify-content:space-between;align-items:start;padding:19px 2px}
.product-info h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;margin:0 0 6px}
.product-info p{font-size:11px;color:var(--muted);margin:0}
.price{font-size:13px;color:var(--gold);white-space:nowrap;padding-top:5px}
.add{display:block;margin-top:13px;background:transparent;border:0;border-bottom:1px solid var(--pink);padding:0 0 6px;color:var(--pink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.story{min-height:680px;display:grid;grid-template-columns:1fr 1fr;background:#17120f}
.story-image{min-height:680px;background:url('images/story.jpg') center/cover}
.story-copy{padding:100px 8vw;display:flex;flex-direction:column;justify-content:center}
.story-copy p{font-size:13px;line-height:1.9;color:var(--muted);max-width:410px}
.story-copy .primary{align-self:flex-start}
.quote{font-family:'Playfair Display',serif;font-size:26px;line-height:1.35;color:var(--pink);margin:28px 0}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;color:var(--gold);font-family:'Playfair Display',serif;font-size:28px;font-style:italic;white-space:nowrap}
.marquee-track{display:inline-block}
.newsletter{padding:120px 6vw;text-align:center;background:#e9ddd0;color:#241a16}
.newsletter .eyebrow{justify-content:center;color:#876b54}
.newsletter .eyebrow:before{background:#876b54}
.newsletter h2{font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,76px);font-weight:500;line-height:1;margin:22px 0}
.newsletter p{color:#725e50;font-size:13px}
.signup{display:flex;max-width:440px;margin:32px auto 0;border-bottom:1px solid #9f8876}
.signup input{flex:1;min-width:0;border:0;background:transparent;padding:15px 3px;outline:none;color:#241a16}
.signup button{border:0;background:transparent;color:#241a16;letter-spacing:.13em;text-transform:uppercase;font-size:10px;cursor:pointer}
footer{padding:32px 6vw;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#8e8175;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.studio-mark{text-transform:none;letter-spacing:.04em;border:1px solid var(--gold);color:var(--ink);background:var(--gold);border-radius:99px;padding:8px 12px;font-size:11px}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--cream);color:var(--ink);padding:13px 20px;font-size:12px;z-index:20;transition:.3s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(35px)}
@media(max-width:1080px){
  .nav-links{display:none}
  .hero{height:auto;max-height:none;min-height:0;flex-direction:column;align-items:flex-start;padding:110px 7vw 48px}
  .hero-content,.cherry-stage{width:min(420px,100%);flex:none}
  .cherry-stage{margin:28px 0 8px}
  .floater-a{left:0;top:-10px}
  .floater-b{right:8px;bottom:auto;top:20px}
  .scroll-cue{position:relative;left:auto;bottom:auto;display:block;margin-top:8px}
  .intro{grid-template-columns:1fr;gap:25px;padding:90px 8vw}
  .products{padding:75px 6vw 100px}
  .section-top{display:block}
  .section-top p{margin-top:20px}
  .product-grid{grid-template-columns:1fr 1fr;gap:25px 14px}
  .product-image{height:280px}
  .story{grid-template-columns:1fr}
  .story-image{min-height:420px}
  .story-copy{padding:75px 8vw}
  .newsletter{padding:90px 7vw}
  footer{flex-direction:column;text-align:center}
}
@media(max-width:520px){
  .product-grid{grid-template-columns:1fr}
  .product-image{height:360px}
  .hero h1{font-size:64px}
  .cherry{width:140px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
