
/* HAI VU PIANO ACADEMY — 100 CHUYÊN ĐỀ KỸ THUẬT PIANO V15 */
.hv15-tech{
  --hv15-ink:#18384f;
  --hv15-muted:#667985;
  --hv15-line:rgba(24,56,79,.12);
  --hv15-gold:#9a7040;
  --hv15-soft:#f7f8f6;
  --hv15-paper:#fffdfa;
  color:var(--hv15-ink);
  background:#fff;
}
.hv15-wrap{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.hv15-hero{
  padding:78px 0 62px;
  background:linear-gradient(90deg,#fbfaf6 0%,#f7fafb 100%);
  border-bottom:1px solid rgba(24,56,79,.07)
}
.hv15-eyebrow{display:block;margin-bottom:13px;color:var(--hv15-gold);font-size:12px;font-weight:650;letter-spacing:.055em}
.hv15-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);gap:72px;align-items:end}
.hv15-hero h1{margin:0 0 18px;font-size:clamp(44px,4.2vw,54px);line-height:1.07;letter-spacing:-.035em;font-weight:610}
.hv15-hero p{max-width:780px;margin:0;color:var(--hv15-muted);font-size:17px;line-height:1.72}
.hv15-summary{padding-left:28px;border-left:1px solid var(--hv15-line)}
.hv15-summary strong{display:block;margin-bottom:10px;font-size:28px;font-weight:600;letter-spacing:-.02em}
.hv15-summary span{display:block;color:var(--hv15-muted);font-size:14px;line-height:1.65}
.hv15-tools{padding:28px 0;border-bottom:1px solid rgba(24,56,79,.08);background:#fff}
.hv15-toolrow{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px}
.hv15-search,.hv15-select{
  width:100%;min-height:46px;padding:0 14px;border:1px solid rgba(24,56,79,.16);border-radius:9px;
  background:#fff;color:var(--hv15-ink);font:inherit;font-size:14px;outline:none
}
.hv15-search:focus,.hv15-select:focus{border-color:rgba(18,63,91,.38)}
.hv15-index{padding:72px 0 110px}
.hv15-part{display:grid;grid-template-columns:310px minmax(0,1fr);gap:64px;padding:52px 0;border-top:1px solid var(--hv15-line)}
.hv15-part:first-child{border-top:0;padding-top:0}
.hv15-part-meta{position:sticky;top:110px;align-self:start}
.hv15-part-no{display:block;margin-bottom:10px;color:var(--hv15-gold);font-size:12px;font-weight:650;letter-spacing:.05em}
.hv15-part h2{margin:0 0 14px;font-size:30px;line-height:1.22;letter-spacing:-.022em;font-weight:610}
.hv15-part-intro{margin:0;color:var(--hv15-muted);font-size:14px;line-height:1.68}
.hv15-list{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.hv15-item{border-bottom:1px solid rgba(24,56,79,.1)}
.hv15-item a{display:grid;grid-template-columns:42px 1fr 18px;gap:12px;align-items:center;min-height:72px;padding:10px 0;color:var(--hv15-ink);text-decoration:none}
.hv15-item a:hover .hv15-item-title{color:#0d547e}
.hv15-num{color:var(--hv15-gold);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.hv15-item-title{font-size:15px;line-height:1.45;font-weight:560}
.hv15-arrow{color:#8da0aa;font-size:15px}
.hv15-empty{display:none;padding:42px 0;color:var(--hv15-muted);font-size:15px}

/* Article */
.hv15-article-hero{padding:66px 0 46px;background:#fbfaf7;border-bottom:1px solid rgba(24,56,79,.08)}
.hv15-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;color:#788993;font-size:12px}
.hv15-breadcrumb a{color:inherit;text-decoration:none}
.hv15-article-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:end}
.hv15-article-no{display:block;margin-bottom:11px;color:var(--hv15-gold);font-size:12px;font-weight:650;letter-spacing:.05em}
.hv15-article-hero h1{max-width:800px;margin:0 0 18px;font-size:clamp(42px,4.1vw,52px);line-height:1.08;letter-spacing:-.035em;font-weight:610}
.hv15-article-deck{max-width:800px;margin:0;color:var(--hv15-muted);font-size:16px;line-height:1.7}
.hv15-article-context{padding-left:24px;border-left:1px solid var(--hv15-line);color:var(--hv15-muted);font-size:13px;line-height:1.65}
.hv15-article-context strong{display:block;margin-bottom:8px;color:var(--hv15-ink);font-size:14px;font-weight:620}
.hv15-article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:76px;justify-content:space-between;padding:64px 0 104px}
.hv15-copy section{padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--hv15-line)}
.hv15-copy section:last-child{border-bottom:0;margin-bottom:0}
.hv15-copy h2{margin:0 0 16px;font-size:22px;line-height:1.3;font-weight:610}
.hv15-copy p{margin:0;color:#334f61;font-size:17px;line-height:1.78}
.hv15-aside{align-self:start;position:sticky;top:104px}
.hv15-aside-title{margin-bottom:14px;color:var(--hv15-gold);font-size:11px;font-weight:650;letter-spacing:.06em}
.hv15-aside a{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:9px 0;border-bottom:1px solid rgba(24,56,79,.08);color:#6e7e87;text-decoration:none;font-size:12px;line-height:1.42}
.hv15-aside a.current{color:var(--hv15-ink);font-weight:620}
.hv15-aside a span:first-child{color:#a17a4c;font-variant-numeric:tabular-nums}
.hv15-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:54px;padding-top:24px;border-top:1px solid var(--hv15-line)}
.hv15-prevnext a{padding:18px 0;color:var(--hv15-ink);text-decoration:none}
.hv15-prevnext a:last-child{text-align:right}
.hv15-prevnext small{display:block;margin-bottom:5px;color:#83929b;font-size:11px}
.hv15-prevnext strong{font-size:14px;line-height:1.45;font-weight:600}

@media(max-width:960px){
 .hv15-hero-grid,.hv15-article-hero-grid{grid-template-columns:1fr;gap:28px}
 .hv15-summary,.hv15-article-context{padding-left:0;padding-top:20px;border-left:0;border-top:1px solid var(--hv15-line)}
 .hv15-part{grid-template-columns:1fr;gap:26px}
 .hv15-part-meta,.hv15-aside{position:static}
 .hv15-article-layout{grid-template-columns:1fr;gap:54px}
}
@media(max-width:720px){
 .hv15-wrap{width:min(100% - 32px,1220px)}
 .hv15-hero{padding:56px 0 44px}
 .hv15-hero h1,.hv15-article-hero h1{font-size:clamp(36px,10vw,42px)}
 .hv15-toolrow{grid-template-columns:1fr}
 .hv15-index{padding:52px 0 74px}
 .hv15-part{padding:42px 0}
 .hv15-list{grid-template-columns:1fr}
 .hv15-article-hero{padding:48px 0 38px}
 .hv15-article-layout{padding:48px 0 74px}
 .hv15-copy p{font-size:16px;line-height:1.75}
 .hv15-prevnext{grid-template-columns:1fr}
 .hv15-prevnext a:last-child{text-align:left}
}
