/* Shared institutional pages, registry and multilingual navigation. */
.institution-page main { padding-top: 94px; }
.institution-hero { padding: clamp(52px,7vw,108px) 0 42px; background: linear-gradient(120deg,#f5f6f4,#fff); border-bottom: 1px solid #dce1e3; }
.institution-hero h1 { max-width: 1000px; margin: 18px 0 28px; font-size: clamp(34px,5vw,70px); line-height: 1.08; letter-spacing: -.035em; overflow-wrap: anywhere; }
.institution-hero p, .institution-lead { max-width: 940px; color: #52616d; line-height: 1.85; font-size: clamp(15px,1.2vw,18px); }
.institution-section { padding: clamp(42px,6vw,82px) 0; }
.institution-section h2 { font-size: clamp(30px,3vw,46px); line-height: 1.15; letter-spacing: -.025em; }
.geography-section { background: #f5f6f4; border-block: 1px solid #e4e7e7; }
.geography-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 36px; border-top: 1px solid #ccd3d6; }
.geography-grid article { padding: 32px 42px 8px 0; }
.geography-grid article+article { padding-left: 42px; border-left: 1px solid #ccd3d6; }
.institution-country { display: block; color: #9b742f; font-size: 13px; font-weight: 800; letter-spacing: .15em; margin-bottom: 16px; }
.geography-grid h3 { font-size: clamp(23px,2.3vw,32px); margin-bottom: 18px; }
.geography-grid p { max-width: 600px; color: #52616d; line-height: 1.8; margin-bottom: 22px; }
.geography-grid a,.certificate-actions>a:not(.button),.idp-international>a,.institution-notice>a,.institution-back { display: inline-flex; align-items: center; gap: 10px; color: #856124; font-weight: 700; line-height: 1.55; text-decoration: underline; text-underline-offset: 5px; }
.organisation-details { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 30px; padding-block: 30px; border-top: 1px solid #ffffff24; color: #c3ccd2; }
.organisation-details strong { display: block; max-width: 760px; color: #ebdebc; font-size: 13px; line-height: 1.65; letter-spacing: .025em; }
.organisation-details p,.organisation-details address { margin: 10px 0 0; max-width: 760px; font-size: 12px; line-height: 1.85; font-style: normal; }
.organisation-network { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 14px; font-size: 12px; }
.organisation-network a { color: #e0c486; line-height: 1.6; }
.register-scroll { overflow: auto; border-block: 1px solid #d4dce0; }
.organisation-register { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.organisation-register caption { padding: 0 0 25px; text-align: left; font-size: clamp(22px,2.5vw,32px); font-weight: 700; }
.footer-brand .brand-copy { max-width: none; }
.organisation-register th { padding: 18px 22px; color: #566570; background: #f1f3f3; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.organisation-register td { padding: 26px 22px; vertical-align: top; line-height: 1.8; border-top: 1px solid #dce1e3; }
.organisation-register td small,.organisation-register td:last-child a { display: block; }
.organisation-register td small { font-size: 11px; color: #64717c; margin-top: 8px; }
.organisation-register a { color: #886126; text-decoration: underline; text-underline-offset: 4px; }
.register-status { color: #2c6650; white-space: nowrap; font-weight: 700; }
.register-status::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: currentColor; vertical-align: middle; }
.certificate-card { display: flex; align-items: center; gap: 48px; justify-content: space-between; padding: 50px 0; }
.certificate-card>div { max-width: 850px; }
.certificate-card h2 { font-size: clamp(25px,3vw,38px); margin-bottom: 22px; }
.certificate-card p { color: #52616d; line-height: 1.85; }
.certificate-card .button { flex-shrink: 0; }
.institution-notice { padding: 26px 0 26px 26px; border-left: 3px solid #b3914e; background: transparent; }
.institution-notice h3 { font-size: 22px; margin-bottom: 14px; }
.institution-notice p { color: #52616d; font-size: 14px; line-height: 1.85; margin-bottom: 18px; max-width: 980px; }
.idp-international { margin-top: 34px; padding-top: 28px; border-top: 1px solid #d3d9db; }
.idp-international h3 { margin: 14px 0; font-size: 24px; }
.idp-international p { color: #52616d; line-height: 1.85; font-size: 14px; }
.idp-service-primary .institution-notice { margin-top: 30px; }
.institution-scope { margin-top: 18px; color: #52616d; font-size: 13px; line-height: 1.85; }
.certificate-actions { display: flex; align-items: center; gap: 20px 28px; flex-wrap: wrap; margin-top: 26px; }
.certificate-facts { display: flex; gap: 24px; flex-wrap: wrap; padding-block: 12px; }
.certificate-facts p { margin: 0; font-size: 13px; }
.certificate-preview-section { background: #f3f4f2; }
.certificate-preview { display: block; width: min(100%,800px); height: auto; margin: 0 auto 54px; box-shadow: 0 18px 54px #071a2d16; }
.link-icon { width: 16px; height: 16px; display: inline-block; vertical-align: middle; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.material-header .material-header-actions { flex-wrap: wrap; gap: 14px; }
.language-switch { flex-shrink: 0; }
.lang-button { min-width: 30px; }
.main-nav>a[data-i18n="navMembership"] { color: var(--white); }
.main-nav>a[data-i18n="navIdpDepartment"] { color: var(--champagne); font-weight: 800; }
@media (min-width:1361px) {
  .navigation-bar { grid-template-columns: max-content minmax(0,1fr) max-content; gap: clamp(18px,1.6vw,30px); padding-inline: clamp(24px,2.4vw,48px); }
  .site-header .brand { max-width: none; }
  .site-header .brand-copy strong { font-size: 16px; }
  .site-header .brand-lockup { gap: 12px; }
  .main-nav { min-width: 0; gap: clamp(14px,1.1vw,24px); }
  .main-nav>a { min-width: 0; max-width: 150px; padding-inline: 2px; font-size: clamp(10.5px,.75vw,12px); font-weight: 650; letter-spacing: .025em; text-align: center; justify-content: center; line-height: 1.55; text-wrap: balance; }
  .main-nav>a[data-i18n="navIdpDepartment"] { font-weight: 800; }
  .nav-actions { padding-left: 0; }
}
@media (max-width:1360px) { .institution-page main { padding-top: 82px; } }
@media (max-width:760px) {
  .organisation-details,.geography-grid { grid-template-columns: 1fr; gap: 24px; }
  .geography-grid article { padding: 28px 0 8px; }
  .geography-grid article+article { border-left: 0; border-top: 1px solid #ccd3d6; padding: 28px 0 8px; }
  .certificate-card { align-items: flex-start; flex-direction: column; gap: 24px; padding-block: 36px; }
  .register-scroll { overflow: visible; border: 0; }
  .organisation-register { display: block; min-width: 0; }
  .organisation-register caption { display: block; width: 100%; line-height: 1.4; padding-bottom: 22px; }
  .organisation-register thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .organisation-register tbody,.organisation-register tbody tr { display: block; width: 100%; }
  .organisation-register tbody tr { padding: 12px 22px; border: 1px solid #d4dce0; }
  .organisation-register td { display: block; width: 100%; padding: 14px 0; border: 0; }
  .organisation-register td+td { border-top: 1px solid #e4e7e7; }
  .organisation-register td::before { content: attr(data-label); display: block; color: #64717c; font-size: 10px; font-weight: 700; letter-spacing: .06em; margin-bottom: 8px; text-transform: uppercase; }
  .institution-notice { padding-left: 18px; }
  .certificate-facts { flex-direction: column; gap: 6px; }
  .certificate-actions .button { width: 100%; justify-content: center; }
  .institution-hero { padding-top: 40px; }
  .material-header .brand-copy strong { font-size: 12px; }
  .material-header .material-header-inner { flex-wrap: nowrap; column-gap: 12px; }
  .material-header-actions { width: auto; justify-content: flex-end; }
  .material-header .material-back { font-size: 10px; letter-spacing: .03em; }
  .material-back .link-icon { width: 14px; height: 14px; }
}
@media (max-width:640px) { .institution-page main { padding-top: 70px; } }
html[lang="kk"] .dossier-hero h1 { font-size: clamp(34px,4.3vw,64px); overflow-wrap: anywhere; hyphens: auto; }
html[lang="kk"] .programme-heading h2 { font-size: clamp(30px,4vw,46px); overflow-wrap: anywhere; }
@media (max-width:380px) { .footer-brand .brand-copy strong { font-size: 11px; } }
@media (max-width:1280px) {
  .memo-emergency { grid-template-columns: 54px minmax(0,1fr); }
  .memo-emergency > span { grid-column: 1 / -1; grid-row: auto; }
}
