/* Hero */
.hero{padding:22px 0 24px}
.hero-box{
  min-height:480px; border-radius:var(--radius-xl);
  background:
    radial-gradient(circle at 85% 20%, rgba(15,69,200,.18), transparent 28%),
    linear-gradient(135deg,#f1f7ff 0%,#eaf3ff 55%,#dfeeff 100%);
  overflow:hidden; position:relative; border:1px solid #dce8fb;
}
.hero-track{position:relative; height:100%; min-height:480px}
.hero-slide{
  position:absolute; inset:0; display:grid; grid-template-columns:1.15fr .85fr;
  opacity:0; visibility:hidden; transition:opacity .5s ease;
}
.hero-slide.is-active{opacity:1; visibility:visible; z-index:2}
.hero-controls{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:5;
  display:flex; align-items:center; justify-content:center; gap:14px;
  padding:8px 14px; border-radius:999px;
  background:rgba(255,255,255,.55); backdrop-filter:blur(6px);
}
.hero-nav{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(15,69,200,.25);
  background:rgba(255,255,255,.9); color:var(--primary); font-size:17px; font-weight:800;
  display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(4px);
  transition:.2s;
}
.hero-nav:hover{background:#fff; box-shadow:0 8px 20px rgba(20,42,86,.15)}
.hero-dots{display:flex; gap:8px}
.hero-dot{
  width:8px; height:8px; border-radius:50%; border:0; background:rgba(15,69,200,.3); cursor:pointer; padding:0;
}
.hero-dot.is-active{background:var(--primary); width:22px; border-radius:999px; transition:.25s}
.hero-copy{padding:54px 60px 78px; display:flex; flex-direction:column; justify-content:center}
.eyebrow{font-size:14px; color:var(--primary); font-weight:800; letter-spacing:.02em}
.hero h1{
  margin:8px 0 18px;
  font-size:46px; line-height:1.16; letter-spacing:-.045em;
}
.hero h1 span{color:var(--primary)}
.hero p{margin:0 0 26px; color:#475467; font-size:16px}
.buttons{display:flex; gap:12px; flex-wrap:wrap}
.hero-visual{
  position:relative; min-height:280px;
  display:flex; align-items:flex-end; justify-content:center;
  padding:36px;
}
.hero-shape{
  width:78%; aspect-ratio:1.25;
  border-radius:36px 36px 0 0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(145deg,#215fe0,#0c3cae);
  background-size:36px 36px,36px 36px,auto;
  box-shadow:0 28px 60px rgba(14,57,150,.2);
  position:relative;
}
.hero-shape:before,
.hero-shape:after{
  content:""; position:absolute; bottom:0; background:#fff;
  border-radius:18px 18px 0 0; opacity:.9;
}
.hero-shape:before{left:12%; width:20%; height:62%}
.hero-shape:after{right:12%; width:44%; height:78%}
.hero-shape.tone-green{
  background:
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(145deg,#1f9f6d,#0c6b47);
  background-size:36px 36px,36px 36px,auto;
}
.hero-shape.tone-orange{
  background:
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(145deg,#e2872f,#a85a12);
  background-size:36px 36px,36px 36px,auto;
}

/* Quick links (rightmost panel, stacked) */
.panel-quick{display:flex; flex-direction:column; justify-content:center}
.quick-grid{
  display:grid; grid-template-columns:1fr; gap:10px;
}
.quick-item{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  aspect-ratio:16/9; padding:8px; text-align:center;
  box-shadow:var(--shadow); transition:.2s;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden;
}
.quick-item:hover{transform:translateY(-3px); border-color:#b9ccef}
.quick-icon{
  width:32px; height:32px; margin:0 auto 4px; border-radius:10px;
  background:var(--primary-soft); color:var(--primary);
  display:grid; place-items:center; font-size:16px; font-weight:900;
  transition:background .2s;
}
.quick-item:hover .quick-icon{background:#fff300}
.quick-item strong{display:block; font-size:12px; line-height:1.2}

/* Content grid */
.section-grid{
  display:grid; grid-template-columns:2fr 3fr 1fr; gap:18px;
  margin:0 auto 24px;
}
.panel{
  min-width:0;
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:#fff; box-shadow:var(--shadow); padding:24px;
}
.panel-head{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-bottom:14px;
}
.panel-head h2{margin:0; font-size:24px; letter-spacing:-.03em}
.panel-head a{font-size:14px; color:var(--muted); font-weight:700}
.notice-list{list-style:none; padding:0; margin:0}
.notice-list li{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:13px 0; border-bottom:1px solid #eef1f5;
  font-size:17px;
}
.notice-list li:last-child{border-bottom:0}
.notice-title{display:flex; align-items:center; gap:8px}

.store-carousel{overflow:hidden}
.store-grid{display:flex; gap:14px}
.store-card{
  flex:0 0 calc((100% - 28px)/3);
  border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff;
}
.store-thumb{
  height:112px; background:
  linear-gradient(135deg,#eaf1fb,#d7e4f8);
  display:grid; place-items:center; color:#678; font-weight:800;
}
.store-body{padding:14px}
.store-body h3{margin:0 0 5px; font-size:17px}
.store-body p{margin:0; font-size:13px; color:var(--muted)}
.detail{display:inline-block; margin-top:10px; font-size:13px; color:var(--primary); font-weight:800}

/* Membership banner */
.member-banner{
  margin:0 auto 24px;
  border:1px solid #c9dafb; border-radius:22px;
  background:linear-gradient(90deg,#eef5ff,#f8fbff);
  min-height:132px; display:grid;
  grid-template-columns:1.2fr auto .7fr; align-items:center;
  gap:24px; padding:24px 38px; overflow:hidden;
}
.member-banner h2{margin:0 0 6px; font-size:25px; color:#0e43b7}
.member-banner p{margin:0; color:#526078; font-size:16px}
.member-actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:center}
.member-art{
  height:96px; border-radius:999px 999px 0 0;
  background:
    radial-gradient(circle at 30% 68%,#4d7fe3 0 18%,transparent 19%),
    radial-gradient(circle at 55% 52%,#7ba3f0 0 18%,transparent 19%),
    radial-gradient(circle at 76% 70%,#f3a54b 0 18%,transparent 19%),
    linear-gradient(180deg,transparent 0 42%,rgba(15,69,200,.08) 43%);
}

/* Instagram */
.instagram{margin:0 auto 24px}
.instagram-box{
  border:1px solid var(--line); border-radius:22px; padding:24px;
  background:#fff; box-shadow:var(--shadow);
}
.insta-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin-bottom:16px;
}
.insta-head h2{margin:0; font-size:25px}
.insta-head p{margin:4px 0 0; color:var(--muted); font-size:16px}
.insta-link{color:var(--primary); font-weight:800; font-size:14px}
.insta-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.insta-card{
  border:1px solid var(--line); border-radius:16px; overflow:hidden;
  background:#fff;
}
.insta-placeholder{
  aspect-ratio:1.35; display:grid; place-items:center;
  background:linear-gradient(135deg,#eef4ff,#dde8f8);
  color:#65758c; font-weight:800;
}
.insta-card p{margin:0; padding:12px 14px; font-size:16px}

/* Stats */
.stats{margin:0 auto 24px}
.stats-box{
  border-radius:26px; padding:44px 48px;
  background:linear-gradient(135deg,#153a7b,#0c2c63);
  color:#fff;
}
.stats-head .eyebrow{font-size:13px; font-weight:800; letter-spacing:.08em; color:#bcd0ff}
.stats-head h2{margin:8px 0 28px; font-size:26px; letter-spacing:-.03em}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.stat-item strong{display:block; font-size:34px; font-weight:900; letter-spacing:-.02em}
.stat-item strong span{font-size:18px; font-weight:700; margin-left:2px}
.stat-item p{margin:6px 0 0; font-size:16px; color:rgba(255,255,255,.72)}

@media (max-width:1000px){
  .hero-box{min-height:300px}
  .hero-track{min-height:300px}
  .hero-slide{grid-template-columns:1fr}
  .hero-visual{display:none}
  .hero-copy{padding-bottom:54px}
  .hero-controls{bottom:8px}
  .section-grid{grid-template-columns:1fr}
  .member-banner{grid-template-columns:1fr; text-align:center}
  .member-art{display:none}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:640px){
  .hero-copy{padding:38px 24px}
  .hero h1{font-size:34px}
  .store-card{flex:0 0 100%}
  .member-banner{padding:24px}
  .insta-grid{grid-template-columns:1fr 1fr}
  .insta-head{align-items:flex-start; flex-direction:column}
  .stats-box{padding:32px 24px}
  .stats-grid{grid-template-columns:1fr 1fr; gap:22px 16px}
}

/* Mobile quick links: keep the 3x2 grid compact inside the panel */
@media (max-width: 640px){
  .quick-grid{
    gap:8px;
  }

  .quick-item{
    padding:6px 4px;
    border-radius:12px;
  }

  .quick-icon{
    width:28px;
    height:28px;
    margin:0 auto 4px;
    border-radius:9px;
    font-size:14px;
  }

  .quick-item strong{
    font-size:11px;
    line-height:1.2;
  }
}

@media (max-width: 390px){
  .quick-grid{
    gap:6px;
  }

  .quick-item{
    padding:5px 2px;
    border-radius:10px;
  }

  .quick-icon{
    width:25px;
    height:25px;
    margin-bottom:3px;
    font-size:13px;
  }

  .quick-item strong{
    font-size:10px;
  }
}
