/* Scoped improvements for navigation, reflow, readable supporting text and
   the approved compact mobile introduction. Brand colours/typefaces retained. */
html { scroll-padding-top: calc(var(--nav-h) + 20px); }
main[id], h1[id], h2[id], h3[id], [tabindex="-1"] { scroll-margin-top: calc(var(--nav-h) + 20px); }
main:focus, section[tabindex="-1"]:focus { outline: none; }
.hero-content, .hero-visual, .section-head > *, .experience-head > *,
.global-head > *, .insights-top > *, .article-card, .service-row > *, .credential-item > * { min-width: 0; }
.experience { overflow: visible; }
.institution-references { min-width: 0; }
.institution-references a, .institution-references span { max-width: 100%; font-size: 13px; line-height: 1.55; }
.role-caption { grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); }
.role-caption strong, .role-caption span { font-size: 13px; line-height: 1.55; }
.section-label { font-size: 12px; line-height: 1.5; }
.hero-kicker { margin-bottom: 34px; }
.metric-text { font-size: 13px; }
.credential-item dt, .credential-item dd { font-size: 13px; }
footer .footer-service-links { font-size: 13px; }
.footer-bottom { font-size: 12px; line-height: 1.6; }
.footer-nav { font-size: 13px; }
.footer-top > *, .footer-bottom > *, .footer-nav { min-width: 0; }
.corridor-label, .corridor-region h3, .footprint-atlas .corridor-region h3 { font-size: 12px; line-height: 1.6; }
.footprint-atlas .corridor-country-name { font-size: 13px; }
.corridor-regions-summary { max-width: 540px; margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.7; text-align: right; }
.corridor-meta { flex-wrap: wrap; }
.nav-wrap .language-switch > span:not(.current) { opacity: .72; }
.nav-wrap .brand-descriptor { opacity: .8; }
.service-page .service-page__eyebrow { font-size: 12px; }

/* Disclosure: one breakpoint, no modal semantics or focus trap. */
@media (max-width: 1100px) {
  .nav-wrap:not([data-nav-ready]) { position: relative; }
  .nav-wrap:not([data-nav-ready]) .nav { height: auto; min-height: var(--nav-h); flex-wrap: wrap; padding-block: 16px; }
  .nav-wrap .nav-links { flex-wrap: wrap; }
  .nav-wrap .nav-links > a:not(.language-switch) { display: block; }
  .nav-wrap[data-nav-ready] .menu-toggle { display: block; flex: 0 0 44px; }
  .nav-wrap[data-nav-ready] .nav-links {
    position: absolute;
    top: 100%; left: 0; right: 0; bottom: auto;
    z-index: 51;
    width: auto; height: auto; min-height: 0;
    max-height: calc(100dvh - var(--nav-h));
    overflow-y: auto;
    padding: 28px 32px 34px;
    border-bottom: 1px solid var(--line-dark);
    background: var(--ink-deep); color: var(--paper);
    flex-direction: column; flex-wrap: nowrap;
    align-items: flex-start; justify-content: flex-start;
    gap: 18px;
    visibility: hidden; opacity: 0; pointer-events: none;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .nav-wrap[data-nav-ready] .nav-links.open { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
  .nav-wrap[data-nav-ready] .nav-links > a:not(.language-switch) {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px; font-weight: 400; line-height: 1.25; letter-spacing: -.02em;
    max-width: 100%;
  }
  .nav-wrap[data-nav-ready] .nav-links .nav-cta,
  .nav-wrap[data-nav-ready] .nav-links .nav-cta:hover,
  .nav-wrap[data-nav-ready] .nav-links .nav-cta:focus-visible { border: 0; padding: 0; background: transparent; color: var(--paper); }
  .nav-wrap[data-nav-ready] .language-switch { position: static; min-height: 32px; font-size: 13px !important; }
  .nav-wrap .nav-links a:focus-visible { outline-color: var(--paper); }
}
@media (min-width: 1101px) and (max-width: 1240px) {
  .nav-wrap .brand-type { gap: 20px; }
  .nav-wrap .brand-descriptor { display: none; }
}

/* Contact colours only: no change to fields, validation or verification logic. */
.contact-panel::before { opacity: .3; }
.contact-copy .section-label, .contact-copy p,
.contact-form .field > span, .contact-form .required,
.contact-form .required-note, .contact-form .form-status,
.contact-form .form-status[data-state="error"], .contact-form .form-status[data-state="success"],
.contact-form .verification-status, .contact-form .verification-status[data-state="error"] { color: var(--white); }
.contact-form .field > span, .contact-form .required-note, .contact-form .form-status { font-size: 13px; line-height: 1.6; }
.contact-panel :focus-visible { outline-color: var(--white); }
.contact-copy .email { max-width: 100%; overflow-wrap: break-word; }

@media (max-width: 760px) {
  .hero { padding-top: calc(var(--nav-h) + 24px); }
  .hero-grid { gap: 30px; padding: 24px 0 30px; }
  .hero-kicker { margin-bottom: 22px; }
  .hero-copy { margin: 24px 0; }
  .hero-visual { max-width: 270px; }
  .portrait-frame { aspect-ratio: .9; }
  .role-caption { grid-template-columns: 1fr; gap: 6px; margin-inline: 0; padding-top: 13px; }
  .country-line { padding: 22px 0; }
  .countries { gap: 12px 0; }
  .countries li { font-size: 11px; padding-inline: 6px; }
  .metrics { padding: 48px 0; }
  .metric-intro { margin-bottom: 28px; }
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric, .metric + .metric, .metric:nth-child(3) { min-height: 0; padding: 24px 14px 24px 0; border-top: 0; border-right: 1px solid var(--line-dark); }
  .metric:nth-child(even) { padding-right: 0; padding-left: 14px; border-right: 0; }
  .metric:nth-child(n+3) { border-top: 1px solid var(--line-dark); }
  .metric-number { font-size: 56px; }
  .metric-text { font-size: 13px; line-height: 1.65; margin-top: 14px; }
  .statement { padding: 48px 0 42px; }
  .statement-grid { gap: 22px; }
  .statement .headline { font-size: clamp(32px, 8.6vw, 46px); line-height: 1.08; }
  .statement-note { margin-top: 24px; gap: 14px; }
  .statement-note .line { width: 30px; }
  .expertise { padding-top: 42px; padding-bottom: 60px; }
  .section-head { gap: 24px; margin-bottom: 30px; }
  .expertise .headline { line-height: 1.08; }
  .service-row { grid-template-columns: 28px minmax(0, 1fr) 42px; }
  .service-row .service-title { grid-column: 2; grid-row: 1; }
  .service-row .service-arrow { grid-column: 3; grid-row: 1; }
  .service-row p { grid-column: 2 / -1; grid-row: 2; }
  .institution-references a, .institution-references span { font-size: 13px; }
  .corridor-regions-summary { max-width: 100%; text-align: left; }
  .corridor-meta { gap: 12px; }
  .credentials-index { grid-template-columns: minmax(0, 1fr); }
  .credential-item { grid-template-columns: minmax(0,.42fr) minmax(0,.58fr); }
  .profile-editorial h2 { font-size: clamp(36px, 10vw, 50px); line-height: 1.08; }
}
@media (max-width: 359px) {
  .metrics-grid { grid-template-columns: minmax(0, 1fr); }
  .metric, .metric + .metric, .metric:nth-child(3), .metric:nth-child(even) { padding: 24px 0; border-right: 0; border-top: 1px solid var(--line-dark); }
  .metric:first-child { border-top: 0; }
  .countries { column-gap: 6px; }
  .countries li { letter-spacing: .08em; }
  .credential-item { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .credential-item dd { text-align: left; }
  .contact-panel { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-wrap[data-nav-ready] .nav-links { transition: none; transform: none; }
}
/* A text-only link must not shrink below its own label on tablet. */
.insights-top > .text-link { flex-shrink: 0; }
@media (max-width: 1100px) {
  .insights-top { display: block; }
  .insights-top > .text-link { margin-top: 28px; }
  .nav-wrap[data-nav-ready] .nav-links,
  .nav-wrap[data-nav-ready] .nav-links.open { transition-property: opacity, transform; }
}
/* Enlarged text may reflow without being clipped or shrinking the user's text. */
h1, h2, h3, .statement-note p { overflow-wrap: break-word; hyphens: auto; }
.hero h1 > span, .hero h1 > em { overflow-wrap: break-word; }
.service-page .service-page__title,
.service-page .service-page__section > h2,
.service-page .service-page__section > h3 { overflow-wrap: break-word; }
.nav { height: auto; min-height: var(--nav-h); flex-wrap: wrap; }
.nav-links { flex-wrap: wrap; }
.nav-wrap .brand, .footer-brand .brand { max-width: 100%; min-width: 0; flex-shrink: 1; }
.brand-type { min-width: 0; max-width: 100%; }
.brand-descriptor { min-width: 0; white-space: normal; }
.nav-wrap .brand-name, .footer-brand .brand-name { flex: 0 0 auto; }
html { scroll-padding-top: calc(var(--header-height, var(--nav-h)) + 20px); }
section[id], figure[id], nav[id], main[id], h1[id], h2[id], h3[id], [tabindex="-1"] { scroll-margin-top: calc(var(--header-height, var(--nav-h)) + 20px); }
main { padding-top: max(0px, calc(var(--header-height, var(--nav-h)) - var(--nav-h))); }
@media (max-width: 760px) {
  .statement-grid, .section-head, .experience-head, .global-head { grid-template-columns: minmax(0, 1fr); }
  .section-label { display: block; }
  .section-label::before { display: inline-block; vertical-align: middle; margin-right: 14px; }
  .metrics-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10em), 1fr)); }
  .countries { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10em), 1fr)); }
  .countries li { white-space: normal; }
  .countries li:last-child { grid-column: auto; }
  .statement-note p { min-width: 0; }
}
.service-title { overflow-wrap: break-word; hyphens: auto; }
.footer-top { flex-wrap: wrap; }
.footer-nav { max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
