/* TPDI orange, white and blue identity with an accessible type scale */
:root{
  --brand-blue:#164a78;
  --brand-blue-dark:#123858;
  --brand-blue-mid:#2f6f9f;
  --brand-orange:#ed8b2f;
  --brand-orange-dark:#bf6417;
  --brand-orange-soft:#fff3e6;
  --brand-blue-soft:#f1f6fa;
  --brand-white:#fff;
  --brand-ink:#17344c;
  --brand-muted:#536a7e;
  --brand-line:#d7e1e9;
  --green:var(--brand-blue);
  --green2:var(--brand-blue-mid);
  --green3:#4a86b2;
  --gold:var(--brand-orange);
  --faa-red:var(--brand-orange);
  --cream:var(--brand-white);
  --white:var(--brand-white);
  --ink:var(--brand-ink);
  --muted:var(--brand-muted);
  --line:var(--brand-line);
}
body{background:var(--brand-white);color:var(--brand-ink);font-size:17px;line-height:1.75}
.header{background:var(--brand-white);border-bottom:1px solid var(--brand-line)}
.brand-name strong{color:var(--brand-blue-dark);font-size:19px}
.brand-name small{color:var(--brand-muted);font-size:14px}
.nav{background:var(--brand-blue-dark);color:var(--brand-white)}
.nav>a:not(.nav-cta){color:#f7fbff;font-size:15px}
.nav>a:not(.nav-cta):hover,.nav>a:not(.nav-cta):focus-visible{color:#ffc37f}
.language{color:var(--brand-white)}
.menu-toggle span{background:var(--brand-blue)}
.institution-subnav{background:var(--brand-white);border-color:var(--brand-line)}
.institution-subnav a{color:var(--brand-blue-dark);border-color:var(--brand-line);font-size:15px}
.institution-subnav a:hover{background:var(--brand-orange-soft);color:var(--brand-orange-dark)}
.institution-subnav a.is-current{background:var(--brand-blue);color:var(--brand-white);box-shadow:inset 0 -4px var(--brand-orange)}
.section-kicker>span:first-child{color:var(--brand-orange-dark)}
.eyebrow-line{background:var(--brand-orange)}
.hero{background:var(--brand-white);color:var(--brand-ink)}
.hero-shade{background:linear-gradient(90deg,#fff 0%,#fff 35%,#ffffffef 48%,#ffffff78 62%,#164a7812 100%),linear-gradient(0deg,#12385832,transparent 26%)}
.hero h1,.accreditation-hero h1{color:var(--brand-blue-dark)}
.hero h1 em,.contact h2 em,.accreditation-hero h1 em{color:var(--brand-orange-dark)}
.hero-desc,.accreditation-hero p{color:#405a70}
.hero-note{border-color:#ed8b2f80;background:#ffffffdf;color:var(--brand-blue-dark)}
.note-icon,.text-link span:last-child,.under-link span:last-child{color:var(--brand-orange-dark)}
.button-gold,.button-orange{background:var(--brand-orange);color:#17344c}
.button-gold:hover,.button-orange:hover{background:#f6a750}
.platform-feature,.course-section,.competency-criteria{background:var(--brand-blue);color:var(--brand-white)}
.platform-symbol{background:var(--brand-orange);color:var(--brand-blue-dark)}
.platform-label,.course-highlight .process-kicker{color:#ffc17d}
.platform-button,.course-link{background:var(--brand-orange);color:var(--brand-blue-dark)}
.intro h2,.services h2,.news h2,.framework-heading h2,.process-header h2,.documents-heading h2,.competency-intro h2,.public-directory-heading h2,.psf-system-copy h2{color:var(--brand-blue-dark)}
.intro h2 span,.news h2 span,.services h2 span,.process-header h2 span,.framework-heading h2 span,.documents-heading h2 span,.competency-intro h2 span,.public-directory-heading h2 span,.psf-system-copy h2 span{color:var(--brand-orange-dark)}
.intro-copy p,.competency-intro p,.framework-summary p,.process-header>p,.process-copy ol{color:var(--brand-muted);font-size:17px;line-height:1.85}
.roles-heading{color:var(--brand-muted);border-color:var(--brand-line)}
.roles-grid>div,.values-row{border-color:var(--brand-line)}
.roles-grid strong,.values-row strong{color:var(--brand-blue-dark);font-size:18px}
.roles-grid small,.values-row small{color:var(--brand-muted);font-size:15px}
.services{background:var(--brand-blue-soft);color:var(--brand-blue-dark)}
.services:before{border-color:#164a7818;box-shadow:0 0 0 45px #164a7808,0 0 0 95px #ed8b2f08}
.services .section-kicker{color:var(--brand-muted)}
.service-grid{border-color:var(--brand-line)}
.service-card,.service-card:last-child{background:var(--brand-white);color:var(--brand-blue-dark);border-color:var(--brand-line)}
.service-card:hover{background:#fff8f0}
.service-card.featured{background:var(--brand-blue);color:var(--brand-white)}
.service-card.featured:hover{background:var(--brand-blue-mid)}
.card-icon,.card-link span:last-child,.document-arrow{color:var(--brand-orange-dark)}
.service-card h3{color:var(--brand-blue-dark);font-size:clamp(22px,2.1vw,29px)}
.featured .service-card h3,.service-card.featured h3{color:var(--brand-white)}
.service-card p{color:#536a7e;font-size:16px;line-height:1.75}
.service-card.featured p{color:#e4eff8}
.card-link{color:var(--brand-blue);font-size:15px}
.service-card.featured .card-link{color:var(--brand-white);border-color:#ffffff55}
.contact{background:var(--brand-blue-dark);color:var(--brand-white)}
.contact h2{color:var(--brand-white)}
.contact-bottom p{color:#e1edf6;font-size:17px}
.button-light{background:var(--brand-white);color:var(--brand-blue-dark)}
.footer{background:var(--brand-blue-soft);border-top:1px solid var(--brand-line)}
.footer-contact>a,.footer-links>a{color:var(--brand-blue-dark);font-size:16px}
.footer-contact>span,.footer-links>span{color:var(--brand-muted);font-size:13px}
.footer-bottom{color:var(--brand-muted);font-size:13px}
.footer-bottom>span:last-child{color:var(--brand-blue);font-size:11px}
.accreditation-page{background:var(--brand-white);color:var(--brand-ink)}
.accreditation-hero,.competency-hero{background:var(--brand-blue-soft);color:var(--brand-ink);border-color:var(--brand-line)}
.accreditation-hero:after,.competency-hero:before{border-color:#ed8b2f66;box-shadow:0 0 0 42px #ed8b2f12,0 0 0 84px #164a7808}
.crumb{color:var(--brand-blue)}
.accreditation-hero .section-kicker,.competency-hero .section-kicker{color:var(--brand-muted)}
.framework-card{background:var(--brand-white);border-color:var(--brand-line)}
.framework-card h3,.process-copy h3{color:var(--brand-blue)}
.framework-card ul,.framework-summary p,.process-header>p,.process-copy ol{font-size:16px;color:var(--brand-muted);line-height:1.85}
.process-list{border-color:var(--brand-line)}
.process-card{border-color:var(--brand-line)}
.process-number,.framework-number{color:var(--brand-orange-dark)}
.process-kicker{color:var(--brand-blue-mid);font-size:13px}
.action-link{color:var(--brand-blue);border-color:var(--brand-line);background:var(--brand-white);font-size:15px}
.action-link:hover{background:var(--brand-orange-soft);border-color:var(--brand-orange)}
.course-highlight{border-color:#ffffff36;background:#ffffff12}
.course-icon{background:var(--brand-orange);color:var(--brand-blue-dark)}
.accreditation-contact,.psf-system-section{background:var(--brand-blue-soft);border-color:var(--brand-line)}
.contact-details>a{color:var(--brand-blue);border-color:var(--brand-line);font-size:17px}
.competency-pillars article{background:#ffffff0c;border-color:#ffffff35}
.competency-pillars article:hover{border-color:#ffc17d;background:#ffffff16}
.pillar-mark,.competency-pillars .pillar-en{color:#ffc17d}
.review-checklist{color:var(--brand-blue-dark);background:var(--brand-white)}
.check-item{border-color:var(--brand-line)}
.check-item>span{color:var(--brand-orange-dark)}
.check-item p{color:var(--brand-muted);font-size:17px}
.document-list{border-color:var(--brand-line)}
.document-list>a{color:var(--brand-blue-dark);border-color:var(--brand-line)}
.document-list>a:hover{background:var(--brand-orange-soft)}
.document-number{color:var(--brand-orange-dark)}
.document-copy small{color:var(--brand-muted);font-size:15px}
.psf-app-cta{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}
.psf-app-cta:hover{background:var(--brand-blue-mid);border-color:var(--brand-blue-mid);color:#fff}
.psf-app-cta span:last-child{color:#ffc17d}
.psf-app-cta.is-unavailable{background:#6a7d8d;border-color:#6a7d8d;color:#fff}
.psf-app-status,.public-directory-heading p,.psf-system-copy>p{color:var(--brand-muted);font-size:16px;line-height:1.75}
.public-directory{background:var(--brand-white)}
.directory-search{color:var(--brand-blue-dark);font-size:15px}
.directory-search input{border-color:var(--brand-line);color:var(--brand-ink);font-size:16px}
.directory-search input:focus{border-color:var(--brand-blue-mid);box-shadow:0 0 0 3px #2f6f9f24}
.directory-status{background:var(--brand-blue-soft);border-left-color:var(--brand-orange);color:var(--brand-blue-dark);font-size:15px}
.directory-table-wrap{border-color:var(--brand-line)}
.directory-table{font-size:16px}
.directory-table th{background:var(--brand-blue);color:#fff;font-size:16px}
.directory-table td{color:var(--brand-ink);border-color:var(--brand-line);font-size:16px}
.directory-table td:first-child{color:var(--brand-orange-dark)}
.directory-table tr:nth-child(even) td{background:#f6f9fb}
.directory-table tr:hover td{background:var(--brand-orange-soft)}
.button,.text-link,.under-link,.course-link,.platform-button{font-size:15px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-card,.service-card:last-child{border:1px solid #e5eddd38;border-radius:12px}
/* Khuru Platform promotion */
.platform-feature{display:block;padding:clamp(54px,7vw,92px) max(7vw,32px);background:var(--brand-blue-dark);color:var(--brand-white)}
.platform-feature:after{border-color:#ffffff20;box-shadow:0 0 0 35px #ffffff0a,0 0 0 70px #ed8b2f0a}
.platform-promo-top{max-width:1440px;margin:0 auto 48px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:38px}
.platform-copy{max-width:940px}
.platform-label{color:#ffc17d;font-size:14px;letter-spacing:.12em}
.platform-copy h2{margin:18px 0;color:#fff;font-size:clamp(38px,5.2vw,68px);line-height:1.27;letter-spacing:-.04em}
.platform-copy h2 em{color:#ffc17d;font-style:normal}
.platform-copy p{max-width:760px;color:#e1edf6;font-size:19px;line-height:1.85}
.platform-copy blockquote{margin:20px 0 0;padding-left:18px;border-left:3px solid var(--brand-orange);color:#fff;font-size:17px;line-height:1.8}
.platform-promo-top .platform-button{min-width:235px;justify-content:space-between;align-self:end}
.platform-modules{max-width:1440px;margin:0 auto}
.platform-modules-heading{margin-bottom:20px}
.platform-modules-heading>span{color:#ffc17d;font-size:13px;font-weight:700;letter-spacing:.08em}
.platform-modules-heading h3{margin:6px 0 0;color:#fff;font-size:clamp(25px,3.2vw,38px);line-height:1.4}
.platform-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.platform-module{min-height:190px;padding:21px;background:#ffffff0d;border:1px solid #ffffff28;border-radius:14px;transition:transform .2s,border-color .2s,background .2s}
.platform-module:hover{transform:translateY(-3px);border-color:#ffc17d;background:#ffffff14}
.platform-module-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--brand-orange);color:var(--brand-blue-dark);font-size:21px;font-weight:700}
.platform-module h4{margin:14px 0 5px;color:#fff;font-size:19px;line-height:1.5}
.platform-module p{margin:0;color:#d9e6f0;font-size:15px;line-height:1.7}
.platform-benefits{max-width:1440px;margin:26px auto 0;padding-top:18px;border-top:1px solid #ffffff35;display:flex;flex-wrap:wrap;gap:14px 38px;color:#fff;font-size:15px;font-weight:600}
.platform-benefits span:before{content:'✓';display:inline-grid;place-items:center;width:23px;height:23px;margin-right:9px;border-radius:50%;background:var(--brand-orange);color:var(--brand-blue-dark);font-size:14px}
/* Organization chart */
.organization-section{background:var(--brand-blue-soft);border-top:1px solid var(--brand-line)}
.organization-heading{max-width:1440px;margin:0 auto 48px;display:flex;align-items:end;justify-content:space-between;gap:36px}
.organization-heading h2{margin:22px 0 0;color:var(--brand-blue-dark);font-size:clamp(38px,5vw,64px);line-height:1.3;font-weight:600;letter-spacing:-.04em}
.organization-heading h2 span{color:var(--brand-orange-dark)}
.organization-heading>p{max-width:370px;margin:0 0 7px;color:var(--brand-muted);font-size:18px}
.organization-chart{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.org-card{background:var(--brand-white);border:1px solid var(--brand-line);border-radius:18px;padding:27px;text-align:center;box-shadow:0 12px 35px #1238580d}
.org-card h3{margin:14px 0 7px;color:var(--brand-blue-dark);font-size:20px;line-height:1.55;font-weight:700}
.org-card p{margin:0;color:var(--brand-muted);font-size:16px;line-height:1.8}
.org-secretary{width:min(100%,510px);border-top:5px solid var(--brand-blue)}
.org-director{width:min(100%,690px);border-top:5px solid var(--brand-orange)}
.org-pitchaporn{width:min(100%,560px);border-top:5px solid var(--brand-blue-mid)}
.org-label{display:block;margin-bottom:15px;color:var(--brand-orange-dark);font-size:14px;font-weight:700;letter-spacing:.04em}
.org-secretary .org-label{color:var(--brand-blue)}
.org-photo{width:142px;height:142px;margin:0 auto 4px;display:block;object-fit:cover;object-position:center 20%;border:4px solid #fff;border-radius:50%;background:#fff;box-shadow:0 8px 22px #12385818;outline:1px solid var(--brand-line)}
.org-photo[hidden]{display:none!important}
.org-avatar{width:104px;height:104px;margin:0 auto;border-radius:50%;display:grid;place-items:center;object-fit:cover}
.org-avatar[hidden]{display:none!important}
.org-avatar-mark{background:var(--brand-blue);color:#fff;font-size:45px;font-weight:700;border:5px solid #e9f1f7}
.org-avatar-initial{background:var(--brand-orange-soft);border:4px solid #ffdfbd;color:var(--brand-orange-dark);font-size:34px;font-weight:700}
.org-connector{height:34px;width:2px;background:linear-gradient(var(--brand-blue),var(--brand-orange))}
.org-connector-team{height:35px;position:relative;width:min(75%,900px);background:none;border-top:2px solid #b9cbd8;margin-top:0}
.org-connector-team span{position:absolute;top:-2px;width:2px;height:17px;background:#b9cbd8}
.org-connector-team span:nth-child(1){left:16.666%}.org-connector-team span:nth-child(2){left:50%}.org-connector-team span:nth-child(3){left:83.333%}
.org-team-heading{align-self:stretch;margin:0 0 18px;color:var(--brand-blue);font-size:15px;font-weight:700;text-align:center;letter-spacing:.06em}
.org-team{width:min(100%,1100px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.org-staff{padding:25px 18px;border-bottom:4px solid var(--brand-orange)}
.org-staff .org-avatar{width:74px;height:74px}
.org-staff .org-photo{width:74px;height:74px;margin-bottom:4px}
.org-staff h3{font-size:18px}
/* Keep the slogan badge and decorative star shapes still */
.hero-note,.contact-shape{animation:none!important;transform:none!important}
/* Fast, keyboard-friendly service discovery */
.services-tools{position:relative;z-index:2;margin:-22px 0 30px;display:grid;grid-template-columns:minmax(260px,420px) 1fr;align-items:center;gap:15px 22px}
.service-search{min-height:58px;padding:0 16px;display:flex;align-items:center;gap:12px;border:1px solid var(--brand-line);border-radius:12px;background:var(--brand-white);color:var(--brand-blue);box-shadow:0 8px 26px #1238580c}
.service-search>span{font-size:27px;line-height:1;color:var(--brand-orange-dark)}
.service-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--brand-blue-dark);font:500 17px/1.5 var(--sans)}
.service-search input::placeholder{color:#718496;opacity:1}
.service-search input::-webkit-search-cancel-button{cursor:pointer}
.service-search:focus-within{border-color:var(--brand-orange);box-shadow:0 0 0 4px #ed8b2f24}
.service-search kbd{flex:none;padding:4px 7px;border:1px solid var(--brand-line);border-radius:5px;color:var(--brand-muted);font:12px/1.2 'DM Sans',sans-serif}
.service-shortcuts{display:flex;flex-wrap:wrap;gap:9px}
.service-shortcuts a{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #164a7830;border-radius:999px;color:var(--brand-blue-dark);background:#fff;font-size:15px;font-weight:600;transition:background .2s,border-color .2s,transform .2s}
.service-shortcuts a:hover,.service-shortcuts a:focus-visible{background:var(--brand-orange-soft);border-color:var(--brand-orange);transform:translateY(-2px)}
.service-search-feedback{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:14px;min-height:25px;color:var(--brand-white);font-size:15px}
.service-search-feedback p{margin:0}
.service-search-feedback button{border:0;background:transparent;color:var(--brand-orange-dark);font:600 15px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.service-card[hidden]{display:none!important}
@media(max-width:1050px){
  body{font-size:16px}
  .nav>a:not(.nav-cta){font-size:14px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .services-tools{grid-template-columns:1fr;margin:-12px 0 24px;gap:13px}
  .service-search{min-height:58px;padding:0 14px}
  .service-search input{font-size:17px}
  .service-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .service-shortcuts a{min-height:48px;justify-content:center;padding:9px 10px;text-align:center;font-size:15px}
  .service-search-feedback{justify-content:space-between;min-height:24px;font-size:15px}
  body{font-size:16px;line-height:1.7}
  .brand-name strong{font-size:16px}
  .brand-name small{font-size:12px}
  .nav{background:var(--brand-blue-dark)}
  .nav>a:not(.nav-cta){font-size:16px}
  .institution-subnav a{font-size:14px}
  .hero h1{font-size:clamp(45px,11vw,70px);line-height:1.32}
  .hero-desc,.accreditation-hero p,.intro-copy p,.contact-bottom p{font-size:16px}
  .section-kicker,.eyebrow{font-size:13px}
  .roles-grid strong,.values-row strong{font-size:16px}
  .roles-grid small,.values-row small{font-size:14px}
  .service-card h3{font-size:20px}
  .service-card p{font-size:15px}
  .service-card:nth-child(2n){border-left:1px solid #e5eddd38}
  .service-card:nth-child(n+3){border-bottom:1px solid #e5eddd38}
  .card-index{font-size:11px}
  .card-link,.button,.text-link,.under-link{font-size:14px}
  .framework-card ul,.framework-summary p,.process-header>p,.process-copy ol{font-size:15px}
  .action-link,.contact-details>a,.document-copy small{font-size:15px}
  .directory-table{font-size:15px}
  .directory-table th,.directory-table td{font-size:15px;padding:12px}
  .organization-heading{display:block;margin-bottom:30px}
  .organization-heading>p{margin-top:13px;font-size:16px}
  .org-card{padding:23px 18px;border-radius:15px}
  .org-card h3{font-size:18px}
  .org-card p{font-size:15px}
  .org-avatar{width:88px;height:88px}
  .org-photo{width:128px;height:128px}
  .org-team{grid-template-columns:1fr 1fr;gap:12px}
  .org-team .org-card{padding:20px 13px}
  .org-team .org-avatar{width:65px;height:65px;font-size:26px}
  .org-staff .org-photo{width:65px;height:65px}
  .org-staff h3{font-size:16px}
  .org-staff p{font-size:14px}
  .org-connector-team{width:100%}
  .platform-feature{padding:52px 23px}
  .platform-promo-top{grid-template-columns:1fr;gap:22px;margin-bottom:37px}
  .platform-copy h2{font-size:clamp(34px,9vw,48px);line-height:1.35}
  .platform-copy p{font-size:16px;line-height:1.8}
  .platform-copy blockquote{font-size:15px}
  .platform-promo-top .platform-button{grid-column:auto;min-width:0;width:100%}
  .platform-module-grid{grid-template-columns:1fr 1fr;gap:10px}
  .platform-module{min-height:0;padding:16px 14px;border-radius:12px}
  .platform-module-icon{width:36px;height:36px;font-size:18px}
  .platform-module h4{font-size:16px;line-height:1.45}
  .platform-module p{font-size:14px;line-height:1.65}
  .platform-benefits{display:grid;gap:12px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
