/* JSA Consulting Group — independent, framework-free design system */
:root {
  --pine: #152a27;
  --pine-deep: #0e211f;
  --pine-mid: #24463d;
  --mist: #f3f4ee;
  --paper: #fafaf6;
  --white: #ffffff;
  --ink: #172722;
  --text: #3d5047;
  --muted: #718077;
  --line: #dde3d9;
  --lime: #d7e6a3;
  --sage: #adc7ab;
  --gold: #d6b787;
  --serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
  --sans: Inter, 'Helvetica Neue', Arial, sans-serif;
  --container: 1220px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 102px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; line-height: 1.58; }
body.menu-open { overflow: hidden; }
::selection { background: var(--lime); color: var(--pine); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #8dbf8f; outline-offset: 4px; }
img, svg { max-width: 100%; }
.container { width: min(var(--container), calc(100% - 88px)); margin-inline: auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; z-index: 400; left: 16px; top: -80px; background: #fff; color: #111; padding: 10px 15px; }
.skip-link:focus { top: 14px; }
.eyebrow { display: flex; align-items: center; gap: 11px; text-transform: uppercase; letter-spacing: .17em; font-size: 10px; line-height: 1.5; font-weight: 800; }
.eyebrow::before { content:''; flex: 0 0 auto; width: 21px; height: 1px; background: currentColor; }
.eyebrow:not(.eyebrow-light) { color: #60786b; }
.eyebrow-light { color: var(--lime); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 51px; padding: 12px 19px 12px 23px; border: 1px solid transparent; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .015em; white-space: nowrap; transition: transform .23s ease, background .23s ease, border-color .23s ease, color .23s ease; }
.btn:hover { transform: translateY(-2px); }
.btn svg, .arrow-link svg, .header-contact svg { width: 16px; height: 16px; flex: 0 0 auto; transition: transform .23s ease; }
.btn:hover svg, .arrow-link:hover svg, .header-contact:hover svg { transform: translate(3px, -3px); }
.btn-lime { color: var(--pine-deep); background: var(--lime); }
.btn-lime:hover { background: #e7f1c0; }
.btn-dark { color: #fff; background: var(--pine); }
.btn-dark:hover { background: #2a5144; }
.btn-outline-light { color: #fff; border-color: rgba(255,255,255,.34); }
.btn-outline-light:hover { background: rgba(255,255,255,.08); border-color: #fff; }
.btn-outline-dark { color: var(--pine); border-color: #b8c8ba; }
.btn-outline-dark:hover { border-color: var(--pine); background:#e4e9dd; }
.arrow-link { display:inline-flex; align-items: center; gap: 20px; font-size: 12px; font-weight: 700; color: var(--pine); letter-spacing: .015em; }
.arrow-link::after { content:''; position: relative; display:block; width:18px; height:1px; background:currentColor; order:1; }
.arrow-link svg { order:2; }
.section { padding: 115px 0; }
.section-heading { max-width: 725px; }
.section-heading h2, .statement h2, .approach-copy h2, .founder-copy h2, .contact-copy h2, .article-header h1, .privacy-head h1 { font-family: var(--serif); font-weight: 400; letter-spacing:-.055em; line-height:1.08; }
.section-heading h2 { font-size: clamp(42px, 4.5vw, 65px); margin:22px 0 18px; }
.section-heading p { font-size:15px; color:#607168; max-width:580px; line-height:1.8; margin: 0; }
/* Header */
.site-header { position: sticky; top:0; z-index:120; background: rgba(250,250,246,.96); backdrop-filter: blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom: 1px solid rgba(25,56,43,.105); }
.nav-wrap { display:flex; align-items:center; gap:38px; min-height:89px; }
.logo { display:inline-flex; gap:13px; flex:0 0 auto; align-items:center; line-height:1; }
.logo-box { display:flex; align-items:center; justify-content:center; position:relative; width:47px; height:47px; color: var(--paper); background:var(--pine); border-radius: 2px; font-weight:800; font-size:17px; letter-spacing:-.1em; padding-right:2px; }
.logo-box::after { content:''; width: 7px; height:7px; background:var(--lime); position:absolute; right:-3px; top:-3px; }
.logo-name { display:block; font-weight: 800; font-size: 13px; letter-spacing:.045em; }
.logo-sub { display:block; margin-top:4px; color:#6d7b72; text-transform: uppercase; font-size: 8.5px; letter-spacing:.21em; font-weight:700; }
.desktop-nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.desktop-nav a { font-size:11px; font-weight:700; color:#33483c; transition:color .2s; white-space:nowrap; }
.desktop-nav a:hover, .desktop-nav a.active { color:#639363; }
.nav-actions { display:flex; align-items:center; gap:20px; }
.lang-switch { display:flex; align-items:center; gap:6px; font-size:10px; font-weight:800; letter-spacing:.08em; }
.lang-switch a { color:#7a887e; padding:5px 4px; }
.lang-switch a[aria-current='page'] { color:var(--pine); }
.lang-switch .lang-sep { color:#b3bcb2; }
.header-contact { display:flex; align-items:center; gap:13px; padding:12px 15px; border:1px solid #becabd; border-radius:3px; font-size:11px; font-weight:750; transition:background .2s; }
.header-contact:hover { background:#e8eddf; }
.menu-button { display:none; align-items:center; justify-content:center; flex-direction:column; gap:5px; background:none; border:0; width:40px; height:40px; padding:8px; }
.menu-button span { width:24px; height:2px; border-radius:2px; background:var(--pine); transition:transform .2s, opacity .2s; }
.menu-button[aria-expanded='true'] span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-button[aria-expanded='true'] span:nth-child(2) { opacity:0; }
.menu-button[aria-expanded='true'] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { display:none; }
/* Hero */
.hero { position:relative; overflow:hidden; min-height:715px; background:var(--pine-deep); color:#fff; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; opacity:.44; z-index:-1; background:radial-gradient(circle at 82% 43%, #39634b 0, transparent 39%), linear-gradient(110deg,#0e211f 13%,#102823 60%,#1a3b32 100%); }
.hero::after { content:''; position:absolute; inset:0; opacity:.23; z-index:-1; background-image:linear-gradient(rgba(197,231,194,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(197,231,194,.075) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(90deg,transparent 38%,#000 100%); }
.hero-layout { min-height:675px; display:grid; grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr); gap:26px; align-items:center; padding:80px 0 80px; }
.hero-content { position:relative; z-index:3; padding-bottom:8px; }
.hero-kicker { margin-bottom:29px; }
.hero h1 { max-width:735px; font-family:var(--serif); font-weight:400; font-size: clamp(68px,6.8vw,102px); line-height:.99; letter-spacing:-.075em; margin:0 0 30px; }
.hero h1 em { color:var(--lime); font-weight:400; }
.hero p { color:#b5cac0; font-size:15px; max-width:480px; margin:0 0 38px; line-height:1.85; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.hero-visual { position:relative; height:550px; display:flex; align-items:center; justify-content:center; margin-right:-50px; }
.orbit-graphic { width:min(100%,560px); height:auto; overflow:visible; filter: drop-shadow(0 14px 35px rgba(0,0,0,.17)); }
.orbit-spin { transform-origin:260px 260px; animation:orbit 75s linear infinite; }
.orbit-counterspin { transform-origin:260px 260px; animation:orbitBack 95s linear infinite; }
.orbit-center-card { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:1px solid rgba(203,228,196,.28); border-radius:50%; width:219px; height:219px; background:radial-gradient(circle,#17372f 0%,#132e29 80%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow: 0 10px 42px rgba(0,0,0,.15); }
.orbit-center-card small { text-transform:uppercase; font-weight:700; letter-spacing:.21em; color:#b5c9b7; font-size:9px; margin-bottom:18px; }
.orbit-center-card strong { font-size:23px; line-height:1.35; font-weight:500; letter-spacing:-.035em; }
.orbit-center-card strong span { color:var(--lime); }
.orbit-center-card .mini-dot { margin-top:16px; width:5px; height:5px; background:var(--lime); border-radius:50%; }
.orbit-tag { position:absolute; background:#213d34; color:#e1ecdf; border:1px solid #42614b; padding:10px 15px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; box-shadow:0 14px 30px rgba(1,13,13,.25); border-radius:2px; }
.orbit-tag.tag-a { top:83px; right:45px; }
.orbit-tag.tag-b { left:20px; bottom:136px; }
.orbit-tag.tag-c { right:-5px; bottom:65px; }
.hero-rail { position:relative; z-index:4; border-top:1px solid rgba(222,234,216,.16); }
.hero-rail .container { display:flex; align-items:center; }
.hero-rail-item { flex:1; padding:20px 12px 21px 0; display:flex; align-items:center; gap:12px; min-height:82px; }
.hero-rail-item + .hero-rail-item { border-left:1px solid rgba(222,234,216,.16); padding-left:30px; }
.hero-rail-num { font-size:11px; font-weight:700; color:var(--lime); }
.hero-rail-text { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#c8d8cd; }
/* Intro / statement */
.statement { padding:113px 0 118px; border-bottom:1px solid var(--line); }
.statement-grid { display:grid; grid-template-columns:1fr 2.25fr; gap:70px; align-items:start; }
.statement h2 { font-size: clamp(39px,4.1vw,61px); margin:-10px 0 0; max-width:920px; }
.statement h2 em { font-weight:400; color:#778e77; }
.statement-note { display:flex; gap:20px; margin-top:32px; max-width:725px; align-items:flex-start; }
.statement-note i { margin-top:13px; width:32px; height:1px; background:#bdc9bd; flex:none; }
.statement-note p { margin:0; font-size:14px; line-height:1.8; color:#6d7d72; }
/* Services */
.services { background:var(--mist); }
.services-top { display:flex; align-items:end; justify-content:space-between; gap:34px; margin-bottom:46px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { background:#fff; min-height:475px; padding:30px 30px 27px; border:1px solid #e3e8df; display:flex; flex-direction:column; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 20px 55px rgba(24,55,38,.065); border-color:#bacbb9; }
.service-card-top { display:flex; justify-content:space-between; align-items:start; }
.service-number { color:#819383; font-weight:700; font-size:11px; letter-spacing:.14em; }
.service-icon { width:54px; height:54px; border:1px solid #dce6d9; border-radius:50%; display:flex; justify-content:center; align-items:center; background:#f3f7ed; }
.service-icon svg { width:26px; height:26px; stroke:#3a6853; }
.service-card h3 { font-family:var(--serif); font-size:29px; font-weight:400; letter-spacing:-.044em; line-height:1.19; margin:37px 0 17px; min-height:70px; }
.service-card p { font-size:12px; line-height:1.78; color:#6a786e; margin:0 0 22px; }
.service-card ul { padding:0; margin:0 0 26px; list-style:none; }
.service-card li { padding:8px 0 8px 15px; position:relative; font-size:11.5px; line-height:1.5; border-bottom:1px solid #edf0e9; color:#384b41; }
.service-card li::before { content:''; width:5px; height:5px; position:absolute; top:15px; left:0; background:#a8c4a0; border-radius:50%; }
.service-card .service-cta { margin-top:auto; padding-top:15px; }
/* Approach */
.approach { background:var(--pine); color:#fff; padding:120px 0; position:relative; overflow:hidden; }
.approach::after { content:''; width:650px; height:650px; border:1px solid rgba(218,228,198,.08); border-radius:50%; position:absolute; left:-390px; bottom:-310px; box-shadow: 0 0 0 120px rgba(205,233,180,.02), 0 0 0 250px rgba(205,233,180,.018); pointer-events:none; }
.approach-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:100px; position:relative; z-index:2; }
.approach-copy { padding-top:12px; }
.approach-copy h2 { max-width:430px; font-size: clamp(47px,5vw,72px); margin:25px 0 28px; }
.approach-copy h2 em { color:var(--lime); }
.approach-copy p { max-width:430px; color:#b5c9bf; font-size:14px; line-height:1.9; }
.approach-list { border-top:1px solid rgba(231,239,220,.2); }
.approach-step { border-bottom:1px solid rgba(231,239,220,.2); display:grid; grid-template-columns:47px 1fr; gap:25px; padding:25px 0 26px; }
.approach-step-num { color:var(--lime); font-size:12px; font-weight:700; }
.approach-step h3 { font-size:18px; letter-spacing:-.025em; margin:0 0 7px; font-weight:600; }
.approach-step p { margin:0; font-size:12px; line-height:1.75; color:#b4c6b9; max-width:390px; }
/* Experience */
.experience { background:var(--paper); }
.experience .section-heading { margin-bottom:42px; }
.experience-grid { display:grid; grid-template-columns: 1.2fr 1fr 1fr; gap:16px; }
.work-card { min-height:382px; padding:30px; background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; align-items:start; position:relative; overflow:hidden; }
.work-card-feature { background:#e3eadb; border-color:#d7e2cc; }
.work-card-feature::after { content:''; position:absolute; width:270px; height:270px; border:1px solid rgba(75,120,82,.19); border-radius:50%; right:-115px; top:-90px; box-shadow:0 0 0 42px rgba(75,120,82,.055),0 0 0 89px rgba(75,120,82,.05); pointer-events:none; }
.tag { display:inline-flex; align-items:center; border-radius:2px; border:1px solid #c8d3c7; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:7px 9px; color:#48664f; }
.work-region { display:block; color:#7b897d; margin-top:13px; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.work-card h3 { font-family:var(--serif); font-weight:400; font-size:29px; line-height:1.16; letter-spacing:-.045em; margin:45px 0 15px; max-width:280px; }
.work-card p { font-size:12px; color:#66766b; line-height:1.85; margin:0 0 22px; position:relative; }
.work-card .work-bottom { margin-top:auto; z-index:2; }
.work-card .arrow-link { font-size:11px; }
.work-footnote { color:#7b887d; font-size:11px; margin:20px 0 0; }
/* Clients and partners. Marks are never cropped; fallback is shown only in place of a missing image. */
.clients { background:#f5f7f1; }
.clients .section-heading { max-width:790px; }
.client-grid { display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:16px; margin-top:42px; }
.client-card { flex:0 1 calc((100% - 32px)/3); min-width:230px; min-height:188px; background:#fff; border:1px solid var(--line); padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; transition:border .2s, box-shadow .2s, transform .2s; }
.client-card:hover { border-color:#aec3b5; box-shadow:0 15px 32px rgba(13,52,35,.055); transform:translateY(-2px); }
.client-card:focus-visible { outline:3px solid #50836b; outline-offset:3px; }
.client-logo-box { width:100%; height:102px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.client-logo-box img { opacity:0; max-width:100%; max-height:88px; width:auto; height:auto; object-fit:contain; display:block; }
.client-logo-box.is-loaded img { opacity:1; }
.client-logo-box.is-loaded .client-logo-fallback { display:none; }
.client-logo-box.is-error img { display:none; }
.client-logo-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#f4f7f3; }
.client-fallback-mark { font-size:clamp(19px,2vw,26px); line-height:1.15; font-weight:690; letter-spacing:-.015em; color:#496454; text-align:center; padding:0 10px; }
.client-logo-box:not(.is-loaded) + .client-caption { display:none; }
.client-caption { display:flex; align-items:center; justify-content:center; min-height:33px; text-align:center; font-size:12px; font-weight:650; line-height:1.5; letter-spacing:.006em; color:#314c3d; }
.client-card--undp .client-logo-box img { max-height:98px; max-width:70px; }
.client-card--gac .client-logo-box img { max-height:76px; }
.client-card--unicef .client-logo-box img { max-height:76px; }
.client-card--unfpa .client-logo-box img { max-height:76px; }
.client-card--collective-impact .client-logo-box img { max-height:80px; }
.clients-note { color:#748477; font-size:11px; line-height:1.8; margin:20px 0 0; max-width:950px; }
.partner-divider { border-top:1px solid #d3ded5; margin:68px 0 62px; }
.partner-row { display:grid; grid-template-columns:1.2fr .8fr; gap:55px; align-items:center; }
.partner-copy h3 { font:400 clamp(35px,3.8vw,54px)/1.1 var(--serif); letter-spacing:-.052em; margin:20px 0 19px; max-width:550px; }
.partner-copy>p:not(.clients-note) { color:#586e61; font-size:14px; line-height:1.78; margin:0; max-width:530px; }
.partner-copy .clients-note { max-width:540px; }
.partner-logo-grid .client-card { flex:0 1 calc((100% - 32px)/3); min-width:230px; min-height:188px; }
.partner-logo-grid .client-logo-box { min-height:102px; }
/* Founder */
.founder { background:#eff2e9; padding:0; overflow:hidden; }
.founder-wrap { display:grid; grid-template-columns:.97fr 1.03fr; min-height:630px; }
.founder-visual { background:#264238; position:relative; overflow:hidden; min-height:630px; display:flex; flex-direction:column; justify-content:space-between; padding:60px; color:#dce8d5; }
.founder-visual::before { content:''; position:absolute; width:730px; height:730px; border:1px solid rgba(211,232,197,.23); border-radius:50%; left:-235px; top:-240px; box-shadow: 0 0 0 70px rgba(223,232,207,.036),0 0 0 148px rgba(223,232,207,.028),0 0 0 227px rgba(223,232,207,.023); }
.founder-visual::after { content:''; position:absolute; width:300px; height:500px; background:linear-gradient(180deg,rgba(207,233,172,.0),rgba(207,233,172,.07)); transform:rotate(-26deg); right:-150px; top:-120px; }
.founder-visual-top { position:relative; z-index:1; font-size:11px; text-transform:uppercase; font-weight:700; letter-spacing:.16em; }
.founder-mark { position:relative; z-index:1; font-size:clamp(122px,15vw,210px); line-height:.8; font-weight:750; letter-spacing:-.15em; margin-left:-17px; color:rgba(219,237,210,.9); }
.founder-visual-bottom { display:flex; justify-content:space-between; gap:18px; align-items:end; position:relative; z-index:1; }
.founder-visual-bottom span:first-child { color:#c9d9ca; font-size:12px; line-height:1.75; max-width:270px; }
.founder-symbol { width:50px; height:50px; border:1px solid #8da893; display:grid; place-items:center; border-radius:50%; font-family:var(--serif); font-size:26px; }
.founder-copy { padding:95px min(8vw,100px) 90px 85px; align-self:center; }
.founder-copy h2 { font-size:clamp(45px,4.5vw,65px); margin:20px 0 14px; }
.founder-role { text-transform:uppercase; color:#77917a; font-size:10px; letter-spacing:.14em; font-weight:800; }
.founder-copy p { color:#596c60; font-size:13px; line-height:1.88; max-width:480px; margin:22px 0 0; }
.founder-credentials { border-top:1px solid #cfd9ca; border-bottom:1px solid #cfd9ca; margin:28px 0 26px; padding:19px 0; display:flex; gap:18px; }
.credential { font-size:11px; color:#445c48; line-height:1.7; flex:1; }
.credential + .credential { border-left:1px solid #ced7c9; padding-left:18px; }
/* Insights */
.insights { background:var(--paper); }
.insights-top { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:45px; }
.insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.insight-card { min-height:393px; background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; overflow:hidden; transition: box-shadow .25s ease, transform .25s ease; }
.insight-card:hover { box-shadow:0 20px 45px rgba(20,50,29,.065); transform:translateY(-4px); }
.insight-art { height:151px; background:#e6eadd; position:relative; overflow:hidden; }
.insight-art::before, .insight-art::after { content:''; position:absolute; border:1px solid rgba(42,90,64,.31); border-radius:50%; }
.art-one::before { width:310px; height:310px; left:-90px; top:-170px; }
.art-one::after { width:240px; height:240px; left:10px; top:-130px; }
.art-two { background:#26483d; }
.art-two::before { width:450px; height:135px; border-color:#b1cfad; border-radius:60% 40% 60% 40%; transform:rotate(-35deg); top:25px; left:-30px; }
.art-two::after { width:420px; height:135px; border-color:#7ca390; border-radius:60% 40% 60% 40%; transform:rotate(-35deg); top:64px; left:45px; }
.art-three { background:#e9e0d0; }
.art-three::before { width:170px; height:170px; top:22px; left:45px; border-color:#bc9672; }
.art-three::after { width:360px; height:360px; top:-132px; right:-120px; border-color:#bda486; }
.art-index { position:absolute; bottom:14px; left:24px; z-index:2; font-size:11px; letter-spacing:.11em; font-weight:800; color:#32614a; }
.art-two .art-index { color:#d1e6d0; }
.insight-body { padding:26px 26px 28px; flex:1; display:flex; flex-direction:column; }
.insight-meta { text-transform:uppercase; font-size:9px; letter-spacing:.13em; font-weight:800; color:#738476; }
.insight-body h3 { font-family:var(--serif); font-size:27px; line-height:1.21; letter-spacing:-.04em; font-weight:400; margin:18px 0 11px; }
.insight-body p { font-size:12px; color:#6e7c71; line-height:1.75; margin:0 0 22px; }
.insight-body .arrow-link { margin-top:auto; font-size:11px; }
/* Contact */
.contact { background:var(--pine-deep); color:#fff; padding:105px 0 85px; position:relative; overflow:hidden; }
.contact::before { content:''; position:absolute; pointer-events:none; width:640px; height:640px; border:1px solid rgba(255,255,255,.06); border-radius:50%; top:-440px; left:-100px; box-shadow:0 0 0 100px rgba(225,240,207,.026),0 0 0 200px rgba(225,240,207,.022); }
.contact-grid { position:relative; display:grid; grid-template-columns:.92fr 1.08fr; gap:94px; }
.contact-copy h2 { font-size:clamp(51px,5.2vw,75px); margin:26px 0 23px; max-width:460px; }
.contact-copy h2 em { color:var(--lime); }
.contact-copy>p { font-size:14px; line-height:1.85; color:#b6cabc; max-width:380px; }
.contact-links { display:flex; flex-direction:column; margin-top:42px; gap:17px; }
.contact-links a { color:#f1f7e9; font-weight:600; font-size:13px; display:inline-flex; gap:12px; align-items:center; width:fit-content; max-width:100%; overflow-wrap:anywhere; }
.contact-links a span { color:var(--lime); }
.contact-note { color:#8eaa97; font-size:10px; max-width:390px; line-height:1.7; margin-top:29px; }
/* Direct email contact panel - no website enquiry form */
.contact-email-panel { background:var(--pine-mid); border:1px solid rgba(203,223,226,.34); border-radius:4px; padding:43px 44px; align-self:center; }
.contact-email-panel .eyebrow { font-size:10px; }
.contact-email-panel h3 { font-family:var(--serif); font-size:clamp(31px,3vw,43px); font-weight:400; line-height:1.1; letter-spacing:-.045em; margin:26px 0 17px; }
.contact-email-panel > p { font-size:13px; line-height:1.85; color:#dfebf0; max-width:460px; margin:0 0 25px; }
.contact-primary-address { display:inline-block; color:#fff; font-size:clamp(15px,1.45vw,20px); font-weight:600; overflow-wrap:anywhere; text-underline-offset:5px; text-decoration:underline; text-decoration-color:var(--lime); margin-bottom:27px; }
.contact-primary-address:hover { color:var(--lime); }
.contact-email-cta { width:fit-content; max-width:100%; white-space:normal; text-align:center; }
.contact-email-panel .contact-email-note { margin:23px 0 0; color:#d8e5ec; font-size:11px; }
/* Footer */
.site-footer { color:#e2e9db; background:#0b1a18; padding:43px 0 27px; }
.footer-row { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-bottom:37px; border-bottom:1px solid rgba(255,255,255,.13); }
.site-footer .logo-box { background:#cfe2bc; color:#142b26; }
.site-footer .logo-box::after { background:#9fb68d; }
.site-footer .logo-name { color:#fff; }
.site-footer .logo-sub { color:#88a496; }
.footer-nav { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.footer-nav a { color:#a8bdb0; font-size:11px; }
.footer-nav a:hover { color:#fff; }
.footer-email { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 32px; padding:23px 0 0; }
.footer-email span { color:#a1b3c1; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
.footer-email a { color:#fff; font-size:14px; font-weight:600; text-decoration:underline; text-decoration-color:var(--lime); text-underline-offset:5px; overflow-wrap:anywhere; }
.footer-email a:hover { color:var(--lime); }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding-top:27px; }
.footer-bottom p { margin:0; color:#849e8f; font-size:10px; }
.footer-bottom a { color:#b2c7b7; }
/* Articles / privacy */
.article-hero { background:var(--pine); color:#fff; padding:82px 0 83px; position:relative; overflow:hidden; }
.article-hero::after { content:''; width:430px; height:430px; border:1px solid rgba(216,236,203,.14); border-radius:50%; position:absolute; right:-160px; top:-140px; box-shadow:0 0 0 72px rgba(228,242,213,.025),0 0 0 145px rgba(228,242,213,.025); }
.breadcrumb { display:flex; flex-wrap:wrap; gap:11px; color:#c4d7c7; font-size:11px; position:relative; z-index:2; }
.breadcrumb a { color:var(--lime); }
.breadcrumb span { color:#849a8b; }
.article-header { max-width:890px; position:relative; z-index:2; }
.article-header .eyebrow { margin:65px 0 18px; }
.article-header h1 { font-size:clamp(50px,6vw,88px); margin:0 0 24px; }
.article-deck { color:#c2d6c7; max-width:665px; font-size:17px; line-height:1.7; }
.article-meta { color:#a4c0ac; text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:700; margin-top:37px; }
.article-layout { display:grid; grid-template-columns:220px minmax(0,715px); gap:100px; padding:87px 0 105px; }
.article-aside { border-top:2px solid var(--pine); padding-top:23px; }
.article-aside .eyebrow::before { display:none; }
.article-aside .eyebrow { color:#5d7265; margin-bottom:22px; }
.article-aside p { color:#77867a; font-size:12px; line-height:1.7; }
.article-content { font-size:15px; color:#485b50; line-height:1.98; }
.article-content .lead { color:#263f32; font-size:20px; line-height:1.7; font-family:var(--serif); }
.article-content h2 { margin:40px 0 12px; color:var(--pine); font-size:30px; font-family:var(--serif); font-weight:400; letter-spacing:-.035em; line-height:1.25; }
.article-content p { margin:0 0 20px; }
.article-content ul { padding-left:22px; margin:10px 0 29px; }
.article-content li { padding:3px 0; }
.article-cta { background:#e5ecdf; padding:31px; margin-top:49px; }
.article-cta p { margin:9px 0 20px; font-size:13px; }
.article-cta h3 { font-family:var(--serif); font-size:26px; font-weight:400; margin:0; }
.privacy-head { background:#eaf0e6; padding:75px 0; }
.privacy-head h1 { font-size:clamp(48px,6vw,80px); margin:20px 0 12px; }
.privacy-head p { color:#647c68; max-width:600px; }
.privacy-content { max-width:760px; padding:78px 0 95px; }
.privacy-content h2 { font-family:var(--serif); font-size:26px; font-weight:400; margin:32px 0 8px; }
.privacy-content p { color:#53665a; font-size:14px; line-height:1.88; }
@keyframes orbit { to { transform:rotate(360deg); } }
@keyframes orbitBack { to { transform:rotate(-360deg); } }
/* Animation is progressive enhancement only */
.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.js .reveal.in-view { opacity:1; transform:translateY(0); }
/* Responsive */
@media (max-width:1200px) {
  .desktop-nav { gap:16px; }
  .nav-wrap { gap:23px; }
  .header-contact { padding:10px; }
  .hero-visual { margin-right:-20px; }
  .approach-layout { gap:60px; }
  .founder-copy { padding-left:62px; padding-right:48px; }
  .contact-grid { gap:52px; }
}
@media (max-width:1030px) {
  .container { width:min(var(--container),calc(100% - 54px)); }
  .desktop-nav, .header-contact { display:none; }
  .nav-wrap { min-height:76px; }
  .nav-actions { margin-left:auto; }
  .menu-button { display:flex; }
  .mobile-menu { display:block; position:fixed; left:0; right:0; top:100%; background:#f8f9f4; border-bottom:1px solid #ccd9cb; box-shadow:0 25px 35px rgba(20,55,28,.08); padding:18px 27px 30px; transform:translateY(-13px); opacity:0; visibility:hidden; pointer-events:none; transition:transform .2s,opacity .2s,visibility .2s; max-height:calc(100vh - 76px); overflow:auto; }
  .mobile-menu.open { visibility:visible; pointer-events:auto; transform:translateY(0); opacity:1; }
  .mobile-menu a { display:block; font-size:20px; font-family:var(--serif); padding:12px 0; border-bottom:1px solid #e0e5d9; }
  .mobile-menu .mobile-cta { margin-top:18px; padding:14px 19px; background:var(--pine); color:#fff; font-family:var(--sans); font-size:12px; display:flex; justify-content:space-between; align-items:center; }
  .hero h1 { font-size:clamp(58px,7vw,84px); }
  .hero-visual { margin-right:-35px; }
  .service-card { padding:23px; }
  .service-card h3 { font-size:26px; }
  .experience-grid { grid-template-columns:repeat(3,1fr); }
  .work-card { padding:22px; }
  .work-card h3 { font-size:26px; }
}
@media (max-width:800px) {
  .section { padding:84px 0; }
  .hero { min-height:0; }
  .hero-layout { grid-template-columns:1fr; padding:76px 0 25px; gap:3px; min-height:auto; }
  .hero-content { max-width:650px; }
  .hero h1 { max-width:640px; font-size:clamp(58px,9vw,88px); }
  .hero-visual { height:340px; width:450px; max-width:100%; margin:0 auto; opacity:.82; }
  .orbit-graphic { width:360px; }
  .orbit-center-card { width:145px; height:145px; }
  .orbit-center-card small { font-size:7px; margin-bottom:8px; }
  .orbit-center-card strong { font-size:17px; }
  .orbit-center-card .mini-dot { margin-top:8px; }
  .orbit-tag { font-size:8px; padding:7px 10px; }
  .orbit-tag.tag-a { top:10px; right:25px; }
  .orbit-tag.tag-b { left:10px; bottom:75px; }
  .orbit-tag.tag-c { right:10px; bottom:40px; }
  .statement { padding:83px 0; }
  .statement-grid { grid-template-columns:1fr; gap:25px; }
  .statement h2 { font-size:clamp(38px,6vw,60px); }
  .services-top, .insights-top { align-items:start; flex-direction:column; gap:20px; }
  .services-grid, .experience-grid, .insights-grid { grid-template-columns:1fr 1fr; }
  .service-card:last-child, .insight-card:last-child { grid-column:1/-1; }
  .service-card { min-height:420px; }
  .service-card h3 { min-height:0; }
  .experience-grid .work-card:first-child { grid-column:1/-1; min-height:300px; }
  .experience-grid .work-card:not(:first-child) { min-height:365px; }
  .approach { padding:83px 0; }
  .approach-layout { grid-template-columns:1fr; gap:42px; }
  .approach-copy h2 { max-width:none; }
  .founder-wrap { grid-template-columns:1fr; }
  .founder-visual { min-height:400px; padding:48px; }
  .founder-mark { font-size:160px; }
  .founder-copy { padding:67px 45px 77px; }
  .contact { padding:82px 0; }
  .contact-grid { grid-template-columns:1fr; gap:45px; }
  .article-layout { grid-template-columns:1fr; gap:30px; padding-top:62px; }
  .article-aside { max-width:420px; }
}
@media (max-width:540px) {
  .container { width:calc(100% - 38px); }
  .nav-wrap { min-height:72px; }
  .logo-box { width:39px; height:39px; font-size:14px; }
  .logo-name { font-size:11px; }
  .logo-sub { font-size:7.5px; }
  .mobile-menu { max-height:calc(100vh - 72px); }
  .lang-switch { gap:3px; }
  .hero-layout { padding:68px 0 17px; }
  .hero h1 { font-size:clamp(54px,12.7vw,72px); line-height:1.035; margin-bottom:24px; }
  .hero-kicker { margin-bottom:21px; }
  .hero p { font-size:13px; line-height:1.82; }
  .hero-buttons { gap:10px; }
  .btn { width:100%; justify-content:space-between; min-height:50px; }
  .hero-visual { margin-top:8px; height:300px; width:350px; }
  .orbit-graphic { width:305px; }
  .orbit-center-card { width:117px; height:117px; }
  .orbit-center-card small { font-size:6px; margin-bottom:6px; }
  .orbit-center-card strong { font-size:13px; }
  .orbit-tag.tag-a { top:20px; right:0; }
  .orbit-tag.tag-b { bottom:40px; left:0; }
  .orbit-tag.tag-c { right:5px; bottom:10px; }
  .hero-rail .container { display:grid; grid-template-columns:1fr 1fr; }
  .hero-rail-item { min-height:60px; padding:11px 4px 11px 0; }
  .hero-rail-item + .hero-rail-item { padding-left:15px; }
  .hero-rail-item:last-child { grid-column:1/-1; border-left:0; border-top:1px solid rgba(255,255,255,.14); padding-left:0; }
  .hero-rail-text { font-size:9px; }
  .section { padding:70px 0; }
  .section-heading h2, .statement h2 { font-size:43px; }
  .statement { padding:72px 0; }
  .statement-note { margin-top:25px; }
  .services-grid,.experience-grid,.insights-grid { grid-template-columns:1fr; }
  .service-card:last-child,.insight-card:last-child,.experience-grid .work-card:first-child { grid-column:auto; }
  .service-card { min-height:420px; }
  .service-card h3 { font-size:31px; margin-top:25px; }
  .approach { padding:70px 0; }
  .approach-copy h2 { font-size:55px; }
  .approach-step { gap:13px; }
  .work-card,.experience-grid .work-card:not(:first-child) { min-height:315px; }
  .work-card h3 { margin-top:36px; }
  .founder-visual { min-height:350px; padding:28px; }
  .founder-mark { font-size:clamp(118px,33vw,170px); }
  .founder-visual-bottom span:first-child { font-size:10px; }
  .founder-copy { padding:69px 25px; }
  .founder-copy h2 { font-size:49px; }
  .founder-credentials { flex-direction:column; }
  .credential + .credential { padding:13px 0 0; border-left:0; border-top:1px solid #cbd7c7; }
  .contact { padding:72px 0; }
  .contact-copy h2 { font-size:58px; }
  .contact-email-panel { padding:29px 22px; }
  .contact-email-panel h3 { font-size:34px; }
  .footer-row { align-items:start; flex-direction:column; }
  .footer-nav { gap:17px; }
  .footer-bottom { flex-direction:column; gap:10px; }
  .article-hero { padding:55px 0 69px; }
  .article-header .eyebrow { margin-top:48px; }
  .article-header h1 { font-size:50px; }
  .article-deck { font-size:15px; }
  .article-content { font-size:14px; }
  .article-content .lead { font-size:18px; }
  .privacy-head { padding:65px 0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js .reveal { opacity:1; transform:none; }
}

/* Selected work portfolio: index, filters and case studies */
.work-section-actions { margin-top:32px; display:flex; justify-content:flex-start; }
.portfolio-hero { position:relative; overflow:hidden; background:var(--pine); color:#fff; padding:62px 0 94px; }
.portfolio-hero:after { content:""; position:absolute; border:1px solid rgba(207,232,205,.14); width:680px; height:680px; border-radius:50%; top:-350px; right:-160px; box-shadow:0 0 0 68px rgba(207,232,205,.03),0 0 0 165px rgba(207,232,205,.023); pointer-events:none; }
.portfolio-hero-inner { position:relative; z-index:1; margin-top:75px; max-width:930px; }
.portfolio-hero h1 { font:400 clamp(55px,6vw,97px)/1.04 var(--serif); letter-spacing:-.065em; margin:24px 0; }
.portfolio-hero h1 em { color:var(--lime); }
.portfolio-hero p { color:#c0d6c4; font-size:17px; line-height:1.76; max-width:675px; }
.portfolio-hero-rail { display:flex; gap:34px; margin-top:60px; text-transform:uppercase; font-size:10px; letter-spacing:.12em; color:#b2c8b6; font-weight:700; }
.portfolio-hero-rail span:before { content:'◆'; color:var(--lime); font-size:6px; margin-right:12px; }
.portfolio-main { background:var(--paper); }
.filter-bar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.filter-label { color:#627a6b; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:800; margin-bottom:13px; }
.work-filters { display:flex; gap:8px; flex-wrap:wrap; }
.work-filter { border:1px solid #cad8cb; background:transparent; color:#466050; border-radius:3px; padding:10px 16px; font-size:11px; font-weight:700; transition: background .2s,color .2s,border .2s; }
.work-filter.is-active, .work-filter:hover { background:var(--pine); color:white; border-color:var(--pine); }
.work-count { font-size:11px; white-space:nowrap; color:#68796c; margin:0 0 3px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.portfolio-card { position:relative; border:1px solid var(--line); background:#fff; padding:29px 31px 32px; min-height:410px; display:flex; flex-direction:column; align-items:start; transition:border .2s,box-shadow .2s,transform .2s; }
.portfolio-card:nth-child(4n+1) { background:#e9efe3; }
.portfolio-card:nth-child(4n+4) { background:#f3f4ee; }
.portfolio-card:hover { border-color:#b7c9b4; box-shadow:0 10px 35px rgba(17,48,29,.05); transform:translateY(-2px); }
.portfolio-card[hidden] { display:none!important; }
.portfolio-card-top { display:flex; justify-content:space-between; width:100%; padding-bottom:25px; border-bottom:1px solid rgba(57,93,69,.17); font-size:10px; font-weight:700; letter-spacing:.1em; }
.portfolio-index { color:#84968a; }
.portfolio-date { color:#516d59; }
.portfolio-kind { display:inline-block; background:#dae8d5; color:#3b644a; padding:6px 8px; margin:29px 0 10px; text-transform:uppercase; font-size:9px; letter-spacing:.12em; font-weight:800; }
.portfolio-place { color:#798b7d; text-transform:uppercase; font-size:10px; letter-spacing:.09em; }
.portfolio-card h2 { font:400 clamp(28px,3vw,42px)/1.14 var(--serif); letter-spacing:-.05em; max-width:520px; margin:19px 0 15px; }
.portfolio-card h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.portfolio-card p { color:#5a7164; font-size:13px; line-height:1.77; margin:0 0 24px; }
.portfolio-card-bottom { width:100%; margin-top:auto; }
.method-list { display:flex; flex-wrap:wrap; gap:6px; }
.method-chip { display:inline-flex; border:1px solid #c6d5c6; padding:5px 9px; color:#4f6c5c; text-transform:uppercase; letter-spacing:.075em; font-size:9px; font-weight:700; }
.portfolio-card .arrow-link { margin-top:20px; }
.portfolio-disclaimer { display:flex; gap:17px; border-top:1px solid var(--line); margin-top:34px; padding-top:27px; align-items:flex-start; }
.portfolio-note-symbol { width:23px; height:23px; border:1px solid #9bab9b; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:0 0 23px; font:600 12px var(--serif); color:#5e7161; }
.portfolio-disclaimer p { max-width:850px; margin:0; font-size:11px; line-height:1.8; color:#7c8b7f; }
.portfolio-contact { background:var(--pine); color:#fff; padding:75px 0; }
.portfolio-contact .container { display:flex; justify-content:space-between; gap:24px; align-items:center; }
.portfolio-contact h2 { font:400 clamp(33px,3.9vw,58px)/1.08 var(--serif); letter-spacing:-.05em; margin:14px 0; }
.portfolio-contact p { color:#b7ccbe; font-size:13px; max-width:560px; line-height:1.8; }
.case-hero { padding-top:70px; padding-bottom:98px; }
.case-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; font-weight:700; font-size:11px; letter-spacing:.09em; color:#dce9d8; text-transform:uppercase; }
.case-meta span { border:1px solid rgba(225,244,220,.24); padding:9px 13px; }
.case-layout { display:grid; grid-template-columns:minmax(180px,270px) minmax(0,720px); gap:95px; padding:95px 0 105px; }
.case-aside { border-top:2px solid var(--pine); padding-top:23px; }
.case-aside .eyebrow { margin-bottom:25px; }
.case-aside .method-list { margin-bottom:27px; }
.case-note { border-top:1px solid var(--line); color:#708074; font-size:12px; line-height:1.86; padding:25px 0 40px; }
.case-aside .arrow-link { font-size:11px; }
.case-article { color:#3e5949; font-size:15px; line-height:1.91; }
.case-intro { border-left:3px solid #b6cfac; padding-left:25px; margin-bottom:58px; }
.case-intro .eyebrow { margin-bottom:13px; }
.case-intro p { font:400 clamp(19px,2.25vw,26px)/1.65 var(--serif); color:#203e2e; margin:0; }
.case-article h2 { font:400 38px/1.18 var(--serif); letter-spacing:-.04em; margin:0 0 16px; color:var(--pine); }
.case-article >section { border-top:1px solid var(--line); padding:35px 0 25px; }
.case-article section p { margin:0; }
.case-list { margin:0; padding:0; list-style:none; }
.case-list li { position:relative; padding:0 0 13px 27px; }
.case-list li:before { content:'↗'; color:#66936b; position:absolute; left:0; top:-1px; }
.case-source { padding:20px 0 24px; }
.case-action { background:#e7ede1; margin-top:26px; padding:30px; }
.case-action h3 { font:400 29px/1.2 var(--serif); margin:0 0 10px; letter-spacing:-.03em; }
.case-action p { font-size:12px; line-height:1.8; margin:0 0 24px; }
.case-related { background:#eff2eb; }
.case-related .section-heading { margin-bottom:30px; }
.case-related-grid .portfolio-card { min-height:360px; }
.case-all-link { margin-top:33px; }
@media(max-width:850px){
  .filter-bar { align-items:start; flex-direction:column; }
  .case-layout { gap:37px; grid-template-columns:1fr; }
  .case-aside { display:grid; grid-template-columns:1fr; }
  .case-aside .method-list { margin-bottom:19px; }
  .case-note { padding:16px 0 25px; }
  .portfolio-card { min-height:410px; padding:25px; }
}
@media(max-width:620px){
  .portfolio-hero { padding:35px 0 69px; }
  .portfolio-hero-inner { margin-top:55px; }
  .portfolio-hero h1 { font-size:clamp(47px,10vw,62px); }
  .portfolio-hero p { font-size:14px; }
  .portfolio-hero-rail { margin-top:37px; gap:18px; flex-wrap:wrap; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-card { min-height:365px; }
  .portfolio-card h2 { font-size:34px; }
  .filter-bar { margin-bottom:24px; }
  .work-filter { padding:9px 12px; }
  .portfolio-contact .container { flex-direction:column; align-items:start; }
  .portfolio-contact .btn { width:100%; }
  .case-hero { padding:38px 0 72px; }
  .case-layout { padding:61px 0 71px; }
  .case-article h2 { font-size:31px; }
  .case-action { padding:24px; }
}

/* Logos / partners responsive refinements */
@media (max-width:1000px) {
  .client-card { flex-basis:calc((100% - 16px)/2); min-width:210px; }
  .partner-row { grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:670px) {
  .clients { padding-top:78px; padding-bottom:76px; }
  .client-grid { gap:12px; margin-top:28px; }
  
  .client-card { flex:1 1 100%; min-width:0; min-height:160px; padding:18px 21px; }
  .client-logo-box { height:89px; }
  .client-logo-box img { max-height:78px; }
  .client-card--undp .client-logo-box img { max-height:82px; max-width:62px; }
  .client-caption { min-height:24px; }
  .partner-divider { margin:50px 0 46px; }
  .partner-row { grid-template-columns:1fr; gap:25px; }
  .partner-logo-grid .client-card { min-height:153px; }
}

/* Publications, research products, and secure-checkout-ready tools */
.resource-highlight { background:#e9efe5; }
.resource-highlight .section-heading { margin-bottom:38px; }
.resource-highlight-grid { display:grid; grid-template-columns:1.13fr .87fr; gap:17px; }
.resource-highlight-card { min-height:370px; padding:35px 38px; display:flex; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid #d5e1d3; position:relative; overflow:hidden; }
.resource-highlight-feature { background:var(--pine); border-color:#25463c; color:#fff; }
.resource-eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; color:#637868; }
.resource-highlight-feature .resource-eyebrow { color:var(--lime); }
.resource-highlight-card h3 { font:400 clamp(32px,3.2vw,48px)/1.11 var(--serif); letter-spacing:-.045em; margin:21px 0 12px; }
.resource-highlight-card p { color:#5e7265; font-size:13px; line-height:1.75; max-width:475px; margin:0 0 22px; }
.resource-highlight-feature p { color:#bbd1c2; }
.resource-highlight-card .arrow-link { margin-top:auto; }
.resource-highlight-feature .arrow-link { color:var(--lime); }
.resource-highlight-note { margin:16px 0 0; color:#6f8473; font-size:11px; line-height:1.7; }
.sio-emblem { display:grid; grid-template-columns:repeat(5, 1fr); width:186px; gap:6px; margin-top:32px; }
.sio-emblem span { display:grid; place-items:center; font-size:10px; color:#dfefdb; border:1px solid #739982; width:30px; height:30px; border-radius:50%; }
.sio-emblem span:nth-child(4n+1) { background:rgba(195,225,160,.16); border-color:#9bc18f; }
.resource-paper-art { height:78px; width:123px; border:1px solid #adc0a8; margin-top:27px; padding:19px 15px; display:flex; flex-direction:column; gap:9px; background:#eaf0e6; transform:rotate(-6deg); box-shadow:8px 8px 0 #f3f5ef; }
.resource-paper-art i { display:block; width:100%; height:3px; background:#a5beaa; }
.resource-paper-art i:last-child { width:55%; }
/* Library landing page */
.resource-hub-hero { padding:108px 0 105px; background:var(--pine); color:#fff; position:relative; isolation:isolate; overflow:hidden; }
.resource-hub-hero::before { content:''; position:absolute; width:520px; height:520px; border:1px solid rgba(220,244,192,.22); border-radius:50%; right:-80px; top:-240px; box-shadow:0 0 0 80px rgba(220,244,192,.04),0 0 0 160px rgba(220,244,192,.025); z-index:-1; }
.resource-hub-hero h1 { font:400 clamp(62px,7vw,102px)/1.05 var(--serif); letter-spacing:-.065em; margin:26px 0 22px; max-width:950px; }
.resource-hub-hero h1 em { color:var(--lime); }
.resource-hub-hero p { color:#c2d4c6; font-size:17px; line-height:1.78; max-width:720px; }
.resource-hub-main { background:var(--paper); }
.resource-hub-main .section-heading { margin-bottom:39px; }
.resource-hub-main .section-heading h2 { margin-bottom:13px; }
.resource-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.resource-product-card { padding:37px 38px; background:#e8eee5; border:1px solid #d4dfd1; display:flex; flex-direction:column; align-items:flex-start; min-height:460px; }
.resource-product-card h3 { font:400 clamp(31px,3.5vw,49px)/1.16 var(--serif); letter-spacing:-.05em; max-width:620px; margin:25px 0 14px; }
.resource-product-card>p { font-size:14px; max-width:560px; color:#546e5b; line-height:1.8; }
.sio-emblem-mini { margin-top:22px; width:180px; }
.sio-emblem-mini span { border-color:#7c9b81; color:#285441; }
.resource-product-bottom { margin-top:auto; padding-top:20px; width:100%; border-top:1px solid #c8d7c8; display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:22px; }
.availability-status { font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; color:#647c66; }
.resource-hub-articles { margin-top:105px; }
.resource-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.resource-article-card { background:#fff; padding:32px 30px; min-height:340px; border:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; }
.resource-article-card h3 { font:400 28px/1.21 var(--serif); letter-spacing:-.04em; margin:25px 0 14px; }
.resource-article-card p { font-size:12px; line-height:1.75; color:#677b6d; margin:0 0 25px; }
.resource-article-card .arrow-link { margin-top:auto; }
.resource-library-note { font-size:11px; color:#6d8371; line-height:1.65; margin:30px 0 0; }
.resource-library-cta { padding:75px 0; background:var(--pine); color:#fff; }
.resource-library-cta .container { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.resource-library-cta h2 { font:400 clamp(32px,4.6vw,55px)/1.2 var(--serif); letter-spacing:-.05em; margin:0 0 12px; }
.resource-library-cta p { color:#bfd0c4; font-size:13px; line-height:1.75; max-width:600px; margin:0; }
/* Individual digital-resource pages */
.resource-detail-hero { padding:65px 0 100px; background:var(--pine); color:#fff; overflow:hidden; }
.resource-detail-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(270px,.6fr); gap:80px; align-items:center; margin-top:66px; }
.resource-detail-heading h1 { font:400 clamp(48px,5.7vw,82px)/1.06 var(--serif); letter-spacing:-.064em; margin:22px 0 19px; }
.resource-detail-heading p { max-width:640px; color:#c0d2c5; font-size:16px; line-height:1.75; }
.resource-cover-art { display:flex; flex-direction:column; justify-content:space-between; background:#d7e6a3; color:#17362b; border:7px solid rgba(230,242,214,.15); box-shadow:26px 27px 0 rgba(98,141,116,.13); min-height:335px; padding:25px; transform:rotate(3deg); }
.cover-caption { letter-spacing:.2em; font-size:13px; font-weight:800; }
.cover-dots { display:grid; grid-template-columns:repeat(5,1fr); gap:11px; max-width:250px; }
.cover-dots span { display:grid; place-items:center; border:1px solid #587e63; border-radius:50%; width:37px; height:37px; font-size:10px; font-weight:800; }
.cover-footer { font-size:10px; letter-spacing:.1em; font-weight:800; }
.resource-detail-content { background:#fafaf6; }
.resource-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:72px; align-items:start; }
.resource-description { color:#495f50; font-size:14px; line-height:1.85; }
.resource-description h2 { font:400 37px/1.15 var(--serif); letter-spacing:-.04em; color:var(--pine); margin:0 0 20px; }
.resource-description .resource-intro-block { padding-bottom:35px; }
.resource-intro-block .eyebrow { margin-bottom:24px; }
.resource-intro-block p { color:#607164; font-size:15px; line-height:1.85; max-width:720px; }
.resource-description section { border-top:1px solid var(--line); padding:35px 0 7px; }
.resource-description section p { max-width:740px; }
.resource-description ul { padding-left:21px; margin:0 0 27px; }
.resource-description li { margin:0 0 12px; }
.resource-description li::marker { color:#7b9b75; }
.resource-process-rail { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:5px 0 55px; }
.resource-process-rail span { font-size:11px; letter-spacing:.04em; border-top:2px solid #7b9d7d; color:#5d8066; padding:13px 8px 14px 0; }
.resource-process-rail span+span { padding-left:15px; border-left:1px solid #dbe3d6; }
.resource-process-rail b { font-size:12px; color:#274535; font-weight:800; display:block; margin-top:5px; letter-spacing:0; }
.resource-purchase { position:sticky; top:118px; background:#e9efe5; border:1px solid #d4e0d2; padding:32px; display:flex; flex-direction:column; gap:17px; }
.resource-price { font:400 32px/1.25 var(--serif); letter-spacing:-.045em; color:var(--pine); }
.purchase-rule { border-top:1px solid #cbd8c9; }
.resource-purchase p { font-size:12px; color:#576e61; line-height:1.75; margin:0; }
.resource-purchase .btn { width:100%; min-height:50px; justify-content:center; white-space:normal; text-align:center; }
.resource-purchase .btn-unavailable { pointer-events:none; color:#526a56; background:#d6dfd1; border-color:#c5d2c2; cursor:default; }
.resource-purchase .btn-unavailable:hover { transform:none; }
.resource-purchase .resource-checkout-note { font-size:11px; color:#6f816f; }
.resource-contact-link { display:flex; justify-content:space-between; gap:10px; align-items:center; color:#285b40; font-size:11px; font-weight:800; border-top:1px solid #cbd8c9; margin-top:5px; padding-top:22px; }
.resource-contact-link svg { width:17px; height:17px; }
@media (max-width:1120px) {
  .desktop-nav { gap:12px; }
  .desktop-nav a { font-size:10px; }
}
@media (max-width:800px) {
  .resource-highlight-grid { grid-template-columns:1fr 1fr; }
  .resource-highlight-card { padding:28px 24px; }
  .resource-highlight-card h3 { font-size:38px; }
  .resource-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resource-detail-heading { grid-template-columns:1.3fr .7fr; gap:38px; }
  .resource-cover-art { min-height:260px; padding:17px; }
  .cover-dots { gap:5px; }
  .cover-dots span { width:25px; height:25px; font-size:8px; }
  .resource-detail-grid { grid-template-columns:minmax(0,1fr); gap:35px; }
  .resource-purchase { position:relative; top:auto; grid-row:1; }
}
@media (max-width:540px) {
  .resource-highlight-grid, .resource-product-grid, .resource-article-grid { grid-template-columns:1fr; }
  .resource-highlight-card { min-height:330px; padding:29px; }
  .resource-highlight-card h3 { font-size:40px; }
  .resource-hub-hero { padding:86px 0; }
  .resource-hub-hero h1 { font-size:56px; }
  .resource-hub-hero p { font-size:14px; }
  .resource-product-card { min-height:430px; padding:30px; }
  .resource-product-card h3 { font-size:38px; }
  .resource-hub-articles { margin-top:75px; }
  .resource-article-card { min-height:295px; }
  .resource-library-cta .container { flex-direction:column; align-items:stretch; }
  .resource-detail-hero { padding:50px 0 65px; }
  .resource-detail-heading { grid-template-columns:1fr; gap:50px; margin-top:50px; }
  .resource-detail-heading h1 { font-size:49px; }
  .resource-cover-art { transform:none; max-width:320px; min-height:275px; }
  .cover-dots span { width:31px; height:31px; }
  .resource-process-rail span { font-size:10px; }
  .resource-process-rail b { font-size:10px; }
  .resource-description h2 { font-size:33px; }
  .resource-purchase { padding:24px; }
}
/* Keep a single featured framework visually prominent while the catalogue grows. */
.resource-product-grid-1 { grid-template-columns:1fr; }
.resource-product-grid-1 .resource-product-card { padding-right:38%; position:relative; }
.resource-product-grid-1 .resource-product-card::after { content:''; pointer-events:none; position:absolute; width:330px; height:330px; border:1px solid rgba(66,108,71,.24); border-radius:50%; right:9%; top:11%; box-shadow:0 0 0 40px rgba(91,139,92,.045),0 0 0 83px rgba(91,139,92,.04); }
.resource-product-grid-1 .resource-product-card > * { position:relative; z-index:1; }
@media (max-width:800px) {
  .resource-product-grid-1 .resource-product-card { padding-right:32px; }
  .resource-product-grid-1 .resource-product-card::after { opacity:.17; right:-115px; top:-70px; }
}
.resource-product-grid-1 .resource-product-card { overflow:hidden; }

/* -------------------------------------------------------------------------
   October 2026 brand exploration — three palette directions.
   The temporary palette preview panel is removed at sign-off by setting
   BRAND_PREVIEW = False in tools/build_site.py. Design tokens remain useful.
   ------------------------------------------------------------------------- */
:root[data-jsa-palette="atlantic"] {
  --pine:#193451; --pine-deep:#101f34; --pine-mid:#345a76;
  --mist:#edf2f5; --paper:#fafbfc; --ink:#18324b; --text:#405469;
  --muted:#71879c; --line:#d8e2e9; --lime:#e6c693; --sage:#abc2d1;
  --gold:#c69c64; --theme-midpanel:#e9eff4;
  --theme-card:#f2f6f8; --theme-dim-text:#627888;
}
:root[data-jsa-palette="aubergine"] {
  --pine:#453448; --pine-deep:#2d2639; --pine-mid:#65465c;
  --mist:#f7f1ef; --paper:#fcfaf8; --ink:#362c3c; --text:#61525d;
  --muted:#917d89; --line:#e8dfe1; --lime:#f1c4a1; --sage:#d1b2b8;
  --gold:#d79a7f; --theme-midpanel:#f3e8e8;
  --theme-card:#faf1ee; --theme-dim-text:#815f71;
}
[data-jsa-palette="atlantic"] .site-header {background:rgba(250,251,252,.97);border-color:#dbe3e9}
[data-jsa-palette="aubergine"] .site-header {background:rgba(252,250,248,.97);border-color:#e9e0e2}
[data-jsa-palette="atlantic"] .hero::before { background:radial-gradient(circle at 82% 43%, #315e87 0, transparent 42%),linear-gradient(118deg,#101f34 12%,#183955 68%,#203f64 100%);opacity:.6 }
[data-jsa-palette="aubergine"] .hero::before { background:radial-gradient(circle at 82% 45%, #76506e 0, transparent 42%),linear-gradient(116deg,#2d2639 12%,#4a3349 70%,#673d55 100%);opacity:.7 }
[data-jsa-palette="atlantic"] .hero-visual .orbit-graphic {filter:hue-rotate(-42deg) saturate(.95)}
[data-jsa-palette="aubergine"] .hero-visual .orbit-graphic {filter:hue-rotate(-72deg) saturate(1.2)}
[data-jsa-palette="atlantic"] .hero p, [data-jsa-palette="atlantic"] .approach-copy p, [data-jsa-palette="atlantic"] .approach-step p, [data-jsa-palette="atlantic"] .resource-highlight-feature p {color:#c5d6e3}
[data-jsa-palette="aubergine"] .hero p, [data-jsa-palette="aubergine"] .approach-copy p, [data-jsa-palette="aubergine"] .approach-step p, [data-jsa-palette="aubergine"] .resource-highlight-feature p {color:#e4d0db}
[data-jsa-palette="atlantic"] .hero-rail-text, [data-jsa-palette="atlantic"] .resource-hub-hero p {color:#d2e1e9}
[data-jsa-palette="aubergine"] .hero-rail-text, [data-jsa-palette="aubergine"] .resource-hub-hero p {color:#e9dce2}
:root[data-jsa-palette="atlantic"] .statement h2 em, :root[data-jsa-palette="aubergine"] .statement h2 em {color:var(--pine-mid)}
:root[data-jsa-palette="atlantic"] .services, :root[data-jsa-palette="aubergine"] .services {background:var(--mist)}
:root[data-jsa-palette="atlantic"] .work-card-feature, :root[data-jsa-palette="aubergine"] .work-card-feature {background:var(--theme-midpanel);border-color:var(--line)}
:root[data-jsa-palette="atlantic"] .clients, :root[data-jsa-palette="aubergine"] .clients {background:var(--theme-card)}
:root[data-jsa-palette="atlantic"] .founder, :root[data-jsa-palette="aubergine"] .founder {background:var(--theme-midpanel)}
:root[data-jsa-palette="atlantic"] .founder-copy p, :root[data-jsa-palette="aubergine"] .founder-copy p {color:var(--text)}
:root[data-jsa-palette="atlantic"] .founder-role, :root[data-jsa-palette="aubergine"] .founder-role {color:var(--pine-mid)}
:root[data-jsa-palette="atlantic"] .credential, :root[data-jsa-palette="aubergine"] .credential {color:var(--text)}
:root[data-jsa-palette="atlantic"] .site-footer, :root[data-jsa-palette="aubergine"] .site-footer {background:var(--pine-deep)}
:root[data-jsa-palette="atlantic"] .portfolio-card:nth-child(4n+1), :root[data-jsa-palette="aubergine"] .portfolio-card:nth-child(4n+1) {background:var(--theme-midpanel)}
:root[data-jsa-palette="atlantic"] .portfolio-card:nth-child(4n+4), :root[data-jsa-palette="aubergine"] .portfolio-card:nth-child(4n+4) {background:var(--theme-card)}
:root[data-jsa-palette="atlantic"] .resource-highlight, :root[data-jsa-palette="aubergine"] .resource-highlight {background:var(--theme-midpanel)}
:root[data-jsa-palette="atlantic"] .resource-product-card, :root[data-jsa-palette="aubergine"] .resource-product-card {background:var(--theme-midpanel);border-color:var(--line)}
:root[data-jsa-palette="atlantic"] .resource-cover-art, :root[data-jsa-palette="aubergine"] .resource-cover-art {background:var(--lime);color:var(--pine)}
:root[data-jsa-palette="atlantic"] .resource-purchase, :root[data-jsa-palette="aubergine"] .resource-purchase {background:var(--theme-midpanel);border-color:var(--line)}
:root[data-jsa-palette="atlantic"] .resource-detail-content, :root[data-jsa-palette="aubergine"] .resource-detail-content {background:var(--paper)}
:root[data-jsa-palette="atlantic"] .resource-description p, :root[data-jsa-palette="aubergine"] .resource-description p {color:var(--text)}
:root[data-jsa-palette="atlantic"] .resource-description h2, :root[data-jsa-palette="aubergine"] .resource-description h2 {color:var(--pine)}
:root[data-jsa-palette="atlantic"] .resource-hub-main, :root[data-jsa-palette="aubergine"] .resource-hub-main {background:var(--paper)}
:root[data-jsa-palette="atlantic"] .resource-product-card>p, :root[data-jsa-palette="aubergine"] .resource-product-card>p {color:var(--text)}
:root[data-jsa-palette="atlantic"] .work-card h3, :root[data-jsa-palette="aubergine"] .work-card h3 {color:var(--ink)}
:root[data-jsa-palette="atlantic"] .work-card p, :root[data-jsa-palette="aubergine"] .work-card p {color:var(--text)}

/* Founder photograph: large, human, deliberate editorial focal point. */
.founder-visual--portrait {isolation:isolate;background:#243b46;min-height:670px;}
.founder-visual--portrait .founder-photo {position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 29%;z-index:0;}
.founder-visual--portrait::before {content:'';position:absolute;inset:0;left:0;top:0;width:auto;height:auto;z-index:1;pointer-events:none;border:0;border-radius:0;box-shadow:none;background:linear-gradient(0deg,rgba(11,26,29,.83) 0%,rgba(11,26,29,.23) 38%,transparent 67%),linear-gradient(180deg,rgba(11,26,29,.46),transparent 29%);}
.founder-visual--portrait::after {display:none;}
.founder-visual--portrait .founder-visual-top {position:relative;z-index:2;color:#fff;letter-spacing:.2em;text-shadow:0 1px 12px #172c3555;}
.founder-photo-name {position:relative;z-index:2;display:block;font:400 clamp(64px,6vw,94px)/.94 var(--serif);letter-spacing:-.063em;color:#fff;margin:auto 0 29px;text-shadow:0 2px 18px #1b273450;}
.founder-visual--portrait .founder-visual-bottom {z-index:2;}
.founder-visual--portrait .founder-visual-bottom span:first-child {color:#e5efee;text-shadow:0 2px 6px rgba(0,0,0,.3);}
.founder-visual--portrait .founder-symbol {color:#f3f8f2;border-color:rgba(255,255,255,.7);}
@media (max-width:800px) {
  .founder-visual--portrait {min-height:500px;}
  .founder-photo-name {font-size:82px;}
}
@media (max-width:540px) {
  .founder-visual--portrait {min-height:475px;}
  .founder-photo-name {font-size:72px;margin-bottom:18px;}
}

/* Accessible temporary review controls. Never load a third-party script. */
.palette-preview {position:fixed;bottom:20px;right:20px;width:326px;z-index:260;padding:14px 16px 13px;background:rgba(255,255,255,.97);border:1px solid #d8dfe2;border-radius:13px;box-shadow:0 14px 45px rgba(15,28,32,.17);color:#24323e;backdrop-filter:blur(12px);}
.palette-preview-title {display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:9px;}
.palette-options {display:flex;gap:5px;}
.palette-choice {flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 9px;border:1px solid transparent;background:#f5f6f6;color:#4b5961;font-size:10px;font-weight:700;border-radius:6px;line-height:1.2;}
.palette-choice:hover {background:#e9eff2;}
.palette-choice[aria-pressed="true"] {border-color:#294c61;background:#e6eef2;color:#14304a;box-shadow:inset 0 0 0 1px #c1d4dd;}
.palette-dot {width:23px;height:23px;display:block;border-radius:50%;border:2px solid #fff;outline:1px solid #cbd3d3;}
.palette-dot-evergreen {background:linear-gradient(135deg,#152a27 0 58%,#d7e6a3 58%);}
.palette-dot-atlantic {background:linear-gradient(135deg,#193451 0 58%,#e6c693 58%);}
.palette-dot-aubergine {background:linear-gradient(135deg,#453448 0 58%,#f1c4a1 58%);}
.palette-preview-caption {display:block;margin-top:8px;text-align:right;font-size:9px;color:#8b9294;letter-spacing:.06em;}
@media (max-width:540px) {
 .palette-preview {bottom:8px;right:8px;left:8px;width:auto;padding:9px 12px;}
 .palette-preview-title {font-size:10px;margin-bottom:5px;}
 .palette-choice {padding:6px 4px;gap:4px;flex-direction:row;justify-content:center;font-size:10px;}
 .palette-dot {width:15px;height:15px;flex:none;}
 .palette-preview-caption {display:none;}
}

:root[data-jsa-palette="atlantic"] .orbit-center-card {background:radial-gradient(circle,#274766 0%,#172e47 87%);border-color:#597996}
:root[data-jsa-palette="aubergine"] .orbit-center-card {background:radial-gradient(circle,#5b4058 0%,#34283e 87%);border-color:#a47d9a}
:root[data-jsa-palette="atlantic"] .orbit-center-card small {color:#cbdce5}
:root[data-jsa-palette="aubergine"] .orbit-center-card small {color:#e3d2dc}
:root[data-jsa-palette="atlantic"] .orbit-tag {background:#223e5e;border-color:#5e7790;color:#f3f6fa}
:root[data-jsa-palette="aubergine"] .orbit-tag {background:#503851;border-color:#987590;color:#fff4f6}
:root[data-jsa-palette="atlantic"] .btn-lime:hover, :root[data-jsa-palette="aubergine"] .btn-lime:hover {background:color-mix(in srgb,var(--lime) 80%,white)}
:root[data-jsa-palette="atlantic"] .btn-dark:hover, :root[data-jsa-palette="aubergine"] .btn-dark:hover {background:var(--pine-mid)}

/* October 2026 approved Atlantic leadership treatment */
.founder-copy {padding-top:70px;padding-bottom:70px;}
.founder-copy .founder-headline {font:400 clamp(36px,3.55vw,53px)/1.075 var(--serif);letter-spacing:-.052em;max-width:620px;margin:19px 0 17px;color:var(--ink);}
.founder-copy .founder-subhead {font-size:12px;font-weight:750;line-height:1.65;letter-spacing:.03em;color:var(--pine-mid);margin:0 0 26px;max-width:550px;}
.founder-identity {padding-top:23px;border-top:1px solid var(--line);}
.founder-identity h3 {font:500 clamp(26px,2.4vw,32px)/1.2 var(--serif);letter-spacing:-.03em;margin:0 0 8px;color:var(--pine);}
.founder-identity .founder-role {font-size:10px;line-height:1.5;letter-spacing:.135em;}
.founder-copy .founder-bio {font-size:13px;line-height:1.78;margin:24px 0 0;max-width:585px;color:var(--text);}
.founder-copy .founder-credentials {margin:23px 0 22px;padding:15px 0;}
.founder-copy .credential {font-size:10px;line-height:1.6;}
.client-card,.partner-logo-grid .client-card {min-height:163px;gap:0;}
.client-logo-box {height:116px;}
.client-logo-box img {max-height:106px;}
.client-card--undp .client-logo-box img {max-height:102px;}
.client-card--gac .client-logo-box img,.client-card--unicef .client-logo-box img,.client-card--unfpa .client-logo-box img {max-height:94px;}
@media (max-width:1200px) {
 .founder-copy {padding:56px 44px 58px 55px;}
 .founder-copy .founder-headline {font-size:clamp(35px,3.55vw,47px);}
}
@media (max-width:800px) {
 .founder-copy {padding:58px 45px 68px;}
 .founder-copy .founder-headline {font-size:clamp(39px,6vw,55px);}
}
@media (max-width:540px) {
 .founder-copy {padding:55px 25px 65px;}
 .founder-copy .founder-headline {font-size:clamp(36px,9.2vw,44px);}
 .founder-copy .founder-subhead {font-size:11px;}
 .founder-copy .founder-bio {font-size:13px;}
}

/* Additional professional training product: typography-led visual, without client logos. */
.training-emblem { display:flex; gap:6px; flex-wrap:wrap; margin:25px 0 13px; }
.training-emblem span { border:1px solid var(--line); background:var(--mist); padding:9px 10px; border-radius:2px; font-size:10px; color:var(--pine); font-weight:750; letter-spacing:.08em; }
.training-cover-grid { display:flex; flex-direction:column; gap:12px; margin:28px 0; }
.training-cover-grid span { font:600 28px/1.1 Arial,Helvetica,sans-serif; letter-spacing:.18em; border-bottom:1px solid rgba(20,45,35,.22); padding:4px 0 13px; }

/* DEI institutional framework product architecture */
.dei-emblem { display:flex; gap:7px; align-items:center; margin:25px 0 13px; }
.dei-emblem span { display:flex; align-items:center; justify-content:center; width:43px; height:43px; border:1px solid var(--line); color:var(--navy,#0f2944); font-family:var(--font-heading,Georgia,serif); font-size:22px; font-weight:750; background:var(--mist); }
.dei-emblem small { margin-left:6px; letter-spacing:.11em; font-size:9px; color:var(--pine); font-weight:750; }
.dei-cover-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; align-items:center; flex:1; padding:18px 0; }
.dei-cover-grid span { display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-weight:700; font-size:58px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.25); color:#eee5c9; min-height:124px; }
@media(min-width:1180px){ .resource-product-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } .resource-product-grid-3 .resource-product-card { padding-left:25px; padding-right:25px; } .resource-product-grid-3 .resource-product-card h3 { font-size:22px; } }
@media(max-width:700px){ .dei-cover-grid span { font-size:42px; min-height:90px; } }

/* Home DEI highlight */
.resource-highlight-card:not(.resource-highlight-feature) .dei-emblem { margin-top:27px; margin-bottom:3px; }
