/* Published Nishifunabashi composition, with static controls and local store details. */
[hidden]{display:none!important}html{scroll-padding-top:100px}body{overflow-x:clip}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;color:#3d3d3d;padding:12px 18px;border:2px solid #6b60a0}.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #316e6a;outline-offset:4px}
.mobileOverlay{overflow-y:auto;padding:90px 24px 24px;justify-content:flex-start;gap:0}.mobileOverlay a{padding:10px 0}.mobileOverlay a.navBtn{color:#fff}.menuToggle{min-width:44px;min-height:44px}
.heroBottom{position:absolute;bottom:18px;left:24px;right:24px;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;color:#fff;font-size:10px;text-shadow:0 1px 3px #000}.video-toggle{border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:8px 14px;color:#fff;background:rgba(0,0,0,.35);font:inherit;cursor:pointer;min-height:40px;white-space:nowrap}
.luxeBrand{letter-spacing:.14em!important}.luxeCampaign__price strong{font-size:clamp(18px,2.7vw,25px)!important}.luxeContent{padding-bottom:55px}.luxeCampaign__cta--line{background:#06c755!important;color:#fff!important}
.footerEmail{margin:20px auto;text-align:center;font-size:13px}.footerEmail a,.email-link{color:var(--purple-d);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.storeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.storeCard{display:flex;align-items:center;justify-content:space-between;padding:24px;background:var(--bg-lav);border:1px solid var(--border);border-radius:12px;font-size:15px;gap:12px}.storeCard:hover{border-color:var(--purple)}.groupLinks{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.groupLinks a{text-decoration:underline;text-underline-offset:4px}
.contactIntro{max-width:760px;margin:auto auto 40px;text-align:center}.contactIntro .lead{margin:auto}.contactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contactMethod{text-align:center;display:flex;flex-direction:column;align-items:center;padding:36px}.contactEyebrow{font-size:12px;letter-spacing:.2em;color:var(--purple-d)}.contactMethod h3{font-family:'Noto Serif JP',serif;font-size:22px;margin:14px 0}.contactMethod p{font-size:14px;color:var(--text-mid);line-height:2;margin-bottom:24px}.contactMethod .btnGrad,.contactMethod .btnOutline{margin-top:auto}.contactMethod .email-link{margin-top:18px;font-size:13px}.contactMethod small{font-size:12px;color:var(--text-mid);margin-top:10px}.contactFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.contactFacts>div{padding:24px}.contactFacts>div+div{border-left:1px solid var(--border)}.contactFacts dt{color:var(--purple-d);font-size:12px;margin-bottom:10px}.contactFacts dd{font-size:14px;line-height:1.8}.contactNote{font-size:12px;color:var(--text-mid);text-align:center;line-height:1.9;margin-top:24px}.policyBody{max-width:800px;font-size:14px;line-height:2}.policyBody h2{font-size:19px;font-weight:500;margin:32px 0 16px}.policyBody h2:first-child{margin-top:0}
@media(max-width:1200px){.headerNav{display:none}.menuToggle{display:flex}.storeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.heroBottom{bottom:12px;left:16px;right:16px;gap:8px;font-size:9px}.heroBottom span{max-width:62%}.luxeBrand{font-size:10px!important;letter-spacing:.1em!important}.heroBottom .video-toggle{font-size:10px}.mobileOverlay a{font-size:16px;padding:9px 0}.storeGrid,.contactGrid,.contactFacts{grid-template-columns:1fr}.storeCard{padding:20px}.contactFacts>div+div{border-left:none;border-top:1px solid var(--border)}.contactMethod{padding:28px 22px}.luxeCampaign__term{line-height:1.7!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.luxeContent>*,.luxeCorner,.luxeScroll,.luxeFlow{opacity:1!important;transform:none!important}}

/* The film supplies the motion; avoid another continuous transform on mobile. */
.heroVideo{animation:none!important;will-change:auto}

.photoNote{padding:20px 24px;text-align:center;font-size:12px;color:var(--text-mid);line-height:1.8}

.preregistrationActions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:0 20px}.preregistrationActions>a{max-width:100%;text-align:center}
