.country-directory-hero,.country-hero{padding:6.5rem 6vw 4.5rem;background:radial-gradient(circle at 84% 18%,rgba(36,190,203,.22),transparent 26%),linear-gradient(140deg,#fbfaf6,#e9f2f5)}
.country-directory-hero h1{max-width:950px}.directory-controls{margin-top:2rem;display:flex;align-items:end;gap:1rem}.directory-controls label{flex:1;max-width:620px}.directory-controls label span{display:block;font-weight:850;margin-bottom:.4rem}.directory-controls input{width:100%;padding:1rem;border:1px solid var(--line);background:#fff;font:inherit}.directory-controls p{margin:0;padding:1rem 1.2rem;background:var(--ink);color:#fff;font-weight:800}.country-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.country-card{position:relative;display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem;background:#fff;border:1px solid var(--line);text-decoration:none;min-height:170px;transition:.2s}.profile-status{position:absolute;top:.85rem;right:.85rem;width:.78rem;height:.78rem;border-radius:50%;background:#18a558;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.16)}.country-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue)}.country-card>span{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--ink);color:#fff;font-weight:900;font-size:.8rem}.country-card h3{font-size:1.5rem;margin:0 0 .35rem}.country-card p{color:var(--muted);margin:0}.country-card>b{grid-column:2;color:var(--blue);margin-top:auto}.country-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center}.country-title{display:flex;align-items:center;gap:1rem}.country-title>span{display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:var(--ink);color:#fff;font-weight:900}.country-title h1{margin:0;font-size:clamp(2.35rem,4.7vw,4.7rem)}.country-snapshot{background:#fff;padding:1.5rem;border:1px solid var(--line);box-shadow:var(--shadow)}.country-snapshot>b{display:block;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.country-snapshot dl{display:grid;grid-template-columns:1fr 1fr;margin:1rem 0}.country-snapshot dl div{padding:1rem;border:1px solid var(--line);margin:-1px 0 0 -1px}.country-snapshot dt{color:var(--muted);font-size:.78rem}.country-snapshot dd{margin:.2rem 0 0;font:2.2rem/1 Georgia,serif}.country-snapshot small{color:var(--muted)}.profile-intro,.profile-method .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.profile-intro p,.profile-method p{font-size:1.08rem;color:var(--muted)}.profile-patterns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.profile-patterns article{background:#fff;padding:1.4rem;border-top:5px solid var(--blue)}.profile-patterns ol{list-style:none;padding:0;margin:0}.profile-patterns li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line)}.profile-patterns li b{color:var(--orange)}.profile-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.profile-principles article{padding:1.2rem;background:var(--ink);color:#fff;border-top:5px solid var(--cyan)}.profile-principles b{color:var(--gold)}.profile-principles p{color:#cfdbed;margin:.4rem 0 0}.country-projects{display:grid;gap:1rem}.country-project{background:#fff;border:1px solid var(--line);padding:1.4rem}.country-project>header{display:grid;grid-template-columns:3rem 1fr;gap:1rem}.country-project>header>span{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}.country-project header p{margin:0;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:850}.country-project h3{margin:.2rem 0 .8rem;font-size:clamp(1.4rem,2.2vw,2rem)}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0}.project-facts span{padding:.8rem;background:var(--mist);font-size:.9rem}.project-facts b{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.project-contribution{font-size:1.08rem}.profile-tags,.learning-links{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.profile-tags span,.learning-links span{padding:.35rem .6rem;border-radius:99px;background:#e8effc;color:var(--navy);font-size:.78rem;font-weight:750}.learning-links span{background:#e0f3ef;color:#075c5f}.country-project footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.country-project footer a{color:var(--blue);font-weight:800}.profile-empty{padding:2rem;background:#fff;border:1px solid var(--line)}.profile-method{background:var(--ink);color:#fff}.profile-method p{color:#cfdbed}
@media(max-width:950px){.country-directory{grid-template-columns:1fr 1fr}.country-hero .wrap,.profile-intro,.profile-method .wrap{grid-template-columns:1fr}.profile-patterns,.profile-principles{grid-template-columns:1fr 1fr}.project-facts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.country-directory,.profile-patterns,.profile-principles,.project-facts{grid-template-columns:1fr}.directory-controls,.country-project footer{display:block}.directory-controls p{margin-top:.7rem}.country-title{align-items:flex-start}.country-title>span{width:3.5rem;height:3.5rem;flex:0 0 auto}.country-title h1{font-size:3.3rem;overflow-wrap:anywhere}.country-project>header{grid-template-columns:1fr}}
.location-section{padding-top:2.2rem;padding-bottom:2.2rem;background:var(--ink)}.country-location{margin:0;display:grid;grid-template-columns:.32fr .68fr;gap:2rem;align-items:center;color:#fff}.location-copy h2{font-size:clamp(1.6rem,3.35vw,3.35rem);margin:.2rem 0}.location-copy p:last-child{color:#c9d6e7}.map-frame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.24);background:#dce9ef;box-shadow:0 20px 45px rgba(0,0,0,.25)}.map-frame img{display:block;width:100%;height:auto;opacity:.88}.map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.45rem;z-index:2}.map-marker i{display:block;width:1.15rem;height:1.15rem;border:.22rem solid #fff;border-radius:50%;background:var(--orange);box-shadow:0 0 0 .45rem rgba(230,92,52,.28)}.map-marker b{padding:.3rem .55rem;background:rgba(11,26,48,.9);color:#fff;font-size:.78rem;white-space:nowrap}.country-location figcaption{grid-column:2;color:#aebcd0;font-size:.75rem;margin-top:-1.25rem}.supplied-context{background:#fff}.profile-lead{max-width:980px;font:1.35rem/1.65 Georgia,serif;color:var(--ink)}.context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.context-grid article{padding:1.4rem;background:var(--mist);border-top:5px solid var(--cyan)}.context-grid h3{margin-top:0}.context-grid p{color:var(--muted)}.profile-references{background:#eef3f6}.profile-references ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.profile-references li{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}.profile-references a{font-weight:800;color:var(--blue);white-space:nowrap}
@media(max-width:950px){.country-location{grid-template-columns:1fr}.country-location figcaption{grid-column:1;margin-top:-1rem}.context-grid{grid-template-columns:1fr}}
@media(max-width:620px){.map-marker b{display:none}.profile-references li{grid-template-columns:1fr}.profile-references a{white-space:normal}}
.country-project footer{margin:1rem -1.4rem -1.4rem;padding:1rem 1.4rem;background:var(--ink);color:#fff;border-top:0}.country-project footer cite,.country-project footer span{color:#fff}.country-project footer a{color:#fff;text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:2px;text-underline-offset:.22rem}.country-project footer a:hover{color:var(--gold)}
.narrative-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2.5rem;padding:1rem;background:var(--ink)}.narrative-nav a{padding:.55rem .75rem;border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:.85rem;font-weight:750}.narrative-nav a:hover{background:var(--blue);border-color:var(--blue)}.narrative-sections{border-top:1px solid var(--line)}.narrative-section{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr);gap:4vw;padding:2.5rem 0;border-bottom:1px solid var(--line);scroll-margin-top:5rem}.narrative-heading{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;align-items:start}.narrative-heading span{display:grid;place-items:center;width:2.6rem;height:2.6rem;background:var(--blue);color:#fff;font-weight:900}.narrative-heading h3{margin:0;font-size:clamp(1.5rem,2.4vw,2.2rem)}.narrative-copy p{font-size:1.05rem;line-height:1.78;color:var(--muted);margin:0 0 1.15rem}.narrative-copy p:first-child{font-size:1.18rem;color:var(--ink)}
@media(max-width:780px){.narrative-section{grid-template-columns:1fr;gap:1.3rem}.narrative-nav{display:grid}.narrative-nav a{font-size:.9rem}}
.country-hero{padding:5rem 6vw 3.25rem}.country-hero~.section{padding-top:3.25rem;padding-bottom:3.25rem}.country-hero~.location-section{padding-top:1.5rem;padding-bottom:1.5rem}.profile-intro{gap:3.5vw}.profile-patterns article,.profile-principles article{padding:1rem}.narrative-nav{margin:1rem 0 1.5rem;padding:.7rem}.narrative-section{padding:1.65rem 0}.narrative-copy p{margin-bottom:.8rem;line-height:1.68}.country-projects{gap:.55rem}.country-project{padding:0;overflow:hidden;border-color:#cbd5df}.country-project summary{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.85rem 1rem;cursor:pointer;list-style:none;background:#fff}.country-project summary::-webkit-details-marker{display:none}.country-project summary:hover{background:#f1f6f8}.country-project summary>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;font-size:.78rem}.country-project summary p{margin:0;color:var(--orange);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:850}.country-project summary h3{margin:.12rem 0;font-size:1.16rem}.country-project summary small{display:block;color:var(--muted);font-size:.78rem}.project-toggle{padding:.42rem .65rem;border:1px solid var(--line);color:var(--blue);font-size:.76rem;white-space:nowrap}.country-project[open] summary{background:var(--mist);border-bottom:1px solid var(--line)}.project-detail{padding:1rem 1.2rem 1.2rem}.project-detail .project-facts{margin:.25rem 0 .85rem}.project-detail>p{margin:.7rem 0}.project-detail footer{margin:1rem -1.2rem -1.2rem}.project-view-controls{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:0 0 .75rem;padding:.7rem .85rem;background:var(--ink);color:#fff}.project-view-controls span{font-size:.86rem}.project-view-controls div{display:flex;gap:.45rem}.project-view-controls button{padding:.45rem .7rem;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.project-view-controls button:hover{background:var(--blue);border-color:var(--blue)}
@media(max-width:700px){.country-hero{padding-top:4.5rem}.country-hero~.section{padding-top:2.5rem;padding-bottom:2.5rem}.country-project summary{grid-template-columns:2.35rem minmax(0,1fr)}.project-toggle{grid-column:2;justify-self:start}.project-view-controls{align-items:flex-start;flex-direction:column}.project-facts{grid-template-columns:1fr}}
.map-stats{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;z-index:3;display:grid;grid-template-columns:3.7rem 1fr;gap:.8rem;align-items:center;padding:.65rem .8rem;background:rgba(11,26,48,.92);color:#fff;backdrop-filter:blur(6px);box-shadow:0 10px 24px rgba(0,0,0,.2)}.country-flag{display:grid;place-items:center;font-size:2.75rem;line-height:1}.map-stats dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}.map-stats dl div{min-width:0;padding-left:.6rem;border-left:1px solid rgba(255,255,255,.25)}.map-stats dt{color:#b9c9dc;font-size:.62rem;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}.map-stats dd{margin:.15rem 0 0;color:#fff;font-size:.82rem;font-weight:850;line-height:1.25}.map-marker{z-index:4}.country-location figcaption a{color:#fff;text-underline-offset:.15rem}
@media(max-width:760px){.map-stats{grid-template-columns:2.8rem 1fr}.country-flag{font-size:2.1rem}.map-stats dl{grid-template-columns:1fr 1fr;row-gap:.45rem}.map-stats dt{font-size:.58rem}.map-stats dd{font-size:.72rem}}
.location-country-flag{width:8.5rem;height:5.4rem;margin:.8rem 0;padding:.3rem;background:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 20px rgba(0,0,0,.22)}.location-country-flag img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:620px){.location-country-flag{width:7.25rem;height:4.65rem}}
.profile-intro h2,.section-head h2,.profile-method h2{font-size:clamp(1.4rem,2.25vw,2.35rem)}
.narrative-copy h4{margin:1.35rem 0 .55rem;font-size:1.08rem;color:var(--ink)}
.narrative-copy ul,.narrative-copy ol{margin:.65rem 0 1.1rem;padding-left:1.3rem;color:var(--muted)}
.narrative-copy li{margin:.35rem 0;line-height:1.62}
.document-table-wrap{width:100%;overflow-x:auto;margin:1rem 0 1.4rem;border:1px solid var(--line);background:#fff}
.document-table-wrap table{width:100%;border-collapse:collapse;min-width:640px;font-size:.86rem}
.document-table-wrap th,.document-table-wrap td{padding:.7rem .75rem;border:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}
.document-table-wrap th{background:var(--ink);color:#fff;font-weight:800}
.document-table-wrap tr:nth-child(even) td{background:#f5f8fa}
.narrative-copy blockquote{margin:1rem 0;padding:.8rem 1rem;border-left:4px solid var(--orange);background:var(--mist)}

/* Persistent country-to-country navigation */
.country-profile-rail{position:fixed;inset:50% 0 auto;z-index:24;pointer-events:none}
.country-profile-step,.country-profile-world{pointer-events:auto;position:absolute;display:flex;align-items:center;background:rgba(8,21,47,.96);color:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(8,21,47,.24);backdrop-filter:blur(8px)}
.country-profile-step{top:0;min-height:86px;max-width:190px;padding:.8rem;transform:translateY(-50%);border:1px solid rgba(255,255,255,.24)}
.country-profile-step.prev{left:0;border-radius:0 .8rem .8rem 0}
.country-profile-step.next{right:0;flex-direction:row-reverse;text-align:right;border-radius:.8rem 0 0 .8rem}
.country-profile-step .arrow{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:var(--gold);color:var(--ink);font-size:1.25rem;font-weight:900}
.country-profile-step .country-step-copy{display:grid;gap:.1rem;padding:0 .55rem}
.country-profile-step small{color:#9fdde1;font-size:.64rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.country-profile-step b{font-size:.78rem;line-height:1.2}
.country-profile-step:hover,.country-profile-step:focus-visible,.country-profile-world:hover,.country-profile-world:focus-visible{background:var(--blue);outline:3px solid #fff;outline-offset:-3px}
.country-profile-world{right:1.1rem;bottom:calc(-50vh + 1.1rem);width:68px;height:68px;justify-content:center;border:3px solid #fff;border-radius:50%;background:#126d80}
.country-profile-world svg{width:42px;height:42px;fill:none;stroke:#fff;stroke-width:1.55}
.country-profile-world span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:1180px){.country-profile-step{max-width:54px;min-height:70px;padding:.6rem}.country-profile-step .country-step-copy{display:none}.country-profile-world{width:58px;height:58px}.country-profile-world svg{width:34px;height:34px}}
@media(max-width:620px){.country-profile-rail{inset:auto 0 1rem;display:flex;justify-content:center;gap:.55rem}.country-profile-step,.country-profile-world{position:static;transform:none;width:54px;height:54px;min-height:0;border-radius:50%;justify-content:center}.country-profile-step.prev,.country-profile-step.next{border-radius:50%}.country-profile-world{border-width:2px}.country-profile-world svg{width:31px;height:31px}}
@media print{.country-profile-rail{display:none!important}}

/* Completed-profile marker: explicit box rendering and high-contrast stacking. */
.country-card h3 .profile-status{position:static;display:inline-block;width:.9rem;height:.9rem;margin-left:.45rem;border-radius:50%;background:#0b9f4d;border:2px solid #fff;box-shadow:0 0 0 2px #08783b,0 2px 4px rgba(0,0,0,.22);vertical-align:.08em}

/* Country directory visual treatment */
.country-directory-hero{position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(251,250,246,.97),rgba(233,242,245,.9)),url('/assets/world-map-base.png');background-position:center;background-size:cover}
.profile-directory-key{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin-top:1rem;color:var(--muted);font-size:.86rem;font-weight:700}
.profile-directory-key span{display:flex;align-items:center;gap:.45rem}
.profile-directory-key .profile-status{position:static;display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:#0b9f4d;border:2px solid #fff;box-shadow:0 0 0 2px #08783b}
.country-card{grid-template-columns:4.8rem minmax(0,1fr);overflow:hidden;border-top:5px solid var(--blue);box-shadow:0 8px 20px rgba(11,26,48,.08)}
.country-card[data-region="Africa"]{border-top-color:#d98025}.country-card[data-region="Asia"]{border-top-color:#c84d55}.country-card[data-region="Europe"]{border-top-color:#316bb4}.country-card[data-region="North America"]{border-top-color:#168c79}.country-card[data-region="South America"]{border-top-color:#7852a9}.country-card[data-region="Oceania"]{border-top-color:#1686a0}
.country-card>.country-card-visual{position:relative;display:block;width:4.8rem;height:3.3rem;border-radius:.25rem;background:#eef3f6;border:1px solid #cbd5df;box-shadow:0 5px 12px rgba(11,26,48,.16)}
.country-card-visual img{display:block;width:100%;height:100%;object-fit:cover;border-radius:.2rem}
.country-card-visual em{position:absolute;right:-.35rem;bottom:-.45rem;display:grid;place-items:center;min-width:2rem;height:1.45rem;padding:0 .3rem;border-radius:99px;background:var(--ink);color:#fff;border:2px solid #fff;font-style:normal;font-size:.65rem;font-weight:900;letter-spacing:.05em}
.country-card h3{line-height:1.1}.country-card>b{grid-column:2;display:inline-flex;align-items:center;gap:.35rem}
.country-card:hover .country-card-visual{transform:rotate(-1deg) scale(1.04);transition:transform .2s ease}
@media(max-width:620px){.country-card{grid-template-columns:4.4rem minmax(0,1fr)}.country-card>.country-card-visual{width:4.4rem;height:3rem}.profile-directory-key{display:grid}}

/* Completed-profile marker sits directly below the country-code badge. */
.country-card-visual>.profile-status{position:absolute;top:auto;left:auto;right:-1.05rem;bottom:-1.45rem;display:block;width:.72rem;height:.72rem;border-radius:50%;background:#0b9f4d;border:2px solid #fff;box-shadow:0 0 0 1px #08783b,0 2px 4px rgba(0,0,0,.22);z-index:2}
.profile-sources-section{padding-top:2rem!important;padding-bottom:2rem!important;background:#e7f0f5}.profile-sources{border:1px solid #aebfcd;background:#fff}.profile-sources summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem;cursor:pointer;list-style:none}.profile-sources summary::-webkit-details-marker{display:none}.profile-sources summary span{display:grid;gap:.12rem}.profile-sources summary small{color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.profile-sources summary strong{font:clamp(1.45rem,2.2vw,2rem)/1.1 Georgia,serif}.profile-sources summary>b{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--ink);color:#fff;font-size:1.4rem;transition:transform .2s}.profile-sources[open] summary>b{transform:rotate(45deg)}.profile-sources-body{padding:0 1.4rem 1.4rem;border-top:1px solid var(--line)}.profile-sources-body>p{max-width:850px;margin:1rem 0;color:var(--muted)}.profile-sources-body ol{margin:0;padding-left:1.4rem}.profile-sources-body li{margin:.8rem 0;padding-left:.35rem;line-height:1.6}.profile-sources-body a{color:var(--blue);overflow-wrap:anywhere;text-underline-offset:.15rem}
