/* BDCG Annual Conference 2026 Theme v2.2 — recolored to the FINAS logo
   palette (Teal 059B84 / Red-orange E3432D / Black 231f20), extracted
   directly from the logo artwork. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* FINAS red-orange — brand secondary, used across eyebrow tags, links and
     accents (not just icon bullets) so it reads as a true two-colour system. */
  --orange:#E3432D;--orange-d:#C32B16;--orange-l:#FDE9E6;
  /* Muted red — reserved for "this needs attention now" states. */
  --red:#a13b2e;--red-d:#732a20;--red-l:#f3ddd8;
  /* FINAS teal — brand primary, sampled directly from the logo. */
  --green:#059B84;--green-d:#047463;--green-m:#36AF9D;
  --green-l:#E1F3F0;--green-xl:#EFF9F7;
  --dark:#231f20;--mid:#565f6e;--muted:#6d7380;
  --cream:#f7f9fc;--white:#fff;--border:#e3e8f0;
  --shadow:rgba(5,155,132,.12);
  --fd:'Montserrat',sans-serif;--fb:'Montserrat',sans-serif;
  --r:20px;--rs:12px;--max:1300px;
  --mission-brown:#059B84;--mission-green:#E3432D;
}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--cream);color:var(--dark);overflow-x:hidden;line-height:1.65;font-size:18px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
/* Only reset lists inside nav/layout — not inside content areas */
nav ul,
.nav-menu,
.nav-drawer ul,
.foot-links,
.kit-feat-list,
.prod-features,
.foot-grid ul,
.c-info,
.impact-counters,
.county-chips,
.svc-grid,
.how-steps,
.vtest-grid,
.team-grid,
.news-grid,
.p-logos,
.job-tags,
.perks-grid,
.timeline,
.cta-btns,
.kit-badge-row,
.gal-grid,
.sl-dots,
.svc-nav-dots,
.svc-slider,
.about-body .mv-row { list-style: none; }
ul { list-style: none; }
/* Restore bullets inside rich text content areas */
.wp-content-area ul,
.article-content ul,
.job-content ul,
.entry-content ul,
[class*="content-area"] ul { list-style: disc; }
.wp-content-area ol,
.article-content ol,
.job-content ol,
.entry-content ol,
[class*="content-area"] ol { list-style: decimal; }
h1,h2,h3{font-family:var(--fd)}

/* NAV */
.nav-actions{display:flex;align-items:center;gap:.25rem}
.nav-search-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:none;color:var(--dark);font-size:1.02rem;cursor:pointer;transition:background .2s,color .2s}
.nav-search-btn:hover{background:var(--green-l);color:var(--green)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header{position:relative;z-index:300;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:rgba(250,250,247,.97);transition:box-shadow .3s}
/* Logged-in admin bar sits fixed at top:0 above everything (32px desktop,
   46px on the mobile breakpoint WP switches it to). The header now scrolls
   with the page (not fixed), so WP's own html.wp-toolbar padding already
   clears it — only the still-fixed mobile drawer overlay needs the offset. */
body.admin-bar .nav-drawer{top:32px}
@media screen and (max-width:782px){
  body.admin-bar .nav-drawer{top:46px}
}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img,.nav-logo svg{height:48px;width:auto}
.nav-logo-h{display:inline-flex;align-items:center;gap:.6rem}
.nav-logo-h img{height:44px;width:auto}
.nav-logo-chip{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:9px;padding:3px;box-shadow:0 1px 4px rgba(0,0,0,.12);flex-shrink:0}
.nav-logo-mark{height:34px;width:auto;display:block}
.foot-grid .nav-logo-chip{padding:4px;border-radius:10px}
.foot-grid .nav-logo-mark{height:38px}
.nav-logo-text{font-family:var(--fd);font-weight:800;font-size:1.45rem;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.nlt-just{color:var(--dark)}
.nlt-act{color:var(--green-m)}
.nlt-year{font-size:.6em;font-weight:700;vertical-align:super;margin-left:.15em}
.nav-logo-h--white .nlt-just,.nav-logo-h--white .nlt-act{color:#fff}
.foot-grid .nav-logo-text{font-size:1.2rem}
.site-header--inner:not(.scrolled) .nlt-just,
.site-header--inner:not(.scrolled) .nlt-act{color:#fff}
.nav-menu{display:flex;gap:1.9rem;list-style:none;margin:0;padding:0}
.nav-menu a{font-size:.92rem;font-weight:600;color:var(--dark);text-decoration:none;transition:color .2s;white-space:nowrap}
.nav-menu a:hover,.nav-menu .current-menu-item>a{color:var(--green)}
.nav-cta{background:var(--green);color:#fff;padding:.52rem 1.4rem;border-radius:8px;text-decoration:none;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:background .2s,transform .15s;white-space:nowrap}
.nav-cta:hover{background:var(--orange-d);transform:translateY(-1px);color:#fff}
.nav-right{display:flex;align-items:center;gap:1.25rem}
.nav-login{font-size:.92rem;font-weight:700;color:var(--dark);text-decoration:none;white-space:nowrap;transition:color .2s}
.nav-login:hover{color:var(--green)}
.nav-account-wrap{position:relative}
.nav-account{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--dark);white-space:nowrap}
.nav-account-avatar{width:28px;height:28px;border-radius:50%;display:block}
.nav-account-name{font-size:.9rem;font-weight:700;transition:color .2s}
.nav-account-caret{font-size:.65rem;color:var(--muted);transition:color .2s,transform .2s}
.nav-account:hover .nav-account-name,
.nav-account:hover .nav-account-caret{color:var(--green)}
.nav-account-wrap:hover .nav-account-caret,
.nav-account-wrap:focus-within .nav-account-caret{transform:rotate(180deg)}

/* Dropdown — same panel styling as the main nav's .sub-menu, right-aligned
   since this sits at the far right edge of the header. */
.nav-account-wrap::after{content:'';position:absolute;top:100%;left:-20px;right:-20px;height:16px}
.nav-account-menu{
  display:block;visibility:hidden;opacity:0;pointer-events:none;
  position:absolute;top:100%;right:0;transform:translateY(-4px);
  min-width:200px;background:#fff;border:1px solid var(--border);border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06);
  padding:.65rem 0 .5rem;list-style:none;margin:0;z-index:400;
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}
.nav-account-wrap:hover .nav-account-menu,
.nav-account-wrap:focus-within .nav-account-menu{
  visibility:visible;opacity:1;pointer-events:auto;
  transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear 0s;
}
.nav-account-menu li{position:relative}
.nav-account-menu a{
  display:flex;align-items:center;padding:.6rem 1.25rem;
  font-size:.84rem;font-weight:500;color:var(--mid) !important;
  text-decoration:none;transition:background .15s,color .15s;
  white-space:nowrap;border-radius:0;
}
.nav-account-menu a:hover{background:var(--green-xl);color:var(--green) !important}
.nav-account-menu li:first-child a{border-radius:10px 10px 0 0}
.nav-account-menu li:last-child a{border-radius:0 0 10px 10px}
.nav-account-menu li:only-child a{border-radius:10px}
.nav-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);z-index:299;flex-direction:column;padding:2rem 1.75rem;overflow-y:auto;transform:translateX(-100%);transition:transform .35s ease}
.nav-drawer.open{transform:translateX(0)}
.nav-drawer ul{list-style:none;margin:0;padding:0}
.nav-drawer li{border-bottom:1px solid var(--border)}
.nav-drawer a{display:block;padding:1rem 0;font-size:1.05rem;font-weight:500;color:var(--dark);text-decoration:none;transition:color .2s}
.nav-drawer a:hover{color:var(--green)}
.nav-drawer .nav-cta{margin-top:1.5rem;width:100%;justify-content:center;padding:.9rem;font-size:.95rem}
.nav-login--drawer{display:block;padding:1rem 0;font-size:1.05rem;font-weight:500;border-bottom:1px solid var(--border)}
.nav-account--drawer{display:flex;padding:1rem 0;border-bottom:1px solid var(--border)}
.nav-account--drawer .nav-account-avatar{width:34px;height:34px}
.nav-account--drawer .nav-account-name{font-size:1.05rem;font-weight:500}

/* SHARED */
.sec{padding:7rem 5rem}
.sec--tight{padding-top:3rem;padding-bottom:3rem}
.sec-in{max-width:var(--max);margin:0 auto}
.sec-tag{display:inline-flex;align-items:center;gap:7px;color:var(--orange-d);font-size:.77rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}
.sec-tag::before{content:'';display:block;width:18px;height:2px;background:var(--orange)}
h2{font-size:clamp(2rem,3.2vw,3.1rem);font-weight:700;line-height:1.1;color:var(--dark);margin-bottom:1rem}
h2 em{font-style:italic;color:var(--orange-d)}
.sec-sub{font-size:1rem;color:var(--mid);line-height:1.8;max-width:540px}
.btn-green{background:var(--green);color:#fff;padding:.9rem 2rem;border-radius:8px;border:none;text-decoration:none;font-weight:600;font-size:.92rem;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .15s}
.btn-green:hover{background:var(--green-d);transform:translateY(-2px);color:#fff}
.btn-outline{color:var(--mid);padding:.9rem 1.6rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.92rem;border:1.5px solid var(--border);display:inline-flex;align-items:center;gap:8px;transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--green);color:var(--green)}

/* HERO — full-bleed, edge-to-edge slider under the transparent header */
.hero{padding:0;background:var(--cream)}

/* SLIDER */
.hero-r{position:relative;overflow:hidden}
.slider{position:relative;width:100%;height:100%;display:flex;flex-direction:column}
.sl-track{flex:1;position:relative;overflow:hidden;min-height:70vh}
.slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 max(4rem, calc((100% - var(--max)) / 2));opacity:0;transition:opacity .8s ease;z-index:1}
.slide.active{opacity:1;z-index:2}
.sl-bg{position:absolute;inset:0;background-size:cover;background-position:center 22%}
.sl-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,12,.85) 0%,rgba(6,20,12,.55) 40%,rgba(6,20,12,.15) 65%,transparent 85%)}
.sl-cap{position:relative;z-index:3;max-width:400px}
/* Dash + tracked-caps label — the same eyebrow style used site-wide
   (.sec-tag), not a glassmorphism pill, so the slider reads as part of the
   same design system instead of a bolted-on badge. */
.sl-tag{display:flex;flex-direction:column;gap:.55rem;color:rgba(255,255,255,.92);font-size:.95rem;font-weight:600;margin-bottom:1rem}
.sl-tag span{display:inline-flex;align-items:center;gap:.6rem}
.sl-tag i{color:var(--green);font-size:1rem}
.sl-loc-link{color:inherit;text-decoration:none}
.sl-loc-link:hover{text-decoration:underline}
.sl-site-title{font-family:var(--fd);font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:.6rem}
.sl-site-title-accent{color:var(--orange)}
.sl-title{font-family:var(--fb);font-size:clamp(.92rem,1.2vw,1.05rem);font-weight:400;color:rgba(255,255,255,.82);line-height:1.5;max-width:460px}
.sl-cta{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.75rem;background:var(--orange);color:#fff;padding:.9rem 1.6rem;border-radius:8px;font-weight:600;font-size:.92rem;text-decoration:none;transition:background .2s,transform .15s}
.sl-cta:hover{background:var(--orange-d);transform:translateY(-2px)}

/* HERO CAPTION v2 — eyebrow + big year/location + headline + subtitle +
   two pill CTAs, in place of the icon-tag/countdown layout. */
.sl-cap-v2{max-width:640px}
.sl-eyebrow{font-family:var(--fb);font-size:.82rem;font-weight:700;letter-spacing:.12em;color:#7fe6cb;margin-bottom:1rem}
.sl-year-row{display:flex;align-items:baseline;gap:.85rem;margin-bottom:.5rem}
.sl-year{font-family:var(--fd);font-size:clamp(3.2rem,7vw,5.2rem);font-weight:800;color:#fff;line-height:1}
.sl-year-loc{font-family:var(--fb);font-size:1rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.sl-headline{font-family:var(--fd);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:800;color:#fff;line-height:1.15;margin-bottom:.85rem}
.sl-cap-v2 .sl-title{max-width:520px;margin-bottom:1.75rem}
.sl-cta-row{display:flex;flex-wrap:wrap;gap:1rem}
.pill-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.8rem;border-radius:50px;font-weight:700;font-size:.92rem;text-decoration:none;transition:background .2s,transform .15s,border-color .2s}
.pill-btn--filled{background:var(--green);color:#fff}
.pill-btn--filled:hover{background:var(--green-d);transform:translateY(-2px)}
.pill-btn--outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.65)}
.pill-btn--outline:hover{border-color:#fff;transform:translateY(-2px)}
@media(max-width:600px){
  .sl-year{font-size:2.8rem}
  .sl-headline{font-size:1.7rem}
}
.sl-ctrl{position:absolute;right:2.5rem;top:2.5rem;z-index:10;display:none;align-items:center;gap:1rem}
.sl-dots{display:flex;gap:7px;align-items:center}
.s-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.32);cursor:pointer;transition:all .35s;border:none;padding:0}
.s-dot.active{background:#fff;width:22px;border-radius:4px}
.sl-arr{display:flex;gap:8px}
.sl-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);backdrop-filter:blur(6px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.78rem;transition:background .2s,border-color .2s}

.sl-btn:hover{background:rgba(255,255,255,.25);border-color:#fff}

/* HERO VIDEO — replaces the multi-slide carousel with a full-bleed, muted,
   looping YouTube background video (no controls/branding, no sound); reuses
   .sl-cap/.sl-tag/.sl-title/.sl-countdown so the caption block looks
   identical to the old slider. */
.hero-video{position:relative;min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding:0 4rem;overflow:hidden;background:var(--dark)}
.hv-media{position:absolute;inset:0;z-index:0;pointer-events:none}
.hv-media .hv-poster{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:opacity .6s ease}
.hv-media iframe{position:absolute;border:0;display:block;pointer-events:none}
.hero-video.is-playing .hv-poster{opacity:0}
.hero-video::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,12,.88) 0%,rgba(6,20,12,.55) 40%,rgba(6,20,12,.15) 65%,transparent 85%);z-index:1;pointer-events:none}
.hero-video .sl-cap{position:relative;z-index:3;max-width:400px}
@media(max-width:900px){
  .hero-video{min-height:58vh;justify-content:flex-start;padding:1.5rem 1.5rem 2.5rem}
  .hero-video .sl-cap{max-width:320px}
  .sl-track{min-height:70vh}
  .slide{padding:1.5rem 1.5rem 2.5rem}
  .sl-cap{max-width:320px}
  .sl-ctrl{right:1.5rem;top:1.5rem}
}
@media(max-width:600px){
  .sl-track{min-height:70vh}
}

/* SLIDER COUNTDOWN — a small cluster of frosted-glass flip chips with a
   blinking accent colon, sitting between the date tag and the headline.
   Creative but restrained: same glass treatment as .sl-btn, same accent
   green as the tag's dash. */
.sl-countdown{margin:0 0 1.2rem}
.sl-countdown-hero{margin:1.5rem 0 0}
.sl-countdown-hero .sl-cd-chips{display:inline-flex;align-items:stretch;padding:0;background:var(--green);border-radius:50px;overflow:hidden;box-shadow:0 12px 30px -14px rgba(0,0,0,.55)}
.sl-countdown-hero .sl-cd-nums{display:flex;align-items:center;gap:.55rem;padding:.9rem 1.5rem}
.sl-countdown-hero .sl-cd-num{font-family:var(--fd);font-weight:800;font-size:1.5rem;color:#fff;font-variant-numeric:tabular-nums}
.sl-countdown-hero .sl-cd-label{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.85);margin-left:.2rem;text-transform:uppercase}
.sl-countdown-hero .sl-cd-colon{font-size:1.2rem;font-weight:800;color:#fff;margin:0 .1rem;animation:none}
.sl-cd-register{margin-left:0;padding:.9rem 1.6rem;background:#fff;color:var(--dark);border-radius:0;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;transition:background .2s;flex-shrink:0}
.sl-cd-register:hover{background:#f2f2f2;color:var(--dark)}
.sl-cd-register i{font-size:.78rem}
@media(max-width:600px){
  .sl-countdown-hero .sl-cd-chips{flex-wrap:wrap;border-radius:16px}
  .sl-countdown-hero .sl-cd-nums{padding:.65rem 1rem;gap:.4rem;flex:1 1 auto;justify-content:center}
  .sl-countdown-hero .sl-cd-num{font-size:1.1rem}
  .sl-countdown-hero .sl-cd-label{font-size:.62rem}
  .sl-countdown-hero .sl-cd-colon{font-size:.9rem}
  .sl-cd-register{padding:.65rem 1rem;width:100%;justify-content:center;border-top:1px solid rgba(0,0,0,.08)}
}
.sl-cd-chips{display:flex;align-items:center;gap:.5rem}
.sl-cd-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:.55rem .4rem .5rem;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.2);border-radius:11px;backdrop-filter:blur(10px);box-shadow:0 10px 24px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.18)}
.sl-cd-num{font-family:var(--fd);font-weight:800;font-size:1.5rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.sl-cd-label{margin-top:.3rem;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sl-cd-colon{font-family:var(--fd);font-weight:800;font-size:1.2rem;color:var(--green-m);animation:cdBlink 1.4s ease-in-out infinite}
.sl-countdown.countdown-live .sl-cd-num{color:#ffd166}
@keyframes cdBlink{0%,100%{opacity:1}50%{opacity:.2}}
@media(max-width:900px){
  .sl-countdown{margin-bottom:.9rem}
  .sl-cd-chips{gap:.4rem}
  .sl-cd-chip{min-width:48px;padding:.45rem .35rem .4rem;border-radius:9px}
  .sl-cd-num{font-size:1.2rem}
  .sl-cd-label{font-size:.52rem;margin-top:.2rem}
  .sl-cd-colon{font-size:1rem}
}
@media(max-width:480px){
  .sl-cd-chips{gap:.3rem}
  .sl-cd-chip{min-width:42px;padding:.4rem .25rem .35rem}
  .sl-cd-num{font-size:1.05rem}
  .sl-cd-colon{font-size:.9rem}
}

/* ABOUT BAND — compact single row: eyebrow+title left, copy+CTA right,
   status strip underneath. A slim rust band, not a second hero. */
.about-band{background:var(--green);padding:4rem 5rem}
.about-band.countdown-band{background:var(--orange-d)}
.about-band.countdown-band .btn-white{color:var(--orange-d)}
.about-band-in{max-width:var(--max);margin:0 auto}
.about-band-row{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.about-band .sec-tag{color:rgba(255,255,255,.78);margin-bottom:.6rem}
.about-band .sec-tag::before{background:rgba(255,255,255,.3)}
.about-band-h{margin:0;color:#fff;font-size:clamp(1.35rem,1.9vw,1.7rem);line-height:1.3;font-weight:700}
.about-band-p{font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.7;margin:0 0 1rem}
.status-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.16)}
.status-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.68)}
.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.status-dot--live{background:#fff}
.status-dot--soon{background:rgba(255,255,255,.4)}
@media(max-width:900px){.about-band-row{grid-template-columns:1fr}}

/* COUNTDOWN BAND — the About band's two-column layout kept as-is
   (eyebrow + headline left, countdown + CTA right), just with the
   right column now holding the chip cluster instead of copy. */
.countdown-band-cd{margin:0 0 1.1rem}
.countdown-band-cd .sl-cd-chips{gap:.75rem}
.countdown-band-cd .sl-cd-chip{min-width:78px;padding:.85rem .6rem}
.countdown-band-cd .sl-cd-num{font-size:2.1rem}
.countdown-band-cd .sl-cd-label{font-size:.66rem;margin-top:.35rem}
.countdown-band-cd .sl-cd-colon{font-size:1.6rem;color:#fff}
.countdown-band-join{font-size:.9rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:0}
.countdown-band .btn-white{padding:.7rem 1.5rem;font-size:.85rem}
@media(max-width:767px){
  .countdown-band-cd .sl-cd-chips{gap:.5rem}
  .countdown-band-cd .sl-cd-chip{min-width:60px;padding:.65rem .45rem}
  .countdown-band-cd .sl-cd-num{font-size:1.6rem}
  .countdown-band-cd .sl-cd-colon{font-size:1.3rem}
}

/* THEME — plain two-tone row directly under the hero, no card chrome: the
   countdown + CTA on a plain half, our tagline on a tinted-green half, the
   colour change alone doing the job a divider used to, kept short (small
   vertical padding) so it reads as a slim strip, not another full section. */
.theme-sec{background:var(--cream)}
.theme-flex{display:flex;align-items:stretch;width:100%}
.theme-col{flex:1;padding:2.5rem 5rem;display:flex;flex-direction:column;justify-content:center}
.theme-h{font-family:var(--fd);font-size:1.35rem;line-height:1.45;color:var(--dark);font-weight:500}
.theme-h strong{font-weight:800}
.theme-cd{margin:1.5rem 0 0}
.theme-cd .sl-cd-chip{background:var(--white);border:1px solid var(--border);box-shadow:none;backdrop-filter:none}
.theme-cd .sl-cd-num{color:var(--dark)}
.theme-cd .sl-cd-label{color:var(--mid)}
.theme-cd .sl-cd-colon{color:var(--orange-d)}
.theme-cd-lg .sl-cd-chips{gap:.6rem}
.theme-cd-lg .sl-cd-chip{min-width:64px;padding:.75rem .5rem}
.theme-cd-lg .sl-cd-num{font-size:1.7rem}
.theme-cd-lg .sl-cd-label{font-size:.64rem;margin-top:.3rem}
.theme-cd-lg .sl-cd-colon{font-size:1.3rem}
.theme-col-accent{background:var(--orange-l)}
.theme-h-accent strong{color:var(--orange-d)}
@media(max-width:900px){
  .theme-flex{flex-direction:column;align-items:stretch}
  .theme-col{padding:2rem 1.5rem}
}

/* ABOUT */
.about-sec{background:#f7f9fc;padding-top:3rem;padding-bottom:3rem}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.about-img{position:relative;border-radius:var(--r);overflow:hidden;height:500px}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-badge{position:absolute;bottom:1.75rem;left:1.75rem;background:var(--green);color:#fff;border-radius:var(--rs);padding:1rem 1.25rem}
.ab-num{font-family:var(--fd);font-size:1.8rem;font-weight:700;line-height:1;color:#fff}
.ab-lbl{font-size:.72rem;color:rgba(255,255,255,.65);margin-top:3px}
.about-body p{font-size:.96rem;color:var(--mid);line-height:1.85;margin-bottom:1.4rem}
.about-body p:last-of-type{margin-bottom:0}
.about-body p strong{color:var(--dark);font-weight:600}
/* Lead paragraph — larger and darker so the block opens with a clear
   anchor line instead of four same-weight paragraphs running together. */
.about-body p:first-child{font-size:1.1rem;color:var(--dark);line-height:1.75;margin-bottom:1.75rem}

/* CORE VALUES — bullet list beside a photo */
.values-list{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-direction:column;gap:.9rem}
.values-list li{position:relative;padding-left:1.6rem;font-size:.96rem;color:var(--mid);line-height:1.7}
.values-list li::before{content:'';position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--green-m)}
.about-grid--flip .about-img{order:2}
.about-grid--flip .about-body{order:1}
/* Stretch variant — image fills the row height to match the text column
   instead of the fixed 500px crop, for pairings where the two need to
   visually align top-to-bottom (e.g. a shorter or longer prose block). */
.about-grid--stretch{align-items:stretch}
.about-grid--stretch .about-img{height:100%;min-height:340px}

.dual-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:5.5rem}
.dual-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2.75rem}
.dual-card .sec-tag{margin-bottom:1rem}
.dual-card h3{font-family:var(--fd);font-size:1.6rem;font-weight:700;color:var(--dark);line-height:1.25;margin-bottom:1rem}
.dual-card h3 em{color:var(--orange-d)}
.dual-card p{font-size:.96rem;color:var(--mid);line-height:1.8;margin:0}
@media(max-width:767px){.dual-cards{grid-template-columns:1fr;gap:1.5rem}}

.pillar-align-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-top:0}
.pillar-align-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem;transition:transform .2s,box-shadow .2s}
.pillar-align-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px var(--shadow)}
.pillar-align-ico{width:44px;height:44px;border-radius:12px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:1.25rem}
.pillar-align-card h3{font-family:var(--fd);font-size:1.02rem;font-weight:700;color:var(--dark);margin-bottom:.65rem;line-height:1.3}
.pillar-align-card p{font-size:.88rem;color:var(--mid);line-height:1.7;margin:0}

.venue-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.venue-info-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.75rem 1.5rem;transition:transform .2s,box-shadow .2s}
.venue-info-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px var(--shadow)}
.venue-info-ico{width:42px;height:42px;border-radius:12px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:1.1rem}
.venue-info-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}
.venue-info-value{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);line-height:1.35}
.venue-info-value a{color:var(--green);word-break:break-word}
.venue-info-map{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;font-size:.82rem;font-weight:600;color:var(--green);text-decoration:none}
.venue-info-map i{font-size:.7rem}
.venue-info-map:hover{text-decoration:underline}
@media(max-width:1099px){.venue-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.venue-info-grid{grid-template-columns:1fr}}

/* THREE PILLARS — bullet list beside the panel photo, same rhythm as
   .values-list but with a bold lead-in per pillar. */
.pillars-list{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-direction:column;gap:1.1rem}
.pillars-list li{position:relative;padding-left:1.6rem;font-size:.96rem;color:var(--mid);line-height:1.7}
.pillars-list li::before{content:'';position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--green-m)}
.pillars-list li strong{color:var(--dark);font-weight:700}

/* OUR APPROACH pillars — three distinct accent tones instead of one flat
   green repeated three times, so the row reads as three ideas, not one. */
.pillar-ico--1{background:var(--green-l)}
.pillar-ico--1 i{color:var(--green)}
.pillar-ico--2{background:var(--orange-l)}
.pillar-ico--2 i{color:var(--orange)}
.pillar-ico--3{background:var(--orange-l)}
.pillar-ico--3 i{color:var(--green-m)}

/* MISSION / VISION — plain, unboxed columns (no card border/background;
   a single rule between them is enough separation, matching the more
   editorial feel of the paragraphs above rather than a widget-y card). */
.values-row{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--border)}
.values-col{padding-right:2.5rem}
.values-col--rule{border-left:1px solid var(--border);padding-left:2.5rem}

/* MISSION / VISION — clean cards */
.mv-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--border)}
.mv-card{border-radius:var(--rs);padding:1.85rem;border:1px solid var(--border);background:var(--white);transition:border-color .2s,box-shadow .2s}
.mv-card:hover{border-color:var(--green-l);box-shadow:0 8px 24px var(--shadow)}
.mv-card-top{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.mv-ico{width:38px;height:38px;border-radius:10px;background:var(--green-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mv-ico i{color:var(--green);font-size:15px}
.mv-t{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--dark)}
.mv-d{font-size:.86rem;color:var(--mid);line-height:1.7}

/* VIDEO */
.video-sec{background:var(--dark);padding:7rem 5rem}
.video-in{max-width:var(--max);margin:0 auto}
.video-head{text-align:center;margin-bottom:3rem}
.video-head .sec-tag{justify-content:center;color:rgba(255,255,255,.78)}
.video-head .sec-tag::before{background:rgba(255,255,255,.25)}
.video-head h2{color:#fff}
.video-head h2 em{color:var(--orange)}
.video-head .sec-sub{color:rgba(255,255,255,.48);margin:0 auto;text-align:center}
.vplayer{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:#000;box-shadow:0 40px 80px rgba(0,0,0,.5);max-width:920px;margin:0 auto;cursor:pointer}
.vplayer img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.vplayer:hover img{opacity:.82}
.vplay-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vplay-circle{width:88px;height:88px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 36px rgba(26,92,58,.45)}
.vplayer:hover .vplay-circle{transform:scale(1.08);box-shadow:0 12px 50px rgba(26,92,58,.6)}
.vplay-circle i{color:#fff;font-size:28px;margin-left:5px}
.vmodal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1000;align-items:center;justify-content:center;padding:2rem}
.vmodal.open{display:flex}
.vm-in{position:relative;width:100%;max-width:960px}
.vm-close{position:absolute;top:-3rem;right:0;background:none;border:none;color:rgba(255,255,255,.6);font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .2s}
.vm-close:hover{color:#fff}
.vm-frame{width:100%;aspect-ratio:16/9;border-radius:var(--rs);overflow:hidden;background:#000}
.vm-frame iframe{width:100%;height:100%;border:none}

/* AHA-KIT */
.kit-sec{background:var(--cream)}
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.kit-badge-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.25rem;margin-bottom:2rem}
.kit-badge{background:var(--green-l);color:var(--green);border:1px solid rgba(26,92,58,.18);border-radius:50px;padding:.28rem .85rem;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.kit-feat-list{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem}
.kit-feat{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.1rem 1.35rem;display:flex;gap:.9rem;align-items:flex-start;transition:transform .2s,box-shadow .2s}
.kit-feat:hover{transform:translateX(5px);box-shadow:0 6px 20px var(--shadow)}
.kit-feat-ico{width:40px;height:40px;border-radius:11px;flex-shrink:0;background:var(--green-l);display:flex;align-items:center;justify-content:center;transition:background .2s}
.kit-feat:hover .kit-feat-ico{background:var(--green)}
.kit-feat-ico i{color:var(--green);font-size:15px;transition:color .2s}
.kit-feat:hover .kit-feat-ico i{color:#fff}
.kit-feat-t{font-weight:600;font-size:.92rem;margin-bottom:2px;color:var(--dark)}
.kit-feat-d{font-size:.84rem;color:var(--mid);line-height:1.6}
.kit-card{background:#1a2318;border-radius:var(--r);padding:2.25rem;box-shadow:0 36px 72px rgba(0,0,0,.22)}
.kc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}
.kc-lbl{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.32)}
.kc-live{display:inline-flex;align-items:center;gap:5px;background:rgba(26,92,58,.2);color:var(--green-m);padding:3px 10px;border-radius:50px;font-size:.7rem;font-weight:600;border:1px solid rgba(26,92,58,.3)}
.kc-row{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.kc-row:last-of-type{border-bottom:none}
.kc-l{display:flex;align-items:center;gap:9px}
.kc-l i{color:rgba(255,255,255,.22);font-size:12px;width:14px}
.kc-l span{font-size:.86rem;color:rgba(255,255,255,.5)}
.kc-v{font-size:.9rem;font-weight:600;color:#fff}
.kc-v.g{color:var(--green-m)}
.kc-prog{margin-top:1.75rem;display:flex;flex-direction:column;gap:.85rem}
.kp-row{display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.32);margin-bottom:5px}
.kp-bar{height:4px;background:rgba(255,255,255,.07);border-radius:10px;overflow:hidden}
.kp-fill{height:100%;border-radius:10px;background:var(--green-m)}

/* ═══ CONFERENCE THEMES — light section, deliberately not the rust band
   above or below it, so the page has rhythm instead of one flat colour. ═══ */
.svc-sec{background:var(--cream)}
.svc-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
.svc-top-right p{font-size:1rem;color:var(--mid);line-height:1.8;margin-bottom:1.25rem}
.svc-cta-link{display:inline-flex;align-items:center;gap:8px;color:var(--orange-d);font-weight:600;font-size:.9rem;text-decoration:none;transition:gap .2s}
.svc-cta-link:hover{gap:12px}

/* ═══ IMPACT v2 — animated counters + Leaflet OSM ═══ */
.impact-sec{background:#18211c}
.impact-top{padding:4rem 5rem 3rem}
.impact-top-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:center}
.impact-headline .sec-tag{color:rgba(255,255,255,.78)}
.impact-headline .sec-tag::before{background:rgba(255,255,255,.28)}
.impact-headline h2{color:#fff}
.impact-headline h2 em{color:var(--orange);font-style:italic}
.impact-lead{font-size:.92rem;color:rgba(255,255,255,.48);line-height:1.75;margin-top:.6rem}
.impact-counters{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ictr{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:var(--r);padding:1.5rem 1.25rem;text-align:center;transition:background .2s}
.ictr:hover{background:rgba(241,101,34,.1)}
.ictr-ico{width:36px;height:36px;border-radius:10px;background:var(--orange-l);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}
.ictr-ico i{color:var(--green-m);font-size:14px}
.ictr-num{font-family:var(--fd);font-size:2.4rem;font-weight:700;color:var(--orange);line-height:1;margin-bottom:.3rem}
.ictr-lbl{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:500}
#impactMap{z-index:1}
#impactMap .leaflet-tile{filter:brightness(.85) saturate(.7)}
.leaflet-popup-content-wrapper{border-radius:10px !important;box-shadow:0 8px 24px rgba(0,0,0,.2) !important;font-family:var(--fb) !important}
.impact-map-note{background:rgba(255,255,255,.04);border-top:1px solid rgba(255,255,255,.08);padding:.75rem 5rem;display:flex;align-items:center;gap:1.25rem;font-size:.75rem;color:rgba(255,255,255,.4)}
.map-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:4px}
.map-dot.orange{background:var(--orange)}
.map-dot.green{background:var(--green-m)}
.impact-map-note a{color:rgba(255,255,255,.45)}

/* TESTIMONIALS — video only, no text overlay */
.test-sec{background:var(--white)}
.test-head{text-align:center;max-width:540px;margin:0 auto 3.5rem}
.test-head .sec-tag{justify-content:center}
.vtest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.vtest-card{border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative;aspect-ratio:16/9;background:#111;transition:transform .22s,box-shadow .22s}
.vtest-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.22)}
.vt-thumb{position:absolute;inset:0}
.vt-thumb img{width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform .5s}
.vtest-card:hover .vt-thumb img{opacity:.8;transform:scale(1.03)}
.vt-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,6,.55) 0%,transparent 50%)}
.vt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vt-btn{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px rgba(0,0,0,.3)}
.vtest-card:hover .vt-btn{transform:scale(1.1);box-shadow:0 8px 28px rgba(0,0,0,.35)}
.vt-btn i{color:var(--green);font-size:18px;margin-left:3px}
/* optional bottom caption for accessibility */
.vt-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(to top,rgba(8,8,6,.8),transparent)}
.vt-caption-name{font-size:.82rem;font-weight:600;color:#fff;line-height:1.2}
.vt-caption-role{font-size:.74rem;color:rgba(255,255,255,.55)}

/* PARTNERS — logo links */
.partners-sec{background:var(--cream);padding:4.5rem 5rem;border-top:1px solid var(--border)}
.partners-in{max-width:var(--max);margin:0 auto}
.p-lbl{font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:2.25rem}
.p-logos{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}
.p-logo{display:flex;align-items:center;justify-content:center;height:66px;min-width:140px;border-radius:var(--rs);background:var(--white);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s,transform .2s;padding:.875rem 1.25rem;text-decoration:none}
.p-logo:hover{border-color:rgba(26,92,58,.35);box-shadow:0 6px 20px var(--shadow);transform:translateY(-3px)}
.p-logo img{max-height:36px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .2s,opacity .2s}
.p-logo:hover img{filter:grayscale(0);opacity:1}
.p-logo-text{font-size:.75rem;font-weight:600;color:var(--muted);text-align:center;line-height:1.3;transition:color .2s}
.p-logo:hover .p-logo-text{color:var(--green)}
.p-logo.featured{background:var(--green);border-color:var(--green)}
.p-logo.featured img{filter:brightness(10);opacity:.9}
.p-logo.featured .p-logo-text{color:rgba(255,255,255,.9)}
.p-logo.featured:hover{background:var(--green-d);border-color:var(--green-d)}

/* CTA */
.cta-sec{background:var(--green);padding:6rem 5rem}
.cta-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.cta-sec h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}
.cta-sec h2 em{color:rgba(255,255,255,.65);font-style:italic}
.cta-sub{font-size:1rem;color:rgba(255,255,255,.58);margin-top:.85rem;line-height:1.8}
.cta-btns{display:flex;flex-direction:column;gap:.75rem}
.btn-white{background:#fff;color:var(--green);padding:.9rem 2.2rem;border-radius:8px;text-decoration:none;font-weight:700;font-size:.92rem;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .2s}
.btn-white:hover{transform:translateY(-2px);background:var(--green-l);color:var(--green)}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);padding:.87rem 2.2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,border-color .2s}
.btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.cta-socs{display:flex;align-items:center;gap:.75rem;margin-top:1.75rem}
.cta-socs span{font-size:.82rem;color:rgba(255,255,255,.55);margin-right:.25rem}
.cta-soc{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem;transition:background .2s,color .2s}
.cta-soc:hover{background:#fff;color:var(--green)}
.btn-ghost-w{background:transparent;color:rgba(255,255,255,.8);padding:.9rem 2.2rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.92rem;border:1.5px solid rgba(255,255,255,.3);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,border-color .2s,color .2s}
.btn-ghost-w:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);color:#fff}

/* CONTACT */
.contact-sec{background:var(--white)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.c-info{display:flex;flex-direction:column;gap:1rem;margin-top:2.25rem}
.ci{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.25rem 1.5rem;display:flex;gap:.9rem;align-items:center;transition:transform .2s,box-shadow .2s}
.ci:hover{transform:translateX(4px);box-shadow:0 6px 18px var(--shadow)}
.ci-ico{width:42px;height:42px;border-radius:11px;flex-shrink:0;background:var(--green-l);display:flex;align-items:center;justify-content:center}
.ci-ico i{color:var(--green);font-size:15px}
.ci-l{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.ci-v{font-size:.9rem;font-weight:500;color:var(--dark)}
.cform{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2.75rem;box-shadow:0 14px 44px var(--shadow)}
.cf-t{font-family:var(--fd);font-size:1.5rem;font-weight:700;margin-bottom:.4rem}
.cf-s{font-size:.88rem;color:var(--mid);margin-bottom:2rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.ff{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.ff[hidden]{display:none}
.ff label{font-size:.8rem;font-weight:600;color:var(--dark)}
.req-mark{color:var(--red);margin-left:2px}
.ff input,.ff select,.ff textarea{border:1.5px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-family:var(--fb);font-size:.88rem;color:var(--dark);background:var(--white);outline:none;width:100%;transition:border-color .2s}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--green)}
.ff textarea{resize:vertical;min-height:110px}
.btn-send{width:100%;background:var(--green);color:#fff;padding:1rem;border-radius:8px;border:none;font-family:var(--fb);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .15s}
.btn-send:hover{background:var(--green-d);transform:translateY(-2px)}
.form-success{text-align:center;padding:2.5rem;color:var(--orange)}
.form-success i{font-size:2.5rem;margin-bottom:.75rem}
.form-success p{font-size:1rem;font-weight:500}

/* Abstract confirmation replaces the whole card (see initForm in main.js)
   with just this — a solid green panel, not the default white/green-text
   version, so a completed submission reads as unmistakably done. */
.cform-success-full{background:var(--orange);text-align:center}
.cform-success-full .cf-t{color:#fff}
.cform-success-full .form-success{color:#fff}
.cform-success-full .form-success i{color:#fff}

/* GALLERY */
.gal-sec{background:var(--cream)}
.gal-head{text-align:center;max-width:560px;margin:0 auto 3rem}
.gal-head .sec-tag{justify-content:center}
.gal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:300px 300px;gap:1rem}
.gal-item{border-radius:var(--r);overflow:hidden;position:relative;transition:transform .3s,box-shadow .3s}
.gal-item:hover{transform:scale(1.015);box-shadow:0 18px 44px rgba(0,0,0,.14)}
.gal-item img{width:100%;height:100%;object-fit:cover}
.gal-item.tall{grid-row:span 2}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,8,.78) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.5rem}
.gal-item:hover .gal-ov{opacity:1}
.gal-lbl{font-family:var(--fd);color:#fff;font-size:1rem;font-style:italic}

/* FOOTER */
.site-footer{background:#231f20;color:rgba(255,255,255,.55);padding:4.5rem 5rem 2.25rem}
.foot-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:3.5rem;margin-bottom:3rem}
.foot-svg{height:34px;width:auto;margin-bottom:1.1rem;filter:brightness(0) invert(1);opacity:.92}
.foot-tag{font-size:.95rem;line-height:1.8;max-width:250px;color:rgba(255,255,255,.65)}
.foot-col h3{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1.1rem}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.foot-links a{font-size:.92rem;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:var(--green-m)}
.foot-bottom{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:rgba(255,255,255,.55)}
.foot-socs{display:flex;gap:1rem}
.foot-soc{color:rgba(255,255,255,.55);font-size:.95rem;text-decoration:none;transition:color .2s}
.foot-soc:hover{color:var(--green-m)}
.foot-bottom a{color:rgba(255,255,255,.55);text-decoration:none}

/* INNER PAGES */
.inner-hero{background:var(--orange-d)}
.inner-hero .sec-tag{color:rgba(255,255,255,.78)}
.inner-hero .sec-tag::before{background:rgba(255,255,255,.3)}
.inner-hero h1{font-size:clamp(1.8rem,2.6vw,2.5rem);color:#fff;line-height:1.2;font-weight:700;margin-bottom:0}
.inner-hero h1 em{font-style:italic;color:rgba(255,255,255,.7)}
.inner-hero p{font-size:1.05rem;color:#fff;max-width:560px;line-height:1.8}
.inner-body{max-width:var(--max);margin:0 auto;padding:5rem 5rem}
.inner-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.inner-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}

/* PREVIOUS CONFERENCE — a minimal two-card gallery, each card a plain
   link out to that year's report. No copy beyond a title and venue
   line; the cover image and year badge do the rest. */
.prevconf-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.prevconf-card{display:block;text-decoration:none;color:inherit;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);background:var(--white);transition:transform .22s,box-shadow .22s}
.prevconf-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px var(--shadow)}
.prevconf-img{position:relative;height:280px;background:var(--cream)}
.prevconf-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.prevconf-year{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.92);color:var(--dark);font-family:var(--fd);font-weight:800;font-size:.85rem;padding:.3rem .75rem;border-radius:50px}
.prevconf-body{padding:1.5rem 1.75rem}
.prevconf-title{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--dark);margin:0 0 .4rem}
.prevconf-venue{font-size:.85rem;color:var(--mid);margin:0 0 1rem}
.prevconf-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--green)}
.prevconf-card:hover .prevconf-link{color:var(--green-d)}
@media(max-width:767px){.prevconf-grid{grid-template-columns:1fr}.prevconf-img{height:220px}}

/* Previous Symposia cards (About page) — richer variant of .prevconf-card
   with a stat row, so the participant/organisation counts read as data
   rather than being buried in a sentence. */
.sym-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.sym-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s}
.sym-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px var(--shadow)}
.sym-img{position:relative;height:220px;background:var(--cream)}
.sym-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.sym-year{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.94);color:var(--dark);font-family:var(--fd);font-weight:800;font-size:.85rem;padding:.3rem .8rem;border-radius:50px}
.sym-body{padding:1.75rem}
.sym-title{font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--dark);margin:0 0 .4rem}
.sym-meta{font-size:.82rem;color:var(--muted);margin:0 0 1rem;display:flex;align-items:center;gap:.45rem}
.sym-meta i{font-size:.75rem;color:var(--green-m)}
.sym-desc{font-size:.9rem;color:var(--mid);line-height:1.75;margin:0 0 1.4rem}
.sym-stats{display:flex;gap:2rem;padding-top:1.15rem;margin-bottom:1.4rem;border-top:1px solid var(--border)}
.sym-stat-num{font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--green);line-height:1}
.sym-stat-lbl{font-size:.72rem;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.03em}
.sym-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--green);text-decoration:none;transition:color .2s,gap .2s}
.sym-link:hover{color:var(--green-d);gap:.7rem}
@media(max-width:767px){.sym-grid{grid-template-columns:1fr}}

/* CAREERS PAGE */
.job-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem 2.25rem;transition:transform .22s,box-shadow .22s}
.job-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px var(--shadow)}
.job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.job-title{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.job-tags{display:flex;gap:.45rem;flex-wrap:wrap}
.jtag{background:var(--green-l);color:var(--green);padding:.2rem .75rem;border-radius:50px;font-size:.73rem;font-weight:600}
.jtag.r{background:#E8F0FF;color:#2E58B8}
.job-desc{font-size:.88rem;color:var(--mid);line-height:1.7;margin-bottom:1.25rem}
.job-meta{display:flex;gap:1.5rem;font-size:.8rem;color:var(--muted)}
.job-meta span{display:inline-flex;align-items:center;gap:5px}
.btn-apply{background:var(--green);color:#fff;padding:.55rem 1.35rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.83rem;display:inline-flex;align-items:center;gap:6px;transition:background .2s,transform .15s;white-space:nowrap}
.btn-apply:hover{background:var(--green-d);transform:translateY(-1px);color:#fff}
.perks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:3rem}
.perk{background:var(--cream);border:1px solid var(--border);border-radius:var(--rs);padding:1.35rem;display:flex;gap:.85rem;align-items:flex-start;transition:transform .2s,box-shadow .2s}
.perk:hover{transform:translateY(-3px);box-shadow:0 8px 22px var(--shadow)}
.perk-ico{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:var(--green-l);display:flex;align-items:center;justify-content:center}
.perk-ico i{color:var(--green);font-size:14px}
.perk-t{font-weight:600;font-size:.88rem;margin-bottom:3px}
.perk-d{font-size:.8rem;color:var(--mid);line-height:1.55}

/* IMPACT PAGE */
.impact-page-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:4rem}
.impact-page-stat{background:var(--green-xl);border:1px solid var(--green-l);border-radius:var(--r);padding:2rem 1.5rem;text-align:center}
.ips-n{font-family:var(--fd);font-size:3rem;font-weight:700;color:var(--green);line-height:1;margin-bottom:.4rem}
.ips-l{font-size:.84rem;color:var(--mid);font-weight:500}
.timeline{display:flex;flex-direction:column;gap:1rem}
.tl-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.35rem 1.6rem;display:grid;grid-template-columns:36px 1fr;gap:1rem;align-items:start;transition:box-shadow .2s,transform .2s}
.tl-card:hover{box-shadow:0 8px 22px var(--shadow);transform:translateY(-2px)}
.tl-dot{width:36px;height:36px;border-radius:50%;background:var(--green-l);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;margin-top:1px}
.tl-dot i{color:var(--green);font-size:12px}
.tl-yr{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-bottom:4px}
.tl-txt{font-size:.9rem;color:var(--dark);line-height:1.6}
.tl-txt strong{font-weight:600}

/* PRODUCTS PAGE */
.prod-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s}
.prod-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px var(--shadow)}
.prod-img{height:240px;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prod-card:hover .prod-img img{transform:scale(1.04)}
.prod-body{padding:2rem}
.prod-badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-l);color:var(--green);padding:.22rem .75rem;border-radius:50px;font-size:.73rem;font-weight:600;margin-bottom:.85rem}
.prod-title{font-family:var(--fd);font-size:1.4rem;font-weight:700;color:var(--dark);margin-bottom:.7rem}
.prod-desc{font-size:.88rem;color:var(--mid);line-height:1.75;margin-bottom:1.5rem}
.prod-features{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.prod-features li{font-size:.85rem;color:var(--mid);display:flex;align-items:center;gap:7px}
.prod-features li i{color:var(--green);font-size:.72rem;flex-shrink:0}

/* ═══ RESPONSIVE ═══ */
@media(max-width:479px){
  body{font-size:15px}
  .sec,.inner-body{padding:4rem 1.25rem}
  .video-sec,.cta-sec,.partners-sec{padding:4rem 1.25rem}
  .inner-hero{padding:1rem 1.25rem}
  h2{font-size:1.85rem}
  .sl-track{min-height:70vh}
  .slide{padding:1.1rem 1.25rem 1.75rem}
  .sl-cap{max-width:250px}
  .sl-site-title{font-size:1.6rem}
  .sl-title{font-size:1rem}
  .sl-cta{margin-top:1.1rem;padding:.8rem 1.4rem}
  .sl-ctrl{right:1.25rem;top:1.25rem;gap:.6rem}
  .sl-btn{width:32px;height:32px}
  .about-band{padding:3.5rem 1.25rem}
  .vplay-circle{width:68px;height:68px}
  .vplay-circle i{font-size:22px}
  .impact-stats,.impact-page-stats{grid-template-columns:1fr 1fr;gap:.875rem}
  .istat,.impact-page-stat{padding:1.5rem 1rem}
  .istat-n,.ips-n{font-size:2.4rem}
  .cta-in,.cta-btns{grid-template-columns:1fr;flex-direction:row;flex-wrap:wrap}
  .foot-grid{grid-template-columns:1fr;gap:2rem}
  .foot-bottom{flex-direction:column;gap:.875rem;text-align:center}
  .f-row{grid-template-columns:1fr}
  .mv-row,.inner-grid-2,.inner-grid-3{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .vtest-grid{grid-template-columns:1fr}
  .p-logos{gap:.75rem}
  .p-logo{min-width:120px;height:58px}
  .perks-grid{grid-template-columns:1fr}
}
@media(min-width:480px) and (max-width:767px){
  .sec,.inner-body{padding:5rem 1.75rem}
  .video-sec,.cta-sec,.partners-sec{padding:5rem 1.75rem}
  .inner-hero{padding:1rem 1.75rem}
  .impact-stats,.impact-page-stats{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .vtest-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .foot-bottom{flex-direction:column;gap:.875rem;text-align:center}
  .f-row{grid-template-columns:1fr}
  .mv-row{grid-template-columns:1fr 1fr}
  .inner-grid-2{grid-template-columns:1fr}
  .inner-grid-3{grid-template-columns:1fr 1fr}
  .cta-in{grid-template-columns:1fr}
  .cta-btns{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:767px){
  .site-header{padding:0 1.25rem}
  .nav-menu{display:none}
  .nav-right>*:not(.nav-search-btn){display:none}
  .nav-hamburger{display:flex}
  .nav-drawer{display:flex}
  .hero-r{min-height:460px}
  .about-band{padding:3.5rem 1.25rem}
  .about-grid,.kit-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-img{height:300px}
  .how-steps{grid-template-columns:1fr;gap:1.25rem}
  .how-steps::before{display:none}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .gal-item.tall{grid-row:auto}
  .vtest-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .cta-in{grid-template-columns:1fr;gap:2rem}
  .p-logos{gap:.75rem}
  .partners-sec{padding:3.5rem 1.25rem}
  .perks-grid{grid-template-columns:1fr}
}
@media(min-width:768px) and (max-width:1099px){
  .site-header{padding:0 2.5rem}
  .sec,.inner-body{padding:6rem 2.5rem}
  .video-sec,.cta-sec,.partners-sec{padding:6rem 2.5rem}
  .inner-hero{padding:1rem 2.5rem}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px 260px}
  .gal-item.tall{grid-row:auto}
  .vtest-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
  .cta-in{grid-template-columns:1fr auto}
  .inner-grid-3{grid-template-columns:1fr 1fr}
}
@media(min-width:768px) and (max-width:1439px){
  .nav-menu{display:none}
  .nav-right>*:not(.nav-search-btn){display:none}
  .nav-hamburger{display:flex}
  .nav-drawer{display:flex}
}

/* HOW STEPS */
.how-sec{background:var(--white)}
.how-head{text-align:center;max-width:620px;margin:0 auto 5rem}
.how-head .sec-tag{justify-content:center}
.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;position:relative}
.how-steps::before{content:'';position:absolute;top:62px;left:calc(12.5% + 1rem);right:calc(12.5% + 1rem);height:1px;background:var(--border);z-index:0}
.step-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:2.25rem 1.75rem;position:relative;z-index:1;transition:transform .25s,box-shadow .25s}
.step-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px var(--shadow);background:var(--white)}
.step-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green);border-radius:var(--r) var(--r) 0 0;transform:scaleX(0);transform-origin:left;transition:transform .32s}
.step-card:hover::after{transform:scaleX(1)}
.step-n{font-family:var(--fd);font-size:3rem;font-weight:700;color:var(--green-l);line-height:1;margin-bottom:1rem;user-select:none}
.step-ico{width:50px;height:50px;border-radius:14px;background:var(--green-l);display:flex;align-items:center;justify-content:center;margin-bottom:1.35rem;transition:background .2s}
.step-card:hover .step-ico{background:var(--green)}
.step-ico i{color:var(--green);font-size:19px;transition:color .2s}
.step-card:hover .step-ico i{color:#fff}
.step-t{font-weight:600;font-size:1rem;margin-bottom:.55rem;color:var(--dark)}
.step-d{font-size:.87rem;color:var(--mid);line-height:1.7}

/* Impact + Services responsive */
@media(max-width:767px){
  .impact-top{padding:3rem 1.25rem 2rem}
  .impact-top-in{grid-template-columns:1fr;gap:2rem}
  .impact-counters{grid-template-columns:1fr 1fr;gap:.75rem}
  .ictr{padding:1.25rem 1rem}
  .ictr-num{font-size:2rem}
  #impactMap{height:280px !important}
  .impact-map-note{padding:.75rem 1.25rem;flex-wrap:wrap;gap:.75rem}
  .svc-top{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}
  .svc-grid-v2{grid-template-columns:1fr}
}
@media(min-width:768px) and (max-width:1099px){
  .impact-top{padding:3.5rem 2.5rem 2.5rem}
  .impact-top-in{grid-template-columns:1fr 1fr;gap:3rem}
  .svc-top{grid-template-columns:1fr;gap:1.5rem}
  .svc-grid-v2{grid-template-columns:1fr 1fr}
}

/* ═══ PRODUCTS SHOWCASE PAGE ═══ */
.prod-showcase-row { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; margin-bottom: 0; }
.prod-showcase-row--flip { direction: rtl; }
.prod-showcase-row--flip > * { direction: ltr; }
.prod-showcase-img img { width: 100%; border-radius: var(--r); box-shadow: 0 24px 64px rgba(0,0,0,.1); }
.prod-step-tag { display: inline-flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--green); margin-bottom: 1rem; }
.prod-step-num { width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; flex-shrink: 0; }
.prod-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1.75rem; }
.prod-spec { display: flex; align-items: center; gap: .75rem; background: var(--green-xl); border: 1px solid var(--green-l); border-radius: var(--rs); padding: .875rem 1rem; }
.prod-spec i { color: var(--green); font-size: 15px; width: 18px; flex-shrink: 0; }
.prod-spec strong { display: block; font-size: .84rem; color: var(--dark); font-weight: 600; }
.prod-spec span { font-size: .76rem; color: var(--muted); }
.prod-highlight-box { display: flex; align-items: flex-start; gap: .9rem; background: var(--green-l); border: 1px solid rgba(26,92,58,.2); border-radius: var(--rs); padding: 1.1rem 1.25rem; margin-top: 1.5rem; }
.prod-highlight-box i { color: var(--green); font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.prod-highlight-box strong { display: block; font-size: .9rem; font-weight: 600; color: var(--dark); margin-bottom: 3px; }
.prod-highlight-box span { font-size: .84rem; color: var(--mid); line-height: 1.55; }
.prod-content-pills { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.prod-pill { background: var(--cream); border: 1px solid var(--border); border-radius: 50px; padding: .3rem .9rem; font-size: .8rem; color: var(--mid); display: inline-flex; align-items: center; gap: 6px; transition: border-color .2s, color .2s; }
.prod-pill:hover { border-color: var(--green); color: var(--green); }
.prod-pill i { color: var(--green); font-size: .8rem; }
.prod-divider { text-align: center; padding: 2.5rem 0; color: var(--border); font-size: 1.1rem; }
/* Network visual */
.prod-network-visual { background: var(--green-xl); border: 1px solid var(--green-l); border-radius: var(--r); padding: 3rem; min-height: 320px; position: relative; display: flex; align-items: center; justify-content: center; }
.pnv-center { background: var(--green); color: #fff; border-radius: var(--r); padding: 1.25rem 1.5rem; text-align: center; font-weight: 600; font-size: .9rem; display: flex; flex-direction: column; align-items: center; gap: 6px; z-index: 2; box-shadow: 0 8px 24px rgba(26,92,58,.3); }
.pnv-center i { font-size: 1.5rem; }
.pnv-device { position: absolute; background: var(--white); border: 1px solid var(--border); border-radius: 10px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--green); font-size: 18px; box-shadow: 0 4px 12px rgba(0,0,0,.08); animation: deviceFloat 3s ease-in-out infinite; }
.pnv-d0 { top: 10%; left: 12%; animation-delay: 0s; }
.pnv-d1 { top: 10%; right: 12%; animation-delay: .5s; }
.pnv-d2 { top: 50%; left: 5%; transform: translateY(-50%); animation-delay: 1s; }
.pnv-d3 { top: 50%; right: 5%; transform: translateY(-50%); animation-delay: 1.5s; }
.pnv-d4 { bottom: 10%; left: 12%; animation-delay: 2s; }
.pnv-d5 { bottom: 10%; right: 12%; animation-delay: 2.5s; }
@keyframes deviceFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
.pnv-d2, .pnv-d3 { animation: deviceFloatMid 3s ease-in-out infinite; }
@keyframes deviceFloatMid { 0%,100%{transform:translateY(-50%)} 50%{transform:translateY(calc(-50% - 5px))} }
/* Analytics visual */
.prod-analytics-visual { background: #1a2318; border-radius: var(--r); padding: 2rem; }
.pav-header { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 1.5rem; display: flex; align-items: center; gap: 8px; }
.pav-header i { color: var(--green-m); }
.pav-row { display: flex; align-items: center; padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.pav-row:last-of-type { border-bottom: none; }
.pav-lbl { flex: 1; font-size: .86rem; color: rgba(255,255,255,.5); }
.pav-val { font-size: .9rem; font-weight: 600; color: #fff; margin-right: .75rem; }
.pav-delta { font-size: .72rem; font-weight: 500; }
.pav-sync { margin-top: 1.25rem; font-size: .78rem; color: rgba(255,255,255,.35); display: flex; align-items: center; gap: 7px; }
.pav-sync i { color: var(--green-m); }

@media(max-width:767px) {
  .prod-showcase-row, .prod-showcase-row--flip { grid-template-columns: 1fr; direction: ltr; gap: 2rem; }
  .prod-spec-grid { grid-template-columns: 1fr 1fr; }
  .inner-body { padding: 4rem 1.25rem !important; }
}
@media(min-width:768px) and (max-width:1099px) {
  .prod-showcase-row { gap: 3rem; }
  .inner-body { padding: 5rem 2.5rem !important; }
}

/* ═══ TEAM PAGE ═══ */
.team-group-title{font-family:var(--fd);font-size:1.5rem;font-weight:700;color:var(--dark);margin:0 0 1.5rem}
.team-group-title:not(:first-child){margin-top:3.5rem}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}
.team-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s}
.team-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px var(--shadow)}
.team-photo{aspect-ratio:1/1;overflow:hidden;background:var(--green-l)}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:3rem;font-weight:700;color:var(--green);background:var(--green-l)}
.team-body{padding:1.5rem 1.6rem}
.team-name{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.25rem}
.team-role{font-size:.82rem;color:var(--green);font-weight:600;margin-bottom:.75rem}
.team-bio{font-size:.85rem;color:var(--mid);line-height:1.65;margin-bottom:.6rem}
.team-readmore{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;margin-bottom:1rem;font-size:.8rem;font-weight:600;color:var(--green);cursor:pointer;font-family:inherit}
.team-readmore i{font-size:.7rem;transition:transform .15s}
.team-readmore:hover i{transform:translateX(3px)}
.team-socials{display:flex;gap:.6rem}
.team-soc{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;font-size:.8rem;transition:border-color .2s,color .2s,background .2s}
.team-soc:hover{border-color:var(--green);color:var(--green);background:var(--green-l)}
@media(max-width:767px){.team-grid{grid-template-columns:1fr 1fr;gap:1.1rem}}
@media(max-width:479px){.team-grid{grid-template-columns:1fr;gap:1rem}}
@media(min-width:768px) and (max-width:1099px){.team-grid{grid-template-columns:repeat(3,1fr)}}

.team-card-horizontal{grid-column:1/-1;display:flex;flex-direction:row;align-items:stretch;position:relative;background:linear-gradient(120deg,var(--white) 60%,var(--green-xl) 130%)}
.team-card-horizontal .team-photo{aspect-ratio:auto;width:260px;flex:0 0 260px;position:relative}
.team-card-horizontal .team-photo::after{content:'';position:absolute;top:0;right:-1px;bottom:0;width:56px;background:linear-gradient(90deg,transparent,var(--white));pointer-events:none}
.team-card-horizontal .team-body{position:relative;padding:2.25rem 3rem 2.25rem 2.75rem;display:flex;flex-direction:column;justify-content:center;gap:.15rem}
.team-card-horizontal .team-name{font-size:1.4rem}
.team-card-horizontal .team-role{order:-1;display:inline-flex;width:fit-content;align-items:center;gap:.4rem;background:var(--green-l);color:var(--green-d);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .85rem;border-radius:50px;margin-bottom:1rem}
.team-card-horizontal .team-role::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}
.team-card-horizontal .team-bio{font-size:.95rem;max-width:640px;margin-top:.4rem}
.team-card-horizontal .team-readmore{margin-top:.5rem}
.team-card-horizontal .team-socials{margin-top:1rem}
.team-card-horizontal i.fa-quote-right{position:absolute;top:1.5rem;right:2rem;font-size:2.75rem;color:var(--green-l);z-index:0}
@media(max-width:767px){
  .team-card-horizontal{flex-direction:column;background:var(--white)}
  .team-card-horizontal .team-photo{width:100%;flex:none;aspect-ratio:1/1}
  .team-card-horizontal .team-photo::after{display:none}
  .team-card-horizontal .team-body{padding:1.75rem 1.6rem}
}

/* Team bio modal */
.team-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem}
.team-modal[hidden]{display:none}
.team-modal-overlay{position:absolute;inset:0;background:rgba(20,20,16,.6);backdrop-filter:blur(2px)}
.team-modal-panel{position:relative;background:var(--white);border-radius:var(--r);max-width:640px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.25)}
.team-modal-close{position:absolute;top:1rem;right:1rem;z-index:1;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;transition:background .2s}
.team-modal-close:hover{background:var(--white)}
.team-modal-photo{aspect-ratio:16/9;overflow:hidden;background:var(--green-l)}
.team-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.team-modal-photo[hidden]{display:none}
.team-modal-body{padding:2rem 2.25rem 2.25rem}
.team-modal-body h3{font-family:var(--fd);font-size:1.4rem;color:var(--dark);margin-bottom:.3rem}
.team-modal-role{font-size:.9rem;color:var(--green);font-weight:600;margin-bottom:1.25rem}
.team-modal-bio{font-size:.95rem;color:var(--mid);line-height:1.85}
.team-modal-bio p{margin-bottom:1rem}
.team-modal-bio p:last-child{margin-bottom:0}
@media(max-width:600px){
  .team-modal{padding:0}
  .team-modal-panel{max-width:100%;max-height:100%;height:100%;border-radius:0}
  .team-modal-body{padding:1.5rem}
}

/* ═══ NEWS PAGE & SINGLE ═══ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.news-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .22s,box-shadow .22s;display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px var(--shadow)}
.news-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--green-l)}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-card:hover .news-thumb img{transform:scale(1.04)}
.news-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--green-l)}
.news-thumb-placeholder i{font-size:2.5rem;color:var(--green-m)}
.news-body{padding:1.6rem;flex:1;display:flex;flex-direction:column}
.news-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}
.news-cat{background:var(--green-l);color:var(--green);padding:.2rem .75rem;border-radius:50px;font-size:.72rem;font-weight:600;text-decoration:none;transition:background .2s}
.news-cat:hover{background:var(--green);color:#fff}
.news-date{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:5px}
.news-title{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--dark);line-height:1.3;margin-bottom:.65rem;text-decoration:none;display:block;transition:color .2s}
.news-title:hover{color:var(--green)}
.news-excerpt{font-size:.875rem;color:var(--mid);line-height:1.7;flex:1;margin-bottom:1.25rem}
.news-read-more{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600;color:var(--green);text-decoration:none;transition:gap .2s;margin-top:auto}
.news-read-more:hover{gap:11px;color:var(--green-d)}
/* Single article */
.article-hero{background:var(--orange-d);padding:5rem 5rem 4rem;padding-top:3rem}
.article-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.article-cat{background:rgba(255,255,255,.18);color:#fff;padding:.28rem .85rem;border-radius:50px;font-size:.76rem;font-weight:600;text-decoration:none}
.article-date{font-size:.78rem;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px}
.article-title{font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,3rem);color:#fff;font-weight:700;line-height:1.15;margin-bottom:1rem}
.article-excerpt{font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.8;max-width:680px}
.article-thumb{max-width:860px;margin:0 auto -3rem;position:relative;z-index:2}
.article-thumb img{width:100%;border-radius:var(--r);box-shadow:0 24px 64px rgba(0,0,0,.18)}
.article-body{max-width:760px;margin:0 auto;padding:4.5rem 5rem 5rem}
.article-body p{font-size:1.05rem;color:var(--mid);line-height:1.9;margin-bottom:1.5rem}
.article-body h2{font-size:1.6rem;margin:2.5rem 0 1rem}
.article-body h3{font-size:1.25rem;margin:2rem 0 .75rem}
.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1.5rem;color:var(--mid)}
.article-body li{margin-bottom:.5rem;line-height:1.75;font-size:1.05rem}
.article-body blockquote{border-left:3px solid var(--green);padding-left:1.5rem;margin:2rem 0;font-family:var(--fd);font-style:italic;font-size:1.15rem;color:var(--mid)}
.article-body img{border-radius:var(--rs);max-width:100%;margin:1.5rem 0}
.article-share{display:flex;align-items:center;gap:1rem;padding:2rem 0;border-top:1px solid var(--border);margin-top:3rem}
.article-share-lbl{font-size:.84rem;font-weight:600;color:var(--mid)}
.article-share a{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--mid);text-decoration:none;font-size:.9rem;transition:all .2s}
.article-share a:hover{background:var(--green);border-color:var(--green);color:#fff}
/* Pagination */
.news-pagination{display:flex;justify-content:center;gap:.6rem;margin-top:3rem}
.news-pagination a,.news-pagination span{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:500;text-decoration:none;border:1px solid var(--border);color:var(--mid);transition:all .2s}
.news-pagination a:hover{border-color:var(--green);color:var(--green)}
.news-pagination .current{background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:767px){
  .news-grid{grid-template-columns:1fr}
  .article-hero{padding:4rem 1.25rem 3rem}
  .article-body{padding:3.5rem 1.25rem 4rem}
  .article-thumb{margin-bottom:-1.5rem}
}
@media(min-width:768px) and (max-width:1099px){.news-grid{grid-template-columns:1fr 1fr}}
/* Partner logo size increase */
.p-logo{height:84px;min-width:160px;padding:1.25rem 1.5rem}
.p-logo img{max-height:56px}

/* ═══ INNER PAGE HEADER — transparent over green hero ═══ */
.site-header--inner {
  background: transparent;
  border-bottom: none;
  position: absolute;
}
.site-header--inner .nav-logo-img { filter: brightness(10); }
.site-header--inner .nav-menu a { color: rgba(255,255,255,.8); }
.site-header--inner .nav-menu a:hover { color: #fff; }
.site-header--inner .nav-cta { background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.35); color: #fff; backdrop-filter: blur(8px); }
.site-header--inner .nav-cta:hover { background: #fff; color: var(--green); }
.site-header--inner .nav-hamburger span { background: #fff; }
.site-header--inner .nav-search-btn { color: rgba(255,255,255,.9); }
.site-header--inner .nav-search-btn:hover { background: rgba(255,255,255,.15); color: #fff; }
.site-header--inner .nav-login { color: rgba(255,255,255,.85); }
.site-header--inner .nav-login:hover { color: #fff; }
.site-header--inner .nav-account { color: rgba(255,255,255,.9); }
.site-header--inner .nav-account-caret { color: rgba(255,255,255,.7); }
.site-header--inner .nav-account:hover .nav-account-name { color: #fff; }
/* Inner hero must account for absolute header */
.inner-hero { padding-top: .75rem; }

/* Scroll: once past hero, solidify the header on inner pages */
.site-header--inner.scrolled {
  background: rgba(250,250,247,.97);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(20px);
  position: fixed;
}
.site-header--inner.scrolled .nav-logo-img { filter: none; }
.site-header--inner.scrolled .nav-menu a { color: var(--mid); }
.site-header--inner.scrolled .nav-menu a:hover { color: var(--green); }
.site-header--inner.scrolled .nav-cta { background: var(--green); border-color: var(--green); color: #fff; }
.site-header--inner.scrolled .nav-login { color: var(--dark); }
.site-header--inner.scrolled .nav-login:hover { color: var(--green); }
.site-header--inner.scrolled .nav-account { color: var(--dark); }
.site-header--inner.scrolled .nav-account-caret { color: var(--muted); }
.site-header--inner.scrolled .nav-hamburger span { background: var(--dark); }
.site-header--inner.scrolled .nav-search-btn { color: var(--dark); }
.site-header--inner.scrolled .nav-search-btn:hover { background: var(--green-l); color: var(--green); }

/* ═══ SEARCH MODAL ═══ */
.search-modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1.5rem 2rem}
.search-modal[hidden]{display:none}
.search-modal-overlay{position:absolute;inset:0;background:rgba(20,20,16,.6);backdrop-filter:blur(2px)}
.search-modal-panel{position:relative;background:var(--white);width:100%;max-width:640px;border-radius:var(--r);box-shadow:0 24px 64px rgba(0,0,0,.25);overflow:hidden;max-height:78vh;display:flex;flex-direction:column}
.search-modal-close{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:50%;border:none;background:var(--green-l);color:var(--mid);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;z-index:1}
.search-modal-close:hover{background:var(--green);color:#fff}
.search-input-wrap{display:flex;align-items:center;gap:.85rem;padding:1.5rem 3.75rem 1.25rem 1.75rem;border-bottom:1px solid var(--border)}
.search-input-wrap i{color:var(--muted);font-size:1rem}
.search-input{flex:1;border:none;outline:none;font-size:1.05rem;font-family:inherit;color:var(--dark);background:none}
.search-input::placeholder{color:var(--muted)}
.search-results{overflow-y:auto;padding:.5rem}
.search-loading,.search-empty{padding:2rem 1.5rem;text-align:center;font-size:.9rem;color:var(--muted)}
.search-result{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 1rem;border-radius:calc(var(--r) - 6px);text-decoration:none;transition:background .15s}
.search-result:hover{background:var(--green-l)}
.search-result-thumb{width:52px;height:52px;flex:0 0 52px;border-radius:8px;object-fit:cover;background:var(--green-l)}
.search-result-thumb--empty{display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1rem}
.search-result-title{font-family:var(--fd);font-size:.95rem;font-weight:700;color:var(--dark)}
.search-result-meta{font-size:.72rem;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:.03em;margin:.15rem 0 .3rem}
.search-result-excerpt{font-size:.83rem;color:var(--mid);line-height:1.5}
@media(max-width:600px){.search-modal{padding:0}.search-modal-panel{max-width:none;height:100%;max-height:none;border-radius:0}}

.tier-modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.tier-modal[hidden]{display:none}
.tier-modal-overlay{position:absolute;inset:0;background:rgba(20,20,16,.6);backdrop-filter:blur(2px)}
.tier-modal-panel{position:relative;background:var(--white);width:100%;max-width:520px;border-radius:var(--r);box-shadow:0 24px 64px rgba(0,0,0,.25);padding:2.5rem;max-height:82vh;overflow-y:auto}
.tier-modal-close{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:50%;border:none;background:var(--green-l);color:var(--mid);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem}
.tier-modal-close:hover{background:var(--green);color:#fff}
.tier-modal-name{font-family:var(--fd);font-weight:700;font-size:1.3rem;color:var(--dark)}
.tier-modal-price{font-size:.9rem;color:var(--green);font-weight:700;margin-top:.35rem;margin-bottom:1.5rem}
.tier-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.tier-modal-list li{position:relative;padding-left:1.2rem;font-size:.9rem;color:var(--mid);line-height:1.65}
.tier-modal-list li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--green-m)}
@media(max-width:600px){.tier-modal-panel{padding:2rem 1.5rem}}

/* ═══ SERVICES SLIDER ═══ */
.svc-slider.our-work-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
@media(max-width:767px) { .svc-slider.our-work-grid { grid-template-columns: 1fr; } }
@media(min-width:768px) and (max-width:1099px) { .svc-slider.our-work-grid { grid-template-columns: 1fr 1fr; } }
.svc-slider-wrap { overflow: hidden; position: relative; }
.svc-slider {
  display: flex;
  gap: 1.5rem;
  transition: transform .45s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}
.svc-slide-card {
  flex: 0 0 calc(33.333% - 1rem);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 2.25rem 2rem;
  position: relative;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s, transform .22s;
  min-width: 0;
}
.svc-slide-card:hover { border-color: var(--green-l); box-shadow: 0 12px 28px var(--shadow); transform: translateY(-4px); }
.svc-slide-num {
  font-family: var(--fd); font-size: 4rem; font-weight: 700;
  color: var(--green-l); line-height: 1;
  position: absolute; top: 1.25rem; right: 1.5rem; user-select: none;
}
/* Three distinct accent tones per card, matching the treatment already used
   for the About-page pillars, so both places read as one system. */
.svc-v2-ico{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative;z-index:1}
.svc-v2-ico i{font-size:20px}
.svc-v2-ico{background:var(--orange-d)}
.svc-v2-ico i{color:#fff}
.svc-v2-title{font-family:var(--fd);font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:.75rem;line-height:1.3;position:relative;z-index:1}
.svc-v2-desc{font-size:.88rem;color:var(--mid);line-height:1.75;margin-bottom:0;position:relative;z-index:1}
@media(max-width:767px) {
  .svc-slide-card { flex: 0 0 calc(100% - 0px); }
  .svc-top { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2rem; }
}
@media(min-width:768px) and (max-width:1099px) {
  .svc-slide-card { flex: 0 0 calc(50% - .75rem); }
  .svc-top { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ═══ GALLERY — click to open lightbox ═══ */
.gal-item { cursor: pointer; }
.gal-ov { opacity: 0; }
.gal-item:hover .gal-ov { opacity: 1; }

/* ═══ INNER PAGES — compact breadcrumb band (the title lives off-screen for
   a11y/SEO only — see aha_inner_hero()) ═══ */
.inner-hero {
  background: linear-gradient(120deg, var(--orange) 0%, var(--orange-d) 100%);
  /* Horizontal padding lives on .sec-in below, not here — .inner-hero is a
     full-bleed box while .inner-body is a centered max-width box, so equal
     padding on both doesn't line their content up except at one exact
     viewport width. Matching .inner-body's own box model (centered box,
     then padding) here is what actually keeps the title and the content
     below it aligned at every width. */
  padding: 1.4rem 0;
  position: relative;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.12);
}
.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}
.inner-hero .sec-in { padding: 0 5rem; position: relative; z-index: 1; }
.inner-hero .sec-tag { color: rgba(255,255,255,.78); }
.inner-hero .sec-tag::before { background: rgba(255,255,255,.3); }
.inner-hero h1 { color: #fff; }
.inner-hero h1 em { color: rgba(255,255,255,.7); font-style: italic; }
.inner-hero p { color: #fff; font-size: 1.05rem; line-height: 1.8; max-width: 620px; margin-top: .75rem; }

.hero-crumb{display:flex;align-items:center;gap:.6rem;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.6)}
.hero-crumb a{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}
.hero-crumb a:hover{color:#fff}
.hero-crumb a i{font-size:.72rem}
.hero-crumb-sep{font-size:.62rem;color:rgba(255,255,255,.35)}
.hero-crumb span[aria-current]{color:#fff;font-weight:700}
.hero-pattern{display:flex;gap:5px;margin-bottom:1rem}
.hero-pattern span{width:6px;height:6px;background:rgba(255,255,255,.4)}
.hero-pattern span:nth-child(2){background:rgba(255,255,255,.75)}
.inner-body { padding: 4rem 5rem 6rem; max-width: 1300px; margin: 0 auto; }

/* ═══ PRODUCT PAGE — mobile fixes ═══ */
@media(max-width:767px){
  .prod-showcase-row,.prod-showcase-row--flip{grid-template-columns:1fr;direction:ltr;gap:2rem}
  .prod-spec-grid{grid-template-columns:1fr 1fr}
  .prod-network-visual{min-height:240px;padding:2rem 1rem}
  .pnv-d0,.pnv-d1,.pnv-d4,.pnv-d5{display:none}
  .inner-body{padding:3rem 1.25rem 4rem}
  [style*="padding:5rem 5rem"],[style*="padding: 5rem 5rem"]{padding:4rem 1.25rem!important}
  .inner-hero{padding:1rem 1.25rem}
}

/* ═══ NEWS fixes ═══ */
@media(max-width:767px){
  .news-grid{grid-template-columns:1fr}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important}
}
@media(min-width:768px) and (max-width:1099px){
  .news-grid{grid-template-columns:1fr 1fr}
  .inner-body{padding:4rem 2.5rem 5rem}
  .inner-hero{padding:1rem 2.5rem}
}

/* ═══ REVERSED LOGO on inner pages ═══ */
/* Custom uploaded logo: invert to white on dark hero */
.nav-logo-img--inner {
  filter: brightness(0) invert(1);
  opacity: .9;
}
/* Once header scrolls into solid mode, revert to natural colour */
.site-header--inner.scrolled .nav-logo-img--inner {
  filter: none;
  opacity: 1;
}
/* The full-colour BDCG lockup stays natural on the solid-white homepage
   header, where its own navy/green reads fine against white. Inner pages'
   header sits directly on a coloured hero band though, so force it to
   white there (even after the header solidifies on scroll) instead of
   leaving the illegible navy/green lockup on top of a matching hero tint. */
.nav-logo-full.nav-logo-img--inner {
  filter: none !important;
  opacity: 1;
}
.site-header--inner .nav-logo-full,
.site-header--inner.scrolled .nav-logo-full {
  filter: brightness(0) invert(1) !important;
  opacity: .95;
}
.nav-logo-full{height:42px;width:auto;border-radius:6px}
.foot-svg.nav-logo-full{height:44px}

/* ═══ INNER HEADER — transparent → solid on scroll ═══ */
.site-header--inner {
  position: absolute;        /* sit over the green hero */
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none !important;
  transition: background .3s, border-color .3s, box-shadow .3s;
}
.site-header--inner .nav-menu a       { color: rgba(255,255,255,.85); }
.site-header--inner .nav-menu a:hover,
.site-header--inner .nav-menu .current-menu-item > a { color: #fff; }
.site-header--inner .nav-cta          { background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.4); color: #fff; }
.site-header--inner .nav-cta:hover    { background: #fff; color: var(--green); }
.site-header--inner .nav-hamburger span { background: #fff; }
.site-header--inner .nav-login        { color: rgba(255,255,255,.85); }
.site-header--inner .nav-login:hover  { color: #fff; }
.site-header--inner .nav-account      { color: rgba(255,255,255,.9); }
.site-header--inner .nav-account-caret { color: rgba(255,255,255,.7); }
.site-header--inner .nav-account:hover .nav-account-name { color: #fff; }

/* Scrolled: become solid white */
.site-header--inner.scrolled {
  position: fixed;
  background: rgba(250,250,247,.97);
  border-bottom-color: var(--border);
  backdrop-filter: blur(20px);
}
.site-header--inner.scrolled .nav-menu a       { color: var(--mid); }
.site-header--inner.scrolled .nav-menu a:hover { color: var(--green); }
.site-header--inner.scrolled .nav-cta          { background: var(--green); border-color: var(--green); color: #fff; }
.site-header--inner.scrolled .nav-cta:hover    { background: var(--green-d); }
.site-header--inner.scrolled .nav-hamburger span { background: var(--dark); }
.site-header--inner.scrolled .nav-login        { color: var(--dark); }
.site-header--inner.scrolled .nav-login:hover  { color: var(--green); }
.site-header--inner.scrolled .nav-account      { color: var(--dark); }
.site-header--inner.scrolled .nav-account-caret { color: var(--muted); }

/* Inner hero must account for absolute header */
.inner-hero { padding-top: .75rem; }

/* Impact page map grid responsive */
@media(max-width:767px){
  [style*="grid-template-columns:1fr 340px"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
  #impactPageMap{height:300px!important}
  [style*="padding:3.5rem 5rem"],[style*="padding:3rem 5rem"],[style*="padding:4rem 5rem 5rem"]{padding:3rem 1.25rem!important}
}
@media(min-width:768px) and (max-width:1099px){
  [style*="grid-template-columns:1fr 340px"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
  [style*="padding:3.5rem 5rem"],[style*="padding:4rem 5rem"]{padding:3rem 2.5rem!important}
}

/* Footer legal links */
.foot-bottom a{color:rgba(255,255,255,.25);text-decoration:none;transition:color .2s}
.foot-bottom a:hover{color:var(--green-m)}
.foot-bottom div{display:flex;gap:1.5rem;flex-wrap:wrap}

/* ═══ DEFAULT PAGE CONTENT (page.php) ═══ */
.page-content h1,.page-content h2,.page-content h3,.page-content h4{font-family:var(--fd);color:var(--dark);line-height:1.25;margin:2rem 0 .85rem}
.page-content h1{font-size:2.2rem}
.page-content h2{font-size:1.65rem}
.page-content h3{font-size:1.25rem}
.page-content p{margin-bottom:1.4rem}
.page-content ul,.page-content ol{padding-left:1.5rem;margin-bottom:1.5rem}
.page-content li{margin-bottom:.45rem;line-height:1.75}
.page-content blockquote{border-left:3px solid var(--green);padding:1rem 1.5rem;margin:1.75rem 0;background:var(--green-xl);border-radius:0 var(--rs) var(--rs) 0}
.page-content blockquote p{margin-bottom:0;font-style:italic;color:var(--dark)}
.page-content img{border-radius:var(--rs);max-width:100%;margin:1.25rem 0;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.page-content a{color:var(--green);text-decoration:underline;text-decoration-color:rgba(26,92,58,.3)}
.page-content a:hover{text-decoration-color:var(--green)}
.page-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.95rem}
.page-content th{background:var(--green);color:#fff;padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.85rem}
.page-content td{padding:.7rem 1rem;border-bottom:1px solid var(--border);color:var(--mid)}
.page-content tr:last-child td{border-bottom:none}
.page-content tr:nth-child(even) td{background:var(--cream)}
@media(max-width:767px){
  .page-content{font-size:.97rem}
  [style*="padding:4rem 5rem 6rem"]{padding:3rem 1.25rem 4rem!important}
  [style*="padding:0 5rem"]{padding:0 1.25rem!important}
}
@media(min-width:768px) and (max-width:1099px){
  [style*="padding:4rem 5rem 6rem"]{padding:3.5rem 2.5rem 5rem!important}
  [style*="padding:0 5rem"]{padding:0 2.5rem!important}
}

/* ── Generic page content styles ── */
.wp-content-area h2{font-family:'Boing',sans-serif;font-size:1.6rem;color:var(--dark);margin:2rem 0 .85rem}
.wp-content-area h3{font-family:'Boing',sans-serif;font-size:1.25rem;color:var(--dark);margin:1.75rem 0 .75rem}
.wp-content-area p{margin-bottom:1.25rem}
.wp-content-area ul,.wp-content-area ol{padding-left:1.5rem;margin-bottom:1.25rem}
.wp-content-area li{margin-bottom:.45rem;line-height:1.75;margin-left:.25rem}
.wp-content-area blockquote{border-left:3px solid var(--green);padding-left:1.5rem;margin:2rem 0;font-family:'Graphik',sans-serif;font-style:italic;font-size:1.1rem;color:var(--mid)}
.wp-content-area img{border-radius:12px;max-width:100%;margin:1.5rem 0}
.wp-content-area a{color:var(--green);text-decoration:underline}
/* Archive responsive */
@media(max-width:767px){
  [style*="padding:3.5rem 5rem"]{padding:2rem 1.5rem 4rem!important}
  [style*="padding:3.5rem 5rem 6rem"],[style*="padding:4rem 5rem 6rem"]{padding:3rem 1.5rem 4rem!important}
  [style*="padding:0 5rem 6rem"]{padding:0 1.5rem 4rem!important}
  [style*="padding:0 5rem"]{padding:0 1.5rem!important}
}
@media(min-width:768px) and (max-width:1099px){
  [style*="padding:3.5rem 5rem"]{padding:2.5rem 2.5rem 4rem!important}
  [style*="padding:3.5rem 5rem 6rem"],[style*="padding:4rem 5rem 6rem"]{padding:3.5rem 2.5rem 5rem!important}
}

/* ═══════════════════════════════
   NAV DROPDOWN — clean & polished
   ═══════════════════════════════ */

/* Parent items with children get a chevron */
.nav-menu li { position: relative; }
.nav-menu li:has(> .sub-menu) > a::after {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 5px;
  opacity: .6;
  transition: transform .2s;
}
.nav-menu li:has(> .sub-menu):hover > a::after {
  transform: rotate(-135deg) translateY(-2px);
}

/* The dropdown panel */
.nav-menu .sub-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;             /* flush — no gap */
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  min-width: 210px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.06);
  padding: .65rem 0 .5rem;
  list-style: none;
  margin: 0;
  z-index: 400;
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}

/* Invisible bridge fills the gap so hover isn't lost */
.nav-menu li:has(> .sub-menu)::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -20px;
  right: -20px;
  height: 16px;   /* covers any sub-pixel gap */
}

/* Small arrow pointing up */
.nav-menu .sub-menu::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 10px; height: 10px;
  background: #fff;
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
  border-radius: 2px 0 0 0;
}

/* Show on hover — no delay on show, instant */
.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear 0s;
}

/* Dropdown items */
.nav-menu .sub-menu li { position: relative; }
.nav-menu .sub-menu a {
  display: flex;
  align-items: center;
  padding: .6rem 1.25rem;
  font-size: .84rem;
  font-weight: 500;
  color: var(--mid) !important;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
  border-radius: 0;
}
.nav-menu .sub-menu a:hover {
  background: var(--green-xl);
  color: var(--green) !important;
}
/* First/last item rounded corners */
.nav-menu .sub-menu li:first-child a { border-radius: 10px 10px 0 0; }
.nav-menu .sub-menu li:last-child  a { border-radius: 0 0 10px 10px; }
.nav-menu .sub-menu li:only-child  a { border-radius: 10px; }

/* Divider between groups if needed */
.nav-menu .sub-menu .menu-item-divider { border-top: 1px solid var(--border); margin: .35rem .75rem; }

/* Inner page header — dropdown on dark bg */
.site-header--inner:not(.scrolled) .nav-menu .sub-menu {
  background: rgba(26,47,102,.97);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
}
.site-header--inner:not(.scrolled) .nav-menu .sub-menu::before {
  background: rgba(26,47,102,.97);
  border-color: rgba(255,255,255,.12);
}
.site-header--inner:not(.scrolled) .nav-menu .sub-menu a {
  color: rgba(255,255,255,.75) !important;
}
.site-header--inner:not(.scrolled) .nav-menu .sub-menu a:hover {
  background: rgba(255,255,255,.1);
  color: #fff !important;
}

/* Nested sub-menus (3rd level) — open to the right */
.nav-menu .sub-menu .sub-menu {
  top: 0;
  left: calc(100% + 8px);
  transform: translateY(-6px);
}
.nav-menu .sub-menu li:hover > .sub-menu,
.nav-menu .sub-menu li:focus-within > .sub-menu {
  transform: translateY(0);
}
.nav-menu .sub-menu .sub-menu::before { display: none; }

/* Mobile — hide sub-menus in drawer (handled inline) */
.nav-drawer .sub-menu {
  display: none;
  padding: 0 0 .5rem 1.25rem;
  list-style: none;
  margin: 0;
}
.nav-drawer .sub-menu a {
  font-size: .95rem;
  color: var(--mid);
  padding: .6rem 0;
  display: block;
  text-decoration: none;
  border-bottom: 1px solid var(--border);
}
.nav-drawer li.menu-item-has-children > a::after {
  content: ' +';
  font-size: .9em;
  opacity: .5;
}
.nav-drawer li.menu-item-has-children.open > a::after { content: ' −'; }
.nav-drawer li.menu-item-has-children.open > .sub-menu { display: block; }

/* ═══ WIFI RINGS + box.lan ═══ */
.pnv-wifi-rings {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
}
.pnv-ring {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid rgba(26,92,58,.2);
  transform: translate(-50%, -50%);
  top: 0; left: 0;
  animation: wifiPulse 2.4s ease-out infinite;
}
.pnv-ring-1 { width: 100px; height: 100px; animation-delay: 0s; }
.pnv-ring-2 { width: 190px; height: 190px; animation-delay: .6s; }
.pnv-ring-3 { width: 290px; height: 290px; animation-delay: 1.2s; }
@keyframes wifiPulse {
  0%   { opacity: .7; transform: translate(-50%,-50%) scale(.85); }
  80%  { opacity: .15; }
  100% { opacity: 0;  transform: translate(-50%,-50%) scale(1); }
}
.pnv-ssid {
  position: absolute;
  top: 1.25rem; left: 50%;
  transform: translateX(-50%);
  background: rgba(26,92,58,.15);
  border: 1px solid rgba(26,92,58,.25);
  border-radius: 50px;
  padding: .28rem .9rem;
  display: flex; align-items: center; gap: 5px;
  font-size: .78rem; font-weight: 600; color: var(--green);
  white-space: nowrap;
  z-index: 3;
}
.pnv-ssid-lock { opacity: .55; }
.pnv-center { position: relative; z-index: 2; }

/* Generic page — responsive image/title layout */
@media(max-width:767px) {
  .page-hero-grid { grid-template-columns: 1fr !important; }
  .page-hero-img  { display: none !important; } /* hide image on very small screens, keep title readable */
}
@media(min-width:480px) and (max-width:767px) {
  .page-hero-img { display: block !important; max-height: 220px !important; }
}
@media(min-width:768px) and (max-width:1000px) {
  /* stack title above image on tablet */
}

/* ═══════════════════════════════════════════
   RICH TEXT / EDITOR CONTENT STYLES
   Applies to .wp-content-area and .page-editor-content
   Covers: page.php, page-custom.php, single.php,
           single-aha_news.php, single-aha_job.php
   ═══════════════════════════════════════════ */
.wp-content-area,
.page-editor-content,
.article-content,
.job-content {
  font-size: 1.05rem;
  color: var(--mid);
  line-height: 1.9;
}

/* Headings */
.wp-content-area h1,.page-editor-content h1 { font-family:var(--fd);font-size:2rem;color:var(--dark);margin:2.5rem 0 1rem;line-height:1.2 }
.wp-content-area h2,.page-editor-content h2 { font-family:var(--fd);font-size:1.6rem;color:var(--dark);margin:2.25rem 0 .875rem;line-height:1.25 }
.wp-content-area h3,.page-editor-content h3 { font-family:var(--fd);font-size:1.25rem;color:var(--dark);margin:2rem 0 .75rem;line-height:1.3 }
.wp-content-area h4,.page-editor-content h4 { font-size:1.05rem;font-weight:700;color:var(--dark);margin:1.75rem 0 .6rem }
.wp-content-area h5,.page-editor-content h5 { font-size:.95rem;font-weight:700;color:var(--dark);margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em }

/* Paragraphs */
.wp-content-area p,.page-editor-content p { margin-bottom:1.3rem }
.wp-content-area p:last-child,.page-editor-content p:last-child { margin-bottom:0 }

/* Lists — SHOW BULLETS & NUMBERS */
.wp-content-area ul,
.page-editor-content ul { list-style:disc;padding-left:1.6rem;margin-bottom:1.3rem }
.wp-content-area ol,
.page-editor-content ol { list-style:decimal;padding-left:1.6rem;margin-bottom:1.3rem }
.wp-content-area li,
.page-editor-content li { margin-bottom:.5rem;line-height:1.75;color:var(--mid) }
.wp-content-area ul ul,
.page-editor-content ul ul { list-style:circle;margin-top:.4rem;margin-bottom:.4rem }
.wp-content-area ol ol,
.page-editor-content ol ol { list-style:lower-alpha;margin-top:.4rem }

/* Links */
.wp-content-area a,.page-editor-content a { color:var(--green);text-decoration:underline;text-underline-offset:3px;transition:color .2s }
.wp-content-area a:hover,.page-editor-content a:hover { color:var(--green-d) }

/* Blockquote */
.wp-content-area blockquote,
.page-editor-content blockquote { border-left:3px solid var(--green);padding:1rem 0 1rem 1.5rem;margin:2rem 0;font-family:var(--fd);font-style:italic;font-size:1.1rem;color:var(--mid) }
.wp-content-area blockquote p,.page-editor-content blockquote p { margin:0 }

/* Images */
.wp-content-area img,.page-editor-content img { border-radius:12px;max-width:100%;height:auto;margin:1.5rem 0;display:block }
.wp-content-area figure,.page-editor-content figure { margin:1.75rem 0 }
.wp-content-area figcaption,.page-editor-content figcaption { font-size:.82rem;color:var(--muted);text-align:center;margin-top:.5rem;font-style:italic }

/* Tables */
.wp-content-area table,.page-editor-content table { width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:.95rem }
.wp-content-area th,.page-editor-content th { background:var(--green-xl);color:var(--dark);font-weight:600;text-align:left;padding:.75rem 1rem;border:1px solid var(--border) }
.wp-content-area td,.page-editor-content td { padding:.7rem 1rem;border:1px solid var(--border);color:var(--mid);vertical-align:top }
.wp-content-area tr:nth-child(even) td,.page-editor-content tr:nth-child(even) td { background:var(--cream) }

/* Horizontal rule */
.wp-content-area hr,.page-editor-content hr { border:none;border-top:1px solid var(--border);margin:2.5rem 0 }

/* Strong & em */
.wp-content-area strong,.page-editor-content strong { color:var(--dark);font-weight:600 }
.wp-content-area em,.page-editor-content em { font-style:italic }

/* Code */
.wp-content-area code,.page-editor-content code { background:var(--cream);border:1px solid var(--border);border-radius:5px;padding:.15rem .45rem;font-size:.9em;font-family:monospace;color:var(--green-d) }
.wp-content-area pre,.page-editor-content pre { background:var(--dark);color:#f0f0f0;border-radius:12px;padding:1.5rem;overflow-x:auto;margin:1.75rem 0;font-size:.88rem;line-height:1.65 }
.wp-content-area pre code,.page-editor-content pre code { background:none;border:none;padding:0;color:inherit;font-size:inherit }

/* Gutenberg alignment classes */
.wp-content-area .alignwide  { max-width:100%;margin-left:auto;margin-right:auto }
.wp-content-area .alignfull  { width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;max-width:none }
.wp-content-area .alignleft  { float:left;margin-right:1.5rem;margin-bottom:1rem;max-width:50% }
.wp-content-area .alignright { float:right;margin-left:1.5rem;margin-bottom:1rem;max-width:50% }
.wp-content-area .aligncenter,.page-editor-content .aligncenter { text-align:center;margin-left:auto;margin-right:auto }

/* Gutenberg button block */
.wp-content-area .wp-block-button__link { background:var(--green);color:#fff;padding:.75rem 1.75rem;border-radius:8px;text-decoration:none;font-weight:600;display:inline-block;transition:background .2s }
.wp-content-area .wp-block-button__link:hover { background:var(--green-d);color:#fff }
.wp-content-area .wp-block-button.is-style-outline .wp-block-button__link { background:transparent;border:2px solid var(--green);color:var(--green) }

/* Gutenberg callout / info box */
.wp-content-area .wp-block-pullquote { border-top:3px solid var(--green);border-bottom:3px solid var(--green);padding:1.5rem;margin:2rem 0;text-align:center }
.wp-content-area .wp-block-pullquote blockquote { border:none;padding:0;font-size:1.2rem }

/* Clearfix after floated images */
.wp-content-area::after,.page-editor-content::after { content:'';display:table;clear:both }

/* Responsive */
@media(max-width:767px){
  .wp-content-area .alignleft,
  .wp-content-area .alignright { float:none;margin:1rem 0;max-width:100% }
  .wp-content-area table { font-size:.85rem }
  .wp-content-area th,.wp-content-area td { padding:.55rem .75rem }
}

/* ── Article video (replaces featured image) ── */
.article-feat-video { background:var(--green); padding:0 5rem; }

/* ── Impact story responsive ── */
@media(max-width:767px){
  .impact-story-grid { grid-template-columns:1fr !important; gap:2rem !important; }
  .article-feat-video { padding:0 1.5rem !important; }
}
@media(min-width:768px) and (max-width:1099px){
  .impact-story-grid { gap:2.5rem !important; }
}

/* ═══ BECOME A SUPPORTER — step wizard ═══ */
.bs-wrap{background:var(--cream);padding:3rem 1.5rem 5rem}
.bs-in{max-width:720px;margin:0 auto}
.bs-hero{margin-bottom:3rem}
.bs-hero h1{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:.5rem 0 .6rem}
.bs-hero p{font-size:.95rem;color:var(--mid);line-height:1.75;max-width:520px}

/* No hero image under the header here either — force the normal opaque
   header instead of the transparent-until-scroll inner-page treatment
   (same reasoning as page-login.php, see woocommerce.css). */
body.page-template-page-templatespage-become-a-supporter-php .site-header{background:rgba(250,250,247,.97) !important;backdrop-filter:blur(20px)}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-menu a{color:var(--dark) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-menu a:hover,
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-menu .current-menu-item>a{color:#e65b4a !important;font-weight:700}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nlt-just{color:var(--dark) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nlt-act{color:var(--green-m) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-cta{background:var(--green) !important;border-color:var(--green) !important;color:#fff !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-hamburger span{background:var(--dark) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-login{color:var(--dark) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-login:hover{color:var(--green) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-account{color:var(--dark) !important}
body.page-template-page-templatespage-become-a-supporter-php .site-header .nav-logo-img{filter:none !important}

.bs-steps{display:flex;align-items:center;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap}
.bs-step{display:flex;align-items:center;gap:.6rem;font-size:.88rem;font-weight:600;color:var(--muted);padding-right:1.5rem;position:relative}
.bs-step:not(:last-child)::after{content:'';width:2.5rem;height:1px;background:var(--border);margin-left:.5rem}
.bs-step-num{width:26px;height:26px;border-radius:50%;background:var(--cream);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--muted);flex-shrink:0;transition:background .2s,border-color .2s,color .2s}
.bs-step.is-active{color:var(--dark)}
.bs-step.is-active .bs-step-num{background:var(--green);border-color:var(--green);color:#fff}

.bs-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:760px}
.bs-plan-card{display:block;width:100%;text-align:left;padding:2.25rem;border:1.5px solid var(--border);border-radius:var(--r);background:var(--white);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}
.bs-plan-card:hover{border-color:var(--green);box-shadow:0 14px 36px var(--shadow);transform:translateY(-2px)}
.bs-plan-ico{width:52px;height:52px;border-radius:14px;background:var(--green-l);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.25rem;margin-bottom:1.25rem}
.bs-plan-t{font-family:var(--fd);font-weight:700;font-size:1.2rem;color:var(--dark);margin-bottom:.35rem}
.bs-plan-d{font-size:.88rem;color:var(--muted)}

.bs-back{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;margin-bottom:2rem;font-size:.85rem;font-weight:600;color:var(--mid);cursor:pointer;transition:color .2s}
.bs-back:hover{color:var(--green)}

/* Compact checklist of packages, replacing big cards */
.bs-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--white)}
.bs-list[hidden]{display:none}
.bs-row{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;text-decoration:none;color:var(--dark);transition:background .15s}
.bs-row:not(:last-child){border-bottom:1px solid var(--border)}
.bs-row:hover{background:var(--green-xl)}
.bs-row-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;transition:border-color .15s}
.bs-row:hover .bs-row-radio{border-color:var(--green)}
.bs-row-price{font-family:var(--fd);font-weight:700;font-size:1.05rem;color:var(--dark);white-space:nowrap;flex-shrink:0;width:110px}
.bs-row-freq{font-family:var(--fb);font-size:.75rem;font-weight:500;color:var(--muted)}
.bs-row-desc{font-size:.88rem;color:var(--mid);flex:1}
.bs-row-go{color:var(--muted);font-size:.85rem;flex-shrink:0;transition:color .15s,transform .15s}
.bs-row:hover .bs-row-go{color:var(--green);transform:translateX(3px)}

@media(max-width:767px){
  .bs-plan-grid{grid-template-columns:1fr}
  .bs-steps{gap:.25rem}
  .bs-step{font-size:.8rem;padding-right:.75rem}
  .bs-step:not(:last-child)::after{width:1.25rem}
  .bs-row{flex-wrap:wrap;padding:1rem 1.25rem}
  .bs-row-desc{width:100%;order:3;margin-left:calc(18px + 1rem)}
  .bs-row-go{margin-left:auto}
}

/* ── BDCG pricing / benefits table (Sponsor & Partner page) ── */
.bdcg-table-wrap{overflow-x:auto;margin:2rem 0;border:1.5px solid var(--border);border-radius:var(--rs)}
.bdcg-table{width:100%;border-collapse:collapse;min-width:640px}
.bdcg-table th,.bdcg-table td{padding:.9rem 1.1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}
.bdcg-table th{background:var(--green);color:#fff;font-weight:600;white-space:nowrap}
.bdcg-table tr:last-child td{border-bottom:none}
.bdcg-table tr:nth-child(even) td{background:var(--green-xl)}
.bdcg-timeline{border-left:2px solid var(--border);margin:2rem 0 2rem .5rem;padding-left:1.75rem}
.bdcg-timeline-item{position:relative;padding-bottom:1.75rem}
.bdcg-timeline-item:last-child{padding-bottom:0}
.bdcg-timeline-item::before{content:'';position:absolute;left:-2.1rem;top:.35rem;width:11px;height:11px;border-radius:50%;background:var(--green)}
.bdcg-timeline-item h4{font-family:var(--fd);font-size:1rem;margin-bottom:.25rem;color:var(--dark)}
.bdcg-timeline-item p{font-size:.9rem;color:var(--mid);margin:0}

/* ═══ SPEAKERS — a centred tag cloud, not another card grid. ═══ */
.speakers-sec{background:var(--white)}
.speakers-in{max-width:820px;margin:0 auto;text-align:center}
.speakers-sec .sec-tag{justify-content:center}
.speakers-h{margin:0 0 1.25rem}
.speakers-note{font-size:1rem;color:var(--mid);line-height:1.8;max-width:620px;margin:0 auto 2rem}
.speaker-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-bottom:2.25rem}
.speaker-tag{font-family:var(--fd);font-weight:700;font-size:1.05rem;padding:.75rem 1.5rem;border-radius:50px;border:1.5px solid;background:transparent}
.speaker-tag.st-1{color:var(--green);border-color:var(--green-l);background:var(--green-xl)}
.speaker-tag.st-2{color:var(--orange);border-color:var(--orange-l);background:var(--orange-l)}
.speaker-tag.st-3{color:var(--green-d);border-color:var(--orange-l);background:var(--orange-l)}

/* ═══ SPONSORSHIP — text-only teaser, matching the Conference Themes
   top-row layout (heading left, copy + link right). ═══ */
.sponsor-band{background:var(--cream)}

/* ═══ KEY DATES — full-width homepage milestone strip, right after the
   pillars. Same eyebrow+heading / copy+CTA top row as the Three Pillars
   band above it, so it reads as part of the same system. The two
   confirmed dates show as chips, and every other milestone sits below
   in a wide grid — all visible at once, nothing collapsed. ═══ */
.keydates-sec{padding-top:3rem;padding-bottom:3rem}
.keydates-tbd-grid{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1.75rem}
.keydates-tbd-item{position:relative;overflow:hidden;flex:1 1 260px;max-width:calc(25% - .825rem);display:flex;flex-direction:column;gap:.6rem;padding:1.5rem 1.5rem 1.35rem;background:var(--white);border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:var(--rs);box-shadow:0 14px 30px -22px rgba(0,20,10,.35);transition:transform .18s ease,box-shadow .18s ease;text-decoration:none}
.keydates-tbd-item:hover{transform:translateY(-3px);box-shadow:0 20px 36px -20px rgba(0,20,10,.4)}
.keydates-tbd-item .keydates-tbd-arrow{position:absolute;top:1.5rem;right:1.25rem;font-size:.78rem;color:var(--muted);opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease}
.keydates-tbd-item:hover .keydates-tbd-arrow{opacity:1;transform:translateX(0)}
.keydates-tbd-item--confirmed .keydates-tbd-arrow{color:var(--green-m)}
.keydates-tbd-item i{color:var(--orange);font-size:1rem;opacity:.8}
.keydates-tbd-label{font-size:.85rem;color:var(--dark);font-weight:700;line-height:1.35}
.keydates-tbd-date{font-size:1.05rem;color:var(--orange-d);font-weight:800;font-family:var(--fd);letter-spacing:-.01em}
.keydates-tbd-item--confirmed{border-left-color:var(--green)}
.keydates-tbd-item--confirmed .keydates-tbd-date{color:var(--green)}
@media(min-width:768px) and (max-width:1099px){.keydates-tbd-item{max-width:calc(50% - .55rem)}}
@media(max-width:767px){.keydates-tbd-item{max-width:100%}}

/* Abstract Submission Guidance — requirements key/value table */
.req-table{margin-top:1.5rem;border:1px solid var(--border);border-radius:var(--rs);overflow:hidden;background:var(--white)}
.req-row{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.15rem 1.5rem;border-bottom:1px solid var(--border)}
.req-row:last-child{border-bottom:none}
.req-row:not(.req-row--head):nth-of-type(even){background:var(--cream)}
.req-row--head{padding:.85rem 1.5rem;background:var(--orange-l)}
.req-row--head .req-label,.req-row--head .req-value{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.req-label{font-weight:700;color:var(--dark);font-size:.92rem}
.req-value{color:var(--mid);font-size:.92rem;line-height:1.7}
@media(max-width:600px){.req-row{grid-template-columns:1fr;gap:.35rem;padding:1rem 1.25rem}}

/* ═══ FLOATING QUICK-LINKS — minimal white card overlapping the hero's
   bottom edge (negative margin pulls it up), replacing the old flat/green
   "Three Ways In" strip. Kept in normal flow otherwise so it still reads
   top-to-bottom as the first thing under the hero. ═══ */
.fql-wrap{position:relative;z-index:5;margin-top:-3.5rem;padding:0 5rem}
.fql-card{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto;background:var(--white);border-radius:var(--r);box-shadow:0 24px 60px -20px rgba(0,20,10,.28);overflow:hidden}
.fql-col{padding:1.35rem 1.35rem;display:flex;flex-direction:column}
.fql-col{border-left:1px solid var(--border)}
.fql-col:first-child{border-left:none}
.fql-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;background:var(--green-l);color:var(--green-d);font-size:1.4rem;margin-bottom:.75rem;transition:background-color .35s ease,color .35s ease}
.fql-col h2{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.3rem}
.fql-col p{font-size:.9rem;color:var(--mid);line-height:1.5;margin:0 0 .6rem}
.fql-col .svc-cta-link{font-size:.84rem;font-weight:700;margin-top:auto;padding-top:.5rem}
.fql-col[data-slide]{position:relative;transition:background-color .35s ease}
.fql-col[data-slide].active{background:var(--green-l)}
.fql-col[data-slide].active .fql-ico{background:var(--green);color:#fff}
.fql-col[data-slide].active::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green)}
@media(min-width:768px) and (max-width:1099px){
  .fql-wrap{padding:0 2.5rem;margin-top:-2.5rem}
  .fql-card{grid-template-columns:repeat(2,1fr)}
  .fql-col:nth-child(3){border-left:none}
  .fql-col{border-top:1px solid var(--border)}
  .fql-col:first-child,.fql-col:nth-child(2){border-top:none}
}
@media(max-width:767px){
  .fql-wrap{padding:0 1.25rem;margin-top:1.5rem}
  .fql-card{grid-template-columns:1fr;box-shadow:none;border:1px solid var(--border)}
  .fql-col{border-left:none;border-top:1px solid var(--border)}
  .fql-col:first-child{border-top:none}
}

/* ═══ VENUE — logistics checklist (icon-left rows), distinct from the
   Register path strip and the Newsroom resource bar. ═══ */
.checklist{margin-top:1rem;border-top:1px solid var(--border)}
.checklist-row{display:grid;grid-template-columns:40px 180px 1fr;align-items:center;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.checklist-ico{width:38px;height:38px;border-radius:50%;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:.95rem}
.checklist-t{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--dark)}
.checklist-d{font-size:.92rem;color:var(--mid);line-height:1.7;margin:0}
@media(max-width:767px){
  .checklist-row{grid-template-columns:36px 1fr;grid-template-areas:"ico t" "d d";gap:.5rem 1rem;padding:1.25rem 0}
  .checklist-ico{grid-area:ico}
  .checklist-t{grid-area:t;align-self:center}
  .checklist-d{grid-area:d;margin-top:.5rem}
}

/* FAQ — plain native <details> accordion, no JS required */
.faq-list{border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border);padding:1.25rem 0}
.faq-item summary{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--dark);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.3rem;font-weight:400;color:var(--green);flex-shrink:0;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:1rem 0 0;font-size:.92rem;color:var(--mid);line-height:1.7}

/* ═══ NEWSROOM — flat resource bar (no boxes/icons), a lighter register than
   the Register path-strip and Venue checklist. ═══ */
.resource-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:3.5rem;border-top:2px solid var(--dark);border-bottom:1px solid var(--border)}
.resource-item{padding:1.5rem 2rem 1.5rem 0}
.resource-item:not(:first-child){padding-left:2rem;border-left:1px solid var(--border)}
.resource-t{display:block;font-family:var(--fd);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.03em;color:var(--dark);margin-bottom:.6rem}
.resource-item p{font-size:.88rem;color:var(--mid);line-height:1.65;margin:0}
.resource-item p a{color:var(--green);font-weight:600;text-decoration:none}
@media(max-width:767px){
  .resource-bar{grid-template-columns:1fr}
  .resource-item{padding:1.25rem 0;border-left:none !important;border-top:1px solid var(--border)}
  .resource-item:first-child{border-top:none}
}

/* ═══ BRAND PATTERN BAND — FINAS motif strip, placed as a divider right
   before the footer. ═══ */
.brand-pattern-band{
  height:56px;
  background-color:var(--white);
  background-image:url("../images/footer-pattern-band.webp");
  background-repeat:repeat-x;
  background-size:853px 56px;
  background-position:left center;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
@media(max-width:600px){
  .brand-pattern-band{height:40px;background-size:609px 40px}
}

/* ═══ SPONSOR PAGE — tier detail columns, why-partner grid, support grid ═══ */
.tier-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;margin-top:2rem}
.tier-detail-col{padding:1.5rem 1.75rem;border:1.5px solid var(--border);border-radius:var(--r);background:var(--white);transition:box-shadow .2s,transform .2s}
.tier-detail-col:hover{box-shadow:0 12px 30px var(--shadow);transform:translateY(-2px)}
.tier-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.tier-detail-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.tier-detail-name{font-family:var(--fd);font-weight:700;font-size:1.05rem;color:var(--dark)}
.tier-detail-price{font-size:.85rem;color:var(--green);font-weight:700;margin-top:.3rem}
.tier-info-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s}
.tier-info-btn:hover{background:var(--green);color:#fff}
.tier-detail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}
.tier-detail-list li{position:relative;padding-left:1.1rem;font-size:.85rem;color:var(--mid);line-height:1.6}
.tier-detail-list li::before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--green-m)}
.tier-detail-list.tier-detail-more{margin-top:.65rem}
.tier-detail-list.tier-detail-more[hidden]{display:none}
.tier-detail-select{display:inline-flex;align-items:center;gap:7px;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--orange-d);text-decoration:none;transition:gap .2s}
.tier-detail-select:hover{gap:11px}
.tier-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:1rem;background:none;border:none;padding:0;color:var(--green);font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer}
.tier-toggle i{font-size:.7rem;transition:transform .2s}
.tier-toggle.open i{transform:rotate(180deg)}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 3rem}
.why-col h3{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:2px solid var(--green-l)}
.why-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.why-col li{position:relative;padding-left:1.2rem;font-size:.9rem;color:var(--mid);line-height:1.7}
.why-col li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--orange)}

.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:5.5rem}
.checkline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.checkline li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--dark);font-weight:600;line-height:1.5}
.checkline li::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;left:0;top:.05em;color:var(--orange);font-size:.75rem}

@media(max-width:900px){
  .tier-detail-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .support-grid{grid-template-columns:1fr;gap:2.5rem}
}

/* ═══ OVERVIEW GRID — text on the left, info cards filling the right column
   so the intro fills the page width instead of trailing off into empty
   space. Used on About & Agenda. ═══ *
/* PROSE SECTION — plain heading + paragraphs, no grid or side image.
   Used on the About page for a straightforward read, section to
   section, rather than alternating image/text blocks. */
.prose-sec{max-width:760px;margin-top:4.5rem}
.prose-sec:first-child{margin-top:0}
.prose-sec p{font-size:1.02rem;color:var(--mid);line-height:1.85;margin-bottom:1.25rem}
.prose-sec p:last-of-type{margin-bottom:0}
.prose-sec p strong{color:var(--dark)}
.prose-sec h3{font-size:1.3rem;font-weight:700;color:var(--dark);line-height:1.3}

.coming-soon{max-width:520px;margin:2rem auto;text-align:center;padding:4rem 1rem}
.coming-soon i{font-size:2.4rem;color:var(--green-m);margin-bottom:1.5rem;display:inline-block}
.coming-soon h2{margin-bottom:1rem}
.coming-soon p{font-size:1rem;color:var(--mid);line-height:1.75}

/* Conference Pillars page */
.pillar-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.pillar-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.75rem 2rem;transition:box-shadow .25s,transform .25s}
.pillar-card:hover{box-shadow:0 12px 30px var(--shadow);transform:translateY(-2px)}
.pillar-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.pillar-ico{width:42px;height:42px;border-radius:12px;background:var(--green-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pillar-ico i{font-size:17px;color:var(--green)}
.pillar-num{font-family:var(--fd);font-size:1.9rem;font-weight:800;color:var(--green-l);line-height:1}
.pillar-card h2{font-size:clamp(1.4rem,2vw,1.8rem);margin-bottom:.75rem}
.pillar-q{font-size:1rem;color:var(--dark);font-weight:600;font-style:italic;line-height:1.5;margin:0 0 1rem}
.pillar-card p{font-size:.92rem;color:var(--mid);line-height:1.75;margin-bottom:.85rem}
.pillar-card p:last-child{margin-bottom:0}

.enablers-band{background:var(--green);border-radius:var(--r);padding:3.5rem;margin:3.5rem 0 0;color:#fff}
.enablers-band .sec-tag{color:rgba(255,255,255,.75)}
.enablers-band .sec-tag::before{background:rgba(255,255,255,.6)}
.enablers-band h2{color:#fff}
.enablers-band h2 em{color:var(--green-l)}
.enablers-band p{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.8;max-width:720px}
.enabler-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.enabler-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);color:#fff;padding:.55rem 1.2rem;border-radius:50px;font-size:.85rem;font-weight:600}

.pillars-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem}
@media(max-width:767px){
  .pillar-card{padding:1.5rem}
  .enablers-band{padding:2.25rem}
}

.overview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:start}
.overview-block p{font-size:1.05rem;color:var(--mid);line-height:1.9;margin-bottom:1.5rem}
.overview-block p:first-child{font-size:1.15rem;color:var(--dark);line-height:1.8}
.overview-block p:last-child{margin-bottom:0}
.info-card-stack{display:flex;flex-direction:column;gap:1.25rem}
.info-card{display:flex;align-items:flex-start;gap:1.1rem;padding:1.5rem 1.5rem;border:1.5px solid var(--border);border-radius:var(--r);background:var(--white)}
.info-card--tint{background:var(--green-xl);border-color:var(--green-l)}
.fact-bar-ico{width:42px;height:42px;border-radius:50%;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.fb-t{font-family:var(--fd);font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:.35rem}
.fb-d{font-size:.88rem;color:var(--mid);line-height:1.6;margin:0}
@media(max-width:900px){
  .overview-grid{grid-template-columns:1fr;gap:2.5rem}
}

/* ═══ FORM MODAL — generic popup shell for the
   sponsor-interest and similar forms, triggered by a [data-modal-open] button. ═══ */
.form-modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}
.form-modal[hidden]{display:none}
.form-modal-overlay{position:absolute;inset:0;background:rgba(20,20,30,.6);backdrop-filter:blur(2px)}
.form-modal-panel{position:relative;background:var(--white);width:100%;max-width:560px;border-radius:var(--r);box-shadow:0 24px 64px rgba(0,0,0,.28);max-height:88vh;overflow-y:auto;padding:2.75rem}
.form-modal-close{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:50%;border:none;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;z-index:1}
.form-modal-close:hover{background:var(--green);color:#fff}
.form-modal .cform{box-shadow:none;border:none;padding:0;background:transparent}
.modal-trigger-block{border:1.5px solid var(--border);border-radius:var(--r);padding:2.5rem;text-align:center;max-width:560px}
.modal-trigger-block .cf-t{margin-bottom:.5rem}
.modal-trigger-block .cf-s{margin-bottom:1.75rem}
@media(max-width:600px){
  .form-modal-panel{padding:2rem 1.5rem}
}

/* ═══ SAVE CONFIRMATION MODAL — brief, centred success popup used site-wide
   after any dashboard form save (replaces inline "Saved." text). Auto-
   dismisses; no overlay, so it never blocks interaction underneath. ═══ */
.save-modal{position:fixed;left:50%;bottom:2.5rem;transform:translateX(-50%) translateY(12px);z-index:2400;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.save-modal.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.save-modal-panel{display:flex;align-items:center;gap:.7rem;background:var(--dark);color:#fff;padding:.85rem 1.4rem;border-radius:999px;box-shadow:0 18px 40px rgba(0,0,0,.28);font-size:.88rem;font-weight:600}
.save-modal-icon{width:22px;height:22px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0}
@media(max-width:600px){
  .save-modal{left:1rem;right:1rem;bottom:1.25rem;transform:translateY(12px)}
  .save-modal.is-visible{transform:translateY(0)}
  .save-modal-panel{width:100%;justify-content:center}
}

/* ═══ SPONSOR PAGE — intro paragraph paired with a compact CTA card,
   instead of a large centred trigger block buried at the bottom. ═══ */
.intro-cta-row{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}
.intro-cta-card{border:1.5px solid var(--border);border-radius:var(--r);padding:1.75rem;background:var(--white)}
.intro-cta-card .cf-t{font-size:1.05rem;margin-bottom:.35rem}
.intro-cta-card .cf-s{font-size:.85rem;color:var(--mid);margin-bottom:1.1rem}
.intro-cta-card .btn-green{width:100%;justify-content:center}
@media(max-width:900px){
  .intro-cta-row{grid-template-columns:1fr}
}

/* ═══ ABSTRACTS PAGE — compact format list (icon + title + note) ═══ */
.format-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}
.format-list li{display:flex;align-items:flex-start;gap:.85rem;padding-left:0}
.format-list li::before{content:none}
.format-list li i{width:32px;height:32px;border-radius:50%;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0;margin-top:.1rem}
.format-list li strong{display:block;font-size:.92rem;color:var(--dark);margin-bottom:.2rem}
.format-list li span{display:block;font-size:.85rem;color:var(--mid);line-height:1.6}

/* ═══ ABSTRACT FORM — write-in rich text editor vs. file attach toggle ═══ */
.abstract-form{max-width:760px}
.abstract-mode-toggle{display:inline-flex;border:1.5px solid var(--border);border-radius:8px;padding:3px;margin:.5rem 0 1rem;gap:2px}
.mode-btn{background:none;border:none;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--mid);padding:.5rem 1.1rem;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}
.mode-btn.active{background:var(--green);color:#fff}
.rte-toolbar{display:flex;gap:4px;border:1.5px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;padding:.4rem;background:var(--cream)}
.rte-toolbar button{width:32px;height:32px;border:none;background:transparent;border-radius:5px;color:var(--mid);cursor:pointer;font-size:.82rem;transition:background .15s,color .15s}
.rte-toolbar button:hover{background:var(--green-l);color:var(--green)}
.rte-toolbar-clear{margin-left:4px;padding-left:8px;border-left:1px solid var(--border)}
.rte-toolbar-clear:hover{background:var(--red-l) !important;color:var(--red-d) !important}
.rte-editor{min-height:180px;border:1.5px solid var(--border);border-radius:0 0 8px 8px;padding:.9rem 1rem;font-size:.95rem;color:var(--dark);line-height:1.7;outline:none;resize:vertical;overflow:auto}
.rte-editor:focus{border-color:var(--green)}
.rte-editor:empty::before{content:attr(data-placeholder);color:var(--muted)}
.rte-editor ul,.rte-editor ol{padding-left:1.3rem;margin:.5rem 0}
.abstract-mode-panel input[type="file"]{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:.75rem;font-size:.88rem;font-family:inherit;background:var(--white)}
.field-hint{font-size:.78rem;color:var(--muted);margin-top:.5rem;display:flex;justify-content:space-between;gap:1rem}
.field-hint .word-count{flex-shrink:0;font-weight:600;color:var(--dark)}

/* ═══ PROCESS TRACK — horizontal step tracker (dot + connecting rail),
   used for "How It Works" on the Abstracts page. ═══ */
.process-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:1rem}
.process-track::before{content:'';position:absolute;top:6px;left:0;right:0;height:2px;background:var(--border)}
.process-step{position:relative;padding-top:2.5rem}
.process-dot{position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--cream)}
.process-step h3{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.5rem}
.process-step p{font-size:.88rem;color:var(--mid);line-height:1.7;margin:0}
@media(max-width:767px){
  .process-track{grid-template-columns:1fr;gap:2rem}
  .process-track::before{top:0;bottom:0;left:6px;right:auto;width:2px;height:auto}
  .process-step{padding-top:0;padding-left:2.25rem}
  .process-dot{top:6px}
}

/* ═══ REGISTER FORM — dynamic amount-due summary + sponsor fields ═══ */
.amount-due{display:flex;align-items:center;justify-content:space-between;background:var(--green-l);border:1.5px solid var(--green-l);border-radius:8px;padding:1rem 1.25rem;margin:0 0 1.25rem}
.amount-due[hidden]{display:none}
.amount-due-label{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green)}
.amount-due-value{font-family:var(--fd);font-weight:700;font-size:1.05rem;color:var(--dark)}

/* ═══ CATEGORY PICKER — card-style selector replacing a plain <select> ═══ */
.category-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.category-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:1.25rem .75rem;cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s,transform .15s}
.category-option i{font-size:1.2rem;color:var(--muted);transition:color .2s}
.category-option span{font-size:.82rem;font-weight:600;color:var(--mid);line-height:1.35}
.category-option:hover{border-color:var(--green-l);transform:translateY(-1px)}
.category-option.active{border-color:var(--green);background:var(--green-l)}
.category-option.active i,.category-option.active span{color:var(--green)}
@media(max-width:480px){
  .category-picker{grid-template-columns:1fr}
}

/* Register page — give the form column more room than a plain 50/50 split,
   but only at desktop widths (mobile keeps the existing single-column
   .about-grid stacking behaviour). */
@media(min-width:768px){
  .about-grid--wide{grid-template-columns:.85fr 1.15fr}
}

/* ═══ AUTH — login page ═══ */
.auth-form-wrap{max-width:460px;margin:0 auto}
.auth-remember{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--mid);margin:-.25rem 0 1.25rem;cursor:pointer}
.auth-remember input{width:auto;margin:0}
.auth-links{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted);text-align:center}
.auth-links a{color:var(--green);font-weight:500;text-decoration:none}
.form-error{background:var(--red-l);border:1px solid var(--red);color:var(--red-d);border-radius:8px;padding:.75rem 1rem;font-size:.85rem;margin-bottom:1.25rem}
.form-error[hidden]{display:none}
.auth-form-wrap .cform{box-shadow:none;border-radius:10px;padding:2rem}
.auth-form-wrap .cf-t{font-family:inherit;font-weight:600;font-size:1.15rem}
.auth-form-wrap .cf-s{font-size:.85rem}

/* ═══ DASHBOARD — minimal, professional admin-panel styling: body font
   throughout (not the display/heading font), lighter weights, hairline
   borders, muted rather than saturated status colours. ═══ */
.inner-body.dash-layout{max-width:1600px}
.dash-layout{display:grid;grid-template-columns:230px 1fr;gap:2rem;align-items:start;font-size:.95rem}
@media(min-width:1700px){
  .inner-body.dash-layout{max-width:1800px}
}
.dash-sidebar{position:sticky;top:2rem;display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--border);border-radius:10px;padding:.75rem;background:var(--white)}
.dash-sidebar-nav{display:flex;flex-direction:column;gap:.1rem}
.dash-sidebar-link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:7px;font-size:.88rem;font-weight:500;color:var(--mid);text-decoration:none;border-left:2px solid transparent;transition:background .15s,color .15s,border-color .15s}
.dash-sidebar-link i{width:1.1em;font-size:.85em;color:var(--muted);transition:color .15s}
.dash-sidebar-link:hover{background:var(--cream);color:var(--dark)}
.dash-sidebar-link.is-active{background:var(--cream);color:var(--green);border-left-color:var(--green);font-weight:600}
.dash-sidebar-link.is-active i{color:var(--green)}
.dash-sidebar-logout{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border);color:var(--muted)}
.dash-sidebar-logout i{color:var(--muted)}
.dash-sidebar-logout:hover{background:var(--cream);color:var(--red-d)}
.dash-sidebar-logout:hover i{color:var(--red-d)}
.dash-main{display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.dash-notice{display:flex;gap:.85rem;align-items:flex-start;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:1.1rem 1.3rem}
.dash-notice i{color:var(--mid);margin-top:.2rem;font-size:.95em}
.dash-notice p{font-size:.88rem;color:var(--mid);line-height:1.7;margin:0}
@media(max-width:900px){
  .dash-layout{grid-template-columns:1fr}
  .dash-sidebar{position:static;flex-direction:row;flex-wrap:wrap;top:auto}
  .dash-sidebar-nav{flex-direction:row;flex-wrap:wrap}
  .dash-sidebar-logout{margin-top:0;padding-top:0;border-top:none;margin-left:auto}
}
@media(max-width:600px){
  .dash-sidebar{flex-direction:column}
  .dash-sidebar-nav{flex-direction:column}
  .dash-sidebar-logout{margin-left:0;margin-top:.6rem;padding-top:.85rem;border-top:1px solid var(--border)}
}

/* ═══ HEADER — logged-in vs logged-out auth area ═══ */
.nav-auth{display:flex;align-items:center;gap:1rem}
.nav-login-link{font-size:.9rem;font-weight:700;color:var(--dark);text-decoration:none;white-space:nowrap;transition:color .2s}
.site-header--inner:not(.scrolled) .nav-login-link{color:rgba(255,255,255,.85)}
.nav-login-link:hover{color:var(--green)}
.site-header--inner:not(.scrolled) .nav-login-link:hover{color:#fff}

/* ═══ HEADER — logged-in avatar/name dropdown ═══ */
.nav-user-menu{position:relative}
.nav-user-trigger{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.3rem;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--dark);transition:color .2s}
.site-header--inner:not(.scrolled) .nav-user-trigger{color:rgba(255,255,255,.9)}
.nav-user-trigger img{width:28px;height:28px;border-radius:50%;display:block;object-fit:cover}
.nav-user-caret{font-size:.68rem;color:var(--muted);transition:transform .15s}
.site-header--inner:not(.scrolled) .nav-user-caret{color:rgba(255,255,255,.7)}
.nav-user-trigger[aria-expanded="true"] .nav-user-caret{transform:rotate(180deg)}
.nav-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.14);padding:.4rem;z-index:400}
.nav-user-dropdown[hidden]{display:none}
.nav-user-dropdown a{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:7px;font-size:.85rem;font-weight:500;color:var(--dark);text-decoration:none}
.nav-user-dropdown a:hover{background:var(--cream);color:var(--green)}
.nav-user-dropdown a i{width:1em;color:var(--muted)}

.nav-drawer-user{display:flex;align-items:center;gap:.65rem;padding:1rem 0 .5rem;border-top:1px solid var(--border);margin-top:1rem}
.nav-drawer-user img{width:32px;height:32px;border-radius:50%;display:block;object-fit:cover}
.nav-drawer-user span{font-weight:600;color:var(--dark);font-size:.92rem}

/* ═══ AUTH PAGES — no hero banner, just clear the fixed solid header ═══ */
.inner-body--no-hero{padding-top:3rem}
@media(max-width:600px){.inner-body--no-hero{padding-top:2rem}}

/* ═══ DASHBOARD — registration/application status card ═══ */
.dash-status-card{border:1px solid var(--border);border-radius:10px;padding:1.4rem;background:var(--white)}

/* ═══ DASHBOARD — overview snapshot cards ═══ */
.dash-greeting{margin-bottom:1.4rem}
.dash-greeting-title{font-family:var(--fd);font-weight:500;font-size:1.5rem;color:var(--dark);margin:0}
.dash-greeting-sub{font-size:.9rem;color:var(--muted);margin:.3rem 0 0}
.dash-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}
.dash-admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}
.dash-admin-stat-card{position:relative;display:block;border:1px solid var(--border);border-radius:var(--rs);background:var(--white);padding:1.1rem 1.2rem 1.5rem;text-decoration:none;transition:box-shadow .15s,border-color .15s}
.dash-admin-stat-card:hover{border-color:var(--green-m);box-shadow:0 10px 24px -16px rgba(0,20,10,.3)}
.dash-admin-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.9rem}
.dash-admin-stat-top-left{display:flex;align-items:center;gap:.6rem;min-width:0}
.dash-admin-stat-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;font-size:.9rem}
.dash-admin-stat-label{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mid)}
.dash-admin-stat-trend{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;padding:.25rem .6rem;border-radius:50px;font-size:.76rem;font-weight:700;white-space:nowrap}
.dash-admin-stat-trend--up{background:var(--orange-l);color:var(--orange-d)}
.dash-admin-stat-trend--down{background:var(--red-l);color:var(--red-d)}
.dash-admin-stat-num{font-size:2rem;font-weight:800;color:var(--dark);line-height:1}
.dash-admin-stat-caption{font-size:.82rem;color:var(--muted);margin-top:.5rem}
.dash-mini-card{border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;background:var(--white)}
.dash-mini-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.4rem}
.dash-mini-label{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.dash-mini-title{font-size:.92rem;font-weight:600;color:var(--dark)}
.dash-mini-meta{font-size:.8rem;color:var(--muted);margin-top:.25rem}
.dash-mini-link{display:inline-block;font-size:.8rem;font-weight:600;color:var(--green);text-decoration:none;margin-top:.5rem}
.dash-mini-link:hover{color:var(--green-d)}
.dash-mini-pills{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.dash-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}
.dash-status-label{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.dash-status-cat{font-weight:600;font-size:1.02rem;color:var(--dark);margin-top:.2rem}
.dash-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.1rem}
.dash-status-grid dt{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.dash-status-grid dd{margin:0;font-size:.87rem;font-weight:400;color:var(--mid)}
.dash-status-note{margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--border);font-size:.83rem;color:var(--mid);line-height:1.7}

.pay-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,240px));gap:.85rem}
.pay-method-card{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);border-radius:var(--rs);padding:.85rem 1rem;background:var(--white);transition:border-color .15s,box-shadow .15s;font:inherit;text-align:left;cursor:pointer;width:100%}
.pay-method-card:hover{border-color:var(--green-m);box-shadow:0 10px 24px -18px rgba(0,20,10,.3)}
.pay-method-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:10px;font-size:1rem}
.pay-method-ico--bank{background:var(--green-l);color:var(--green)}
.pay-method-ico--mpesa{background:var(--orange-l);color:var(--orange-d)}
.pay-method-info{display:flex;flex-direction:column;min-width:0;flex:1}
.pay-method-title{font-weight:700;color:var(--dark);font-size:.9rem}
.pay-method-hint{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pay-method-arrow{color:var(--muted);font-size:.78rem;flex-shrink:0}

.pay-method-copy-list{display:flex;flex-direction:column;gap:.5rem}
.pay-method-copy-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--rs);background:var(--cream)}
.pay-method-copy-row dt{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pay-method-copy-row dd{margin:.2rem 0 0;font-size:.95rem;font-weight:600;color:var(--dark)}
.pay-method-copy-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--mid);cursor:pointer;transition:border-color .15s,color .15s}
.pay-method-copy-btn:hover{border-color:var(--green-m);color:var(--green)}
.pay-method-copy-btn.is-copied{border-color:var(--green);color:var(--green);background:var(--green-l)}
.dash-status-note a{color:var(--green);font-weight:500}
.status-pill{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.74rem;font-weight:600}
.status-pill.pill-amber{background:#f6efe3;color:#8a6a2f}
.status-pill.pill-green{background:#e7f0e9;color:var(--orange-d)}
.status-pill.pill-red{background:#f5e9e7;color:var(--red-d)}
.status-pill.pill-mid{background:var(--cream);color:var(--mid)}

/* ═══ DASHBOARD — panels: My Abstracts / Abstracts Management / Profile ═══ */
.btn-sm{padding:.5rem 1rem;font-size:.83rem}
.dash-panel{border:1px solid var(--border);border-radius:10px;padding:1.4rem;background:var(--white)}
.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.dash-panel-head h2{font-weight:600;font-size:1.05rem;color:var(--dark);margin:0}
h2.dash-abstract-title{font-family:var(--fd);font-weight:500;font-size:1.2rem;line-height:1.4;color:var(--dark);margin:0;flex:1;min-width:200px}
.dash-empty{color:var(--muted);font-size:.88rem;padding:1.5rem 0;text-align:center}
.dash-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.83rem;font-weight:500;color:var(--mid);text-decoration:none;margin-bottom:1.1rem}
.dash-back:hover{color:var(--green)}

.dash-pass-card{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:1.3rem}
.dash-pass-qr{flex-shrink:0;width:110px;height:110px;display:flex;align-items:center;justify-content:center}
.dash-pass-info{border-left:1px solid var(--border);padding-left:1.5rem}
.dash-pass-event{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dash-pass-name{font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--dark);margin-top:.2rem}
.dash-pass-cat{font-size:.86rem;color:var(--mid);margin-top:.1rem}
.dash-pass-ref{font-size:.8rem;font-weight:700;letter-spacing:.03em;color:var(--green);margin-top:.4rem}
.dash-pass-hint{font-size:.78rem;color:var(--muted);margin-top:.5rem;max-width:320px}
@media(max-width:560px){.dash-pass-card{justify-content:center;text-align:center}.dash-pass-info{border-left:none;padding-left:0}}

.dash-table{display:flex;flex-direction:column;gap:.5rem}
.dash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--white)}
.dash-row-link{text-decoration:none;transition:border-color .15s,background .15s}
.dash-row-link:hover{border-color:var(--green-m);background:var(--cream)}
.dash-row-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:9px;font-size:.95rem}
.dash-row-main{min-width:0;flex:1;text-align:left}
.dash-row-title{font-weight:600;color:var(--dark);font-size:.92rem}
.dash-row-sub{font-size:.8rem;color:var(--muted);margin-top:.2rem}
.dash-row-reason{font-size:.83rem;color:var(--mid);margin:.5rem 0 0;line-height:1.6;max-width:52ch}

.dash-abstract-body{font-size:.9rem;line-height:1.8;color:var(--mid);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.1rem 0;margin-bottom:1.1rem}
.dash-abstract-body ul,.dash-abstract-body ol{padding-left:1.4rem}

.dash-status-form{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.dash-status-form select{border:1px solid var(--border);border-radius:7px;padding:.5rem .75rem;font-size:.83rem;font-family:inherit;color:var(--dark);background:var(--white)}
.dash-status-form-msg{font-size:.78rem;font-weight:500}
.dash-panel .cform{box-shadow:none;border:none;padding:0}

/* ═══ DASHBOARD — data-table lists (Delegates / Sponsors / Abstracts Management) ═══ */
.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin-bottom:1.1rem;max-width:520px}
.dash-stat-card{border:1px solid var(--border);border-radius:7px;padding:.5rem .65rem;background:var(--white);font:inherit;text-align:left;cursor:default;transition:border-color .15s,box-shadow .15s}
button.dash-stat-card{cursor:pointer}
button.dash-stat-card:hover{border-color:var(--green-m)}
button.dash-stat-card.is-active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.dash-stat-num{font-size:1.05rem;font-weight:600;color:var(--dark);line-height:1.15}
.dash-stat-num.stat-green{color:var(--orange-d)}
.dash-stat-num.stat-amber{color:#8a6a2f}
.dash-stat-num.stat-red{color:var(--red-d)}
.dash-stat-label{font-size:.62rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-top:.1rem}

.dash-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.dash-search-input{flex:1;max-width:280px;border:1px solid var(--border);border-radius:7px;padding:.5rem .75rem;font-size:.83rem;font-family:inherit;color:var(--dark);background:var(--white)}
.dash-search-input:focus{outline:none;border-color:var(--green-m)}
.dash-count{font-size:.8rem;color:var(--muted);margin-left:auto;white-space:nowrap}

.dash-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}
table.dash-datatable{width:100%;table-layout:auto;border-collapse:collapse;font-size:.82rem}
table.dash-datatable thead th{text-align:left;font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:var(--cream);padding:.55rem .7rem;border-bottom:1px solid var(--border);white-space:nowrap}
table.dash-datatable thead th.dt-col-num{width:1%}
table.dash-datatable thead th.is-sortable{cursor:pointer;user-select:none;padding-right:1.15rem;position:relative}
table.dash-datatable thead th.is-sortable:hover{color:var(--dark)}
table.dash-datatable thead th.is-sortable::after{content:'\2195';position:absolute;right:.45rem;opacity:.4;font-size:.85em}
table.dash-datatable thead th.is-sortable.sort-asc::after{content:'\2191';opacity:1;color:var(--green)}
table.dash-datatable thead th.is-sortable.sort-desc::after{content:'\2193';opacity:1;color:var(--green)}
table.dash-datatable tbody td{padding:.55rem .7rem;border-bottom:1px solid var(--border);color:var(--dark);vertical-align:middle;line-height:1.3;white-space:nowrap}
table.dash-datatable tbody tr:last-child td{border-bottom:none}
table.dash-datatable tbody tr:hover{background:var(--cream)}
table.dash-datatable .dt-name{font-weight:600;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
table.dash-datatable .dt-sub{font-size:.76rem;color:var(--muted)}
table.dash-datatable .dt-muted{color:var(--muted)}
table.dash-datatable .dt-link{color:var(--dark);text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:280px}
table.dash-datatable .dt-link--abstract{font-family:var(--fd);font-weight:500;font-size:.95rem}
table.dash-datatable .dt-link:hover{color:var(--green)}
.dt-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
table.dash-datatable .dt-actions{gap:.4rem}
table.dash-datatable select,table.dash-datatable input[type="text"]{border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.8rem;font-family:inherit;color:var(--dark);background:var(--white)}
table.dash-datatable .dash-amount-input{width:120px}
table.dash-datatable .dash-status-form-msg{display:block;margin-top:.3rem;width:100%}

/* ── kebab (⋮) row-actions menu ── */
.dash-kebab-wrap{position:relative;display:inline-block}
.dash-kebab-btn{background:none;border:1px solid var(--border);border-radius:6px;width:30px;height:30px;font-size:1.1rem;line-height:1;color:var(--mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.dash-kebab-btn:hover{background:var(--cream);color:var(--dark)}
.dash-kebab-menu{z-index:400;min-width:220px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:.6rem;display:flex;flex-direction:column;gap:.25rem;text-align:left}
.dash-kebab-menu[hidden]{display:none}
.dash-kebab-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.55rem .6rem;border-radius:6px;font-size:.83rem;font-weight:500;color:var(--dark);text-decoration:none;cursor:pointer;font-family:inherit}
.dash-kebab-item:hover{background:var(--cream)}
.dash-kebab-menu label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin-top:.4rem;padding:0 .1rem}
.dash-kebab-menu label:first-child{margin-top:0}
.dash-kebab-menu select,.dash-kebab-menu input[type="text"]{width:100%;margin-top:.25rem}
.dash-kebab-menu .btn-green,.dash-kebab-menu .btn-outline{width:100%;justify-content:center;margin-top:.6rem}
.dash-kebab-divider{border-top:1px solid var(--border);margin:.4rem 0}
.dt-actions-cell{text-align:right;width:44px}

/* ═══ DASHBOARD — User Management: add-user inline form ═══ */
.dash-adduser-form{display:flex;align-items:flex-end;gap:.9rem;flex-wrap:wrap;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}
.dash-adduser-form .ff{margin-bottom:0;min-width:150px}
.dash-adduser-form .ff label{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.dash-adduser-form input,.dash-adduser-form select{border:1px solid var(--border);border-radius:7px;padding:.55rem .75rem;font-size:.85rem;font-family:inherit;color:var(--dark);background:var(--white)}
.dash-adduser-form input:disabled{color:var(--muted);background:var(--cream)}
.dash-adduser-form .dash-status-form-msg{flex-basis:100%}
.dash-row-reason-cell{max-width:260px;font-size:.8rem;color:var(--mid);line-height:1.5}
@media(max-width:900px){
  .dash-search-input{max-width:none}
  .dash-count{margin-left:0}
  .dash-toolbar{flex-wrap:wrap}
}

@media(max-width:700px){
  .dash-row{flex-direction:column;align-items:flex-start}
  .dash-panel-head{flex-direction:column;align-items:flex-start}
}

/* ═══ DASHBOARD — abstract peer review ═══ */
.dash-review-section{border-bottom:1px solid var(--border);padding:0 0 1.5rem;margin-bottom:1.5rem}
.dash-review-section h3{font-size:.8rem;font-weight:600;color:var(--mid);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.02em}
.dash-reviews-list{display:flex;flex-direction:column;gap:.6rem}
.dash-review-row{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;background:var(--white)}
.dash-review-row-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.dash-review-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--cream)}
.dash-review-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.dash-review-row-info{flex:1;min-width:0}
.dash-review-name{font-size:.86rem;font-weight:600;color:var(--dark)}
.dash-review-score{font-size:.78rem;color:var(--muted)}
.dash-review-remarks{font-size:.85rem;color:var(--mid);line-height:1.6;margin:0;padding-left:calc(32px + .7rem)}
.dash-note-text{font-family:var(--fb);font-size:.87rem;color:var(--mid);line-height:1.7;margin:.3rem 0 0}
.dash-review-result{display:flex;gap:1.5rem;padding:1rem 1.1rem;border-radius:8px;background:var(--orange-l)}
.dash-review-result .dash-status-label{color:var(--mid)}
.dash-review-result .dash-status-cat{font-weight:600;font-size:1rem;color:var(--dark)}
.rte-field .rte-editor{min-height:110px}
.dash-review-posted{border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem;background:var(--white)}
.dash-review-posted-remarks{font-size:.9rem;color:var(--dark);line-height:1.7;margin-top:.6rem}
.dash-review-posted-remarks ul,.dash-review-posted-remarks ol{padding-left:1.3rem;margin:.4rem 0}
.dash-review-posted-remarks:empty::before{content:"No remarks left.";color:var(--muted);font-style:italic}
.dash-kebab-item--danger{color:var(--red)}
.dash-kebab-item--danger:hover{background:var(--red-l);color:var(--red-d)}

/* ═══ DASHBOARD — pagination ═══ */
.dash-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}
.dash-pagination .is-disabled{pointer-events:none;opacity:.4}
.dash-page-info{font-size:.82rem;color:var(--muted);white-space:nowrap}

/* VISION / MISSION cards */
.vm-cards{display:grid;gap:1.1rem;margin-top:.5rem}
.vm-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem 1.6rem 1.5rem 5rem;box-shadow:0 6px 24px rgba(35,31,32,.05);transition:transform .2s,box-shadow .2s}
.vm-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(35,31,32,.1)}
.vm-card::before{content:'';position:absolute;left:0;top:1.25rem;bottom:1.25rem;width:4px;border-radius:0 4px 4px 0;background:var(--green)}
.vm-card--mission::before{background:var(--red)}
.vm-icon{position:absolute;left:1.4rem;top:1.5rem;width:2.6rem;height:2.6rem;border-radius:var(--rs);display:flex;align-items:center;justify-content:center;font-size:1.05rem;background:var(--green-l);color:var(--green-d)}
.vm-card--mission .vm-icon{background:var(--red-l);color:var(--red)}
.about-body .vm-card h3{font-size:1.05rem;color:var(--dark);margin:0 0 .45rem}
.about-body .vm-card p{font-size:.93rem;line-height:1.75;margin:0;color:var(--mid)}
@media(max-width:600px){.vm-card{padding:4.6rem 1.25rem 1.25rem}.vm-icon{left:1.25rem;top:1.1rem}}
.about-body .about-title{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.2}
/* FINAS about — full (uncropped) photo beside the cards */
.about-grid--finas{grid-template-columns:1fr;gap:2.5rem;align-items:center}
.about-grid--finas .about-img{height:auto;min-height:0;aspect-ratio:3/2;width:100%}
.about-grid--finas .about-img img{object-fit:contain}
@media(min-width:901px){
  .about-grid--finas{grid-template-columns:1.3fr 1fr;gap:3.5rem}
}

/* STRATEGIC PRIORITIES — tabs (list left, detail panel right) */
.sp-sec{background:var(--green)}
.sp-sec .sec-tag{color:#fff}
.sp-sec .sec-tag::before{background:#fff}
.sp-sec .sp-head h2{color:#fff}
.sp-sec .sp-head h2 em{color:var(--green-l)}
.sp-head{margin-bottom:2.5rem}
.sp-tabs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:stretch}
.sp-nav{display:flex;flex-direction:column;gap:.7rem}
.sp-tab{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;font:inherit;cursor:pointer;background:var(--white);box-shadow:0 2px 10px rgba(35,31,32,.06);border:1px solid var(--border);border-radius:var(--rs);padding:1.05rem 1.25rem;color:var(--dark);transition:background .2s,border-color .2s,transform .2s}
.sp-tab:hover{border-color:var(--green-l);transform:translateX(3px)}
.sp-tab:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.sp-num{font-family:var(--fd);font-weight:700;font-size:1.05rem;color:var(--muted);min-width:1.8rem}
.sp-tab-title{flex:1;font-weight:600;font-size:.98rem;line-height:1.35}
.sp-tab-arrow{font-size:.8rem;opacity:0;color:var(--green-d);transition:opacity .2s}
.sp-tab[aria-selected="true"]{background:var(--green-d);border-color:var(--green-d);color:#fff;transform:none;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.sp-tab[aria-selected="true"] .sp-num{color:rgba(255,255,255,.75)}
.sp-tab[aria-selected="true"] .sp-tab-arrow{opacity:1;color:#fff}
.sp-panels{background:var(--white);border:1px solid var(--border);border-top:4px solid var(--green);border-radius:var(--r);padding:2.25rem;box-shadow:0 14px 40px rgba(35,31,32,.1)}
.sp-panel{animation:spIn .3s ease}
.sp-panel[hidden]{display:none}
@keyframes spIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sp-icon{width:3.2rem;height:3.2rem;border-radius:var(--rs);display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--green);color:#fff;margin-bottom:1.25rem}
.sp-panel h3{font-size:1.3rem;line-height:1.3;color:var(--dark);margin:0}
.sp-list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.95rem}
.sp-list li{position:relative;padding-left:1.5rem;font-size:.96rem;line-height:1.75;color:var(--dark)}
.sp-list li::before{content:'';position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--green-m)}
@media(max-width:900px){
  .sp-tabs{grid-template-columns:1fr;gap:1.25rem}
  .sp-nav{flex-direction:row;overflow-x:auto;gap:.6rem;padding-bottom:.4rem;scroll-snap-type:x proximity;scrollbar-width:none}
  .sp-nav::-webkit-scrollbar{display:none}
  .sp-tab{width:auto;flex:0 0 auto;scroll-snap-align:start;padding:.8rem 1rem}
  .sp-num,.sp-tab-arrow{display:none}
  .sp-tab-title{font-size:.88rem;white-space:nowrap}
  .sp-tab:hover{transform:none}
  .sp-panels{padding:1.5rem}
}

/* CONTACT CTA */
.cc-sec{padding:5rem 5rem}
.cc-box{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;background:linear-gradient(120deg,var(--green-d),var(--green));border-radius:var(--r);padding:3.25rem 3.5rem;box-shadow:0 18px 44px rgba(4,116,99,.28)}
.cc-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:.8rem}
.cc-box h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.25;max-width:30ch;margin:0}
.cc-box h2 em{color:rgba(255,255,255,.75);font-style:italic}
.cc-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){.cc-sec{padding:3.5rem 1.25rem}.cc-box{flex-direction:column;align-items:flex-start;padding:2.25rem 1.75rem}}

/* STEERING COMMITTEE page */
.sc-hero{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;padding:3.5rem 5rem 4.5rem}
.sc-hero-in{max-width:var(--max);margin:0 auto}
.sc-hero .hero-crumb,.sc-hero .hero-crumb a,.sc-hero .hero-crumb span{color:rgba(255,255,255,.85)}
.sc-hero .hero-crumb{margin-bottom:2rem}
.sc-hero .sec-tag{color:#fff}
.sc-hero .sec-tag::before{background:#fff}
.sc-hero h1{color:#fff;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.1;margin:0 0 1rem}
.sc-hero h1 em{color:var(--green-l);font-style:italic}
.sc-hero p{max-width:56ch;font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,.88);margin:0}
.sc-sec{background:var(--cream)}
.sc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,1fr);gap:1.75rem}
.sc-card{grid-column:span 3}
/* first three (leadership) get a wider row of their own; the rest run 4 per row */
.sc-card:nth-child(-n+3){grid-column:span 4}
.sc-card:nth-child(-n+3) .sc-info h2{font-size:1.2rem}
.sc-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.sc-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(35,31,32,.12)}
.sc-photo{aspect-ratio:4/5;background:var(--green-l);overflow:hidden;position:relative}
.sc-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .4s}
.sc-card:hover .sc-photo img{transform:scale(1.04)}
.sc-initial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:4rem;color:var(--green-d)}
.sc-info{position:relative;padding:1.25rem 1.35rem 1.5rem;border-top:4px solid var(--green);flex:1}
.sc-card:nth-child(3n+2) .sc-info{border-top-color:var(--red)}
.sc-card:nth-child(3n) .sc-info{border-top-color:var(--green-m)}
.sc-info h2{font-size:1.05rem;line-height:1.35;color:var(--dark);margin:0 0 .45rem}
.sc-pos{font-size:.87rem;line-height:1.55;color:var(--mid);margin:0 0 .6rem}
.sc-org{font-size:.8rem;font-weight:600;line-height:1.45;color:var(--green-d);margin:0;display:flex;gap:.45rem;align-items:flex-start}
.sc-org i{margin-top:.2em;opacity:.8}
.sc-empty{text-align:center;color:var(--mid)}
@media(max-width:1100px){.sc-card,.sc-card:nth-child(-n+3){grid-column:span 4}}
@media(max-width:800px){.sc-hero{padding:2.5rem 1.25rem 3rem}.sc-grid{gap:1rem}.sc-card,.sc-card:nth-child(-n+3){grid-column:span 6}.sc-card:nth-child(3){grid-column:span 12}.sc-info{padding:1rem}}
@media(max-width:480px){.sc-card,.sc-card:nth-child(-n+3),.sc-card:nth-child(3){grid-column:span 12}}

/* ACTIVE menu item — brand red, on every header variant */
.nav-menu .current-menu-item>a,
.site-header--inner .nav-menu .current-menu-item>a,
.site-header--inner.scrolled .nav-menu .current-menu-item>a{color:#e65b4a;font-weight:700}
.nav-drawer li.current-menu-item>a{color:#e65b4a;font-weight:700}

/* ── FINAS 2026 page (page-finas-2026.php) ── */
.f26-hero{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;padding:3.5rem 5rem 0;position:relative;overflow:hidden}
.f26-hero::after{content:'';position:absolute;right:-12%;top:-30%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);pointer-events:none}
.f26-hero-in{max-width:var(--max);margin:0 auto;position:relative;z-index:1;padding-bottom:5rem}
.f26-hero .hero-crumb,.f26-hero .hero-crumb a,.f26-hero .hero-crumb span{color:rgba(255,255,255,.85)}
.f26-hero .hero-crumb{margin-bottom:2rem}
.f26-hero .sec-tag{color:#fff}
.f26-hero .sec-tag::before{background:#fff}
.f26-hero h1{font-size:clamp(3rem,6vw,5.2rem);line-height:1;margin:0 0 1.25rem;color:#fff;letter-spacing:-.02em}
.f26-hero h1 em{font-style:normal;color:#fff;background:var(--orange);padding:0 .22em;border-radius:12px;display:inline-block;transform:rotate(-2deg)}
.f26-hero p{max-width:50ch;font-size:1.1rem;line-height:1.75;color:rgba(255,255,255,.9);margin:0 0 2rem}
.f26-hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.f26-h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;color:var(--dark);margin:0 0 1.5rem;max-width:20ch}
.f26-themes .f26-intro{max-width:70ch;color:var(--mid);line-height:1.8;margin:0 0 3rem}
.f26-theme-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:0;padding:0}
.f26-theme{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem 1.5rem 1.75rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.f26-theme:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px var(--shadow);border-color:var(--green-m)}
.f26-theme-n{position:absolute;top:1.25rem;right:1.4rem;font-weight:700;font-size:.85rem;color:var(--orange)}
.f26-theme-ic{width:56px;height:56px;border-radius:14px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.25rem}
.f26-theme-ic img{width:30px;height:30px;object-fit:contain}
.f26-theme p{font-weight:600;line-height:1.5;color:var(--dark);font-size:.98rem;margin:0}
.f26-speakers{background:var(--white)}
.f26-sp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}
.f26-sp-head .f26-h2{margin:0}
.f26-sp-count{margin:0;color:var(--mid);font-size:.95rem}
.f26-sp-count strong{color:var(--orange);font-size:1.6rem;margin-right:.25rem}
.f26-sp-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.25rem;margin:0;padding:0}
.f26-sp{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.f26-sp:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px var(--shadow);border-color:var(--green-m)}
.f26-sp-ph{width:84px;height:84px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--green-l),var(--green-xl));color:var(--green-d);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem;margin-bottom:1rem;flex-shrink:0}
.f26-sp-ph img{width:100%;height:100%;object-fit:cover;object-position:top}
.f26-sp-name{font-weight:700;font-size:.98rem;line-height:1.3;color:var(--dark);margin-bottom:.4rem}
.f26-sp:hover .f26-sp-name{color:var(--green)}
.f26-sp-role{font-size:.8rem;line-height:1.5;color:var(--muted)}
@media(max-width:1100px){.f26-theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.f26-hero{padding:2.5rem 1.25rem 0}}
@media(max-width:600px){.f26-theme-grid{grid-template-columns:1fr}.f26-sp-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.f26-sp{padding:1rem}}

/* About + welcome note, combined */
.f26-about{background:#04503f;background:linear-gradient(135deg,var(--green-d) 0%,#03493b 100%);color:#fff;padding:0 5rem 6rem;position:relative}
.f26-about::before{content:'';position:absolute;left:0;bottom:0;width:640px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(54,175,157,.28),transparent 70%)}
.f26-about-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:4.5rem;align-items:center;position:relative;z-index:1}
.f26-about-fig{margin:-3.5rem 0 0;position:relative;transform:rotate(-2deg);transition:transform .4s}
.f26-about-fig:hover{transform:rotate(0)}
.f26-about-fig::before{content:'';position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--orange);border-radius:var(--r);z-index:0}
.f26-about-fig img{position:relative;z-index:1;width:100%;border-radius:var(--r);box-shadow:0 40px 70px -25px rgba(0,0,0,.6)}
.f26-about-badge{position:absolute;z-index:2;top:-14px;left:1.5rem;background:var(--orange);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px;box-shadow:0 8px 20px -6px rgba(0,0,0,.4)}
.f26-about-body{padding-top:5rem}
.f26-about .sec-tag{color:#fff}
.f26-about .sec-tag::before{background:var(--orange)}
.f26-about .f26-h2{color:#fff;max-width:18ch}
.f26-about-body p{color:rgba(255,255,255,.82);line-height:1.85;font-size:1rem;margin:0}
.f26-about-body p.lead{font-size:1.2rem;line-height:1.7;color:#fff;font-weight:500;margin-bottom:1.25rem}
.f26-years{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:2rem 0}
.f26-years span{border-top:2px solid rgba(255,255,255,.25);padding-top:.75rem;font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.4}
.f26-years b{display:block;font-size:1.5rem;color:#fff;margin-bottom:.15rem}
.f26-years .on{border-color:var(--orange)}
.f26-years .on b{color:var(--orange)}
@media(max-width:900px){.f26-about{padding:0 1.25rem 4rem}.f26-about-in{grid-template-columns:1fr;gap:2.5rem}.f26-about-body{padding-top:0}.f26-about-fig{margin:-2rem 1rem 0 0}.f26-hero-in{padding-bottom:3.5rem}}

/* speaker cards from the Speakers post type */
button.f26-sp{font:inherit;text-align:left;cursor:pointer;width:100%}
.f26-sp-org{font-size:.8rem;line-height:1.45;color:var(--green-d);font-weight:600;margin-top:.35rem}
.f26-sp-more{margin-top:auto;padding-top:.9rem;font-size:.78rem;font-weight:700;color:var(--orange)}
.f26-sp-more i{transition:transform .2s}
.f26-sp:hover .f26-sp-more i{transform:translateX(3px)}
.f26-modal{border:0;border-radius:var(--r);padding:0;max-width:min(720px,92vw);width:100%;box-shadow:0 40px 80px -20px rgba(0,0,0,.5);color:var(--dark)}
.f26-modal::backdrop{background:rgba(3,30,24,.65);backdrop-filter:blur(3px)}
.f26-modal-in{display:grid;grid-template-columns:200px 1fr;gap:1.75rem;padding:2rem;max-height:80vh;overflow:auto}
.f26-modal-in img{width:200px;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:var(--rs)}
.f26-modal h3{font-size:1.35rem;line-height:1.25;margin:0 0 .35rem}
.f26-m-role{color:var(--green-d);font-weight:600;font-size:.9rem;margin:0 0 1rem}
.f26-m-bio{color:var(--mid);line-height:1.8;font-size:.95rem;margin:0;white-space:pre-line}
.f26-modal-x{position:absolute;top:.6rem;right:.9rem;background:none;border:0;font-size:2rem;line-height:1;color:var(--muted);cursor:pointer;z-index:2}
@media(max-width:600px){.f26-modal-in{grid-template-columns:1fr;padding:1.5rem}.f26-modal-in img{width:120px}}

/* bigger speaker photos: full-width portrait tile on top of each card */
.f26-sp-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}
.f26-sp{padding:0;overflow:hidden}
.f26-sp-ph{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;margin:0 0 1.1rem;font-size:3rem}
.f26-sp-ph img{transition:transform .5s}
.f26-sp:hover .f26-sp-ph img{transform:scale(1.04)}
.f26-sp>span:not(.f26-sp-ph){padding:0 1.25rem}
.f26-sp>span:last-child{padding-bottom:1.25rem}
.f26-sp-name{font-size:1.05rem}
.f26-sp-role{font-size:.85rem}
@media(max-width:600px){.f26-sp-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.f26-sp>span:not(.f26-sp-ph){padding:0 .85rem}.f26-sp>span:last-child{padding-bottom:1rem}.f26-sp-name{font-size:.92rem}}

.f26-sp-bio{margin-top:.8rem;padding-top:.8rem!important;border-top:1px solid var(--border);font-size:.8rem;line-height:1.65;color:var(--mid);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* bio icon button */
.f26-sp{position:relative}
.f26-sp-bio,.f26-sp-more{display:none}
.f26-sp-i{position:absolute;top:.75rem;right:.75rem;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--green-d);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -4px rgba(0,0,0,.4);transition:background .2s,color .2s,transform .2s}
.f26-sp-i:hover,.f26-sp-i:focus-visible{background:var(--orange);color:#fff;transform:scale(1.1)}

/* centre the speaker modal (global reset zeroes the dialog's auto margins) */
.f26-modal{margin:auto;position:fixed;inset:0;height:fit-content;max-height:88vh}
.f26-m-bio{white-space:normal}

.f26-m-soc{display:flex;gap:.6rem;margin-top:1.25rem}
.f26-m-soc:empty{display:none}
.f26-m-soc a{width:40px;height:40px;border-radius:50%;background:var(--green-l);color:var(--green-d);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.f26-m-soc a:hover{background:var(--orange);color:#fff;transform:translateY(-2px)}

/* Anchor Partners logo wall */
.f26-anchors{background:var(--cream)}
.f26-ap-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
.f26-ap{display:flex;align-items:center;justify-content:center;height:112px;padding:1rem 1.25rem;background:#fff;border:1px solid var(--border);border-radius:var(--rs);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.f26-ap img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.f26-ap:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px var(--shadow);border-color:var(--green-m)}
.f26-ap:hover img{filter:none;opacity:1}
.f26-ap span{font-weight:600;font-size:.85rem;color:var(--mid);text-align:center}
@media(max-width:600px){.f26-ap-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.f26-ap{height:92px;padding:.75rem}}

/* hero background slideshow (same images as the home-page slider) */
.f26-hero{background:#06140c;min-height:520px}
.f26-hero::after{display:none}
.f26-hero-bg{position:absolute;inset:0;z-index:0}
.f26-hero-bg span{position:absolute;inset:0;background-size:cover;opacity:0;animation:f26fade 24s infinite}
.f26-hero-bg span:first-child{opacity:1}
.f26-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,12,.88) 0%,rgba(6,20,12,.6) 45%,rgba(6,20,12,.2) 75%,rgba(6,20,12,.1) 100%)}
@keyframes f26fade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.f26-hero-bg span{animation:none}.f26-hero-bg span:not(:first-child){display:none}}
@media(max-width:900px){.f26-hero-bg::after{background:linear-gradient(180deg,rgba(6,20,12,.75) 0%,rgba(6,20,12,.6) 60%,rgba(6,20,12,.45) 100%)}}

/* taller hero, centred text */
.f26-hero{min-height:clamp(600px,85vh,820px);display:flex;align-items:center;padding-top:2.5rem}
.f26-hero-in{width:100%;text-align:center;padding-bottom:6.5rem}
.f26-hero .hero-crumb{justify-content:center;margin-bottom:2.25rem}
.f26-hero .sec-tag{justify-content:center}
.f26-hero h1{font-size:clamp(3.4rem,8vw,6.5rem)}
.f26-hero p{margin-left:auto;margin-right:auto;max-width:56ch;font-size:1.2rem;margin-bottom:0}
.f26-hero-bg::after{background:radial-gradient(ellipse at center,rgba(6,20,12,.55) 0%,rgba(6,20,12,.8) 100%)}
@media(max-width:900px){.f26-hero{min-height:560px}.f26-hero-in{padding-bottom:5rem}}

/* hero text: left-aligned, vertically centred */
.f26-hero-in{text-align:left}
.f26-hero .hero-crumb{justify-content:flex-start}
.f26-hero .sec-tag{justify-content:flex-start}
.f26-hero p{margin-left:0;margin-right:0;max-width:50ch}
.f26-hero-bg::after{background:linear-gradient(100deg,rgba(6,20,12,.88) 0%,rgba(6,20,12,.6) 45%,rgba(6,20,12,.2) 75%,rgba(6,20,12,.1) 100%)}
@media(max-width:900px){.f26-hero-bg::after{background:linear-gradient(180deg,rgba(6,20,12,.75) 0%,rgba(6,20,12,.6) 60%,rgba(6,20,12,.45) 100%)}}

/* hero height: 70% of the viewport */
.f26-hero{min-height:70vh}
@media(max-width:900px){.f26-hero{min-height:70vh}}

/* hero copy */
.f26-hero .f26-hero-date{font-size:clamp(1.05rem,1.8vw,1.5rem);font-weight:500;line-height:1.45;color:#fff;max-width:36ch;margin:0 0 1rem}
.f26-hero h1{font-size:clamp(2rem,4.6vw,3.9rem);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:0;max-width:20ch;margin:0}

/* ── hero v2: refined type, chips, accent phrase, slow zoom, progress bars ── */
.f26-hero-bg span{animation:f26fade 24s infinite,f26zoom 24s infinite;transform-origin:60% 40%}
@keyframes f26zoom{0%{transform:scale(1.12)}25%{transform:scale(1)}100%{transform:scale(1)}}
.f26-hero-bg::after{background:linear-gradient(90deg,rgba(4,26,19,.92) 0%,rgba(4,26,19,.72) 38%,rgba(4,26,19,.25) 70%,rgba(4,26,19,.1) 100%),linear-gradient(0deg,rgba(4,26,19,.7) 0%,transparent 35%)}
.f26-hero-in{padding-bottom:7rem}
.f26-hero-txt{max-width:760px;position:relative;padding-left:1.75rem}
.f26-hero-txt::before{content:'';position:absolute;left:0;top:.35rem;bottom:.35rem;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--orange),var(--green-m))}
.f26-hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.4rem;padding:0}
.f26-hero-chips li{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.02em;line-height:1.3;padding:.5rem 1rem;border-radius:999px}
.f26-hero-chips i{color:#ffb4a6;font-size:.85rem}
.f26-hero h1{font-size:clamp(1.7rem,3.2vw,2.75rem);font-weight:800;line-height:1.18;letter-spacing:.005em;text-transform:uppercase;max-width:22ch;margin:0;text-wrap:balance}
.f26-hero h1 em{display:inline;font-style:normal;color:#fff;background:linear-gradient(transparent 62%,var(--orange) 62%,var(--orange) 92%,transparent 92%);padding:0 .1em;border-radius:0;transform:none}
.f26-hero-prog{position:absolute;left:0;right:0;bottom:3.2rem;z-index:2;max-width:var(--max);margin:0 auto;padding:0 5rem;display:flex;gap:.5rem}
.f26-hero-prog span{flex:0 0 64px;height:3px;border-radius:3px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.f26-hero-prog span::after{content:'';position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;animation:f26prog 24s infinite;animation-delay:inherit}
@keyframes f26prog{0%{transform:scaleX(0)}25%{transform:scaleX(1)}25.01%,100%{transform:scaleX(0)}}
@media(max-width:900px){.f26-hero-prog{padding:0 1.25rem;bottom:2.4rem}.f26-hero-txt{padding-left:1.1rem}.f26-hero h1{font-size:clamp(1.45rem,6vw,2rem)}.f26-hero-in{padding-bottom:5.5rem}}
@media(prefers-reduced-motion:reduce){.f26-hero-bg span{transform:none}.f26-hero-prog span::after{animation:none}}

/* About + welcome note: compact */
.f26-about{padding:0 5rem 3.5rem}
.f26-about-in{grid-template-columns:.8fr 1.2fr;gap:2.75rem;align-items:center}
.f26-about-fig{margin-top:-2.5rem}
.f26-about-body{padding-top:2.75rem}
.f26-about .f26-h2{font-size:clamp(1.4rem,2.2vw,1.9rem);max-width:none;margin-bottom:.9rem}
.f26-about-body p{font-size:.9rem;line-height:1.7}
.f26-about-body p.lead{font-size:1rem;line-height:1.6;margin-bottom:.7rem}
.f26-years{margin:1.25rem 0 0;gap:.6rem}
.f26-years span{padding-top:.5rem;font-size:.74rem}
.f26-years b{font-size:1.15rem}
@media(max-width:900px){.f26-about{padding:0 1.25rem 2.5rem}.f26-about-in{gap:1.75rem}.f26-about-body{padding-top:0}}
@media(max-width:900px){.f26-about-in{grid-template-columns:1fr}.f26-about-fig{margin:-2rem 1rem 0 0}}

/* hero: no side line, white chip icons */
.f26-hero-txt::before{display:none}
.f26-hero-txt{padding-left:0}
.f26-hero-chips i{color:#fff}

/* thematic area cards: bolder text, bigger numbers */
.f26-theme-n{top:.9rem;right:1.25rem;font-size:2.6rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--orange)}
.f26-theme p{font-weight:800;font-size:1.08rem;line-height:1.45;color:var(--dark)}
.f26-theme-ic{width:60px;height:60px}
.f26-theme-n{color:#c3cad6}
.f26-theme p{font-weight:500;font-size:1rem}

/* FINAS 2025 page */
.f26-report-btn{margin-top:1.25rem}
.f26-gallery{background:var(--cream)}
.f26-gal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:.75rem}
.f26-gal-grid li{min-height:0}
.f26-gal-grid li.wide{grid-column:span 2}
.f26-gal-item{display:block;width:100%;height:100%;padding:0;border:0;border-radius:var(--rs);overflow:hidden;cursor:zoom-in;background:var(--green-l)}
.f26-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.f26-gal-item:hover img{transform:scale(1.06)}
.f26-lightbox{margin:auto;position:fixed;inset:0;border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh;width:auto;height:auto;overflow:visible}
.f26-lightbox::backdrop{background:rgba(3,20,15,.88)}
.f26-lightbox img{display:block;max-width:92vw;max-height:88vh;border-radius:var(--rs);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.f26-lb-x{position:absolute;top:-2.4rem;right:0;background:none;border:0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}
.f26-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--green-d);cursor:pointer}
.f26-lb-nav.prev{left:.75rem}.f26-lb-nav.next{right:.75rem}
@media(max-width:900px){.f26-gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}}

/* 3-slide variant of the hero slideshow (FINAS 2025) */
.f26-hero--3 .f26-hero-bg span{animation:f26fade3 18s infinite,f26zoom3 18s infinite}
.f26-hero--3 .f26-hero-prog span::after{animation:f26prog3 18s infinite;animation-delay:inherit}
@keyframes f26fade3{0%{opacity:0}5%{opacity:1}33.3%{opacity:1}38.3%{opacity:0}100%{opacity:0}}
@keyframes f26zoom3{0%{transform:scale(1.12)}33.3%{transform:scale(1)}100%{transform:scale(1)}}
@keyframes f26prog3{0%{transform:scaleX(0)}33.3%{transform:scaleX(1)}33.31%,100%{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){.f26-hero--3 .f26-hero-bg span{transform:none;animation:none}.f26-hero--3 .f26-hero-prog span::after{animation:none}}

/* centre the gallery lightbox */
.f26-lightbox{width:fit-content;height:fit-content;display:none;align-items:center;justify-content:center}
.f26-lightbox[open]{display:flex}

/* FINAS 2025 hero copy */
.f26-hero--3 h1{max-width:20ch}
.f26-hero--3 .f25-sub{margin:1rem 0 0;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#fff;max-width:none}
.f26-hero--3 .f25-tag{margin:.9rem 0 0;font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:600;line-height:1.5;color:#fff;max-width:36ch}

/* Resources page */
.rs-hero{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;padding:4rem 5rem 4.5rem;position:relative;overflow:hidden}
.rs-hero::after{content:'';position:absolute;right:-8%;top:-40%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.rs-hero-in{max-width:var(--max);margin:0 auto;position:relative;z-index:1}
.rs-hero .sec-tag{color:#fff}.rs-hero .sec-tag::before{background:var(--orange)}
.rs-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;color:#fff;margin:0 0 .8rem}
.rs-hero p{max-width:52ch;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.88);margin:0}
.rs-sec{padding-top:3rem}
.rs-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.rs-filters button{font:inherit;font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--mid);cursor:pointer;transition:all .2s}
.rs-filters button:hover{border-color:var(--green);color:var(--green)}
.rs-filters button.on{background:var(--green);border-color:var(--green);color:#fff}
.rs-filters button span{opacity:.75;margin-left:.25rem}
.rs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem}
.rs-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.rs-card[hidden]{display:none}
.rs-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -22px var(--shadow);border-color:var(--green-m)}
.rs-cover{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:linear-gradient(135deg,var(--green-l),var(--green-xl));overflow:hidden;text-decoration:none}
.rs-cover img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.rs-card:hover .rs-cover img{transform:scale(1.04)}
.rs-cover i{font-size:3.5rem;color:var(--green)}
.rs-year{position:absolute;top:.85rem;left:.85rem;background:var(--orange);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.04em;padding:.35rem .75rem;border-radius:999px;box-shadow:0 6px 14px -4px rgba(0,0,0,.35)}
.rs-body{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.rs-type{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d);background:var(--green-l);padding:.3rem .7rem;border-radius:999px;margin-bottom:.8rem}
.rs-body h2{font-size:1.15rem;line-height:1.3;color:var(--dark);margin:0 0 .5rem}
.rs-body p{font-size:.88rem;line-height:1.65;color:var(--mid);margin:0 0 1rem}
.rs-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:auto;padding-top:1rem}
.rs-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;padding:.65rem 1.1rem;border-radius:8px;border:1.5px solid var(--border);color:var(--dark);text-decoration:none;transition:all .2s}
.rs-btn small{font-weight:500;opacity:.7;font-size:.75rem}
.rs-btn:hover{border-color:var(--green);color:var(--green)}
.rs-btn--fill{background:var(--green);border-color:var(--green);color:#fff}
.rs-btn--fill:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}
@media(max-width:900px){.rs-hero{padding:2.75rem 1.25rem 3rem}}
@media(max-width:600px){.rs-grid{grid-template-columns:1fr}}

/* Newsletters page */
.nl-feature{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:3rem;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:2rem;box-shadow:0 24px 50px -30px var(--shadow)}
.nl-feature-cover{display:block;border-radius:var(--rs);overflow:hidden;border:1px solid var(--border);background:var(--green-xl)}
.nl-feature-cover img{width:100%;height:auto;transition:transform .5s}
.nl-feature-cover:hover img{transform:scale(1.03)}
.nl-feature-body h2{font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.1;margin:.2rem 0 .5rem;color:var(--dark)}
.nl-feature-title{font-size:.95rem;color:var(--muted);margin:0 0 1.25rem}
.nl-arch-h{font-size:1.3rem;margin:3rem 0 1.25rem;color:var(--dark)}
.nl-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.nl-cover{aspect-ratio:3/4;align-items:flex-start}
.nl-cover img{object-position:top}
.nl-grid .rs-body{padding:1.1rem 1.1rem 1.2rem}
.nl-grid .rs-body h2{font-size:1.05rem;margin:0}
.nl-grid .rs-actions{padding-top:.8rem}
@media(max-width:800px){.nl-feature{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.nl-feature-cover{max-width:300px}}

/* Celebrating Achievements page */
.ach-feature{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;border-radius:var(--r);padding:2.25rem 2.5rem;margin-bottom:2rem;box-shadow:0 26px 50px -28px rgba(4,116,99,.7)}
.ach-feature>div{flex:1 1 420px}
.ach-flag{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:.35rem .8rem;border-radius:999px;margin-bottom:.9rem}
.ach-feature h2{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.25;color:#fff;margin:0;max-width:34ch}
.ach-feature p{margin:.7rem 0 0;color:rgba(255,255,255,.88);line-height:1.7;max-width:60ch}
.ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.ach-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.ach-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px var(--shadow);border-color:var(--green-m)}
.ach-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.ach-top .rs-type{margin:0}
.ach-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--green-l),var(--green-xl));color:var(--green-d);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;border:1px solid var(--border)}
.ach-card h2{font-size:1.08rem;line-height:1.4;color:var(--dark);margin:0 0 .5rem}
.ach-org{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--green-d)}
.ach-card .rs-actions{padding-top:1rem}
button.rs-btn{font-family:inherit;background:#fff;cursor:pointer}
.ach-modal{margin:auto;position:fixed;inset:0;height:fit-content;max-height:88vh;border:0;border-radius:var(--r);padding:0;width:min(640px,92vw);box-shadow:0 40px 80px -20px rgba(0,0,0,.5);color:var(--dark)}
.ach-modal::backdrop{background:rgba(3,30,24,.65);backdrop-filter:blur(3px)}
.ach-modal-in{padding:2rem 2rem 1.75rem;overflow:auto;max-height:86vh}
.ach-m-org{margin:0 0 .35rem;font-size:.82rem;font-weight:700;color:var(--green-d)}
.ach-modal h3{font-size:1.3rem;line-height:1.3;margin:0 0 1rem;padding-right:1.5rem}
.ach-m-ctx{color:var(--mid);line-height:1.8;font-size:.95rem;margin:0 0 1.5rem}
.ach-modal-x{position:absolute;top:.6rem;right:.9rem;background:none;border:0;font-size:2rem;line-height:1;color:var(--muted);cursor:pointer}
@media(max-width:600px){.ach-feature{padding:1.5rem}.ach-grid{grid-template-columns:1fr}}

/* Media Coverage page */
.mc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.mc-card{padding:0}
.mc-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.mc-cover{aspect-ratio:16/10}
.mc-link .rs-body{flex:1}
.mc-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}
.mc-meta .rs-type{margin:0}
.mc-meta time{font-size:.78rem;font-weight:600;color:var(--muted)}
.mc-title{display:block;font-size:1.08rem;font-weight:700;line-height:1.4;color:var(--dark);margin-bottom:1rem}
.mc-link:hover .mc-title{color:var(--green)}
.mc-read{margin-top:auto;font-size:.85rem;font-weight:700;color:var(--orange)}
.mc-read i{font-size:.75rem;margin-left:.2rem;transition:transform .2s}
.mc-link:hover .mc-read i{transform:translate(2px,-2px)}
.mc-link:hover .rs-cover img{transform:scale(1.04)}
@media(max-width:600px){.mc-grid{grid-template-columns:1fr}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.blog-excerpt{display:block;font-size:.88rem;line-height:1.65;color:var(--mid);margin:-.4rem 0 1rem}

/* Contact page */
.ct-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:start}
.ct-info{display:grid;gap:1rem}
.ct-card{display:flex;gap:1.1rem;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:1.5rem}
.ct-ico{flex:0 0 52px;height:52px;border-radius:14px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.ct-card h2{font-size:1rem;margin:0 0 .35rem;color:var(--dark)}
.ct-card p{margin:0;color:var(--mid);line-height:1.8;font-size:.95rem}
.ct-card a{color:var(--green-d);font-weight:600;text-decoration:none}
.ct-card a:hover{color:var(--orange)}
.ct-form{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:2rem;box-shadow:0 24px 50px -32px var(--shadow)}
@media(max-width:900px){.ct-grid{grid-template-columns:1fr}}

/* Non-link parent items (Media Centre): dropdown opens on hover or click */
.nav-menu li.open > .sub-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear 0s}
.nav-menu a[data-nolink],.nav-drawer a[data-nolink]{cursor:pointer}

.foot-addr{font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.6)}

/* footer logo: show in its real colours (no white silhouette) */
.foot-svg{filter:none;opacity:1}

/* Legal pages */
.legal-body{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:2.5rem 3rem;color:var(--mid);line-height:1.85;font-size:1rem}
.legal-body .legal-updated{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin:0 0 1.25rem}
.legal-body h2{font-size:1.2rem;line-height:1.3;color:var(--dark);margin:2.25rem 0 .6rem}
.legal-body p{margin:0 0 1rem}
.legal-body ul{margin:0 0 1.25rem;padding-left:1.4rem;list-style:disc}
.legal-body li{margin:.35rem 0}
.legal-body a{color:var(--green-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.legal-body a:hover{color:var(--orange)}
@media(max-width:700px){.legal-body{padding:1.5rem 1.25rem}}

/* footer logo: full-colour logo on a white tile so no part disappears into the dark footer */
.site-footer .foot-svg{background:#fff;padding:.7rem 1rem;border-radius:12px;height:auto;max-height:64px;width:auto;box-sizing:content-box;display:inline-block}
.site-footer .foot-svg{height:42px;max-height:none;max-width:calc(100% - 2rem);padding:.55rem .85rem;margin-bottom:.9rem}

/* Steering Committee hero v2 */
.sc-hero2{min-height:clamp(420px,56vh,560px)}
.sc-hero2 .f26-hero-in{padding-bottom:3.5rem}
.sc-hero2 h1{max-width:18ch}
.sc2-sub{margin:1rem 0 0;max-width:52ch;font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.7;color:rgba(255,255,255,.9)}
.sc2-stack{display:flex;align-items:center;gap:1rem;margin-top:1.75rem;flex-wrap:wrap}
.sc2-faces{display:inline-flex}
.sc2-faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid #fff;margin-left:-14px;box-shadow:0 6px 14px -4px rgba(0,0,0,.45);background:var(--green-l)}
.sc2-faces img:first-child{margin-left:0}
.sc2-count{color:#fff;font-size:.95rem;font-weight:600}
.sc2-count strong{font-size:1.5rem;font-weight:800;margin-right:.3rem}
@media(max-width:900px){.sc-hero2{min-height:420px}.sc-hero2 .f26-hero-in{padding-bottom:2.5rem}}
.sc2-sub{margin-top:1.4rem}

/* ═══ Shared inner-page top section (template-parts/page-hero.php) ═══ */
.rs-hero{background:linear-gradient(115deg,#04503f 0%,var(--green-d) 38%,var(--green) 100%);color:#fff;padding:3.75rem 5rem 5.5rem;position:relative;overflow:hidden;min-height:300px;display:flex;align-items:center}
.rs-hero::before{content:'';position:absolute;right:4%;top:50%;width:380px;height:454px;transform:translateY(-50%) rotate(-6deg);background:url("../images/logo-icon-white.png") center/contain no-repeat;opacity:.09;pointer-events:none}
.rs-hero::after{content:'';position:absolute;left:-12%;bottom:-55%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(54,175,157,.35),transparent 70%);right:auto;top:auto}
.rs-hero-in{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto}
.rs-eyebrow{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.45rem 1rem;border-radius:999px;margin-bottom:1.25rem}
.rs-eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(227,67,45,.28)}
.rs-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800;line-height:1.08;letter-spacing:-.01em;color:#fff;margin:0;max-width:20ch}
.rs-hero h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--orange) 64%,var(--orange) 92%,transparent 92%);padding:0 .08em}
.rs-hero .rs-lede,.rs-hero p.rs-lede{margin:1.1rem 0 0;max-width:54ch;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;color:rgba(255,255,255,.9)}
.rs-hero-band{position:absolute;left:0;right:0;bottom:0;height:30px;background-color:#fff;background-image:url("../images/footer-pattern-band.webp");background-repeat:repeat-x;background-size:auto 30px;background-position:left center;z-index:2}
.sc2-stack{margin-top:1.6rem}
@media(max-width:900px){.rs-hero{padding:2.75rem 1.25rem 4.5rem;min-height:250px}.rs-hero::before{width:240px;height:290px;right:-30px;opacity:.07}}

/* ═══ Shared top section v2 — solid dark band, dash eyebrow, two-tone title, curved edge ═══ */
.rs-hero{background:#083e33;padding:3.5rem 5rem 7rem;min-height:340px;align-items:flex-start;overflow:hidden}
.rs-hero::before,.rs-hero::after{content:none}
.rs-hero .rs-hero-band{display:none}
.rs-hero-in{max-width:var(--max)}
.rs-eyebrow{background:none;border:0;backdrop-filter:none;padding:0;border-radius:0;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:1.1rem}
.rs-eyebrow span{width:18px;height:2px;border-radius:0;background:rgba(255,255,255,.55);box-shadow:none}
.rs-hero h1{font-size:clamp(2.2rem,5.2vw,4.2rem);font-weight:800;line-height:1.08;letter-spacing:-.015em;max-width:17ch;color:#fff}
.rs-hero h1 em{font-style:italic;font-weight:800;color:rgba(255,255,255,.62);background:none;padding:0}
.rs-hero .rs-lede,.rs-hero p.rs-lede{margin-top:1.4rem;max-width:56ch;font-size:clamp(1rem,1.3vw,1.1rem);color:rgba(255,255,255,.92)}
.rs-hero{position:relative}
/* curved bottom edge into the page background */
.rs-hero{--curve:56px}
.rs-hero::after{content:'';display:block;position:absolute;left:-10%;right:-10%;top:auto;bottom:-1px;width:auto;height:var(--curve);background:var(--cream);border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2}
.sc2-stack{margin-top:1.75rem}
@media(max-width:900px){.rs-hero{padding:2.5rem 1.25rem 5.5rem;min-height:300px}.rs-hero{--curve:34px}}
.rs-hero{padding-top:3rem;padding-bottom:5.5rem;min-height:300px}.rs-hero h1{font-size:clamp(2.1rem,4.4vw,3.6rem)}@media(max-width:900px){.rs-hero{padding-top:2.5rem;padding-bottom:4.5rem;min-height:280px}}
.rs-hero{background:#166368}

/* All pages: contained, rounded white menu bar (not full width) */
.site-header{width:min(1320px,calc(100% - 3rem));height:70px;margin:14px auto;padding:0 1.5rem 0 1.75rem;background:#fff;border-radius:999px;box-shadow:0 14px 34px -18px rgba(0,30,22,.45)}
@media(max-width:900px){.site-header{width:calc(100% - 1.5rem);height:60px;margin:10px auto;padding:0 1rem 0 1.25rem}}
/* ═══ Home page header: floating white pill over the slider ═══ */
body.home .site-header{margin:0;position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 3rem));height:70px;padding:0 1.5rem 0 1.75rem;background:#fff;border-radius:999px;box-shadow:0 20px 44px -20px rgba(0,0,0,.55)}
.site-header .nav-menu{gap:1.6rem}
.site-header .nav-menu a{text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.04em}
.site-header .nav-login-link,.site-header .nav-login{text-transform:uppercase;font-size:.8rem;letter-spacing:.04em}
.site-header .nav-cta{width:48px;height:48px;padding:0;border-radius:50%;justify-content:center;gap:0;font-size:0;line-height:0;box-shadow:0 8px 18px -6px rgba(5,155,132,.7)}
.site-header .nav-cta i{font-size:1.15rem;line-height:1;margin:0}
.site-header .nav-cta:hover{transform:scale(1.07)}
@media(max-width:900px){body.home .site-header{top:12px;width:calc(100% - 1.5rem);height:60px;padding:0 1rem 0 1.25rem}}
/* home: slide content clears the floating header */
body.home .slide{padding-top:7.5rem;padding-bottom:3.5rem}
body.home .sl-track{min-height:max(74vh,640px)}
@media(max-width:900px){body.home .slide{padding-top:6rem}}

/* ═══ Home slider caption: lower-left, clean two-line heading, stronger overlay ═══ */
body.home .slide{justify-content:flex-end;padding-top:7.5rem;padding-bottom:9rem}
body.home .sl-bg::after{background:linear-gradient(90deg,rgba(4,30,23,.88) 0%,rgba(4,30,23,.62) 34%,rgba(4,30,23,.18) 68%,rgba(4,30,23,0) 100%),linear-gradient(0deg,rgba(4,30,23,.7) 0%,rgba(4,30,23,0) 45%)}
body.home .sl-cap-v2{max-width:680px}
body.home .sl-headline{font-size:clamp(2.4rem,4.8vw,4.3rem);font-weight:800;line-height:1.04;letter-spacing:-.015em;max-width:11ch;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.35)}
body.home .sl-cap-v2 .sl-title{max-width:34ch;margin:1.4rem 0 0;padding-left:1.1rem;border-left:3px solid var(--orange);font-size:clamp(1rem,1.4vw,1.2rem);font-weight:500;line-height:1.55;color:rgba(255,255,255,.95)}
@media(max-width:900px){body.home .slide{padding-top:6rem;padding-bottom:6.5rem}body.home .sl-headline{font-size:clamp(2.1rem,9vw,3rem)}}
body.home .sl-headline{max-width:none;text-wrap:balance}

/* ═══ Home hero: background video over the poster photo ═══ */
.sl-video{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.sl-video.on{opacity:1}
.sl-shade{position:absolute;inset:0;pointer-events:none}
body.home .sl-bg::after{content:none}
body.home .sl-shade{background:linear-gradient(90deg,rgba(4,30,23,.88) 0%,rgba(4,30,23,.62) 34%,rgba(4,30,23,.2) 68%,rgba(4,30,23,.05) 100%),linear-gradient(0deg,rgba(4,30,23,.7) 0%,rgba(4,30,23,0) 45%)}
@media(max-width:900px){body.home .sl-shade{background:linear-gradient(180deg,rgba(4,30,23,.55) 0%,rgba(4,30,23,.55) 55%,rgba(4,30,23,.8) 100%)}}

/* ═══ Quick-links strip: a colour per card ═══ */
.fql-col{--c:#059B84;--t:#E1F3F0;--d:#047463;position:relative;background:#fff;transition:background-color .3s ease,transform .3s ease}
.fql-col:nth-child(2){--c:#E3432D;--t:#FDE9E6;--d:#C32B16}
.fql-col:nth-child(3){--c:#166368;--t:#DDEEEF;--d:#0e4a4e}
.fql-col:nth-child(4){--c:#E8A33D;--t:#FDF1DC;--d:#9a6212}
.fql-col::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--c)}
.fql-col .fql-ico{background:var(--c);color:#fff;box-shadow:0 10px 20px -8px var(--c);transition:transform .3s ease}
.fql-col h2{color:var(--dark)}
.fql-col .svc-cta-link{color:var(--d)}
.fql-col:hover,.fql-col[data-slide].active{background:var(--t)}
.fql-col:hover .fql-ico{transform:translateY(-3px) rotate(-4deg)}
.fql-col[data-slide].active .fql-ico{background:var(--c);color:#fff}
.fql-col[data-slide].active::before{background:var(--c);height:4px}

/* Home: latest newsletters */
.home-nl{background:var(--cream)}
.home-nl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.home-nl-head .f26-h2{margin:0;max-width:22ch}
.home-nl-head .f26-h2 em{font-style:italic;color:var(--green)}
.home-nl-grid{grid-template-columns:repeat(3,1fr)}
.home-nl-card{display:grid;grid-template-columns:140px 1fr;align-items:stretch}
.home-nl-cover{display:block;background:var(--green-xl);overflow:hidden}
.home-nl-cover img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.home-nl-card:hover .home-nl-cover img{transform:scale(1.05)}
.home-nl-body{padding:1.25rem;display:flex;flex-direction:column;justify-content:center}
.home-nl-body h3{font-size:1.25rem;line-height:1.2;color:var(--dark);margin:.2rem 0 0}
.home-nl-body .rs-actions{padding-top:1rem}
@media(max-width:1100px){.home-nl-grid{grid-template-columns:1fr}.home-nl-card{grid-template-columns:130px 1fr}}
@media(max-width:480px){.home-nl-card{grid-template-columns:110px 1fr}}

/* ═══ Home: latest newsletters showcase (v2) ═══ */
.hn{position:relative;background:#166368;color:#fff;padding:5.5rem 5rem;overflow:hidden}
.hn::before{content:'';position:absolute;right:-8%;top:-30%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(54,175,157,.35),transparent 70%);pointer-events:none}
.hn-in{position:relative;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2.15fr);gap:4rem;align-items:center}
.hn-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:1.1rem}
.hn-eyebrow span{width:18px;height:2px;background:rgba(255,255,255,.55)}
.hn h2{font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:800;line-height:1.1;letter-spacing:-.01em;color:#fff;margin:0 0 1rem}
.hn h2 em{font-style:italic;color:rgba(255,255,255,.62)}
.hn-copy p{color:rgba(255,255,255,.88);line-height:1.75;margin:0 0 1.75rem;max-width:38ch}
.hn-all{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:#166368;font-weight:700;font-size:.9rem;padding:.85rem 1.5rem;border-radius:999px;text-decoration:none;transition:transform .2s,background .2s,color .2s}
.hn-all:hover{transform:translateY(-2px);background:var(--orange);color:#fff}
.hn-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.hn-tile:nth-child(2){margin-top:2.5rem}
.hn-cover{position:relative;border-radius:16px;overflow:hidden;background:#0e4a4e;aspect-ratio:3/4.1;box-shadow:0 30px 50px -22px rgba(0,0,0,.65);transition:transform .35s ease,box-shadow .35s ease}
.hn-tile:hover .hn-cover{transform:translateY(-8px);box-shadow:0 40px 60px -22px rgba(0,0,0,.75)}
.hn-cover img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .6s ease}
.hn-tile:hover .hn-cover img{transform:scale(1.04)}
.hn-month{position:absolute;top:.85rem;left:.85rem;background:var(--orange);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.03em;padding:.4rem .85rem;border-radius:999px;box-shadow:0 8px 16px -6px rgba(0,0,0,.5)}
.hn-actions{position:absolute;left:0;right:0;bottom:0;display:flex;gap:.5rem;padding:2.5rem .85rem .85rem;background:linear-gradient(0deg,rgba(4,30,23,.9),rgba(4,30,23,0))}
.hn-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.82rem;font-weight:700;padding:.6rem .5rem;border-radius:10px;text-decoration:none;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);transition:background .2s,color .2s}
.hn-actions a:first-child{background:#fff;color:#166368;border-color:#fff}
.hn-actions a:hover{background:var(--orange);border-color:var(--orange);color:#fff}
@media(max-width:1100px){.hn{padding:4rem 2.5rem}.hn-in{grid-template-columns:1fr;gap:2.5rem}.hn-copy p{max-width:56ch}}
@media(max-width:700px){.hn{padding:3.25rem 0 3.5rem}.hn-copy{padding:0 1.25rem}.hn-tiles{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 1.25rem 1.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hn-tiles::-webkit-scrollbar{display:none}.hn-tile{flex:0 0 74%;scroll-snap-align:center}.hn-tile:nth-child(2){margin-top:0}}

/* ═══ Home newsletters v3: white background, aligned grid, no file size ═══ */
.hn{background:#fff;color:var(--dark);padding:5rem 5rem}
.hn::before{content:none}
.hn-in{grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:3.5rem;align-items:center}
.hn-eyebrow{color:var(--orange-d)}
.hn-eyebrow span{background:var(--orange)}
.hn h2{color:var(--dark)}
.hn h2 em{color:var(--green)}
.hn-copy p{color:var(--mid)}
.hn-all{background:var(--green);color:#fff}
.hn-all:hover{background:var(--green-d);color:#fff}
.hn-tiles{align-items:stretch}
.hn-tile{display:flex;flex-direction:column}
.hn-tile:nth-child(2){margin-top:0}
.hn-cover{display:block;aspect-ratio:3/4.1;border:1px solid var(--border);box-shadow:0 18px 36px -22px rgba(0,40,30,.4);background:var(--green-xl)}
.hn-tile:hover .hn-cover{transform:translateY(-6px);box-shadow:0 26px 44px -22px rgba(0,40,30,.5)}
.hn-meta{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}
.hn-meta h3{font-size:1.1rem;line-height:1.2;font-weight:700;color:var(--dark);margin:0}
.hn-actions{position:static;display:flex;gap:.6rem;padding:0;background:none}
.hn .hn-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.85rem;font-weight:700;padding:.65rem .75rem;border-radius:10px;text-decoration:none;backdrop-filter:none;transition:background .2s,color .2s,border-color .2s}
.hn .hn-actions .hn-read{background:var(--green);color:#fff;border:1.5px solid var(--green)}
.hn .hn-actions .hn-read:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}
.hn .hn-actions .hn-dl{background:#fff;color:var(--dark);border:1.5px solid var(--border)}
.hn .hn-actions .hn-dl:hover{border-color:var(--green);color:var(--green);background:#fff}
@media(max-width:1100px){.hn{padding:4rem 2.5rem}}
@media(max-width:700px){.hn{padding:3rem 0 3.25rem}}
@media(max-width:1100px){.hn-in{grid-template-columns:1fr;gap:2.25rem}.hn-copy p{max-width:56ch}}

/* Home newsletters v4: single Read button inside the thumbnail */
.hn-cover{position:relative}
.hn-readbtn{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--green-d);font-weight:700;font-size:.9rem;padding:.65rem 1.5rem;border-radius:999px;box-shadow:0 12px 24px -10px rgba(0,0,0,.55);transition:background .2s,color .2s,transform .2s;white-space:nowrap}
.hn-tile:hover .hn-readbtn{background:var(--green);color:#fff;transform:translateX(-50%) translateY(-2px)}
.hn-issue{font-size:1.1rem;line-height:1.2;font-weight:700;color:var(--dark);margin:1rem 0 0;text-align:center}

/* Footer background: green African pattern, tinted dark so the text stays readable */
.site-footer{background-color:#0b3a2e;background-image:linear-gradient(rgba(6,36,28,.94),rgba(6,36,28,.94)),url("../images/footer-pattern.webp");background-size:auto,420px auto;background-repeat:no-repeat,repeat;background-position:0 0,center top}
.site-footer .foot-tag,.site-footer .foot-links a,.site-footer .foot-addr{color:rgba(255,255,255,.78)}
.site-footer .foot-col h3{color:#fff}
.site-footer .foot-bottom,.site-footer .foot-bottom span{color:rgba(255,255,255,.7)}
.site-footer .foot-bottom a{color:rgba(255,255,255,.7)}
.site-footer .foot-bottom a:hover,.site-footer .foot-links a:hover{color:#fff}
.site-footer .foot-bottom{border-top-color:rgba(255,255,255,.22)}
.site-footer .foot-soc{color:rgba(255,255,255,.85)}

/* ═══ Strategic priorities v2: colourful card grid ═══ */
.sp2.sp-sec{background:var(--cream);padding:6rem 5rem}
.sp2 .sec-tag{color:var(--orange-d)}
.sp2 .sec-tag::before{background:var(--orange)}
.sp2-head{margin-bottom:2.5rem}
.sp2-head h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.08;letter-spacing:-.015em;color:var(--dark);margin:0}
.sp2-head h2 em{font-style:italic;color:var(--green)}
.sp2-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem}
.sp2-card{--c:#059B84;--t:#E1F3F0;position:relative;grid-column:span 2;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:2rem 1.75rem 1.9rem;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.sp2-c1,.sp2-c2{grid-column:span 3}
.sp2-c2{--c:#E3432D;--t:#FDE9E6}
.sp2-c3{--c:#166368;--t:#DDEEEF}
.sp2-c4{--c:#E8A33D;--t:#FDF1DC}
.sp2-c5{--c:#36AF9D;--t:#E4F5F2}
.sp2-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--c)}
.sp2-card::after{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:var(--t);opacity:.8;transition:transform .5s ease}
.sp2-card:hover{transform:translateY(-6px);box-shadow:0 28px 48px -26px var(--c);border-color:var(--c)}
.sp2-card:hover::after{transform:scale(1.25)}
.sp2-num{position:absolute;z-index:1;top:1.1rem;right:1.4rem;font-size:2.6rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--c);opacity:.28}
.sp2-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--c);color:#fff;font-size:1.4rem;margin-bottom:1.25rem;box-shadow:0 12px 22px -10px var(--c)}
.sp2-card h3{position:relative;z-index:1;font-size:1.2rem;line-height:1.3;font-weight:800;color:var(--dark);margin:0 0 1rem;max-width:22ch}
.sp2-list{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.sp2-list li{position:relative;padding-left:1.6rem;font-size:.93rem;line-height:1.6;color:var(--mid)}
.sp2-list li::before{content:'';position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:3px;background:var(--c);transform:rotate(45deg)}
@media(max-width:1000px){.sp2.sp-sec{padding:4rem 2.5rem}.sp2-grid{grid-template-columns:repeat(2,1fr)}.sp2-card,.sp2-c1,.sp2-c2{grid-column:span 1}.sp2-c5{grid-column:span 2}}
@media(max-width:640px){.sp2.sp-sec{padding:3.25rem 1.25rem}.sp2-grid{grid-template-columns:1fr}.sp2-card,.sp2-c1,.sp2-c2,.sp2-c5{grid-column:span 1}}

/* Strategic priorities: no coloured top bar, no icon shadow */
.sp2-card::before{content:none}
.sp2-icon{box-shadow:none}

/* Strategic priorities: faint African pattern behind each card */
.sp2-card{background-color:#fff;background-image:linear-gradient(rgba(255,255,255,.972),rgba(255,255,255,.972)),url("../images/footer-pattern.webp");background-size:auto,300px auto;background-repeat:no-repeat,repeat;background-position:0 0,center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background-image .3s ease}
.sp2-card:hover{background-image:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),url("../images/footer-pattern.webp")}

/* ═══ Inner pages: white rounded menu floating over the page's top section (like the home page) ═══ */
body:has(.rs-hero,.f26-hero):not(.home) .site-header{position:absolute;top:18px;left:50%;transform:translateX(-50%);margin:0;background:#fff;box-shadow:0 20px 44px -20px rgba(0,0,0,.55)}
body:has(.rs-hero,.f26-hero):not(.home) .rs-hero{padding-top:8rem}
body:has(.rs-hero,.f26-hero):not(.home) .f26-hero{padding-top:6.5rem}
@media(max-width:900px){body:has(.rs-hero,.f26-hero):not(.home) .site-header{top:12px}body:has(.rs-hero,.f26-hero):not(.home) .rs-hero{padding-top:6.25rem}body:has(.rs-hero,.f26-hero):not(.home) .f26-hero{padding-top:5.5rem}}

/* ═══ Newsletters page: latest-issue feature v2 ═══ */
.nl-feature{position:relative;display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:4rem;align-items:center;padding:3rem 4rem;border:0;border-radius:28px;color:#fff;overflow:hidden;
  background-color:#166368;background-image:linear-gradient(105deg,rgba(14,74,78,.975) 0%,rgba(22,99,104,.955) 55%,rgba(22,99,104,.935) 100%),url("../images/footer-pattern.webp");background-size:auto,420px auto;background-repeat:no-repeat,repeat;box-shadow:0 40px 70px -40px rgba(8,62,51,.8)}
.nl-feature::before{content:'';position:absolute;right:-90px;top:-90px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(54,175,157,.4),transparent 70%);pointer-events:none}
.nl-feature-cover{position:relative;z-index:1;display:block;border:0;border-radius:14px;overflow:hidden;background:#fff;transform:rotate(-3deg);box-shadow:0 36px 60px -22px rgba(0,0,0,.65);transition:transform .45s ease}
.nl-feature-cover:hover{transform:rotate(0) translateY(-6px)}
.nl-feature-cover img{width:100%;height:auto;display:block}
.nl-feature-body{position:relative;z-index:1}
.nl-flag{display:inline-flex;align-items:center;gap:.6rem;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:1rem}
.nl-flag span{width:20px;height:2px;background:var(--orange)}
.nl-feature-body h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.02;letter-spacing:-.02em;color:#fff;margin:0 0 .9rem}
.nl-feature-title{margin:0;font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.85);max-width:38ch}
.nl-feature-desc{margin:.9rem 0 0;color:rgba(255,255,255,.8);line-height:1.7;max-width:54ch}
.nl-feature-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.nl-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.7rem;border-radius:999px;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s}
.nl-btn:hover{transform:translateY(-2px)}
.nl-btn--solid{background:#fff;color:#166368}
.nl-btn--solid:hover{background:var(--orange);color:#fff}
.nl-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.nl-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}
@media(max-width:900px){.nl-feature{grid-template-columns:1fr;gap:2.25rem;padding:2.25rem 1.5rem}.nl-feature-cover{max-width:260px;margin:0 auto}.nl-feature-body{text-align:center}.nl-flag{justify-content:center}.nl-feature-title,.nl-feature-desc{margin-left:auto;margin-right:auto}.nl-feature-actions{justify-content:center}}

/* Resources page: featured card sits above the filters */
.rs-feature{margin-bottom:2.5rem}

/* ═══ Resources grid: neat, evenly aligned cards ═══ */
.rs-res-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;align-items:stretch}
.rs-res-grid .rs-card{border-radius:20px;border:1px solid var(--border);background:#fff;box-shadow:0 14px 30px -24px rgba(0,40,30,.35)}
.rs-res-grid .rs-card:hover{transform:translateY(-5px);box-shadow:0 26px 44px -26px rgba(0,40,30,.45);border-color:var(--green-m)}
.rs-res-grid .rs-cover{aspect-ratio:4/3;background:var(--green-xl);border-bottom:1px solid var(--border)}
.rs-res-grid .rs-cover img{object-fit:cover;object-position:top}
.rs-res-grid .rs-year{top:.75rem;left:.75rem;background:#fff;color:var(--green-d);font-size:.74rem;font-weight:800;letter-spacing:.06em;padding:.32rem .7rem;box-shadow:0 8px 16px -8px rgba(0,0,0,.4)}
.rs-res-grid .rs-body{padding:1.25rem 1.25rem 1.3rem;gap:0}
.rs-res-grid .rs-type{margin:0 0 .6rem;font-size:.68rem;padding:.28rem .65rem}
.rs-res-grid .rs-body h2{font-size:1.08rem;line-height:1.3;font-weight:800;margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.rs-res-grid .rs-body p{font-size:.86rem;line-height:1.55;margin:0 0 .25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rs-res-grid .rs-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:auto;padding-top:1.1rem}
.rs-res-grid .rs-btn{justify-content:center;padding:.65rem .5rem;font-size:.84rem;white-space:nowrap}

/* Inner-page top section: the same faint African pattern as the featured cards */
.rs-hero{background-color:#166368;background-image:linear-gradient(105deg,rgba(14,74,78,.975) 0%,rgba(22,99,104,.955) 55%,rgba(22,99,104,.935) 100%),url("../images/footer-pattern.webp");background-size:auto,420px auto;background-repeat:no-repeat,repeat;background-position:0 0,center top}

/* ═══ Featured card: more compact (Resources + Newsletters) ═══ */
.nl-feature{grid-template-columns:minmax(150px,220px) 1fr;gap:2.5rem;padding:1.75rem 2.5rem;border-radius:22px}
.nl-feature-cover{border-radius:10px;box-shadow:0 22px 38px -18px rgba(0,0,0,.6)}
.nl-flag{font-size:.7rem;margin-bottom:.6rem}
.nl-feature-body h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:0 0 .5rem}
.nl-feature-title{font-size:.95rem;line-height:1.5}
.nl-feature-actions{margin-top:1.1rem;gap:.6rem}
.nl-btn{padding:.65rem 1.3rem;font-size:.85rem}
.rs-feature{margin-bottom:1.75rem}
@media(max-width:900px){.nl-feature{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1.25rem}.nl-feature-cover{max-width:170px}}

/* ═══ Featured cards (Resources + Newsletters): warm charcoal instead of teal ═══ */
:root{--ink:#2a2a2f;--ink-d:#1b1b1f}
.nl-feature{background-color:var(--ink);background-image:linear-gradient(105deg,rgba(27,27,31,.975) 0%,rgba(42,42,47,.955) 55%,rgba(42,42,47,.935) 100%),url("../images/footer-pattern-gray.webp");background-size:auto,420px auto;background-repeat:no-repeat,repeat;box-shadow:0 40px 70px -40px rgba(0,0,0,.6)}
.nl-feature::before{background:radial-gradient(circle,rgba(227,67,45,.22),transparent 70%)}
.nl-btn--solid{color:var(--ink)}

/* Quick-link cards: no shadow under the icon tiles */
.fql-col .fql-ico{box-shadow:none}

/* ═══ Language selector (Google Translate) ═══ */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:.4rem;height:38px;padding:0 .75rem;border:1.5px solid var(--border);border-radius:999px;background:#fff;color:var(--dark);font:700 .78rem/1 var(--fb);letter-spacing:.04em;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{border-color:var(--green);color:var(--green)}
.lang-btn i{font-size:.95rem}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:400;min-width:170px;margin:0;padding:.4rem;list-style:none;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 44px -20px rgba(0,30,22,.45)}
.lang-menu[hidden]{display:none}
.lang-menu button{display:block;width:100%;text-align:left;padding:.6rem .85rem;border:0;border-radius:9px;background:none;color:var(--dark);font:600 .9rem/1.2 var(--fb);cursor:pointer}
.lang-menu button:hover{background:var(--green-l);color:var(--green-d)}
.lang-menu button[aria-current="true"]{background:var(--green-l);color:var(--green-d)}
.lang-menu button[aria-current="true"]::after{content:"✓";float:right}
@media(max-width:900px){.lang-btn{height:34px;padding:0 .6rem}.lang-btn .lang-cur{display:none}.lang-menu{right:-.5rem}}
/* keep Google's own banner / tooltips / highlight out of sight */
.lang-gt{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
body{top:0!important;position:static!important}
body>.skiptranslate,.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,.goog-tooltip{display:none!important;visibility:hidden!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}

/* ═══ Accessibility tool ═══ */
.skip-link{position:absolute;left:1rem;top:-100px;z-index:9999;background:#fff;color:var(--dark);padding:.7rem 1.1rem;border-radius:10px;font-weight:700;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);text-decoration:none}
.skip-link:focus{top:1rem;outline:3px solid var(--green)}
.a11y{position:fixed;left:18px;bottom:18px;z-index:600}
.a11y-fab{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:1.6rem;cursor:pointer;box-shadow:0 14px 28px -10px rgba(0,0,0,.55);transition:transform .2s,background .2s}
.a11y-fab:hover,.a11y-fab[aria-expanded="true"]{background:var(--green-d);transform:scale(1.06)}
.a11y-fab:focus-visible,.a11y button:focus-visible{outline:3px solid #ffbf00;outline-offset:2px}
.a11y-panel{position:absolute;left:0;bottom:calc(100% + 12px);width:min(330px,calc(100vw - 36px));background:#fff;color:var(--dark);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 30px 60px -22px rgba(0,30,22,.55)}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}
.a11y-head h2{font-size:1.05rem;font-weight:800;margin:0}
.a11y-x{width:34px;height:34px;border:0;border-radius:50%;background:var(--green-l);color:var(--green-d);cursor:pointer}
.a11y-size{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;background:var(--cream);border-radius:12px;margin-bottom:.7rem}
.a11y-size-l{font-size:.85rem;font-weight:700}
.a11y-size-c{display:flex;align-items:center;gap:.5rem}
.a11y-size-c button{width:38px;height:34px;border:1.5px solid var(--border);border-radius:9px;background:#fff;color:var(--dark);font:800 .9rem/1 var(--fb);cursor:pointer}
.a11y-size-c button:hover{border-color:var(--green);color:var(--green)}
.a11y-size-c output{min-width:3.2em;text-align:center;font-weight:800;font-size:.85rem}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.a11y-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:68px;padding:.55rem .4rem;border:1.5px solid var(--border);border-radius:12px;background:#fff;color:var(--dark);font:600 .78rem/1.25 var(--fb);text-align:center;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.a11y-opt i{font-size:1.15rem;color:var(--green)}
.a11y-opt:hover{border-color:var(--green)}
.a11y-opt[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.a11y-opt[aria-pressed="true"] i{color:#fff}
.a11y-reset{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.6rem;padding:.6rem;border:0;border-radius:10px;background:none;color:var(--mid);font:700 .82rem/1 var(--fb);cursor:pointer}
.a11y-reset:hover{color:var(--orange-d)}
/* the effects */
html{filter:var(--a11y-filter,none)}
html[data-a11y-size="1"] body{zoom:1.1}
html[data-a11y-size="2"] body{zoom:1.25}
html[data-a11y-size="3"] body{zoom:1.5}
html.a11y-links a:not(.a11y-fab){text-decoration:underline!important;text-underline-offset:3px;outline:2px solid #ffbf00;outline-offset:2px;background-color:rgba(255,191,0,.18)}
html.a11y-font body,html.a11y-font body *:not(i):not([class*="fa-"]){font-family:Verdana,Tahoma,Arial,sans-serif!important}
html.a11y-spacing body *{line-height:1.85!important;letter-spacing:.035em!important;word-spacing:.12em!important}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'><path d='M3 2l7.5 19 2.6-7.6L21 10.8z' fill='black' stroke='white' stroke-width='1.6' stroke-linejoin='round'/></svg>") 4 3,auto!important}
@media(max-width:900px){.a11y{left:12px;bottom:12px}.a11y-fab{width:46px;height:46px;font-size:1.4rem}}
