:root{--afc-teal:#006b80;--afc-gold:#d5b72a;--afc-gray:#666}
body{margin:0;background:#fff;color:#333;font-family:Arial,Helvetica,sans-serif}.afc-shell{width:100%;max-width:none;margin:0;background:#fff;box-shadow:none}.site-header{width:1200px;max-width:100%;margin:auto}.brand-row{height:104px;padding:0 18px;box-sizing:border-box}.afc-logo img{width:160px;max-height:86px;object-fit:contain}.header-banner img{width:430px;max-height:82px;object-fit:contain}.header-tools{font-size:12px}.site-nav{background:var(--afc-teal);border:0;min-height:30px}.site-nav>ul,.site-nav .menu{justify-content:center}.site-nav a{color:#fff;font-weight:bold;padding:8px 13px;font-size:12px}.site-nav li:hover>a,.site-nav .current-menu-item>a{background:#004f61;color:#fff}.site-nav .sub-menu{background:#fff;border-top:3px solid var(--afc-gold);box-shadow:0 5px 14px #0003}.site-nav .sub-menu a{color:#333;padding:8px 13px}.site-nav .sub-menu li:hover>a{background:#f3f3f3;color:var(--afc-teal)}
.legacy-home{width:100%;padding:0}.afc-video-hero{width:100%;height:auto;aspect-ratio:16/9;max-height:calc(100vh - 134px);min-height:420px;background:#111;position:relative;overflow:hidden}.afc-video-hero .slides,.afc-video-hero .slide{position:absolute;inset:0}.afc-video-hero iframe,.afc-video-hero img{width:100%;height:100%;display:block;border:0;object-fit:cover}.afc-video-hero .hero-caption{position:absolute;z-index:5;left:5%;right:5%;bottom:22px;padding:13px 20px;background:#162c36b8;color:#fff;text-align:center;font:24px Georgia,serif}.new-home-inner{width:1200px;max-width:calc(100% - 28px);margin:0 auto}.home-columns{display:grid;grid-template-columns:minmax(0,820px) 350px;gap:30px;align-items:start;margin-top:10px}.course-search{height:auto;padding:12px 16px;background:#777;display:grid;grid-template-columns:1fr 115px 145px;gap:14px}.course-search input{height:34px}.course-search button,.course-search a{height:34px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#ffda28,#e5a500);border:1px solid #b78b00;color:#222;font-weight:bold;text-decoration:none;box-sizing:border-box}
.new-section{margin:16px 0 26px;border:1px solid #dedede;background:#fff;overflow:hidden}.home-main .new-section>h2{height:auto;min-height:42px;margin:0;padding:10px 14px;display:flex;align-items:center;background:linear-gradient(#ffd538,#f3b400);border:0;color:#222;font-size:17px;line-height:1.25}.home-main .new-section>h2 a{display:block;color:#222;text-decoration:none}.home-main .new-section .section-grid{padding:14px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,.85fr);gap:18px}.section-lead{display:grid;grid-template-columns:180px 1fr;gap:12px}.section-lead .story-thumb{height:135px}.section-lead img{width:100%;height:100%;object-fit:cover}.section-lead h3{font-size:15px;margin:0 0 8px;line-height:1.28}.section-lead h3 a,.section-minis a{color:#333;text-decoration:none}.section-lead p{font-size:12px;line-height:1.45;margin:0;color:#555}.section-minis{display:grid;gap:7px}.section-minis article a{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:center;font-size:12px;line-height:1.25}.section-minis img{width:78px;height:52px;object-fit:cover}.wide-ad{display:block;margin:6px 0 19px}.wide-ad img{display:block;width:100%;height:auto}.master-ad{padding:17px 22px;background:linear-gradient(105deg,#10151c,#394452);color:#ffd633;text-decoration:none;font-size:19px}.master-ad b{display:block;color:#fff;font-size:13px;margin-top:4px}
.home-sidebar{display:grid;gap:12px}.side-image,.side-image img,.office-map{display:block;width:100%;height:auto}.side-widget,.side-contact{border:1px solid #bbb;background:#fff;padding:0 11px 10px}.side-widget h2,.side-contact h2{margin:0 -11px 10px;padding:7px 10px;background:#777;color:#fff;font-size:14px;text-align:center}.side-contact{font-size:13px;line-height:1.45}.side-contact b{display:block;color:#d71920;font-size:19px}.side-contact small{display:block;margin-top:7px}.side-list>a{display:block;padding:5px 0 5px 12px;color:#333;text-decoration:none;font-size:12px;border-bottom:1px dotted #bbb;position:relative}.side-list>a:before{content:'•';position:absolute;left:0;color:var(--afc-gold)}.people>a{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:center;margin:7px 0;color:#333;text-decoration:none;font-size:12px}.people img{width:58px;height:58px;object-fit:cover}.quick-contact{position:fixed;right:8px;top:42%;z-index:999;display:grid;width:58px;background:#fff;border:1px solid #bbb;border-radius:7px;overflow:hidden;box-shadow:0 2px 8px #0002}.quick-contact a,.quick-contact button{padding:6px 2px;border:0;border-bottom:1px solid #ddd;background:#fff;color:#1671aa;text-align:center;text-decoration:none;font-size:10px;cursor:pointer}.quick-contact b{display:block;font-size:16px}.quick-contact span{display:block}
.site-footer{width:1200px;max-width:calc(100% - 28px);margin:35px auto 0;padding:0;background:#fff;color:#444}.footer-finance-title{background:var(--afc-teal);color:#fff;font-weight:bold;padding:8px 12px}.footer-features{border:1px solid var(--afc-teal);border-top:0}.footer-feature{border-color:var(--afc-teal)}.footer-feature h2{background:#e7f0f2;border-bottom:3px solid var(--afc-teal)}.footer-divider{width:100vw;max-width:none;margin-left:calc((1200px - 100vw)/2)}.footer-main{padding:34px 0}.copyright{color:#c34242;background:#fff}
/* Original fixed contact icons restored from the AFC backup. */
.quick-contact{position:fixed;right:13px;top:auto;bottom:13px;z-index:999;display:block;width:74px;padding:10px 0 0;background:#fff;border:1px solid #bbb;border-radius:5px;overflow:hidden;box-shadow:none}.quick-contact a,.quick-contact button{display:block;width:100%;max-width:72px;max-height:54px;padding:3px;border:0;border-radius:5px;background:transparent;color:#515151;text-align:center;text-decoration:none;font-size:10px;font-weight:700;line-height:15px;cursor:pointer}.quick-contact a{border-bottom:0}.quick-contact img{display:block;width:36px;height:36px;margin:auto;object-fit:contain}.quick-contact a span{display:block}.quick-contact button{height:42px;margin:0 auto}.quick-contact button img{width:36px;height:36px}.quick-contact b{display:none}
@media(max-width:900px){.brand-row{height:84px}.header-banner{display:none}.afc-video-hero{min-height:260px;max-height:none}.afc-video-hero .hero-caption{font-size:16px}.home-columns{grid-template-columns:1fr}.home-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-contact{display:none}.footer-divider{margin-left:-14px}.section-grid{grid-template-columns:1fr}.site-nav a{font-size:11px}}
@media(max-width:600px){.afc-video-hero{min-height:220px}.new-home-inner{max-width:calc(100% - 20px)}.course-search{grid-template-columns:1fr 95px}.course-search a{display:none}.section-lead{grid-template-columns:120px 1fr}.home-sidebar{grid-template-columns:1fr}.site-footer{max-width:calc(100% - 20px)}.footer-main{padding:24px 0}.afc-video-hero .hero-caption{bottom:8px;padding:8px;font-size:13px}}

/* Desktop proportions copied from the live afc.edu.vn homepage (2026). */
@media (min-width: 981px) {
  .afc-shell { width: 100%; max-width: none; }
  .site-header { width: 1200px; max-width: 100%; }
  .brand-row { height: 132px; padding: 0; align-items: flex-start; }
  .afc-logo { width: 250px; flex: 0 0 250px; }
  .afc-logo img { width: 250px; max-width: none; max-height: none; height: auto; }
  .header-banner { width: 500px; margin: 0; flex: 0 0 500px; }
  .header-banner img { width: 500px; max-width: none; max-height: none; height: auto; }
  .header-tools { width: 209px; flex: 0 0 209px; min-height: 90px; padding: 16px 0 0; font-size: 12px; }
  .site-nav { min-height: 32px; }
  .site-nav > ul, .site-nav .menu { min-height: 32px; justify-content: flex-start; }
  .site-nav li { min-width: 0; }
  .site-nav > ul > li { flex: 0 0 auto; }
  .site-nav a, .site-nav > ul > li > a { min-height: 32px; height: 32px; padding: 5px 12px 5px 11px; font: bold 15px/22px Tahoma,Arial,sans-serif; white-space: nowrap; }
  .afc-video-hero { min-height: 650px; height: 650px; max-height: none; aspect-ratio: auto; margin-top: -4px; }
  /* The reference site's homepage video has no separate text overlay. */
  .afc-video-hero .hero-caption { display: none; }
  .new-home-inner { width: 1200px; max-width: 100%; }
  .home-columns { grid-template-columns: 840px 360px; gap: 0; margin-top: 7px; }
  .home-main { width: 840px; padding-right: 20px; }
  .home-sidebar { width: 360px; }
  .course-search { width: 810px; }
  .home-main .new-section { width: 810px; }
  .wide-ad { width: 810px; }
  .site-footer { width: 1200px; max-width: 100%; }
  .afc-language-en .site-nav > ul { justify-content: stretch; }
  .afc-language-en .site-nav > ul > li { flex: 1 1 0; }
  .afc-language-en .site-nav > ul > li > a {
    height: 54px;
    min-height: 54px;
    padding: 6px 8px;
    font: bold 12px/16px Arial, sans-serif;
    white-space: normal;
    text-align: center;
  }
}
.subpage{min-height:520px;background:#f5f5f5;padding:28px 14px}.subpage-wrap{width:1200px;max-width:100%;margin:auto;background:#fff;padding:25px 30px}.page-entry>h1{margin:0 0 22px;padding-bottom:10px;border-bottom:3px solid var(--afc-gold);color:var(--afc-teal);font-size:25px}.page-body{font-size:14px;line-height:1.7}.page-body img,.entry-body img{height:auto;max-width:100%}.subpage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.subpage-card{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:10px;border:1px solid #ddd}.subpage-thumb img{width:170px;height:115px;object-fit:cover}.subpage-card h2{margin:0 0 8px;font-size:16px;line-height:1.35}.subpage-card p{margin:0;color:#555;font-size:13px}.content .wrap{width:1200px;max-width:100%;background:#fff;padding:28px 30px}.entry-body{font-size:14px;line-height:1.7}.entry-body:after{content:'';display:block;clear:both}@media(max-width:760px){.subpage-wrap,.content .wrap{padding:20px 14px}.subpage-grid{grid-template-columns:1fr}.subpage-card{grid-template-columns:110px 1fr}.subpage-thumb img{width:110px;height:85px}}

/* Mobile/tablet: the legacy mega-menu is an accordion, not a page-long list. */
@media (max-width:980px) {
  html, body { overflow-x: hidden; }
  .site-header { width: 100%; }
  .brand-row { padding: 0 14px; }
  .afc-logo img { width: 128px; max-height: 76px; }
  .header-tools { margin-left: auto; text-align: right; }
  .nav-toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
  .nav-toggle span { display: block; flex: 0 0 3px; width: 24px; height: 3px; margin: 2px 0; }
  .site-nav { max-height: calc(100vh - 84px); overflow-y: auto; }
  .site-nav > ul, .site-nav .menu { display: block !important; min-height: 0; }
  .site-nav > ul > li { position: relative; display: block; width: 100%; margin: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .site-nav > ul > li > a { display: flex; align-items: center; min-height: 48px; height: auto; padding: 10px 54px 10px 16px; font-size: 14px; line-height: 1.35; white-space: normal; }
  .site-nav .sub-menu, .site-nav > ul > li:hover > .sub-menu, .site-nav > ul > li:focus-within > .sub-menu { display: none !important; position: static !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: #fff !important; }
  .site-nav > ul > li.submenu-open > .sub-menu,
  .site-nav > ul > li > .sub-menu > li.submenu-open > .sub-menu { display: block !important; }
  .site-nav > ul > li > .sub-menu > li { position: relative; display: block; width: 100% !important; margin: 0 !important; }
  .site-nav > ul > li > .sub-menu > li > a { display: block; min-height: 0; height: auto; padding: 11px 42px 11px 24px; background: #f0f5f6 !important; color: #075d70 !important; font-size: 13px; line-height: 1.35; white-space: normal; }
  .site-nav > ul > li > .sub-menu > li > .sub-menu { background: #fff !important; }
  .site-nav > ul > li > .sub-menu > li > .sub-menu > li > a { display: block; height: auto; min-height: 0; padding: 10px 18px 10px 38px; color: #333 !important; font-size: 13px; line-height: 1.4; white-space: normal; }
  .submenu-toggle { position: absolute; z-index: 3; top: 0; right: 0; width: 50px; height: 48px; padding: 0; border: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
  .submenu-toggle::before { content: '+'; }
  li.submenu-open > .submenu-toggle::before { content: '−'; }
  .site-nav > ul > li > .sub-menu > li > .submenu-toggle { top: 0; color: #075d70; }
  .home-columns { gap: 18px; }
  .home-main, .home-sidebar { min-width: 0; }
  .footer-divider { width: 100%; margin-left: 0; }
}
@media (min-width:981px) { .submenu-toggle { display: none !important; } }

/* Fluid desktop layout for small laptops and landscape tablets. */
@media (min-width:981px) and (max-width:1220px) {
  .site-header, .new-home-inner, .site-footer {
    width: calc(100% - 24px); max-width: none;
  }
  .brand-row { width: 100%; height: 112px; }
  .afc-logo { width: 220px; flex: 0 0 220px; }
  .afc-logo img { width: 220px; max-width: 100%; }
  .header-banner { width: 410px; flex: 0 1 410px; }
  .header-banner img { width: 100%; max-width: 100%; }
  .header-tools { width: auto; min-width: 170px; flex: 1 1 auto; }
  .site-nav a, .site-nav > ul > li > a {
    min-height: 48px; height: auto; padding: 6px 5px;
    font-size: 11px; line-height: 1.25; white-space: normal; text-align: center;
  }
  .site-nav > ul { display: flex; width: 100%; }
  .site-nav > ul > li { flex: 1 1 0; min-width: 0; }
  .afc-video-hero {
    height: auto; min-height: 0; max-height: none; aspect-ratio: 16/9;
  }
  .home-columns {
    grid-template-columns: minmax(0,2fr) minmax(280px,.9fr);
    gap: 20px;
  }
  .home-main, .home-sidebar, .course-search,
  .home-main .new-section, .wide-ad { width: 100%; min-width: 0; }
  .home-main { padding-right: 0; }
  .home-main .new-section .section-grid {
    grid-template-columns: minmax(0,1.35fr) minmax(210px,.85fr);
  }
  .legacy-subpage-wrap {
    width: calc(100% - 24px); max-width: none;
    grid-template-columns: minmax(0,2.1fr) minmax(260px,1fr);
    gap: 22px;
  }
  .afc-context-hero { width: calc(100% - 24px); }
  .footer-features, .partner-strip, .footer-main { width: 100%; }
  .footer-main { grid-template-columns: minmax(190px,.8fr) minmax(330px,1.45fr) minmax(260px,1fr); }
  .footer-divider { width: 100vw; margin-left: calc((100% - 100vw)/2); }
}
@media (max-width:600px) {
  .brand-row { height: 76px; }
  .header-tools .header-links { display: none; }
  .header-tools { font-size: 11px; }
  .afc-video-hero { min-height: 210px; }
  .home-main .new-section .section-grid { padding: 12px; gap: 12px; }
  .section-lead { grid-template-columns: 100px minmax(0,1fr); gap: 10px; }
  .section-lead .story-thumb { height: 82px; }
  .section-lead h3 { font-size: 14px; }
  .section-minis article a { grid-template-columns: 70px minmax(0,1fr); }
  .section-minis img { width: 70px; height: 48px; }
  .subpage { padding: 14px 8px; }
  .page-entry > h1 { font-size: 21px; }
}

/* Complete responsive pass for imported legacy content. */
@media (max-width:980px) {
  .afc-shell, .legacy-home, .new-home-inner, .site-footer,
  .subpage-wrap, .content .wrap, .legacy-subpage-wrap,
  .afc-context-hero { min-width: 0; }

  .home-columns,
  .legacy-subpage-wrap { grid-template-columns: minmax(0,1fr) !important; }

  .home-main, .home-sidebar, .legacy-subpage-main,
  .legacy-right-news, .page-entry, .entry-body { width: 100%; max-width: 100%; min-width: 0; }

  .home-main .new-section,
  .home-main .new-section .section-grid,
  .course-search, .wide-ad { width: 100%; max-width: 100%; }

  .home-main .new-section .section-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .home-main .section-lead {
    width: 100%; min-width: 0;
    grid-template-columns: 140px minmax(0,1fr);
  }
  .home-main .section-lead .story-thumb {
    width: 100%; min-width: 0; margin: 0; overflow: hidden;
  }
  .home-main .section-lead .story-thumb img { width: 100%; max-width: 100%; }
  .home-main .section-lead .story-copy,
  .home-main .section-lead h3,
  .home-main .section-lead p { min-width: 0; overflow-wrap: anywhere; }
  .home-main .section-minis { width: 100%; min-width: 0; }
  .home-main .section-minis article,
  .home-main .section-minis article a { width: 100%; min-width: 0; }

  .course-search { height: auto; grid-template-columns: minmax(0,1fr) 115px 145px; }
  .course-search input { width: 100%; min-width: 0; }

  .legacy-detail-body, .page-body, .entry-body { overflow-wrap: anywhere; word-break: normal; }
  .legacy-detail-body img, .page-body img, .entry-body img,
  .legacy-detail-body iframe, .page-body iframe, .entry-body iframe,
  .legacy-detail-body video, .page-body video, .entry-body video {
    max-width: 100% !important; height: auto;
  }
  .legacy-detail-body table, .page-body table, .entry-body table {
    display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto;
  }
  .legacy-detail-body [style*="width"], .page-body [style*="width"], .entry-body [style*="width"] {
    max-width: 100% !important;
  }
  .alignleft, .alignright { max-width: 100%; }

  .site-footer { padding-left: 14px; padding-right: 14px; }
  .footer-features, .partner-strip, .footer-main { max-width: 100%; }
  .footer-feature { min-width: 0; }
  .footer-feature p { overflow-wrap: anywhere; }
  .footer-main { gap: 20px; }
  .footer-links, .footer-media, .footer-identity { min-width: 0; }
  .footer-videos { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-videos img { width: 100%; height: auto; aspect-ratio: 94/65; object-fit: cover; }

  .afc-gallery-modal { padding: 48px 52px; }
  .afc-gallery-stage { width: calc(100vw - 104px); height: calc(100vh - 96px); }
}

@media (max-width:700px) {
  .home-sidebar, .legacy-right-news { grid-template-columns: minmax(0,1fr) !important; }
  .footer-main, .footer-links { grid-template-columns: minmax(0,1fr) !important; }
  .footer-identity { grid-row: auto; border-right: 0; padding-right: 0; }
  .footer-media { grid-column: auto; }
}

@media (max-width:600px) {
  .course-search { grid-template-columns: minmax(0,1fr) 96px; gap: 9px; padding: 10px; }
  .home-main .new-section .section-grid { padding: 12px !important; }
  .home-main .section-lead { grid-template-columns: 108px minmax(0,1fr) !important; }
  .home-main .section-lead .story-thumb { height: 82px; }
  .home-main .section-minis article a { grid-template-columns: 70px minmax(0,1fr) !important; }
  .legacy-list-item { min-height: 0; }
  .legacy-related time { float: none; display: block; margin-top: 2px; }
  .footer-features { grid-template-columns: minmax(0,1fr) !important; }
  .afc-gallery-modal { padding: 48px 12px 62px; }
  .afc-gallery-stage { width: calc(100vw - 24px); height: calc(100vh - 110px); }
  .afc-gallery-prev, .afc-gallery-next { width: 38px; height: 58px; font-size: 38px; }
}

@media (max-width:420px) {
  .new-home-inner { max-width: calc(100% - 16px); }
  .home-main .new-section > h2 { min-height: 0; padding: 9px 11px; font-size: 16px; }
  .home-main .section-lead { grid-template-columns: 96px minmax(0,1fr) !important; }
  .home-main .section-lead .story-thumb { height: 74px; }
  .home-main .section-lead p { display: none; }
  .section-minis img { width: 66px; height: 46px; }
  .home-main .section-minis article a { grid-template-columns: 66px minmax(0,1fr) !important; }
  .subpage-card { grid-template-columns: 90px minmax(0,1fr); gap: 9px; padding: 8px; }
  .subpage-thumb img { width: 90px; height: 72px; }
  .legacy-list-thumb { float: none; width: 100%; height: auto; margin: 0 0 8px; }
  .legacy-list-thumb img { width: 100%; height: auto; max-height: 190px; object-fit: cover; }
}
