:root{
  --ink:#07111f;
  --ink2:#132238;
  --muted:#5f6f86;
  --muted2:#8190a5;
  --paper:#ffffff;
  --paper2:#f7f9fc;
  --line:#dfe6ef;
  --line2:#cbd6e4;
  --navy:#071a33;
  --navy2:#102a4c;
  --cyan:#0b79b7;
  --teal:#0f8f83;
  --gold:#b8892f;
  --green:#0f7f5f;
  --bg:#eef4fb;
  --violet:#234a7c;
  --coral:#a9652d;
  --shadow:0 14px 35px rgba(7,17,31,.09);
  --shadow2:0 26px 80px rgba(7,17,31,.16);
  --radius:18px;
  --radius2:28px;
  --radius3:38px;
  --max:1180px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; text-rendering:optimizeLegibility; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  line-height:1.7;
  background:
    radial-gradient(900px 520px at 0% -12%, rgba(11,121,183,.10), transparent 58%),
    radial-gradient(850px 540px at 100% 0%, rgba(15,143,131,.08), transparent 60%),
    linear-gradient(180deg, #f8fbff 0%, #edf4fb 48%, #f8fafc 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.45;
  background-image:
    linear-gradient(rgba(7,26,51,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,26,51,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(#000 0%, transparent 72%);
}

a{ color:inherit; text-decoration:none; }
p{ margin:0 0 1rem; color:var(--muted); }
ul,ol{ padding-inline-start:1.2rem; }

.container{ width:min(var(--max), calc(100% - 2rem)); margin-inline:auto; position:relative; }
.svgSprite{ position:absolute; width:0; height:0; overflow:hidden; }
.icon{ width:20px; height:20px; display:inline-block; vertical-align:middle; color:currentColor; }
.icon--brand{ width:18px; height:18px; }

.skip{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip:focus{
  left:1rem; top:1rem; width:auto; height:auto;
  padding:.7rem 1rem;
  background:var(--paper);
  border:1px solid var(--line2);
  border-radius:999px;
  box-shadow:var(--shadow2);
  z-index:1000;
}

.header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(248,251,255,.76);
  backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid rgba(203,214,228,.72);
}
.header__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.95rem 0; position:relative; }
.brand__link{ display:flex; align-items:center; gap:.72rem; min-width:max-content; }
.brand__mark{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  color:#fff;
  box-shadow:0 16px 34px rgba(11,121,183,.18);
}
.brand__name{ font-weight:950; letter-spacing:-.45px; font-size:1.02rem; color:var(--navy); }

.navToggle{
  display:none;
  align-items:center;
  gap:.6rem;
  padding:.65rem .95rem;
  border-radius:999px;
  border:1px solid var(--line2);
  background:var(--paper);
  box-shadow:var(--shadow);
  color:var(--ink);
}
.navToggle__icon{ width:18px;height:12px;display:inline-block;position:relative; }
.navToggle__icon::before,.navToggle__icon::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:2px;
  background:var(--ink);
}
.navToggle__icon::before{ top:0; box-shadow:0 5px 0 var(--ink); }
.navToggle__icon::after{ bottom:0; }
.navToggle__label{ font-weight:850; color:var(--ink2); }

.nav{
  display:flex;
  gap:.2rem;
  align-items:center;
  padding:.32rem;
  border:1px solid rgba(203,214,228,.78);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 25px rgba(7,17,31,.06);
}
.nav__link{
  padding:.58rem .92rem;
  border-radius:999px;
  font-weight:800;
  color:var(--muted);
  transition:transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.nav__link:hover{
  transform:translateY(-1px);
  color:var(--navy);
  background:#f0f7ff;
}
.nav__link--cta{
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  box-shadow:0 14px 30px rgba(11,121,183,.18);
}
.nav__link--cta:hover{ color:#fff; background:linear-gradient(135deg, var(--navy2), var(--cyan)); }

.lang__switch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.55rem .95rem;
  border:1px solid var(--line2);
  border-radius:999px;
  color:var(--navy);
  background:var(--paper);
  box-shadow:var(--shadow);
  font-weight:900;
}
.lang__switch:hover{ border-color:rgba(14,165,233,.42); color:var(--cyan); }

.main{ padding:1.35rem 0 4rem; }
.card{
  background:var(--paper);
  border:1px solid rgba(223,230,239,.9);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
}
.card--pad{ padding:1.65rem; }

.breadcrumbs{ margin:0 0 1.05rem; }
.breadcrumbs__list{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:.58rem; }
.breadcrumbs__link{ color:var(--muted); font-weight:850; font-size:.92rem; }
.breadcrumbs__link:hover{ color:var(--cyan); }
.breadcrumbs__item::after{ content:"/"; margin-inline-start:.58rem; color:var(--muted2); }
.breadcrumbs__item:last-child::after{ content:""; }

.hero{
  position:relative;
  overflow:hidden;
  border-radius:52px;
  padding:clamp(1.5rem, 3.2vw, 3.2rem);
  color:#fff;
  background:
    radial-gradient(760px 420px at 8% 10%, rgba(11,121,183,.28), transparent 66%),
    radial-gradient(700px 420px at 98% 2%, rgba(15,143,131,.18), transparent 62%),
    linear-gradient(135deg, #040b19 0%, #071a33 46%, #082f49 100%);
  box-shadow:var(--shadow2);
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:54px 54px, 54px 54px;
  opacity:.42;
  z-index:-2;
}
.hero::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  inset-inline-end:-95px;
  bottom:-120px;
  border-radius:50%;
  background:rgba(11,121,183,.12);
  filter:blur(1px);
  z-index:-1;
}
.hero__layout{
  display:grid;
  grid-template-columns:minmax(0, 1.06fr) minmax(330px, .94fr);
  gap:clamp(1.5rem, 4vw, 3.2rem);
  align-items:center;
}
.hero__copy{ max-width:720px; }
.hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  padding:.42rem .78rem;
  border-radius:999px;
  color:#dff8ff;
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
  font-size:.91rem;
}
.hero h1{
  margin:1rem 0 .82rem;
  max-width:12ch;
  color:#fff;
  font-size:clamp(2.65rem, 6.8vw, 6.25rem);
  line-height:.92;
  letter-spacing:-3.2px;
  text-wrap:balance;
}
.hero__sub{
  max-width:64ch;
  margin:0 0 1.45rem;
  color:#d4e4f4;
  font-size:clamp(1.02rem, 1.4vw, 1.18rem);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.82rem; margin-bottom:1.45rem; }
.hero__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.72rem;
  max-width:650px;
}
.heroStat{
  padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  backdrop-filter:blur(8px);
}
.heroStat__value{ display:block; color:#fff; font-size:1.22rem; font-weight:950; line-height:1.2; }
.heroStat__label{ display:block; color:#bcd0e4; font-size:.86rem; font-weight:750; }

.hero__media{ position:relative; min-height:500px; }
.certVisual{
  position:relative;
  min-height:500px;
  perspective:1100px;
}
.certVisual__orbit{
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  transform:rotate(-9deg) scale(.92);
}
.certVisual__orbit::before,
.certVisual__orbit::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px dashed rgba(255,255,255,.14);
}
.certVisual__orbit::before{ inset:42px; }
.certVisual__orbit::after{ inset:82px; }
.certVisual__orbit span{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  padding:.48rem .7rem;
  border-radius:999px;
  color:#fff;
  font-size:.78rem;
  font-weight:950;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
.certVisual__orbit span:nth-child(1){ top:18px; inset-inline-start:28%; }
.certVisual__orbit span:nth-child(2){ top:48%; inset-inline-end:-10px; }
.certVisual__orbit span:nth-child(3){ bottom:36px; inset-inline-start:2px; }
.certVisual__card{
  position:absolute;
  inset:34px 30px auto;
  min-height:430px;
  border-radius:36px;
  padding:1.35rem;
  background:rgba(255,255,255,.92);
  color:var(--ink);
  box-shadow:0 34px 90px rgba(0,0,0,.32);
  overflow:hidden;
  transform:rotateY(-9deg) rotateX(3deg) rotateZ(-1deg);
  transform-origin:center;
  border:1px solid rgba(255,255,255,.58);
}
.certVisual__card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(360px 240px at 0% 0%, rgba(11,121,183,.12), transparent 70%),
    radial-gradient(320px 220px at 100% 18%, rgba(15,143,131,.10), transparent 72%);
}
.certVisual__top,.certVisual__body,.certVisual__footer,.certVisual__stamp{ position:relative; }
.certVisual__top{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.certVisual__label{ color:var(--muted); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.certVisual__iso{ color:var(--navy); font-size:1.62rem; font-weight:950; letter-spacing:-.8px; }
.certVisual__seal{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  box-shadow:0 18px 35px rgba(11,121,183,.18);
}
.certVisual__body{
  display:grid;
  gap:.72rem;
  margin:1.25rem 0;
}
.certVisual__row{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:.75rem;
  align-items:center;
  padding:.8rem;
  border-radius:18px;
  border:1px solid rgba(231,237,245,.9);
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(7,17,31,.055);
}
.certVisual__check{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg, var(--green), var(--teal));
}
.certVisual__rowText{
  display:block;
  margin-bottom:.42rem;
  color:var(--navy);
  font-size:.98rem;
  line-height:1.2;
}
.certVisual__line{
  height:10px;
  border-radius:99px;
  background:#e2e9f2;
  margin:.18rem 0;
}
.certVisual__line:nth-child(2){ width:72%; }
.certVisual__line:nth-child(3){ width:48%; background:#f1f5f9; }
.certVisual__footer{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin-top:1rem;
}
.certVisual__stamp{
  width:118px;
  height:118px;
  display:grid;
  place-items:center;
  border:2px solid rgba(11,121,183,.32);
  border-radius:50%;
  color:var(--cyan);
  font-weight:950;
  letter-spacing:.08em;
  text-align:center;
  transform:rotate(-9deg);
}
.certVisual__mini{
  position:absolute;
  inset-inline-start:0;
  bottom:18px;
  width:min(270px, 60%);
  padding:1.05rem;
  border-radius:28px;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  box-shadow:0 24px 55px rgba(11,121,183,.22);
}
.certVisual__mini strong{ display:block; font-size:1.4rem; line-height:1; }
.certVisual__mini span{ color:#e8fffb; font-weight:800; font-size:.9rem; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.82rem 1.15rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:#fff;
  color:var(--navy);
  box-shadow:0 16px 35px rgba(0,0,0,.14);
  font-weight:950;
  letter-spacing:-.2px;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 20px 45px rgba(0,0,0,.18); }
.btn--primary{
  border-color:transparent;
  color:#061326;
  background:linear-gradient(135deg, #ffffff, #dff7ff 48%, #ecfff9);
}
.hero .btn:not(.btn--primary){ color:#fff; background:rgba(255,255,255,.1); }

.processRail{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin:-2rem auto 2rem;
  padding:0 1.1rem;
  z-index:3;
}
.processStep{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.9rem;
  align-items:start;
  padding:1.05rem;
  border:1px solid rgba(223,230,239,.9);
  border-radius:26px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 45px rgba(7,17,31,.1);
  backdrop-filter:blur(14px);
}
.processStep__key{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  font-weight:950;
}
.processStep h2{
  margin:0 0 .16rem;
  color:var(--navy);
  font-size:1rem;
  line-height:1.25;
  letter-spacing:-.35px;
}
.processStep p{ margin:0; font-size:.92rem; }

.directoryHero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(280px, .65fr);
  gap:1.4rem;
  align-items:stretch;
  overflow:hidden;
  padding:clamp(1.4rem, 3vw, 2.4rem);
  border-radius:42px;
  background:
    radial-gradient(620px 300px at 0% 0%, rgba(11,121,183,.10), transparent 70%),
    radial-gradient(520px 260px at 100% 0%, rgba(15,143,131,.08), transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.88));
  border:1px solid rgba(223,230,239,.9);
  box-shadow:var(--shadow);
}
.directoryHero::after{
  content:"";
  position:absolute;
  inset:auto -80px -140px auto;
  width:320px;
  height:320px;
  border-radius:50%;
  border:42px solid rgba(14,165,233,.08);
}
.directoryHero__copy,.directoryHero__panel{ position:relative; z-index:1; }
.directoryHero h1{
  margin:.15rem 0 .7rem;
  max-width:12ch;
  color:var(--navy);
  font-size:clamp(2.45rem, 5.4vw, 5.2rem);
  line-height:.95;
  letter-spacing:-2.8px;
}
.directoryHero__sub{
  max-width:68ch;
  margin:0;
  color:var(--muted);
  font-size:1.08rem;
}
.directoryHero__panel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:220px;
  padding:1.25rem;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(260px 180px at 100% 0%, rgba(15,143,131,.22), transparent 72%),
    linear-gradient(135deg, var(--navy), var(--navy2));
  box-shadow:0 24px 60px rgba(7,26,51,.18);
}
.directoryHero__count{
  display:block;
  font-size:clamp(3.2rem, 7vw, 6rem);
  line-height:.9;
  font-weight:950;
  letter-spacing:-4px;
}
.directoryHero__label{
  display:block;
  max-width:16ch;
  color:#dff7ff;
  font-weight:900;
  line-height:1.25;
}
.directoryHero__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.2rem;
}
.directoryHero__chips span{
  padding:.42rem .64rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}

/* Certificate detail pages: keep header compact (no oversized hero). */
.directoryHero--certificate{
  padding:clamp(1.05rem, 2.2vw, 1.75rem);
  border-radius:34px;
}
.directoryHero--certificate h1{
  font-size:clamp(2.05rem, 3.6vw, 3.35rem);
  letter-spacing:-2px;
  max-width:18ch;
}
.directoryHero--certificate .directoryHero__sub{
  font-size:1rem;
  max-width:74ch;
}
.directoryHero--certificate .directoryHero__panel{
  min-height:180px;
  padding:1.05rem;
  border-radius:26px;
}
.directoryHero--certificate .directoryHero__count{
  font-size:clamp(2.7rem, 5.6vw, 4.6rem);
  letter-spacing:-3px;
}
.directoryHero--certificate .directoryHero__chips{ margin-top:.85rem; }
.directoryHero--certificate .directoryHero__chips span{ padding:.36rem .58rem; font-size:.75rem; }
.directoryHero--industries .directoryHero__panel{
  background:
    radial-gradient(260px 180px at 100% 0%, rgba(15,143,131,.24), transparent 72%),
    linear-gradient(135deg, var(--navy), #0d3a4f);
}
.directoryHero--topics .directoryHero__panel{
  background:
    radial-gradient(260px 180px at 100% 0%, rgba(11,121,183,.22), transparent 72%),
    linear-gradient(135deg, var(--navy), #16375d);
}

.directorySection{ margin-top:2.3rem; }
.directorySection__head{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(280px, .55fr);
  gap:1.4rem;
  align-items:end;
  margin-bottom:1.1rem;
}
.directorySection__head p{ margin:0; }
.certificateIndex{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}
.certificateCard{
  position:relative;
  min-height:285px;
  overflow:hidden;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.certificateCard::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(280px 190px at 100% 0%, rgba(14,165,233,.14), transparent 70%),
    linear-gradient(180deg, transparent, rgba(11,121,183,.05));
}
.certificateCard::after{
  content:"";
  position:absolute;
  inset:auto -44px -58px auto;
  width:150px;
  height:150px;
  border-radius:50%;
  border:28px solid rgba(22,184,166,.08);
}
.certificateCard:hover{
  transform:translateY(-5px);
  border-color:rgba(11,121,183,.32);
  box-shadow:0 24px 60px rgba(7,17,31,.13);
}
.certificateCard a{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:285px;
  padding:1.35rem;
}
.certificateCard__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:1.35rem;
}
.certificateCard__code{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.5rem .75rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  font-weight:950;
}
.certificateCard__code .icon{ width:16px; height:16px; }
.certificateCard__arrow{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--navy);
  background:#eef6ff;
  font-weight:950;
}
.certificateCard h3{
  margin:0 0 .65rem;
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.15;
  letter-spacing:-.65px;
}
.certificateCard p{ margin:0; }
.certificateCard__cta{
  margin-top:auto;
  padding-top:1.2rem;
  color:var(--cyan);
  font-weight:950;
}

.industryIndex{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}
.industryCard{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:1.25rem;
  border:1px solid rgba(223,230,239,.95);
  border-radius:32px;
  background:
    radial-gradient(260px 160px at 100% 0%, rgba(22,184,166,.12), transparent 72%),
    linear-gradient(180deg, #fff, #f8fbff);
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.industryCard::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg, var(--cyan), var(--teal));
}
.industryCard:hover{
  transform:translateY(-4px);
  border-color:rgba(22,184,166,.36);
  box-shadow:0 22px 58px rgba(7,17,31,.12);
}
.industryCard__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin-bottom:1.1rem;
  border-radius:18px;
  color:var(--cyan);
  background:#eef7fc;
  border:1px solid #d8e9f3;
  box-shadow:none;
}
.industryCard h3{
  margin:0 0 .55rem;
  color:var(--navy);
  font-size:1.25rem;
  line-height:1.18;
  letter-spacing:-.55px;
}
.industryCard p{ margin:0 0 1rem; }
.industryCard__standards{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:auto;
}
.industryCard__standards span,
.industryCard__standards a.industryBadge{
  display:inline-flex;
  padding:.4rem .58rem;
  border-radius:999px;
  color:var(--navy);
  background:#eef8ff;
  border:1px solid #dbeaf6;
  font-size:.82rem;
  font-weight:950;
}
.industryCard__standards a.industryBadge{
  text-decoration:none;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.industryCard__standards a.industryBadge:hover{
  transform:translateY(-1px);
  background:#e8f5ff;
  border-color:#cfe3f4;
}

.topicIndex{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}
.topicCard{
  position:relative;
  overflow:hidden;
  min-height:265px;
  padding:1.2rem;
  border-radius:30px;
  background:
    radial-gradient(220px 150px at 100% 0%, rgba(11,121,183,.10), transparent 72%),
    linear-gradient(180deg, #fff, #f9fbff);
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.topicCard:nth-child(3n+2){
  background:
    radial-gradient(220px 150px at 100% 0%, rgba(15,143,131,.10), transparent 72%),
    linear-gradient(180deg, #fff, #f9fbff);
}
.topicCard:nth-child(3n){
  background:
    radial-gradient(220px 150px at 100% 0%, rgba(35,74,124,.08), transparent 72%),
    linear-gradient(180deg, #fff, #f9fbff);
}
.topicCard:hover{
  transform:translateY(-4px);
  border-color:rgba(11,121,183,.32);
  box-shadow:0 22px 58px rgba(7,17,31,.12);
}
.topicCard__number{
  position:absolute;
  inset-inline-end:1rem;
  top:.8rem;
  color:#d6deeb;
  font-size:2.5rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-2px;
}
.topicCard__icon{
  position:relative;
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin: .2rem 0 1.1rem;
  border-radius:22px;
  color:var(--cyan);
  background:#eef7fc;
  border:1px solid #d8e9f3;
}
.topicCard__icon .icon{ width:30px; height:30px; }
.topicCard h3{
  position:relative;
  margin:0 0 .55rem;
  color:var(--navy);
  font-size:1.18rem;
  line-height:1.18;
  letter-spacing:-.5px;
}
.topicCard p{ position:relative; margin:0; }

.topicJourney{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.2rem;
}
.topicJourney__step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.85rem;
  align-items:start;
  padding:1.05rem;
  border-radius:26px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(223,230,239,.9);
  box-shadow:var(--shadow);
}
.topicJourney__step > span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  font-weight:950;
}
.topicJourney__step h2{
  margin:0 0 .16rem;
  color:var(--navy);
  font-size:1rem;
  line-height:1.25;
  letter-spacing:-.35px;
}
.topicJourney__step p{ margin:0; font-size:.92rem; }

.requestHero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1.4rem;
  align-items:end;
  overflow:hidden;
  padding:clamp(1.4rem, 3vw, 2.35rem);
  border-radius:42px;
  background:
    radial-gradient(560px 280px at 0% 0%, rgba(11,121,183,.10), transparent 72%),
    radial-gradient(520px 260px at 100% 0%, rgba(15,143,131,.08), transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(248,251,255,.9));
  border:1px solid rgba(223,230,239,.92);
  box-shadow:var(--shadow);
}
.requestHero h1{
  margin:.15rem 0 .7rem;
  max-width:13ch;
  color:var(--navy);
  font-size:clamp(2.35rem, 5vw, 4.85rem);
  line-height:.96;
  letter-spacing:-2.4px;
}
.requestHero__sub{
  max-width:72ch;
  margin:0;
  color:var(--muted);
  font-size:1.08rem;
}
.requestHero__badge{
  min-width:190px;
  padding:1rem;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(210px 160px at 100% 0%, rgba(15,143,131,.22), transparent 72%),
    linear-gradient(135deg, var(--navy), var(--navy2));
  box-shadow:0 22px 54px rgba(7,26,51,.18);
}
.requestHero__badge .icon{ width:24px; height:24px; margin-bottom:.7rem; color:#b9e7ff; }
.requestHero__badge span{
  display:block;
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  line-height:.9;
  font-weight:950;
  letter-spacing:-3px;
}
.requestHero__badge strong{
  display:block;
  max-width:14ch;
  color:#e3f8ff;
  line-height:1.2;
}

.requestLayout{
  display:grid;
  grid-template-columns:minmax(280px, .72fr) minmax(0, 1.28fr);
  gap:1rem;
  align-items:start;
  margin-top:1.2rem;
}
.requestAside{
  position:sticky;
  top:92px;
  padding:1.35rem;
  border-radius:34px;
  color:#dbe9f7;
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(15,143,131,.18), transparent 70%),
    linear-gradient(135deg, #041022, var(--navy), #0b2a4a);
  box-shadow:var(--shadow);
}
.requestAside h2{
  margin:0 0 1rem;
  color:#fff;
  font-size:1.45rem;
  line-height:1.1;
  letter-spacing:-.7px;
}
.requestSteps{
  display:grid;
  gap:.75rem;
}
.requestSteps article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:start;
  padding:.85rem;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
}
.requestSteps span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--cyan);
  background:#e8f5fb;
  font-weight:950;
}
.requestSteps span .icon{ width:18px; height:18px; }
.requestSteps h3{
  margin:0 0 .1rem;
  color:#fff;
  font-size:1rem;
}
.requestSteps p{ margin:0; color:#c7d7e8; font-size:.92rem; }
.scopeChecklist{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.14);
}
.scopeChecklist h3{ margin:0 0 .55rem; color:#fff; font-size:1rem; }
.scopeChecklist ul{ margin:0; padding-inline-start:1.05rem; color:#dbe9f7; }
.scopeChecklist li{ margin:.35rem 0; }

.requestFormPanel{
  padding:1rem;
  border-radius:34px;
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(14,165,233,.1), transparent 72%),
    #fff;
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
}
.requestFormPanel form.card{
  margin:0 !important;
  padding:0 !important;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.requestFormPanel .btn--primary{
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  box-shadow:0 18px 42px rgba(11,121,183,.18);
}
.requestAlert{ margin-bottom:1rem; }
.requestAlert--error{
  border-color:rgba(169,101,45,.30);
  background:#fff7f4;
}

.isoInfo{
  margin-top:2rem;
  padding:clamp(1.55rem, 3vw, 2.35rem);
  border-radius:38px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.92));
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
}
.isoInfo__sub{ margin: .65rem 0 0; max-width: 75ch; }
.isoInfo__grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:1rem;
  margin-top:1.2rem;
}
.isoInfo__card{
  grid-column: span 6;
  padding:1.25rem;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(223,230,239,.92);
}
.isoInfo__card ul{ margin:.6rem 0 0; }
.isoInfo__card li{ margin:.35rem 0; color:var(--muted); }
.isoInfo__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:var(--cyan);
  background:#eef7fc;
  border:1px solid #d8e9f3;
  margin-bottom:.9rem;
}
.isoInfo__card h3{ margin:0 0 .4rem; color:var(--navy); letter-spacing:-.4px; }
.isoTimeline{ margin:.7rem 0 0; padding:0; list-style:none; display:grid; gap:.7rem; }
.isoTimeline__item{
  display:grid;
  grid-template-columns: auto 1fr;
  gap:.75rem;
  align-items:start;
  padding:.8rem;
  border-radius:22px;
  background:#f7fbff;
  border:1px solid #e3eef7;
}
.isoTimeline__year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:.4rem .6rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
  font-weight:950;
}
.isoTimeline__text{ color:var(--muted); }

.updates{ margin-top:2rem; }
.updates__sub{ margin:.65rem 0 0; max-width:75ch; }
.updates__list{
  display:grid;
  gap:.85rem;
  margin-top:1.1rem;
}
.updateItem{
  display:grid;
  grid-template-columns: 210px 1fr;
  gap:1rem;
  padding:1.15rem;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(223,230,239,.92);
  box-shadow:0 12px 30px rgba(7,17,31,.06);
}
.updateItem__meta{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.updateItem__icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:var(--cyan);
  background:#eef7fc;
  border:1px solid #d8e9f3;
}
.updateItem__date{
  font-weight:950;
  color:var(--navy);
  letter-spacing:-.3px;
}
.updateItem__title{ margin:0 0 .25rem; color:var(--navy); letter-spacing:-.45px; }
.updateItem__title a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.updateItem__summary{ margin:0; color:var(--muted); }

.directoryGuide{
  display:grid;
  grid-template-columns:1fr;
  margin-top:1.2rem;
}
.directoryGuide__card{
  overflow:hidden;
  padding:clamp(1.35rem, 2.6vw, 2rem);
  border-radius:34px;
  color:#dbe9f7;
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(15,143,131,.18), transparent 70%),
    linear-gradient(135deg, #041022, var(--navy), #0b2a4a);
  box-shadow:var(--shadow);
}
.directoryGuide__card h2{
  margin:0 0 .45rem;
  color:#fff;
  font-size:clamp(1.45rem, 2.4vw, 2.2rem);
  line-height:1.1;
  letter-spacing:-.8px;
}
.directoryGuide__card p{ color:#dbe9f7; }
.directoryGuide__links{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.75rem;
  margin:1.1rem 0 0;
  padding:0;
  list-style:none;
}
.directoryGuide__links a{
  display:block;
  min-height:128px;
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
}
.directoryGuide__links strong{
  display:block;
  color:#fff;
  margin-bottom:.3rem;
}
.directoryGuide__links span{
  display:block;
  color:#c7d7e8;
  font-size:.94rem;
}
.directoryGuide__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.2rem;
}

.section{ margin-top:1.4rem; }
.sectionBlock{ margin-top:2.25rem; }
.sectionIntro{
  display:flex;
  justify-content:space-between;
  gap:1.25rem;
  align-items:end;
  margin:2.2rem 0 1rem;
}
.sectionEyebrow{ margin:0 0 .35rem; color:var(--cyan); font-size:.82rem; font-weight:950; text-transform:uppercase; letter-spacing:.14em; }
.section__title{ margin:0; color:var(--navy); font-size:clamp(1.45rem, 2.4vw, 2.35rem); line-height:1.15; letter-spacing:-1px; }

.featureGrid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; margin-top:1.1rem; align-items:stretch; }
.feature{
  position:relative;
  overflow:hidden;
  min-height:250px;
  height:100%;
  padding:1.45rem;
  border-radius:34px;
  background:
    radial-gradient(280px 160px at 100% 0%, rgba(14,165,233,.12), transparent 70%),
    var(--paper);
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
}
.feature:nth-child(2){
  background:
    radial-gradient(300px 170px at 100% 0%, rgba(11,121,183,.08), transparent 70%),
    var(--paper);
}
.feature:nth-child(3){
  background:
    radial-gradient(300px 170px at 100% 0%, rgba(22,184,166,.14), transparent 70%),
    var(--paper);
}
.feature::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:100%;
  width:7px;
  background:linear-gradient(180deg, var(--cyan), var(--teal));
}
.feature__top{ display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.feature__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:var(--cyan);
  background:#eef7fc;
  border:1px solid #d8e9f3;
  box-shadow:none;
}
.feature__number{ color:#d5dde8; font-weight:950; font-size:1.18rem; }
.feature__title{ margin:0 0 .45rem; color:var(--navy); font-size:1.16rem; line-height:1.32; font-weight:950; letter-spacing:-.45px; }
.feature__text{ margin:0; color:var(--muted); }

.grid,.resourceGrid{ display:grid; grid-template-columns:repeat(12, 1fr); gap:1rem; }
.grid__6,.resourceCard{ grid-column:span 6; }
.grid__12{ grid-column:span 12; }
.resourceCard{
  position:relative;
  overflow:hidden;
  padding:1.5rem;
  border-radius:36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.9));
  border:1px solid rgba(223,230,239,.95);
  box-shadow:var(--shadow);
}
.resourceCard::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  inset-inline-end:-70px;
  top:-80px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(11,121,183,.10), rgba(15,143,131,.08));
}
.resourceCard > *{ position:relative; }
.resourceCard__title{ margin:0 0 .3rem; color:var(--navy); font-size:1.35rem; line-height:1.25; letter-spacing:-.55px; }
.resourceCard__desc{ margin:0 0 1rem; color:var(--muted); }
.linkStack,.list{ margin:0; padding:0; list-style:none; display:grid; gap:.74rem; }
.resourceLink,.list__item{
  display:block;
  padding:1rem;
  border:1px solid #e4ebf4;
  border-radius:23px;
  background:rgba(255,255,255,.9);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.resourceLink:hover,.list__item:hover{
  transform:translateY(-3px);
  border-color:rgba(14,165,233,.38);
  box-shadow:0 14px 32px rgba(7,17,31,.08);
}
.resourceLink__title,.list__title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  margin:0 0 .18rem;
  color:var(--navy);
  font-weight:950;
  letter-spacing:-.3px;
}
.resourceLink__title::after{
  content:"→";
  flex:0 0 auto;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg, var(--navy), var(--cyan));
}
.resourceLink__desc,.list__desc{ margin:0; color:var(--muted); font-size:.96rem; }

.insightPanel{
  margin-top:2rem;
  padding:clamp(1.55rem, 3vw, 2.35rem);
  border-radius:38px;
  color:#dce9f6;
  background:
    radial-gradient(520px 240px at 100% 0%, rgba(15,143,131,.18), transparent 70%),
    linear-gradient(135deg, #041022, var(--navy), #0b2a4a);
  box-shadow:var(--shadow);
}
.insightPanel p,.insightPanel li{ color:#dce9f6; }
.insightPanel .section__title,.insightPanel h2,.insightPanel h3{ color:#fff; }
.insightPanel strong{ color:#fff; }
.prose{ color:var(--muted); }
.prose h2,.prose h3{ color:var(--navy); letter-spacing:-.45px; margin:.2rem 0 .65rem; }
.prose h2{ font-size:1.55rem; }
.prose ul,.prose ol{ margin:.25rem 0 1rem; }
.prose li{ margin:.35rem 0; }
.prose strong{ color:var(--ink); }
.prose a{ color:var(--cyan); font-weight:950; text-decoration:underline; text-underline-offset:3px; }

/* Ensure readable emphasis on dark insight panels (prose overrides come later). */
.insightPanel.prose strong{ color:#fff; }

.directoryHero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:.85rem;
}
.directoryHero__actions .btn{ box-shadow:none; }
.directoryHero__actions .btn--primary{ box-shadow:0 18px 40px rgba(11,121,183,.16); }

.certificateCta{ margin-top:1.4rem; }
.certificateCta__card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.2rem;
  padding:1.5rem;
  border-radius:34px;
  border:1px solid rgba(223,230,239,.9);
  background:
    radial-gradient(520px 260px at 0% 0%, rgba(11,121,183,.10), transparent 70%),
    radial-gradient(420px 240px at 100% 0%, rgba(15,143,131,.08), transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,255,.90));
  box-shadow:var(--shadow);
}
.certificateCta__title{
  margin:0 0 .35rem;
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.15;
  letter-spacing:-.6px;
}
.certificateCta__sub{ margin:0; max-width:70ch; }
.certificateCta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
  justify-content:flex-end;
  min-width:max-content;
}

@media (max-width: 860px){
  .certificateCta__card{ flex-direction:column; }
  .certificateCta__actions{ justify-content:flex-start; min-width:0; }
}

form{ display:grid; gap:.85rem; }
label{ font-weight:900; color:var(--ink); }
input, textarea, select{
  width:100%;
  padding:.9rem 1rem;
  border-radius:17px;
  border:1px solid var(--line2);
  background:#fff;
  color:var(--ink);
  outline:none;
  box-shadow:0 8px 22px rgba(7,17,31,.05);
}
input:focus, textarea:focus, select:focus{
  border-color:rgba(14,165,233,.55);
  box-shadow:0 0 0 5px rgba(14,165,233,.13), 0 8px 22px rgba(7,17,31,.05);
}
textarea{ min-height:150px; resize:vertical; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.note{ font-size:.95rem; color:var(--muted2); }

/* Phone input group (country code + local number) */
.phoneGroup{
  display:flex;
  gap:.6rem;
  align-items:center;
}
.phoneGroup select{
  flex:0 0 160px;
  width:auto;
  padding:.82rem .85rem;
}
.phoneGroup input{
  flex:1 1 auto;
  width:auto;
  min-width:0;
}

/* intl-tel-input: keep it consistent with our inputs */
.iti{ width:100%; }
.iti__tel-input{ width:100%; }
.iti--allow-dropdown input, .iti--allow-dropdown input[type=tel]{
  padding-left:52px; /* room for flag */
}

/* Phone numbers should be LTR even on Arabic pages */
[dir="rtl"] .iti input,
[dir="rtl"] .telInput{
  direction:ltr;
  text-align:left;
}
.alert{
  padding:1rem 1.05rem;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}

.footer{
  border-top:1px solid var(--line);
  padding:2.5rem 0;
  background:#fff;
}
.footer__row{ display:grid; grid-template-columns:2fr 1fr; gap:1.8rem; }
.footer__title{ color:var(--navy); font-weight:950; margin-bottom:.65rem; letter-spacing:-.25px; }
.footer__text{ margin:0; max-width:65ch; }
.footer__links{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.45rem; }
.footer__links a{ color:var(--muted); font-weight:850; }
.footer__links a:hover{ color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }
.footer__bottom{ margin-top:1.6rem; color:var(--muted2); }

@media (max-width: 1080px){
  .hero__layout{ grid-template-columns:1fr; }
  .hero__media,.certVisual{ min-height:430px; }
  .certVisual__card{ inset:12px 24px auto; }
  .certificateIndex{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .industryIndex{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .topicIndex{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .topicJourney{ grid-template-columns:1fr; }
  .requestLayout{ grid-template-columns:1fr; }
  .requestAside{ position:relative; top:auto; }
  .directoryGuide__links{ grid-template-columns:1fr; }
  .isoInfo__card{ grid-column: span 12; }
  .updateItem{ grid-template-columns: 1fr; }
}
@media (max-width: 980px){
  .navToggle{ display:inline-flex; }
  .nav{
    position:absolute;
    inset-inline:0;
    top:74px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:.55rem;
    border-radius:24px;
    background:#fff;
    box-shadow:var(--shadow2);
  }
  .nav[data-open="true"]{ display:flex; }
  .nav__link{ border-radius:16px; padding:.78rem .95rem; }
  .featureGrid{ grid-template-columns:1fr; }
  .feature:nth-child(2),.feature:nth-child(3){ margin-top:0; }
  .grid__6,.resourceCard{ grid-column:span 12; }
  .sectionIntro{ align-items:start; flex-direction:column; }
  .directoryHero,.directorySection__head{ grid-template-columns:1fr; }
  .requestHero{ grid-template-columns:1fr; }
  .processRail{ grid-template-columns:1fr; margin:-1rem auto 1.4rem; padding:0; }
  .footer__row{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .container{ width:min(var(--max), calc(100% - 1rem)); }
  .header__row{ gap:.5rem; }
  .brand__name{ max-width:170px; line-height:1.2; }
  .lang__switch{ padding:.5rem .78rem; }
  .hero{ border-radius:30px; }
  .hero h1{ letter-spacing:-1.2px; max-width:13ch; }
  .directoryHero h1{ letter-spacing:-1.2px; max-width:14ch; }
  .requestHero h1{ letter-spacing:-1.2px; max-width:14ch; }
  .hero__stats{ grid-template-columns:1fr; }
  .certificateIndex{ grid-template-columns:1fr; }
  .industryIndex{ grid-template-columns:1fr; }
  .topicIndex{ grid-template-columns:1fr; }
  .hero__media,.certVisual{ min-height:380px; }
  .certVisual__orbit{ display:none; }
  .certVisual__card{ inset:0; min-height:340px; border-radius:26px; padding:1rem; transform:none; }
  .certVisual__row{ grid-template-columns:34px 1fr; padding:.65rem; }
  .certVisual__check{ width:34px; height:34px; }
  .certVisual__footer{ display:none; }
  .certVisual__mini{ width:78%; bottom:12px; }
  .form__row{ grid-template-columns:1fr; }
}
