/* ===== FS+MEDIA Homepage (scoped .fh) ===== */
.fh{--blue:#1f4eff;--blue2:#1735b4;--ink:#0b1220;--muted:#5b6678;--navy:#0b1733;--line:#e6eaf2;
 font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;color:var(--ink);}
.fh *{box-sizing:border-box;}
.fh h1,.fh h2,.fh h3,.fh p{margin:0;}
.fh img{display:block;max-width:100%;}
.fh-wrap{width:min(100% - 48px,1180px);margin-inline:auto;}
.fh-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.66);}
.fh-eyebrow.blue{color:var(--blue);}
.fh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 32px;border-radius:999px;font-weight:800;font-size:1rem;cursor:pointer;transition:transform .3s,box-shadow .3s,background .3s,color .3s;}
.fh-btn-light{background:#fff;color:#0b1220;box-shadow:0 18px 44px rgba(8,16,31,.20);}
.fh-btn-light:hover{transform:translateY(-3px);}
.fh-btn-ghost{border:1px solid rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.06);margin-left:12px;}
.fh-btn-ghost:hover{background:rgba(255,255,255,.12);}

/* HERO */
.fh-hero{padding:26px 24px 0;}
.fh-hero-inner{width:min(100%,1180px);margin-inline:auto;border-radius:34px;text-align:center;color:#fff;
 padding:clamp(54px,8vw,120px) clamp(24px,5vw,72px);
 background:
  radial-gradient(circle at 20% 0%, rgba(31,78,255,.95), transparent 34rem),
  radial-gradient(circle at 88% 8%, rgba(255,130,102,.30), transparent 26rem),
  linear-gradient(150deg,#1c40d8 0%,#11225f 52%,#0a1430 100%);
 box-shadow:0 44px 100px rgba(17,34,95,.40);}
.fh-hero h1{margin:22px auto 0;max-width:16ch;font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;font-weight:800;letter-spacing:-.01em;}
.fh-hero .fh-lead{margin:22px auto 0;max-width:60ch;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.6;}
.fh-hero .fh-actions{margin-top:34px;}

/* STATS */
.fh-stats{width:min(100% - 48px,980px);margin:clamp(46px,7vw,86px) auto;display:grid;grid-template-columns:repeat(3,1fr);}
.fh-stat{padding:6px 30px;text-align:center;}
.fh-stat + .fh-stat{border-left:1px solid var(--line);}
.fh-stat-ico{width:46px;height:46px;margin:0 auto;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,rgba(31,78,255,.12),rgba(31,78,255,.04));color:var(--blue);}
.fh-stat-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;}
.fh-stat-num{display:block;margin:16px 0 10px;font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;color:var(--ink);line-height:1;}
.fh-stat-text{color:var(--muted);font-size:.96rem;line-height:1.5;max-width:230px;margin-inline:auto;}

/* FEATURE */
.fh-feature{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(32px,4.5vw,68px);align-items:center;margin:clamp(46px,7vw,90px) auto;}
.fh-feat-media{position:relative;}
.fh-feat-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:26px;box-shadow:0 34px 80px rgba(8,16,31,.18);}
.fh-feat-copy h2{margin:16px 0 0;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.14;letter-spacing:-.01em;}
.fh-feat-copy .fh-lead{margin:18px 0 0;color:var(--muted);font-size:1.02rem;line-height:1.6;max-width:52ch;}
.fh-cards{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:1px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(11,23,51,.35);}
.fh-card{background:var(--navy);padding:clamp(18px,2vw,26px);}
.fh-card-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(31,78,255,.22);color:#9db4ff;margin-bottom:14px;}
.fh-card-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;}
.fh-card h3{color:#fff;font-size:1.04rem;font-weight:700;margin-bottom:8px;}
.fh-card p{color:rgba(255,255,255,.64);font-size:.9rem;line-height:1.55;}

/* PROCESS */
.fh-process{margin:clamp(46px,7vw,90px) auto;}
.fh-head{text-align:center;max-width:740px;margin:0 auto clamp(40px,5vw,64px);}
.fh-head h2{margin-top:14px;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-.01em;}
.fh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative;}
.fh-steps::before{content:"";position:absolute;top:27px;left:7%;right:7%;height:2px;background:var(--line);z-index:0;}
.fh-step{position:relative;padding-top:74px;}
.fh-step-num{position:absolute;top:0;left:0;width:54px;height:54px;border-radius:50%;border:2px solid var(--line);background:#fff;display:grid;place-items:center;font-family:ui-monospace,monospace;font-weight:800;color:var(--blue);z-index:1;}
.fh-step-ico{color:var(--blue);margin-bottom:12px;}
.fh-step-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;}
.fh-step h3{font-size:1.06rem;font-weight:700;margin-bottom:8px;}
.fh-step p{color:var(--muted);font-size:.92rem;line-height:1.55;}

/* CTA */
.fh-cta{margin:clamp(46px,7vw,90px) auto clamp(60px,8vw,110px);}
.fh-cta-inner{border-radius:34px;text-align:center;color:#fff;padding:clamp(48px,6vw,96px) 24px;
 background:radial-gradient(circle at 16% 0%, rgba(31,78,255,.40), transparent 30rem),linear-gradient(160deg,#0e1b3d,#070f24);}
.fh-cta-inner h2{max-width:740px;margin:0 auto;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;line-height:1.18;letter-spacing:-.01em;}
.fh-cta-inner .fh-lead{max-width:560px;margin:18px auto 0;color:rgba(255,255,255,.74);line-height:1.6;}
.fh-cta-inner .fh-actions{margin-top:30px;}

@media (max-width:900px){
 .fh-stats{grid-template-columns:1fr;gap:0;}
 .fh-stat + .fh-stat{border-left:0;border-top:1px solid var(--line);}
 .fh-stat{padding:22px 0;}
 .fh-feature{grid-template-columns:1fr;}
 .fh-cards{grid-template-columns:1fr;}
 .fh-steps{grid-template-columns:1fr 1fr;gap:32px 26px;}
 .fh-steps::before{display:none;}
}
@media (max-width:540px){
 .fh-steps{grid-template-columns:1fr;}
 .fh-btn-ghost{margin-left:0;margin-top:12px;}
 .fh-hero .fh-actions{display:flex;flex-direction:column;align-items:stretch;}
}

/* heading color fixes (beat Astra) */
.fh-hero h1{color:#fff!important;}
.fh-cta-inner h2{color:#fff!important;}
.fh-card h3{color:#fff!important;}
.fh-feat-copy h2,.fh-head h2,.fh-step h3{color:var(--ink)!important;}
.fh-stat-num{color:var(--ink)!important;}

/* ============================================================
   INNER PAGES — bộ thành phần .fh (đồng bộ trang chủ)
   ============================================================ */
.fh-page-hero{padding:26px 24px 0;}
.fh-page-hero-inner{width:min(100%,1180px);margin-inline:auto;border-radius:30px;text-align:center;color:#fff;
 padding:clamp(46px,6vw,86px) clamp(24px,5vw,64px);
 background:radial-gradient(circle at 22% 0%,rgba(31,78,255,.95),transparent 30rem),radial-gradient(circle at 88% 10%,rgba(255,130,102,.26),transparent 24rem),linear-gradient(150deg,#1c40d8,#11225f 55%,#0a1430);
 box-shadow:0 40px 90px rgba(17,34,95,.36);}
.fh-page-hero h1{margin:18px auto 0;max-width:22ch;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;font-weight:800;letter-spacing:-.01em;color:#fff!important;}
.fh-page-hero .fh-lead{margin:18px auto 0;max-width:62ch;color:rgba(255,255,255,.8);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.6;}
.fh-page-hero .fh-actions{margin-top:26px;}

.fh-section{width:min(100% - 48px,1180px);margin:clamp(46px,7vw,84px) auto;}
.fh-section-head{max-width:760px;margin-bottom:clamp(28px,4vw,46px);}
.fh-section-head.center{margin-inline:auto;text-align:center;}
.fh-section-head h2{margin-top:12px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.16;letter-spacing:-.01em;color:var(--ink);}
.fh-section-head .fh-lead{margin-top:16px;color:var(--muted);font-size:1.02rem;line-height:1.6;}

.fh-grid{display:grid;gap:18px;}
.fh-grid.c2{grid-template-columns:1fr 1fr;}
.fh-grid.c3{grid-template-columns:repeat(3,1fr);}
.fh-grid.c4{grid-template-columns:repeat(4,1fr);}
.fh-lcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,2.4vw,28px);box-shadow:0 16px 40px rgba(8,16,31,.05);}
.fh-lcard h3{font-size:1.12rem;font-weight:700;margin-bottom:8px;color:var(--ink);}
.fh-lcard p{color:var(--muted);font-size:.96rem;line-height:1.6;}
.fh-lcard .fh-card-ico{margin-bottom:14px;background:linear-gradient(135deg,rgba(31,78,255,.14),rgba(31,78,255,.05));color:var(--blue);}

.fh-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;}
.fh-split-media img{width:100%;border-radius:24px;box-shadow:0 30px 70px rgba(8,16,31,.14);}
.fh-note{margin-top:18px;padding:18px 20px;border-radius:16px;background:#eef3ff;}
.fh-note strong{display:block;color:var(--ink);margin-bottom:4px;}.fh-note span{color:var(--muted);}

.fh-band{background:linear-gradient(160deg,#0c1733,#070f24);border-radius:0;}
.fh-band-wrap{width:min(100% - 48px,1180px);margin-inline:auto;padding-block:clamp(40px,6vw,78px);}
.fh-band .fh-section-head h2{color:#fff;}.fh-band .fh-section-head .fh-lead{color:rgba(255,255,255,.72);}

.fh-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;}
.fh-price{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 40px rgba(8,16,31,.05);}
.fh-price .tag{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);background:rgba(31,78,255,.08);padding:6px 12px;border-radius:999px;}
.fh-price h3{margin:14px 0 6px;font-size:1.4rem;font-weight:800;color:var(--ink);}
.fh-price p{color:var(--muted);font-size:.96rem;line-height:1.55;}
.fh-price ul{list-style:none;margin:16px 0;padding:0;display:grid;gap:9px;}
.fh-price li{position:relative;padding-left:24px;color:var(--ink);font-size:.95rem;}
.fh-price li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg);}
.fh-price .fh-btn{margin-top:auto;}
.fh-price.featured{background:linear-gradient(150deg,#1f4eff,#1735b4);border-color:transparent;color:#fff;box-shadow:0 30px 70px rgba(31,78,255,.32);}
.fh-price.featured h3,.fh-price.featured li{color:#fff;}.fh-price.featured p{color:rgba(255,255,255,.82);}
.fh-price.featured .tag{color:#0b1220;background:#fff;}.fh-price.featured li::before{border-color:#fff;}
.fh-btn-dark{background:var(--ink);color:#fff;}.fh-btn-dark:hover{transform:translateY(-3px);}

.fh-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;}
.fh-table{width:100%;min-width:640px;border-collapse:collapse;}
.fh-table th,.fh-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.95rem;}
.fh-table thead th{background:#f3f6ff;font-weight:800;color:var(--ink);}
.fh-table td{color:var(--muted);}.fh-table td:first-child{color:var(--ink);font-weight:700;}
.fh-table tr:last-child td{border-bottom:0;}

.fh-faq{display:grid;gap:12px;}
.fh-faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px 20px;}
.fh-faq summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;}
.fh-faq summary::-webkit-details-marker{display:none;}
.fh-faq p{margin-top:10px;color:var(--muted);line-height:1.6;}

.fh-mcard{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px rgba(8,16,31,.05);display:flex;flex-direction:column;}
.fh-mcard img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.fh-mcard .body{padding:18px 20px;}
.fh-mcard .tag{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--blue);margin-bottom:10px;}
.fh-mcard h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:8px;}
.fh-mcard p{color:var(--muted);font-size:.95rem;line-height:1.55;}
.fh-link{display:inline-block;margin-top:12px;color:var(--blue);font-weight:700;}

.fh-topics{display:grid;gap:10px;}
.fh-topics a{padding:14px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.05);color:#fff;font-weight:700;transition:transform .3s,background .3s;}
.fh-topics a:hover{background:rgba(255,255,255,.1);transform:translateX(4px);}

.fh-quote{background:linear-gradient(160deg,#0c1733,#070f24);color:#fff;border-radius:22px;padding:clamp(26px,3vw,42px);}
.fh-quote blockquote{margin:0;font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:800;line-height:1.25;}
.fh-quote cite{display:block;margin-top:16px;color:rgba(255,255,255,.7);font-style:normal;}

.fh-video{max-width:920px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 70px rgba(8,16,31,.16);background:#000;}
.fh-video .frame{position:relative;aspect-ratio:16/9;}
.fh-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.fh-contact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 40px rgba(8,16,31,.05);}
.fh-contact-card h3{font-size:1.4rem;font-weight:800;margin:8px 0;color:var(--ink);}
.fh-contact-card p{margin:8px 0;color:var(--muted);}.fh-contact-card a{color:var(--blue);font-weight:700;}
.fh-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.6vw,30px);box-shadow:0 16px 40px rgba(8,16,31,.05);}
.e-con.fh-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;align-items:start;}

@media(max-width:900px){
 .fh-grid.c3,.fh-grid.c4,.fh-pricing{grid-template-columns:1fr 1fr;}
 .fh-split{grid-template-columns:1fr;}
 .e-con.fh-contact{grid-template-columns:1fr;}
}
@media(max-width:600px){
 .fh-grid.c2,.fh-grid.c3,.fh-grid.c4,.fh-pricing{grid-template-columns:1fr;}
}

/* blog post cards + gradient placeholder */
.fh-mcard-link{color:inherit;text-decoration:none;transition:transform .3s,box-shadow .3s;}
.fh-mcard-link:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(8,16,31,.1);}
.fh-mcard-ph{display:block;aspect-ratio:16/10;background:radial-gradient(circle at 28% 18%,rgba(223,255,105,.22),transparent 40%),radial-gradient(circle at 82% 0%,rgba(31,78,255,.55),transparent 55%),linear-gradient(150deg,#1c40d8,#0a1430);}

/* PAGINATION (blog) */
.fh-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:46px auto 0;}
.fh-pager .fh-page{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;text-decoration:none;transition:all .2s;}
.fh-pager a.fh-page:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);}
.fh-pager .fh-page.current{background:var(--blue);border-color:var(--blue);color:#fff;}
.fh-pager .fh-page.dots{border:none;background:transparent;}

/* VIETNAMESE DIACRITICS — nới line-height & chừa chỗ để dấu thanh không bị cắt */
.fh h1,.fh h2,.fh h3{line-height:1.22!important;}
.fh-hero h1{line-height:1.14!important;padding-bottom:.04em;}
.fh-cta-inner h2,.fh-page-hero h1,.fh-section-head h2,.fh-feat-copy h2,.fh-head h2,.fh-band .fh-section-head h2{line-height:1.2!important;}
.fh h1,.fh h2,.fh h3{padding-top:.06em;overflow:visible;}
.fh-card,.fh-mcard .body,.fh-lcard{overflow:visible;}
.fh-card p,.fh-lcard p,.fh-mcard p,.fh-step p,.fh-stat-text,.fh-lead{line-height:1.6;}
.fh-card p{padding-bottom:2px;}
