/* Unified editorial system inspired by the FAA Chula reference */
:root{--green:#173f70;--green2:#245b91;--green3:#3478ad;--gold:#e89532;--cream:#fff;--white:#fff;--ink:#191b1f;--muted:#5d6670;--faa-red:#9f1d2e;--line:#dedfe2}
html{scroll-padding-top:90px}
body{background:#fff;color:#191b1f;font-size:18px}
.header{height:auto;min-height:78px;background:#fff;padding:0 clamp(18px,4vw,64px);border-bottom:0;box-shadow:0 1px 0 #00000010}
.brand{flex-shrink:0}
.brand img{width:52px;height:52px}
.brand-name strong{font-size:19px;color:#1b1c20}
.brand-name small{font-size:14px;color:#61656b}
.nav{min-height:78px;gap:clamp(10px,1.5vw,23px);padding:0 clamp(15px,2.4vw,36px);margin-right:calc(-1 * clamp(18px,4vw,64px));background:#171719;color:#fff}
.nav>a:not(.nav-cta){font-size:15px;color:#f5f4f2}
.nav>a:not(.nav-cta):hover{color:#f2a64b}
.language{color:#fff;border-left-color:#ffffff34;font-size:14px}
.menu-toggle span{background:#fff}
.institution-subnav{display:flex;align-items:stretch;justify-content:center;min-height:55px;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 7px #11100008;position:relative;z-index:8}
.institution-subnav a{display:flex;align-items:center;justify-content:center;padding:12px clamp(15px,2.6vw,38px);border-right:1px solid #dedfe2;color:#33383e;font-size:16px;font-weight:600;line-height:1.4;transition:background .2s,color .2s}
.institution-subnav a:first-child{border-left:1px solid #dedfe2}
.institution-subnav a:hover{background:#f8f4f2;color:var(--faa-red)}
.institution-subnav a.is-current{background:var(--faa-red);color:#fff}
.section-pad{padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(72px,8vw,112px)}
.section-kicker,.eyebrow{font-size:15px;letter-spacing:.12em}
.hero{height:clamp(560px,68vw,760px);min-height:0;max-height:none;background:#fff;color:#191b1f}
.hero-image{left:47%;width:53%;background-position:center;background-size:cover;animation:none;transform:none}
.hero-shade{background:linear-gradient(90deg,#fff 0%,#fff 35%,#ffffffef 48%,#ffffff78 62%,#11111110 100%),linear-gradient(0deg,#17171932,transparent 26%)}
.hero-grain{display:none}
.hero-content{max-width:1440px;width:100%;padding:clamp(95px,12vw,160px) clamp(25px,7vw,105px) 110px;animation:rise .75s ease both}
.eyebrow{color:#5d6670}
.eyebrow-line{background:var(--faa-red);height:2px}
.hero h1{max-width:700px;color:#17191d;font-size:clamp(58px,7vw,100px);line-height:1.25;font-weight:600}
.hero h1 em,.contact h2 em{font-family:var(--sans);font-weight:600;color:var(--faa-red);font-style:normal}
.hero-desc{max-width:570px;color:#484f57;font-size:20px;line-height:1.8;font-weight:400}
.hero-bottom{color:#62666c;font-size:13px}
.hero-note{color:#35383c;border-color:#9f1d2e62;background:#ffffffc9;width:158px;height:158px;font-size:15px;line-height:1.7;box-shadow:0 15px 40px #00000012}
.note-icon{color:var(--faa-red)}
.button-gold,.button-orange{background:#e99a3a;color:#191b1f;font-size:16px;font-weight:700}
.button-gold:hover,.button-orange:hover{background:#f4ac50}
.text-link{color:#202329;font-size:16px}
.text-link span:last-child,.under-link span:last-child{color:var(--faa-red)}
.platform-feature{background:#173f70}
.platform-label{font-size:13px}
.platform-copy h2{font-size:clamp(34px,4vw,52px)}
.platform-copy p{font-size:19px}
.platform-button{font-size:16px}
.intro h2,.services h2,.news h2{font-size:clamp(44px,5vw,72px);line-height:1.38}
.intro-copy p{font-size:19px;line-height:1.9;color:#4d535a}
.under-link{font-size:16px}
.roles-heading{font-size:14px;color:#60666c;border-color:var(--line)}
.roles-grid>div{border-color:var(--line)}
.roles-grid strong,.values-row strong{font-size:19px}
.roles-grid small,.values-row small{font-size:16px;color:#626a72}
.services{background:#f5f5f4;color:#181a1e}
.services:before{border-color:#9f1d2e18;box-shadow:0 0 0 45px #9f1d2e08,0 0 0 95px #173f7006}
.services .section-kicker{color:#60666d}
.services .services-heading .section-kicker{color:#60666d}
.services h2{color:#191b1f}
.services h2 span{color:var(--faa-red)}
.service-grid{gap:0;border-top:1px solid #cfd1d4;border-left:1px solid #cfd1d4}
.service-card,.service-card:last-child{min-height:390px;padding:28px 25px;background:#fff;color:#1c232b;border:0;border-right:1px solid #cfd1d4;border-bottom:1px solid #cfd1d4}
.service-card:hover{background:#fff8f1;transform:translateY(-3px)}
.service-card.featured{background:#173f70;color:white}
.service-card.featured:hover{background:#245b91}
.card-index{font-size:13px;letter-spacing:.08em}
.card-icon{color:var(--faa-red);font-size:30px}
.featured .card-icon{color:#f3a044}
.service-card h3{font-size:clamp(23px,2.2vw,30px);line-height:1.5;font-weight:600}
.service-card p{font-size:17px;line-height:1.75;color:#555f69}
.featured p{color:#e0e8f0}
.card-link{font-size:16px;border-color:#cfd1d4;color:#173f70}
.featured .card-link{border-color:#ffffff55;color:#fff}
.card-watermark{color:#173f7008}
.featured .card-watermark{color:#ffffff0c}
.contact{background:#171719}
.contact .section-kicker{color:#d1d1d1}
.contact h2{font-size:clamp(54px,7vw,92px)}
.contact h2 em{color:#f1a348}
.contact-bottom p{font-size:18px}
.footer{background:#f3f3f1;border-top:1px solid #ddd}
.footer-contact>a,.footer-links>a{font-size:17px}
.footer-contact>span,.footer-links>span{font-size:13px}
.footer-bottom{font-size:14px}
.footer-bottom>span:last-child{font-size:12px}
.accreditation-page{background:#fff;color:#191b1f}
.accreditation-hero,.competency-hero{background:#f3f3f1;color:#191b1f;min-height:440px;border-bottom:1px solid #ddd}
.accreditation-hero:after,.competency-hero:before{width:360px;height:360px;right:8%;top:45px;border:1px solid #9f1d2e35;box-shadow:0 0 0 42px #9f1d2e0b,0 0 0 84px #173f7008}
.accreditation-hero-inner{padding:35px clamp(24px,7vw,105px) 58px}
.crumb{color:#51565b;font-size:16px}
.accreditation-hero .section-kicker{color:#666c72}
.accreditation-hero .section-kicker span:first-child{color:var(--faa-red)}
.accreditation-hero h1{font-size:clamp(56px,7.2vw,94px);color:#191b1f;font-weight:600;line-height:1.25}
.accreditation-hero h1 em{font-family:var(--sans);font-style:normal;color:var(--faa-red);font-weight:600}
.accreditation-hero p{font-size:20px;line-height:1.8;color:#50565d;max-width:700px}
.accreditation-index{color:#85878b;font-size:14px}
.framework-heading h2,.process-header h2,.accreditation-contact h2,.documents-heading h2,.competency-intro h2{color:#191b1f}
.framework-heading h2 span,.process-header h2 span,.documents-heading h2 span,.competency-intro h2 span{color:var(--faa-red)}
.framework-card{border-color:#d5d7da;background:#fff}
.framework-card h3,.process-copy h3{color:#173f70}
.framework-card ul,.framework-summary p,.process-header>p,.process-copy ol{font-size:17px;color:#4d5660}
.process-section{background:#fff}
.process-kicker{font-size:14px}
.process-copy h3{font-size:clamp(24px,2.5vw,31px)}
.process-copy ol{line-height:1.9}
.course-section{background:#173f70}
.course-highlight h2{font-size:clamp(30px,3.8vw,46px)}
.course-highlight p{font-size:18px}
.course-link{font-size:16px}
.accreditation-contact{background:#f3f3f1}
.accreditation-contact h2{font-size:clamp(42px,5vw,68px)}
.contact-details>a{font-size:18px}
.competency-criteria{background:#173f70}
.competency-criteria h2{font-size:clamp(40px,5vw,62px)}
.competency-pillars h3{font-size:clamp(28px,3vw,36px)}
.competency-pillars ul,.check-item p{font-size:18px;line-height:1.8}
.review-checklist h3{font-size:clamp(27px,3vw,34px)}
.document-copy strong{font-size:clamp(21px,2vw,26px)}
.document-copy small{font-size:17px}
.competency-contact h2{font-size:clamp(32px,4vw,48px)}
.action-link{font-size:16px}
.psf-app-cta{max-width:620px;margin-top:30px;background:#173f70;color:#fff;border-color:#173f70;font-size:19px;font-weight:700;padding:19px 22px}
.psf-app-cta:hover{background:#245b91;border-color:#245b91;color:#fff}
.psf-app-cta span:last-child{color:#f3a044}
.psf-app-cta.is-unavailable{opacity:.62;cursor:not-allowed;background:#454a50;border-color:#454a50}
.psf-app-status{max-width:620px;margin:9px 0 20px;color:#646a71;font-size:15px;line-height:1.65}
.psf-sheet-link{display:inline-flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #c6c8cb;color:#173f70;font-size:16px;font-weight:600}
.psf-sheet-link span:last-child{color:var(--faa-red)}
.public-directory{max-width:1440px;margin:0 auto;background:#fff}
.public-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin:25px 0 28px}
.public-directory-heading h2{margin:0;color:#191b1f;font-size:clamp(38px,5vw,66px);font-weight:600;line-height:1.35;letter-spacing:-.035em}
.public-directory-heading h2 span{color:var(--faa-red)}
.public-directory-heading p{max-width:620px;margin:16px 0 0;color:#555d65;font-size:18px;line-height:1.8}
.directory-search{width:min(340px,100%);flex:none;color:#343a40;font-size:15px;font-weight:600}
.directory-search input{margin-top:7px;padding:13px 15px;border:1px solid #cfd1d4;border-radius:0;background:#fff;font-size:17px}
.directory-search input:focus{border-color:var(--faa-red);box-shadow:0 0 0 3px #9f1d2e18}
.directory-status{margin:16px 0;padding:12px 15px;background:#f4f4f2;border-left:3px solid var(--faa-red);color:#555d65;font-size:16px}
.directory-table-wrap{overflow:auto;border:1px solid #d9dadd;background:#fff}
.directory-table{width:100%;min-width:740px;border-collapse:collapse;font-size:17px}
.directory-table th{padding:15px 17px;text-align:left;background:#171719;color:#fff;font-weight:600}
.directory-table td{padding:15px 17px;border-bottom:1px solid #e3e4e6;color:#343a40;line-height:1.7;vertical-align:top}
.directory-table td:first-child{width:70px;color:#9f1d2e;font-weight:700}
.directory-table tr:nth-child(even) td{background:#f8f8f7}
.directory-table tr:hover td{background:#fff7ed}
.psf-system-section{background:#f2f2f0;border-block:1px solid #dedfe2}
.psf-system-copy{max-width:1280px;margin:0 auto}
.psf-system-copy h2{margin:21px 0 12px;color:#191b1f;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1.35}
.psf-system-copy h2 span{color:var(--faa-red)}
.psf-system-copy>p{max-width:760px;color:#555d65;font-size:18px;line-height:1.8}
.reveal{transition-duration:.65s}
@media(max-width:1050px){.header{padding-inline:22px}.nav{margin-right:-22px;gap:10px;padding-inline:15px}.nav>a:not(.nav-cta){font-size:13px}.brand-name strong{font-size:17px}.brand-name small{font-size:12px}}
@media(max-width:720px){
 .header{min-height:70px;height:70px;padding:0 18px}.brand img{width:44px;height:44px}.brand-name strong{font-size:16px}.brand-name small{font-size:12px}
 .nav{position:absolute;top:70px;left:0;right:0;margin:0;padding:10px 22px 18px;background:#171719;min-height:0}
 .nav>a:not(.nav-cta){font-size:16px;padding:13px 0;color:#fff;border-bottom:1px solid #ffffff22}
 .institution-subnav{justify-content:flex-start;min-height:49px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
 .institution-subnav::-webkit-scrollbar{display:none}.institution-subnav a{font-size:14px;padding:11px 17px;flex:none}
 .hero{height:690px;min-height:0}.hero-image{left:0;top:36%;width:100%;height:64%;background-position:58% center}
 .hero-shade{background:linear-gradient(180deg,#fff 0%,#fff 35%,#ffffffdb 49%,#11111110 100%),linear-gradient(0deg,#11111135,transparent 30%)}
 .hero-content{padding:73px 24px 110px}.hero h1{font-size:clamp(50px,12vw,75px);max-width:580px;margin:22px 0 14px}.hero-desc{font-size:17px;line-height:1.7;max-width:400px}
 .hero-note{width:112px;height:112px;right:20px;bottom:75px;font-size:12px}.hero-bottom{font-size:10px}
 .section-kicker,.eyebrow{font-size:13px}.intro h2,.services h2,.news h2{font-size:clamp(40px,10vw,60px)}.intro-copy p{font-size:17px}
 .roles-grid strong,.values-row strong{font-size:17px}.roles-grid small,.values-row small{font-size:15px}
 .service-card,.service-card:last-child{min-height:350px;padding:20px 16px}.card-index{font-size:10px}.service-card h3{font-size:21px}.service-card p{font-size:15px}.card-link{font-size:14px}
 .accreditation-hero{min-height:400px}.accreditation-hero-inner{padding:25px 23px 50px}.accreditation-hero h1{font-size:clamp(47px,11.5vw,70px)}.accreditation-hero p{font-size:17px}
 .accreditation-index{right:22px;bottom:19px;font-size:10px}.process-copy h3{font-size:22px}.process-copy ol{font-size:16px}.process-kicker{font-size:12px}
 .framework-card ul,.framework-summary p,.process-header>p{font-size:16px}.action-link,.course-link{font-size:15px}.course-highlight h2{font-size:25px}.course-highlight p{font-size:16px}
 .accreditation-contact h2{font-size:clamp(38px,10vw,53px)}.contact-details>a{font-size:16px}
 .competency-route p,.competency-pillars ul,.check-item p{font-size:16px}.competency-pillars h3{font-size:27px}.document-copy strong{font-size:18px}.document-copy small{font-size:15px}.psf-app-cta{font-size:17px;padding:16px}.psf-app-status{font-size:14px}.psf-sheet-link{font-size:15px}
 .public-directory-heading{display:block}.public-directory-heading h2{font-size:clamp(36px,9vw,53px)}.public-directory-heading p{font-size:16px}.directory-search{display:block;margin-top:22px}.directory-table{font-size:15px}.directory-table th,.directory-table td{padding:12px}.directory-status{font-size:14px}.psf-system-copy h2{font-size:clamp(38px,10vw,52px)}.psf-system-copy>p{font-size:16px}
 .competency-contact h2{font-size:30px}.footer-bottom{font-size:11px}.footer-bottom>span:last-child{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.hero-content{animation:none}.hero-note{animation:none}}
