:root{
  --ink:#4f4c4b;
  --muted:#8f8888;
  --rose:#d7b8bf;
  --plum:#806273;
  --line:rgba(79,76,75,.13);
  --mono:"DM Mono", monospace;
  --sans:"Manrope", sans-serif;
  --serif:"Playfair Display", serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#ffffff;
  font-family:var(--sans);
  font-weight:400;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.grain{display:none}

.topbar{
  position:sticky;top:0;z-index:30;height:72px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6vw;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line)
}
.brand{font-family:var(--mono);font-size:12px;letter-spacing:.03em;display:flex;align-items:center;gap:1px}
.brand i{font-family:var(--serif);font-style:italic;font-size:14px;margin:0 1px;color:var(--plum)}
.brand b{font-weight:400;color:var(--rose);font-size:16px;margin-left:3px}
.desktop-nav{display:flex;gap:28px;margin-left:auto;margin-right:30px}
.desktop-nav a,.mini-link{
  font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:#777171;
  transition:.25s ease
}
.desktop-nav a:hover,.mini-link:hover{color:var(--plum)}
.menu-btn{display:none;border:0;background:none;padding:10px;margin-left:10px}
.menu-btn span{display:block;width:20px;height:1px;background:var(--ink);margin:5px 0}
.mobile-menu{display:none}

.section-pad{padding:92px 7vw;max-width:1180px;margin:0 auto}

.hero{
  display:block;position:relative;padding-top:56px
}
.hero-banner{margin:36px 0 40px;overflow:hidden}
.hero-banner img{width:100%;border-radius:0;display:block}
.hero h1{font-size:clamp(66px,11vw,150px);line-height:.78;letter-spacing:-.08em;font-weight:400;margin:0 0 32px}
.hero h1 em,.intro h2 em{
  font-family:var(--serif);font-style:italic;font-weight:400;color:var(--plum);letter-spacing:-.05em
}
.hero-lead{max-width:430px;font-size:14px;line-height:1.75;color:#777070}
.hero-lead span{white-space:nowrap;color:var(--plum)}
.hero-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.button{
  display:inline-flex;align-items:center;justify-content:center;padding:0 0 6px;
  font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:#8a8484;
  border-bottom:1px solid #cfc9c9;border-radius:0;background:none;cursor:pointer;
  transition:color .2s ease,border-color .2s ease
}
.button:hover{color:var(--ink);border-color:#8a8484}
.button-dark{background:none}
.button-soft{background:none}

.section-label{
  font-family:var(--mono);text-transform:lowercase;letter-spacing:.05em;font-size:9px;
  display:flex;justify-content:space-between;color:#91898a;border-top:1px solid var(--line);padding-top:14px
}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:30px 0 44px}
.section-heading h2{font-size:52px;line-height:1;margin:0;letter-spacing:-.055em;font-weight:400}
.section-heading p{max-width:310px;font-size:11px;line-height:1.7;color:var(--muted);margin:0}

.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;margin-top:55px}
.intro h2{font-size:clamp(48px,7vw,90px);line-height:.95;letter-spacing:-.06em;font-weight:400;margin:0}
.intro-text{padding-top:12px;max-width:430px;font-size:13px;line-height:1.8}
.intro-text p{margin:0 0 20px}
.muted{color:var(--muted)}
.text-link{font-family:var(--mono);font-size:9px;display:inline-flex;gap:16px;border-bottom:1px solid var(--line);padding-bottom:7px}
.text-link span{color:var(--plum)}

.sticker-carousel{
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  padding:12px;
  box-shadow:0 18px 50px rgba(75,65,65,.07);
}
.sticker-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
}
.sticker-track::-webkit-scrollbar{display:none}
.sticker-slide{
  flex:0 0 100%;
  scroll-snap-align:center;
  min-width:0;
}
.sticker-image-wrap{
  height:410px;
  border-radius:21px;
  overflow:hidden;
  background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.sticker-image-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.sticker-slide-meta{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 12px;
  padding:17px 6px 9px;
}
.sticker-slide-meta span,.sticker-slide-meta small{
  font-family:var(--mono);
  font-size:8px;
  color:#8f8788;
}
.sticker-slide-meta strong{
  grid-column:1;
  font-size:15px;
  font-weight:500;
}
.sticker-slide-meta small{grid-column:2;grid-row:1 / span 2;align-self:center}
.sticker-carousel-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 7px 2px;
}
.sticker-dots{display:flex;gap:6px}
.sticker-dots i{width:5px;height:5px;border-radius:50%;background:#d6cece;display:block}
.sticker-dots i.active{background:#806273}
.swipe-hint{font-family:var(--mono);font-size:8px;color:#999191}
.stickers-link{margin-top:24px}

.price-list{border-top:1px solid var(--line)}
.price-list details{border-bottom:1px solid var(--line);padding:20px 0}
.price-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px 1fr auto;gap:16px;align-items:center}
.price-list summary::-webkit-details-marker{display:none}
.price-list summary span,.price-list summary em{font-family:var(--mono);font-size:8px;font-style:normal;color:#8c8585}
.price-list summary strong{font-size:13px;font-weight:500}
.price-list details[open] summary strong{color:var(--plum)}
.price-info{max-width:590px;margin:14px 38px 0 54px;color:#8b8383;font-size:11px;line-height:1.7}
.price-example{display:block;margin-top:16px;width:100%;max-width:420px;border-radius:18px;box-shadow:0 14px 34px rgba(75,65,65,.12)}
.price-example + .price-example{margin-top:10px}
.featured-price{background:rgba(220,229,223,.32);padding-left:14px;padding-right:14px;border-radius:14px}
.payment-note{font-size:9px;line-height:1.7;color:#9a9292;max-width:700px;margin-top:22px}

footer{max-width:1180px;margin:0 auto;padding:30px 7vw 50px;display:flex;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:8px;color:#928b8b}
.footer-link{transition:color .2s ease}
.footer-link:hover{color:var(--plum)}

@media (max-width:800px){
  .topbar{height:62px;padding:0 5vw}
  .desktop-nav,.mini-link{display:none}
  .menu-btn{display:block}
  .mobile-menu{
    position:fixed;z-index:29;inset:62px 0 0;background:rgba(255,255,255,.97);
    backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:9vh 9vw;gap:20px;
    transform:translateY(-105%);transition:transform .35s ease
  }
  .mobile-menu.is-open{transform:translateY(0)}
  .mobile-menu a{font-family:var(--mono);font-size:13px;border-bottom:1px solid var(--line);padding:16px 0}
  .section-pad{padding:70px 5vw}
  .hero{min-height:auto;display:block;padding-top:60px}
  .hero h1{font-size:22vw;margin-bottom:26px}
  .hero-lead{font-size:13px}
  .section-heading{display:block;margin:24px 0 30px}
  .section-heading h2{font-size:46px;margin-bottom:12px}
  .intro-grid{grid-template-columns:1fr;gap:32px}
  .intro h2{font-size:57px}
  .price-list summary{grid-template-columns:28px 1fr;gap:8px}
  .price-list summary em{grid-column:2}
  .price-info{margin:12px 0 0 36px}
  .sticker-image-wrap{height:330px}
  .sticker-slide-meta strong{font-size:14px}
  footer{padding:25px 5vw 35px;flex-wrap:wrap}
}
