/* ===== Riêng fitpitality.com. Token lấy từ site.css, không khai lại. ===== */

/* Hero trang chủ */
.hero{background:var(--ink);color:var(--canvas);position:relative;overflow:hidden;
  border-bottom:var(--bw-3) solid var(--brand);}
.hero-dots{position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(247,244,239,.4) 1.4px,transparent 1.5px);
  background-size:24px 24px;opacity:.25;
  -webkit-mask-image:radial-gradient(ellipse at 28% 42%,#000 14%,transparent 70%);
  mask-image:radial-gradient(ellipse at 28% 42%,#000 14%,transparent 70%);}
.hero-in{position:relative;z-index:2;padding:var(--s-24) 0 var(--s-16);max-width:var(--maxw-wide);
  margin:0 auto;text-align:center;}
.hero .ghep{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);
  font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:#CFC8BC;margin-bottom:var(--s-6);}
.hero .ghep b{color:var(--brand-soft);}
.hero .ghep .dau{color:var(--accent);font-size:1.2em;}
.hero h1{font-size:var(--t-hero);letter-spacing:var(--ls-hero);line-height:var(--lh-tight);
  text-transform:uppercase;color:var(--canvas);max-width:18ch;margin:0 auto var(--s-6);}
.hero h1 .n2{display:block;color:var(--brand-soft);}
.hero .lead{color:#EDE7DD;max-width:62ch;margin:0 auto var(--s-8);
  font-size:clamp(1.0625rem,1.7vw,1.35rem);line-height:1.5;}
.hero-cta{display:flex;gap:var(--s-4);flex-wrap:wrap;justify-content:center;}
.hero-loi{margin:var(--s-10) auto 0;max-width:fit-content;font-family:var(--font-mono);
  font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:#CFC8BC;
  padding:var(--s-3) var(--s-5);border:var(--bw) solid rgba(255,255,255,.35);border-radius:var(--radius);}
.hero-loi b{color:var(--brand-soft);}

/* Ba tầng kỳ vọng */
.tang{display:grid;gap:var(--s-4);}
.tang-o{display:grid;grid-template-columns:72px 1fr;gap:var(--s-5);align-items:start;
  background:var(--paper);border:var(--bw-2) solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:var(--s-6);}
.tang-o .so{font-family:var(--font-display);font-weight:700;font-size:2.4rem;line-height:1;
  color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums;}
.tang-o b{display:block;font-family:var(--font-display);font-size:var(--t-h3);margin-bottom:var(--s-2);}
.tang-o p{margin:0;color:var(--ink-2);}
.tang-o.nhan{border-width:var(--bw-3);box-shadow:var(--shadow-xl);background:var(--accent-bg-soft);}
.tang-o.nhan .so{color:var(--brand);}
.tang-o .tag{display:inline-block;margin-top:var(--s-3);font-family:var(--font-mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;border:var(--bw) solid var(--line);
  border-radius:var(--radius);padding:3px 8px;background:var(--canvas);}
.tang-o.nhan .tag{background:var(--brand);color:#fff;border-color:var(--brand);}

/* Sáu lời hứa */
.hua-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);}
.hua{background:var(--paper);border:var(--bw-2) solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:var(--s-6);display:flex;flex-direction:column;min-height:100%;}
.hua .so{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-text);margin-bottom:var(--s-3);}
.hua h3{margin-bottom:var(--s-3);}
.hua .cam{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;color:var(--ink);
  border-left:var(--bw-2) solid var(--brand);padding-left:var(--s-4);margin:0 0 var(--s-4);}
.hua p{margin:0;font-size:var(--t-small);color:var(--ink-2);}
.hua .hv{margin-top:auto;padding-top:var(--s-4);border-top:var(--bw) dashed var(--hairline);}
.hua .hv span{display:block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--ink-3);margin-bottom:var(--s-1);}

/* Tuyên ngôn in A4 */
.tuyen{background:var(--paper);border:var(--bw-3) solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-xl);padding:var(--s-12) var(--s-10);max-width:820px;margin:0 auto;}
.tuyen .dau{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-text);text-align:center;margin-bottom:var(--s-3);}
.tuyen h2{text-align:center;margin-bottom:var(--s-8);}
.tuyen ol{margin:0;padding:0;list-style:none;counter-reset:hua;}
.tuyen li{counter-increment:hua;display:grid;grid-template-columns:48px 1fr;gap:var(--s-4);
  padding:var(--s-4) 0;border-top:var(--bw) solid var(--hairline);align-items:baseline;}
.tuyen li::before{content:counter(hua,decimal-leading-zero);font-family:var(--font-display);
  font-weight:700;font-size:1.5rem;color:var(--brand);}
.tuyen li b{display:block;font-family:var(--font-display);font-size:var(--t-h4);}
.tuyen li span{color:var(--ink-2);font-size:var(--t-small);}
.tuyen .ky{margin-top:var(--s-8);padding-top:var(--s-5);border-top:var(--bw-2) solid var(--line);
  display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;
  font-family:var(--font-mono);font-size:var(--t-label);color:var(--ink-3);}

/* Sáu tư duy */
.tduy{display:grid;grid-template-columns:minmax(220px,30%) 1fr;gap:var(--s-8);align-items:start;
  padding:var(--s-8) 0;border-top:var(--bw-2) solid var(--line);}
.tduy:first-of-type{border-top:0;padding-top:0;}
.tduy .ten{position:sticky;top:calc(var(--nav-h) + var(--s-4));}
.tduy .ten .so{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-text);}
.tduy .ten h2{font-size:var(--t-h2);line-height:var(--lh-head);margin:var(--s-2) 0 var(--s-3);}
.tduy .ten .en{font-family:var(--font-mono);font-size:var(--t-label);color:var(--ink-3);}
.tduy .than p{margin:0 0 var(--s-4);}
.hanhvi{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-top:var(--s-5);}
.hv-o{border:var(--bw) solid var(--line);border-radius:var(--radius);padding:var(--s-4) var(--s-5);
  background:var(--paper);font-size:var(--t-small);}
.hv-o.dung{border-left:var(--bw-3) solid var(--brand);}
.hv-o.sai{border-left:var(--bw-3) solid var(--accent);color:var(--ink-2);}
.hv-o span{display:block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:var(--s-2);}
.hv-o.dung span{color:var(--brand-text);}
.hv-o.sai span{color:var(--accent-text);}

/* Bảy khoảnh khắc */
.kk-list{display:grid;gap:var(--s-4);}
.kk{display:grid;grid-template-columns:64px 1fr;gap:var(--s-5);align-items:start;
  background:var(--paper);border:var(--bw-2) solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:var(--s-6);}
.kk .so{font-family:var(--font-display);font-weight:700;font-size:2.2rem;line-height:1;
  color:var(--brand);text-align:center;font-variant-numeric:tabular-nums;}
.kk h3{margin-bottom:var(--s-2);}
.kk p{margin:0 0 var(--s-3);color:var(--ink-2);}
.kk p:last-child{margin:0;}
.kk .noi{display:inline-block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;border:var(--bw) solid var(--line);border-radius:var(--radius);
  padding:3px 8px;margin-bottom:var(--s-3);background:var(--canvas);}
.kk.ngoai{background:var(--accent-bg-soft);}
.kk.ngoai .noi{background:var(--brand);color:#fff;border-color:var(--brand);}
.kk .hoi{font-family:var(--font-display);font-weight:600;color:var(--brand-text);
  border-left:var(--bw-2) solid var(--brand);padding-left:var(--s-4);}

/* Hệ thống: bảng phân công */
.bang-nhap{width:100%;border-collapse:collapse;font-size:var(--t-small);}
.bang-nhap th,.bang-nhap td{border:var(--bw) solid var(--line);padding:var(--s-3) var(--s-4);
  text-align:left;vertical-align:top;}
.bang-nhap th{background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.06em;}
.bang-nhap td.trong{color:var(--ink-3);font-style:italic;}

/* Hai cửa cuối */
.cua{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);}
.cua-o{background:var(--paper);border:var(--bw-2) solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:var(--s-8);display:flex;flex-direction:column;}
.cua-o.nhan{border-width:var(--bw-3);box-shadow:var(--shadow-xl);background:var(--accent-bg-soft);}
.cua-o h3{margin-bottom:var(--s-3);}
.cua-o p{font-size:var(--t-small);color:var(--ink-2);margin:0 0 var(--s-6);}
.cua-o .btn{margin-top:auto;align-self:flex-start;}

/* Chân dung */
.ve{display:grid;grid-template-columns:minmax(260px,36%) 1fr;gap:var(--s-10);align-items:start;}
.ve-img{border:var(--bw-2) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  overflow:hidden;background:var(--brand);}
.ve-img img{display:block;width:100%;height:auto;}
.ve-cap{padding:var(--s-4) var(--s-5);background:var(--ink);color:#EDE7DD;font-family:var(--font-mono);
  font-size:var(--t-label);line-height:1.6;}
.ve-cap b{display:block;font-family:var(--font-display);font-size:1.15rem;color:#fff;}
.ve-vai{list-style:none;margin:var(--s-6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-3);}
.ve-vai li{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.03em;
  padding:var(--s-2) var(--s-4);border:var(--bw) solid var(--line);border-radius:var(--radius);background:var(--paper);}

/* Vị trí trong H-OE */
.tru-list{display:grid;gap:var(--s-3);}
.tru{display:grid;grid-template-columns:56px 1fr;gap:var(--s-4);align-items:start;
  background:rgba(255,255,255,.05);border:var(--bw) solid rgba(255,255,255,.3);
  border-radius:var(--radius);padding:var(--s-4) var(--s-5);}
.tru.day{background:var(--brand);border-color:var(--canvas);border-width:var(--bw-2);box-shadow:var(--shadow-light);}
.tru .ma{font-family:var(--font-mono);font-weight:600;font-size:var(--t-label);color:var(--brand-soft);
  letter-spacing:.06em;padding-top:3px;}
.tru.day .ma{color:#fff;}
.tru b{display:block;font-family:var(--font-display);font-size:var(--t-h4);color:#fff;margin-bottom:2px;}
.tru span{font-size:var(--t-small);color:#CFC8BC;}
.tru.day span{color:#E4ECEC;}

/* FAQ */
.faq details{border-top:var(--bw) solid var(--line);padding:var(--s-4) 0;}
.faq details:last-child{border-bottom:var(--bw) solid var(--line);}
.faq summary{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:var(--t-h4);
  list-style:none;display:flex;justify-content:space-between;gap:var(--s-4);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--brand);flex:none;}
.faq details[open] summary::after{content:"−";}
.faq details p{margin:var(--s-3) 0 0;color:var(--ink-2);max-width:70ch;}

.nut-in{display:inline-flex;align-items:center;gap:var(--s-2);}

@media (max-width:960px){
  .hero-in{padding:var(--s-16) 0 var(--s-12);}
  .hero h1{max-width:none;}
  .hua-grid,.hanhvi,.cua,.ve,.tduy{grid-template-columns:1fr;}
  .tduy .ten{position:static;}
  .tang-o,.kk{grid-template-columns:48px 1fr;}
  .tuyen{padding:var(--s-8) var(--s-5);}
}

@media (min-width:961px) and (max-width:1200px){
  .nav-in{gap:var(--s-3);}
  .nav-logo span{display:none;}
  .nav-links a{padding-left:var(--s-2);padding-right:var(--s-2);font-size:.75rem;}
  .nav-cta{display:none;}
  .nav-links{margin-left:auto;}
}

@media print{
  .nav,footer.contact,.khong-in{display:none !important;}
  body{background:#fff;}
  .block{padding:0;}
  .tuyen{box-shadow:none;border-width:2px;max-width:none;page-break-inside:avoid;}
  .block{padding:0 !important;}
  @page{size:A4;margin:16mm;}
}

/* Bổ sung cho .step trong nền tối và khi là link */
.block--dark .step b{color:#fff;}
a.step{color:var(--ink);}
a.step:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--brand-soft);}
