.pdp{padding:40px 0 120px}
.pdp-main{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.gallery{display:grid;grid-template-columns:80px 1fr;gap:16px}
.thumbs{display:flex;flex-direction:column;gap:12px}
.thumb{aspect-ratio:1;overflow:hidden;cursor:pointer;opacity:.55;transition:opacity .2s}
.thumb.active,.thumb:hover{opacity:1}
.thumb img{width:100%;height:100%;object-fit:cover}
.main-img{position:relative}
.main-img img{width:100%;height:auto;display:block}
.info{position:sticky;top:110px}
.info .brandline{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}
.info h1{font-family:"Jost","Century Gothic",sans-serif;font-size:clamp(30px,4vw,46px);font-weight:300;letter-spacing:.04em;margin:14px 0 6px}
.info .subname{font-size:13px;color:#5a5a5a}
.info .meta{margin-top:16px;font-size:12px;letter-spacing:.1em;color:var(--stone);text-transform:uppercase}
.info .price{font-size:22px;font-weight:300;margin:22px 0 4px;letter-spacing:.04em}
.info .tax{font-size:11px;color:var(--stone)}
.info .lead{margin:26px 0 30px;font-size:14px;line-height:2.05;color:#3a3a3a}
.variant-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin-bottom:14px}
.variants{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.variants a{font-size:12px;letter-spacing:.04em;padding:9px 16px;border:1px solid var(--line);color:#555;transition:all .2s}
.variants a:hover{border-color:var(--ink);color:var(--ink)}
.variants a.active{border-color:var(--ink);color:#fff;background:var(--ink)}
.buy-ext{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.buy-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);margin-bottom:2px}
.mbtn{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 20px;border:1px solid var(--ink);color:var(--ink);background:transparent;font-size:12px;letter-spacing:.14em;font-weight:400;transition:background .3s,color .3s}
.mbtn:hover{background:var(--ink);color:#fff}
.mbtn .arw{font-size:13px;opacity:.5;transition:opacity .3s}
.mbtn:hover .arw{opacity:1}
.ship-note{font-size:11px;color:var(--stone);margin-bottom:30px}
.pdp details{border-bottom:1px solid var(--line)}
.pdp summary{list-style:none;cursor:pointer;padding:20px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.pdp summary::-webkit-details-marker{display:none}
.pdp summary::after{content:"+";font-size:16px;color:var(--stone)}
.pdp details[open] summary::after{content:"–"}
.pdp details .body{padding:0 0 22px;font-size:13px;line-height:2;color:#4a4a4a}
.pdp details .body.small{font-size:11.5px;line-height:1.9;color:#6a6a6a}
.concept{background:var(--mist);text-align:center;padding:120px 0}
.concept .eyebrow{margin-bottom:24px}
.concept h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(22px,3vw,38px);font-weight:200;line-height:1.5;letter-spacing:.05em;max-width:24ch;margin:0 auto 26px}
@media(min-width:1025px){.concept h2{white-space:nowrap;max-width:none}}
.concept p{max-width:52ch;margin:0 auto;color:#4a4a4a;font-size:14px;line-height:2.15}
.scent-sec{padding:120px 0}
.scent-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.scent-sec h2{font-family:"Jost","Century Gothic",sans-serif;font-size:clamp(26px,3vw,40px);font-weight:300;letter-spacing:.04em;margin:14px 0 4px}
.scent-sec .sjp{font-size:12px;color:#8c8c8c;letter-spacing:.08em;margin-bottom:22px}
.scent-sec .sdesc{font-size:14px;line-height:2.1;color:#4a4a4a;max-width:none}
.pyramid{border-top:1px solid var(--line)}
.ptier{padding:26px 0;border-bottom:1px solid var(--line)}
.ptier .lab{font-family:"Jost",sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin-bottom:8px}
.ptier .notes{font-size:15px;letter-spacing:.03em;color:#2a2a2a}
.ing-sec{background:var(--white);color:var(--ink);padding:120px 0;border-top:1px solid var(--line)}
.ing-sec .eyebrow{color:var(--stone)}
.ing-sec h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(24px,3vw,38px);font-weight:200;letter-spacing:.05em;margin:16px 0 50px;color:var(--ink)}
.ing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ing{background:var(--white);padding:36px 32px}
.ing .k{font-family:"Jost",sans-serif;font-size:11px;letter-spacing:.16em;color:var(--stone)}
.ing h3{font-weight:400;font-size:16px;margin:12px 0 10px;color:var(--ink);letter-spacing:.03em}
.ing p{font-size:12.5px;color:#6a6a6a;line-height:1.9}
.ing-link{margin-top:48px;text-align:center}
.btn-ghost{display:inline-block;padding:14px 36px;border:1px solid var(--ink);font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:background .3s,color .3s}
.btn-ghost:hover{background:var(--ink);color:#fff}
.rel-sec{padding:120px 0;border-top:1px solid var(--line)}
.rel-sec h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(20px,2.4vw,28px);font-weight:200;letter-spacing:.06em;margin-bottom:44px}
.rel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.rel .rt{aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--mist)}
.rel .rt img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rel:hover .rt img{transform:scale(1.04)}
.rel .rn{font-size:14px;margin-top:16px;letter-spacing:.05em;font-family:"Jost",sans-serif}
.rel .rp{font-size:12px;color:var(--stone);margin-top:5px}
@media(max-width:900px){.pdp-main{grid-template-columns:1fr;gap:40px}.info{position:static}.scent-grid{grid-template-columns:1fr;gap:36px}.rel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.crumb{padding-top:24px;margin-bottom:8px}.pdp{padding:24px 0 84px}.gallery{grid-template-columns:1fr}.thumbs{flex-direction:row;order:2;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:8px}.thumb{width:80px;flex-shrink:0;aspect-ratio:1;overflow:hidden}.concept,.scent-sec,.ing-sec,.rel-sec{padding:84px 0}}
