/* Mayumi Kasuga — responsive music experience */
:root{--pointer-x:0px;--pointer-y:0px}body{overflow-x:clip}#header{position:relative;z-index:100}#header header{position:sticky;top:0;z-index:101}#header .navwrap{position:relative;z-index:103}.hero:before{transform:translate3d(calc(var(--pointer-x)*.35),calc(var(--pointer-y)*.35),0) scale(1.03)}.hero .wrap{transform:translate3d(calc(var(--pointer-x)*-.22),calc(var(--pointer-y)*-.22),0);transition:transform .4s ease-out}.btn,.record-play,.iconbtn{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s}.btn:active,.iconbtn:active,.record-play:active{transform:scale(.95)}.sectionhead{position:relative}.sectionhead h2{font-weight:700}.record-card{min-width:0;position:relative;isolation:isolate}.record-art{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;background:#26152e;box-shadow:0 20px 45px #32152e1f;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}.record-art>img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.record-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#160c2290);pointer-events:none}.record-card:hover .record-art{transform:translateY(-9px) rotate(-1deg);box-shadow:0 32px 65px #32152e35}.record-card:hover .record-art>img{transform:scale(1.09)}.record-play{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:1px solid #ffffffa8;color:#fff;background:#28132e85;backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 35px #0005}.record-play svg{width:27px;height:27px;fill:currentColor;stroke:currentColor}.record-play:hover{transform:translate(-50%,-50%) scale(1.12);background:#f17bb4;color:#26152e}.record-index{position:absolute;z-index:2;bottom:16px;left:17px;color:#fff;font-size:10px;letter-spacing:.2em}.record-info{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:13px;padding:20px 2px 8px}.record-info h3{font:700 clamp(21px,2.5vw,30px)/1.15 Georgia,serif;margin:7px 0;color:#2a142e}.record-type{font-size:11px;letter-spacing:.1em;color:#8a6684}.record-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.record-links a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.record-listen{background:#28132e;border:0;color:white;padding:12px 16px;border-radius:50px;display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.record-listen svg{width:15px;height:15px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:20px 0 0;gap:10px}.gallery-hint{font-size:10px;font-weight:800;letter-spacing:.17em;color:#9c658c}.gallery-actions{display:flex;align-items:center;gap:12px}.gallery-actions button{width:42px;height:42px;border:1px solid #dfc6d7;border-radius:50%;background:#fff;color:#2a142e;font-size:26px;cursor:pointer}.gallery-position{font-size:12px;font-weight:700;min-width:50px;text-align:center}.swipe-gallery{scrollbar-width:none}.swipe-gallery::-webkit-scrollbar{display:none}.section.tint .record-info h3{color:#2a142e}.event{transition:transform .35s ease,background .35s ease,padding .35s ease}.event:hover{background:#f6e8f0;padding-left:15px;padding-right:15px}.card img{transition:transform .65s ease}.feature img{transition:filter .6s ease}.feature:hover img{filter:saturate(1.13)}
@media(min-width:801px){.gallery-controls{display:none}#tracks.swipe-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}#tracks.swipe-gallery:has(>.record-card:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){#header .navwrap{padding:12px 5%;min-height:66px}#header .mobilemenu{display:flex;position:fixed;top:66px;left:0;right:0;bottom:0;height:calc(100dvh - 66px);z-index:102;flex-direction:column;gap:0;padding:22px 7% max(40px,env(safe-area-inset-bottom));background:#fff7f4;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-15px);transition:opacity .35s,transform .35s,visibility .35s}#header .mobilemenu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}#header .mobilemenu a{font:600 clamp(26px,7vw,42px)/1.25 Georgia,serif;padding:14px 0;border-bottom:1px solid #eadbe7;letter-spacing:-.03em}body.nav-open{overflow:hidden}#header .navlinks{display:none}#header .hamb{display:grid}#header .brand{font-size:clamp(15px,4.3vw,19px)}.hero .wrap{transform:none}.hero:before{transform:none}.pagehero{padding:54px 0 48px}.pagehero h1{font-size:clamp(34px,9vw,55px)}.swipe-gallery{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:5px 5% 25px!important;margin-left:-5%;margin-right:-5%;scroll-padding-inline:5%}.swipe-gallery>*{flex:0 0 min(76vw,330px)!important;min-width:0;scroll-snap-align:center}.record-art{aspect-ratio:1}.record-info{padding:16px 0 0}.record-info h3{font-size:24px}.record-play{width:60px;height:60px}.gallery-controls{margin-top:0}.sectionhead{margin-bottom:20px}.section{padding:56px 0}.event{padding:20px 0}.btnrow{gap:10px}.hero .wrap{padding-top:65px!important;padding-bottom:48px!important}.hero{min-height:calc(100svh - 75px)}.hero h1{font-size:clamp(43px,12vw,78px)!important}.hero p{font-size:15px}.feature>div{padding:36px 7%}.player{width:calc(100% - 20px)}.record-card:hover .record-art{transform:none}}
@media(max-width:420px){#header .navwrap{padding:10px 5%}#header .brand{font-size:15px}#header .iconbtn{width:39px;height:39px}.hero h1{font-size:clamp(43px,12vw,62px)!important}.swipe-gallery>*{flex-basis:82vw!important}.record-info h3{font-size:22px}.sectionhead h2{font-size:clamp(30px,8vw,43px)}.btnrow .btn{padding:13px 15px}.entry-inner{max-width:100%}}
@media(prefers-reduced-motion:reduce){.hero .wrap,.hero:before,.record-art,.record-art>img,.mobilemenu{transition:none!important;animation:none!important}}
