
/* HI-EDU VIP — premium card + partner benefits */
.vip-section{padding-top:90px;padding-bottom:100px;background:var(--surface-2)}
.vip-intro{display:grid;gap:25px;margin-bottom:42px}
.vip-intro h2{font-size:clamp(36px,9vw,64px);line-height:1.05;letter-spacing:-.055em;margin:18px 0 0}
.vip-intro h2 span{color:var(--muted)}
.vip-intro>p{font-size:14px;color:var(--muted);max-width:500px;margin:0}
.vip-showcase{display:grid;gap:42px}
.vip-card-wrap{display:flex;flex-direction:column;align-items:center;min-width:0}
.vip-card{width:min(100%,520px);aspect-ratio:1.75/1;border:0;background:transparent;padding:0;cursor:pointer;perspective:1400px;-webkit-tap-highlight-color:transparent}
.vip-card:focus-visible{outline:2px solid var(--green);outline-offset:7px;border-radius:22px}
.vip-card-inner{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.vip-card.is-flipped .vip-card-inner{transform:rotateY(180deg)}
.vip-card-face{position:absolute;inset:0;display:block;overflow:hidden;border-radius:22px;background:#080909;border:1px solid rgba(255,255,255,.13);box-shadow:0 22px 50px rgba(0,0,0,.22);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.vip-card-face img{width:100%;height:100%;display:block;object-fit:cover}
.vip-card-back{transform:rotateY(180deg)}
.vip-card-hint{position:absolute;right:14px;bottom:14px;background:rgba(10,10,10,.78);color:#fff;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.4px}
.vip-card-note{margin:13px 0 0;font-size:10px;color:var(--muted);text-align:center}
.vip-benefits-wrap{min-width:0}
.vip-benefits-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:16px}
.vip-mini-kicker{font-size:9px;letter-spacing:1.6px;font-weight:900;color:var(--muted)}
.vip-benefits-head h3{font-size:26px;line-height:1.1;letter-spacing:-.04em;margin:7px 0 0}
.vip-count{font-size:8px;font-weight:900;letter-spacing:1.1px;color:var(--muted);white-space:nowrap}
.vip-benefits{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 2px 12px;overscroll-behavior-x:contain}
.vip-benefits::-webkit-scrollbar{display:none}
.vip-benefit-card{flex:0 0 min(82%,300px);min-height:220px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;scroll-snap-align:start;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.benefit-no,.benefit-type{font-size:8px;font-weight:900;letter-spacing:1.3px;color:var(--muted)}
.benefit-type{margin-top:4px}
.vip-benefit-card strong{font-size:24px;line-height:1.08;letter-spacing:-.04em;margin-top:auto;overflow-wrap:anywhere}
.vip-benefit-card b{font-size:19px;margin-top:5px;letter-spacing:-.02em}
.vip-benefit-card p{font-size:10px;color:var(--muted);margin:8px 0 0}
.vip-scroll-hint{font-size:10px;color:var(--muted);margin-top:4px}
@media(min-width:760px){
  .vip-section{padding-top:110px;padding-bottom:120px}
  .vip-intro{grid-template-columns:1.1fr .7fr;align-items:end}
  .vip-showcase{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:center;gap:55px}
  .vip-card{width:min(100%,500px)}
  .vip-benefit-card{flex-basis:280px}
}
@media(max-width:759px){
  .vip-section{padding-top:78px;padding-bottom:86px}
  .vip-intro h2{font-size:clamp(34px,9.5vw,48px)}
  .vip-showcase{gap:34px}
  .vip-card{width:100%;max-width:520px}
  .vip-card-face{border-radius:18px}
  .vip-card-hint{font-size:8px;right:10px;bottom:10px}
  .vip-benefits-head{align-items:flex-start;flex-direction:column;gap:7px}
  .vip-count{align-self:flex-start}
  .vip-benefit-card{flex-basis:78%;min-height:205px}
}
@media(prefers-reduced-motion:reduce){.vip-card-inner{transition:none}}

/* VIP V05 corrections: portrait physical card + desktop-friendly benefit scroller */
.vip-card{width:min(100%,320px);aspect-ratio:0.63/1}
.vip-card-face img{object-fit:fill}
.vip-benefits{position:relative;cursor:grab;touch-action:pan-x;user-select:none;-webkit-user-select:none}
.vip-benefits.is-dragging{cursor:grabbing;scroll-snap-type:none}
.vip-benefit-card{min-width:0}
.vip-slider-controls{display:flex;align-items:center;gap:8px;margin-top:10px}
.vip-slider-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;display:grid;place-items:center;cursor:pointer}
.vip-slider-btn:hover{background:var(--surface-2)}
.vip-slider-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.vip-slider-progress{font-size:9px;font-weight:800;letter-spacing:1px;color:var(--muted);margin-left:auto}
@media(min-width:760px){
  .vip-card{width:min(100%,300px)}
  .vip-showcase{grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);align-items:center;gap:70px}
  .vip-benefits{cursor:grab}
}
@media(max-width:759px){
  .vip-card{width:min(72vw,300px);max-width:300px}
}

/* V06: use the actual portrait artwork proportions and make the benefits rail start at card 01. */
.vip-card{aspect-ratio:288/504;}
.vip-card-face img{object-fit:cover;}
.vip-benefits{scroll-padding-left:2px;}
@media(min-width:760px){
  .vip-benefits{overscroll-behavior-x:contain;}
}
