@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Serif+JP:wght@500;700&display=swap');
:root{--bg:#050302;--panel:#0b0705;--panel2:#150d08;--gold:#cfa34d;--gold2:#fff1b9;--text:#f7eddf;--muted:#b9a88c;--line:rgba(207,163,77,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 30% -10%,#39240e 0,#080403 34%,#000 100%);color:var(--text);font-family:'Noto Serif JP',serif;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.site-header{position:fixed;top:0;left:0;right:0;height:76px;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand img{width:170px;height:50px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:18px}.nav a{text-decoration:none;text-align:center;line-height:1.2;color:#fff;white-space:nowrap}.nav b{display:block;font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;letter-spacing:.04em}.nav small{display:block;font-size:10px;color:#d9c9ad}.nav a:hover{color:var(--gold2)}.open-link{background:linear-gradient(135deg,#f2d186,#a87424);color:#050302!important;padding:11px 22px;border-radius:4px;box-shadow:0 0 30px rgba(207,163,77,.22)}.open-link small{color:#1b1006}.nav-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;font-size:24px;border-radius:6px;padding:4px 10px}.hero{min-height:100vh;position:relative;padding:120px 5vw 80px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.50) 45%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.74)),url('../images/hero-bg.png') center/cover no-repeat;border-bottom:1px solid var(--line)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 48%,rgba(207,163,77,.12),transparent 24%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 38%);pointer-events:none}.hero-copy{position:relative;z-index:1;width:min(620px,92vw)}.hero-logo{width:min(540px,88vw);margin-bottom:24px;filter:drop-shadow(0 0 20px rgba(207,163,77,.25))}.hero-sub{letter-spacing:.34em;font-size:15px;margin:0 0 28px;color:#fff}.hero h1{font-size:clamp(36px,5vw,70px);line-height:1.32;margin:0 0 18px;letter-spacing:.1em;font-weight:500}.lead{font-size:19px;color:#e8dccb;line-height:1.9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:180px;padding:15px 28px;border:1px solid var(--gold);background:linear-gradient(90deg,rgba(207,163,77,.18),rgba(207,163,77,.04));color:var(--gold2);text-decoration:none;letter-spacing:.12em;font-size:13px}.btn:after{content:'→'}.btn.ghost{background:rgba(0,0,0,.35)}.btn.slim{min-width:170px;padding:12px 22px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:11px;color:#d8c39b;letter-spacing:.18em}.scroll:after{content:"";display:block;width:1px;height:40px;background:linear-gradient(var(--gold),transparent);margin:8px auto 0}.section,.about-band,.quick-links{width:min(1180px,92vw);margin:0 auto}.about-band{display:grid;grid-template-columns:.9fr 1.25fr;gap:34px;align-items:center;padding:86px 0;border-bottom:1px solid var(--line)}.about-text h2,.section h2{font-size:clamp(31px,4vw,54px);line-height:1.42;margin:6px 0 20px;font-weight:500}.about-text p{line-height:2;color:#dfd2bd}.about-photo{border:1px solid var(--line);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.42)}.about-photo img{height:460px;width:100%;object-fit:cover}.kicker{color:var(--gold);letter-spacing:.22em;font-size:13px;text-transform:uppercase}.quick-links{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:0 0 56px}.quick-links a{min-height:176px;border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.24)),url('../images/ql-system.jpg') center/cover}.quick-links a:nth-child(1){background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),url('../images/cast-06.jpg')}.quick-links a:nth-child(2){background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),url('../images/ql-system.jpg')}.quick-links a:nth-child(3){background-image:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.18)),url('../images/ql-schedule.jpg')}.quick-links a:nth-child(4){background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),url('../images/ql-event.jpg')}.quick-links a:nth-child(5){background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),url('../images/ql-recruit.jpg')}.quick-links span{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:36px;letter-spacing:.08em}.quick-links small{font-size:13px}.section{padding:70px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}.section-head h2{margin:0}.section-head>p{max-width:430px;color:var(--muted);line-height:1.8;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-item{padding:0;border:1px solid var(--line);background:#000;cursor:pointer;overflow:hidden}.gallery-item img{width:100%;height:174px;object-fit:cover;transition:.25s;filter:saturate(1.05) contrast(1.04)}.gallery-item:hover img{transform:scale(1.04)}.cast-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.cast-card{position:relative;border:1px solid var(--line);background:#0a0604;cursor:pointer;overflow:hidden}.cast-card img{width:100%;height:250px;object-fit:cover;object-position:50% 10%;transition:.25s}.cast-card:hover img{transform:scale(1.035)}.cast-card div{padding:12px 10px 16px;text-align:center}.cast-card h3{font-family:'Cormorant Garamond',serif;color:var(--gold2);font-size:24px;margin:0}.cast-card p{margin:5px 0 0;color:#d3c1a3;font-size:12px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card,.news-grid article,.schedule-list,.recruit{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01));padding:28px}.price-card h3{font-family:'Cormorant Garamond',serif;font-size:34px;margin:0 0 16px;color:var(--gold)}.featured{background:linear-gradient(145deg,rgba(207,163,77,.22),rgba(255,255,255,.02))}.price-card dl{display:grid;grid-template-columns:1fr auto;gap:14px;margin:0}.price-card dt{color:#d8c7aa}.price-card dd{margin:0;color:#fff;font-size:20px}.two-column{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center}.two-column p{line-height:2;color:#d9cbb6}.schedule-list{display:grid;grid-template-columns:84px 1fr;gap:16px}.schedule-list span{color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:22px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-grid time{color:var(--gold)}.news-grid h3{font-size:22px}.news-grid p{color:var(--muted);line-height:1.8}.access{display:grid;grid-template-columns:.85fr 1.35fr;gap:34px;align-items:center}.access-info{padding:26px}.address{line-height:2}.tel a{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--gold2);text-decoration:none}.access-photo{border:1px solid var(--line);overflow:hidden}.access-photo img{height:420px;width:100%;object-fit:cover}.recruit{text-align:center}.recruit p{color:var(--muted);line-height:2}footer{text-align:center;border-top:1px solid var(--line);padding:34px;color:var(--muted)}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.88);padding:22px}.modal.open{display:flex}.modal-close{position:fixed;top:14px;right:14px;width:46px;height:46px;border:1px solid var(--line);background:#050302;color:#fff;font-size:30px;cursor:pointer}.modal-content{width:min(1060px,94vw);max-height:90vh;overflow:auto;background:#080403;border:1px solid var(--line);box-shadow:0 30px 90px #000}.modal-content>img{width:100%;height:auto}.cast-modal{display:grid;grid-template-columns:minmax(300px,430px) 1fr}.cast-main img{width:100%;height:100%;min-height:650px;object-fit:cover;object-position:50% 8%}.cast-detail{padding:34px}.cast-detail h2{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:60px;margin:0 0 6px}.cast-detail p{line-height:1.9;color:#e8dccb}.profile{display:grid;grid-template-columns:100px 1fr;gap:10px;margin:20px 0;padding:18px;border:1px solid var(--line)}.profile b{color:var(--gold2)}.cast-sub{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.cast-sub img{height:280px;width:100%;object-fit:cover;object-position:50% 12%;border:1px solid var(--line)}
@media(max-width:1180px){.nav{gap:10px}.nav b{font-size:15px}.cast-grid{grid-template-columns:repeat(3,1fr)}.cast-card img{height:330px}}
@media(max-width:980px){.site-header{height:68px}.brand img{width:128px;height:44px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:14px;right:14px;padding:16px;flex-direction:column;align-items:stretch;background:rgba(0,0,0,.97);border:1px solid var(--line)}.nav.open{display:flex}.nav a{text-align:left;padding:9px 0}.open-link{text-align:center!important}.hero{min-height:720px;padding:96px 5vw 60px;background-image:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.34) 42%,rgba(0,0,0,.88)),url('../images/hero-bg-mobile.png');background-position:center top}.hero-copy{padding-top:20px}.hero-logo{width:min(430px,86vw)}.about-band,.access,.two-column{grid-template-columns:1fr}.about-photo img,.access-photo img{height:auto}.quick-links{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.price-grid,.news-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:10px}.cast-modal{grid-template-columns:1fr}.cast-main img{min-height:0;max-height:70vh}.cast-detail{padding:24px}}
@media(max-width:560px){.site-header{padding:0 16px}.brand img{width:118px}.hero{min-height:650px;padding:88px 18px 44px;background-position:58% top}.hero-logo{width:100%;margin-bottom:18px}.hero-sub{font-size:11px;letter-spacing:.22em}.hero h1{font-size:34px}.lead{font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%;min-width:0}.about-band,.section{width:calc(100% - 32px);padding:52px 0}.about-text h2,.section h2{font-size:32px}.quick-links{width:calc(100% - 32px);grid-template-columns:1fr;padding-bottom:38px}.quick-links a{min-height:130px}.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:230px}.cast-grid{grid-template-columns:repeat(2,1fr);gap:9px}.cast-card img{height:245px}.price-card dl{grid-template-columns:1fr}.schedule-list{grid-template-columns:1fr;gap:8px}.tel a{font-size:30px}.modal{padding:12px}.modal-content{width:100%;max-height:88vh}.modal-close{top:8px;right:8px}.profile{grid-template-columns:1fr}.cast-sub{grid-template-columns:1fr}.cast-sub img{height:360px}}

.hero-logo{display:none!important}
@media(max-width:560px){.site-header{height:64px}.nav{top:64px}.hero{padding-top:84px}.quick-links a{min-height:120px}.quick-links span{font-size:30px}}


/* v8 adjustments */
.site-header{padding:0 24px;justify-content:flex-start;gap:28px}.brand{flex:0 0 126px;display:flex;align-items:center}.brand img{width:126px;height:46px;object-fit:contain;object-position:left center}.nav{flex:1;justify-content:flex-end;gap:24px}.nav b{font-size:19px}.nav small{font-size:11px}.open-link{display:none!important}.hero{background-position:center center}.quick-links{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.quick-links a{min-height:180px;width:100%;padding:24px 22px}.quick-links a:nth-child(1){background-image:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),url('../images/ql-cast.jpg')}.quick-links a:nth-child(2){background-image:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.10)),url('../images/ql-system.jpg')}.quick-links a:nth-child(3){background-image:linear-gradient(0deg,rgba(0,0,0,.80),rgba(0,0,0,.12)),url('../images/ql-schedule.jpg')}.quick-links a:nth-child(4){background-image:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.08)),url('../images/ql-event.jpg')}.quick-links a:nth-child(5){background-image:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.08)),url('../images/ql-recruit.jpg')}.quick-links span{font-size:34px}.section-head>p:empty{display:none}
@media(max-width:1180px){.site-header{gap:18px}.nav{gap:16px}.nav b{font-size:17px}.nav small{font-size:10px}.brand{flex-basis:118px}.brand img{width:118px}}
@media(max-width:980px){.site-header{padding:0 16px;justify-content:space-between}.brand{flex:0 0 auto}.brand img{width:126px;height:44px}.nav{justify-content:flex-start}.nav.open{display:flex}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links a{min-height:160px}.hero{background-position:center top}}
@media(max-width:560px){.brand img{width:116px}.hero{background-position:center top}.quick-links{grid-template-columns:1fr}.quick-links a{min-height:132px}.quick-links span{font-size:30px}}


/* v9 final size/layout overrides */
.site-header{
  height:94px;
  padding:0 28px;
  gap:34px;
  align-items:center;
}
.brand{
  flex:0 0 150px;
  justify-content:flex-start;
}
.brand img{
  width:150px!important;
  height:54px!important;
  max-width:150px!important;
  object-fit:contain;
  object-position:left center;
}
.nav{
  flex:1;
  justify-content:flex-end;
  gap:26px;
}
.nav b{
  font-size:26px!important;
  line-height:1.02;
  letter-spacing:.05em;
}
.nav small{
  font-size:14px!important;
  line-height:1.25;
  margin-top:5px;
}
.hero{
  padding-top:124px;
}
.open-link{display:none!important;}
@media(max-width:1320px){
  .site-header{gap:24px;padding:0 22px;}
  .brand{flex-basis:132px;}
  .brand img{width:132px!important;height:48px!important;max-width:132px!important;}
  .nav{gap:20px;}
  .nav b{font-size:23px!important;}
  .nav small{font-size:12px!important;}
}
@media(max-width:1100px){
  .nav{gap:14px;}
  .nav b{font-size:20px!important;}
  .nav small{font-size:11px!important;}
}
@media(max-width:980px){
  .site-header{
    height:56px!important;
    padding:0 12px!important;
    justify-content:space-between!important;
    gap:0!important;
    background:rgba(0,0,0,.82);
  }
  .brand{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
  }
  .brand img{
    width:76px!important;
    height:28px!important;
    max-width:76px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .nav-toggle{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
    padding:5px 10px!important;
    border-radius:8px!important;
  }
  .nav{
    top:56px!important;
    left:10px!important;
    right:10px!important;
    gap:0!important;
  }
  .nav b{font-size:18px!important;}
  .nav small{font-size:11px!important;}
  .hero{
    padding-top:74px!important;
  }
}
@media(max-width:560px){
  .site-header{height:54px!important;padding:0 10px!important;}
  .brand img{
    width:68px!important;
    height:24px!important;
    max-width:68px!important;
  }
  .nav{top:54px!important;}
  .hero{
    padding-top:68px!important;
  }
}

/* v10 requested fixes */
.site-header{
  justify-content:center!important;
}
.brand{
  position:absolute!important;
  left:28px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  flex:none!important;
}
.nav{
  flex:0 1 auto!important;
  justify-content:center!important;
  margin:0 auto!important;
}
.quick-links a:nth-child(1){
  background-image:linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.14)),url('../images/ql-cast-silhouette.svg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.gallery-item,.cast-card{
  -webkit-tap-highlight-color:rgba(207,163,77,.25);
  touch-action:manipulation;
}
.modal{
  z-index:9999!important;
}
.modal.open{
  display:flex!important;
}
@media(max-width:980px){
  .site-header{
    justify-content:space-between!important;
  }
  .brand{
    position:static!important;
    transform:none!important;
    left:auto!important;
    top:auto!important;
  }
  .nav{
    margin:0!important;
  }
  .hero{
    background-image:linear-gradient(180deg,rgba(0,0,0,.74),rgba(0,0,0,.30) 46%,rgba(0,0,0,.88)),url('../images/hero-bg.png')!important;
    background-size:cover!important;
    background-position:center top!important;
  }
}
@media(max-width:560px){
  .hero{
    min-height:650px!important;
    background-image:linear-gradient(180deg,rgba(0,0,0,.76),rgba(0,0,0,.34) 48%,rgba(0,0,0,.90)),url('../images/hero-bg.png')!important;
    background-size:cover!important;
    background-position:center top!important;
  }
  .gallery-item,.cast-card{
    cursor:pointer;
  }
}


/* v11 requested fixes */
@media(max-width:980px){
  .hero{
    background-position:64% top!important;
  }
}
@media(max-width:560px){
  .hero{
    background-position:68% top!important;
  }
}
.recruit-title{
  line-height:1.45;
}
.recruit-title .pc-break{
  display:block;
}
@media(max-width:980px){
  .recruit-title .pc-break{
    display:none;
  }
}


/* v12 requested fixes */
.about-band{
  background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48)),url('../images/brand-collage.png')!important;
  background-size:cover!important;
  background-position:center!important;
}
.about-photo img{
  object-fit:cover!important;
  object-position:center!important;
}
.quick-links a:nth-child(1){
  background-image:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.20)),url('../images/ql-cast-silhouette.svg')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.hero{
  background-image:linear-gradient(90deg,rgba(0,0,0,.50),rgba(0,0,0,.08) 44%,rgba(0,0,0,.34)),url('../images/hero-bg.png')!important;
}
@media(max-width:980px){
  .hero{
    background-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.18) 42%,rgba(0,0,0,.78)),url('../images/hero-bg-mobile.png')!important;
    background-position:center top!important;
  }
}
@media(max-width:560px){
  .hero{
    background-position:center top!important;
  }
}


/* v13 requested design fixes */
/* Header logo: use arranged black/gold logo */
.brand img{
  width:178px!important;
  height:54px!important;
  max-width:178px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:1320px){
  .brand img{width:150px!important;height:46px!important;max-width:150px!important;}
}
@media(max-width:980px){
  .brand img{width:92px!important;height:32px!important;max-width:92px!important;}
}
@media(max-width:560px){
  .brand img{width:76px!important;height:26px!important;max-width:76px!important;}
}

/* Quick menu backgrounds: same direction as the proposed mock */
.quick-links{
  gap:14px!important;
  padding:18px 2vw 16px!important;
  background:#030202!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.quick-links a{
  min-height:190px!important;
  border:1px solid rgba(207,163,77,.72)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:inset 0 0 0 1px rgba(255,230,166,.05), 0 0 24px rgba(0,0,0,.34)!important;
}
.quick-links a:before{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.66) 72%,rgba(0,0,0,.88))!important;
}
.quick-links a:nth-child(1){background-image:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.10)),url('../images/ql-cast-new.jpg')!important;}
.quick-links a:nth-child(2){background-image:linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.08)),url('../images/ql-system.jpg')!important;}
.quick-links a:nth-child(3){background-image:linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.08)),url('../images/ql-schedule.jpg')!important;}
.quick-links a:nth-child(4){background-image:linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.08)),url('../images/ql-event.jpg')!important;}
.quick-links a:nth-child(5){background-image:linear-gradient(0deg,rgba(0,0,0,.70),rgba(0,0,0,.08)),url('../images/ql-recruit.jpg')!important;}
.quick-links span{
  font-size:34px!important;
  color:var(--gold)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.72)!important;
}
.quick-links small{
  font-size:15px!important;
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.8)!important;
}

/* Cast list: proposed horizontal premium strip */
#cast.section{
  padding-top:34px!important;
  padding-bottom:52px!important;
  background:linear-gradient(180deg,#050302,#0b0604 55%,#030201)!important;
}
.cast-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  border-bottom:1px solid rgba(207,163,77,.32)!important;
  padding-bottom:12px!important;
  margin-bottom:18px!important;
}
.view-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:128px;
  padding:10px 18px;
  border:1px solid var(--gold);
  color:var(--gold2);
  text-decoration:none;
  font-family:'Cormorant Garamond',serif;
  letter-spacing:.12em;
  background:rgba(0,0,0,.36);
}
.cast-strip{
  display:flex!important;
  grid-template-columns:none!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 14px!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
}
.cast-strip::-webkit-scrollbar{height:6px;}
.cast-strip::-webkit-scrollbar-thumb{background:rgba(207,163,77,.45);border-radius:99px;}
.cast-card{
  flex:0 0 172px!important;
  min-width:172px!important;
  border:1px solid rgba(207,163,77,.42)!important;
  background:#070403!important;
  border-radius:0!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  cursor:pointer!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.cast-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,225,146,.85)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.42),0 0 22px rgba(207,163,77,.12)!important;
}
.cast-card img{
  width:100%!important;
  height:142px!important;
  object-fit:cover!important;
  object-position:center top!important;
  filter:saturate(1.02) contrast(1.03)!important;
}
.cast-card div{
  position:static!important;
  background:none!important;
  padding:10px 8px 12px!important;
  text-align:center!important;
}
.cast-card h3{
  margin:0!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:18px!important;
  letter-spacing:.16em!important;
  color:var(--gold)!important;
  text-transform:uppercase!important;
}
.cast-card p{display:none!important;}
@media(max-width:980px){
  .quick-links{grid-template-columns:repeat(2,minmax(0,1fr))!important; padding:14px 12px!important; gap:10px!important;}
  .quick-links a{min-height:146px!important;}
  .quick-links span{font-size:26px!important;}
  .quick-links small{font-size:13px!important;}
  .cast-head{align-items:center!important;}
  .view-all{min-width:104px;padding:8px 12px;font-size:12px;}
  .cast-card{flex-basis:134px!important;min-width:134px!important;}
  .cast-card img{height:116px!important;}
  .cast-card h3{font-size:15px!important;}
}
@media(max-width:560px){
  .quick-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .quick-links a{min-height:126px!important;}
  .quick-links a:nth-child(5){grid-column:1 / -1!important;}
  .cast-card{flex-basis:112px!important;min-width:112px!important;}
  .cast-card img{height:100px!important;}
}

.cast-photo-button{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
}
.cast-photo-button img{
  transition:transform .25s ease,filter .25s ease;
}
.cast-photo-button:hover img,
.cast-photo-button:focus-visible img{
  filter:brightness(1.08) saturate(1.05);
  transform:scale(1.02);
}
.cast-photo-button:focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:-2px;
}
.image-popup{
  position:fixed;
  inset:0;
  z-index:20000!important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.92);
}
.image-popup img{
  position:relative;
  z-index:20001;
  max-width:min(92vw,980px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border:1px solid var(--line);
  box-shadow:0 30px 90px #000;
}
.image-popup-close{
  position:fixed;
  z-index:20002;
  top:14px;
  right:14px;
  width:46px;
  height:46px;
  border:1px solid var(--line);
  background:#050302;
  color:#fff;
  font-size:30px;
  cursor:pointer;
}


/* v14 SNS QR / system / address update */
.sns-qr{
  width:min(1180px,92vw);
  margin:0 auto;
  padding:70px 0 78px;
  border-bottom:1px solid var(--line);
}
.sns-head{
  margin-bottom:30px!important;
}
.sns-head p{
  max-width:520px;
  color:var(--muted);
  line-height:1.8;
  margin:0;
}
.sns-qr-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.sns-card{
  position:relative;
  margin:0;
  padding:28px;
  border:1px solid rgba(207,163,77,.55);
  background:
    radial-gradient(circle at 18% 0%,rgba(207,163,77,.18),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,232,174,.035);
  overflow:hidden;
}
.sns-card:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(207,163,77,.22);
  pointer-events:none;
}
.sns-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  margin-bottom:18px;
  padding:9px 18px;
  border:1px solid rgba(207,163,77,.66);
  color:var(--gold2);
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  letter-spacing:.08em;
  background:rgba(0,0,0,.36);
}
.sns-card img{
  width:min(360px,100%);
  margin:0 auto;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.38);
}
.sns-card figcaption{
  margin-top:16px;
  text-align:center;
  color:#f1dfba;
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  letter-spacing:.08em;
}
.instagram-card .sns-label{
  color:#ffd4da;
}
.tiktok-card .sns-label{
  color:#d7f7ff;
}
.price-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:980px){
  .sns-qr{
    width:calc(100% - 32px);
    padding:54px 0 58px;
  }
  .sns-qr-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .sns-card{
    padding:22px;
  }
  .sns-label{
    font-size:24px;
    min-width:132px;
  }
  .price-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:560px){
  .sns-head p{
    margin-top:10px;
  }
  .sns-card img{
    width:100%;
    max-width:330px;
  }
  .sns-card figcaption{
    font-size:20px;
  }
}
