/* GISD theme · design system (v3.1 banner palette). Works with core blocks; class names are set in the block editor (Advanced > Additional CSS class). */
:root{
  --night:#022646; --navy:#032D52; --blue:#1F5C99; --green:#4C6936; --green-ink:#3F5A2B; --green-l:#A8C47A;
  --surface:#F4F2EE; --paper:#FFFFFF; --ink:#0F1C2B; --ink-2:#4A5966; --line:#E3E0D9;
  --d-line:rgba(255,255,255,.16); --note-bg:#FFF3D1; --note-fg:#6B4A00; --err:#A3262A;
  --panel:linear-gradient(280deg,#5D82A9 0%,#7F98B4 26%,#A9B6C4 50%,#D3CEC6 74%,#E6DFD3 100%);
  --panel-m:linear-gradient(180deg,#E6DFD3 0%,#D3CEC6 45%,#B7C3D0 100%);
  --f:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --wrap:76rem; --gut:clamp(16px,4vw,40px); --r:18px;
}
*{box-sizing:border-box}
html{scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--f)}
.wp-site-blocks{padding:0}
h1,h2,h3,h4{margin:0;font-family:var(--f);font-weight:800;letter-spacing:-.025em;line-height:1.1;text-wrap:balance;color:var(--navy)}
h1{font-size:clamp(2.2rem,1.4rem + 3.4vw,4.1rem)} h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.6rem)} h3{font-size:1.2rem;letter-spacing:-.01em}
.h2s{font-size:1.6rem;margin-bottom:1.25rem}
p{margin:0;max-width:64ch}
a{color:var(--blue);text-underline-offset:.18em}
:focus-visible{outline:3px solid #3D8BD9;outline-offset:3px;border-radius:6px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip-link:focus{position:absolute;left:var(--gut);top:8px;z-index:100;width:auto;height:auto;clip:auto;background:#fff;color:var(--navy);padding:.6rem 1rem;font-weight:700}
section.wp-block-group{padding-block:clamp(3.75rem,7vw,6rem)}
.surface{background:var(--surface)}
.wp-block-image{margin:0}
.wp-block-list{margin:0}

/* headings blocks */
.head{display:grid;gap:.9rem;justify-items:start;max-width:46rem;margin-bottom:clamp(2rem,4vw,2.75rem)}
.head p:not(.pill){color:var(--ink-2)}
.pill{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.8rem;letter-spacing:.03em;padding:.38rem .85rem;border-radius:999px;background:rgba(76,105,54,.11);color:var(--green-ink)}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.more{font-weight:700}
.more a{font-weight:700;color:var(--blue);text-decoration:none}
.more a:hover{text-decoration:underline}
.ic{width:52px;height:52px;border-radius:50%;background:var(--paper);border:2px solid #6E8F45;color:var(--navy);display:grid;place-items:center;flex:none}
.ic svg{width:26px;height:26px}
.sig{display:flex;gap:4px;width:56px;height:4px}.sig i{flex:1;border-radius:2px;background:#00782E}.sig i:nth-child(2){background:#0060B0}.sig i:nth-child(3){background:#F08A00}.sig i:nth-child(4){background:#D81F1F}
.mt{margin-top:2rem}

/* buttons (core Button block + class) */
.wp-block-buttons{gap:.75rem}
.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.85rem 1.35rem;border-radius:12px;font:700 1rem/1.15 var(--f);text-decoration:none;border:1.5px solid transparent;background:var(--navy);color:#fff;transition:background-color .15s,transform .15s}
.wp-block-button__link:hover{transform:translateY(-1px);background:var(--blue);color:#fff}
.btn-blue .wp-block-button__link{background:var(--navy);color:#fff}
.btn-ghost .wp-block-button__link{background:var(--paper);color:var(--navy);border-color:var(--line)}
.btn-ghost .wp-block-button__link:hover{background:var(--paper);color:var(--navy);border-color:var(--green)}
.top .btn-sky .wp-block-button__link{background:var(--navy);color:#fff}
.top .btn-ghost-d .wp-block-button__link{color:var(--navy);border-color:rgba(3,45,82,.45);background:rgba(255,255,255,.35)}
.top .btn-ghost-d .wp-block-button__link:hover{background:rgba(255,255,255,.6)}
.band .btn-sky .wp-block-button__link{background:var(--green-l);color:var(--night)}
.band .btn-sky .wp-block-button__link:hover{background:#BCD38F}
.band .btn-ghost-d .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.band .btn-ghost-d .wp-block-button__link:hover{background:rgba(255,255,255,.08)}

/* light top panel: home hero and page headers */
.top{background:var(--panel);color:var(--navy);position:relative;isolation:isolate;overflow:hidden}
.top::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/map.svg) no-repeat right -2% center/auto 96%;-webkit-mask-image:linear-gradient(270deg,#000 22%,transparent 52%);mask-image:linear-gradient(270deg,#000 22%,transparent 52%);opacity:.95}
.top::after{content:"";position:absolute;z-index:-1;width:46%;height:4px;right:-4%;top:58%;border-radius:2px;background:linear-gradient(270deg,transparent,#2F7FD8 30%,#CFE4F7 75%,transparent);transform:rotate(8deg);transform-origin:right center;filter:drop-shadow(0 0 6px rgba(120,180,240,.75))}
.top h1{color:var(--navy)}
.top h1 span{color:var(--green-ink)}
.lead-d{color:#24394E;font-size:clamp(1.05rem,1rem + .3vw,1.18rem);max-width:58ch}
.pill.on-dark{background:rgba(255,255,255,.55);color:var(--green-ink)}
.ph-text h1::after,.hero h1::after{content:"";display:block;width:min(100%,22rem);height:2px;background:var(--green);margin-top:1.1rem;opacity:.9}
section.hero-wrap{padding-block:0}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(2.5rem,6vw,4.75rem) clamp(3.5rem,7vw,5.75rem)}
.hero-text{display:grid;gap:1.2rem;justify-items:start}
.hero .actions{margin-top:.8rem}
.bento{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.b-photo{grid-column:1/-1;aspect-ratio:16/10}
.card-d{border-radius:var(--r);padding:1.05rem 1.2rem;background:rgba(255,255,255,.62);border:1px solid rgba(3,45,82,.12);display:grid;gap:.3rem;backdrop-filter:blur(2px)}
.card-d .k{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}
.card-d .v{font-size:1.02rem;font-weight:700;color:var(--navy)}
section.page-h{padding-block:0}
.page-h > .wrap{display:grid;grid-template-columns:1fr;gap:2rem;padding-block:clamp(2.5rem,5vw,4rem)}
.page-h.has-media > .wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center}
.ph-text{display:grid;gap:.9rem;justify-items:start}
.crumbs{font-size:.88rem;color:#24394E}.crumbs a{color:var(--navy)}.crumbs .sep{color:var(--green);margin-inline:.25rem}
@media (max-width:900px){.hero{grid-template-columns:1fr}.top{background:var(--panel-m)}.top::before{background-position:center bottom;background-size:110% auto;-webkit-mask-image:linear-gradient(0deg,#000 10%,transparent 60%);mask-image:linear-gradient(0deg,#000 10%,transparent 60%);opacity:.6}.top::after{display:none}}
@media (max-width:860px){.page-h.has-media > .wrap{grid-template-columns:1fr}}
@media (max-width:420px){.bento{grid-template-columns:1fr}}

/* photo slots: replace with an Image block inside the group */
.ph{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,#032D52,#5D82A9);isolation:isolate;min-height:120px}
.ph::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background:url(../img/map.svg) center/cover}
.ph .ph-mark{position:absolute;left:16px;bottom:16px}
.ph:has(img) .ph-mark{display:none}
.ph .wp-block-image,.ph .wp-block-image img{width:100%;height:100%;object-fit:cover}
.ph-head{aspect-ratio:4/3;width:100%}
.ph-agriculture{background:linear-gradient(135deg,#3F5A2B,#5D82A9)}.ph-environment{background:linear-gradient(135deg,#2E5E66,#7F98B4)}.ph-humanitarian{background:linear-gradient(135deg,#032D52,#5D82A9)}.ph-drm{background:linear-gradient(135deg,#032D52,#9A7A4E)}
@media (max-width:860px){.ph-head{aspect-ratio:16/9}}

/* home services */
.services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.s{grid-column:span 3;border-radius:var(--r);background:var(--surface);padding:clamp(1.35rem,3vw,2rem);display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;border:1px solid transparent;transition:border-color .15s,transform .15s}
.s:hover{border-color:var(--green);transform:translateY(-2px)}
.s h3 a{color:var(--navy);text-decoration:none}.s h3 a:hover{text-decoration:underline}
.s p{color:var(--ink-2);margin-top:.45rem;font-size:.98rem}
.s .more{margin-top:.9rem}
.s.wide{grid-column:span 4}.s.narrow{grid-column:span 2}
@media (max-width:900px){.s,.s.wide,.s.narrow{grid-column:span 6}}

/* cards and steps */
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.why-grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.why-grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.w{background:var(--paper);border-radius:var(--r);padding:1.75rem;border:1px solid var(--line);display:grid;gap:.65rem;align-content:start}
.w .n{font-weight:800;font-size:.78rem;color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin-top:.4rem}
.w p:not(.n){color:var(--ink-2);font-size:.98rem}
@media (max-width:1100px){.why-grid.g4{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.why-grid,.why-grid.g2,.why-grid.g4{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps > .step{counter-increment:s;display:grid;gap:.55rem;align-content:start;min-width:0}
.steps > .step::before{content:counter(s);width:44px;height:44px;border-radius:12px;background:var(--night);box-shadow:inset 0 -3px 0 #6E8F45;color:#fff;display:grid;place-items:center;font-weight:800}
.step h3{font-size:1.08rem}.step p{color:var(--ink-2);font-size:.96rem}
@media (max-width:980px){.steps,.steps.five{grid-template-columns:1fr 1fr}}@media (max-width:520px){.steps,.steps.five{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}

/* band and strip */
section.band-wrap{padding-top:0}
.band{background:linear-gradient(120deg,#022646,#1F4E7A);box-shadow:inset 0 -4px 0 var(--green);color:#fff;border-radius:28px;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:2rem;align-items:center}
.band h2{color:#fff;margin-top:.9rem}.band p:not(.pill){color:#DCE9F5;margin-top:.8rem}
.band .pill.on-dark{background:rgba(168,196,122,.16);color:#BCD38F}
@media (max-width:860px){.band{grid-template-columns:1fr}}
section.strip{padding-top:clamp(2.5rem,5vw,3.5rem)}
section.wp-block-group:not(.surface) + section.strip{padding-top:0}
.strip-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.75rem 2rem;border-radius:var(--r);background:var(--surface)}
.strip-in h2{font-size:1.5rem}
.strip-in.seg .strip-t{flex:1 1 22rem}.strip-in.seg .strip-t p{color:var(--ink-2);margin-top:.35rem}.strip-in.seg .strip-b{gap:.6rem}
.strip-in.std-rep{display:grid;gap:1rem;justify-content:stretch}.strip-in.std-rep p{max-width:62rem}.strip-in.std-rep a{color:var(--blue);text-decoration:underline}.std-pol{color:var(--ink-2);font-size:.95rem;border-top:1px solid var(--line);padding-top:1rem}
.why-grid .w .ticks{margin:0}
.strip-in.alt{background:var(--paper);border:1px solid var(--line)}.strip-in.alt p{color:var(--ink-2);margin-top:.35rem}

/* services */
.svc-list{display:grid;gap:16px}
.svc-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:var(--r);background:var(--surface)}
.svc-l{display:grid;gap:.9rem;align-content:start;justify-items:start}
.svc-l h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.85rem)}
.svc-l p:not(.more){color:var(--ink-2)}
.label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}
.ticks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.5rem}
.ticks.one{grid-template-columns:1fr;gap:1rem}
.ticks li{position:relative;display:block;padding-left:1.9rem;min-width:0}
.ticks li::before{content:"";position:absolute;left:0;top:.25rem;width:18px;height:18px;border-radius:6px;border:1px solid var(--line);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234C6936' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}
@media (max-width:760px){.svc-card{grid-template-columns:1fr}.ticks{grid-template-columns:1fr}}
.matrix{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--paper);font-size:.95rem}
.matrix header{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;background:var(--night);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.matrix dl{margin:0;display:grid;grid-template-columns:minmax(7rem,auto) 1fr}
.matrix dt,.matrix dd{margin:0;padding:.75rem 1.2rem;border-bottom:1px solid var(--line)}
.matrix dt{font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding-top:.9rem}
.matrix dl > :nth-last-child(-n+2){border-bottom:0}
.matrix .cap{display:block;padding:.75rem 1.2rem;background:var(--surface);font-size:.82rem;color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.chips li{border-radius:999px;padding:.4rem .9rem;font-size:.92rem;background:var(--surface)}
.wp-block-details{border-bottom:1px solid var(--line)}
.wp-block-details summary{cursor:pointer;font-weight:700;padding:1rem 0;min-height:44px;color:var(--navy)}
.wp-block-details > p{padding-bottom:1rem;color:var(--ink-2)}
section.svc-next{padding-top:0}
.s-mini-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.s-mini{display:flex;align-items:center;gap:.9rem;padding:1rem 1.15rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.s-mini a{color:var(--navy);font-weight:700;text-decoration:none}.s-mini:hover{border-color:var(--green)}
@media (max-width:760px){.s-mini-row{grid-template-columns:1fr}}

/* expertise */
.sectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sector{border-radius:var(--r);background:var(--surface);overflow:hidden;display:grid;align-content:start}
.ph-sector{aspect-ratio:16/9;border-radius:0}
.sector-t{padding:1.6rem 1.75rem 1.9rem;display:grid;gap:.7rem}
.sector-t h2{font-size:1.5rem}.sector-t p{color:var(--ink-2)}
.rel{font-size:.92rem}
@media (max-width:760px){.sectors{grid-template-columns:1fr}}

/* contact and forms */
.contact > .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem)}
@media (max-width:860px){.contact > .wrap{grid-template-columns:1fr}}
.contact-aside{display:grid;gap:1.1rem;align-content:start;justify-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.8rem;padding:.38rem .85rem;border-radius:999px;background:rgba(76,105,54,.11);color:var(--green-ink)}
.contact-aside .lead{color:var(--ink-2)}
.gisd-details{margin:0;display:grid;gap:.9rem}
.gisd-details dt{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.gisd-details dd{margin:0}
form.f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem;background:var(--surface);border-radius:var(--r);padding:clamp(1.3rem,3vw,2rem);align-self:start}
.surface form.f{background:var(--paper);border:1px solid var(--line)}
.f .field{display:grid;gap:.35rem;min-width:0}
.f .field.full{grid-column:1 / -1}
@media (max-width:600px){form.f{grid-template-columns:1fr}}
.f label,.f legend{font-weight:700;font-size:.92rem}
.f input,.f select,.f textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid #93A2AF;border-radius:10px;padding:.7rem .85rem;min-height:48px;width:100%}
.f textarea{min-height:8rem;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid rgba(31,92,153,.35);outline-offset:1px;border-color:var(--blue)}
.f .hint{font-size:.85rem;color:var(--ink-2)}
.f .error{font-size:.88rem;font-weight:700;color:var(--err)}
.f [aria-invalid="true"]{border-color:var(--err)}
.f .check{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-weight:400}
.f .check input{width:1.2rem;height:1.2rem;min-height:0;margin-top:.25rem}
.f fieldset{border:0;margin:0;padding:0}
.f .opts{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}.f .opts .check{align-items:center}.f .opts .check input{margin-top:0}
.f .hp{position:absolute;left:-9999px}
.f .status{grid-column:1 / -1;padding:.9rem 1rem;border-radius:10px;background:var(--paper);border-left:4px solid var(--green)}
.f .status.bad{border-left-color:var(--err)}
.f button{font:700 1rem/1.15 var(--f);min-height:50px;padding:.85rem 1.35rem;border-radius:12px;border:0;background:var(--navy);color:#fff;cursor:pointer}
.f button:hover{background:var(--blue)}
.social{display:flex;gap:.5rem;flex-wrap:wrap}
.social a{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);background:var(--paper)}
.social svg{width:20px;height:20px}

/* team (internal page) */
.internal-wrap{padding-top:1rem}
.internal-note{background:var(--note-bg);color:var(--note-fg);border-radius:10px;padding:.8rem 1rem;font-size:.92rem;max-width:none}
.tm-note{padding-top:1.5rem}.tm-note .hint{color:var(--ink-2);font-size:.95rem}
section.tm-group{padding-block:clamp(2rem,4vw,2.75rem) 0}
section.tm-group + section.strip{padding-top:clamp(2.5rem,5vw,3.5rem)}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tm{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.1rem 1.2rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.tm h3{font-size:1.08rem}.tm .role{color:var(--ink-2);font-size:.95rem;margin-top:.15rem}
figure.av{width:84px;height:84px}
figure.av img,span.av{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #6E8F45;background:#fff;display:grid;place-items:center}
.av-ini{background:linear-gradient(135deg,#032D52,#5D82A9)!important;color:#fff;font-weight:800;font-size:1.4rem}
.av-open{color:var(--green-ink);border-style:dashed!important;font-size:2rem;font-weight:700}
.tm-open{background:var(--paper);border-style:dashed}
.tm-lead .tm-grid{grid-template-columns:minmax(0,26rem)}
.tm-lead figure.av,.tm-lead figure.av img{width:112px;height:112px}
.tm-lead .tm h3{font-size:1.3rem}

/* associate expert network */
.net-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.net-c{display:grid;gap:.8rem;align-content:start;padding:1.15rem 1.25rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.net-c h3{font-size:1.02rem}.net-c p{color:var(--ink-2);font-size:.93rem}
.net-cta{margin-top:1.5rem}.net-cta h3{font-size:1.2rem}
.empty{padding:1.6rem;border-radius:var(--r);background:var(--surface);color:var(--ink-2);max-width:none}
.surface .empty{background:var(--paper);border:1px solid var(--line)}

/* insights and events */
.past + .past{margin-top:2.75rem}
.ie-follow{margin-top:2.5rem}
.ins{display:grid;gap:.6rem;padding:clamp(1.25rem,3vw,2rem);border-radius:var(--r);background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--green)}
.ins .meta,.pe .meta{font-size:.85rem;font-weight:700;color:var(--green-ink);text-transform:uppercase;letter-spacing:.04em}
.ins h3,.pe h3{font-size:1.35rem}
.ins > p:not(.meta):not(.more),.pe-body > p:not(.meta):not(.more){color:var(--ink-2)}
.pe{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px);gap:clamp(1rem,3vw,2rem);align-items:start;padding:clamp(1.25rem,3vw,2rem);border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.pe + .pe{margin-top:1rem}
.pe-date{display:grid;justify-items:center;align-content:center;width:96px;height:104px;border-radius:16px;background:var(--night);color:#fff;box-shadow:inset 0 -4px 0 #6E8F45;line-height:1.1}
.pe-date p{max-width:none}.pe-date .d{font-size:2.2rem;font-weight:800}.pe-date .m,.pe-date .y{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#C9D6E3}
.pe-body{display:grid;gap:.6rem;min-width:0}
.pe-prog{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pe-prog summary{padding:.7rem 0}
.pe-list{list-style:none;padding:0 0 1rem;display:grid;gap:.7rem;font-size:.95rem}
.pe-list strong{color:var(--green-ink)}
.pe-prog .ticks{padding-bottom:1rem}
.pe-with{font-size:.9rem;color:var(--ink-2)}
.pe-poster img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 18px rgba(2,38,70,.10)}
@media (max-width:980px){.pe{grid-template-columns:auto minmax(0,1fr)}.pe-poster{grid-column:1/-1;max-width:420px}}
@media (max-width:600px){.pe{grid-template-columns:1fr}.pe-date{width:auto;height:auto;grid-auto-flow:column;gap:.5rem;justify-content:start;padding:.5rem .9rem}.pe-date .d{font-size:1.4rem}.pe-poster{max-width:none}}

/* insights & events v2 · featured insight */
.feat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.feat + .feat{margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line)}
.feat-text{display:grid;gap:.9rem;justify-items:start}
.feat-text .meta{font-size:.82rem;font-weight:700;color:var(--green-ink);letter-spacing:.03em}
.feat-h{font-size:clamp(1.6rem,1.1rem + 1.6vw,2.35rem)}
.feat-text .lead{color:var(--ink-2);font-size:1.1rem}
.feat-text .wp-block-buttons{margin-top:.4rem}
.feat-panel{padding:clamp(1.4rem,3vw,2.1rem);border-radius:var(--r);background:var(--night);color:#E6EEF6;box-shadow:inset 0 -5px 0 #6E8F45;counter-reset:tk}
.feat-k{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--green-l);margin-bottom:1rem}
.nums{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.nums li{counter-increment:tk;position:relative;padding-left:3rem;min-height:2.2rem;line-height:1.5}
.nums li::before{content:counter(tk);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:1rem;background:rgba(168,196,122,.16);color:#CFE3A6}
.feat-all{margin-top:1.1rem;border-top:1px solid rgba(255,255,255,.16)}
.feat-all summary{padding:.85rem 0 .2rem;color:#fff;font-weight:700;cursor:pointer}
.feat-all .nums{padding-top:.9rem}
@media (max-width:900px){.feat{grid-template-columns:1fr}}

/* insights & events v2 · past events grid */
.ie-events .h2s{margin-bottom:1.5rem}
.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px);align-items:stretch}
.ev{display:flex;flex-direction:column;border-radius:var(--r);background:var(--paper);border:1px solid var(--line);overflow:hidden;min-width:0}
.ev-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(160deg,#E9EEF3,#DCE4EC);border-bottom:1px solid var(--line)}
.ev-media .ev-poster,.ev-media .ev-poster .wp-lightbox-container,.ev-media .ev-poster button{height:100%}
.ev-media .ev-poster{position:absolute;inset:0;padding:14px 14px 14px 88px;display:flex;align-items:center;justify-content:center}
.ev-media .ev-poster .wp-lightbox-container{width:100%;display:flex;align-items:center;justify-content:center}
.ev-media .ev-poster img{width:100%;height:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:transparent;filter:drop-shadow(0 6px 14px rgba(2,38,70,.18))}
.ev-date{position:absolute;left:14px;top:14px;display:grid;justify-items:center;width:62px;padding:.45rem 0 .5rem;border-radius:12px;background:var(--night);color:#fff;box-shadow:inset 0 -3px 0 #6E8F45;line-height:1.1}
.ev-date p{max-width:none}.ev-date .d{font-size:1.45rem;font-weight:800}.ev-date .m,.ev-date .y{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#C9D6E3}
.ev-body{display:flex;flex-direction:column;gap:.55rem;padding:1.15rem 1.25rem 1.25rem;flex:1}
.ev-body .meta{font-size:.78rem;font-weight:700;color:var(--green-ink);letter-spacing:.03em}
.ev-body h3{font-size:1.12rem;line-height:1.25}
.ev-sum{color:var(--ink-2);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ev-more{margin-top:auto;border-top:1px solid var(--line)}
.ev-more summary{padding:.7rem 0 .1rem;font-weight:700;color:var(--navy);cursor:pointer}
.ev-more[open]{padding-bottom:.3rem}
.ev-more > *:not(summary){margin-top:.7rem}
.ev-when{font-size:.88rem;color:var(--ink-2)}
.ev-sub{font-size:.9rem;color:var(--navy)}
.ev-more .pe-list{padding-bottom:0;font-size:.9rem}
.ev-body .more{font-size:.93rem;font-weight:700}
.ie-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-top:clamp(1.5rem,3vw,2.25rem);padding:1rem 1.25rem 1rem 1.5rem;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.ie-next-t{color:var(--ink-2)}.ie-next-t strong{color:var(--navy)}
.ie-next .social a{width:40px;height:40px}
section.ie-events + section.videos{padding-top:0}
@media (max-width:980px){.ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ev-grid{grid-template-columns:1fr}.ie-next{border-radius:var(--r)}}

/* video window (GISD Site Tools [gisd_videos]) */
section.videos + section.band-wrap{padding-top:clamp(3.75rem,7vw,6rem)}
.yt-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.yt-grid.yt-n1{grid-template-columns:minmax(0,52rem)}.yt-grid.yt-n2,.yt-grid.yt-n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.yt{margin:0;display:grid;gap:.6rem}
.yt-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,#022646,#5D82A9);box-shadow:0 6px 18px rgba(2,38,70,.12)}
.yt-frame::before{content:"";position:absolute;inset:0;opacity:.3;background:url(../img/map.svg) center/cover;pointer-events:none}
.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;cursor:pointer;display:grid;place-items:center;align-content:center;gap:.8rem;color:#fff;font:700 1rem/1.3 var(--f);padding:1.25rem}
.yt-play:hover .yt-icon,.yt-play:focus-visible .yt-icon{transform:scale(1.08)}
.yt-icon{transition:transform .15s;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.yt-t{max-width:28ch;text-align:center;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.yt figcaption{font-weight:700;color:var(--navy)}
.yt-note{font-size:.85rem;color:var(--ink-2);margin-top:.75rem}
@media (max-width:860px){.yt-grid,.yt-grid.yt-n2,.yt-grid.yt-n4{grid-template-columns:1fr}}

/* simple text pages (privacy) */
.prose > .wrap{max-width:52rem}.prose h1{margin-bottom:1.5rem}.prose h2{margin-top:2rem}.prose p + p{margin-top:1em}

/* header */
.site-h{position:sticky;top:0;z-index:40;background:var(--night);border-bottom:3px solid var(--green)}
.admin-bar .site-h{top:32px}
@media (max-width:782px){.admin-bar .site-h{top:0}}
.site-h .wrap{display:flex;align-items:center;gap:1.25rem;min-height:80px;position:relative}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;margin-right:auto}
.brand .chip{background:#fff;border-radius:12px;padding:6px 8px;display:inline-flex;flex:none}
.brand img{height:44px;width:auto;flex:none}
.brand .name{font-weight:700;font-size:.95rem;line-height:1.2;max-width:12rem;color:#DCE6EE}
.nav > ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:.3rem;background:rgba(255,255,255,.06);border:1px solid var(--d-line);border-radius:999px}
.nav a,.dd-btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;text-decoration:none;font:600 .92rem/1.65 var(--f);padding:.5rem .95rem;border-radius:999px;color:#DCE6EE;background:none;border:0;cursor:pointer}
.nav > ul > li > a:hover,.nav > ul > li > a[aria-current="page"],.dd-btn:hover,.dd-btn.active,.dd-btn[aria-expanded="true"]{background:rgba(255,255,255,.14);color:#fff}
.dd{position:relative}
.dd-btn .caret{transition:transform .15s}.dd-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.dd-menu{display:none;position:absolute;top:calc(100% + 12px);left:0;min-width:270px;flex-direction:column;gap:2px;margin:0;padding:.45rem;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(2,38,70,.18);z-index:60}
.dd-btn[aria-expanded="true"] + .dd-menu{display:flex}
.dd-menu a{display:block;color:var(--navy);border-radius:10px;padding:.65rem .85rem;white-space:normal}
.dd-menu a:hover{background:var(--surface);color:var(--navy)}
.dd-menu a[aria-current="page"]{background:var(--surface);color:var(--navy);box-shadow:inset 3px 0 0 var(--green)}
.dd-menu .internal{font-size:.75rem;font-weight:700;color:var(--note-fg);background:var(--note-bg);border-radius:4px;padding:0 .3rem;margin-left:.3rem}
.lang{display:flex;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:2px}
.lang a{font:700 .8rem/1 var(--f);color:#C5D2DD;border-radius:999px;padding:.6rem .65rem;min-width:42px;text-align:center;text-decoration:none}
.lang a[aria-current="true"]{background:#fff;color:var(--night)}
.h-cta{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;padding:.6rem 1.1rem;border-radius:12px;background:var(--green);color:#fff;font-weight:700;text-decoration:none}
.h-cta:hover{background:var(--green-ink);color:#fff}
.menu-btn{display:none;align-items:center;gap:.4rem;color:#fff;background:none;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:.5rem .85rem;font:700 .9rem var(--f);min-height:44px;cursor:pointer}
@media (max-width:1320px){.brand .name{display:none}}
@media (max-width:1520px){html[lang^="fr"] .brand .name{display:none}}
@media (max-width:1080px){
  .menu-btn{display:inline-flex}.h-cta{display:none}
  .nav{position:absolute;inset:100% 0 auto 0;background:var(--night);border-bottom:1px solid var(--d-line);display:none;max-height:calc(100vh - 80px);overflow:auto}
  .nav.open{display:block}
  .nav > ul{flex-direction:column;gap:0;background:none;border:0;border-radius:0;padding:.25rem var(--gut) 1rem}
  .nav > ul > li > a,.dd-btn{width:100%;justify-content:space-between;border-radius:0;padding:.95rem 0;border-bottom:1px solid var(--d-line);font-size:1.05rem;background:none!important}
  .dd-menu{position:static;min-width:0;padding:0 0 .25rem 1rem;background:none;border:0;border-radius:0;box-shadow:none}
  .dd-menu a{color:#DCE6EE;border-radius:0;padding:.8rem 0;border-bottom:1px solid var(--d-line);font-size:1rem}
  .dd-menu a:hover,.dd-menu a[aria-current="page"]{background:none;color:#fff;box-shadow:none;text-decoration:underline}
}
@media (max-width:420px){.brand img{height:40px}.site-h .wrap{gap:.6rem;min-height:70px}}

/* footer */
.site-f{background:var(--night);color:#AFC0CF;font-size:.92rem;padding-block:3rem 2rem}
.site-f a{color:#fff}
.f-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2rem;align-items:center}
.f-logo{background:#fff;border-radius:12px;padding:6px 8px;display:inline-flex}.f-logo img{height:48px;width:auto}
.f-nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:center}
.f-nav a{text-decoration:none;font-weight:700}.f-nav a:hover{text-decoration:underline}
.site-f .social a{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.f-base{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between}
@media (max-width:860px){.f-top{grid-template-columns:1fr;justify-items:start}.f-nav{justify-content:flex-start}}

/* 404 and generic content */
.generic > .wrap{max-width:52rem}.generic h1{margin-bottom:1rem}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* cookie consent */
.gisd-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:34rem;margin-left:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 28px rgba(2,38,70,.18);padding:1rem 1.25rem;display:grid;gap:.75rem;font-size:.95rem}
.gisd-consent[hidden]{display:none}
.gisd-consent a{color:var(--blue);text-decoration:underline}
.gisd-consent-b{display:flex;gap:.5rem;flex-wrap:wrap}
.gisd-consent button{font:inherit;font-weight:600;border-radius:999px;padding:.55rem 1.1rem;cursor:pointer;border:1px solid var(--navy);background:var(--navy);color:#fff}
.gisd-consent button.gc-no{background:var(--paper);color:var(--navy);border-color:var(--line)}
.gisd-consent button:focus-visible{outline:3px solid var(--green-l);outline-offset:2px}
