/* =============================================================================
   GSS 2027 — DGA Platforms Code (نظام كود المنصات الموحد) compliant
   Light, governmental, IBM Plex Sans Arabic, primary #1B8354
   Spec: dga.gov.sa/ar · design.dga.gov.sa · govsa-ds BEM
   ============================================================================= */

/* ---------- 0. RESET ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6,p{margin:0}
input,textarea,select{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
::selection{background:var(--primary);color:#fff}

/* ---------- 1. DESIGN TOKENS (DGA PLATFORMS CODE) -------------------------- */
:root{
  /* Primary — Saudi national green (DGA Foundations) */
  --primary-50:#e8f3ee;
  --primary-100:#cfe7d9;
  --primary-200:#a3d0b6;
  --primary-300:#6fb58e;
  --primary-400:#3d9968;
  --primary-500:#1B8354; /* DGA confirmed brand token */
  --primary-600:#166c45;
  --primary-700:#115637;
  --primary-800:#0c3f28;
  --primary-900:#072919;
  --primary:#1B8354;
  --primary-hover:#166c45;
  --primary-active:#115637;
  --on-primary:#ffffff;

  /* Neutral ramp (DGA -100 confirmed; rest derived) */
  --neutral-0:#ffffff;
  --neutral-50:#f9fafb;
  --neutral-100:#F3F4F6; /* DGA confirmed */
  --neutral-200:#e5e7eb;
  --neutral-300:#d1d5db;
  --neutral-400:#9ca3af;
  --neutral-500:#6b7280;
  --neutral-600:#4b5563;
  --neutral-700:#374151;
  --neutral-800:#1f2937;
  --neutral-900:#111827;
  --neutral-950:#030712;

  /* Semantic */
  --success:#1B8354;
  --info:#0364c2;
  --warning:#a05a00;
  --danger:#b42318;

  /* Surface / text */
  --bg:#ffffff;
  --bg-soft:var(--neutral-50);
  --bg-muted:var(--neutral-100);
  --surface:#ffffff;
  --border:var(--neutral-200);
  --border-strong:var(--neutral-300);
  --text:var(--neutral-900);
  --text-muted:var(--neutral-600);
  --text-soft:var(--neutral-500);
  --link:var(--primary-700);
  --focus:var(--primary);

  /* Typography */
  --ff-ar:"IBM Plex Sans Arabic","Tajawal","Segoe UI",Tahoma,sans-serif;
  --ff-en:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;
  --ff-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  /* DGA type scale (px / rem) */
  --fs-12:.75rem;
  --fs-14:.875rem;
  --fs-16:1rem;
  --fs-18:1.125rem;
  --fs-20:1.25rem;
  --fs-24:1.5rem;
  --fs-28:1.75rem;
  --fs-32:2rem;
  --fs-40:2.5rem;
  --fs-48:3rem;
  --fs-56:3.5rem;

  --lh-tight:1.2;
  --lh-snug:1.35;
  --lh-base:1.5;

  --fw-400:400;
  --fw-500:500;
  --fw-600:600;
  --fw-700:700;

  /* Spacing — 4px base */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;

  /* Radius */
  --r-xs:2px;
  --r-sm:4px;
  --r-md:8px;
  --r-lg:12px;
  --r-xl:16px;
  --r-2xl:24px;
  --r-full:9999px;

  /* Shadow */
  --sh-xs:0 1px 2px rgba(17,24,39,.05);
  --sh-sm:0 1px 3px rgba(17,24,39,.08),0 1px 2px rgba(17,24,39,.04);
  --sh-md:0 4px 6px -1px rgba(17,24,39,.07),0 2px 4px -2px rgba(17,24,39,.05);
  --sh-lg:0 10px 20px -4px rgba(17,24,39,.08),0 4px 8px -2px rgba(17,24,39,.04);
  --sh-xl:0 24px 48px -12px rgba(17,24,39,.18);

  /* Motion */
  --t-fast:100ms;
  --t-base:200ms;
  --t-slow:300ms;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* Layout */
  --container:1200px;
  --container-pad:clamp(16px,3.5vw,28px);
  --section-y:clamp(40px,5.5vw,72px);
  --header-h:84px;
  --identifier-h:0px;   /* national identifier strip removed; utilities relocated to header */

  /* Font scale (a11y toolbar) */
  --font-scale:1;
}

/* High contrast theme */
:root[data-contrast="high"]{
  --text:#000000;
  --text-muted:#000000;
  --text-soft:#222222;
  --border:#000000;
  --border-strong:#000000;
  --primary:#0a4d31;
  --primary-hover:#072919;
  --link:#0a4d31;
  --bg-soft:#ffffff;
  --bg-muted:#ffffff;
}

/* ---------- 2. BASE TYPOGRAPHY -------------------------------------------- */
html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--identifier-h) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--ff-ar);
  font-size:var(--fs-16);
  line-height:var(--lh-base);
  color:var(--text);
  background:var(--bg);
  font-weight:var(--fw-400);
  text-align:start;
}
.lang-en{font-family:var(--ff-en)}

h1,h2,h3,h4{font-family:inherit;font-weight:var(--fw-700);line-height:var(--lh-tight);color:var(--text);letter-spacing:0}
h1{font-size:clamp(var(--fs-28),3.8vw,var(--fs-40))}
h2{font-size:clamp(var(--fs-20),2.6vw,var(--fs-32))}
h3{font-size:clamp(var(--fs-18),2vw,var(--fs-24))}
h4{font-size:var(--fs-18)}

p{line-height:1.7;color:var(--text);font-size:var(--fs-16)}
.lead{font-size:var(--fs-16);color:var(--text-muted);line-height:1.7}

a{text-decoration:none;transition:color var(--t-fast) var(--ease)}
a:hover{color:var(--primary)}

/* ---------- 3. UTILITIES -------------------------------------------------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad)}
.govsa-visually-hidden,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.govsa-skip-link,.skip-link{
  position:absolute;top:-200px;inset-inline-start:16px;z-index:1000;
  background:var(--primary);color:#fff;padding:12px 20px;border-radius:var(--r-sm);
  font-weight:var(--fw-600);text-decoration:none;
  transition:top var(--t-base) var(--ease);
}
.govsa-skip-link:focus,.skip-link:focus{top:12px;color:#fff}

/* ---------- 4. NATIONAL IDENTIFIER STRIP ---------------------------------- */
.govsa-identifier,.gov-bar{
  background:var(--neutral-900);
  color:#fff;
  font-size:var(--fs-14);
  border-bottom:1px solid var(--neutral-800);
}
.govsa-identifier__inner,.gov-bar__inner{
  max-width:var(--container);
  margin-inline:auto;
  padding:0 var(--container-pad);
  height:var(--identifier-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
}
.govsa-identifier__brand,.gov-bar__brand{
  display:inline-flex;align-items:center;gap:var(--space-2);
  color:#fff;text-decoration:none;font-weight:var(--fw-500);
}
.govsa-identifier__brand:hover,.gov-bar__brand:hover{color:#fff;opacity:.9}
.govsa-identifier__emblem{width:22px;height:22px;display:inline-block;flex-shrink:0}
.govsa-identifier__actions,.gov-bar__actions{
  display:flex;align-items:center;gap:var(--space-3);
}
.govsa-identifier__sep,.gov-bar__sep{width:1px;height:20px;background:rgba(255,255,255,.18)}
.govsa-identifier__link,.gov-bar__link{color:#fff;font-size:var(--fs-14);text-decoration:none;opacity:.85}
.govsa-identifier__link:hover,.gov-bar__link:hover{opacity:1;color:#fff}
.govsa-identifier__lang,.gov-bar__lang{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.3);
  border-radius:var(--r-sm);
  padding:4px 12px;
  font-size:var(--fs-12);font-weight:var(--fw-600);
  color:#fff;letter-spacing:.04em;
  transition:background var(--t-base) var(--ease);
}
.govsa-identifier__lang:hover,.gov-bar__lang:hover{background:rgba(255,255,255,.12);color:#fff}

/* A11y toolbar */
.govsa-a11y,.a11y{display:flex;align-items:center;gap:var(--space-1)}
.govsa-a11y__btn,.a11y__btn{
  width:32px;height:32px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:var(--r-sm);
  color:#fff;font-size:var(--fs-12);font-weight:var(--fw-600);
  transition:background var(--t-fast) var(--ease);
}
.govsa-a11y__btn:hover,.a11y__btn:hover{background:rgba(255,255,255,.12)}
.govsa-a11y__btn[aria-pressed="true"],.a11y__btn[aria-pressed="true"]{background:#fff;color:var(--neutral-900)}

@media (max-width:767px){
  .govsa-identifier__brand span:not(.govsa-identifier__emblem),
  .gov-bar__brand span:not(.govsa-identifier__emblem){display:none}
  .govsa-a11y,.a11y{gap:0}
  .govsa-a11y__btn,.a11y__btn{width:28px;height:28px}
  .govsa-identifier__link,.gov-bar__link{display:none}
}

/* ---------- 5. PRIMARY HEADER --------------------------------------------- */
.govsa-header,.nav{
  position:sticky;top:0;z-index:90;
  background:#fff;
  border-bottom:1px solid var(--border);
  transition:box-shadow var(--t-base) var(--ease);
}
.govsa-header.is-scrolled,.nav.is-scrolled{box-shadow:var(--sh-sm)}
.govsa-header__inner,.nav__inner{
  max-width:var(--container);
  margin-inline:auto;
  padding:var(--space-3) var(--container-pad);
  height:var(--header-h);
  display:flex;align-items:center;gap:var(--space-4);
}
.govsa-header__brand,.nav__moi{
  display:inline-flex;align-items:center;gap:var(--space-3);
  text-decoration:none;color:var(--text);flex-shrink:0;
}
.govsa-header__brand-img{height:48px;width:auto}
/* Official MOI logo — render at perfect circle proportion */
.govsa-header__brand-moi{
  height:52px;width:52px;
  display:inline-block;
  flex-shrink:0;
  object-fit:contain;
}
@media (max-width:991px){
  .govsa-header__brand-moi{height:42px;width:42px}
}
.govsa-header__brand-divider{
  width:1px;height:40px;background:var(--border-strong);
}
.govsa-header__brand-text{
  display:flex;flex-direction:column;gap:2px;font-size:var(--fs-12);
}
.govsa-header__brand-text strong{font-size:var(--fs-14);font-weight:var(--fw-700);color:var(--primary)}
.govsa-header__brand-text span{color:var(--text-soft)}

.govsa-header__nav,.nav__links{
  flex:1;display:flex;align-items:center;gap:var(--space-2);
  justify-content:flex-end;
}
.govsa-header__nav-link,.nav__links a{
  display:inline-flex;align-items:center;
  padding:12px 14px;
  min-height:44px;
  font-size:var(--fs-16);
  font-weight:var(--fw-500);
  color:var(--text);
  border-radius:var(--r-sm);
  text-decoration:none;
  transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease);
  position:relative;
}
.govsa-header__nav-link:hover,.nav__links a:hover{color:var(--primary);background:var(--primary-50)}
.govsa-header__nav-link.is-active,.nav__links a.is-active{color:var(--primary);font-weight:var(--fw-600)}
.govsa-header__nav-link.is-active::after,.nav__links a.is-active::after{
  content:"";position:absolute;inset-inline:14px;bottom:4px;height:2px;background:var(--primary);border-radius:1px;
}
.nav__links a.btn,.nav__links a.btn:hover{background:var(--primary);color:#fff}
.nav__links a.btn::after{display:none}

.govsa-header__burger,.nav__burger{
  display:none;
  width:44px;height:44px;
  align-items:center;justify-content:center;
  border-radius:var(--r-sm);
  border:1px solid var(--border);
}
.govsa-header__burger span,.nav__burger span{
  display:block;width:18px;height:2px;background:var(--text);
  position:absolute;transition:transform var(--t-base) var(--ease),opacity var(--t-fast) var(--ease);
}
.nav__burger{position:relative}
.nav__burger span:nth-child(1){transform:translateY(-6px)}
.nav__burger span:nth-child(3){transform:translateY(6px)}

@media (max-width:991px){
  .govsa-header__nav,.nav__links{display:none}
  .govsa-header__burger,.nav__burger{display:inline-flex}
  .govsa-header__inner,.nav__inner{height:72px}
  :root{--header-h:72px}
  .govsa-header__brand-text{display:none}
  .govsa-header__brand-img{height:40px}
}

/* Mobile nav sheet */
.govsa-nav-sheet,.nav__sheet{
  position:fixed;inset:calc(var(--identifier-h) + var(--header-h)) 0 0 0;
  background:#fff;
  z-index:80;
  padding:var(--space-6) var(--container-pad);
  display:flex;flex-direction:column;gap:var(--space-2);
  transform:translateY(-12px);opacity:0;pointer-events:none;
  transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease);
  overflow-y:auto;
}
.govsa-nav-sheet.is-open,.nav__sheet.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
.govsa-nav-sheet a,.nav__sheet a{
  display:block;padding:14px var(--space-4);
  font-size:var(--fs-18);font-weight:var(--fw-500);
  border-bottom:1px solid var(--border);
  color:var(--text);
}
.govsa-nav-sheet a.btn,.nav__sheet a.btn{
  margin-top:var(--space-4);background:var(--primary);color:#fff;border:0;border-radius:var(--r-md);text-align:center;
}

/* ---------- 6. BUTTONS ---------------------------------------------------- */
.govsa-button,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  min-height:44px;
  padding:0 var(--space-6);
  font-family:var(--ff-ar);
  font-size:var(--fs-16);
  font-weight:var(--fw-600);
  border-radius:var(--r-md);
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease);
  white-space:nowrap;
  line-height:1;
}
.govsa-button:hover,.btn:hover{transform:translateY(-1px)}
.govsa-button:active,.btn:active{transform:translateY(0)}
.govsa-button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.govsa-button--primary,.btn--primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.govsa-button--primary:hover,.btn--primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff;box-shadow:var(--sh-md)}

.govsa-button--secondary,.btn--secondary{background:#fff;color:var(--primary);border-color:var(--primary)}
.govsa-button--secondary:hover,.btn--secondary:hover{background:var(--primary-50);color:var(--primary)}

.govsa-button--tertiary,.btn--ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}
.govsa-button--tertiary:hover,.btn--ghost:hover{background:var(--bg-muted);color:var(--text)}

.govsa-button--sm,.btn--sm{min-height:44px;padding:0 var(--space-4);font-size:var(--fs-14)}
.govsa-button--lg,.btn--lg{min-height:52px;padding:0 var(--space-8);font-size:var(--fs-18)}
.govsa-button--wide,.btn--wide{width:100%}

.govsa-button__arrow{display:inline-flex;transition:transform var(--t-base) var(--ease)}
.govsa-button:hover .govsa-button__arrow{transform:translateX(-4px)} /* RTL */

/* Text link with arrow */
.govsa-link-arrow,.link-arrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  color:var(--primary);font-weight:var(--fw-600);font-size:var(--fs-16);
  text-decoration:none;padding:8px 0;
}
.govsa-link-arrow:hover,.link-arrow:hover{color:var(--primary-hover);text-decoration:underline;text-underline-offset:4px}
.govsa-link-arrow span,.link-arrow span{transition:transform var(--t-base) var(--ease)}
.govsa-link-arrow:hover span,.link-arrow:hover span{transform:translateX(-4px)}

/* ---------- 7. SECTION SHELL --------------------------------------------- */
section{padding:var(--section-y) 0}
.govsa-section{padding:var(--section-y) 0}
.govsa-anchor{display:block;height:0;scroll-margin-top:calc(var(--header-h) + var(--identifier-h) + 8px)}

.govsa-section__head,.section-head{
  margin-bottom:var(--space-10);
  max-width:780px;
}
.govsa-section__head--center,.section-head--center{margin-inline:auto;text-align:center}

.govsa-section__kicker,.section-kicker{
  display:inline-flex;align-items:center;gap:var(--space-2);
  color:var(--primary);
  font-size:var(--fs-14);font-weight:var(--fw-600);
  text-transform:uppercase;letter-spacing:.06em;
  padding:6px 14px;border-radius:var(--r-full);
  background:var(--primary-50);
  margin-bottom:var(--space-4);
}
.govsa-section__title,.section-title{
  font-size:clamp(var(--fs-24),2.8vw,var(--fs-32));
  font-weight:var(--fw-700);
  line-height:var(--lh-tight);
  color:var(--text);
  margin:0 0 var(--space-3);
}
.govsa-section__title em,.section-title em{font-style:normal;color:var(--primary)}
.govsa-section__lede,.section-lede{
  font-size:var(--fs-18);color:var(--text-muted);line-height:1.7;max-width:65ch;
}
.section-title--center{text-align:center;margin-inline:auto}
.section-title__accent{color:var(--primary);display:inline}
.section-title__main{display:inline;margin-inline-start:.4em}

/* ---------- 8. HERO ------------------------------------------------------- */
.govsa-hero,.hero{
  position:relative;
  background:
    radial-gradient(60% 60% at 18% 12%, rgba(27,131,84,.10), transparent 65%),
    radial-gradient(50% 50% at 92% 88%, rgba(27,131,84,.07), transparent 60%),
    linear-gradient(180deg,#fafcfb 0%,#f3f7f4 100%);
  padding-top:clamp(48px,8vw,96px);
  padding-bottom:clamp(48px,8vw,96px);
  overflow:hidden;
  border-bottom:1px solid var(--border);
}
.govsa-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(27,131,84,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(27,131,84,.05) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at center, #000 30%, transparent 70%);
  pointer-events:none;
}
.govsa-hero__grid,.hero__grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
@media (max-width:991px){.govsa-hero__grid,.hero__grid{grid-template-columns:1fr}}

.govsa-hero__main,.hero__main{display:flex;flex-direction:column;gap:var(--space-6)}

.govsa-hero__patronage,.hero__patronage-tag{
  display:inline-flex;align-items:center;gap:var(--space-2);
  padding:8px 16px;border-radius:var(--r-full);
  background:#fff;border:1px solid var(--primary-200);
  color:var(--primary-700);font-size:var(--fs-14);font-weight:var(--fw-600);
  align-self:flex-start;box-shadow:var(--sh-xs);
}

.govsa-hero__slogan,.hero__slogan{
  font-size:clamp(var(--fs-32),5.2vw,var(--fs-56));
  font-weight:var(--fw-700);
  line-height:1.15;
  color:var(--text);
  margin:0;
}
.govsa-hero__slogan-1,.hero__slogan-1{display:block;color:var(--text)}
.govsa-hero__slogan-2,.hero__slogan-2{display:block;color:var(--primary);margin-top:var(--space-2)}

.govsa-hero__lede,.hero__lede{
  font-size:var(--fs-18);color:var(--text-muted);line-height:1.7;
  max-width:54ch;
}

.govsa-hero__meta,.hero__meta{
  display:flex;flex-wrap:wrap;gap:var(--space-2);
  padding:var(--space-4) 0;
}
.govsa-hero__meta-item,.hero__meta-item,.meta__item{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-12,12px);color:var(--text);
  background:#fff;padding:6px 9px;border-radius:var(--r-md);
  border:1px solid var(--border);box-shadow:var(--sh-xs);
  line-height:1.3;
}
.govsa-hero__meta-item svg,.hero__meta-item svg,.meta__item .meta__icon{color:var(--primary);flex-shrink:0;width:14px;height:14px}
.govsa-hero__meta-item strong{font-weight:var(--fw-700)}
.govsa-hero__meta-item small{
  display:inline;
  font-size:var(--fs-11,11px);
  color:var(--text-soft);
  margin-inline-start:6px;
}
.govsa-hero__meta-item small::before{
  content:"·";
  margin-inline-end:6px;
  color:var(--text-soft);
  opacity:.6;
}

.govsa-hero__cta,.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* Countdown */
.govsa-countdown,.hero__countdown{
  display:flex;align-items:flex-end;gap:var(--space-2);
  padding:var(--space-5);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-sm);
}
.govsa-countdown__cell,.cd__cell{
  flex:1;
  display:flex;flex-direction:column;align-items:center;gap:var(--space-1);
  padding:var(--space-2) var(--space-3);
  background:var(--bg-soft);
  border-radius:var(--r-md);
}
.govsa-countdown__num,.cd__num{
  font-family:var(--ff-display);
  font-size:clamp(var(--fs-28),3.6vw,var(--fs-40));
  font-weight:var(--fw-700);
  color:var(--primary);
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.govsa-countdown__lbl,.cd__lbl{
  font-size:var(--fs-12);font-weight:var(--fw-500);color:var(--text-muted);
}
.govsa-countdown__sep,.cd__sep{
  font-family:var(--ff-en);font-size:var(--fs-24);color:var(--border-strong);
  padding:0 2px;margin-bottom:18px;display:none;
}

/* Patronage card (image-frame look) */
.govsa-hero__patron,.hero__patron{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:var(--space-6);
  box-shadow:var(--sh-md);
  display:flex;flex-direction:column;gap:var(--space-3);
}
.patron__frame{
  border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--border);
  margin-bottom:var(--space-2);
  position:relative;
}
.patron__photo{aspect-ratio:4/5;background:linear-gradient(135deg,#0c3f28 0%,#1B8354 100%);position:relative;display:grid;place-items:center;color:#fff}
.patron__photo svg{width:100%;height:100%}
.patron__corner{display:none}
.patron__kicker{font-size:var(--fs-12);color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-600)}
.patron__sub{font-size:var(--fs-14);color:var(--text-muted);font-weight:var(--fw-500)}
.patron__name{font-size:clamp(var(--fs-18),2vw,var(--fs-24));font-weight:var(--fw-700);color:var(--text);line-height:1.3}
.patron__title{font-size:var(--fs-16);color:var(--primary);font-weight:var(--fw-600)}
.patron__body{font-size:var(--fs-14);color:var(--text-muted);line-height:1.7}

.hero__skyline,.hero__lines,.hero__scroll{display:none}

/* ---------- 9. STATS ------------------------------------------------------ */
.govsa-stats,.stats{background:var(--bg)}
.stats__pattern,.stats__cam{display:none}
.govsa-stats__grid,.stats__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--space-4);
}
@media (max-width:1199px){.govsa-stats__grid,.stats__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.govsa-stats__grid,.stats__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:479px){.govsa-stats__grid,.stats__grid{grid-template-columns:1fr}}

.govsa-stats__item,.stat{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:var(--space-6) var(--space-4);
  display:flex;flex-direction:column;gap:var(--space-2);
  text-align:start;
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease);
  position:relative;
  min-width:0;
}
.govsa-stats__item::before,.stat::before{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:var(--primary);
  opacity:0;transition:opacity var(--t-base) var(--ease);
}
.govsa-stats__item:hover,.stat:hover{border-color:var(--primary-300);box-shadow:var(--sh-md);transform:translateY(-2px)}
.govsa-stats__item:hover::before,.stat:hover::before{opacity:1}

.govsa-stats__num,.stat__num{
  font-family:var(--ff-display);
  font-size:clamp(var(--fs-28),2.8vw,var(--fs-40));
  font-weight:var(--fw-700);
  color:var(--primary);
  line-height:1.15;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
  display:block;
  padding-block-start:.08em;
  white-space:nowrap;
}
.govsa-stats__lbl,.stat__lbl{
  display:flex;flex-direction:column;gap:2px;
  font-size:var(--fs-16);font-weight:var(--fw-600);color:var(--text);line-height:1.4;
}
.govsa-stats__lbl em,.stat__lbl em{font-style:normal;color:var(--text-muted);font-size:var(--fs-14);font-weight:var(--fw-400);line-height:1.6}

/* ---------- 10. OVERVIEW -------------------------------------------------- */
.govsa-overview,.overview{background:var(--bg-soft)}
.overview__bg{display:none}
.govsa-overview__card,.overview__card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:clamp(24px,3.5vw,48px);
  box-shadow:var(--sh-sm);
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(24px,3vw,48px);
  align-items:center;
}
@media (max-width:991px){
  .govsa-overview__card,.overview__card{ grid-template-columns:1fr; }
}
.govsa-overview__media{
  margin:0;
  border-radius:var(--r-md);
  overflow:hidden;
  position:relative;
  aspect-ratio:4/3;
  background:var(--bg-soft);
}
.govsa-overview__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.govsa-overview__text{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
/* Read-more clamp on overview text — show first paragraph only by default */
.govsa-overview__text > p:not(:first-of-type){
  display:none;
}
.govsa-overview__card.is-expanded .govsa-overview__text > p:not(:first-of-type){
  display:block;
}
.overview-more{
  background:none;border:0;padding:8px 0;cursor:pointer;font:inherit;
  align-self:flex-start;
  color:var(--primary);
  font-weight:var(--fw-600);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.overview-more .overview-more__arrow{
  display:inline-block;
  transition:transform var(--t-base) var(--ease);
}
.overview-more[aria-expanded="true"] .overview-more__arrow{
  transform:rotate(90deg);
}
.overview-more[hidden]{display:none!important}
.govsa-overview__card p,.overview__card p{font-size:var(--fs-18);line-height:1.85;color:var(--text-muted)}
.govsa-overview__card strong,.overview__card strong{color:var(--primary);font-weight:var(--fw-700)}

/* ---------- 11. PILLARS (Exhibition / Conference / Workshops) ------------- */
.govsa-pillar,.pillar{
  position:relative;background:var(--bg);
  padding:var(--section-y) 0;
}
.govsa-pillar--alt,.pillar--alt{background:var(--bg-soft)}

.pillar__media{display:none}

.govsa-pillar__grid,.pillar__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center;
}
.govsa-pillar--reverse .govsa-pillar__grid,.pillar--reverse .pillar__grid{direction:rtl}
@media (max-width:991px){.govsa-pillar__grid,.pillar__grid{grid-template-columns:1fr}}

.govsa-pillar__body,.pillar__body{display:flex;flex-direction:column;gap:var(--space-4)}
.govsa-pillar__kicker,.pillar__kicker{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--ff-en);font-size:var(--fs-14);font-weight:var(--fw-700);
  color:var(--primary);letter-spacing:.08em;text-transform:uppercase;
  align-self:flex-start;
}
.govsa-pillar__body p,.pillar__body p{font-size:var(--fs-16);line-height:1.85;color:var(--text-muted)}
.govsa-pillar__body strong,.pillar__body strong{color:var(--text);font-weight:var(--fw-700)}

.govsa-pillar__visual{
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--r-xl);
  background:linear-gradient(135deg,var(--primary-100) 0%,var(--primary-50) 100%);
  display:grid;place-items:center;
  overflow:hidden;border:1px solid var(--border);
}
.govsa-pillar__visual::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 30% 20%,rgba(27,131,84,.15),transparent 40%),
    radial-gradient(circle at 70% 80%,rgba(27,131,84,.15),transparent 40%);
}
.govsa-pillar__visual svg{position:relative;width:60%;height:60%;color:var(--primary);opacity:.55}

/* ---------- 12. SECTORS --------------------------------------------------- */
.govsa-sectors,.sectors{background:var(--bg-soft)}
.sectors__pattern{display:none}
.govsa-sectors__grid,.sectors__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-4);
}
@media (max-width:1199px){.govsa-sectors__grid,.sectors__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.govsa-sectors__grid,.sectors__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:419px){.govsa-sectors__grid,.sectors__grid{grid-template-columns:1fr}}

.govsa-sector-card,.sector{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:var(--space-6) var(--space-5);
  display:flex;flex-direction:column;gap:var(--space-3);
  align-items:flex-start;text-align:start;
  cursor:pointer;
  min-height:170px;
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease);
  width:100%;
  position:relative;
}
.govsa-sector-card:hover,.sector:hover{
  border-color:var(--primary-400);box-shadow:var(--sh-md);transform:translateY(-2px);
}
.govsa-sector-card[aria-expanded="true"],.sector[aria-expanded="true"]{
  border-color:var(--primary);background:var(--primary-50);
}
.govsa-sector-card__icon,.sector__ico{
  width:48px;height:48px;
  display:grid;place-items:center;
  background:var(--primary-50);color:var(--primary);
  border-radius:var(--r-md);
  flex-shrink:0;
}
.govsa-sector-card__icon svg,.sector__ico svg{width:28px;height:28px}
.govsa-sector-card[aria-expanded="true"] .govsa-sector-card__icon,.sector[aria-expanded="true"] .sector__ico{background:var(--primary);color:#fff}
.govsa-sector-card__title,.sector__title{
  font-size:var(--fs-18);font-weight:var(--fw-700);color:var(--text);line-height:1.3;
}
.govsa-sector-card__cta,.sector__cta{
  margin-top:auto;
  color:var(--primary);font-size:var(--fs-14);font-weight:var(--fw-600);
  display:inline-flex;align-items:center;gap:var(--space-1);
}
.govsa-sector-card__cta::after,.sector__cta::after{content:"←";display:inline-block;transition:transform var(--t-base) var(--ease)}
.govsa-sector-card:hover .govsa-sector-card__cta::after,.sector:hover .sector__cta::after{transform:translateX(-4px)}

.govsa-sector-panel,.sector-panel{
  grid-column:1/-1;
  margin-top:var(--space-4);
  background:#fff;
  border:1px solid var(--primary-200);
  border-radius:var(--r-lg);
  padding:var(--space-8);
  box-shadow:var(--sh-md);
}
.sector-panel__inner{position:relative}
.govsa-sector-panel__close,.sector-panel__close{
  position:absolute;top:0;inset-inline-end:0;
  width:36px;height:36px;
  border-radius:var(--r-full);
  background:var(--bg-muted);color:var(--text);
  display:grid;place-items:center;
  font-size:var(--fs-20);line-height:1;
  transition:background var(--t-fast) var(--ease);
}
.govsa-sector-panel__close:hover,.sector-panel__close:hover{background:var(--primary-50);color:var(--primary)}
.govsa-sector-panel__title,.sector-panel__title{
  font-size:var(--fs-24);font-weight:var(--fw-700);color:var(--primary);
  margin-bottom:var(--space-5);padding-inline-end:48px;
}
.govsa-sector-panel__list,.sector-panel__list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-2) var(--space-6);
}
.govsa-sector-panel__list li,.sector-panel__list li{
  display:flex;align-items:flex-start;gap:var(--space-2);
  padding:var(--space-2) 0;
  border-bottom:1px solid var(--bg-muted);
  font-size:var(--fs-15,15px);color:var(--text);line-height:1.6;
}
.govsa-sector-panel__list li::before,.sector-panel__list li::before{
  content:"●";color:var(--primary);font-size:8px;margin-top:9px;flex-shrink:0;
}

.sectors__lede{font-size:var(--fs-18);color:var(--text-muted);line-height:1.7;max-width:65ch;margin:0 auto var(--space-10);text-align:center}

/* ---------- 13. SPEAKERS -------------------------------------------------- */
.govsa-speakers,.speakers{background:var(--bg)}
.govsa-speakers__row,.speakers__row{
  display:flex;align-items:center;gap:var(--space-4);
}
.govsa-speakers__track,.speakers__track{
  flex:1;
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);
  overflow:hidden;
}
@media (max-width:991px){.govsa-speakers__track,.speakers__track{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.govsa-speakers__track,.speakers__track{grid-template-columns:1fr}}

.govsa-speaker,.speaker{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:var(--space-5);
  display:flex;flex-direction:column;gap:var(--space-3);
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease);
}
.govsa-speaker:hover,.speaker:hover{border-color:var(--primary-300);box-shadow:var(--sh-md);transform:translateY(-2px)}

.govsa-speaker__photo,.speaker__photo,.speaker__frame{
  aspect-ratio:1;
  border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--primary-100) 0%,var(--primary-50) 100%);
  display:grid;place-items:center;color:var(--primary-400);
  border:1px solid var(--border);position:relative;overflow:hidden;
}
.speaker__frame{padding:0}
.speaker__photo{height:100%}
.speaker__photo svg{width:50%;height:50%;opacity:.5}
.speaker__photo--1,.speaker__photo--2,.speaker__photo--3{background:linear-gradient(135deg,var(--primary-100) 0%,var(--primary-50) 100%)}
.c{display:none}

.govsa-speaker__name,.speaker__name{font-size:var(--fs-20);font-weight:var(--fw-700);color:var(--text)}
.govsa-speaker__role,.speaker__role{font-size:var(--fs-14);color:var(--text-muted);line-height:1.6}

.govsa-speakers__arrow,.spk-arrow{
  width:44px;height:44px;
  background:#fff;border:1px solid var(--border);border-radius:var(--r-full);
  color:var(--text);font-size:var(--fs-24);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),color var(--t-base) var(--ease);
  flex-shrink:0;
}
.govsa-speakers__arrow:hover,.spk-arrow:hover{background:var(--primary);border-color:var(--primary);color:#fff}

.speakers__note{margin-top:var(--space-8);text-align:center;color:var(--text-muted);font-size:var(--fs-14)}

/* TBA placeholder (partners, speakers, etc.) */
.govsa-partners__tba{
  background:#fff;
  border:1px dashed var(--border-strong);
  border-radius:var(--r-lg);
  padding:var(--space-10) var(--space-6);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-3);
  text-align:center;
  color:var(--text-muted);
  max-width:540px;
  margin-inline:auto;
}
.govsa-partners__tba svg{color:var(--primary)}
.govsa-partners__tba-text{
  font-size:var(--fs-16);
  line-height:1.6;
  color:var(--text);
}

/* ---------- 14. PARTNERS -------------------------------------------------- */
.govsa-partners,.partners{background:var(--bg-soft)}
.govsa-partners__row,.partners__row{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-8);
  padding:var(--space-8) 0;
}
.govsa-partner,.partner{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  padding:var(--space-5) var(--space-8);
  color:var(--text-muted);
  transition:border-color var(--t-base) var(--ease),color var(--t-base) var(--ease);
  min-width:180px;display:grid;place-items:center;
}
.govsa-partner:hover,.partner:hover{border-color:var(--primary-300);color:var(--primary)}
.partner__sep{display:none}

/* ---------- 15. CONTACT --------------------------------------------------- */
.govsa-contact,.touch{background:var(--bg)}
.govsa-contact__grid,.touch__grid{
  display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,5vw,64px);align-items:start;
}
@media (max-width:991px){.govsa-contact__grid,.touch__grid{grid-template-columns:1fr}}

.touch__copy,.govsa-contact__copy{display:flex;flex-direction:column;gap:var(--space-4)}
.touch__contact{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}
.touch__contact li{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-14);color:var(--text-soft)}
.touch__contact li strong{font-weight:var(--fw-600);color:var(--text)}
.touch__contact li a{color:var(--primary);font-weight:var(--fw-500);font-family:var(--ff-en)}

.govsa-form,.touch__form{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  padding:clamp(24px,3.5vw,40px);
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);
  box-shadow:var(--sh-sm);
}
.govsa-form__row,.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field--wide,.govsa-form__row--wide{grid-column:1/-1}
.field label,.govsa-form__row label,.govsa-text-input__label{
  font-size:var(--fs-14);font-weight:var(--fw-600);color:var(--text);
}
.field .req,.govsa-text-input__req{color:var(--danger)}
.field input,.field textarea,.govsa-text-input__field{
  width:100%;
  padding:12px 14px;
  font-family:var(--ff-ar);font-size:var(--fs-16);
  color:var(--text);background:#fff;
  border:1px solid var(--border-strong);border-radius:var(--r-md);
  transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);
  min-height:44px;
}
.field input:focus,.field textarea:focus,.govsa-text-input__field:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(27,131,84,.18);
}
.field textarea{resize:vertical;min-height:120px}

.touch__ok{grid-column:1/-1;color:var(--success);font-weight:var(--fw-600);font-size:var(--fs-14);background:var(--primary-50);padding:12px 16px;border-radius:var(--r-md)}

/* ---------- 16. FOOTER ---------------------------------------------------- */
.govsa-footer,.foot{
  background:var(--neutral-900);color:var(--neutral-200);
  border-top:4px solid var(--primary);
}
.govsa-footer__main,.foot__grid{
  max-width:var(--container);
  margin-inline:auto;
  padding:var(--space-16) var(--container-pad) var(--space-10);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-8);
}
@media (max-width:991px){.govsa-footer__main,.foot__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:539px){.govsa-footer__main,.foot__grid{grid-template-columns:1fr}}

.govsa-footer__col,.foot__col{display:flex;flex-direction:column;gap:var(--space-3)}
.govsa-footer__heading,.foot__h{
  font-size:var(--fs-16);font-weight:var(--fw-700);color:#fff;
  margin-bottom:var(--space-2);
  display:inline-flex;align-items:center;gap:var(--space-2);
}
.foot__h svg{color:var(--primary-300)}
.govsa-footer__links,.foot__links{display:flex;flex-direction:column;gap:var(--space-2)}
.govsa-footer__links a,.foot__links a{
  color:var(--neutral-300);font-size:var(--fs-14);text-decoration:none;
  transition:color var(--t-fast) var(--ease);
}
.govsa-footer__links a:hover,.foot__links a:hover{color:#fff}

.foot__line{font-size:var(--fs-14);color:var(--neutral-300);line-height:1.7}
.foot__line a{color:var(--primary-300);font-family:var(--ff-en);font-weight:var(--fw-500)}
.foot__line a:hover{color:#fff}

.foot__map{
  display:block;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--neutral-800);
  transition:border-color var(--t-base) var(--ease);
}
.foot__map:hover{border-color:var(--primary-400)}

.foot__times{font-size:var(--fs-13,13px);width:100%;color:var(--neutral-200)}
.foot__times th,.foot__times td{padding:8px 6px;text-align:start;font-weight:var(--fw-400);font-size:var(--fs-13,13px);border-bottom:1px solid var(--neutral-800)}
.foot__times thead th{font-weight:var(--fw-700);color:#fff;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em}
.foot__times tbody th{color:#fff;font-weight:var(--fw-600);white-space:nowrap}
.foot__times td{font-family:var(--ff-en);color:var(--primary-300);font-variant-numeric:tabular-nums}

.foot__social{display:flex;gap:var(--space-2);margin-top:var(--space-2)}
.foot__social a{
  width:36px;height:36px;display:inline-grid;place-items:center;
  border:1px solid var(--neutral-700);border-radius:var(--r-full);
  color:var(--neutral-300);transition:all var(--t-base) var(--ease);
}
.foot__social a:hover{background:var(--primary);border-color:var(--primary);color:#fff}

/* DGA identifier band */
.govsa-footer__identifier,.foot__identifier{
  background:var(--neutral-950);
  border-top:1px solid var(--neutral-800);
  padding:var(--space-6) 0;
}
.govsa-footer__identifier-inner{
  max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad);
  display:flex;flex-direction:column;gap:var(--space-2);
  font-size:var(--fs-13,13px);color:var(--neutral-300);line-height:1.7;
}
.govsa-footer__identifier-inner p{margin:0}
.govsa-footer__identifier-inner strong{color:#fff;font-weight:var(--fw-600);font-family:var(--ff-en);font-variant-numeric:tabular-nums}
.govsa-footer__identifier-inner [dir="ltr"]{display:inline-block;font-family:var(--ff-en);font-variant-numeric:tabular-nums}

.foot__organizer{
  background:var(--neutral-950);
  border-top:1px solid var(--neutral-800);
  padding:var(--space-8) 0;
}
.foot__organizer-inner{display:flex;flex-direction:column;gap:var(--space-3)}
.foot__h--org{color:#fff}
.foot__org-body{
  color:var(--neutral-300);
  font-size:var(--fs-14);
  line-height:1.8;
  max-width:90ch;
}
.foot__org-body strong{color:#fff;font-weight:var(--fw-600)}

.foot__legal{background:var(--neutral-950);border-top:1px solid var(--neutral-800);padding:var(--space-4) 0}
.foot__legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);font-size:var(--fs-13,13px)}
.foot__legal-links a{color:var(--neutral-300);transition:color var(--t-fast) var(--ease)}
.foot__legal-links a:hover{color:#fff;text-decoration:underline}

.foot__bottom{background:#000;color:var(--neutral-400);padding:var(--space-5) 0;font-size:var(--fs-13,13px)}
.foot__bottom-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}
.foot__org,.foot__sela{display:inline-flex;align-items:center;gap:var(--space-2)}
.foot__org-lbl{color:var(--neutral-500);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.06em}
.foot__org-mark{color:#fff;font-family:var(--ff-en);font-weight:var(--fw-700);letter-spacing:.04em}
.foot__copy{flex:1;text-align:center;min-width:240px}

/* ---------- 17. COOKIE BANNER (PDPL) ------------------------------------- */
.govsa-cookie,.cookie{
  position:fixed;inset:auto 0 0 0;z-index:120;
  background:#fff;border-top:3px solid var(--primary);
  box-shadow:var(--sh-xl);
  animation:cookieIn var(--t-slow) var(--ease);
}
@keyframes cookieIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
.govsa-cookie__inner,.cookie__inner{
  max-width:var(--container);margin-inline:auto;
  padding:var(--space-5) var(--container-pad);
  display:grid;grid-template-columns:1fr auto;gap:var(--space-5);align-items:center;
}
@media (max-width:767px){.govsa-cookie__inner,.cookie__inner{grid-template-columns:1fr}}
.govsa-cookie__title,.cookie__title{font-size:var(--fs-18);font-weight:var(--fw-700);color:var(--text);margin-bottom:var(--space-1)}
.govsa-cookie__desc,.cookie__desc{font-size:var(--fs-14);color:var(--text-muted);line-height:1.7;max-width:80ch}
.govsa-cookie__desc a,.cookie__desc a{color:var(--primary);text-decoration:underline}
.govsa-cookie__btns,.cookie__btns{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}

/* ---------- 18. TO TOP ---------------------------------------------------- */
.to-top{
  position:fixed;bottom:24px;inset-inline-end:24px;z-index:60;
  width:44px;height:44px;
  background:var(--primary);color:#fff;
  border-radius:var(--r-full);
  display:grid;place-items:center;
  font-size:var(--fs-20);
  box-shadow:var(--sh-md);
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease),background var(--t-base) var(--ease);
}
.to-top:hover{background:var(--primary-hover);color:#fff}
.to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}

/* ---------- 19. REVEAL ON SCROLL ----------------------------------------- */
.will-reveal{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.is-revealed{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .will-reveal{opacity:1!important;transform:none!important}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- 20. RESPONSIVE TWEAKS ---------------------------------------- */
@media (max-width:767px){
  :root{--section-y:48px}
  .govsa-stats__item,.stat{padding:var(--space-5) var(--space-4)}
  .govsa-sector-card,.sector{padding:var(--space-5) var(--space-4);min-height:auto}
  .govsa-countdown,.hero__countdown{flex-wrap:wrap}
  .govsa-form,.touch__form{grid-template-columns:1fr}
  .foot__bottom-grid{justify-content:center;text-align:center}
  .foot__copy{flex-basis:100%;order:3}
}

@media (max-width:479px){
  .govsa-button,.btn{padding:0 var(--space-5);font-size:var(--fs-14)}
  .govsa-hero__cta,.hero__cta{flex-direction:column;align-items:stretch}
  .govsa-hero__cta>*,.hero__cta>*{justify-content:center}
}

/* ---------- 21. PRINT ----------------------------------------------------- */
@media print{
  .govsa-identifier,.gov-bar,.govsa-header,.nav,.to-top,.govsa-cookie,.cookie,.govsa-nav-sheet,.nav__sheet{display:none!important}
  body{color:#000;background:#fff}
}

/* =============================================================================
   22. HERO — full-bleed photographic banner (overrides §8)
   Prince + Riyadh skyline · DGA-compliant dark feature zone within light layout
   ============================================================================= */
.govsa-hero{
  position:relative;
  isolation:isolate;
  background:#0a1f17;
  color:#fff;
  padding-top:clamp(40px,6vw,72px);
  padding-bottom:clamp(48px,7vw,88px);
  min-height:clamp(560px,72vh,720px);
  overflow:hidden;
  border-bottom:0;
}
.govsa-hero::before{background:none}
.govsa-hero__media{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.govsa-hero__gradient{
  position:absolute;inset:0;
  background:
    radial-gradient(70% 60% at 85% 20%, rgba(27,131,84,.22) 0%, transparent 55%),
    radial-gradient(60% 60% at 15% 80%, rgba(10,77,63,.30) 0%, transparent 55%),
    linear-gradient(160deg, #0a2419 0%, #08231a 40%, #051710 100%);
}
.govsa-hero__skyline{
  position:absolute;inset:auto 0 0 0;
  width:100%;height:60%;
  display:block;
}
.govsa-hero__grid-deco{
  position:absolute;inset:0;
  opacity:.7;
  mix-blend-mode:screen;
  pointer-events:none;
}
.govsa-hero__container{position:relative;z-index:2}

.govsa-hero__grid{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
@media (max-width:991px){.govsa-hero__grid{grid-template-columns:1fr}}

.govsa-hero__main{
  color:#fff;
  display:flex;flex-direction:column;gap:var(--space-4);
  animation:heroFadeUp .9s var(--ease) .1s both;
}
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:none}
}

.govsa-hero__patronage{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
  color:#d8f5e7;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-weight:var(--fw-500);
  padding:8px 16px;
}
.govsa-hero__patronage svg{color:#22d18a}

.govsa-hero__slogan{
  font-size:clamp(var(--fs-28),4.2vw,var(--fs-48));
  text-shadow:0 4px 28px rgba(0,0,0,.5);
  color:#fff;
  line-height:1.18;
}
/* English hero slogan — spans the full hero container so each phrase fits on one line at full hero scale */
.govsa-hero__slogan--full{
  margin-block-end:clamp(20px,3vw,40px);
}
html[lang="en"] .govsa-hero__slogan,
html[lang="en"] .hero__slogan{
  font-size:clamp(var(--fs-28), 4vw, var(--fs-48));
  line-height:1.2;
}
html[lang="en"] .govsa-hero__slogan-1,
html[lang="en"] .govsa-hero__slogan-2,
html[lang="en"] .hero__slogan-1,
html[lang="en"] .hero__slogan-2{
  white-space:nowrap;
}
.govsa-hero__slogan-1{color:#fff}
.govsa-hero__slogan-2{
  color:#22d18a;
  background:linear-gradient(90deg, #ffffff 0%, #22d18a 60%, #1B8354 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

.govsa-hero__lede{
  color:rgba(255,255,255,.86);
  font-size:var(--fs-16);
  line-height:1.7;
  max-width:56ch;
  text-shadow:0 2px 18px rgba(0,0,0,.4);
}

.govsa-hero__meta-item{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:none;
  padding:6px 10px;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease);
}
.govsa-hero__meta-item:hover{background:rgba(255,255,255,.13);border-color:rgba(34,209,138,.45);transform:translateY(-1px)}
.govsa-hero__meta-item svg{color:#22d18a}
.govsa-hero__meta-item strong{color:#fff}
.govsa-hero__meta-item small{color:rgba(255,255,255,.65)}

/* Ghost-light button — white outline on dark hero */
.govsa-button--ghost-light{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.55);
}
.govsa-button--ghost-light:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}

/* Larger primary on hero with subtle glow */
.govsa-hero .govsa-button--primary{
  box-shadow:0 10px 30px -8px rgba(27,131,84,.7),inset 0 1px 0 rgba(255,255,255,.18);
}
.govsa-hero .govsa-button--primary:hover{box-shadow:0 14px 36px -8px rgba(27,131,84,.9),inset 0 1px 0 rgba(255,255,255,.22)}

/* Countdown on dark hero */
.govsa-hero .govsa-countdown{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:var(--space-4);
}
.govsa-hero .govsa-countdown__cell{
  background:rgba(0,0,0,.28);
  border:1px solid rgba(34,209,138,.18);
}
.govsa-hero .govsa-countdown__num{color:#22d18a;text-shadow:0 0 22px rgba(34,209,138,.45)}
.govsa-hero .govsa-countdown__lbl{color:rgba(255,255,255,.72)}

/* Patron figure with real prince image */
.govsa-hero__patron{
  background:transparent;border:0;padding:0;box-shadow:none;gap:0;
  animation:heroFadeUp .9s var(--ease) .25s both;
}
.govsa-hero__patron-figure{
  margin:0;
  position:relative;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  background:transparent;
}
.govsa-hero__patron-figure::before{ content:none; }
.govsa-hero__patron-figure:hover{ transform:none; box-shadow:none; }
.govsa-hero__patron-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
}

/* Scroll indicator */
.govsa-hero__scroll{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  z-index:3;
  width:44px;height:48px;
  border:2px solid rgba(255,255,255,.45);border-radius:22px;
  display:grid;place-items:start center;padding-top:10px;
}
.govsa-hero__scroll-dot{
  width:3px;height:8px;background:#fff;border-radius:2px;
  animation:scrollDot 1.8s var(--ease) infinite;
}
@keyframes scrollDot{
  0%{transform:translateY(0);opacity:.9}
  60%{transform:translateY(14px);opacity:0}
  100%{transform:translateY(0);opacity:0}
}

/* =============================================================================
   23. PILLAR — photographic visual with hover zoom (overrides §11)
   ============================================================================= */
.govsa-pillar__visual--photo{
  margin:0;
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--r-xl);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--sh-md);
  background:#0a1f17;
}
.govsa-pillar__visual--photo::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
.govsa-pillar__visual--photo img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  transition:transform 1.2s var(--ease),filter var(--t-slow) var(--ease);
  filter:saturate(.95);
}
.govsa-pillar__visual--photo:hover img{transform:scale(1.06);filter:saturate(1.05)}
.govsa-pillar__tag{
  position:absolute;z-index:3;
  bottom:16px;inset-inline-start:16px;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;
  background:rgba(27,131,84,.92);
  color:#fff;
  font-size:var(--fs-13,13px);font-weight:var(--fw-600);
  border-radius:var(--r-full);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 16px -4px rgba(0,0,0,.4);
}
.govsa-pillar__tag::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#22d18a;
  box-shadow:0 0 8px #22d18a;
  animation:pulseDot 1.8s var(--ease) infinite;
}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}

/* =============================================================================
   24. STATS — decorative photographic bg + richer cards
   ============================================================================= */
.govsa-stats{position:relative;isolation:isolate;background:#fff}
.govsa-stats__deco{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.govsa-stats__deco img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:.06;
  filter:grayscale(.5);
}
.govsa-stats__deco::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,.85) 50%, #fff 100%);
}
.govsa-stats .container{position:relative;z-index:1}

.govsa-stats__item{position:relative}
.govsa-stats__item::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 50% 0%, rgba(27,131,84,.05), transparent 70%);
  pointer-events:none;opacity:0;
  transition:opacity var(--t-base) var(--ease);
}
.govsa-stats__item:hover::after{opacity:1}

/* =============================================================================
   25. UI/UX LIFE — micro-interactions, decorations, animations
   ============================================================================= */

/* Section header kicker glow on hover */
.govsa-section__kicker{transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease)}
.govsa-section__head:hover .govsa-section__kicker{background:var(--primary);color:#fff}

/* Link-arrow with animated underline */
.govsa-link-arrow{
  position:relative;padding-bottom:6px;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 2px;background-repeat:no-repeat;background-position:right 100%;
  transition:background-size var(--t-slow) var(--ease),color var(--t-base) var(--ease);
}
.govsa-link-arrow:hover{background-size:100% 2px}

/* Sector card animated glow */
.govsa-sector-card{position:relative;overflow:hidden}
.govsa-sector-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 120% at 100% 0%, rgba(27,131,84,.10), transparent 60%);
  opacity:0;transition:opacity var(--t-base) var(--ease);
  pointer-events:none;
}
.govsa-sector-card:hover::before{opacity:1}

/* Stagger reveal for grids */
.govsa-stats__grid .govsa-stats__item,
.govsa-sectors__grid .govsa-sector-card{
  --stagger:calc(var(--i,0) * 60ms);
  animation:itemIn .7s var(--ease) var(--stagger) both;
  animation-play-state:paused;
}
.is-revealed.govsa-stats__grid .govsa-stats__item,
.is-revealed.govsa-sectors__grid .govsa-sector-card,
.govsa-stats__grid.is-revealed .govsa-stats__item,
.govsa-sectors__grid.is-revealed .govsa-sector-card{animation-play-state:running}
@keyframes itemIn{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:none}
}

/* Speaker photo gentle reveal */
.govsa-speaker{position:relative;overflow:hidden}
.govsa-speaker::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(27,131,84,.0), rgba(27,131,84,.08));
  opacity:0;transition:opacity var(--t-base) var(--ease);
  pointer-events:none;
}
.govsa-speaker:hover::before{opacity:1}

/* Partners hover lift */
.govsa-partner{transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease),color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.govsa-partner:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}

/* Decorative section divider */
.govsa-divider{
  height:1px;background:linear-gradient(90deg, transparent, var(--border-strong), transparent);
  margin:0;
}

/* =============================================================================
   26. RESPONSIVE OVERRIDES FOR HERO
   ============================================================================= */
@media (max-width:991px){
  .govsa-hero{min-height:auto;padding-bottom:clamp(64px,10vw,120px)}
  .govsa-hero__patron-figure img{aspect-ratio:3/4;max-height:60vh}
  .govsa-hero__scroll{display:none}
}
@media (max-width:639px){
  .govsa-hero__cta{flex-direction:column;align-items:stretch}
  .govsa-hero__cta>*{justify-content:center}
  .govsa-hero__meta{flex-direction:column;align-items:stretch}
  .govsa-hero__meta-item{justify-content:flex-start}
  .govsa-hero .govsa-countdown{padding:var(--space-3)}
  .govsa-hero__patron-name{font-size:var(--fs-16)}
}

/* Honor reduced motion fully */
@media (prefers-reduced-motion:reduce){
  .govsa-hero__bg{animation:none}
  .govsa-pillar__tag::before{animation:none}
  .govsa-hero__scroll-dot{animation:none}
  .govsa-hero__main,.govsa-hero__patron{animation:none}
}

/* =============================================================================
   27. PILLARS — horizontal-scrolling 3-card row (Exhibition / Conference / Workshops)
   ============================================================================= */
.govsa-pillars-wrap{
  background:linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
  padding:var(--section-y) 0;
  position:relative;
}

.govsa-pillars-scroller{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:var(--space-5);
  margin-top:var(--space-8);
  scroll-snap-type:x mandatory;
  scroll-padding-inline:var(--container-pad);
  scrollbar-width:thin;
  scrollbar-color:var(--primary-300) var(--bg-muted);
}
.govsa-pillars-scroller::-webkit-scrollbar{height:8px}
.govsa-pillars-scroller::-webkit-scrollbar-track{background:var(--bg-muted);border-radius:var(--r-full)}
.govsa-pillars-scroller::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:var(--r-full)}

@media (max-width:991px){
  .govsa-pillars-scroller{
    grid-auto-columns:min(86%,420px);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:var(--space-3);
  }
}
@media (max-width:639px){
  .govsa-pillars-scroller{grid-auto-columns:min(92%,360px)}
}

.govsa-pillar-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:var(--sh-sm);
  scroll-snap-align:start;
  scroll-margin-top:calc(var(--header-h) + var(--identifier-h) + 16px);
  transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),border-color var(--t-base) var(--ease);
}
.govsa-pillar-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sh-lg);
  border-color:var(--primary-300);
}

.govsa-pillar-card__media{
  position:relative;
  aspect-ratio:16/10;
  margin:0;
  overflow:hidden;
  background:#0a1f17;
}
.govsa-pillar-card__media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  transition:transform 1.2s var(--ease),filter var(--t-slow) var(--ease);
  filter:saturate(.95);
}
.govsa-pillar-card:hover .govsa-pillar-card__media img{transform:scale(1.06);filter:saturate(1.05)}
.govsa-pillar-card__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 100%);
  pointer-events:none;
}

.govsa-pillar-card__badge{
  position:absolute;z-index:2;
  top:14px;inset-inline-end:14px;
  width:40px;height:40px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.92);
  color:var(--primary-700);
  border-radius:var(--r-full);
  font-family:var(--ff-en);
  font-size:var(--fs-14);
  font-weight:var(--fw-700);
  font-variant-numeric:tabular-nums;
  box-shadow:0 4px 12px -2px rgba(0,0,0,.25);
}
.govsa-pillar-card__tag{
  position:absolute;z-index:2;
  bottom:14px;inset-inline-start:14px;
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 13px;
  background:rgba(27,131,84,.92);
  color:#fff;
  font-size:var(--fs-13,13px);font-weight:var(--fw-600);
  border-radius:var(--r-full);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.govsa-pillar-card__tag::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#22d18a;
  box-shadow:0 0 8px #22d18a;
  animation:pulseDot 1.8s var(--ease) infinite;
}

.govsa-pillar-card__body{
  padding:var(--space-5) var(--space-5) var(--space-6);
  display:flex;flex-direction:column;gap:var(--space-3);
  flex:1;
}
.govsa-pillar-card__kicker{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-12);
  font-weight:var(--fw-700);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--primary);
  align-self:flex-start;
}
.govsa-pillar-card__kicker::before{
  content:"";width:18px;height:2px;background:var(--primary);border-radius:1px;
}
.govsa-pillar-card__title{
  font-size:var(--fs-20);
  font-weight:var(--fw-700);
  color:var(--text);
  line-height:1.3;
}
.govsa-pillar-card__body p{
  font-size:var(--fs-15,15px);
  line-height:1.75;
  color:var(--text-muted);
}
.govsa-pillar-card__body .govsa-link-arrow{margin-top:auto}

/* Read-more clamping for pillar text — first paragraph clamped, others hidden */
.govsa-pillar-card__body p:first-of-type{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
  overflow:hidden;
}
.govsa-pillar-card__body p:not(:first-of-type){
  display:none;
}
.govsa-pillar-card.is-expanded .govsa-pillar-card__body p:first-of-type{
  display:block;
  -webkit-line-clamp:unset;
  line-clamp:unset;
  overflow:visible;
}
.govsa-pillar-card.is-expanded .govsa-pillar-card__body p:not(:first-of-type){
  display:block;
}
.pillar-more{
  background:none;border:0;padding:8px 0;cursor:pointer;font:inherit;
  align-self:flex-start;
  margin-top:auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pillar-more .pillar-more__arrow{
  display:inline-block;
  transition:transform var(--t-base) var(--ease);
}
.pillar-more[aria-expanded="true"] .pillar-more__arrow{
  transform:rotate(90deg);
}
.pillar-more[hidden]{display:none!important}

/* Prev/next controls (mobile-friendly) */
.govsa-pillars-controls{
  display:flex;justify-content:center;gap:var(--space-3);
  margin-top:var(--space-6);
}
.govsa-pillars-controls__btn{
  width:44px;height:44px;
  background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-full);
  color:var(--text);font-size:var(--fs-20);line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),color var(--t-base) var(--ease);
}
.govsa-pillars-controls__btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
@media (min-width:992px){
  .govsa-pillars-controls{display:none}
}

/* Sectors panel — show content inline (no longer hidden behind click) */
.govsa-sector-panel{
  display:block;
}
.govsa-sector-panel[hidden]{display:none}

/* =============================================================================
   28. SECTORS — compact 4×2 tab grid + single content panel pattern
   Tabs swap the active panel. Section height: ~900px instead of ~2,680.
   ============================================================================= */
.govsa-sectors-shell{
  display:flex;flex-direction:column;gap:var(--space-6);
  margin-top:var(--space-8);
}

/* --- Compact tab grid -------------------------------------------------- */
.govsa-sectors-tabs{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--space-3);
}
@media (max-width:991px){.govsa-sectors-tabs{grid-template-columns:repeat(3, minmax(0,1fr))}}
@media (max-width:767px){.govsa-sectors-tabs{grid-template-columns:repeat(2, minmax(0,1fr));gap:var(--space-2)}}

.govsa-sector-tab{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:var(--space-4) var(--space-5);
  display:flex;
  align-items:center;
  gap:var(--space-3);
  text-align:start;
  cursor:pointer;
  transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease);
  position:relative;
  min-height:80px;
}
.govsa-sector-tab:hover{
  border-color:var(--primary-300);
  box-shadow:var(--sh-sm);
  transform:translateY(-1px);
}
.govsa-sector-tab.is-active,
.govsa-sector-tab[aria-selected="true"]{
  background:var(--primary-50);
  border-color:var(--primary);
  box-shadow:0 0 0 1px var(--primary);
}
.govsa-sector-tab.is-active::after,
.govsa-sector-tab[aria-selected="true"]::after{
  content:"";
  position:absolute;
  bottom:-9px;left:50%;transform:translateX(-50%);
  width:0;height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:9px solid var(--primary);
}
@media (max-width:991px){
  .govsa-sector-tab.is-active::after,
  .govsa-sector-tab[aria-selected="true"]::after{display:none}
}
.govsa-sector-tab:focus-visible{
  outline:3px solid var(--primary);
  outline-offset:2px;
  border-color:var(--primary);
}

.govsa-sector-tab__icon{
  display:inline-grid;
  place-items:center;
  width:44px;height:44px;
  border-radius:var(--r-md);
  background:var(--primary-50);
  color:var(--primary);
  flex-shrink:0;
  transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease);
}
.govsa-sector-tab__icon svg{width:24px;height:24px}
.govsa-sector-tab.is-active .govsa-sector-tab__icon,
.govsa-sector-tab[aria-selected="true"] .govsa-sector-tab__icon{
  background:var(--primary);
  color:#fff;
}

.govsa-sector-tab__title{
  font-size:var(--fs-16);
  font-weight:var(--fw-600);
  color:var(--text);
  line-height:1.35;
}
.govsa-sector-tab.is-active .govsa-sector-tab__title,
.govsa-sector-tab[aria-selected="true"] .govsa-sector-tab__title{
  color:var(--primary-700);
  font-weight:var(--fw-700);
}

/* --- Active content panel --------------------------------------------- */
.govsa-sectors-panels{position:relative}

.govsa-sector-pane{
  background:#fff;
  border:1px solid var(--primary-200);
  border-radius:var(--r-lg);
  padding:clamp(20px, 3vw, 40px);
  box-shadow:var(--sh-md);
  display:flex;flex-direction:column;gap:var(--space-5);
  animation:paneIn .35s var(--ease);
}
.govsa-sector-pane[hidden]{display:none}
@keyframes paneIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

.govsa-sector-pane__head{
  display:flex;
  align-items:center;
  gap:var(--space-3);
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--bg-muted);
}
.govsa-sector-pane__head::before{
  content:"";
  width:4px;height:28px;
  background:var(--primary);
  border-radius:2px;
}
.govsa-sector-pane__title{
  font-size:clamp(var(--fs-20), 2.2vw, var(--fs-24));
  font-weight:var(--fw-700);
  color:var(--primary-700);
  line-height:1.3;
}

.govsa-sector-pane__list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--space-2) var(--space-6);
}
@media (max-width:767px){
  .govsa-sector-pane__list{grid-template-columns:1fr}
}
.govsa-sector-pane__list li{
  display:flex;align-items:flex-start;gap:var(--space-3);
  padding:8px 0;
  font-size:var(--fs-16);
  color:var(--text);
  line-height:1.55;
  border-bottom:1px solid var(--bg-muted);
}
.govsa-sector-pane__list li::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--primary);
  margin-top:10px;
  flex-shrink:0;
  opacity:.85;
}
.govsa-sector-pane__list li span[lang="en"]{
  font-family:var(--ff-en);font-size:var(--fs-14);color:var(--text-muted);font-weight:var(--fw-500);
}

/* hide legacy scroller/block/controls if any are still in the DOM */
.govsa-sectors-scroller,
.govsa-sector-block,
.govsa-sectors-controls{display:none}

/* Hide the old legacy panel-based markup (replaced by govsa-sectors-grid) */
.govsa-sectors__grid,
.govsa-sector-card,
.govsa-sector-panel{display:none}




/* =============================================================================
   GSS BRAND THEME — Hybrid on top of DGA Platforms Code
   ----------------------------------------------------------------------------
   Light-default with strategic dark sections for visual rhythm.

   • DGA wrapper kept intact (national identifier strip, a11y toolbar,
     skip link, semantic landmarks, focus rings, EN/AR switcher).
   • GSS palette per Brand Guidelines pp. 06–08:
       Charcoal Black #1c1e1f, Deep Institutional Green #1f4d3a,
       Future Green #92AEA3, Medium Gray #6e7074,
       Supporting Lime #50b648, Supporting Teal #00b2ae
   • Fonts: Cairo (Arabic), Orbitron (English / numerals)
   • Dark sections: Hero, Speakers, Footer (signature moments)
   • Light sections: Stats, Overview, Pillars, Sectors, Sponsors, Contact
   ============================================================================= */

:root{
  /* — GSS palette — exact values from Brand Guidelines p.06 — */
  --gss-black:        #1c1e1f;   /* Charcoal Black */
  --gss-green:        #1f4d3a;   /* Deep Institutional Green */
  --gss-green-2:      #275f48;   /* derived: lighter hover */
  --gss-green-3:      #163a2c;   /* derived: darker active */
  --gss-green-soft:   #92AEA3;   /* Future Green (supporting muted sage) */
  --gss-gray:         #6e7074;   /* Medium Gray */
  --gss-lime:         #50b648;   /* Supporting bright lime (5% max) */
  --gss-lime-2:       #43a13c;   /* derived: lime hover */
  --gss-teal:         #00b2ae;   /* Supporting teal (5% max) */

  /* — Primary tokens map to GSS green — */
  --primary:          var(--gss-green);
  --primary-hover:    var(--gss-green-2);
  --primary-active:   var(--gss-green-3);
  --primary-50:       #ecf3ef;
  --primary-100:      #d6e6dd;
  --primary-200:      #b3d2c1;
  --primary-300:      #84b69b;
  --primary-400:      #4f9774;
  --primary-500:      var(--gss-green);
  --primary-600:      var(--gss-green-2);
  --primary-700:      var(--gss-green-3);
  --primary-800:      #0a2e22;
  --primary-900:      #061a13;

  /* — Default LIGHT theme — */
  --bg:               #ffffff;
  --bg-soft:          #f7faf8;
  --bg-muted:         #eef3ef;
  --surface:          #ffffff;
  --surface-2:        #f7faf8;
  --border:           rgba(31,77,58,.12);
  --border-strong:    rgba(31,77,58,.22);
  --text:             #0c1410;
  --text-muted:       #4a5158;
  --text-soft:        #6b7280;
  --link:             var(--gss-green);
  --focus:            var(--gss-lime);

  /* — Brand typography —
       AR body & headings: Cairo (GSS brand, with IBM Plex Sans Arabic fallback)
       EN body & headings: IBM Plex Sans (DGA primary)
       Display (countdown numerals, GSS wordmark, stat numbers): Orbitron */
  --ff-ar:  "Cairo","IBM Plex Sans Arabic","Tajawal","Segoe UI",Tahoma,sans-serif;
  --ff-en:  "IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --ff-display: "Orbitron","Cairo","IBM Plex Sans",sans-serif;
}

/* High-contrast mode (DGA a11y) */
:root[data-contrast="high"]{
  --text:#000;
  --text-muted:#000;
  --text-soft:#222;
  --border:#000;
  --border-strong:#000;
  --primary:#0a3422;
  --primary-hover:#06291a;
  --link:#0a3422;
  --bg:#fff;
  --bg-soft:#fff;
  --bg-muted:#fff;
  --surface:#fff;
}

/* Body baseline */
body{ background:var(--bg); color:var(--text); font-family:var(--ff-ar); }
.lang-en,[lang="en"]{ font-family:var(--ff-en); }
::selection{ background:var(--gss-lime); color:#0a1a08; }
/* Headings inherit body font (Cairo for AR, IBM Plex Sans for EN) */
h1,h2,h3,h4{ color:var(--text); letter-spacing:.2px; }

/* National identifier strip (DGA — stays dark by spec) */
.govsa-identifier,.gov-bar{
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* =============================================================================
   PRIMARY HEADER — light, sticky
   ============================================================================= */
.govsa-header,.nav{
  background:#fff;
  border-bottom:1px solid var(--border);
}
.govsa-header__brand-text strong{ color:var(--gss-green); font-family:var(--ff-display); letter-spacing:.5px; }
.govsa-header__brand-text span{ color:var(--text-muted); }
.govsa-header__brand-divider{ background:var(--border-strong); }
.govsa-header__nav-link,.nav__links a{ color:var(--text); }
.govsa-header__nav-link:hover,.nav__links a:hover{
  color:var(--gss-green); background:var(--primary-50);
}
.govsa-header__nav-link.is-active,.nav__links a.is-active{ color:var(--gss-green); font-weight:var(--fw-600); }
.govsa-header__nav-link.is-active::after,.nav__links a.is-active::after{ background:var(--gss-green); }
.govsa-header__burger span,.nav__burger span{ background:var(--text); }
.govsa-nav-sheet,.nav__sheet{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(8px);
}
.govsa-nav-sheet a,.nav__sheet a{ color:var(--text); border-bottom:1px solid var(--border); }

/* =============================================================================
   BUTTONS
   ============================================================================= */
.govsa-button--primary,.btn--primary{
  background:var(--gss-green); color:#fff; border-color:var(--gss-green);
  font-weight:700;
}
.govsa-button--primary:hover,.btn--primary:hover{
  background:var(--gss-green-2); border-color:var(--gss-green-2); color:#fff;
}
.govsa-button--secondary,.btn--secondary{
  background:#fff; color:var(--gss-green); border-color:var(--gss-green);
}
.govsa-button--secondary:hover,.btn--secondary:hover{
  background:var(--primary-50); color:var(--gss-green-2);
}
.govsa-button--tertiary,.btn--ghost{
  background:transparent; color:var(--text); border-color:var(--border-strong);
}
.govsa-button--tertiary:hover,.btn--ghost:hover{
  background:var(--bg-muted); color:var(--text);
}
.govsa-link-arrow,.link-arrow{ color:var(--gss-green); font-weight:600; }
.govsa-link-arrow:hover,.link-arrow:hover{ color:var(--gss-green-2); }

/* =============================================================================
   SECTION HEADS
   ============================================================================= */
.govsa-section__kicker,.section-kicker{
  background:var(--primary-50);
  color:var(--gss-green);
  border:1px solid var(--primary-100);
}
.govsa-section__title,.section-title{ color:var(--text); }
.section-title__accent{ color:var(--gss-green); }
.section-title__main{ color:var(--text); }
.govsa-section__title em,.section-title em{ color:var(--gss-green); }
.govsa-section__lede,.section-lede{ color:var(--text-muted); }

/* =============================================================================
   HERO — DARK signature moment
   Single photographic backdrop (Riyadh skyline crop, soft-edged) layered over
   a clean radial gradient. SVG decorations are removed so nothing stacks.
   ============================================================================= */
.govsa-hero,.hero{
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(31,77,58,.85) 0%, rgba(31,77,58,.15) 60%, transparent 80%),
    linear-gradient(180deg, #0c1410 0%, #14201a 70%, #14201a 100%);
  color:#fff;
  position:relative;
  isolation:isolate;
}

/* Drop the decorative SVG skyline + grid pattern — replaced by the real photo */
.govsa-hero__skyline,.govsa-hero__grid-deco{ display:none!important; }

/* GSS brand chevron pattern — base layer of every dark section */
.govsa-hero{
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(31,77,58,.78) 0%, rgba(31,77,58,.10) 60%, transparent 80%),
    linear-gradient(180deg, rgba(12,20,16,.85) 0%, rgba(20,32,26,.95) 70%, rgba(20,32,26,1) 100%),
    url("../assets/brand/gss-pattern.png") center / 540px auto repeat,
    #0c1410;
  /* DGA-standard section padding (40–72 px). Uses the official --section-y token. */
  padding-top:var(--section-y);
  padding-bottom:var(--section-y);
}
.govsa-hero__main,.hero__main{ gap:var(--space-5)!important; }   /* tighter element spacing */
.govsa-hero__meta,.hero__meta{ padding:var(--space-2) 0!important; }

/* Official KAFD Riyadh skyline (transparent PNG with green tech-lines baked in) */
.govsa-hero__media::before{
  content:"";
  position:absolute;
  inset-block-end:-5%;
  inset-inline:0;
  height:88%;
  background:url("../assets/brand/riyadh-skyline.png") center bottom / 95% auto no-repeat;
  opacity:.4;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  pointer-events:none;
  z-index:1;
}
/* Soft dark overlay — minimal, just enough for text legibility on the right side */
.govsa-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(12,20,16,.15) 0%, rgba(12,20,16,.5) 100%);
  pointer-events:none;
  z-index:1;
}
/* Make sure content sits on top */
.govsa-hero__container{ position:relative; z-index:2; }
.govsa-hero h1,.hero h1{ color:#fff; }
.govsa-hero__slogan-1,.hero__slogan-1{ color:#fff; }
.govsa-hero__slogan-2,.hero__slogan-2{ color:var(--gss-lime); }
.govsa-hero__lede,.hero__lede{
  color:rgba(255,255,255,.88);
  font-size:clamp(var(--fs-16), 1.25vw, var(--fs-18));
  line-height:1.85;
  max-width:60ch;
}
/* Patronage ribbon — white text for legibility, lime star + lime border
   keep brand accent. Higher contrast than same-hue text. */
.govsa-hero__patronage,.hero__patronage-tag{
  background:rgba(80,182,72,.10);
  color:#fff;
  border:1px solid rgba(80,182,72,.55);
  font-weight:var(--fw-600);
  letter-spacing:.01em;
}
/* The leading star icon stays lime */
.govsa-hero__patronage svg,.hero__patronage-tag svg{
  color:var(--gss-lime);
  filter:drop-shadow(0 0 6px rgba(80,182,72,.35));
}
.govsa-hero__meta-item,.hero__meta-item,.meta__item{ color:#fff; }
/* Date/location subtitle — readable secondary line under the date/venue strong */
.govsa-hero__meta-item small,.hero__meta-item small{
  color:rgba(255,255,255,.82);
  font-size:var(--fs-14);
  font-weight:var(--fw-500);
  letter-spacing:.01em;
  margin-top:4px;
}
.meta__icon{ color:var(--gss-lime); }
/* CTA inside hero — strengthened ghost button for readability on dark hero */
.govsa-hero .govsa-button--ghost-light,.hero .btn--ghost{
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1.5px solid rgba(255,255,255,.78);
  font-weight:var(--fw-600);
}
.govsa-hero .govsa-button--ghost-light:hover,.hero .btn--ghost:hover{
  background:rgba(255,255,255,.14);
  border-color:#fff;
  color:#fff;
}
.govsa-hero .govsa-button--ghost-light:focus-visible,.hero .btn--ghost:focus-visible{
  outline:3px solid var(--gss-lime);
  outline-offset:2px;
}

/* =============================================================================
   COUNTDOWN — Refined for the GSS hero
   • Days cell emphasized at ~1.5× (it's the headline metric for an event)
   • No heavy cell walls — subtle outline only
   • Thin dot connectors between cells (not solid borders)
   • Generous gap so it breathes
   ============================================================================= */
.govsa-countdown,.hero__countdown{
  display:inline-flex;
  align-items:flex-end;
  gap:var(--space-5);                         /* generous breathing room */
  padding:var(--space-4) var(--space-5);
  background:rgba(7,15,11,.42);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
}
.govsa-countdown__cell,.cd__cell{
  background:transparent;
  border:0;
  padding:0;
  min-width:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-2);
  position:relative;
}
/* Dot connector — sits between cells, RTL/LTR neutral */
.govsa-countdown__cell + .govsa-countdown__cell::before,
.cd__cell + .cd__cell::before{
  content:"";
  position:absolute;
  inset-inline-end:calc(-1 * var(--space-5) / 2 - 2px);
  top:48%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gss-lime);
  opacity:.55;
}
/* Days cell — emphasized */
.govsa-countdown__cell:first-child .govsa-countdown__num,
.cd__cell:first-child .cd__num{
  font-size:clamp(var(--fs-40),5.6vw,var(--fs-56));
  color:var(--gss-lime);
}
.govsa-countdown__cell:first-child .govsa-countdown__lbl,
.cd__cell:first-child .cd__lbl{
  color:var(--gss-lime);
  font-weight:var(--fw-600);
}
/* All numerals */
.govsa-countdown__num,.cd__num{
  color:#fff;
  font-family:var(--ff-display);
  font-size:clamp(var(--fs-28),3.4vw,var(--fs-40));
  font-weight:var(--fw-700);
  letter-spacing:.5px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.govsa-countdown__lbl,.cd__lbl{
  color:rgba(255,255,255,.60);
  font-size:var(--fs-12);
  font-weight:var(--fw-500);
  letter-spacing:.04em;
  text-transform:uppercase;
}
/* Mobile: stack-friendly */
@media (max-width:480px){
  .govsa-countdown,.hero__countdown{ gap:var(--space-3); padding:var(--space-3); }
  .govsa-countdown__cell + .govsa-countdown__cell::before,
  .cd__cell + .cd__cell::before{ inset-inline-end:calc(-1 * var(--space-3) / 2 - 2px); }
}

/* =============================================================================
   STATS — Light band with brand-tinted cards
   ============================================================================= */
.govsa-stats,.stats{
  background:linear-gradient(180deg, #f7faf8 0%, #ffffff 100%);
  position:relative;
}
.govsa-stats__item,.stat{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:0 4px 14px rgba(31,77,58,.08);
  transition:transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}
.govsa-stats__item:hover,.stat:hover{
  border-color:var(--gss-green);
  box-shadow:0 8px 22px rgba(31,77,58,.14);
  transform:translateY(-2px);
}
.govsa-stats__num,.stat__num{
  color:var(--gss-green); font-family:var(--ff-display);
}
.govsa-stats__lbl,.stat__lbl{ color:var(--text); font-weight:600; }
.govsa-stats__lbl em,.stat__lbl em{
  color:var(--text-soft); font-style:normal; display:block;
  font-weight:400; font-size:var(--fs-14); margin-top:4px;
}

/* =============================================================================
   OVERVIEW — Light card
   ============================================================================= */
.govsa-overview,.overview{ background:var(--bg-soft); }
.govsa-overview__card,.overview__card{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:var(--sh-sm);
}
.govsa-overview__card p,.overview__card p{ color:var(--text-muted); }
.govsa-overview__card strong,.overview__card strong{ color:var(--gss-green); }

/* =============================================================================
   PILLARS — Light cards, EQUAL HEIGHT, clamped text + read-more
   ============================================================================= */
.govsa-pillars-wrap{ background:#fff; }
.govsa-pillars-scroller{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
  align-items:stretch;
  overflow:visible;
}
@media (max-width:991px){
  .govsa-pillars-scroller{ grid-template-columns:1fr; }
}
.govsa-pillar-card{
  background:#fff!important;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  color:var(--text);
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.govsa-pillar-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); }
.govsa-pillar-card__media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bg-muted)!important;
}
.govsa-pillar-card__media img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.govsa-pillar-card__badge{
  background:var(--gss-green); color:#fff; font-family:var(--ff-display);
  border:0;
}
.govsa-pillar-card__tag{
  background:rgba(255,255,255,.95);
  color:var(--gss-green);
  border:1px solid var(--border);
  backdrop-filter:blur(4px);
}
.govsa-pillar-card__body{
  display:flex; flex-direction:column;
  flex:1 1 auto;
  padding:var(--space-6);
  gap:var(--space-3);
  color:var(--text);
}
.govsa-pillar-card__kicker{ color:var(--gss-green); font-weight:600; font-size:var(--fs-14); }
.govsa-pillar-card__title{ color:var(--text); }
.govsa-pillar-card__body p{
  color:var(--text-muted);
  margin:0;
}
.govsa-pillar-card__body .govsa-link-arrow,
.govsa-pillar-card__body .link-arrow{
  margin-top:auto;
  align-self:flex-start;
  padding-top:var(--space-3);
}
.govsa-pillars-controls{ display:none; }     /* hide carousel controls — grid handles layout */

/* =============================================================================
   SECTORS — Light, compact tab grid + 2-column bullet panel
   Subtle AI/tech imagery in the background, heavily faded
   ============================================================================= */
.govsa-sectors,.sectors{
  background:
    linear-gradient(180deg, rgba(247,250,248,.94) 0%, rgba(238,243,239,.96) 100%),
    url("../assets/brand/sectors-tech.jpg") center / cover no-repeat fixed;
  color:var(--text);
  position:relative;
}
.govsa-sectors .section-title__accent{ color:var(--gss-green); }
.govsa-sectors .section-title__main{ color:var(--text); }
.sectors__lede{
  color:var(--text-muted);
  text-align:center;
  max-width:65ch;
  margin:0 auto var(--space-8);
  font-size:var(--fs-16);
  line-height:1.7;
}

/* Override the legacy 2-column shell — go full width */
.govsa-sectors-shell{
  display:block;
}

/* 4-per-row grid of sector card-tabs (DGA pattern) */
.govsa-sectors-tabs{
  display:grid!important;
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
  gap:var(--space-4);
  margin-bottom:var(--space-8);
  background:transparent;
}
@media (max-width:991px){
  .govsa-sectors-tabs{ grid-template-columns:repeat(2, minmax(0,1fr))!important; }
}
@media (max-width:480px){
  .govsa-sectors-tabs{ grid-template-columns:1fr!important; }
}
.govsa-sector-tab{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text);
  border-radius:var(--r-md);
  padding:var(--space-4) var(--space-4);
  display:flex;
  align-items:center;
  gap:var(--space-3);
  text-align:start;
  font-family:var(--ff-ar);
  font-size:var(--fs-15, .94rem);
  font-weight:var(--fw-600);
  line-height:1.35;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease), border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.govsa-sector-tab:hover{
  border-color:var(--gss-green);
  background:var(--primary-50);
  color:var(--gss-green);
  box-shadow:0 6px 16px rgba(31,77,58,.10);
  transform:translateY(-2px);
}
.govsa-sector-tab:focus-visible{
  outline:3px solid var(--gss-green);
  outline-offset:2px;
}
/* Active state — DGA-spec compliant: light tinted background + dark text
   for WCAG AA compliance (11:1 contrast on primary-50 / primary-700) */
.govsa-sector-tab.is-active,
.govsa-sector-tab[aria-selected="true"]{
  background:var(--primary-50)!important;
  border-color:var(--gss-green);
  color:var(--gss-green);
  box-shadow:0 0 0 1px var(--gss-green) inset, 0 4px 10px rgba(31,77,58,.10);
  min-height:auto;
}
/* Force the active title to dark green (matches DGA selected pattern) */
.govsa-sector-tab.is-active .govsa-sector-tab__title,
.govsa-sector-tab[aria-selected="true"] .govsa-sector-tab__title{
  color:var(--gss-green);
  font-weight:var(--fw-700);
}
/* Inactive title — neutral text */
.govsa-sector-tab__title{
  color:var(--text);
  font-weight:var(--fw-600);
  font-size:var(--fs-14);
}

/* Icon — small, inline (no chip background that the older rule sets) */
.govsa-sector-tab__icon{
  width:18px; height:18px;
  background:transparent!important;
  color:var(--gss-green)!important;
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.govsa-sector-tab__icon svg{ width:18px; height:18px; }
.govsa-sector-tab.is-active .govsa-sector-tab__icon,
.govsa-sector-tab[aria-selected="true"] .govsa-sector-tab__icon{
  background:transparent!important;
  color:var(--gss-green)!important;
}

/* Remove the old ::after triangle — doesn't fit the wrapping pill layout */
.govsa-sector-tab.is-active::after,
.govsa-sector-tab[aria-selected="true"]::after,
.govsa-sector-tab::after{
  display:none!important;
}

/* Override the older tab min-height + radius (we now use rounded rectangle cards) */
.govsa-sector-tab{
  min-height:auto!important;
}

/* Active panel: compact with 2-column bullet grid */
.govsa-sectors-panels{
  position:relative;
}
.govsa-sector-pane{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  color:var(--text);
  padding:var(--space-8);
  box-shadow:0 4px 14px rgba(31,77,58,.06);
}
.govsa-sector-pane[hidden]{ display:none; }
.govsa-sector-pane__head{
  display:flex;
  align-items:center;
  gap:var(--space-3);
  margin-bottom:var(--space-5);
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--border);
}
.govsa-sector-pane__title{
  color:var(--gss-green);
  font-size:var(--fs-24);
  font-weight:var(--fw-700);
  line-height:var(--lh-tight);
  margin:0;
}
.govsa-sector-pane__list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:var(--space-3) var(--space-8);
  margin:0; padding:0;
  list-style:none;
}
@media (max-width:768px){
  .govsa-sector-pane{ padding:var(--space-6); }
  .govsa-sector-pane__list{ grid-template-columns:1fr; }
}
.govsa-sector-pane__list li{
  position:relative;
  color:var(--text);
  padding-inline-start:var(--space-5);
  font-size:var(--fs-16);
  line-height:1.6;
}
.govsa-sector-pane__list li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:.7em;
  width:6px; height:6px;
  background:var(--gss-green);
  border-radius:50%;
}

/* =============================================================================
   SPEAKERS — DARK signature moment with plexus network backdrop
   ============================================================================= */
.govsa-speakers,.speakers{
  background-color:#0c1410;          /* defensive solid fallback (auditor-readable) */
  background-image:
    linear-gradient(180deg, rgba(12,20,16,.92) 0%, rgba(20,32,26,.94) 100%),
    url("../assets/brand/speakers-plexus.jpg");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-blend-mode:normal;
  color:#fff;
  position:relative;
  isolation:isolate;
}
/* Visible GSS chevron pattern overlay on speakers section */
.govsa-speakers::before{
  content:"";
  position:absolute; inset:0;
  background:url("../assets/brand/gss-pattern.png") center / 540px auto repeat;
  opacity:.22;
  pointer-events:none;
  mix-blend-mode:lighten;
  z-index:0;
}
.govsa-speakers > *{ position:relative; z-index:1; }

/* GSS pattern strip — section divider used between major light/dark sections */
.govsa-pattern-strip{
  background:
    linear-gradient(90deg, #0c1410 0%, #14201a 50%, #0c1410 100%),
    url("../assets/brand/gss-pattern.png") center / 360px auto repeat;
  background-blend-mode:lighten;
  height:64px;
  border-block:1px solid rgba(80,182,72,.18);
}
.govsa-speakers .section-title,
.govsa-speakers h2{ color:#fff; }
.govsa-speakers .section-title__accent{ color:#fff; opacity:.45; }
.govsa-speakers .section-title__main{ color:#fff; }
.govsa-speakers .section-lede,
.speakers__note{ color:rgba(255,255,255,.72); }
.govsa-speakers .section-kicker{
  background:rgba(80,182,72,.12); color:var(--gss-lime); border-color:rgba(80,182,72,.35);
}
.govsa-speaker,.speaker{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  border-radius:var(--r-lg);
  padding:var(--space-6) var(--space-5) var(--space-5);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:var(--space-3);
}
.govsa-speaker__name,.speaker__name{ color:#fff; }
.govsa-speaker__role,.speaker__role{ color:rgba(255,255,255,.65); }

/* Speaker photo frame — circular gradient ring, centered portrait */
.speaker__frame,
.speaker__photo{
  width:140px; height:140px;
  border-radius:50%;
  background:
    linear-gradient(135deg, rgba(80,182,72,.18), rgba(31,77,58,.65));
  display:flex; align-items:center; justify-content:center;
  position:relative;
  overflow:hidden;
  padding:0;
  border:2px solid rgba(80,182,72,.30);
  box-shadow:0 8px 20px rgba(0,0,0,.30);
}
.speaker__frame img,
.speaker__photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}

/* — Visible carousel arrows — */
.govsa-speakers__row,.speakers__row{
  position:relative;
}
.govsa-speakers__arrow,.spk-arrow{
  position:relative;
  z-index:2;
  width:52px; height:52px;
  border-radius:50%;
  background:var(--gss-lime)!important;
  color:#08200a!important;
  border:2px solid var(--gss-lime);
  font-size:24px;
  font-weight:700;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(80,182,72,.35);
  transition:transform var(--t-base) var(--ease), background var(--t-base) var(--ease);
  cursor:pointer;
}
.govsa-speakers__arrow:hover,.spk-arrow:hover{
  background:#7ad596!important;
  transform:scale(1.08);
}
.govsa-speakers__arrow:disabled,.spk-arrow:disabled{
  background:rgba(255,255,255,.10)!important;
  color:rgba(255,255,255,.4)!important;
  border-color:rgba(255,255,255,.15);
  box-shadow:none;
  cursor:not-allowed;
}

/* =============================================================================
   SPONSORS — Brand-tinted backdrop with logo slots
   ============================================================================= */
.govsa-partners,.partners{
  background:
    linear-gradient(180deg, rgba(247,250,248,.88) 0%, rgba(238,243,239,.94) 100%),
    url("../assets/brand/brand-gradient.jpg") center / cover no-repeat;
}
.govsa-partners .section-title{ color:var(--text); }
.govsa-partners .section-title__accent{ color:var(--gss-green); }
.govsa-partners .section-kicker{
  background:var(--primary-50); color:var(--gss-green); border-color:var(--primary-100);
}

.govsa-partners__tba{ display:none; }   /* hide TBA card */

.govsa-partners__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--space-5);
  margin-top:var(--space-8);
}
@media (max-width:991px){
  .govsa-partners__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px){
  .govsa-partners__grid{ grid-template-columns:1fr; }
}
.govsa-partner-slot{
  aspect-ratio:5/3;
  display:flex; align-items:center; justify-content:center;
  background:#fff;
  border:1.5px dashed var(--border-strong);
  border-radius:var(--r-lg);
  color:var(--text-soft);
  font-size:var(--fs-14);
  text-align:center;
  padding:var(--space-4);
  transition:border-color var(--t-base) var(--ease), background var(--t-base) var(--ease);
}
.govsa-partner-slot:hover{
  border-color:var(--gss-green);
  background:var(--primary-50);
  color:var(--gss-green);
}
.govsa-partner-slot__inner{
  display:flex; flex-direction:column; align-items:center; gap:var(--space-2);
}
.govsa-partner-slot__icon{
  width:40px; height:40px;
  color:var(--gss-green);
  opacity:.5;
}

/* Filled sponsor slot — real logo in place of placeholder */
.govsa-partner-slot--filled{
  background:#fff;
  border:1px solid var(--border);
  padding:var(--space-6);
  box-shadow:0 2px 8px rgba(31,77,58,.04);
  transition:border-color var(--t-base) var(--ease),
             background var(--t-base) var(--ease),
             box-shadow var(--t-base) var(--ease),
             transform var(--t-base) var(--ease);
}
/* Sponsor logos — normalized by HEIGHT (the convention for sponsor grids).
   Each logo renders at the same vertical height (84px) so they share a common
   baseline; width follows each logo's native aspect ratio. The visual weight
   feels matched even when one logo is square and another is widescreen. */
.govsa-partner-slot--filled img{
  height:120px;
  width:auto;
  max-width:90%;
  object-fit:contain;
  object-position:center;
  transition:filter var(--t-base) var(--ease);
}
@media (max-width:480px){
  .govsa-partner-slot--filled img{ height:96px; }
}
/* Both SAMI and Elm are WHITE artwork on transparent — invert for light card */
.govsa-partner-slot--sami img,
.govsa-partner-slot--elm img{
  filter:invert(1);
}
.govsa-partner-slot--filled:hover{
  border-color:var(--gss-green);
  background:var(--primary-50);
  box-shadow:0 8px 22px rgba(31,77,58,.10);
  transform:translateY(-2px);
}

/* Compact 2-logo grid — center the pair */
.govsa-partners__grid--compact{
  grid-template-columns:repeat(2, minmax(0, 280px));
  justify-content:center;
  max-width:660px;
  margin-inline:auto;
}
@media (max-width:480px){
  .govsa-partners__grid--compact{
    grid-template-columns:1fr;
    max-width:340px;
  }
}

/* =============================================================================
   PATRON CARD — Prince name + title caption under the portrait
   ============================================================================= */
/* =============================================================================
   PATRON CREDIT BLOCK — typed credit lines in the hero main column
   ("Under the patronage of / His Royal Highness / Prince Name / Minister")
   ============================================================================= */
.hero__patron-credit{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  color:#fff;
  text-align:start;
}
.hero__patron-credit-pre{
  font-size:var(--fs-14);
  color:rgba(255,255,255,.82);
  line-height:1.5;
  font-weight:var(--fw-500);
}
.hero__patron-credit-name{
  font-size:clamp(var(--fs-18), 1.6vw, var(--fs-24));
  font-weight:var(--fw-700);
  color:#fff;
  line-height:1.35;
  letter-spacing:.2px;
}
.hero__patron-credit-title{
  font-size:var(--fs-14);
  color:var(--gss-lime);
  font-weight:var(--fw-600);
}

/* =============================================================================
   OVERVIEW PATRON CREDIT — light-theme version inside the overview card
   ============================================================================= */
.overview__patron-credit{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  padding-bottom:var(--space-5);
  margin-bottom:var(--space-5);
  border-bottom:1px solid var(--border);
  text-align:start;
}
.overview__patron-credit-pre{
  font-size:var(--fs-14);
  color:var(--text-muted);
  line-height:1.5;
  font-weight:var(--fw-500);
}
.overview__patron-credit-name{
  font-size:clamp(var(--fs-18), 1.6vw, var(--fs-24));
  font-weight:var(--fw-700);
  color:var(--text);
  line-height:1.35;
  letter-spacing:.2px;
}
.overview__patron-credit-title{
  font-size:var(--fs-14);
  color:var(--gss-green);
  font-weight:var(--fw-600);
}

/* Patron card — protocol-correct framed portrait with full body card */
.govsa-hero__patron{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  backdrop-filter:none;
  max-width:420px;
  margin-inline:auto;
  margin-block-start:-30px;
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
@media (max-width:991px){
  .govsa-hero__patron{ margin-block-start:0; }
}
/* Stacked credit + lede when placed inside the patron card */
.govsa-hero__patron > .hero__patron-credit{
  padding-top:var(--space-4);
  border-top:1px solid rgba(255,255,255,.10);
  text-align:center;
  align-items:center;
  gap:var(--space-1);
}
.govsa-hero__patron > .hero__patron-credit .hero__patron-credit-pre{
  font-size:var(--fs-13);
  line-height:1.5;
}
.govsa-hero__patron > .hero__patron-credit .hero__patron-credit-name{
  font-size:clamp(var(--fs-16), 1.4vw, var(--fs-20));
  margin-top:var(--space-2);
}
.govsa-hero__patron > .hero__patron-credit .hero__patron-credit-title{
  font-size:var(--fs-13);
  margin-top:var(--space-1);
}
.govsa-hero__patron > .govsa-hero__lede,
.govsa-hero__patron > .hero__lede{
  margin:0;
  padding-top:var(--space-3);
  border-top:1px solid rgba(255,255,255,.08);
  font-size:var(--fs-14);
  line-height:1.7;
  color:rgba(255,255,255,.78);
  text-align:start;
}
.govsa-hero__patron-figure{
  position:relative;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.govsa-hero__patron-figure{
  position:relative;
  margin:0;
  display:block;
  width:100%;
}
.govsa-hero__patron-figure img{
  width:100%;
  height:auto;
  display:block;
  box-sizing:border-box;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 45%, #000 55%, transparent 95%);
          mask-image:radial-gradient(ellipse 80% 90% at 50% 45%, #000 55%, transparent 95%);
}
.hero__patron-caption{
  margin-top:var(--space-4);
  padding-top:var(--space-4);
  border-top:1px solid rgba(255,255,255,.10);
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--space-1);
  line-height:1.4;
}
.hero__patron-kicker{
  font-size:var(--fs-12);
  color:rgba(255,255,255,.55);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.hero__patron-pre{
  font-size:var(--fs-14);
  color:rgba(255,255,255,.78);
  font-weight:var(--fw-500);
}
.hero__patron-name{
  font-size:clamp(var(--fs-16), 1.4vw, var(--fs-18));
  color:#fff;
  font-weight:var(--fw-700);
  margin-top:var(--space-1);
}
/* Calligraphy banner — Arabic Thuluth of the Prince's name */
.hero__patron-name-img{
  display:block;
  width:88%;
  max-width:380px;
  height:auto;
  margin:var(--space-2) auto var(--space-1);
  filter:brightness(1.05) contrast(1.05);
}
/* English-only secondary line — only render on en page */
.hero__patron-name-en{
  display:none;
  font-size:var(--fs-14);
  color:rgba(255,255,255,.78);
  font-weight:var(--fw-500);
  letter-spacing:.02em;
  margin-top:var(--space-1);
}
[lang="en"] .hero__patron-name-en{ display:block; }
.hero__patron-title{
  font-size:var(--fs-14);
  color:var(--gss-lime);
  font-weight:var(--fw-600);
}

/* =============================================================================
   CONTACT — Light form with faded Riyadh skyline ambient bg
   ============================================================================= */
.govsa-contact,.touch{
  background:
    linear-gradient(180deg, rgba(247,250,248,.96) 0%, rgba(238,243,239,.98) 100%),
    url("../assets/brand/riyadh-skyline-full.jpg") center bottom / cover no-repeat;
  color:var(--text);
}
.govsa-contact h2,.touch h2{ color:var(--text); }
.touch__contact li{ color:var(--text); }
.touch__contact strong{ color:var(--gss-green); }
.govsa-form,.touch__form{
  background:#fff!important;
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:var(--sh-sm);
}
.govsa-form input,.govsa-form textarea,.govsa-form select,
.govsa-input,.govsa-textarea{
  background:#fff;
  border:1px solid var(--border-strong);
  color:var(--text);
}
.govsa-form input::placeholder,.govsa-form textarea::placeholder{ color:var(--text-soft); }
.govsa-form input:focus,.govsa-form textarea:focus,.govsa-form select:focus{
  border-color:var(--gss-green);
  outline:3px solid rgba(31,77,58,.18);
  outline-offset:0;
}
.govsa-form label{ color:var(--text); font-weight:600; }

/* =============================================================================
   FOOTER — Minimal DGA-obligatory only (Dark)
   Hide: map, times table, quick links column, social column (moved to legal)
   Keep: DGA identifier disclaimers + legal links + copyright
   ============================================================================= */
.govsa-footer,.foot{
  background:var(--gss-black);
  color:rgba(255,255,255,.75);
  border-top:3px solid var(--gss-lime);
}
.govsa-footer a,.foot a{ color:rgba(255,255,255,.85); }
.govsa-footer a:hover,.foot a:hover{ color:var(--gss-lime); }

/* Hide the crowded grid of map/times/contact/links */
.govsa-footer__main,.foot__grid{ display:none; }

/* DGA identifier disclaimers — keep, restyle clean */
.govsa-footer__identifier,.foot__identifier{
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.10);
  padding:var(--space-6) var(--container-pad);
}
.govsa-footer__identifier-inner{
  max-width:var(--container);
  margin-inline:auto;
  display:flex; flex-wrap:wrap; gap:var(--space-4) var(--space-8);
  font-size:var(--fs-14);
  color:rgba(255,255,255,.65);
}
.govsa-footer__identifier-inner p{ margin:0; color:rgba(255,255,255,.65); }
.govsa-footer__identifier-inner strong{ color:#fff; }

/* Legal links row — keep DGA-required + sitemap */
.foot__legal{
  padding:var(--space-5) 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.foot__legal-links{
  display:flex; flex-wrap:wrap; gap:var(--space-4) var(--space-6);
  justify-content:center;
  font-size:var(--fs-14);
}
.foot__legal-links a{ color:rgba(255,255,255,.78); }
.foot__legal-links a:hover{ color:var(--gss-lime); }

/* Copyright */
.foot__bottom{
  padding:var(--space-5) 0;
}
.foot__bottom-grid{
  display:flex; align-items:center; justify-content:center;
  gap:var(--space-4);
}
.foot__copy{
  color:rgba(255,255,255,.6);
  font-size:var(--fs-13);
  text-align:center;
}

/* =============================================================================
   COOKIE BANNER — Light by default to match the new theme
   ============================================================================= */
.govsa-cookie,.cookie{
  background:rgba(255,255,255,.98)!important;
  border-top:1px solid var(--border);
  color:var(--text);
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
  backdrop-filter:blur(8px);
}
.govsa-cookie a,.cookie a{ color:var(--gss-green); }
.govsa-cookie__title,.cookie__title{ color:var(--text); }
.govsa-cookie__desc,.cookie__desc{ color:var(--text-muted); }

/* =============================================================================
   GENERIC OVERRIDES
   ============================================================================= */
.govsa-partners__card,.partners__card{
  background:#fff; border:1px solid var(--border);
}
.govsa-partner-logo,.partner-logo{ filter:none; opacity:1; }
.govsa-partner-logo:hover{ opacity:1; }

/* Times table — if it ever appears in a section other than footer */
.govsa-times,.times{ color:var(--text); }
.govsa-times thead th,.times thead th{
  background:var(--gss-green); color:#fff;
}
.govsa-times tbody td,.times tbody td{
  background:#fff; color:var(--text);
  border-color:var(--border);
}

/* Print */
@media print{
  body{ background:#fff; color:#000; }
  .govsa-footer,.foot,.govsa-cookie,.cookie{ display:none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .govsa-button:hover,.btn:hover,.govsa-pillar-card:hover{ transform:none; }
  .govsa-speakers__arrow:hover,.spk-arrow:hover{ transform:none; }
}

/* =============================================================================
   HEADER UTILITY CLUSTER — relocated a11y toolbar + lang switcher
   (Replaces the removed national identifier strip)
   ============================================================================= */
.govsa-header__utils,.nav__utils{
  display:inline-flex;
  align-items:center;
  gap:var(--space-1);
  margin-inline-start:auto;
  padding-inline-end:var(--space-3);
  border-inline-end:1px solid var(--border);
}

/* Trailing-edge primary CTA — sits at the end of the header per DGA pattern */
.govsa-header__cta{
  margin-inline-start:var(--space-3);
  white-space:nowrap;
  min-height:44px;            /* DGA touch target */
}
@media (max-width:1199px){
  .govsa-header__cta{ display:none; }   /* CTA available in mobile nav sheet */
}
@media (max-width:991px){
  .govsa-header__utils,.nav__utils{ display:none; }   /* burger handles small viewports */
}

/* Header tightening — prevent any wrap at common laptop widths */
.govsa-header__inner{ gap:var(--space-3); }
.govsa-header__nav-link,.nav__links a{
  padding-inline:var(--space-3)!important;
  font-size:var(--fs-14);
}
.govsa-header__nav,.nav__links{ gap:var(--space-1); }

/* Hide the brand tagline ("الأمن والسلامة العالمي") at narrower widths */
@media (max-width:1279px){
  .govsa-header__brand-text{ display:none; }
  .govsa-header__brand-divider{ display:none; }
}

/* A11y toolbar in the header — light theme buttons, DGA 44×44 touch targets */
.govsa-a11y--header{
  display:inline-flex; align-items:center; gap:var(--space-1);
}
.govsa-a11y--header .govsa-a11y__btn,
.govsa-a11y--header .a11y__btn{
  width:44px; height:44px;          /* DGA + WCAG 2.5.5 minimum */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:var(--text-muted);
  border:1px solid transparent;
  border-radius:var(--r-sm);
  font-size:var(--fs-14);
  font-weight:var(--fw-600);
  cursor:pointer;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.govsa-a11y--header .govsa-a11y__btn:hover,
.govsa-a11y--header .a11y__btn:hover{
  background:var(--primary-50);
  color:var(--gss-green);
  border-color:var(--primary-100);
}
.govsa-a11y--header .govsa-a11y__btn[aria-pressed="true"]{
  background:var(--gss-green);
  color:#fff;
  border-color:var(--gss-green);
}
.govsa-a11y--header .govsa-a11y__btn:focus-visible{
  outline:3px solid var(--gss-lime);
  outline-offset:2px;
}

/* =============================================================================
   FOOTER A11Y TOOLBAR — relocated from header per DGA convention
   ============================================================================= */
.foot__a11y{
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:var(--space-4) 0;
}
.foot__a11y-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-4);
  flex-wrap:wrap;
}
.foot__a11y-label{
  color:rgba(255,255,255,.7);
  font-size:var(--fs-14);
  font-weight:var(--fw-600);
}
.govsa-a11y--footer{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
}
.govsa-a11y--footer .govsa-a11y__btn,
.govsa-a11y--footer .a11y__btn{
  width:44px; height:44px;          /* DGA + WCAG 2.5.5 minimum */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-sm);
  font-size:var(--fs-14);
  font-weight:var(--fw-600);
  cursor:pointer;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.govsa-a11y--footer .govsa-a11y__btn:hover,
.govsa-a11y--footer .a11y__btn:hover{
  background:rgba(80,182,72,.16);
  color:var(--gss-lime);
  border-color:rgba(80,182,72,.55);
}
.govsa-a11y--footer .govsa-a11y__btn[aria-pressed="true"]{
  background:var(--gss-lime);
  color:#08200a;
  border-color:var(--gss-lime);
}
.govsa-a11y--footer .govsa-a11y__btn:focus-visible{
  outline:3px solid var(--gss-lime);
  outline-offset:2px;
}

/* Language switcher in the header — DGA 44×44 minimum */
.govsa-header__lang,.nav__lang{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:44px;                       /* DGA + WCAG 2.5.5 minimum */
  padding:0 var(--space-3);
  border:1px solid var(--border-strong);
  border-radius:var(--r-sm);
  background:transparent;
  color:var(--text);
  font-size:var(--fs-14);
  font-weight:var(--fw-600);
  text-decoration:none;
  letter-spacing:.04em;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.govsa-header__lang:hover,.nav__lang:hover{
  background:var(--gss-green);
  color:#fff;
  border-color:var(--gss-green);
}
.govsa-header__lang:focus-visible,.nav__lang:focus-visible{
  outline:3px solid var(--gss-lime);
  outline-offset:2px;
}

/* To-top button */
.to-top{
  background:var(--gss-green);
  color:#fff;
  transition:background var(--t-base) var(--ease), transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.to-top:hover{
  background:var(--gss-green-2);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(31,77,58,.30);
}

/* =============================================================================
   HOVER POLISH — DGA permits subtle transitions and focus/hover states.
   All animations respect prefers-reduced-motion.
   ============================================================================= */

/* — Primary buttons: lift + shadow ripple — */
.govsa-button,.btn{
  transition:
    background var(--t-base) var(--ease),
    color var(--t-base) var(--ease),
    border-color var(--t-base) var(--ease),
    transform var(--t-base) var(--ease),
    box-shadow var(--t-base) var(--ease);
  position:relative;
  overflow:hidden;
}
.govsa-button--primary:hover,.btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(31,77,58,.22);
}
.govsa-button--primary:active,.btn--primary:active{
  transform:translateY(0);
  box-shadow:0 4px 10px rgba(31,77,58,.20);
}
.govsa-button--secondary:hover,.btn--secondary:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(31,77,58,.10);
}
.govsa-button--tertiary:hover,.btn--ghost:hover{
  transform:translateY(-1px);
  box-shadow:var(--sh-sm);
}

/* — Logical arrow slide (LTR/RTL aware) — */
.govsa-button__arrow,.link-arrow span{
  display:inline-flex;
  transition:transform var(--t-base) var(--ease);
}
[dir="rtl"] .govsa-button:hover .govsa-button__arrow,
[dir="rtl"] .govsa-link-arrow:hover span,
[dir="rtl"] .link-arrow:hover span{
  transform:translateX(-4px);
}
[dir="ltr"] .govsa-button:hover .govsa-button__arrow,
[dir="ltr"] .govsa-link-arrow:hover span,
[dir="ltr"] .link-arrow:hover span{
  transform:translateX(4px);
}

/* — Cards (stats, overview, pillar, sectors, speakers, partners) lift on hover — */
.govsa-pillar-card,
.govsa-stats__item,.stat,
.govsa-overview__card,.overview__card,
.govsa-sector-pane,
.govsa-speaker,.speaker,
.govsa-partner-slot{
  transition:
    background var(--t-base) var(--ease),
    border-color var(--t-base) var(--ease),
    transform var(--t-base) var(--ease),
    box-shadow var(--t-base) var(--ease);
}

/* — Nav links: subtle underline scale + color — */
.govsa-header__nav-link,.nav__links a{
  position:relative;
}
.govsa-header__nav-link::after,.nav__links a::after{
  content:"";
  position:absolute;
  inset-inline:14px;
  bottom:4px;
  height:2px;
  background:var(--gss-green);
  border-radius:1px;
  transform:scaleX(0);
  transform-origin:start;
  transition:transform var(--t-base) var(--ease);
}
[dir="rtl"] .govsa-header__nav-link::after,
[dir="rtl"] .nav__links a::after{ transform-origin:right; }
[dir="ltr"] .govsa-header__nav-link::after,
[dir="ltr"] .nav__links a::after{ transform-origin:left; }
.govsa-header__nav-link:hover::after,
.nav__links a:hover::after,
.govsa-header__nav-link.is-active::after,
.nav__links a.is-active::after{
  transform:scaleX(1);
}
/* CTA in the nav: don't show the underline */
.govsa-header__nav-link.govsa-button::after,
.nav__links a.btn::after{ display:none; }

/* — Hero CTA arrow: the character used per language already points the right way.
       RTL pages embed ← (back-to-left = forward in RTL); LTR pages embed →. No rotation needed. */

/* — Social icons in footer: tilt + brand color on hover — */
.foot__social a,.govsa-footer__social a,
.touch__contact a,.govsa-contact a{
  transition:transform var(--t-base) var(--ease), color var(--t-base) var(--ease), background var(--t-base) var(--ease);
}
.foot__social a:hover,.govsa-footer__social a:hover{
  transform:translateY(-2px) scale(1.06);
}

/* — Sector pane fade animation on switch — */
.govsa-sector-pane{
  animation:gssPaneIn .35s var(--ease);
}
@keyframes gssPaneIn{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:none; }
}

/* — Countdown digit pulse on update — */
.govsa-countdown__num.is-tick,.cd__num.is-tick{
  animation:gssTick .4s var(--ease);
}
@keyframes gssTick{
  0%{ transform:scale(1); }
  40%{ transform:scale(1.10); color:var(--gss-lime); }
  100%{ transform:scale(1); }
}

/* — Cookie banner button micro-interaction — */
.govsa-cookie button,.cookie button{
  transition:transform var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.govsa-cookie button:hover,.cookie button:hover{
  transform:translateY(-1px);
}

/* — Image zoom inside pillar media on card hover — */
.govsa-pillar-card__media{ overflow:hidden; }
.govsa-pillar-card__media img{
  transition:transform .5s var(--ease);
}
.govsa-pillar-card:hover .govsa-pillar-card__media img{
  transform:scale(1.04);
}

/* =============================================================================
   DGA-spec ICON HOVER POLISH
   Per DGA Platforms Code interaction guidelines: subtle, never bouncy.
   • Icons: gentle color shift + minor scale (max 1.06)
   • Always respect prefers-reduced-motion
   • No rotation on functional icons (only decorative)
   ============================================================================= */
.govsa-sector-tab__icon,
.meta__icon,
.govsa-section__kicker svg,
.foot__legal-links a svg,
.govsa-cookie svg{
  transition:color var(--t-base) var(--ease),
             transform var(--t-base) var(--ease),
             opacity var(--t-base) var(--ease);
}

/* Sector tab icon — coloured chip + soft scale on hover */
.govsa-sector-tab{ overflow:visible!important; }
.govsa-sector-tab .govsa-sector-tab__icon{
  width:36px; height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--primary-50);
  color:var(--gss-green);
  border-radius:var(--r-sm);
  flex:none;
  transition:background var(--t-base) var(--ease),
             color var(--t-base) var(--ease),
             transform var(--t-base) var(--ease);
}
.govsa-sector-tab .govsa-sector-tab__icon svg{ width:18px; height:18px; }
.govsa-sector-tab:hover .govsa-sector-tab__icon{
  background:var(--gss-green);
  color:#fff;
  transform:scale(1.06);
}
.govsa-sector-tab.is-active .govsa-sector-tab__icon,
.govsa-sector-tab[aria-selected="true"] .govsa-sector-tab__icon{
  background:var(--gss-green)!important;
  color:#fff!important;
}

/* Hero meta icons (calendar + location) — subtle pulse on hover */
.govsa-hero__meta-item:hover .meta__icon,
.hero__meta-item:hover .meta__icon{
  transform:scale(1.08);
  color:var(--gss-lime);
}

/* Section kicker SVG — gentle highlight */
.govsa-section__kicker:hover svg,
.section-kicker:hover svg{
  transform:scale(1.08);
}

/* Pillar card link arrow — slide already handled; add icon glow */
.govsa-link-arrow:hover,.link-arrow:hover{
  text-shadow:0 0 0 currentColor;
}

/* — Respect reduced motion strictly — */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .govsa-pillar-card:hover,
  .govsa-stats__item:hover,
  .govsa-sector-tab:hover,
  .govsa-sector-tab:hover .govsa-sector-tab__icon,
  .govsa-button:hover,
  .meta__icon{ transform:none!important; }
}
