
:root{--teal:#10383b;--deep:#0b292b;--ink:#18272b;--red:#ad2028;--muted:#4f6163;--ivory:#f7f6f2;--line:#dce2dd;--container:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--space:clamp(64px,7vw,106px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit}button,select{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 2 * clamp(20px,4.5vw,76px)),var(--container));margin-inline:auto}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";display:block;width:22px;height:2px;background:var(--red)}.section{padding-block:var(--space)}.section h2,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.section h2{font-size:clamp(35px,3.7vw,52px);line-height:1.08;margin:18px 0 19px}.lede{font-size:clamp(15px,1.1vw,17px);line-height:1.72;color:var(--muted);max-width:54ch}.text-link{color:var(--red);font-weight:700;font-size:14px;display:inline-block;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 23px;background:var(--red);border:1px solid var(--red);color:#fff;font-weight:700;font-size:14px;white-space:nowrap}.button.secondary{color:#fff;border-color:#a9c0bc;background:#10383b45}.button.white{color:var(--teal);background:#fff;border-color:#fff}.header{background:#fff;position:relative;z-index:20;border-bottom:1px solid #eef0ed}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand span{color:var(--red)}.brand small{display:block;font-size:9px;letter-spacing:.2em;font-weight:700;color:#526164;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px);font-weight:700;font-size:13px}.desktop-nav a:hover,.footer a:hover{color:var(--red)}.menu-button{display:none;background:none;border:1px solid #b8c6c0;padding:10px 14px;color:var(--teal);font-weight:700}.mobile-nav{display:none}.hero{position:relative;min-height:590px;color:#fff;background:var(--deep);overflow:hidden;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 46%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,29,31,.99) 0%,rgba(5,29,31,.92) 24%,rgba(5,29,31,.72) 41%,rgba(5,29,31,.08) 80%)}.hero-inner{display:flex;align-items:center;min-height:590px}.hero-copy{width:min(610px,58%);padding-block:72px}.hero h1{font:400 clamp(55px,5.3vw,78px)/.99 var(--serif);letter-spacing:-.045em;margin:26px 0 24px}.hero h1 em{font-style:normal;border-bottom:3px solid #c33b40}.hero p{font-size:17px;line-height:1.65;max-width:47ch;color:#eef4f2}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.concept-note{font-size:11px;line-height:1.5;color:#d7e6e1;margin-top:17px;max-width:48ch}.programs{background:var(--ivory)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}.section-header p{margin:0}.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.tile{min-width:0}.tile-media{aspect-ratio:1.45;background:#d7e3df;overflow:hidden}.tile-media img{width:100%;height:100%;object-fit:cover}.tile h3{font-size:19px;margin:17px 0 9px;line-height:1.25}.tile p{font-size:14px;color:var(--muted);line-height:1.55;min-height:44px;margin:0 0 8px}.tile a{font-size:13px;color:var(--red);font-weight:700}.corporate{padding-block:var(--space);background:#fff}.corporate-layout{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(36px,5vw,76px)}.corporate-image{width:100%;height:clamp(340px,34vw,490px);object-fit:cover;object-position:52% center}.corporate h2{font:400 clamp(39px,3.6vw,54px)/1.07 var(--serif);letter-spacing:-.035em;margin:20px 0}.corporate-copy{max-width:490px}.feature-list{display:flex;gap:16px 26px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:26px;font-size:13px;font-weight:700}.service-area{background:var(--ivory)}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.services[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.services[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.services[data-count="5"],.services[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{background:#fff;min-width:0;overflow:hidden}.service-card[hidden]{display:none}.service-card img{width:100%;aspect-ratio:1.55;object-fit:cover}.service-card .card-text{padding:18px 19px 21px}.service-card h3{margin:0 0 6px;font-size:18px}.service-card p{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 8px}.service-card a{color:var(--red);font-size:13px;font-weight:700}.campaign{padding:48px 0;background:#e9efec}.campaign[hidden]{display:none}.campaign-inner{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center}.campaign h2{font:400 clamp(28px,3vw,40px)/1.14 var(--serif);margin:12px 0}.campaign p{max-width:62ch;color:var(--muted);line-height:1.6}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:24px}.story{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ivory);min-width:0;align-items:center}.story .story-copy{padding:clamp(22px,3.1vw,38px)}.story h3{font:400 clamp(26px,2.25vw,34px)/1.12 var(--serif);letter-spacing:-.025em;margin:10px 0}.story p{font-size:14px;color:var(--muted);line-height:1.6}.story img{width:100%;height:100%;min-height:260px;object-fit:cover}.cta{background:var(--teal);color:#fff;padding:60px 0}.cta-inner{display:grid;grid-template-columns:1.45fr .8fr;gap:60px;align-items:center}.cta h2{font:400 clamp(35px,3.3vw,49px)/1.1 var(--serif);margin:14px 0}.cta p{line-height:1.68;color:#dce9e5}.directory{background:#f0f3f0;padding:34px 0}.directory-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}.directory p{font-size:13px;color:#536461;line-height:1.6}.directory-links{display:flex;flex-wrap:wrap;gap:12px 24px}.directory-links a{border-bottom:1px solid #758f87;padding-bottom:6px;font-size:13px;font-weight:700;color:var(--teal)}.trust{padding:52px 0 28px}.trust-row{display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.trust-row h3{font-size:15px}.logo-placeholders{display:flex;flex-wrap:wrap;gap:12px}.logo-placeholders span{font-size:13px;color:#60746e;border:1px dashed #a9b9b3;padding:14px 20px}.promo{background:#f4f6f3;padding:24px 0 80px}.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.promo-card{min-height:240px;position:relative;overflow:hidden;color:#fff;background:var(--deep)}.promo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.promo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092b2de8,#092b2d30)}.promo-card>div{position:relative;z-index:1;padding:32px;max-width:330px}.promo-card h3{font:400 clamp(25px,2.2vw,32px)/1.1 var(--serif);margin:0 0 14px}.promo-card a{font-size:13px;font-weight:700}.footer{background:#0b3032;color:white;padding:65px 0 23px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}.footer strong{display:block;font-size:14px;margin-bottom:16px}.footer a,.footer p{display:block;color:#c5d8d2;font-size:13px;line-height:2}.footer-bottom{font-size:11px;color:#b6d0c8;border-top:1px solid #426261;margin-top:45px;padding-top:18px;line-height:1.55}.review-controls{position:fixed;bottom:15px;right:15px;z-index:50;background:#fff;border:1px solid #aabdb5;box-shadow:0 8px 32px #001a1b38;padding:13px 16px;max-width:240px;font-size:12px}.review-controls strong{display:block;margin-bottom:8px}.review-controls select{width:100%;margin:6px 0 9px;padding:7px}.review-controls label{display:block}.review-controls small{display:block;color:#60716e;margin-top:8px;line-height:1.5}.micro{font-size:12px;color:#59716c;line-height:1.6}.marker{font-size:10px;letter-spacing:.06em;font-weight:800;color:#a0222b}
@media(max-width:1150px){.desktop-nav{gap:12px;font-size:12px}.header-cta{display:none}.hero h1{font-size:clamp(49px,5.7vw,68px)}.program-grid{gap:16px}.corporate-layout{gap:32px}.services[data-count="4"]{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr repeat(2,1fr)}.editorial{gap:15px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:block}.mobile-nav.open{display:flex}.mobile-nav{flex-direction:column;gap:0;padding:4px 0 18px}.mobile-nav a{display:block;font-size:15px;padding:13px 0;border-top:1px solid #eef0ed;font-weight:700}.hero,.hero-inner{min-height:535px}.hero-copy{width:min(510px,76%)}.hero:after{background:linear-gradient(90deg,#071e20f5 0%,#071e20bf 43%,#071e2055 100%)}.program-grid{grid-template-columns:repeat(2,1fr)}.corporate-layout{grid-template-columns:1fr 1fr}.corporate-image{height:390px}.corporate h2{font-size:clamp(32px,3.9vw,42px)}.editorial{grid-template-columns:1fr}.story img{min-height:220px}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){:root{--space:60px}.header-inner{min-height:66px}.brand{font-size:20px}.brand small{font-size:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-image{position:relative;height:270px;object-position:68% center;order:0;z-index:0}.hero:after{display:none}.hero-inner{order:1;min-height:0;background:var(--deep);width:100%;padding:0 23px}.hero-copy{width:100%;padding:37px 0 44px}.hero h1{font-size:clamp(41px,10.5vw,57px);margin:19px 0}.hero p{font-size:15px}.hero .eyebrow{font-size:10px}.button{font-size:13px;min-height:44px}.program-grid{grid-template-columns:1fr}.section-header{display:block}.section-header .text-link{margin-top:13px}.tile{display:grid;grid-template-columns:125px 1fr;grid-template-rows:auto auto auto;column-gap:15px;align-items:start;border-top:1px solid #dce0d9;padding-top:15px}.tile-media{grid-row:1/4;aspect-ratio:1.1}.tile h3{font-size:17px;margin:2px 0 5px}.tile p{min-height:0;font-size:13px}.tile a{align-self:start}.corporate-layout{grid-template-columns:1fr;gap:25px}.corporate-image{height:270px}.corporate-copy{max-width:none}.corporate h2{font-size:39px}.feature-list{gap:10px 20px}.services,.services[data-count="2"],.services[data-count="4"],.services[data-count="5"],.services[data-count="6"]{grid-template-columns:1fr 1fr;gap:13px}.service-card .card-text{padding:12px}.service-card h3{font-size:15px}.service-card p{font-size:12px}.service-card img{aspect-ratio:1.3}.campaign-inner,.cta-inner,.directory-inner{grid-template-columns:1fr;gap:8px}.story{grid-template-columns:1fr 150px}.story img{min-height:220px}.story .story-copy{padding:18px}.story h3{font-size:26px}.promo-grid{grid-template-columns:1fr}.promo-card{min-height:190px}.trust-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr);gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.review-controls{position:static;max-width:none;margin:20px;border-radius:0}}
@media(max-width:380px){.hero h1{font-size:40px}.tile{grid-template-columns:105px 1fr;gap:12px}.services,.services[data-count="2"],.services[data-count="4"],.services[data-count="5"],.services[data-count="6"]{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:115px 1fr}.service-card img{height:100%;aspect-ratio:auto}.story{grid-template-columns:1fr}.story img{height:180px;min-height:0}.actions{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Joomla preview integration and verified legacy media. */
[hidden]{display:none!important}
body.fac-showroom{margin:0;background:#fff;color:#18272b;font-family:Arial,Helvetica,sans-serif}
.fac-showroom .header .brand-image{width:300px;height:auto;max-height:64px;object-fit:contain;object-position:left}
.fac-showroom .header .brand-shell{background:transparent;padding:6px 10px;display:block}
.fac-showroom .footer .brand-image{width:280px;height:auto;max-height:60px;object-fit:contain}
.fac-showroom .footer .brand-shell{background:transparent;padding:7px 10px;display:block}
.fac-showroom .brand{line-height:1}
.fac-showroom .brand small{margin-top:4px}
.fac-showroom .services[data-count="1"]{grid-template-columns:minmax(0,400px)}
.fac-showroom .promo-original{display:block;background:#fff;overflow:hidden}
.fac-showroom .promo-original img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.fac-showroom .logo-strip{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.fac-showroom .logo-strip img{max-width:100px;height:38px;width:auto;object-fit:contain}
.fac-showroom .logo-strip a{display:inline-flex}
.fac-showroom .legacy-links{background:#f0f3f0;padding:0 0 28px}
.fac-showroom .legacy-links details{border-top:1px solid #cddbd4;padding-top:15px}
.fac-showroom .legacy-links summary{cursor:pointer;color:#10383b;font-weight:700}
.fac-showroom .legacy-links .mod-custom{columns:3;column-gap:30px;font-size:13px}
.fac-showroom .legacy-links ul{break-inside:avoid;list-style:none;padding:0}
.fac-showroom .legacy-links li{margin:4px 0}
.fac-showroom .legacy-links a{color:#10383b;text-decoration:underline;text-underline-offset:3px}
.fac-showroom .historic-index__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 20px;max-height:650px;overflow:auto;margin-top:15px;font-size:12px}
.fac-showroom .historic-index__grid a{overflow-wrap:anywhere}
.fac-showroom .preview-notice{font-size:11px;color:#536461;line-height:1.5}
@media(max-width:900px){.fac-showroom .legacy-links .mod-custom{columns:2}.fac-showroom .historic-index__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fac-showroom .header .brand-image{width:min(245px,65vw)}.fac-showroom .footer .brand-image{width:245px}.fac-showroom .legacy-links .mod-custom{columns:1}.fac-showroom .logo-strip img{max-width:75px;height:30px}}

/* Original shield with live, editable brand type. Applied only to V1.2 homepage. */
@font-face{font-family:"FAC Noto Sans SC";src:url("/media/templates/site/fac_modern/fonts/FAC-NotoSansSC-Brand.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:"FAC Inter";src:url("/media/templates/site/fac_modern/fonts/FAC-Inter-Brand.woff2") format("woff2");font-style:normal;font-weight:300 600;font-display:swap}
.fac-showroom a.brand{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:100%;white-space:normal;letter-spacing:normal;font-weight:400;line-height:1;color:#10383b}
.fac-showroom .brand-shield{display:block;flex:none;width:auto;height:60px;max-width:none;object-fit:contain}
.fac-showroom .brand-wordmark{display:flex;min-width:0;flex-direction:column;align-items:flex-start;color:#10383b}
.fac-showroom .brand .brand-zh{display:block;margin:0;font:500 18px/1.15 "FAC Noto Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:0;white-space:nowrap;color:inherit}
.fac-showroom .brand .brand-en{display:block;font:400 13px/1.22 "FAC Inter",Inter,Arial,sans-serif;letter-spacing:-.015em;white-space:nowrap;color:inherit}
.fac-showroom .brand .brand-contact{display:flex;flex-wrap:wrap;column-gap:6px;row-gap:0;font:300 9.5px/1.3 "FAC Inter",Inter,Arial,sans-serif;letter-spacing:0;color:#526466}
.fac-showroom .brand .brand-contact span{color:inherit;white-space:nowrap}
.fac-showroom .footer a.brand{display:inline-flex;font-size:initial;line-height:1;color:#f6f9f8}
.fac-showroom .footer .brand-wordmark{color:#f6f9f8}
.fac-showroom .footer .brand .brand-contact{color:#c5d8d2}
.fac-showroom .footer .brand-shield{height:58px}
@media(max-width:650px){
  .fac-showroom .header a.brand{gap:6px;max-width:245px}
  .fac-showroom .header .brand-shield{height:50px}
  .fac-showroom .header .brand .brand-zh{font-size:14px}
  .fac-showroom .header .brand .brand-en{font-size:10.5px}
  .fac-showroom .header .brand .brand-contact{font-size:8.6px;column-gap:5px}
  .fac-showroom .footer .brand-shield{height:55px}
  .fac-showroom .footer .brand .brand-zh{font-size:16px}
  .fac-showroom .footer .brand .brand-en{font-size:11.5px}
  .fac-showroom .footer .brand .brand-contact{font-size:9.2px}
}

/* Batch 5F-1: clear destinations and distinct training-by-setting cards. */
.fac-showroom .tile-link{display:block;height:100%;color:inherit;text-decoration:none;border-radius:3px}
.fac-showroom .tile-link:hover h3,.fac-showroom .tile-link:focus-visible h3{color:var(--red)}
.fac-showroom .tile-link:focus-visible,.fac-showroom .service-card-link:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.fac-showroom .tile-copy{padding-bottom:6px}
.fac-showroom .tile-link h3{color:var(--ink)}
.fac-showroom .tile-link p{color:var(--muted);font-weight:400}
.fac-showroom .service-card--text{border:1px solid var(--line);min-height:205px}
.fac-showroom .service-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.fac-showroom .service-card--text .card-text{padding:28px 30px;min-height:205px;display:flex;flex-direction:column}
.fac-showroom .service-card-kicker{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-bottom:18px}
.fac-showroom .service-card--text h3{font:400 clamp(23px,2.2vw,29px)/1.15 var(--serif);margin:0 0 11px;color:var(--ink)}
.fac-showroom .service-card--text p{font-size:15px;max-width:38ch;margin:0;line-height:1.6}
.fac-showroom .service-card-cue{display:block;color:var(--red);font-size:20px;margin-top:auto;padding-top:15px}
.fac-showroom .service-card-link:hover h3,.fac-showroom .service-card-link:focus-visible h3{color:var(--red)}
@media(max-width:650px){.fac-showroom .service-card--text,.fac-showroom .service-card--text .card-text{min-height:0}.fac-showroom .service-card--text .card-text{padding:24px}}

/* P4 photo set: preserve four columns on desktop and a legible two-by-two mobile layout. */
.fac-showroom .programs .program-grid .tile-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media(max-width:560px){
 .fac-showroom .programs .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:17px 13px!important}
 .fac-showroom .programs .program-grid .tile{display:block!important;min-width:0}
 .fac-showroom .programs .program-grid .tile-link{display:block!important;padding:8px 0 10px!important}
 .fac-showroom .programs .program-grid .tile-media{width:100%;aspect-ratio:1.35!important}
 .fac-showroom .programs .program-grid .tile h3{font-size:16px;line-height:1.2;margin:10px 0 5px}
 .fac-showroom .programs .program-grid .tile p{font-size:12px;line-height:1.45;min-height:0}
}
@media(max-width:340px){.fac-showroom .programs .program-grid{grid-template-columns:1fr!important}}

/* P7 Phase 2: nationwide network section, scoped to homepage. */
#home .p7-network{padding:clamp(56px,6vw,96px) 0;background:#edf3ee;color:#1b4142}
#home .p7-network__layout{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(32px,5vw,78px);align-items:center}
#home .p7-network h2{font:400 clamp(37px,4.1vw,62px)/1.12 Georgia,serif;letter-spacing:-.025em;margin:13px 0 20px;color:#173e40}
#home .p7-network p{max-width:660px;line-height:1.72}
#home .p7-network__cities{display:flex;gap:8px 20px;flex-wrap:wrap;margin:22px 0 29px;font-size:14px}
#home .p7-network__cities a{color:#0e6267;text-underline-offset:4px}
#home .p7-network__button{display:inline-flex;padding:14px 23px;background:#a12a34;color:#fff;font-weight:700;text-decoration:none}
#home .p7-network__button:hover,#home .p7-network__button:focus-visible{background:#7d1d27;color:#fff}
#home .p7-network__visual{overflow:hidden;aspect-ratio:1.35;background:#dce9e3}
#home .p7-network__visual img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:850px){#home .p7-network__layout{grid-template-columns:1fr}#home .p7-network__visual{max-width:700px;aspect-ratio:1.75}}
@media(max-width:650px){#home .p7-network{padding:53px 0}#home .p7-network h2{font-size:39px}#home .p7-network__visual{aspect-ratio:1.35}#home .p7-network__cities{gap:7px 15px}}
