/* ===========================================================
   Kingdom Mission International — shared stylesheet
   Palette: deep navy + warm ivory + gold · Fraunces / Figtree
   =========================================================== */
:root{
  --brand:#153b82; --brand-2:#1b4aa0; --brand-deep:#123472;
  --accent:#d99b16; --accent-bright:#fabc0f; --on-brand:#f6f8fd;
  --bg:#fbfaf6; --surface:#ffffff; --surface-2:#f3efe6;
  --ink:#182540; --muted:#596074; --line:#e7e1d4;
  --radius:16px; --maxw:1200px;
  --shadow:0 18px 40px -22px rgba(16,28,56,.35);
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0a1430;--surface:#101f44;--surface-2:#0e1a3b;--ink:#eaf0fb;--muted:#a7b2cd;
  --line:#24335c;--accent:#f6c445;--shadow:0 18px 44px -20px rgba(0,0,0,.6);color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0a1430;--surface:#101f44;--surface-2:#0e1a3b;--ink:#eaf0fb;--muted:#a7b2cd;
  --line:#24335c;--accent:#f6c445;--shadow:0 18px 44px -20px rgba(0,0,0,.6);color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.1;text-wrap:balance;margin:0}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
svg{display:block}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(18px,4vw,28px)}
.eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.center{text-align:center}
.mt1{margin-top:1rem}.mt2{margin-top:2rem}
section{padding-block:clamp(50px,7vw,92px)}
.sec-head{max-width:64ch}
.sec-head.ctr{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-top:.5rem;color:var(--ink)}
.sec-head p{color:var(--muted);margin-top:.9rem;font-size:1.08rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.98rem;padding:.85em 1.5em;border-radius:999px;cursor:pointer;border:2px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn-gold{background:var(--accent-bright);color:#1a2340;box-shadow:0 10px 24px -10px rgba(246,196,69,.7)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-navy{background:var(--brand-2);color:#fff}
.btn-navy:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-outline{border-color:var(--brand-2);color:var(--brand-2)}
:root[data-theme="dark"] .btn-outline,:root:not([data-theme="light"]) .btn-outline{color:var(--ink);border-color:var(--line)}
@media (prefers-color-scheme:dark){.btn-outline{color:var(--ink);border-color:var(--line)}}

/* header */
header.site{position:sticky;top:0;z-index:50;background:var(--brand-deep);transition:background .3s,box-shadow .3s}
header.site.scrolled{background:color-mix(in srgb,var(--brand-deep) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
header.site.solid{background:var(--brand-deep)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:14px}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff}
.brand .mark{width:46px;height:46px;flex:0 0 auto;border-radius:50%;display:block}
.brand .bt{font-family:var(--f-display);font-weight:700;font-size:1.15rem;line-height:1}
.brand .bs{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-bright);font-weight:700}
.menu{display:flex;align-items:center;gap:.3rem;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu .toplink{display:inline-flex;align-items:center;gap:.3em;color:rgba(255,255,255,.9);font-weight:600;font-size:.95rem;padding:9px 12px;border-radius:8px;cursor:pointer;background:none;border:0;font-family:inherit;transition:background .2s,color .2s}
.menu .toplink:hover,.menu .toplink[aria-current="page"]{color:#fff;background:rgba(255,255,255,.1)}
.menu .toplink .caret{width:9px;height:9px;transition:transform .25s;opacity:.85}
.menu li.open .toplink .caret{transform:rotate(180deg)}
.menu ul{list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 6px);left:0;min-width:234px;background:#fff;border-radius:12px;box-shadow:0 22px 46px -16px rgba(8,18,45,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:60}
.menu li.open>ul,.menu li:focus-within>ul,.menu li:hover>ul{opacity:1;visibility:visible;transform:translateY(0)}
.menu ul a{display:block;padding:10px 14px;border-radius:8px;color:#2a3550;font-weight:600;font-size:.92rem;transition:background .16s,color .16s,padding .16s}
.menu ul a:hover{background:#eff4fb;color:var(--brand);padding-left:18px}
.nav-actions{display:flex;align-items:center;gap:.7rem}
.tgl{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.tgl:hover{background:rgba(255,255,255,.2)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{display:block;width:24px;height:2px;background:#fff;transition:.25s}
.mobile-menu{display:none}
@media (max-width:980px){
  .menu{display:none}.burger{display:flex}.nav-actions .btn{display:none}
  .mobile-menu{display:block;position:fixed;inset:66px 0 0 0;background:var(--brand-deep);padding:18px clamp(18px,4vw,28px) 40px;z-index:49;transform:translateY(-130%);transition:transform .35s;box-shadow:var(--shadow);overflow-y:auto}
  .mobile-menu.open{transform:translateY(0)}
  .mobile-menu h5{color:var(--accent-bright);font-family:var(--f-body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 4px}
  .mobile-menu a{display:block;color:#fff;font-weight:600;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-menu .btn{margin-top:18px;width:100%;justify-content:center}
}

/* page hero (interior pages) */
.page-hero{background:var(--brand-deep);color:var(--on-brand);padding-block:clamp(50px,8vw,90px);position:relative}
.page-hero .eyebrow{color:var(--accent-bright)}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-top:.5rem;max-width:18ch}
.page-hero p{color:#cdd8f1;margin-top:1rem;max-width:56ch;font-size:1.1rem}
.crumbs{font-size:.85rem;color:#9fb0d6;margin-bottom:.5rem}
.crumbs a:hover{color:var(--accent-bright)}

/* home hero */
.hero{position:relative;background:var(--brand-deep);color:var(--on-brand);overflow:hidden}
#map{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;z-index:1;overflow:hidden}
#map canvas{display:block}
.hero-inner{pointer-events:none}
.hero-inner a,.hero-inner button{pointer-events:auto}
.pulse{transform-box:fill-box;transform-origin:center;animation:hubpulse 2.6s ease-out infinite}
@keyframes hubpulse{0%{transform:scale(.5);opacity:.55}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(95deg,rgba(9,20,48,.93) 0%,rgba(9,20,48,.7) 30%,rgba(9,20,48,.22) 60%,rgba(9,20,48,.46) 100%)}
.hero-inner{position:relative;z-index:2;padding-block:clamp(54px,9vw,104px)}
.hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);font-weight:700;letter-spacing:-.01em;max-width:16ch}
.hero h1 em{font-style:italic;color:var(--accent-bright)}
.hero .lede{margin-top:1.1rem;font-size:clamp(1.05rem,1.8vw,1.26rem);color:#d6def2;max-width:48ch}
.hero-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.1rem;color:#aebbdc;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.scripture{margin-top:2.2rem;border-left:3px solid var(--accent);padding-left:1rem;font-family:var(--f-display);font-style:italic;font-size:1.05rem;color:#eaf0fb;max-width:52ch}

/* stats */
.stats{background:var(--brand);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.stat{background:var(--brand);padding:26px 16px;text-align:center}
.stat .n{font-family:var(--f-display);font-weight:700;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--accent-bright);font-variant-numeric:tabular-nums}
.stat .l{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c3cdf0;margin-top:.3rem}
@media (max-width:640px){.stats .grid{grid-template-columns:repeat(2,1fr)}}

/* generic grids & cards */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:860px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.grid-4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.card.hover:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.card h3{font-size:1.18rem;color:var(--ink);margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.96rem;margin:0}
.ic{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-2) 12%,transparent);color:var(--brand-2);margin-bottom:16px}
:root[data-theme="dark"] .ic,:root:not([data-theme="light"]) .ic{background:rgba(246,196,69,.12);color:var(--accent)}
@media (prefers-color-scheme:dark){.ic{background:rgba(246,196,69,.12);color:var(--accent)}}
.media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(145deg,#1E3A8A,#0b1a3a);position:relative;min-height:260px}
.media::before{content:"✦ KMI";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:1.9rem;letter-spacing:.14em;color:rgba(255,255,255,.16);z-index:0}
.media img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.lead-link{display:inline-flex;align-items:center;gap:.4em;margin-top:1rem;font-weight:700;color:var(--brand-2)}
:root[data-theme="dark"] .lead-link,:root:not([data-theme="light"]) .lead-link{color:var(--accent)}
@media (prefers-color-scheme:dark){.lead-link{color:var(--accent)}}
.lead-link:hover{gap:.7em}
.band-alt{background:var(--surface-2)}

/* fields */
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.field{position:relative;border-radius:var(--radius);overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow);background:linear-gradient(150deg,#15336b,#0b1a3a)}
.field:nth-child(2){background:linear-gradient(150deg,#1b4f6b,#0b1a3a)}
.field:nth-child(3){background:linear-gradient(150deg,#275a4e,#0b1a3a)}
.field:nth-child(4){background:linear-gradient(150deg,#523a78,#0b1a3a)}
.field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s}
.field::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,36,.05),rgba(8,16,36,.85));z-index:1}
.field:hover img{transform:scale(1.07)}
.field .fc{position:relative;z-index:2;padding:20px}
.field .fc .k{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright);font-weight:700}
.field .fc h3{font-size:1.4rem;margin-top:.2rem}
.field .fc p{font-size:.9rem;color:#dbe3f5;margin-top:.35rem;margin-bottom:0}
@media (max-width:860px){.fields{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.fields{grid-template-columns:1fr}}

/* stories */
.story{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.story:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.story .ph{aspect-ratio:3/2;overflow:hidden;background:linear-gradient(145deg,#24489e,#0b1a3a);position:relative}
.story .ph::before{content:"✦ KMI";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:1.6rem;letter-spacing:.14em;color:rgba(255,255,255,.16)}
.story .ph img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.story:hover .ph img{transform:scale(1.06)}
.story .body{padding:22px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.story .tag{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}
.story h3{font-size:1.25rem;color:var(--ink)}
.story p{color:var(--muted);font-size:.95rem;flex:1;margin:0}
.story .rl{font-weight:700;color:var(--brand-2);font-size:.92rem}
:root[data-theme="dark"] .story .rl,:root:not([data-theme="light"]) .story .rl{color:var(--accent)}
@media (prefers-color-scheme:dark){.story .rl{color:var(--accent)}}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:860px){.team{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.team{grid-template-columns:1fr}}
.member{text-align:center}
.member .av{width:160px;height:160px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(145deg,#1b4aa0,#0b1a3a);display:grid;place-items:center;color:rgba(255,255,255,.4);font-family:var(--f-display);font-weight:700;font-size:2.2rem;overflow:hidden;border:4px solid var(--surface);box-shadow:0 0 0 3px var(--accent-bright),0 16px 32px -16px rgba(16,28,56,.45);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.member:hover .av{transform:translateY(-5px) scale(1.04)}
.member .av img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.member h3{font-size:1.1rem;color:var(--ink)}
.member .role{color:var(--accent);font-weight:600;font-size:.9rem}

/* give cards */
.give-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:.6rem}
.give-card.feature{border-color:var(--accent);box-shadow:var(--shadow)}
.give-card h3{font-size:1.3rem;color:var(--ink)}
.give-card .amt{font-family:var(--f-display);font-weight:700;font-size:1.6rem;color:var(--brand-2)}
:root[data-theme="dark"] .give-card .amt,:root:not([data-theme="light"]) .give-card .amt{color:var(--accent)}
@media (prefers-color-scheme:dark){.give-card .amt{color:var(--accent)}}
.give-card p{color:var(--muted);font-size:.95rem;flex:1}
.bankbox{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;font-size:.95rem}
.bankbox b{color:var(--ink)}

/* contact + form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,44px)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:.88rem;margin:14px 0 6px;color:var(--ink)}
input,select,textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.8em .9em;font-family:inherit;font-size:1rem;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--accent-bright);outline-offset:1px;border-color:var(--accent)}
textarea{min-height:130px;resize:vertical}
.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);min-height:340px}
.map-embed iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.info-list li{display:flex;gap:12px;align-items:flex-start}
.info-list .ic{width:42px;height:42px;border-radius:11px;margin:0;flex:0 0 auto}
.info-list a{color:var(--brand-2);font-weight:600}
:root[data-theme="dark"] .info-list a,:root:not([data-theme="light"]) .info-list a{color:var(--accent)}
@media (prefers-color-scheme:dark){.info-list a{color:var(--accent)}}

/* podcast band */
.podcast{background:linear-gradient(135deg,#0c1d44,#13306e);color:#fff;border-radius:calc(var(--radius) + 6px);padding:clamp(30px,5vw,54px);display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}
.podcast h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.podcast p{color:#cdd8f1;margin-top:.8rem}
.pods{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.pods a{display:inline-flex;align-items:center;gap:.5em;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.6em 1.1em;border-radius:999px;font-weight:600;font-size:.9rem}
.pods a:hover{background:rgba(255,255,255,.2)}
.pod-art{justify-self:center;width:200px;height:200px;border-radius:24px;background:radial-gradient(circle at 30% 30%,#1E3A8A,#0a1430);display:grid;place-items:center;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.12);text-align:center;padding:20px;color:#fff}
.pod-art .t{font-family:var(--f-display);font-weight:700;margin-top:.4rem;line-height:1.1}
.pod-art .s{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);margin-top:.4rem}
@media (max-width:760px){.podcast{grid-template-columns:1fr;text-align:center}.pod-art{order:-1}.pods{justify-content:center}}

/* final cta */
.final{position:relative;background:var(--brand-deep);color:#fff;text-align:center;overflow:hidden}
.final h2{font-size:clamp(2rem,5vw,3.2rem)}
.final p{color:#d3dcf1;max-width:50ch;margin:1rem auto 0}
.final .hero-cta{justify-content:center}
.trust{margin-top:1.6rem;font-size:.9rem;color:#b9c5e4}
.trust b{color:var(--accent-bright)}

/* footer */
footer.site{background:#081127;color:#c6cfe6;padding-block:clamp(44px,6vw,64px) 28px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
footer.site h4{font-family:var(--f-body);font-weight:700;color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
footer.site a{color:#c6cfe6;font-size:.95rem;display:block;padding:5px 0}
footer.site a:hover{color:var(--accent-bright)}
.fbrand .bt{font-family:var(--f-display);font-size:1.3rem;color:#fff;font-weight:700}
.fbrand p{font-size:.92rem;margin-top:.6rem;color:#9fabca;max-width:34ch}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;padding:0}
.socials a:hover{background:var(--accent);color:#1a2340}
.contact-line{font-size:.92rem;color:#c6cfe6;margin:0 0 .3rem}
.fbar{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.82rem;color:#8d99ba}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}

/* reveal + a11y */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.js .reveal.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1!important;transform:none!important;transition:none}
  .pulse{animation:none}
}
:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:#15336b;padding:.6em 1em;border-radius:8px}
.note{background:var(--surface-2);border-left:4px solid var(--accent);padding:14px 18px;border-radius:0 8px 8px 0;font-size:.95rem;margin:1rem 0}

/* ---- videos ---- */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.video-grid{grid-template-columns:1fr}}
.video{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#0b1a3a}
.video .frame{position:relative;aspect-ratio:16/9}
.video .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .cap{padding:14px 18px;font-weight:600;color:var(--ink);font-size:.95rem}
/* ---- social ---- */
.social-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
@media(max-width:860px){.social-grid{grid-template-columns:1fr}}
.fb-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--surface);min-height:560px}
.fb-embed iframe{width:100%;min-height:560px;border:0;display:block}
.social-links{display:grid;gap:12px}
.social-links a{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:700;color:var(--ink);transition:transform .2s,border-color .2s}
.social-links a:hover{transform:translateX(4px);border-color:var(--accent)}
.social-links .si{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:0 0 auto;font-weight:700}
/* ---- blog ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.blog-grid{grid-template-columns:1fr}}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.post .ph{aspect-ratio:3/2;background:linear-gradient(145deg,#1E3A8A,#0b1a3a);position:relative}
.post .ph::before{content:"\2726 KMI";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;color:rgba(255,255,255,.16);font-size:1.4rem}
.post .ph img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.post .body{padding:22px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.post .meta{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.post h3{font-size:1.2rem;color:var(--ink)}
.post p{color:var(--muted);font-size:.95rem;flex:1;margin:0}
/* ---- article ---- */
.article{max-width:760px;margin-inline:auto}
.article h2{font-size:1.5rem;margin:1.8rem 0 .6rem;color:var(--ink)}
.article p{color:var(--ink);opacity:.92;margin:0 0 1rem}
.article .frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;margin:0 0 1.6rem;box-shadow:var(--shadow)}
.article .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- statement of faith ---- */
.faith{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.faith{grid-template-columns:1fr}}
.faith .item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;gap:14px}
.faith .num{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--f-display)}
.faith h3{font-size:1.08rem;color:var(--ink);margin-bottom:.25rem}
.faith p{color:var(--muted);font-size:.92rem;margin:0}
.faith .ref{color:var(--accent);font-weight:600;font-size:.8rem;margin-top:.4rem}
/* ---- numbered steps ---- */
.steps{counter-reset:s;display:grid;gap:14px;max-width:760px}
.step{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.step .n{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--accent-bright);color:#1a2340;display:grid;place-items:center;font-weight:800}
.step h3{font-size:1.1rem;color:var(--ink);margin-bottom:.2rem}
.step p{color:var(--muted);margin:0;font-size:.95rem}
/* ---- pill list (nations) ---- */
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pills span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-weight:600;font-size:.9rem;color:var(--ink)}
.pills.gold span{background:color-mix(in srgb,var(--accent-bright) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent-bright) 45%,var(--line))}
/* ---- split feature (image + text) ---- */
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
.feature-split.rev .media{order:2}
@media(max-width:860px){.feature-split{grid-template-columns:1fr}.feature-split.rev .media{order:0}}
/* ---- brand band (official logo) ---- */
.brandband{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brandband .wrap{display:flex;align-items:center;gap:28px;justify-content:center;flex-wrap:wrap;text-align:center}
.brandband img{width:120px;height:120px;border-radius:16px}
.brandband p{margin:0;color:#44506a;max-width:46ch;text-align:left}
@media(max-width:560px){.brandband p{text-align:center}}

/* ---- nav logo chip (full original logo, intact) ---- */
.brand .logo-chip{width:50px;height:50px;background:#fff;border:2px solid var(--accent-bright);border-radius:12px;display:grid;place-items:center;padding:3px;flex:0 0 auto;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.brand:hover .logo-chip{transform:scale(1.06) rotate(-3deg);box-shadow:0 8px 20px -8px rgba(250,188,15,.7)}
.brand .logo-chip img{width:100%;height:100%;object-fit:contain}
/* ---- animated logo stage (full original logo + motion graphics) ---- */
.brandstage{background:var(--bg);overflow:hidden}
.brandstage .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.logo-orbit{position:relative;width:min(400px,82vw);aspect-ratio:1;display:grid;place-items:center;perspective:1000px;margin:0 auto}
.logo-orbit::before{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(250,188,15,.30),transparent 66%);filter:blur(12px);animation:lglow 4.5s ease-in-out infinite;z-index:0}
@keyframes lglow{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.08);opacity:1}}
.logo-orbit .ring{position:absolute;inset:2%;border-radius:50%;border:2px dashed rgba(21,59,130,.22);animation:lspin 28s linear infinite;z-index:1}
.logo-orbit .ring.r2{inset:9%;border-color:rgba(250,188,15,.4);animation-duration:44s;animation-direction:reverse}
.logo-orbit .ring .d{position:absolute;top:-7px;left:50%;margin-left:-7px;width:14px;height:14px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 14px rgba(250,188,15,.9)}
.logo-orbit .ring.r2 .d{background:var(--brand);box-shadow:0 0 12px rgba(21,59,130,.6)}
@keyframes lspin{to{transform:rotate(360deg)}}
.logo-anim{position:relative;width:72%;z-index:2;transform-style:preserve-3d;transition:transform .25s ease-out;animation:lfloat 6s ease-in-out infinite;will-change:transform;overflow:hidden;border-radius:14px;box-shadow:0 30px 60px -30px rgba(16,28,56,.45)}
@keyframes lfloat{0%,100%{translate:0 0}50%{translate:0 -14px}}
.logo-anim img,.logo-anim video{width:100%;display:block;border-radius:14px}
.logo-anim .shine{position:absolute;inset:0;border-radius:14px;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.6) 48%,transparent 62%);transform:translateX(-130%);pointer-events:none}
.logo-orbit:hover .shine{transition:transform 1s ease;transform:translateX(130%)}
@media (prefers-reduced-motion:reduce){
  .logo-orbit::before,.logo-orbit .ring,.logo-anim{animation:none}
  .brand .logo-chip,.logo-anim{transition:none}
}

/* ---- merge additions: international SEO pages ---- */
.region-chips{display:flex;flex-wrap:wrap;gap:8px}
.region-chips a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.88rem;color:var(--ink);background:var(--surface)}
.region-chips a:hover{border-color:var(--accent);color:var(--accent)}
.mobile-menu .region-chips{margin:6px 0 14px}
.mobile-menu .region-chips a{padding:6px 12px;font-size:.85rem}
.fregions{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:center;padding:18px 0 4px;margin-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem;color:#8ea0c4}
.fregions a{color:#c6cfe6;display:inline}
.fregions a:hover{color:var(--accent-bright)}
.fregions span{font-weight:600}
.region-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.region-card{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.region-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}
.rc-code{font-family:var(--f-display);font-weight:700;font-size:1.6rem;color:var(--accent)}
.rc-name{font-weight:700;color:var(--ink)}
.rc-go{font-size:.85rem;color:var(--muted)}
@media (max-width:980px){.region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.region-other{margin-top:22px;color:var(--muted);font-size:.95rem}
.region-other a{font-weight:600;color:var(--brand-2);margin-right:10px}
.timeline{list-style:none;padding:0;margin:40px auto 0;max-width:820px;position:relative}
.timeline::before{content:"";position:absolute;left:58px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline li{display:grid;grid-template-columns:116px 1fr;gap:18px;padding:0 0 26px;position:relative}
.timeline li::after{content:"";position:absolute;left:52px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 0 4px var(--bg,var(--surface))}
.timeline .ty{font-family:var(--f-display);font-weight:700;color:var(--accent);text-align:left;padding-top:2px;font-size:1.05rem;width:44px}
.timeline h3{font-size:1.1rem;color:var(--ink);margin-bottom:.2rem}
.timeline p{color:var(--muted);margin:0;font-size:.95rem}
@media (max-width:560px){.timeline::before{left:7px}.timeline li{grid-template-columns:1fr;gap:4px;padding-left:30px}.timeline li::after{left:1px}.timeline .ty{width:auto}}
.offices .office h3{font-size:1.05rem}
.offices .office p{margin:.3rem 0}
.offices .office a{font-weight:600;color:var(--brand-2);word-break:break-all;font-size:.92rem}
.small{font-size:.88rem;color:var(--muted)}
.trust-grid .big{font-family:var(--f-display);font-weight:700;font-size:clamp(1.8rem,4vw,2.4rem);color:var(--accent);margin-bottom:.3rem}
.ticks{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:26px;color:var(--muted)}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--accent-bright)}
.article .ticks li{color:var(--ink);opacity:.92}
a.inline{color:var(--brand-2);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
blockquote.pull{margin:1.1rem 0;padding:6px 0 6px 18px;border-left:4px solid var(--accent-bright);font-family:var(--f-display);font-style:italic;font-size:1.15rem;color:var(--ink)}
.media.portrait img{aspect-ratio:4/5;object-fit:cover}
details.faq{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px 18px;margin-bottom:12px}
details.faq summary{font-weight:700;color:var(--ink);cursor:pointer;padding:12px 0;font-size:1.05rem}
details.faq p{color:var(--muted);padding-bottom:12px;margin:0}
details.faq a{color:var(--brand-2);font-weight:600;text-decoration:underline}
.rel-card h3{color:var(--ink)}
/* ---- leadership org chart ---- */
.leaders{margin-top:44px}
.tier-head{text-align:center;margin-bottom:22px}
.tier-pill{display:inline-block;background:color-mix(in srgb,var(--accent-bright) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--accent-bright) 45%,var(--line));color:var(--ink);font-weight:800;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:7px 16px}
.tier-head p{color:var(--muted);font-size:.92rem;margin:.6rem 0 0}
.tier-link{width:2px;height:56px;margin:26px auto;background:linear-gradient(var(--line),var(--accent-bright),var(--line));border-radius:2px}
.leaders-grid{display:grid;gap:24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.tier-board .leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;margin:0 auto}
.tier-director .leaders-grid{grid-template-columns:minmax(0,1fr);max-width:320px;margin:0 auto}
.leader{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(16,28,56,.05)}
.leader.reveal{transition:opacity .7s ease var(--d,0s),transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0s),box-shadow .35s ease,border-color .35s ease}
.leader.reveal.vis:hover{transform:translateY(-6px);transition-delay:0s;border-color:color-mix(in srgb,var(--accent-bright) 60%,var(--line));box-shadow:0 22px 44px -22px rgba(16,28,56,.45)}
.leader-ph{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(160deg,#1b4aa0,#0b1a3a)}
.leader-ph img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.leader:hover .leader-ph img{transform:scale(1.06)}
.leader-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(transparent,rgba(8,18,42,.72));pointer-events:none}
.leader-loc{position:absolute;left:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.94);color:#14213d;font-weight:700;font-size:.78rem;border-radius:999px;padding:6px 11px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.leader-loc svg{color:#c8911a}
.leader-badge{position:absolute;top:12px;left:12px;right:12px;z-index:1;text-align:center;background:#fbbf24;color:#1a2340;font-weight:800;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 10px}
.leader-protected{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;color:rgba(255,255,255,.85);font-weight:700;font-size:.9rem;background:radial-gradient(circle at 50% 35%,#24539f,#0b1a3a 75%)}
.leader-protected svg{color:#fbbf24}
.leader-body{padding:18px 18px 22px;display:flex;flex-direction:column;gap:4px;flex:1}
.leader-body h3{font-size:1.15rem;color:var(--ink);margin:0}
.leader-role{color:var(--accent);font-weight:800;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
.leader-bio{color:var(--muted);font-size:.92rem;line-height:1.55;margin:0}
.leader-mloc{display:none}
.leader-director{border-color:color-mix(in srgb,var(--accent-bright) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-bright) 22%,transparent),0 18px 40px -24px rgba(16,28,56,.5)}
@media (max-width:980px){.leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .leaders-grid,.tier-board .leaders-grid,.tier-director .leaders-grid{grid-template-columns:1fr;max-width:none;gap:14px}
  .leader{flex-direction:row;border-radius:16px}
  .leader-ph{flex:0 0 112px;aspect-ratio:auto;min-height:150px}
  .leader-ph::after,.leader-loc,.leader-badge{display:none}
  .leader-protected span{display:none}
  .leader-protected svg{width:38px;height:38px}
  .leader-body{padding:14px 14px 16px}
  .leader-body h3{font-size:1.05rem}
  .leader-mloc{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.8rem;font-weight:600;margin-top:6px}
  .leader-mloc svg{color:var(--accent)}
  .tier-link{height:34px;margin:18px auto}
}
@media (prefers-reduced-motion:reduce){.leader.reveal,.leader-ph img{transition:none}.leader.reveal.vis:hover{transform:none}.leader:hover .leader-ph img{transform:none}}
/* ---- Kalash Learning Centre appeal ---- */
.kc-hero-sec{padding-top:0;padding-bottom:0;margin-top:-34px;position:relative;z-index:2}
.kc-goal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 24px 48px -30px rgba(11,26,58,.5)}
.kc-goal>div{padding:6px 12px;border-right:1px solid var(--line)}
.kc-goal>div:nth-child(4){border-right:0}
.kc-goal-n{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(1.25rem,2.4vw,1.7rem);color:var(--ink)}
.kc-goal-l{display:block;color:var(--muted);font-size:.85rem}
/* elevation */
.kc-elev-wrap{margin:32px 0 0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#f3ead9;box-shadow:0 30px 60px -36px rgba(11,26,58,.55)}
.kc-elev{display:block;width:100%;height:auto}
.kc-elev-wrap figcaption{background:var(--surface);color:var(--muted);font-size:.85rem;padding:10px 16px;border-top:1px solid var(--line)}
.kc-mark{cursor:pointer;outline:none}
.kc-mark circle{fill:#0b1a3a;stroke:#fbbf24;stroke-width:3;transition:r .2s,fill .2s}
.kc-mark text{fill:#fff;font:800 15px/1 system-ui,sans-serif;text-anchor:middle;pointer-events:none}
.kc-mark:hover circle,.kc-mark:focus-visible circle,.kc-mark.on circle{fill:#d97706;r:19}
.kc-mark:focus-visible circle{stroke:#fff;stroke-width:4}
.kc-keys{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kc-keys li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:.9rem;color:var(--muted);transition:border-color .2s,background .2s}
.kc-keys li.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent-bright) 10%,var(--surface));color:var(--ink)}
.kc-num{flex:0 0 26px;height:26px;border-radius:50%;background:#0b1a3a;color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem;border:2px solid #fbbf24}
/* floor plan */
.kc-fp{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.kc-fp-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.kc-fp-tabs button{appearance:none;border:0;background:color-mix(in srgb,var(--brand,#153b82) 5%,var(--surface));padding:14px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;display:flex;flex-direction:column;align-items:center}
.kc-fp-tabs button small{font-weight:500;font-size:.8rem}
.kc-fp-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);border-bottom-color:var(--accent-bright)}
.kc-fp-tabs button:focus-visible{outline:3px solid var(--accent-bright);outline-offset:-3px}
.kc-fp-body{display:grid;grid-template-columns:1.6fr 1fr;gap:0}
.kc-fp-plans{padding:18px;border-right:1px solid var(--line);min-width:0}
.kc-plan-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.kc-plan{display:block;width:100%;min-width:560px;height:auto}
.kc-wall{fill:none;stroke:var(--ink);stroke-width:6}
.kc-room{cursor:pointer;outline:none}
.kc-room rect:first-child{fill:color-mix(in srgb,var(--accent-bright) 7%,var(--surface));stroke:var(--ink);stroke-width:2.5;transition:fill .2s}
.kc-room:hover rect:first-child{fill:color-mix(in srgb,var(--accent-bright) 22%,var(--surface))}
.kc-room.on rect:first-child{fill:color-mix(in srgb,var(--accent-bright) 34%,var(--surface));stroke:var(--accent)}
.kc-room:focus-visible rect:first-child{stroke:var(--accent);stroke-width:5}
.kc-rl{font:700 17px/1 system-ui,sans-serif;fill:var(--ink);text-anchor:middle;pointer-events:none}
.kc-rs{font:500 13px/1 system-ui,sans-serif;fill:var(--muted);text-anchor:middle;pointer-events:none}
.kc-f{fill:none;stroke:var(--muted);stroke-width:1.4;opacity:.7;pointer-events:none}
.kc-f2{fill:var(--muted);opacity:.35;pointer-events:none}
.kc-st{stroke:var(--muted);stroke-width:1.4;pointer-events:none}
.kc-corr{fill:color-mix(in srgb,var(--muted) 8%,transparent)}
.kc-cl{font:600 13px/1 system-ui,sans-serif;fill:var(--muted);text-anchor:middle}
.kc-door{fill:none;stroke:var(--accent);stroke-width:2.5}
.kc-hint{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.kc-info{padding:22px}
.kc-info-f{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.kc-info h3{font-size:1.25rem;color:var(--ink);margin:.3rem 0 .2rem}
.kc-info-c{color:var(--ink);font-weight:700;margin:0 0 .4rem}
.kc-info-d{color:var(--muted);font-size:.93rem;margin:.8rem 0 0}
.kc-info.flash{animation:kcIn .35s ease}
@keyframes kcIn{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
/* budget */
.kb{margin-top:28px;display:grid;gap:10px}
.kb-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 16px}
.kb-row.reveal{transition-delay:var(--d,0s)}
.kb-row summary{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr auto;gap:16px;align-items:center;padding:14px 0;cursor:pointer;list-style:none}
.kb-row summary::-webkit-details-marker{display:none}
.kb-name{font-weight:700;color:var(--ink);display:flex;gap:8px;align-items:center}
.kb-name::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s;flex:0 0 auto}
.kb-row[open] .kb-name::before{transform:rotate(45deg)}
.kb-track{height:14px;background:color-mix(in srgb,var(--muted) 10%,transparent);border-radius:4px;overflow:hidden}
.kb-bar{display:block;height:100%;width:0;background:var(--kb-c,#2a78d6);border-radius:0 4px 4px 0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.kb-bar.go{width:var(--w)}
.kb-val{font-weight:800;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:86px}
.kb-val small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}
.kb-items{list-style:none;margin:0 0 14px;padding:12px 0 0;border-top:1px dashed var(--line);display:grid;gap:6px}
.kb-items li{display:flex;justify-content:space-between;gap:16px;font-size:.9rem;color:var(--muted)}
.kb-items b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
/* gift picker */
.kg{max-width:820px;margin:28px auto 0;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.kg-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.kg-btn{appearance:none;font:inherit;font-weight:800;border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.kg-btn:hover{transform:translateY(-2px);border-color:var(--accent)}
.kg-btn[aria-checked=true]{background:#0b1a3a;color:#fff;border-color:#0b1a3a}
.kg-btn:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px}
.kg-out{font-size:1.15rem;color:var(--ink);margin:20px 0 16px}
.kg-amt{font-family:var(--f-display);font-size:1.6rem;color:var(--accent)}
/* sustainability chart (validated palette: light #2a78d6/#eb6834, dark #3987e5/#d95926) */
.ks-card{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;--ks1:#2a78d6;--ks2:#eb6834}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .ks-card{--ks1:#3987e5;--ks2:#d95926}}
:root[data-theme="dark"] .ks-card{--ks1:#3987e5;--ks2:#d95926}
.kb-bar{--kb-c:#2a78d6}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .kb-bar{--kb-c:#3987e5}}
:root[data-theme="dark"] .kb-bar{--kb-c:#3987e5}
.ks-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem;color:var(--ink);margin-bottom:8px}
.ks-legend span{display:inline-flex;align-items:center;gap:8px}
.ks-sw{width:14px;height:14px;border-radius:3px;display:inline-block}
.ks-sw1{background:var(--ks1)}.ks-sw2{background:var(--ks2)}
.ks-sw3{height:0;border-top:2px dashed var(--ink);border-radius:0}
.ks-wrap{position:relative}
.ks{display:block;width:100%;height:auto;max-height:380px}
.ks-grid{stroke:var(--line);stroke-width:1}
.ks-base{stroke:var(--muted);stroke-width:1.2}
.ks-ax{fill:var(--muted);font:500 12px system-ui,sans-serif}
.ks-lab{fill:var(--ink);font:800 14px system-ui,sans-serif}
.ks-s1{fill:var(--ks1)}.ks-s2{fill:var(--ks2)}
.ks-s1,.ks-s2{stroke:var(--surface);stroke-width:2;paint-order:stroke}
.ks-cost{stroke:var(--ink);stroke-width:2;stroke-dasharray:5 4}
.ks-hit{fill:transparent}
.ks-bar{cursor:pointer;outline:none;transition:opacity .2s}
.ks-bar.dim{opacity:.45}
.ks-bar:focus-visible .ks-hit{stroke:var(--accent-bright);stroke-width:2}
.ks-tip{position:absolute;z-index:3;pointer-events:none;background:var(--ink);color:var(--surface);font-size:.82rem;line-height:1.45;padding:8px 10px;border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.25);max-width:260px}
.ks-table{margin-top:10px}
.ks-table summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:.9rem}
.ks-tw{overflow-x:auto}
.ks-table table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.88rem;font-variant-numeric:tabular-nums}
.ks-table th,.ks-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;color:var(--ink);white-space:nowrap}
.ks-table th:first-child,.ks-table td:first-child{text-align:left}
.ks-table thead th{color:var(--muted);font-weight:700}
@media (max-width:980px){
  .kc-goal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kc-goal>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 6px}
  .kc-goal .btn{grid-column:1/-1;justify-self:stretch;text-align:center}
  .kc-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kc-fp-body{grid-template-columns:1fr}
  .kc-fp-plans{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:560px){
  .kc-hero-sec{margin-top:-20px}
  .kc-keys{grid-template-columns:1fr}
  .kb-row summary{grid-template-columns:1fr auto;gap:8px 12px}
  .kb-track{grid-column:1/-1;grid-row:2}
  .kg{padding:20px 14px}
  .ks-card{padding:16px}
}
@media (prefers-reduced-motion:reduce){.kb-bar{transition:none}.kc-info.flash{animation:none}.kg-btn,.kc-mark circle{transition:none}}
/* Bayte-Noor name */
.urdu{font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic","Jameel Noori Nastaleeq","Urdu Typesetting",serif;font-weight:600;line-height:1.6;display:inline-block;unicode-bidi:isolate;margin-inline-start:.25em;font-size:.85em;vertical-align:middle}
.kc-sub{margin:.2rem 0 .6rem;font-weight:700;letter-spacing:.02em;color:#fbbf24}
.kc-name{display:flex;align-items:center;gap:18px;margin:18px 0 0;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent-bright);border-radius:14px;color:var(--muted)}
.kc-name .urdu{font-size:2rem;color:var(--ink);margin:0;flex:0 0 auto}
.kc-name b{color:var(--ink)}
@media (max-width:560px){.kc-name{flex-direction:column;align-items:flex-start;gap:6px}}
.nw{white-space:nowrap}
.kc-local{display:block;font-family:var(--f-body,inherit);font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:700;letter-spacing:.01em;color:#fbbf24;margin-top:.7rem;line-height:1.5}
.kc-local .urdu{font-size:1.25em}
.kc-sub .urdu{font-size:1.15em}
/* House of Light concept images */
.hol-fig{position:relative;margin:24px 0 0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 30px 60px -36px rgba(11,26,58,.55)}
.hol-fig .gg-link{display:block;position:relative}
.hol-fig img{display:block;width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.hol-fig:hover img{transform:scale(1.02)}
.hol-fig .gg-zoom{opacity:1;transform:none}
.hol-fig figcaption{padding:10px 16px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
.hol-hero{margin-top:22px}
.hol-floor h3{font-size:1.1rem}
.hol-pillars{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.hol-pillars span{background:color-mix(in srgb,var(--accent-bright) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent-bright) 40%,var(--line));border-radius:999px;padding:7px 16px;font-weight:700;font-size:.88rem;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.hol-fig img{transition:none}.hol-fig:hover img{transform:none}}

@media (max-width:560px){.kc-fp-tabs button{padding:12px 6px;font-size:.92rem}.kc-fp-tabs button small{font-size:.72rem}}
/* ---- GCI Myanmar page ---- */
.gci-hero-media{padding-top:40px;padding-bottom:40px}
.gci-hero-fig{position:relative;margin:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,26,58,.55)}
.gci-hero-fig img{display:block;width:100%;height:auto;aspect-ratio:1600/876;object-fit:cover}
.gci-hero-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 22px 18px;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(8,18,42,.8));display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gci-chip{background:#fbbf24;color:#1a2340;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:6px 12px}
.gci-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 0}
.gci-facts div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.gci-facts dt{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.gci-facts dd{margin:.25rem 0 0;font-weight:700;color:var(--ink)}
.gci-step{text-align:left}
.gci-step-ic,.gp-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--accent-bright) 18%,var(--surface));color:var(--accent);margin-bottom:12px;flex:0 0 auto}
.gci-step.reveal,.gci-cur.reveal,.gg-item.reveal{transition-delay:var(--d,0s)}
.gci-chain{list-style:none;padding:0;margin:40px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1000px;counter-reset:c}
.gci-chain li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;gap:4px}
.gci-chain li span{width:38px;height:38px;border-radius:50%;background:var(--brand,#1e3a8a);color:#fff;display:grid;place-items:center;font-weight:800;margin:0 auto 6px}
.gci-chain li b{font-family:var(--f-display);font-size:1.15rem;color:var(--ink)}
.gci-chain li small{color:var(--muted);font-size:.88rem}
.gci-chain li:not(:last-child)::after{content:"";position:absolute;right:-14px;top:50%;width:10px;height:10px;border-top:2px solid var(--accent-bright);border-right:2px solid var(--accent-bright);transform:translateY(-50%) rotate(45deg)}
.gci-chain li:last-child{border-color:color-mix(in srgb,var(--accent-bright) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-bright) 20%,transparent)}
/* schedule */
.gci-sched{margin-top:32px;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.gci-tabs{display:none}
.gci-sched.js-tabs .gci-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--brand,#1e3a8a) 6%,var(--surface))}
.gci-tab{appearance:none;border:0;background:transparent;padding:14px 10px;cursor:pointer;font:inherit;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;border-bottom:3px solid transparent;transition:color .2s,border-color .2s,background .2s}
.gci-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--accent-bright) 8%,transparent)}
.gci-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent-bright);background:var(--surface)}
.gci-tab:focus-visible{outline:3px solid var(--accent-bright);outline-offset:-3px}
.gt-day{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gt-theme{font-weight:700;font-size:.95rem}
.gci-panel{padding:22px 24px 26px}
.gci-sched:not(.js-tabs) .gci-panel + .gci-panel{border-top:1px solid var(--line)}
.gci-panel[hidden]{display:none}
.gp-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.gp-head .gp-ic{margin:0}
.gp-date{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.gp-head h3{margin:.1rem 0 0;font-size:1.4rem;color:var(--ink)}
.gp-sub{margin:0;color:var(--muted);font-size:.92rem}
.gs-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gs{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg,var(--surface));animation:gsIn .45s cubic-bezier(.2,.8,.2,1) both}
.gs:nth-child(2){animation-delay:.04s}.gs:nth-child(3){animation-delay:.08s}.gs:nth-child(4){animation-delay:.12s}.gs:nth-child(5){animation-delay:.16s}.gs:nth-child(6){animation-delay:.2s}.gs:nth-child(7){animation-delay:.24s}
@keyframes gsIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gs-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);font-size:.88rem}
.gs-title{font-weight:700;color:var(--ink)}
.gs-who{font-size:.85rem;font-weight:600;color:var(--accent);text-align:right}
.gs-night{background:linear-gradient(120deg,#0b1a3a,#1e3a8a);border-color:transparent}
.gs-night .gs-time,.gs-night .gs-title{color:#fff}
.gs-night .gs-who{color:#fbbf24}
.gs-prac{border-color:color-mix(in srgb,#f97316 55%,var(--line));background:color-mix(in srgb,#f97316 8%,var(--surface))}
.gs-end{opacity:.8}
.gci-poster{margin-top:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:6px 18px}
.gci-poster summary{cursor:pointer;font-weight:700;color:var(--ink);padding:12px 0}
.gci-poster img{display:block;width:100%;height:auto;border-radius:10px;margin:6px 0 16px}
/* curriculum */
.gci-cur-grid{margin-top:32px}
.gc-top{display:flex;justify-content:space-between;align-items:center}
.gc-top .gp-ic{margin:0}
.gc-day{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gci-cur h3{margin-top:12px}
.gc-sub{color:var(--accent)!important;font-weight:700;font-size:.85rem;margin:.1rem 0 .5rem!important}
/* gallery */
.gci-gallery{margin-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:14px}
.gg-item{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#0b1a3a}
.gg-item.wide{grid-column:span 2;grid-row:span 2}
.gg-item.tall{grid-row:span 2}
.gg-item.w2{grid-column:span 2}
.gg-link{display:block;width:100%;height:100%}
.gg-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .3s}
.gg-item:hover .gg-link img{transform:scale(1.06)}
.gg-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:.84rem;font-weight:600;line-height:1.4;background:linear-gradient(transparent,rgba(8,18,42,.85));transform:translateY(100%);transition:transform .35s ease;pointer-events:none}
.gg-item:hover figcaption,.gg-item:focus-within figcaption{transform:none}
.gg-zoom{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:#14213d;display:grid;place-items:center;opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s}
.gg-item:hover .gg-zoom,.gg-link:focus-visible .gg-zoom{opacity:1;transform:none}
.gg-link:focus-visible{outline:3px solid #fbbf24;outline-offset:-3px}
.gci-banner{margin:28px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -30px rgba(11,26,58,.5)}
.gci-banner img{display:block;width:100%;height:auto}
.gci-impact h3{font-size:1.3rem;color:var(--ink);margin-bottom:.6rem}
/* lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(6,12,28,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px;animation:lbIn .25s ease}
.lb[hidden]{display:none}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
html.lb-open{overflow:hidden}
.lb-fig{margin:0;max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.lb-fig img{max-width:100%;max-height:calc(100vh - 160px);border-radius:10px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-fig figcaption{color:#e2e8f0;text-align:center;font-size:.95rem;max-width:70ch}
.lb-btn{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb-btn:hover,.lb-btn:focus-visible{background:rgba(255,255,255,.26);outline:none}
.lb-close{top:14px;right:14px}
.lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.lb-next{right:12px;top:50%;transform:translateY(-50%)}
/* responsive */
@media (max-width:980px){
  .gci-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gci-chain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gci-chain li:nth-child(2)::after{display:none}
  .gci-sched.js-tabs .gci-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gci-tabs::-webkit-scrollbar{display:none}
  .gci-tab{flex:0 0 auto;min-width:118px;scroll-snap-align:start}
  .gci-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}
}
@media (max-width:560px){
  .gci-hero-media{padding-top:24px}
  .gci-hero-fig figcaption{position:static;background:var(--surface);color:var(--ink);padding:12px 14px;font-size:.9rem}
  .gci-chain{grid-template-columns:1fr}
  .gci-chain li::after{display:none!important}
  .gci-panel{padding:18px 14px 20px}
  .gs{grid-template-columns:1fr;gap:2px;padding:12px}
  .gs-who{text-align:left}
  .gci-gallery{grid-auto-rows:150px;gap:10px}
  .gg-item.wide{grid-column:span 2;grid-row:span 2}
  .gg-item figcaption{display:none}
  .gg-zoom{opacity:1;transform:none;width:30px;height:30px}
  .lb{padding:56px 8px 24px}
  .lb-prev,.lb-next{top:auto;bottom:14px;transform:none}
}
@media (prefers-reduced-motion:reduce){.gs,.lb{animation:none}.gg-link img,.gg-item figcaption,.gg-zoom{transition:none}.gg-item:hover .gg-link img{transform:none}}
/* ---- field reports: KPI grid + downloads ---- */
.kpi-grid{display:grid;gap:14px;margin-top:28px}
.kpi-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 18px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--accent-bright),var(--accent))}
.kpi.reveal{transition-delay:var(--d,0s)}
.kpi:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent-bright) 55%,var(--line));box-shadow:0 18px 36px -24px rgba(16,28,56,.45)}
.kpi-n{font-family:var(--f-display);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.1;color:var(--ink)}
.kpi-l{color:var(--muted);font-size:.92rem;margin-top:.35rem;line-height:1.45}
.dl-btn{display:inline-flex;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:700;transition:border-color .2s,transform .2s}
.dl-btn:hover{border-color:var(--accent);transform:translateY(-2px)}
.dl-btn svg{color:var(--accent);flex:0 0 auto}
.dl-btn span{display:flex;flex-direction:column;line-height:1.3}
.dl-btn small{font-weight:500;color:var(--muted);font-size:.8rem}
.dl-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.dl-row .dl-btn{margin:0}
@media (max-width:980px){.kpi-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kpi-grid{gap:10px}.kpi{padding:16px 14px}.dl-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.kpi,.dl-btn{transition:none}.kpi:hover,.dl-btn:hover{transform:none}}
/* Kalash appeal */
.kv-appeal{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#0b1a3a,#1e3a8a);color:#e2e8f0;border-radius:22px;padding:clamp(24px,4vw,44px);box-shadow:0 30px 60px -34px rgba(11,26,58,.7)}
.kv-appeal h2{color:#fff;font-size:clamp(1.7rem,3.6vw,2.4rem);margin:.4rem 0 .8rem}
.kv-appeal .eyebrow{color:#fbbf24}
.kv-appeal p{color:#cbd5e1}
.kv-appeal p b{color:#fff}
.kv-appeal-facts{display:grid;gap:12px;margin:0}
.kv-appeal-facts div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 18px}
.kv-appeal-facts dt{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fbbf24}
.kv-appeal-facts dd{margin:.2rem 0 0;font-family:var(--f-display);font-weight:700;font-size:1.4rem;color:#fff}
@media (max-width:820px){.kv-appeal{grid-template-columns:1fr}}
/* hero readability on phones and tablets: globe sits behind the text there */
@media (max-width:980px){
  #map{opacity:.5}
  .hero::after{background:linear-gradient(180deg,rgba(9,20,48,.62) 0%,rgba(9,20,48,.86) 22%,rgba(9,20,48,.86) 72%,rgba(9,20,48,.55) 100%)}
  .hero h1{text-shadow:0 2px 16px rgba(9,20,48,.85)}
  .hero .lede{color:#eef2fb;text-shadow:0 1px 10px rgba(9,20,48,.95)}
  .hero-meta{color:#d3dcf0}
  .hero .scripture{text-shadow:0 1px 10px rgba(9,20,48,.95)}
}
@media (max-width:560px){#map{opacity:.38}}
/* Laos training section */
.lt-lao{margin:.2rem 0 .6rem}
.lao{font-family:"Noto Sans Lao","Phetsarath OT","Saysettha OT","Lao Sangam MN",sans-serif;font-weight:600;font-size:clamp(1.15rem,2.4vw,1.5rem);color:var(--accent);line-height:1.7}
.gs-soft{background:transparent;border-style:dashed}
.gs-soft .gs-title{font-weight:600;color:var(--muted)}
#laos-training .hol-fig{margin-top:18px}
.lt-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:980px){.lt-tabs{display:grid!important;overflow:visible}.lt-tabs .gci-tab{min-width:0}}
/* Our Work mega menu */
.menu ul.mega{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;min-width:560px;padding:16px;left:50%;transform:translate(-50%,8px)}
.menu li.open>ul.mega,.menu li:focus-within>ul.mega,.menu li:hover>ul.mega{transform:translate(-50%,0)}
.menu ul.mega .mcol{display:flex;flex-direction:column}
.menu ul.mega .mh{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b07a10;padding:4px 14px 8px}
.menu ul.mega a.mnat{font-weight:800;color:#13213f;margin-top:4px}
.menu ul.mega a.msub{padding:5px 14px 5px 28px;font-weight:500;font-size:.86rem;color:#55607a;position:relative}
.menu ul.mega a.msub::before{content:"";position:absolute;left:16px;top:50%;width:6px;height:6px;border-left:1.5px solid #c5ccd9;border-bottom:1.5px solid #c5ccd9;transform:translateY(-70%)}
.menu ul.mega a.msub:hover{padding-left:32px}
.mobile-menu a.mm-sub{padding:7px 0 7px 18px;font-weight:500;font-size:.92rem;color:#c6d0e8;border-bottom:0}
/* country hubs */
.hub-local{display:block;font-size:.42em;font-weight:600;color:var(--accent-bright);margin-top:.4rem;font-family:"Noto Sans Lao","Noto Sans Myanmar","Noto Nastaliq Urdu","Noto Sans Thai",var(--f-body,sans-serif)}
.hub-nav{display:flex;gap:8px;margin-top:1.6rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.hub-nav::-webkit-scrollbar{display:none}
.hub-nav a{flex:0 0 auto;border:1px solid rgba(255,255,255,.25);color:#e6ecf8;border-radius:999px;padding:7px 14px;font-weight:600;font-size:.86rem;transition:background .2s,border-color .2s}
.hub-nav a:hover{background:rgba(255,255,255,.12);border-color:#fbbf24;color:#fff}
.hub-fig{margin-top:0}
.hub-fig img{aspect-ratio:16/7;object-fit:cover}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:84px}
.rel-chart{display:grid;gap:12px;margin-top:14px;--rel:#2a78d6}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .rel-chart{--rel:#3987e5}}
:root[data-theme="dark"] .rel-chart{--rel:#3987e5}
.rel-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr 58px;gap:12px;align-items:center}
.rel-l{font-weight:600;color:var(--ink);font-size:.92rem}
.rel-t{height:14px;background:color-mix(in srgb,var(--muted) 12%,transparent);border-radius:4px;overflow:hidden}
.rel-b{display:block;height:100%;width:var(--w);background:var(--rel);border-radius:0 4px 4px 0}
.rel-v{font-weight:800;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.hub-lead{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:24px;margin-top:28px;align-items:start}
.hub-leader{grid-template-columns:1fr!important}
@media (max-width:980px){.menu ul.mega{min-width:480px}}
@media (max-width:760px){.hub-lead{grid-template-columns:1fr}.hub-fig img{aspect-ratio:16/10}}
@media (max-width:560px){.rel-row{grid-template-columns:100px 1fr 50px;gap:8px}}
/* 10/40 Window knowledge base */
.kb-def{font-size:1.12rem;color:var(--ink);margin-top:1rem;line-height:1.7}
.kb-map{position:relative;margin:28px 0 0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.m-svg{display:block;width:100%;height:auto}
.m-sea{fill:#e8eef7}
.m-c{fill:#d5dbe5;stroke:#fff;stroke-width:.6;transition:fill .2s}
.m-c.m-in{fill:#f2c763}
.m-c.m-kmi{fill:#d97706}
.m-c:hover{fill:#1b4aa0}
.m-band{fill:rgba(251,191,36,.14);stroke:#d97706;stroke-width:1.5;stroke-dasharray:6 5}
.m-lat{stroke:#b45309;stroke-width:1;stroke-dasharray:3 4;opacity:.6}
.m-ll{font:700 13px system-ui,sans-serif;fill:#92400e}
.m-arc{fill:none;stroke:#0b1a3a;stroke-width:1.6;stroke-dasharray:4 4;opacity:.7}
.m-hub circle{fill:#0b1a3a;stroke:#fbbf24;stroke-width:2.5}
.m-hub .m-pulse{fill:none;stroke:#0b1a3a;stroke-width:2;animation:mPulse 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes mPulse{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3)}}
.m-hub text{font:800 14px system-ui,sans-serif;fill:#0b1a3a;paint-order:stroke;stroke:#fff;stroke-width:4px}
.m-tip{position:absolute;pointer-events:none;background:#0b1a3a;color:#fff;font-size:.82rem;padding:6px 10px;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.kb-map figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 16px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
.m-key{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.m-key-in{background:#f2c763}.m-key-kmi{background:#d97706}.m-key-hub{background:#0b1a3a;border-radius:50%;border:2px solid #fbbf24}
:root[data-theme="dark"] .m-sea{fill:#0e1a3b}:root[data-theme="dark"] .m-c{fill:#2a3a63;stroke:#0e1a3b}:root[data-theme="dark"] .m-c.m-in{fill:#b8902f}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .m-sea{fill:#0e1a3b}:root:where(:not([data-theme="light"])) .m-c{fill:#2a3a63;stroke:#0e1a3b}:root:where(:not([data-theme="light"])) .m-c.m-in{fill:#b8902f}}
.kb-tw{overflow-x:auto;margin-top:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.kb-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:560px}
.kb-table caption{text-align:left;padding:14px 16px;font-weight:700;color:var(--ink)}
.kb-table th,.kb-table td{padding:12px 16px;border-top:1px solid var(--line);text-align:left;color:var(--ink)}
.kb-table thead th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kb-barcell{min-width:220px}
.kb-bar{display:inline-block;height:12px;width:calc(var(--w) * .7);min-width:3px;background:#2a78d6;border-radius:0 4px 4px 0;margin-right:10px;vertical-align:-1px}
.kb-hl{background:color-mix(in srgb,var(--accent-bright) 10%,transparent)}
.kb-tag{display:inline-block;margin-left:6px;font-size:.7rem;font-weight:800;background:#0b1a3a;color:#fbbf24;border-radius:999px;padding:2px 8px;vertical-align:2px}
.kb-hub{display:flex;flex-direction:column;gap:6px;padding:0;overflow:hidden}
.kb-hub>*:not(.kb-hub-img){margin-left:22px;margin-right:22px}
.kb-hub .hero-cta{margin-bottom:22px}
.kb-hub-img img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}
.kb-form{margin-top:24px;max-width:860px;margin-left:auto;margin-right:auto}
.kb-form fieldset{border:0;padding:0;margin:0 0 16px}
.kb-form legend{font-weight:800;color:var(--ink);margin-bottom:8px}
.kb-chips{display:flex;flex-wrap:wrap;gap:8px}
.kb-chips label{cursor:pointer;position:relative}
.kb-chips input{position:absolute;opacity:0;pointer-events:none;left:0;top:0;width:1px;height:1px}
.kb-chips span{display:inline-block;border:2px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:700;color:var(--ink);transition:border-color .2s,background .2s}
.kb-chips input:checked+span{background:#0b1a3a;border-color:#0b1a3a;color:#fff}
.kb-chips input:focus-visible+span{outline:3px solid var(--accent-bright);outline-offset:2px}
.kb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.kb-field span{display:block;font-weight:700;font-size:.9rem;color:var(--ink);margin-bottom:6px}
.kb-field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--bg,#fff);color:var(--ink)}
.kb-sum{color:var(--muted);margin:6px 0 16px}
@media (max-width:760px){.kb-form-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.m-hub .m-pulse{animation:none;display:none}}
.kb-hubs{align-items:stretch}
/* official logo */
.brand .logo-chip{animation:chipIn .7s cubic-bezier(.2,.9,.25,1.25) both}
@keyframes chipIn{from{opacity:0;transform:scale(.6) rotate(-14deg)}to{opacity:1;transform:none}}
.brand .logo-chip img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.brand:hover .logo-chip img{transform:scale(1.08)}
.flogo{display:block;width:130px;height:130px;background:#fff;border-radius:18px;padding:8px;margin-bottom:14px;box-shadow:0 10px 30px -14px rgba(0,0,0,.6)}
.logo-anim.logo-new{overflow:visible;box-shadow:none;border-radius:0;width:76%}
.logo-anim.logo-new .logo-img{width:100%;height:auto;display:block;border-radius:0;filter:drop-shadow(0 24px 30px rgba(11,26,58,.32));animation:logoIn 1.1s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes logoIn{from{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:none}}
.logo-anim.logo-new .shine{border-radius:0;-webkit-mask:url(kmi-logo-512.webp) center/contain no-repeat;mask:url(kmi-logo-512.webp) center/contain no-repeat;transform:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 48%,transparent 60%) no-repeat;background-size:250% 100%;background-position:130% 0;animation:logoShine 5.5s ease-in-out 1.2s infinite}
@keyframes logoShine{0%,55%{background-position:130% 0}85%,100%{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){.brand .logo-chip,.logo-anim.logo-new .logo-img,.logo-anim.logo-new .shine{animation:none}}
:root[data-theme="dark"] .logo-anim.logo-new{background:#fff;border-radius:28px;padding:16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .logo-anim.logo-new{background:#fff;border-radius:28px;padding:16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}}
:root[data-theme="dark"] .logo-anim.logo-new .logo-img{filter:none}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .logo-anim.logo-new .logo-img{filter:none}}
/* Thailand country page */
.th-subnav{position:sticky;top:var(--hh,74px);z-index:40;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 6px 16px -14px rgba(11,26,58,.5)}
.th-subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.th-subnav .wrap::-webkit-scrollbar{display:none}
.th-subnav a{flex:0 0 auto;padding:16px 16px 13px;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:3px solid transparent;transition:color .2s,border-color .2s,background .2s}
.th-subnav a:hover{color:var(--ink);background:color-mix(in srgb,var(--muted) 8%,transparent)}
.th-subnav a.on{color:var(--brand-2,#1b4aa0);border-bottom-color:#d9893f}
:root[data-theme="dark"] .th-subnav a.on{color:#fbbf24}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .th-subnav a.on{color:#fbbf24}}
#main section[id]{scroll-margin-top:calc(var(--hh,74px) + 60px)}
.th-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.th-facts dl{display:grid;gap:12px;margin:10px 0 12px}
.th-facts dl div{display:grid;grid-template-columns:150px 1fr;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:10px}
.th-facts dt{font-weight:800;color:var(--ink)}
.th-facts dd{margin:0;color:var(--muted)}
.th-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.th-why-i{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-weight:600;color:var(--ink)}
.th-why-n{flex:0 0 32px;height:32px;border-radius:50%;background:#0b1a3a;color:#fbbf24;display:grid;place-items:center;font-weight:800}
.th-countries{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}
.th-countries li{display:flex;gap:12px;align-items:center;color:var(--muted)}
.th-countries b{color:var(--ink)}
.flag{width:30px;height:20px;flex:0 0 30px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12);vertical-align:middle}
.flag-globe{width:22px;height:22px;flex-basis:22px;border-radius:50%;box-shadow:none}
.th-ticks{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:9px}
.th-ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:.95rem}
.th-ticks svg{flex:0 0 16px;margin-top:3px}
.th-impact{margin-top:28px;text-align:center;background:linear-gradient(135deg,#0b1a3a,#1e3a8a);color:#cbd5e1;border-radius:22px;padding:clamp(24px,4vw,40px)}
.th-impact .eyebrow{color:#fbbf24}
.th-impact-q{font-family:var(--f-display);font-size:clamp(1.5rem,3.4vw,2.2rem);color:#fff;margin:.4rem 0 .8rem}
.th-focus{margin-top:28px}
.th-tabs{display:none}
.th-focus.js .th-tabs{display:flex;justify-content:center;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:34px}
.th-tab{appearance:none;background:transparent;border:0;border-bottom:3px solid transparent;padding:16px 22px;font:inherit;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.th-tab:hover{background:color-mix(in srgb,var(--muted) 9%,transparent);color:var(--brand-2,#1b4aa0)}
.th-tab[aria-selected="true"]{color:var(--brand-2,#1b4aa0);background:var(--surface);border-bottom-color:#d9893f}
.th-tab:focus-visible{outline:3px solid var(--accent-bright);outline-offset:-3px}
.th-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:clamp(18px,3.5vw,48px);box-shadow:0 30px 60px -40px rgba(11,26,58,.45)}
.th-focus.js .th-tabtitle{display:none}
.th-focus:not(.js) .th-panel+.th-panel{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.th-tabtitle{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.th-panel{animation:thIn .45s ease}
@keyframes thIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.th-banner{position:relative;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 40px -26px rgba(11,26,58,.55)}
.th-banner img{display:block;width:100%;aspect-ratio:16/5;object-fit:cover}
.th-banner figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 32px 22px;color:#fff;font-weight:700;font-size:1.1rem;background:linear-gradient(transparent,rgba(8,18,42,.78))}
.th-inner{max-width:920px;margin:40px auto 0}
.th-inner h2{font-size:clamp(1.6rem,3.2vw,2.2rem);color:var(--brand-2,#1b4aa0)}
:root[data-theme="dark"] .th-inner h2{color:#fff}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .th-inner h2{color:#fff}}
.th-lede{color:var(--muted);font-size:1.06rem;margin:.8rem 0 1.4rem;line-height:1.75}
.th-h3{font-size:1.2rem;color:var(--brand-2,#1b4aa0);margin:1.2rem 0 .8rem}
.th-prog{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.th-pcard{border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--bg,var(--surface))}
.th-pcard h3{font-size:1.08rem;color:var(--ink)}
.th-meta{font-size:.82rem;font-weight:700;color:var(--accent);margin:.2rem 0 .5rem}
.th-pcard p{color:var(--muted);margin:0}
.th-acc{border:1px solid var(--line);border-radius:14px;background:var(--bg,var(--surface));margin-bottom:12px}
.th-acc summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.th-acc summary::-webkit-details-marker{display:none}
.th-acc-av{flex:0 0 40px;height:40px;border-radius:50%;background:#1b4aa0;color:#fff;display:grid;place-items:center;font-weight:800}
.th-acc summary b{display:block;color:var(--brand-2,#1b4aa0)}
.th-acc summary small{color:var(--muted);font-size:.82rem}
.th-acc-ch{margin-left:auto;color:var(--muted);transition:transform .25s}
.th-acc[open] .th-acc-ch{transform:rotate(180deg)}
.th-acc>div{padding:0 18px 16px 72px;color:var(--muted)}
.th-acc>div p{margin:.3rem 0}
.th-approach{background:color-mix(in srgb,var(--muted) 6%,var(--surface));border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.th-approach h3{font-size:1.1rem;color:var(--brand-2,#1b4aa0)}
.th-border{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.th-bcard{border:1px solid var(--line);border-top:5px solid var(--c);border-radius:16px;padding:20px;background:var(--bg,var(--surface));display:flex;flex-direction:column;gap:8px}
.th-red{--c:#dc2626}.th-amber{--c:#d97706}.th-blue{--c:#1b4aa0}
.th-badge{align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--c);border-radius:999px;padding:4px 10px}
.th-bcard h3{display:flex;gap:10px;align-items:center;font-size:1.1rem;color:var(--ink)}
.th-bcard p{color:var(--muted);margin:0}
.th-bstats{display:flex;gap:10px;margin:8px 0}
.th-bstats div{flex:1;text-align:center;background:color-mix(in srgb,var(--c) 9%,var(--surface));border-radius:12px;padding:10px 6px}
.th-bstats b{display:block;font-family:var(--f-display);font-size:1.4rem;color:var(--ink)}
.th-bstats span{font-size:.75rem;color:var(--muted)}
.th-team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:36px}
.th-member{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:0 0 20px;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.th-member.reveal{transition-delay:var(--d,0s)}
.th-member:hover{transform:translateY(-6px);box-shadow:0 24px 44px -26px rgba(11,26,58,.5)}
.th-member figure{position:relative;margin:0 0 14px;aspect-ratio:4/5;background:linear-gradient(160deg,#1b4aa0,#0b1a3a);overflow:hidden}
.th-member figure img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;transition:transform .7s}
.th-member:hover figure img{transform:scale(1.05)}
.th-avatar{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9);font-family:var(--f-display);font-weight:700;font-size:3rem}
.th-flags{position:absolute;right:10px;bottom:10px;display:flex;gap:6px;background:rgba(255,255,255,.95);border-radius:999px;padding:5px 8px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.th-flags .flag{width:24px;height:16px;flex-basis:24px}
.th-member h3{font-size:1.08rem;color:var(--ink);padding:0 12px}
.th-role{color:var(--accent);font-weight:800;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin:.3rem 12px .4rem}
.th-bio{color:var(--muted);font-size:.88rem;margin:0 14px}
@media (max-width:1100px){.th-team{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.th-two,.th-prog{grid-template-columns:1fr}.th-why{grid-template-columns:1fr 1fr}.th-border{grid-template-columns:1fr}
  .th-focus.js .th-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.th-tab{flex:0 0 auto;padding:14px 16px}}
@media (max-width:560px){.th-why{grid-template-columns:1fr}.th-team{grid-template-columns:1fr 1fr;gap:12px}.th-banner img{aspect-ratio:16/8}.th-banner figcaption{padding:40px 16px 14px;font-size:.95rem}
  .th-acc>div{padding-left:18px}.th-facts dl div{grid-template-columns:1fr;gap:2px}.th-bio{display:none}}
@media (prefers-reduced-motion:reduce){.th-panel{animation:none}.th-member,.th-member figure img{transition:none}}
.th-panel{padding:0!important}
.th-focus.js .th-tabs{flex-wrap:nowrap}
.th-tab{padding:15px 14px;letter-spacing:.07em;font-size:.76rem;white-space:nowrap}
/* volunteer button (site-wide) */
.btn-vol{background:#16a34a;color:#fff;border:2px solid #16a34a;box-shadow:0 10px 24px -12px rgba(22,163,74,.8)}
.btn-vol:hover{background:#15803d;border-color:#15803d;color:#fff;transform:translateY(-2px)}
.btn-lg{padding:15px 28px;font-size:1.02rem}
.nav-actions .hdr-vol{margin-right:2px}
@media (max-width:560px){.nav-actions .hdr-vol{padding:9px 12px;font-size:.82rem}.nav-actions .btn-gold{padding:9px 14px;font-size:.82rem}.nav-actions .tgl{display:none}}
@media (max-width:360px){.nav-actions .hdr-vol{display:none}}
/* Thailand hero */
.th-hero{position:relative;min-height:clamp(520px,78vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:#0b1a3a;color:#fff}
.th-hero picture,.th-hero picture img{position:absolute;inset:0;width:100%;height:100%}
.th-hero picture img{object-fit:cover;object-position:62% 50%;animation:thZoom 18s ease-out both}
@keyframes thZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.th-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,42,.88) 0%,rgba(8,18,42,.62) 38%,rgba(8,18,42,.1) 70%),linear-gradient(0deg,rgba(8,18,42,.7),transparent 45%)}
.th-hero-in{position:relative;z-index:2;padding-block:120px 56px;max-width:1180px}
.th-hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);max-width:15ch;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.th-hero .crumbs a,.th-hero .crumbs{color:#cbd5e1}
.th-hero-lede{max-width:52ch;font-size:clamp(1.02rem,1.6vw,1.2rem);color:#e8eef8;margin:1rem 0 1.6rem;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.th-hero-pts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:1.4rem 0 0}
.th-hero-pts li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.85rem}
@media (max-width:760px){.th-hero{min-height:auto;align-items:stretch;flex-direction:column}.th-hero picture{position:relative;display:block;aspect-ratio:16/9}.th-hero picture img{position:absolute}
  .th-hero::after{display:none}.th-hero-in{padding-block:24px 34px;background:#0b1a3a}.th-hero h1{text-shadow:none}}
@media (prefers-reduced-motion:reduce){.th-hero picture img{animation:none}}
/* volunteer */
.vol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}
.vol-aud{background:var(--surface);border:1px solid var(--line);border-top:4px solid #16a34a;border-radius:16px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px;transition:transform .3s,box-shadow .3s}
.vol-aud.reveal{transition-delay:var(--d,0s)}
.vol-aud:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(11,26,58,.5)}
.vol-aud h3{font-size:1.1rem;color:var(--ink)}
.vol-aud p{color:var(--muted);flex:1;margin:0}
.vol-aud .lead-link{color:#15803d}
.vol-roles{margin-top:24px;background:color-mix(in srgb,#16a34a 7%,var(--surface));border:1px solid color-mix(in srgb,#16a34a 25%,var(--line));border-radius:18px;padding:20px 22px}
.vol-roles>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.vol-role b{display:block;color:var(--ink)}.vol-role span{color:var(--muted);font-size:.9rem}
.vol-say{margin-top:48px}
.vol-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(380px,84vw);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:thin}
.vol-t{scroll-snap-align:start;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.vol-t blockquote{margin:0;color:var(--ink);font-size:.95rem;line-height:1.65}
.vol-t figcaption{display:flex;gap:12px;align-items:center}
.vol-av{flex:0 0 42px;height:42px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-weight:800}
.vol-t b{display:block;color:var(--ink)}.vol-t small{color:var(--muted)}
.vol-nav{display:flex;justify-content:center;gap:10px;margin-top:8px}
.vol-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.6rem;cursor:pointer}
.vol-nav button:hover{border-color:#16a34a;color:#16a34a}
.vol-apply{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:40px;align-items:start}
.vol-form select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--bg,#fff);color:var(--ink)}
.vol-form .kb-field{display:block;margin-bottom:12px}
.vol-mapbox{aspect-ratio:4/3;border-radius:12px;overflow:hidden;margin:12px 0;background:linear-gradient(135deg,#dbe7f5,#eef3f9);display:grid;place-items:center}
.vol-mapbox iframe{width:100%;height:100%;border:0}
.vol-mapbtn{border:0;background:#0b1a3a;color:#fff;font:inherit;font-weight:700;padding:12px 18px;border-radius:999px;cursor:pointer}
.vol-map p{color:var(--muted);font-size:.92rem}
@media (max-width:980px){.vol-grid,.vol-roles>div{grid-template-columns:1fr 1fr}.vol-apply{grid-template-columns:1fr}}
@media (max-width:560px){.vol-grid,.vol-roles>div{grid-template-columns:1fr}}
.nav-actions .btn.hdr-vol{display:inline-flex}
@media (max-width:560px){.nav-actions .btn.hdr-vol{padding:8px 14px;font-size:.82rem;box-shadow:none}}
@media (max-width:340px){.nav-actions .btn.hdr-vol{display:none}}
.vol-aud .lead-link{color:#15803d!important}
.th-hero-in{width:100%}
.th-hero-in>*{max-width:620px}
@media (max-width:760px){.th-hero picture{height:auto;width:100%;inset:auto}.th-hero picture img{inset:0}.th-hero-in>*{max-width:none}}
.th-hero{padding:0!important}
/* Pakistan page */
.th-green{--c:#16a34a}
.pk-hero picture img{object-position:70% 40%}
.pk-hero::after{background:linear-gradient(90deg,rgba(8,18,42,.92) 0%,rgba(8,18,42,.72) 42%,rgba(8,18,42,.15) 75%),linear-gradient(0deg,rgba(8,18,42,.75),transparent 45%)}
.pk-team{grid-template-columns:repeat(6,minmax(0,1fr))}
.pk-hidden{background:radial-gradient(circle at 50% 35%,#24539f,#0b1a3a 75%)}
.pk-badge{position:absolute;top:10px;left:10px;right:10px;text-align:center;background:#fbbf24;color:#1a2340;font-weight:800;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 6px}
@media (max-width:1100px){.pk-team{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.pk-team{grid-template-columns:1fr 1fr}}
/* Give page */
.gv-hero{background:linear-gradient(180deg,#eef4fe,#dbe8fb);padding-block:clamp(40px,7vw,90px)}
:root[data-theme="dark"] .gv-hero{background:linear-gradient(180deg,#0e1a3b,#0a1430)}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .gv-hero{background:linear-gradient(180deg,#0e1a3b,#0a1430)}}
.gv-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.gv-copy h1{font-size:clamp(2.1rem,4.6vw,3.3rem);color:var(--brand,#153b82);line-height:1.1}
:root[data-theme="dark"] .gv-copy h1{color:#fff}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .gv-copy h1{color:#fff}}
.gv-copy h1 span{color:#e8b100}
.gv-copy>p{color:var(--muted);font-size:1.08rem;margin:1rem 0 1.4rem;max-width:46ch}
.gv-copy .crumbs,.gv-copy .crumbs a{color:var(--muted)}
.gv-trust{list-style:none;padding:16px 18px;margin:0;display:grid;gap:12px;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--line);border-radius:14px;max-width:440px}
.gv-trust li{display:flex;gap:10px;align-items:center;font-weight:600;color:var(--ink);font-size:.92rem}
.gv-trust svg{color:#16a34a;flex:0 0 18px}
.gv-card{background:var(--surface);border-radius:18px;box-shadow:0 30px 60px -30px rgba(11,26,58,.5);overflow:hidden;border:1px solid var(--line)}
.gv-head{background:#153b82;color:#fff;font-weight:800;text-align:center;padding:16px;font-size:1.05rem}
.gv-body{padding:22px}
.gv-body fieldset{border:0;padding:0;margin:0 0 14px}
.gv-lab{display:block;font-weight:700;font-size:.85rem;color:var(--ink);margin:0 0 6px}
.gv-body select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--bg,#fff);color:var(--ink);margin-bottom:14px}
.gv-freq{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gv-freq legend{grid-column:1/-1}
.gv-freq label,.gv-amts label{position:relative;cursor:pointer}
.gv-freq input,.gv-amts input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px}
.gv-freq span{display:block;text-align:center;padding:10px;border:2px solid var(--line);border-radius:10px;font-weight:700;color:var(--ink)}
.gv-amts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.gv-amts span{display:block;text-align:center;padding:12px 8px;border:2px solid var(--line);border-radius:12px;transition:border-color .2s,background .2s;min-height:78px}
.gv-amts b{display:block;font-size:1.3rem;color:var(--brand,#153b82)}
.gv-amts i{font-style:normal}
.gv-amts small{display:block;color:var(--muted);font-size:.74rem;line-height:1.3;margin-top:2px}
.gv-amts input:checked+span,.gv-freq input:checked+span{border-color:#153b82;background:color-mix(in srgb,#153b82 8%,var(--surface))}
.gv-amts input:focus-visible+span,.gv-freq input:focus-visible+span{outline:3px solid var(--accent-bright);outline-offset:2px}
.gv-other{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--bg,#fff)}
.gv-other span{color:var(--muted);font-weight:700}
.gv-other input{flex:1;border:0;background:transparent;padding:12px 0;font:inherit;color:var(--ink);outline:none;min-width:0}
.gv-note{font-size:.86rem;color:var(--ink);background:color-mix(in srgb,#16a34a 8%,var(--surface));border:1px solid color-mix(in srgb,#16a34a 30%,var(--line));border-radius:10px;padding:10px 12px;margin-bottom:12px}
.gv-go{width:100%;justify-content:center;padding:15px;font-size:1.02rem}
.gv-fine{font-size:.74rem;color:var(--muted);text-align:center;margin:10px 0 0}
.gv-des{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:32px}
.gv-dcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 10px 24px -20px rgba(11,26,58,.5);transition:transform .3s,box-shadow .3s}
.gv-dcard.reveal{transition-delay:var(--d,0s)}
.gv-dcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(11,26,58,.5)}
.gv-dcard h3{font-size:1.02rem;color:var(--brand,#153b82)}
:root[data-theme="dark"] .gv-dcard h3{color:#fff}
.gv-dcard p{color:var(--muted);font-size:.86rem;flex:1;margin:0}
.gv-dcard .btn{width:100%;justify-content:center;padding:10px;font-size:.82rem}
.gv-dic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.gv-c0{background:#e6ecf7;color:#153b82}.gv-c1{background:#e3eefe;color:#2a78d6}.gv-c2{background:#dcf5e9;color:#159a5c}.gv-c3{background:#fde7df;color:#e0562b}.gv-c4{background:#efe6fd;color:#7c4dde}
.gv-us{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:24px;align-items:start}
.gv-dl{display:grid;gap:8px;margin:14px 0}
.gv-dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.gv-dl dt{font-weight:800;color:var(--ink);font-size:.85rem}.gv-dl dd{margin:0;color:var(--muted)}
.gv-zelle{margin:0;text-align:center}
.gv-zelle img{display:block;width:100%;max-width:340px;height:auto;margin:10px auto;border-radius:12px;image-rendering:pixelated}
.gv-regs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.gv-reg{display:flex;flex-direction:column;gap:4px}
.gv-reg h3{display:flex;gap:10px;align-items:center;font-size:1.1rem}
.gv-entity{font-weight:700;color:var(--ink);margin:0}
.gv-reg .gv-dl{flex:1}
.gv-btns{display:flex;flex-wrap:wrap;gap:8px}
.gv-btns .btn{padding:10px 14px;font-size:.85rem}
.gv-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.gv-badges span{border:1px solid color-mix(in srgb,#16a34a 35%,var(--line));background:color-mix(in srgb,#16a34a 7%,var(--surface));color:var(--ink);font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:8px 14px}
@media (max-width:1100px){.gv-des{grid-template-columns:repeat(3,minmax(0,1fr))}.gv-regs{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.gv-grid,.gv-us{grid-template-columns:1fr}}
@media (max-width:560px){.gv-des{grid-template-columns:1fr 1fr}.gv-regs{grid-template-columns:1fr}.gv-dcard{padding:16px 12px}}
.gv-reg .gv-dl{align-content:start}
.gv-reg .gv-dl div{grid-template-columns:1fr;gap:2px}
.gv-dl dd{overflow-wrap:anywhere}
.gv-grid{align-items:start}
.gv-copy{padding-top:24px}
/* ---- Myanmar country page */
.mm-hero picture img{object-position:68% 40%}
.mm-hero::after{background:linear-gradient(90deg,rgba(8,18,42,.86) 0%,rgba(8,18,42,.55) 42%,rgba(8,18,42,.08) 72%),linear-gradient(0deg,rgba(8,18,42,.78),transparent 48%)}
.mm-alert{background:#fff7e0;border-bottom:1px solid #f3d27a;color:#5b4300;font-size:.92rem}
.mm-alert .wrap{padding-block:12px}
.mm-alert b{color:#8a5a00}.mm-alert span{display:inline-block;margin-left:6px;font-weight:600;opacity:.85}
.mm-eth{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:1rem 0}
.mm-eth li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 13px;font-weight:700;font-size:.85rem;color:var(--ink)}
.mm-quote{margin:1.1rem 0 0;border-left:4px solid #fbbf24;padding:.4rem 0 .4rem 1rem;font-style:italic;color:var(--ink)}
.mm-quote cite{display:block;font-style:normal;font-size:.85rem;color:var(--muted);margin-top:.3rem}
.mm-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mm-compare div{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;background:var(--surface)}
.mm-compare div:last-child{border-color:#16a34a55}
.mm-compare span{color:var(--muted);font-size:.9rem}
.mm-steps{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;counter-reset:s}
.mm-steps li{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--ink)}
.mm-steps li span{flex:0 0 30px;height:30px;border-radius:50%;background:#0b1a3a;color:#fbbf24;display:grid;place-items:center;font-weight:800}
.mm-feature p{color:var(--muted)}
.mm-needs{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.mm-needs li{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.mm-needs b{color:#b45309;white-space:nowrap}
.mm-team{grid-template-columns:repeat(5,minmax(0,1fr))}
.mm-motto{font-style:italic;color:var(--ink);font-size:.88rem;margin-top:.4rem}
.mm-adv{grid-template-columns:1fr 1fr;margin-top:6px}
.mm-from{text-align:center;max-width:760px;margin:-6px auto 22px;color:var(--muted);font-weight:600}
.mm-vol-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mm-stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.mm-story{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.mm-story:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,26,58,.12)}
.mm-story-img{aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 50% 35%,#24539f,#0b1a3a 75%);color:#fbbf24;font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.mm-story h3,.mm-story p{padding:0 16px}.mm-story h3{margin-top:14px}.mm-story p{color:var(--muted);font-size:.93rem;margin-bottom:16px}
.mm-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:24px}
.mm-day{border:1px solid var(--line);border-top:4px solid #fbbf24;border-radius:14px;padding:14px 12px;background:var(--surface);display:flex;flex-direction:column;gap:4px;transition:transform .2s ease}
.mm-day:hover{transform:translateY(-3px)}
.mm-day span{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mm-day b{color:var(--ink)}
.mm-funds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.mm-fund{display:flex;flex-direction:column;gap:8px}
.mm-fund ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem}
.mm-fund .btn{margin-top:auto;align-self:flex-start}
.mm-inv{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--line);padding-top:10px;margin:6px 0 4px}
.mm-inv span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mm-inv b{color:var(--ink);font-size:1.05rem}
.mm-restricted{background:linear-gradient(135deg,#0b1a3a,#1e3a8a);color:#cbd5e1;border:0}
.mm-restricted h3{color:#fff}
.mm-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 40px;align-items:start}
.mm-contact .hero-cta{grid-column:1/-1}
.mm-cl{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.mm-cl li{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:12px 16px;background:var(--surface)}
.mm-cl span{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mm-cl a{font-weight:700;overflow-wrap:anywhere}
@media (max-width:1100px){.mm-team{grid-template-columns:repeat(3,minmax(0,1fr))}.mm-vol-grid,.mm-stories{grid-template-columns:1fr 1fr}.mm-week{grid-template-columns:repeat(4,minmax(0,1fr))}.mm-funds{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.mm-contact{grid-template-columns:1fr}.mm-week{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mm-team{grid-template-columns:1fr 1fr}.mm-vol-grid,.mm-stories,.mm-funds,.mm-compare,.mm-adv{grid-template-columns:1fr}}
.mm-restricted p{color:#cbd5e1}
.hub-local[lang="my"]{font-family:"Noto Sans Myanmar","Myanmar Text","Padauk",sans-serif}
.kpi-2{grid-template-columns:repeat(2,minmax(0,1fr))}.th-panel .kpi-grid{margin-top:0}
/* ---- country-page summary (AI/SEO definitional paragraph) + Laos */
.seo-sum{border:1px solid var(--line);border-left:5px solid #fbbf24;background:var(--surface);border-radius:16px;padding:16px 20px;margin-bottom:30px}
.seo-sum p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}.seo-sum b{color:var(--ink)}
.la-hero picture img{object-position:70% 40%}
.la-team{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;margin-inline:auto}
@media (max-width:980px){.la-team{grid-template-columns:1fr 1fr}}
/* ---- Volunteer hub */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-status{margin:12px 0 0;font-weight:600;font-size:.95rem}.form-status.ok{color:#15803d}.form-status.err{color:#b45309}
.vh-hero picture img{object-position:50% 40%}
.op-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0 18px}
.op-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 15px;font-weight:700;font-size:.86rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.op-chip:hover{border-color:#16a34a}.op-chip[aria-pressed="true"]{background:#0b1a3a;color:#fff;border-color:#0b1a3a}
.op-count{margin-left:auto;color:var(--muted);font-size:.86rem;font-weight:600}
.op-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.op-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.op-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -20px rgba(11,26,58,.4);border-color:#16a34a66}
.op-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.op-type{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:#e0ecff;color:#1e3a8a;width:max-content}
.op-skilled{background:#e0ecff;color:#1e3a8a}.op-trip{background:#dcfce7;color:#166534}.op-remote{background:#fef3c7;color:#92400e}
.op-dur{font-size:.82rem;font-weight:700;color:var(--muted)}
.op-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem;font-weight:600;color:var(--ink);margin:0}
.op-meta span::before{content:"\2022";color:#16a34a;margin-right:6px}
.op-card>p:not(.op-meta){color:var(--muted);font-size:.93rem;margin:0}
.op-more summary{cursor:pointer;font-weight:700;color:var(--accent,#1e3a8a);font-size:.9rem}
.op-more ul{margin:8px 0 0;font-size:.9rem}
.op-apply{margin-top:auto;align-self:flex-start}
.js-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative}
.js-steps::before{content:"";position:absolute;top:24px;left:10%;right:10%;height:3px;background:linear-gradient(90deg,#16a34a,#fbbf24)}
.js-steps li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.js-n{width:50px;height:50px;border-radius:50%;background:#0b1a3a;color:#fbbf24;display:grid;place-items:center;font-weight:800;font-size:1.15rem;border:4px solid var(--bg,#fff);position:relative}
.js-steps b{color:var(--ink)}.js-steps p{color:var(--muted);font-size:.88rem;margin:0}
.vid{margin:0}.vid figcaption{font-size:.88rem;color:var(--muted);margin-top:8px}
.vid-box{position:relative;border-radius:18px;overflow:hidden;background:#0b1a3a;box-shadow:0 18px 40px -22px rgba(11,26,58,.55)}
.vid-wide .vid-box{aspect-ratio:16/9}.vid-reel .vid-box{aspect-ratio:9/16}
.vid-btn{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.vid-btn img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s}
.vid-btn:hover img,.vid-btn:focus-visible img{transform:scale(1.05);filter:brightness(.8)}
.vid-btn:focus-visible{outline:3px solid #fbbf24;outline-offset:-3px}
.vid-play{position:absolute;inset:0;display:grid;place-items:center;transition:transform .25s}
.vid-btn:hover .vid-play{transform:scale(1.1)}
.vid-tag{position:absolute;left:12px;bottom:12px;background:rgba(11,26,58,.85);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 11px}
.vid-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reel-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px}
.reel-grid .vid figcaption b{display:block;color:var(--ink);font-size:.9rem;line-height:1.3}
.trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.trip-card{display:flex;flex-direction:column;gap:8px}.trip-card .hero-cta{margin-top:auto}
.trip-when{margin:0;color:var(--muted)}.trip-when b{color:var(--ink)}
.trip-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}
.trip-dl div{border:1px solid var(--line);border-radius:12px;padding:8px 12px}.trip-dl dt{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.trip-dl dd{margin:0;font-weight:700;color:var(--ink)}
.itin{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-top:30px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}
.itin ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.itin li{display:grid;grid-template-columns:110px 150px 1fr;gap:10px;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:10px}
.it-d{font-weight:800;color:#b45309;font-size:.85rem}.it-x{color:var(--muted);font-size:.92rem}
.rm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.rm-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid #fbbf24;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;transition:transform .2s}
.rm-card:hover{transform:translateY(-3px)}.rm-card ul{margin:0 0 6px;padding-left:1.1rem;color:var(--muted);font-size:.9rem}.rm-card .lead-link{margin-top:auto}
.tl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.tl-card{border-top:4px solid #16a34a}
.pk-grid{margin-top:14px}
.dl-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.dl-card{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.dl-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(11,26,58,.45)}
.dl-card img{width:64px;height:auto;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.dl-card span{display:flex;flex-direction:column;gap:3px}.dl-card b{color:var(--ink)}.dl-card small{color:var(--muted);font-size:.8rem}.dl-card em{font-style:normal;font-weight:800;color:#16a34a;font-size:.86rem}
.vg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.vg-dd{list-style:none;padding:0;margin:0;display:grid;gap:7px}.vg-dd li{padding-left:24px;position:relative}
.vg-dd li::before{position:absolute;left:0;font-weight:900}.vg-dd .y::before{content:"\2713";color:#16a34a}.vg-dd .n::before{content:"\2715";color:#dc2626}
.vg-phr{display:grid;gap:8px;margin:0}.vg-phr div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:6px}.vg-phr dt{color:var(--muted)}.vg-phr dd{margin:0;font-weight:700;color:var(--ink)}
.safety-faq .wrap{padding:0!important;max-width:none!important}
.apply-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin-top:26px;align-items:start}
.apply-side{display:grid;gap:16px}
.apply-form textarea,.ask-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:var(--bg,#fff);color:var(--ink);resize:vertical}
.ask-form{display:grid;gap:10px}
.apply-ok{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.9rem;color:var(--muted)}.apply-ok input{margin-top:4px;width:18px;height:18px;accent-color:#16a34a}
.hq-vid{align-items:center}
@media (max-width:1100px){.op-grid,.trip-grid,.rm-grid,.vg-grid{grid-template-columns:1fr 1fr}.reel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tl-grid,.dl-row{grid-template-columns:1fr 1fr}.itin{grid-template-columns:1fr}}
@media (max-width:860px){.js-steps{grid-template-columns:1fr;gap:16px}.js-steps::before{left:24px;right:auto;top:10px;bottom:10px;width:3px;height:auto;background:linear-gradient(180deg,#16a34a,#fbbf24)}
  .js-steps li{flex-direction:row;text-align:left;align-items:flex-start;flex-wrap:wrap;column-gap:14px}.js-steps li p{flex-basis:100%;padding-left:64px;margin-top:-18px}
  .apply-wrap{grid-template-columns:1fr}.itin li{grid-template-columns:90px 1fr}.it-x{grid-column:1/-1}}
@media (max-width:620px){.op-grid,.trip-grid,.rm-grid,.vg-grid,.tl-grid,.dl-row{grid-template-columns:1fr}.reel-grid{grid-template-columns:1fr 1fr}.op-count{margin-left:0;flex-basis:100%}}
.form-status.err{background:#fff7e0;border:1px solid #f3d27a;border-radius:14px;padding:14px 16px;color:#5b4300;font-weight:500}
.form-status .fs-h{display:block;font-weight:800;font-size:1.02rem;color:#8a5a00;margin-bottom:4px}
.form-status .fs-btn{display:inline-flex;margin-top:12px;color:#fff!important;text-decoration:none}
/* ---- responsive fixes (site-wide audit) */
img,video,iframe,embed,object,svg{max-width:100%}
img{height:auto}
body{overflow-wrap:break-word}
a[href^="mailto:"],.mm-cl a,.info-list a{overflow-wrap:anywhere}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-grid>*{min-width:0}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.map-embed iframe{width:100%}
.rel-row{grid-template-columns:minmax(78px,150px) minmax(0,1fr) minmax(58px,max-content)}
.timeline .ty{min-width:44px;width:auto}
@media (max-width:420px){.gci-facts{grid-template-columns:1fr}.rel-row{gap:8px}}
.th-focus,[role=tablist],[data-filter-group]{scroll-margin-top:calc(var(--hh,74px) + 78px)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ---- WhatsApp chat */
.wa-chat{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}
.wa-fab{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:#25d366;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px -6px rgba(0,0,0,.45);transition:transform .2s ease,box-shadow .2s}
.wa-fab:hover{transform:scale(1.07)}.wa-fab:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
.wa-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;opacity:.55;animation:waPulse 2.4s ease-out infinite;z-index:-1}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.6);opacity:0}}
.wa-chat.open .wa-fab::before{animation:none;opacity:0}
.wa-tip{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#0b1a3a;color:#fff;font-weight:700;font-size:.85rem;white-space:nowrap;padding:8px 14px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);pointer-events:none;opacity:0;transition:opacity .2s}
.wa-fab:hover .wa-tip,.wa-fab:focus-visible .wa-tip{opacity:1}
@media (min-width:900px){.wa-chat:not(.open) .wa-tip{opacity:1;animation:waTip 6s 2s both}}
@keyframes waTip{0%,80%{opacity:1}100%{opacity:0}}
.wa-panel{width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;background:#efeae2;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px -14px rgba(0,0,0,.5);animation:waIn .22s ease-out}
.wa-panel[hidden]{display:none}
@keyframes waIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.wa-head{display:flex;align-items:center;gap:12px;background:#075e54;color:#fff;padding:14px 14px 14px 16px}
.wa-head img{width:40px;height:40px;border-radius:50%;background:#fff;object-fit:contain;padding:3px}
.wa-head div{flex:1;min-width:0;display:flex;flex-direction:column}.wa-head b{font-size:1rem}.wa-head small{opacity:.85;font-size:.76rem}
.wa-x{background:none;border:0;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;width:40px;height:40px;border-radius:50%}
.wa-x:hover{background:rgba(255,255,255,.15)}
.wa-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.wa-msg{background:#fff;color:#111b21;border-radius:0 12px 12px 12px;padding:9px 12px;font-size:.92rem;line-height:1.45;margin:0;max-width:92%;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.wa-quick a{background:#fff;color:#075e54;border:1px solid #25d36688;border-radius:999px;padding:9px 14px;font-weight:700;font-size:.86rem;text-decoration:none;min-height:40px;display:inline-flex;align-items:center;transition:background .15s}
.wa-quick a:hover,.wa-quick a:focus-visible{background:#dcf8c6}
.wa-form{display:flex;gap:8px;padding:10px;background:#f0f2f5}
.wa-form input{flex:1;min-width:0;border:0;border-radius:999px;padding:12px 16px;font:inherit;font-size:16px;background:#fff;color:#111b21}
.wa-form button{width:46px;height:46px;flex:0 0 46px;border-radius:50%;border:0;background:#25d366;display:grid;place-items:center;cursor:pointer}
.wa-form button svg{width:22px;height:22px}
@media (max-width:560px){.wa-fab{width:56px;height:56px}.wa-tip{display:none}}
@media (prefers-reduced-motion:reduce){.wa-fab::before,.wa-panel{animation:none}}
@media print{.wa-chat{display:none}}
body:has(.mobile-menu.open) .wa-chat,body:has(.lb:not([hidden])) .wa-chat{display:none}
/* ---- About: Our Mission video + gallery */
.ab-mission{align-items:center}
.ab-video{margin:0}
.ab-vbox{position:relative;border-radius:20px;overflow:hidden;background:#0b1a3a;aspect-ratio:16/9;box-shadow:0 24px 50px -24px rgba(11,26,58,.55)}
.ab-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ab-video figcaption{font-size:.88rem;color:var(--muted);margin-top:10px}
.ab-vctl{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:8px;justify-content:space-between;pointer-events:none}
.ab-vctl button{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;min-width:40px;justify-content:center;border:0;border-radius:999px;background:rgba(11,26,58,.78);color:#fff;font:inherit;font-weight:700;font-size:.82rem;padding:0 14px;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
.ab-vctl button:hover{background:rgba(11,26,58,.95)}.ab-vctl button:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.ab-play .i-play,.ab-play[aria-pressed="true"] .i-pause{display:none}.ab-play[aria-pressed="true"] .i-play{display:inline}
.ab-sound .i-on,.ab-sound[aria-pressed="true"] .i-off{display:none}.ab-sound[aria-pressed="true"] .i-on{display:inline}
.ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"a a b" "a a c" "d d e";gap:14px;margin-top:28px}
.ab-grid .gg-item{border-radius:18px;box-shadow:0 14px 34px -22px rgba(11,26,58,.55)}
.ab-grid .gg-item img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .6s ease}
.ab-grid .gg-item:hover img{transform:scale(1.04)}
.ab-a{grid-area:a}.ab-b{grid-area:b}.ab-c{grid-area:c}.ab-d{grid-area:d}.ab-e{grid-area:e}
.ab-b,.ab-c{aspect-ratio:4/3}.ab-d{aspect-ratio:2.1/1}.ab-e{aspect-ratio:auto}
.ab-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-weight:600;font-size:.86rem;line-height:1.35;background:linear-gradient(0deg,rgba(8,18,42,.88),transparent);pointer-events:none}
@media (max-width:760px){.ab-grid{grid-template-columns:1fr;grid-template-areas:"a" "b" "c" "d" "e"}.ab-grid .gg-item{aspect-ratio:auto!important}.ab-grid .gg-item img{height:auto}}
@media (prefers-reduced-motion:reduce){.ab-grid .gg-item img{transition:none}}
.ab-grid .gg-item figcaption{display:block!important;opacity:1!important;transform:none!important;visibility:visible!important}
/* ---- region cards: country flags (true proportions, equal height) */
.rc-flag{display:block;height:44px;margin-bottom:12px;transition:transform .25s ease;transform-origin:left bottom}
.rc-flag .rflag{display:block;height:100%;width:auto;border-radius:6px;box-shadow:0 0 0 1px rgba(11,26,58,.12),0 6px 14px -6px rgba(11,26,58,.35)}
.region-card:hover .rc-flag{transform:scale(1.06) rotate(-2deg)}
@media (prefers-reduced-motion:reduce){.rc-flag{transition:none}.region-card:hover .rc-flag{transform:none}}
/* ---- 10/40 Window hero globe + new sections */
.kb-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(20px,4vw,56px);align-items:center}
.g1040{margin:0;position:relative;max-width:560px;justify-self:end;width:100%}
.g-stage{position:relative;aspect-ratio:1/1;width:100%}
.g-static,.g-svg{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
.g-svg{touch-action:pan-y;cursor:grab;outline:none;opacity:0;animation:gIn .5s ease forwards}
.g-svg:active{cursor:grabbing}.g-svg:focus-visible{outline:3px solid #fbbf24;outline-offset:6px;border-radius:50%}
@keyframes gIn{to{opacity:1}}
.g1040.live .g-static{opacity:0;transition:opacity .5s}
.g-tip{position:absolute;z-index:3;min-width:150px;max-width:240px;background:#fff;color:#0b1a3a;border-radius:12px;padding:10px 12px;box-shadow:0 14px 34px -10px rgba(0,0,0,.45);font-size:.85rem;line-height:1.35;pointer-events:none}
.g-tip.pin{pointer-events:auto}.g-tip b{display:block;font-size:.98rem}.g-tip span{display:block;color:#475569}
.g-tip a{display:inline-block;margin-top:6px;font-weight:700;color:#15803d}
.g-ctl{display:none;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.g1040.live .g-ctl{display:flex}
.g-ctl button,.g-ctl a{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-weight:700;font-size:.82rem;cursor:pointer;text-decoration:none}
.g-ctl button:hover,.g-ctl a:hover{background:rgba(255,255,255,.18)}
.g-key{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:10px;font-size:.8rem;color:#cbd5e1}
.g-key span{display:inline-flex;align-items:center;gap:6px}.g-key i{width:12px;height:12px;border-radius:3px;display:inline-block}
.g-key .k-in{background:#f2b33d}.g-key .k-kmi{background:#22c55e}.g-key .k-hub{background:#fff;border:3px solid #16a34a;border-radius:50%}
.g-hint{opacity:.8;font-style:italic}
.kb-hero .hub-nav{margin-top:26px}
@media (max-width:900px){.kb-hero-grid{grid-template-columns:1fr}.g1040{justify-self:center;max-width:440px}}
.kb-facts-wrap{margin-top:22px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.kb-facts{width:100%;border-collapse:collapse}
.kb-facts th,.kb-facts td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.kb-facts tr:last-child th,.kb-facts tr:last-child td{border-bottom:0}
.kb-facts th{width:190px;color:var(--ink);font-weight:800;background:color-mix(in srgb,var(--surface) 80%,#fbbf24 20%)}
.kb-facts td{color:var(--muted)}.kb-facts td b{color:var(--ink)}
@media (max-width:600px){.kb-facts th,.kb-facts td{display:block;width:auto}.kb-facts th{padding-bottom:4px;border-bottom:0}.kb-facts td{padding-top:0}}
.kb-tl{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;position:relative}
.kb-tl::before{content:"";position:absolute;left:47px;top:8px;bottom:8px;width:3px;background:linear-gradient(#fbbf24,#16a34a);border-radius:2px}
.kb-tl li{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start;position:relative}
.kb-tl-y{justify-self:center;background:#0b1a3a;color:#fbbf24;font-weight:800;border-radius:999px;padding:6px 12px;font-size:.85rem;position:relative;z-index:1;white-space:nowrap}
.kb-tl li>div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 18px}
.kb-tl h3{margin:0 0 4px;font-size:1.05rem}.kb-tl p{margin:0;color:var(--muted)}
@media (max-width:560px){.kb-tl::before{left:35px}.kb-tl li{grid-template-columns:72px 1fr;gap:10px}}
.kb-clist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.kb-clist h3{display:flex;justify-content:space-between;align-items:center}.kb-clist h3 small{background:#0b1a3a;color:#fbbf24;border-radius:999px;padding:2px 10px;font-size:.78rem}
.kb-clist ul{list-style:none;padding:0;margin:10px 0 0;columns:2;column-gap:14px}
.kb-clist li{padding:3px 0;break-inside:avoid;color:var(--ink);font-size:.93rem}
.kb-kmi-tag{display:inline-block;background:#16a34a;color:#fff;font-size:.62rem;font-weight:800;border-radius:999px;padding:1px 6px;vertical-align:middle}
.kb-cpart{border-style:dashed}
@media (max-width:980px){.kb-clist{grid-template-columns:1fr 1fr}}@media (max-width:620px){.kb-clist{grid-template-columns:1fr}}
.kb-pod{padding-block:clamp(28px,5vw,48px)}
.kb-pod-in{display:flex;gap:24px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0b1a3a,#1e3a8a);color:#cbd5e1;border-radius:22px;padding:clamp(22px,4vw,36px)}
.kb-pod-in h2{color:#fff;margin:.3rem 0 .4rem}.kb-pod-in .eyebrow{color:#fbbf24}.kb-pod-in p{margin:0}
@media (max-width:720px){.kb-pod-in{flex-direction:column;align-items:flex-start}}
.kb-src{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kb-src li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.kb-src a{font-weight:700;color:var(--ink);overflow-wrap:anywhere}.kb-src span{color:var(--muted);font-size:.88rem}
@media (max-width:700px){.kb-src{grid-template-columns:1fr}}
.la25-gal .gg-item figcaption{display:block!important;transform:none!important}
.la25-gal .la-full{grid-column:1/-1}.la25-gal .la-full img{object-position:50% 72%}
/* ---- Mission trips gallery */
.mt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:12px}
.mt-grid .gg-item{border-radius:16px}.mt-grid .gg-link img{width:100%;height:100%;object-fit:cover}
.mt-grid .mt-wide{grid-column:span 2}.mt-grid .mt-tall{grid-row:span 2}
.mt-grid .gg-item figcaption{display:block!important;transform:none!important}
.mt-tag{position:absolute;top:10px;left:10px;background:rgba(11,26,58,.82);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px}
.mt-grid .gg-item[hidden]{display:none}
.mt-dest .card{display:flex;flex-direction:column;gap:8px}.mt-dest .hero-cta{margin-top:auto;align-items:center}
.mt-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.mt-steps div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.mt-steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0b1a3a;color:#fbbf24;font-weight:800;margin-bottom:8px}
.mt-steps b{color:var(--ink)}.mt-steps p{margin:.3rem 0 0;color:var(--muted);font-size:.92rem}
@media (max-width:980px){.mt-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}.mt-steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mt-grid{grid-template-columns:1fr;grid-auto-rows:auto}.mt-grid .mt-wide,.mt-grid .mt-tall{grid-column:auto;grid-row:auto}.mt-grid .gg-item{aspect-ratio:4/3}.mt-steps{grid-template-columns:1fr}}
.mt-grid .mt-tall img{object-position:50% 85%}
/* ---- guide articles */
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(24px,4vw,48px);align-items:start}
.art{max-width:780px;font-size:1.04rem;line-height:1.75}
.art-hero{margin:0 0 24px;border-radius:20px;overflow:hidden;box-shadow:0 20px 44px -26px rgba(11,26,58,.5)}
.art-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.art-key{background:var(--surface);border:1px solid var(--line);border-left:5px solid #fbbf24;border-radius:16px;padding:18px 22px;margin-bottom:10px}
.art-key .ticks{margin:8px 0 0}
.art-sec{padding:0!important;margin-top:34px;scroll-margin-top:calc(var(--hh,74px) + 20px)}
.art-sec h2{font-size:clamp(1.45rem,3vw,1.9rem);margin-bottom:.6rem}
.art-sec p{color:var(--muted)}.art-sec p b,.art-sec li b{color:var(--ink)}
.art-fig{margin:20px 0;border-radius:16px;overflow:hidden}.art-fig img{display:block;width:100%;height:auto}
.mt-ol{padding-left:1.3rem;color:var(--muted)}.mt-ol li{margin:.4rem 0}
.art-cta{margin-top:36px;background:linear-gradient(135deg,#0b1a3a,#1e3a8a);color:#cbd5e1;border-radius:20px;padding:24px}
.art-cta h3{color:#fff;margin:.2rem 0 1rem}.art-cta .eyebrow{color:#fbbf24}
.art-src{margin-top:18px}
.art-aside{position:sticky;top:calc(var(--hh,74px) + 18px);display:grid;gap:16px}
.art-toc{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.art-toc ol{margin:8px 0 0;padding-left:1.1rem;display:grid;gap:6px;font-size:.92rem}.art-toc a{color:var(--ink);font-weight:600}
.art-side-cta p{color:var(--muted);font-size:.92rem}
.art-strip{padding-block:clamp(20px,4vw,36px)!important}
.art-strip-in{display:flex;gap:24px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-left:5px solid #fbbf24;border-radius:20px;padding:clamp(18px,3vw,28px)}
.art-strip-in h2{font-size:clamp(1.25rem,2.6vw,1.6rem);margin:.2rem 0 .4rem}.art-strip-in p:not(.eyebrow){color:var(--muted);margin:0}
@media (max-width:980px){.art-grid{grid-template-columns:1fr}.art-aside{position:static}}
@media (max-width:640px){.art-strip-in{flex-direction:column;align-items:flex-start}}
/* ---- KMI Assistant */
.wa-fab{background:#0b1a3a;border:3px solid #25d366}.wa-fab::before{background:#25d366}
.wa-badge{position:absolute;right:-6px;bottom:-6px;width:26px;height:26px;border-radius:50%;background:#25d366;display:grid;place-items:center;border:2px solid #fff}
.wa-badge svg{width:16px;height:16px}
.wa-panel{max-height:min(620px,calc(100vh - 110px));background:#f4f6fb}
.wa-head{background:#0b1a3a}
.wa-body{flex:1;min-height:220px;padding:14px;gap:8px;scroll-behavior:smooth}
.wa-msg{border-radius:4px 14px 14px 14px;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}
.wa-msg a{color:#15803d;font-weight:700}
.wa-msg.me{align-self:flex-end;background:#0b1a3a;color:#fff;border-radius:14px 4px 14px 14px}
.wa-src{display:block;margin-top:6px;font-size:.84rem}
.wa-rel{margin:4px 0 0;font-size:.78rem;font-weight:700;color:#64748b}
.wa-quick button{background:#fff;color:#0b1a3a;border:1px solid #cbd5e1;border-radius:999px;padding:8px 13px;font:inherit;font-weight:700;font-size:.82rem;min-height:38px;cursor:pointer;text-align:left}
.wa-quick button:hover,.wa-quick button:focus-visible{border-color:#16a34a;background:#f0fdf4}
.wa-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.wa-act{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:#fff!important;border-radius:999px;padding:8px 14px;text-decoration:none;font-weight:800;font-size:.84rem}
.wa-act svg{width:18px;height:18px}.wa-act.alt{background:#0b1a3a}
.wa-human{display:flex;align-items:center;gap:8px;justify-content:center;background:#25d366;color:#fff;text-decoration:none;font-weight:800;font-size:.84rem;padding:9px 12px}
.wa-human svg{width:20px;height:20px}.wa-human:hover{background:#1ebe5a}
.wa-form button{background:#0b1a3a}
.wa-typing{display:inline-flex;gap:4px;padding:4px 2px}.wa-typing i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:waDot 1s infinite}
.wa-typing i:nth-child(2){animation-delay:.15s}.wa-typing i:nth-child(3){animation-delay:.3s}
@keyframes waDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (max-width:560px){.wa-panel{width:calc(100vw - 24px);max-height:calc(100vh - 100px)}}
/* ---- separate chat-assistant (primary) and WhatsApp (secondary) buttons */
.wa-chat{gap:14px}
.wa-badge,.wa-human{display:none!important}
.wa-solo{order:0;position:relative;width:48px;height:48px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(0,0,0,.4);margin-right:6px;transition:transform .2s}
.wa-solo svg{width:26px;height:26px}
.wa-solo:hover{transform:scale(1.07)}.wa-solo:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}
.wa-solo .wa-tip{right:58px}
.wa-solo:hover .wa-tip,.wa-solo:focus-visible .wa-tip{opacity:1}
.wa-panel{order:1}.wa-fab{order:2}
.wa-chat.open .wa-solo{display:none}
@media (min-width:900px){.wa-chat:not(.open) .wa-solo .wa-tip{opacity:0;animation:none}.wa-solo:hover .wa-tip{opacity:1}}
@media (max-width:560px){.wa-solo{width:44px;height:44px}}
.wa-solo{display:none!important}
/* ---- homepage globe: fully visible on phones (own space above the headline) */
@media (max-width:760px){
  .hero{display:flex;flex-direction:column}
  .hero #map{position:relative;inset:auto;height:min(92vw,380px);opacity:1!important;touch-action:pan-y;flex:0 0 auto}
  .hero::after{background:linear-gradient(180deg,rgba(9,20,48,0) 0,rgba(9,20,48,0) calc(min(92vw,380px) - 90px),var(--brand-deep) min(92vw,380px),var(--brand-deep) 100%)!important}
  .hero-inner{margin-top:-56px;padding-top:0!important}
}
/* ---- imported mission updates */
.up-body{color:var(--ink)}
.up-body p,.up-body li{color:var(--muted)}.up-body strong,.up-body b{color:var(--ink)}
.up-body h2{font-size:clamp(1.4rem,3vw,1.8rem);margin:1.8rem 0 .6rem}.up-body h3{font-size:clamp(1.15rem,2.4vw,1.4rem);margin:1.5rem 0 .5rem}.up-body h4{font-size:1.08rem;margin:1.2rem 0 .4rem}
.up-body ul,.up-body ol{padding-left:1.3rem}.up-body li{margin:.3rem 0}
.up-body blockquote{margin:1.1rem 0;padding:6px 0 6px 18px;border-left:4px solid var(--accent-bright);font-family:var(--f-display);font-style:italic;color:var(--ink)}
.up-body a.inline{word-break:break-word}
.up-hero img{aspect-ratio:auto!important;max-height:560px;object-fit:cover}
.up-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.up-gal figure{margin:0;border-radius:12px;overflow:hidden;background:var(--surface)}
.up-gal img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.up-canva{position:relative;width:100%;max-width:640px;margin:20px auto 8px;padding-top:min(141.43%,905px);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(63,69,81,.16)}
.up-canva iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@supports (aspect-ratio:1){.up-canva{padding-top:0;aspect-ratio:1/1.4143}}
.up-note{margin-top:18px}
.up-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.up-chips .chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.9rem;cursor:pointer;min-height:40px}
.up-chips .chip.on{background:#0b1a3a;color:#fff;border-color:#0b1a3a}
.up-year{font-size:1.3rem;margin:30px 0 14px;color:var(--ink)}
#archive .post[hidden],#archive .up-year[hidden]{display:none}
@media (max-width:640px){.up-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
/* ---- founder's message */
.fm-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.fm-photo{margin:0;position:sticky;top:calc(var(--hh,74px) + 18px)}
.fm-photo img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 20px 44px -26px rgba(11,26,58,.5)}
.fm-photo figcaption{margin-top:12px;color:var(--muted);font-size:.95rem}.fm-photo b{color:var(--ink)}
@media (max-width:860px){.fm-grid{grid-template-columns:1fr}.fm-photo{position:static;max-width:280px}}
/* ---- home: volunteer in Thailand strip */
.vt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.vt-grid a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;color:var(--ink)}
.vt-grid a:hover{border-color:var(--accent-bright)}.vt-grid h3{font-size:1.1rem;margin:0 0 .3rem}.vt-grid p{color:var(--muted);margin:0;font-size:.94rem}
@media (max-width:860px){.vt-grid{grid-template-columns:1fr}}
