/* BDCG Annual Conference 2026 Theme v2.1 — recolored to the official BDCG
   Brand Guide palette (Navy 004da2 / Green 6dbb41 / Black 231f20 / Grey
   bcbec0), with the brand green pushed into more accents site-wide per
   request ("want to see more green") rather than kept as a rare highlight. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* BDCG green — brand secondary, now used across eyebrow tags, links and
     accents (not just icon bullets) so it reads as a true two-colour system. */
  --orange:#6dbb41;--orange-d:#4f9530;--orange-l:#e6f5da;
  /* Muted red — reserved for "this needs attention now" states. */
  --red:#a13b2e;--red-d:#732a20;--red-l:#f3ddd8;
  /* BDCG navy — brand primary, sampled directly from the Brand Guide. */
  --green:#004da2;--green-d:#003a7a;--green-m:#2f6bb8;
  --green-l:#e1e8f5;--green-xl:#f0f3fa;
  --dark:#231f20;--mid:#565f6e;--muted:#8890a0;
  --cream:#f7f9fc;--white:#fff;--border:#e3e8f0;
  --shadow:rgba(0,77,162,.12);
  --fd:'Montserrat',sans-serif;--fb:'Montserrat',sans-serif;
  --r:20px;--rs:12px;--max:1300px;
  --mission-brown:#004da2;--mission-green:#6dbb41;
}
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(--orange);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:90vh}
.slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 4rem;opacity:0;transition:opacity .8s ease;z-index:1}
.slide.active{opacity:1;z-index:2}
/* Banner images already bake in a navy diagonal panel on the left with the
   photo on the right, so the crop is pinned left (not centered) to keep
   that panel on screen — cropping trims the photo side, never the text
   backdrop — and there's no motion or tint layered on top of that panel. */
.sl-bg{position:absolute;inset:0;background-size:cover;background-position:center top}
.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(--orange);font-size:1rem}
.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)}
.sl-ctrl{position:absolute;right:2.5rem;bottom:2.5rem;z-index:10;display:flex;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}
@media(max-width:900px){
  .sl-track{min-height:70vh}
  /* Fixed header is 72px tall and sits on top of the hero (the hero starts
     at the very top of the page, behind it) — below desktop's tall 90vh
     track the centered caption always clears that band on its own, but at
     these shorter mobile heights centering alone can land it partly behind
     the header, so pin the caption below the header explicitly instead. */
  .slide{justify-content:flex-start;padding:1.5rem 1.5rem 2.5rem}
  .sl-cap{max-width:320px}
  /* These banner images bake their navy text panel into the LEFT edge of a
     wide (~1.78:1) photo. A short, narrow mobile crop is much closer to
     square, so a centered cover crop trims deep into both sides and eats
     most of that panel — anchoring left keeps it intact, trimming the
     photo side instead. */
  .sl-bg{background-position:left top}
  .sl-ctrl{right:1.5rem;bottom:1.5rem}
}
@media(max-width:600px){
  .sl-track{min-height:60vh}
}

/* 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-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,.6);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:var(--white)}
.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}
@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,.5)}
.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,.52)}
.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)}
.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}

/* 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:var(--dark);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}
.foot-tag{font-size:.95rem;line-height:1.8;max-width:250px;color:rgba(255,255,255,.65)}
.foot-col h4{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,.55)}
.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:560px}
  .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;bottom: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:400px}
  .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-slide-card:nth-child(1) .svc-v2-ico{background:var(--green-l)}
.svc-slide-card:nth-child(1) .svc-v2-ico i{color:var(--green)}
.svc-slide-card:nth-child(2) .svc-v2-ico{background:var(--orange-l)}
.svc-slide-card:nth-child(2) .svc-v2-ico i{color:var(--orange)}
.svc-slide-card:nth-child(3) .svc-v2-ico{background:var(--orange-l)}
.svc-slide-card:nth-child(3) .svc-v2-ico i{color:var(--green-m)}
.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,.55); }
.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:var(--green) !important}
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{border-top:1px solid var(--border);margin-top:1.5rem}
.req-row{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--border)}
.req-row--head{padding-top:0}
.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}}

/* ═══ REGISTER — segmented path strip (Three Ways In) ═══ */
.path-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:1rem;background:var(--white)}
.path-col{padding:2rem 2rem 2.25rem;border-left:1px solid var(--border)}
.path-col:first-child{border-left:none}
.path-num{font-family:var(--fd);font-size:2rem;font-weight:700;color:var(--green-l);margin-bottom:.75rem}
.path-col h3{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.6rem}
.path-col p{font-size:.9rem;color:var(--mid);line-height:1.7;margin:0}
.path-col p a{color:var(--green);font-weight:600;text-decoration:none}
.path-col .svc-cta-link{margin-top:.85rem}
.path-strip-green{border-color:var(--orange);background:var(--orange)}
.path-strip-green .path-col{border-left-color:rgba(255,255,255,.25)}
.path-strip-green .path-num{color:rgba(255,255,255,.4)}
.path-strip-green .path-col h3{color:#fff}
.path-strip-green .path-col p{color:rgba(255,255,255,.82)}
.path-strip-green .path-col .svc-cta-link{color:#fff}
@media(min-width:768px) and (max-width:1099px){
  .path-strip{grid-template-columns:repeat(2,1fr)}
  .path-col:nth-child(3){border-left:none}
  .path-col{border-top:1px solid var(--border)}
  .path-col:first-child,.path-col:nth-child(2){border-top:none}
}
@media(max-width:767px){
  .path-strip{grid-template-columns:1fr}
  .path-col{border-left:none;border-top:1px solid var(--border)}
  .path-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 — triangle motif from the BDCG cover artwork,
   placed as a divider right before the footer. ═══ */
.brand-pattern-band{
  height:56px;
  background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%2256%22%20viewBox%3D%220%200%20100%2056%22%3E%3Cpolygon%20points%3D%2240.0%2C28.0%2030.0%2C45.3%2010.0%2C45.3%200.0%2C28.0%2010.0%2C10.7%2030.0%2C10.7%22%20fill%3D%22%23c7d4ef%22%2F%3E%3Cpolygon%20points%3D%2269.0%2C40.0%2062.0%2C52.1%2048.0%2C52.1%2041.0%2C40.0%2048.0%2C27.9%2062.0%2C27.9%22%20fill%3D%22%237d97cf%22%2F%3E%3Cpolygon%20points%3D%2288.0%2C14.0%2083.0%2C22.7%2073.0%2C22.7%2068.0%2C14.0%2073.0%2C5.3%2083.0%2C5.3%22%20fill%3D%22%233d6bb4%22%2F%3E%3C%2Fsvg%3E");
  background-repeat:repeat-x;
  background-size:100px 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:72px 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-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 and Scholarships. ═══ */
/* 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 scholarship application and
   sponsor-interest 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}
.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}

/* ═══ 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-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}
.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 / Scholarships / 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-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-main{min-width:0}
.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 / Scholarships / 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:fixed;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:.5rem .7rem;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table.dash-datatable thead th:first-child{width:30%}
table.dash-datatable tbody td{padding:.45rem .7rem;border-bottom:1px solid var(--border);color:var(--dark);vertical-align:middle;line-height:1.3;overflow:hidden}
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:normal;overflow-wrap:break-word}
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}
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}
