:root{--red:#941d2d;--deep:#2c1016;--rose:#d86b78;--pink:#f8dfe1;--cream:#fff8f4;--ink:#29181b;--white:#fff;--serif:"Shippori Mincho",serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit}.nav{height:76px;padding:0 clamp(20px,4vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,248,244,.94);position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(14px);border-bottom:1px solid rgba(148,29,45,.13)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-family:var(--serif);font-size:18px}.brand b{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.18em;color:var(--red)}.plum-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--red);border-radius:50%;color:var(--red)}.nav-link{font-size:12px;font-weight:800;letter-spacing:.18em;text-decoration:none}.nav-link span{color:var(--red);margin-left:9px}.hero{height:max(720px,100svh);position:relative;background:#3b1018;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('assets/desktop-mat.jpg') center/cover no-repeat;animation:reveal 1.2s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,6,11,.82) 0%,rgba(35,6,11,.54) 31%,rgba(35,6,11,.04) 70%),linear-gradient(0deg,rgba(35,6,11,.35),transparent 40%)}.hero-copy{position:relative;z-index:2;color:white;margin-left:clamp(24px,8vw,138px);padding-top:70px}.eyebrow,.section-no,.tag,.set-kicker{font-size:11px;font-weight:800;letter-spacing:.22em}.eyebrow{color:#f3bec4;border-left:28px solid #f3bec4;padding-left:11px}.hero h1{font-family:var(--serif);font-size:clamp(64px,8.6vw,138px);line-height:.91;letter-spacing:-.06em;margin:38px 0 30px;text-shadow:0 5px 28px rgba(0,0,0,.25)}.hero h1 span{font-size:.57em;letter-spacing:.02em}.lead{font-family:var(--serif);font-size:clamp(16px,1.5vw,22px);line-height:1.85;margin-bottom:32px}.primary{display:inline-flex;align-items:center;justify-content:space-between;min-width:245px;padding:18px 20px;border:1px solid rgba(255,255,255,.8);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;transition:.25s}.primary:hover{background:white;color:var(--red);transform:translateY(-2px)}.primary span{font-size:20px}.scroll{position:absolute;right:clamp(20px,4vw,60px);bottom:28px;color:white;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.scroll span{display:block;height:75px;width:1px;background:white;margin-top:12px}.intro{position:relative;padding:130px clamp(24px,9vw,155px);display:grid;grid-template-columns:1fr 3fr;gap:35px;overflow:hidden}.section-no{color:var(--red)}.intro h2,.section-head h2,.set-card h2,.closing h2{font-family:var(--serif);font-size:clamp(34px,4.2vw,65px);line-height:1.42;margin:0}.intro-copy p{line-height:2.2;color:#765d61;margin-top:30px}.seal{position:absolute;right:-45px;bottom:-54px;width:230px;height:230px;border:1px solid rgba(148,29,45,.2);border-radius:50%;color:var(--red);display:flex;align-items:center;justify-content:center;gap:10px;transform:rotate(-9deg)}.seal span{font-family:var(--serif);font-size:88px}.seal small{font-size:10px;font-weight:bold;letter-spacing:.17em}.lineup{background:#f3d8db;padding:120px clamp(24px,6vw,100px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;max-width:1280px;margin:0 auto 75px}.section-head h2{font-size:clamp(34px,3.8vw,58px);margin-top:18px}.section-head>p{font-size:14px;line-height:2;color:#6f5559}.product{max-width:1280px;margin:0 auto 115px;display:grid;grid-template-columns:1.55fr .85fr;align-items:center}.product-reverse{grid-template-columns:.85fr 1.55fr}.product-reverse .product-visual{order:2}.product-reverse .product-info{order:1;margin:0 -36px 0 0;z-index:2}.product-visual{position:relative;box-shadow:0 28px 70px rgba(92,32,42,.17)}.product-visual img{width:100%;display:block;aspect-ratio:2/1;object-fit:cover}.product-reverse .product-visual img{aspect-ratio:16/9}.number{position:absolute;top:-48px;right:8px;font-family:var(--serif);font-size:82px;color:white;line-height:1}.product-info{background:var(--cream);padding:clamp(30px,4.2vw,68px);margin-left:-36px;z-index:2}.tag{color:var(--red)}.product h3{font-family:var(--serif);font-size:clamp(28px,3vw,46px);line-height:1.35;margin:16px 0 24px}.product h3 small{font-size:.52em;color:#88666c}.description{color:#70595d;line-height:2;font-size:14px}.product dl{margin:32px 0 0;border-top:1px solid #dcc8c9}.product dl>div{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #dcc8c9}.product dt{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--red)}.product dd{margin:0}.product dd b{font-family:var(--serif);font-size:28px;color:var(--red)}.product dd small{font-size:10px;color:#8b7477}.set-section{padding:120px clamp(20px,7vw,110px);background:var(--deep);position:relative}.set-section:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.12);pointer-events:none}.set-card{text-align:center;color:white;max-width:1050px;margin:auto}.set-kicker{color:#edaab2}.set-card h2{margin:22px 0 42px}.set-thumbs{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.set-thumbs img{width:100%;aspect-ratio:2/1;object-fit:cover;border:5px solid white;box-shadow:0 20px 40px rgba(0,0,0,.25)}.set-thumbs span{font-family:var(--serif);font-size:40px;color:#edaab2}.set-price{display:flex;justify-content:center;align-items:center;gap:45px;margin-top:45px}.set-price>p{text-align:left;line-height:1.75}.set-price strong{font-family:var(--serif);font-size:clamp(48px,7vw,88px);color:#ffd7dc;line-height:1}.set-price strong span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-align:left;margin-bottom:10px}.set-price strong small{font-size:.3em}.set-price em{font-style:normal;font-size:11px;color:#cbaeb2}.saving{display:inline-block;border:1px solid #e8a5ad;border-radius:99px;padding:9px 22px;color:#f5c4ca;font-size:13px}.closing{background:var(--red);color:white;text-align:center;padding:140px 24px;position:relative;overflow:hidden}.closing:before,.closing:after{content:"✿";position:absolute;font-size:350px;color:rgba(255,255,255,.035);line-height:1}.closing:before{left:-80px;top:-40px}.closing:after{right:-70px;bottom:-80px}.closing .section-no{color:#f0bdc2}.closing h2{font-size:clamp(48px,7vw,104px);margin:20px 0 25px}.closing h2 i{font-style:normal;color:#ffd9dd}.closing>p:not(.section-no){font-size:13px;letter-spacing:.2em;margin-bottom:32px}.primary.light{position:relative;z-index:1}footer{padding:30px clamp(20px,5vw,80px);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}footer a{text-decoration:none;font-weight:bold}@keyframes reveal{from{transform:scale(1.05);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.nav{height:64px}.brand{font-size:15px}.hero{min-height:680px;height:100svh;align-items:end}.hero-image{background-position:43% center}.hero-shade{background:linear-gradient(0deg,rgba(35,6,11,.9) 0%,rgba(35,6,11,.45) 55%,rgba(35,6,11,.08) 100%)}.hero-copy{margin:0;padding:0 24px 88px}.hero h1{font-size:64px;margin:22px 0 20px}.lead{font-size:15px}.scroll{display:none}.intro{padding:90px 24px;grid-template-columns:1fr}.seal{opacity:.5}.lineup{padding:90px 18px}.section-head{display:block;margin-bottom:55px}.section-head>p{margin-top:22px}.product,.product-reverse{display:flex;flex-direction:column;margin-bottom:80px}.product-reverse .product-visual,.product-reverse .product-info{order:initial}.product-info,.product-reverse .product-info{width:calc(100% - 20px);margin:-15px 0 0;padding:30px 24px}.number{font-size:58px;top:-34px}.set-section{padding:90px 18px}.set-thumbs{gap:8px}.set-thumbs img{border-width:2px}.set-thumbs span{font-size:24px}.set-price{flex-direction:column;gap:10px;margin-top:35px}.set-price>p{text-align:center}.set-price strong span{text-align:center}.closing{padding:100px 20px}.closing h2{font-size:50px}footer{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.primary{transition:none}}

/* Product numbers sit fully above the artwork, with a clear safety gap. */
.product-visual .number{top:-94px;text-shadow:0 3px 16px rgba(92,32,42,.12)}
@media(max-width:800px){.product-visual .number{top:-68px}}

/* Clear product layout: numbers, artwork and details each keep their own space. */
.product{column-gap:clamp(32px,4vw,72px)}
.product-visual{padding-top:100px;box-shadow:none}
.product-visual img{box-shadow:0 28px 70px rgba(92,32,42,.17)}
.product-visual .number{top:0;right:0;color:var(--red);text-shadow:none}
.product-info,.product-reverse .product-info{margin:0}
@media(max-width:800px){
  .product{gap:0}
  .product-visual{width:100%;padding-top:72px}
  .product-visual .number{top:0;right:4px}
  .product-info,.product-reverse .product-info{margin-top:28px}
}

/* Digital anniversary set uses the supplied square artwork as its thumbnail. */
.product-digital{grid-template-columns:minmax(300px,.8fr) 1.2fr;max-width:1100px}
.product-digital .product-visual{max-width:520px;width:100%}
.product-digital .product-visual img{aspect-ratio:1/1;object-fit:cover}
@media(max-width:800px){
  .product-digital{display:flex;max-width:100%}
  .product-digital .product-visual{max-width:100%}
}

/* Unified proportions for a balanced catalogue rhythm. */
@media(min-width:801px){
  .product{max-width:1180px;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);column-gap:clamp(40px,4.5vw,68px);align-items:stretch}
  .product-reverse{grid-template-columns:minmax(350px,.88fr) minmax(0,1.12fr)}
  .product-digital{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);max-width:1080px}
  .product-info{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,3.2vw,48px)}
  .product-digital .product-visual{max-width:460px;justify-self:end}
}
.product h3{font-size:clamp(28px,2.5vw,40px);margin:14px 0 20px}
.product .description{line-height:1.85;margin:0}
.product dl{margin-top:26px}
.product dl>div{gap:20px}
.product dd{text-align:right}
@media(max-width:800px){
  .product,.product-reverse,.product-digital{width:100%;margin-bottom:88px}
  .product-info,.product-reverse .product-info{width:100%;padding:32px 24px}
  .product h3{font-size:clamp(28px,8vw,38px)}
}
