:root{--surface:#efebf3;--text:#42394f;--paper:#42394f;--ink:#42394f;--soft:#faf8fc;--muted:#655b73;--line:#42394f66;--bg:var(--surface);--scene-gradient:linear-gradient(150deg,#faf7f1 0%,#ded4eb 52%,#f8f5f9 100%);--title-color:#776687}
body,body[data-view=collections],body[data-view=detail],body[data-view=about]{--bg:var(--surface);color:var(--text);background-color:var(--surface);transition:none}body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--scene-gradient)}
.ellipse,.round,.motion,.about-footer .ellipse{border-color:var(--line)}.ellipse:hover,.round:hover,.motion:hover,.about-footer .ellipse:hover{background:var(--soft);border-color:var(--ink)}.motion{background:var(--soft);opacity:1}.photo-hint{background:var(--ink);color:var(--soft)}.detail-copy{scrollbar-color:var(--line) transparent}.footer-bottom,.text-link{border-color:var(--line)}.skip,.noscript-notice,.close-detail{background:var(--soft);color:var(--ink)}::selection{background:var(--ink);color:var(--soft)}
body[data-view=detail] .header,body[data-view=about] .header{background:none;box-shadow:none}.vignette{background:linear-gradient(var(--surface),transparent) top/100% 18vh no-repeat,linear-gradient(transparent,var(--surface)) bottom/100% 24vh no-repeat}.home-intro::before{background:radial-gradient(ellipse at 35% 68%,var(--surface) 15%,var(--surface) 35%,transparent 77%)}
.titles,.home .titles,.collections .collection-backdrop{inset:0;mask-image:none;clip-path:none}.title-track{inset:0;overflow:hidden}.titles .title-item{left:0;top:39%;height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;will-change:transform}.titles .title-word,.titles .title-label{position:relative;inset:auto;transform:none;width:auto;white-space:nowrap;color:var(--title-color)}.titles .title-word{font-size:clamp(110px,13.8vw,240px);font-weight:200;line-height:1.1;letter-spacing:-.05em;opacity:.9}.titles .title-label{font-size:11px;line-height:1.5;letter-spacing:.23em}.collections .title-item{top:42%}.about-signature>span{transform:translate(-50%,-50%);font-size:22vw;white-space:nowrap}.home-fallback{grid-template-columns:repeat(5,1fr)}.home-fallback .column{gap:3vw}.home-fallback img{aspect-ratio:auto}
.heading-line{display:block;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}.home-intro h1 .heading-line,.about-intro h1 .heading-line{white-space:normal}.brand>small{max-width:230px}.home-offering{white-space:normal}.about-ribbon{grid-template-columns:repeat(4,1fr)}
@media(max-width:767px){.titles .title-item{top:clamp(140px,29vh,280px);gap:10px}.titles .title-word{font-size:clamp(78px,23vw,160px)}.titles .title-label{font-size:10px}.collections .title-item{top:calc(100px + (var(--collection-copy-top,65vh) - 100px)/2)}.home-intro::before{background:linear-gradient(transparent,var(--surface) 25%,var(--surface) 65%)}.home-fallback{grid-template-columns:repeat(2,1fr)}.home-fallback .column:nth-child(n){display:flex}.home-fallback .column:nth-child(n+3){display:none}}

/* SÉLUNE: keep practical controls readable at every viewport. */
.nav-link{font-size:20px;min-height:44px;align-items:center}
.brand>span{font-size:clamp(22px,1.65vw,30px)}
.home-offering{font-size:18px;white-space:pre-line}
.home-intro .discover,.ellipse{font-size:18px}
.back-home,.photo-hint,.counter{font-size:16px}
.back-home{min-height:44px;align-items:center}
.collection-copy p{font-size:18px;line-height:1.75}
.collection-controls{right:96px;bottom:22px}
.collection-controls .round{width:44px;height:44px;font-size:22px}
.motion{width:44px;height:44px;font-size:18px;bottom:22px;right:24px}
.drag-hint{font-size:16px}
.detail-fallback{height:auto;aspect-ratio:2/3}
.collection-fallback{height:auto;aspect-ratio:2/3}
.about-ribbon img,.about-editorial figure img,.about-signature img{aspect-ratio:2/3}
@media(max-width:767px){
 .nav-link{font-size:18px;min-height:44px}.brand>span{font-size:22px}
 .header{gap:20px;align-items:flex-start}.brand{flex-shrink:0}
 .home-intro .discover{font-size:18px;min-height:52px}
 .home-intro{bottom:68px}.home-audience{font-size:16px}
 .collection-controls{left:24px;right:auto;bottom:24px;gap:16px}
 .collection-copy{bottom:110px}.counter{font-size:16px}
 .drag-hint{bottom:76px;right:24px;font-size:16px}
 .motion{bottom:24px;right:18px}
 .collection-copy p{font-size:18px;line-height:1.75}
 .detail-fallback{height:auto;aspect-ratio:2/3}
 .back-home{top:76px}
}
@media(max-width:360px){
 .header{gap:12px}.nav-link{max-width:130px;font-size:16px;line-height:1.6}
 .home-intro{left:20px;right:20px;bottom:64px}
 .home-offering{font-size:18px}.collection-copy{bottom:112px}
 .collection-controls{left:20px;gap:13px}.drag-hint{display:none}
}

.collection-controls .round{border-color:var(--line)}

.detail-copy .eyebrow,.about-intro .eyebrow{font-size:16px}

.static-mode .drag-hint{display:none}

/* r4: editorial serif typography and a clear primary action. */
:root{--font:'Noto Serif JP','Yu Mincho',serif;--display-font:'Cormorant Garamond','Noto Serif JP',serif}
body{font-weight:400}
.brand>span,.titles .title-word,.collection-copy h1,.detail-copy h1,.about-signature>span{font-family:var(--display-font);font-weight:400}
.titles .title-word{letter-spacing:-.035em}
.brand>span{letter-spacing:.15em;font-size:clamp(26px,2vw,34px)}
.collection-kind{font-family:var(--font)}
.home-intro h1,.about-intro h1,.about-statement h2,.about-editorial h2,.about-footer h2{font-weight:400;letter-spacing:.07em}
.home-intro .shop-button,.about-footer .shop-button{display:inline-flex;align-items:center;justify-content:center;width:264px;min-height:58px;padding:14px 28px;border:1px solid #51435f;border-radius:6px;background:#51435f;color:#fffaf5;font-size:18px;font-weight:500;line-height:1.5;letter-spacing:.055em;box-shadow:0 4px 14px #42394f14;transition:background .2s,box-shadow .2s,transform .2s}
.home-intro .shop-button:hover,.about-footer .shop-button:hover{background:#40344c;border-color:#40344c;box-shadow:0 6px 18px #42394f26}
.shop-button:focus-visible{outline:2px solid #51435f;outline-offset:5px}
.shop-button:active{transform:translateY(1px)}
@media(max-width:767px){
 .brand>span{font-size:26px}
 .home-intro .shop-button,.about-footer .shop-button{width:min(100%,280px);min-height:56px}
}
@media(max-width:360px){.brand>span{font-size:23px}}

/* r5: match the larger home cards in the HTML fallback. */
.home-fallback{grid-template-columns:repeat(4,1fr)}
.home-fallback .column:nth-child(n+5){display:none}
@media(max-width:767px){
 .home-fallback{grid-template-columns:repeat(2,1fr);left:-8vw;right:-8vw}
 .home-fallback .column:nth-child(n+3){display:none}
}
@media(max-width:360px){.home-intro{bottom:80px}}

/* Reserve space for mobile navigation and keep the return action after the copy. */
@media(max-width:767px){
 .detail-fallback{top:calc(var(--unit)*61.7 + 32px)}
 .detail{padding-top:calc(var(--unit)*116.2 + 32px);padding-bottom:40px}
 .close-detail{position:relative;left:auto;bottom:auto;transform:none;margin:36px auto 0}
 body[data-view=detail] .header,body[data-view=about] .header{background:var(--surface);box-shadow:0 0 18px 12px var(--surface)}
}
