.certifications-page {
  --cert-blue: var(--color-primary);
  --cert-cyan: var(--color-primary);
  --cert-ink: #0a1b35;
  --cert-muted: #62738a;
  --cert-line: #dbe7f2;
  --cert-gap: 150px;
  background: #fff;
  color: var(--cert-ink);
}

.certifications-page .site-header.header-v2 {
  position: fixed !important;
  background: rgba(255,255,255,.96) !important;
  border-bottom-color: #e2ebf4 !important;
  backdrop-filter: blur(14px);
}
.certifications-page .header-v2 .brand img { filter: none !important; }
.certifications-page .header-v2 .nav-top,
.certifications-page .header-v2 .contact-link,
.certifications-page .header-v2 .language-button,
.certifications-page .header-v2 .menu-btn { color: #17243a !important; }
.certifications-page .header-v2 .contact-link { border-color: #d9e3ed !important; }
.certifications-main { overflow: clip; }
.cert-container { width: min(1440px, calc(100% - 128px)); margin-inline: auto; }

.certifications-hero {
  position: relative;
  min-height: 680px;
  padding-top: 86px;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(110deg, #fff 0%, #fff 44%, #f7fbff 70%, #ebf6ff 100%);
}
.certifications-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -18% 30%;
  height: 48%;
  z-index: -1;
  border: 2px solid rgba(21,124,255,.22);
  border-radius: 50%;
  transform: rotate(4deg);
  box-shadow: 0 -18px 50px rgba(21,124,255,.08);
}
.certifications-hero__inner { position: relative; z-index: 2; padding-top: 145px; }
.certifications-hero__inner > p { margin: 0 0 34px; color: var(--cert-blue); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.certifications-hero h1 { max-width: 900px; margin: 0; color: var(--cert-ink); font-size: clamp(45px,4.5vw,68px); line-height: 1.28; letter-spacing: -.055em; word-break: keep-all; }
.certifications-hero__inner > span { display: block; margin-top: 42px; color: #364861; font-size: 19px; line-height: 1.85; font-weight: 500; }
.certifications-hero__visual { position: absolute; inset: 86px 0 0; z-index: 0; pointer-events: none; }
.certifications-hero__visual::before { content: ""; position: absolute; width: 42vw; height: 42vw; right: -6vw; top: 2vw; background: radial-gradient(circle,rgba(81,177,255,.18),rgba(102,193,255,.06) 42%,transparent 70%); filter: blur(9px); }
.certifications-hero__plane { position: absolute; right: 10%; top: 8%; width: 12%; height: 72%; border-left: 3px solid rgba(21,124,255,.8); background: linear-gradient(145deg,rgba(21,124,255,.08),transparent 62%); transform: skewX(-14deg); }
.certifications-hero__plane--two { right: 25%; top: 17%; height: 65%; border-left-width: 5px; opacity: .75; }
.certifications-lines { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.certifications-lines i { position: absolute; display: block; height: 1px; background: linear-gradient(90deg,transparent,rgba(21,124,255,.44),transparent); transform-origin: right center; }
.certifications-lines i:nth-child(1) { right: -2%; bottom: 21%; width: 66%; transform: rotate(-6deg); }
.certifications-lines i:nth-child(2) { right: -4%; bottom: 15%; width: 74%; transform: rotate(-2deg); }
.certifications-lines i:nth-child(3) { right: 8%; bottom: 25%; width: 45%; transform: rotate(-13deg); }
.certifications-lines i:nth-child(4) { right: 13%; top: 32%; width: 22%; transform: rotate(42deg); }
.certifications-lines::after { content: ""; position: absolute; right: 2%; bottom: 11%; width: 38%; height: 24%; background-image: radial-gradient(circle,rgba(21,124,255,.65) 1.5px,transparent 2px); background-size: 55px 35px; mask-image: linear-gradient(90deg,transparent,#000); opacity: .55; }

.cert-local-nav { position: sticky; top: 86px; z-index: 20; height: 76px; background: rgba(255,255,255,.96); border-block: 1px solid var(--cert-line); backdrop-filter: blur(12px); }
.cert-local-nav .cert-container { display: flex; align-items: stretch; height: 100%; }
.cert-local-nav a { position: relative; display: grid; place-items: center; min-width: 190px; padding: 0 26px; color: #607087; font-size: 15px; font-weight: 600; white-space: nowrap; }
.cert-local-nav a::after { content:""; position:absolute; right:28px; bottom:-1px; left:28px; height:3px; background:var(--cert-cyan); transform:scaleX(0); transition:transform .25s ease; }
.cert-local-nav a:hover,
.cert-local-nav a.is-active { color: var(--cert-ink); }
.cert-local-nav a:hover::after,
.cert-local-nav a.is-active::after { transform: scaleX(1); }

.cert-showcase { padding: var(--cert-gap) 0; background: linear-gradient(180deg,#fff 0%,#f8fcff 48%,#fff 100%); }
.cert-showcase__head { text-align: center; }
.cert-showcase__head > p { margin:0 0 20px; color:var(--cert-blue); font-size:12px; font-weight:800; letter-spacing:.11em; }
.cert-showcase__head h2 { margin:0; font-size:clamp(36px,3.5vw,54px); line-height:1.3; letter-spacing:-.045em; }
.cert-tabs { display:flex; justify-content:center; gap:54px; margin-top:54px; overflow-x:auto; scrollbar-width:none; }
.cert-tabs::-webkit-scrollbar { display:none; }
.cert-tabs button { position:relative; padding:0 0 15px; border:0; background:none; color:#758398; font:600 16px/1.2 inherit; white-space:nowrap; cursor:pointer; }
.cert-tabs button::after { content:""; position:absolute; right:0; bottom:0; left:0; height:2px; background:var(--cert-blue); transform:scaleX(0); transition:transform .25s ease; }
.cert-tabs button[aria-selected="true"] { color:var(--cert-blue); }
.cert-tabs button[aria-selected="true"]::after { transform:scaleX(1); }
.cert-tabs span { margin-left:6px; font-size:13px; }

.cert-slider { position:relative; display:grid; grid-template-columns:64px minmax(0,1fr) 64px; align-items:center; gap:20px; width:min(1760px,100%); margin:42px auto 0; }
.cert-slider__viewport { position:relative; height:510px; overflow:hidden; touch-action:pan-y; cursor:grab; }
.cert-slider__viewport.is-dragging { cursor:grabbing; }
.cert-slider__glow { position:absolute; top:50%; left:50%; width:440px; height:440px; border:1px solid rgba(21,124,255,.24); border-radius:50%; background:radial-gradient(circle,rgba(21,124,255,.13),transparent 66%); transform:translate(-50%,-50%); pointer-events:none; }
.cert-slider__glow::before,
.cert-slider__glow::after { content:""; position:absolute; inset:34px; border:1px solid rgba(21,124,255,.1); border-radius:50%; }
.cert-slider__glow::after { inset:86px; }
.cert-slider__track { position:absolute; top:0; left:0; display:flex; align-items:center; gap:38px; height:100%; will-change:transform; transition:transform 540ms cubic-bezier(.22,1,.36,1); }
.cert-slider__viewport.is-dragging .cert-slider__track { transition:none; }
.cert-empty{display:grid;place-items:center;width:min(620px,80vw);height:100%;margin:0;color:var(--cert-muted);font-size:16px;text-align:center}
.cert-document { position:relative; flex:0 0 286px; width:286px; height:420px; padding:30px 25px; border:1px solid #dce5ed; background:#fff; color:var(--cert-ink); opacity:.24; transform:scale(.7); transition:transform 540ms cubic-bezier(.22,1,.36,1),opacity 540ms ease,border-color 540ms ease,box-shadow 540ms ease; cursor:pointer; }
.cert-document::before { content:""; position:absolute; inset:18px; border:1px solid #dce5ed; }
.cert-document::after { content:""; position:absolute; top:64px; right:42px; left:42px; height:1px; background:#cdd9e5; box-shadow:0 24px #dfe7ee,0 48px #dfe7ee,0 72px #dfe7ee,0 96px #dfe7ee,0 120px #dfe7ee,0 144px #dfe7ee; }
.cert-document::before,.cert-document::after { content:none; }
.cert-document { padding:12px 12px 72px; }
.cert-document__image { display:block; width:100%; height:100%; object-fit:contain; user-select:none; }
.cert-document__label { left:12px; right:12px; bottom:12px; }
.cert-document__label { position:absolute; right:36px; bottom:32px; left:36px; z-index:1; padding-top:14px; background:#fff; border-top:1px solid #dce5ed; text-align:left; }
.cert-document__label small { display:block; margin-bottom:7px; color:var(--cert-blue); font:800 9px Arial,sans-serif; letter-spacing:.09em; }
.cert-document__label b { display:block; overflow:hidden; color:#23344d; font-size:15px; line-height:1.35; white-space:nowrap; text-overflow:ellipsis; }
.cert-document.is-near { opacity:.55; transform:scale(.81); }
.cert-document.is-active { border-color:var(--cert-blue); box-shadow:0 18px 44px rgba(35,91,153,.12); opacity:1; transform:scale(1); }
.cert-arrow { position:relative; z-index:3; display:grid; place-items:center; width:54px; height:54px; margin:auto; border:1px solid #cddbeb; background:#fff; color:var(--cert-blue); font-size:23px; cursor:pointer; transition:.22s ease; }
.cert-arrow:hover { border-color:var(--cert-blue); background:var(--cert-blue); color:#fff; }

.cert-detail { position:relative; display:grid; grid-template-columns:1fr auto; gap:18px 50px; align-items:end; min-height:190px; padding-top:30px; }
.cert-detail__type { margin:0 0 10px; color:var(--cert-blue); font:800 11px Arial,sans-serif; letter-spacing:.1em; }
.cert-detail__title { min-height:42px; margin:0; font-size:30px; line-height:1.35; letter-spacing:-.035em; }
.cert-detail__description { min-height:28px; margin:10px 0 0; color:var(--cert-muted); font-size:15px; line-height:1.7; }
.cert-detail__open { padding:0 0 6px; border:0; border-bottom:1px solid var(--cert-blue); background:none; color:var(--cert-blue); font-weight:700; cursor:pointer; }
.cert-detail__open span { margin-left:8px; }
.cert-progress { position:relative; grid-column:1/-1; height:18px; }
.cert-progress::before { content:""; position:absolute; top:8px; right:0; left:0; height:1px; background:#cbd8e6; }
.cert-progress i { position:absolute; top:7px; left:0; z-index:1; width:0; height:3px; background:var(--cert-blue); transition:width 540ms ease; }
.cert-progress b { position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#96acc4 calc(10% - 1px),#96acc4 10%); opacity:.55; }
.cert-detail__count { grid-column:1/-1; color:var(--cert-blue); font-size:16px; text-align:center; }

.certifications-page .cert-contact { padding:var(--cert-gap) 0; background:#fff; }
.certifications-page .cert-contact .tm-container { width:min(1440px,calc(100% - 128px)); }

.cert-modal { position:fixed; inset:0; z-index:4000; display:grid; place-items:center; padding:40px; }
.cert-modal[hidden] { display:none; }
.cert-modal__backdrop { position:absolute; inset:0; background:rgba(2,12,30,.76); backdrop-filter:blur(8px); }
.cert-modal__panel { position:relative; z-index:1; width:min(720px,100%); max-height:calc(100vh - 80px); overflow:auto; padding:42px; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.24); }
.cert-close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #cbd8e6; background:#fff; color:var(--cert-ink); font-size:27px; cursor:pointer; }
.cert-modal__type { margin:0 54px 12px 0; color:var(--cert-blue); font:800 11px Arial,sans-serif; letter-spacing:.1em; }
.cert-modal h2 { margin:0 54px 30px 0; font-size:28px; }
.cert-modal__document { border:1px solid #dce5ed; background:#fff; }
.cert-modal__document img { display:block; width:100%; height:auto; object-fit:contain; }
.cert-modal__document span { color:var(--cert-blue); font-weight:800; letter-spacing:.1em; }
.cert-modal__document strong { color:var(--cert-ink); font-size:24px; }
.cert-modal__document small { font-size:13px; }
.cert-modal-open { overflow:hidden; }

@media(max-width:900px){
  .certifications-page { --cert-gap:90px; }
  .cert-container { width:calc(100% - 40px); }
  .certifications-page .site-header.header-v2 { height:72px; }
  .certifications-hero { min-height:630px; padding-top:72px; }
  .certifications-hero__inner { padding-top:112px; }
  .certifications-hero h1 { font-size:clamp(36px,10.2vw,52px); line-height:1.35; }
  .certifications-hero__inner > span { margin-top:32px; font-size:16px; }
  .certifications-hero__visual { inset:72px 0 0; }
  .certifications-hero__plane { right:-3%; top:37%; width:22%; height:55%; }
  .certifications-hero__plane--two { right:25%; top:46%; }
  .cert-local-nav { top:72px; height:64px; overflow-x:auto; scrollbar-width:none; }
  .cert-local-nav::-webkit-scrollbar { display:none; }
  .cert-local-nav .cert-container { width:max-content; min-width:100%; padding:0 20px; }
  .cert-local-nav a { min-width:auto; padding:0 18px; font-size:14px; }
  .cert-tabs { justify-content:flex-start; gap:34px; margin-top:40px; padding:0 20px; }
  .cert-slider { grid-template-columns:44px minmax(0,1fr) 44px; gap:4px; margin-top:28px; }
  .cert-slider__viewport { height:430px; }
  .cert-slider__glow { width:330px; height:330px; }
  .cert-document { flex-basis:236px; width:236px; height:350px; padding:25px 20px; }
  .cert-document__label { right:28px; bottom:26px; left:28px; }
  .cert-arrow { width:40px; height:48px; }
  .cert-detail { grid-template-columns:1fr; gap:18px; min-height:250px; }
  .cert-detail__title { min-height:76px; font-size:25px; }
  .cert-detail__description { min-height:50px; }
  .cert-detail__open { justify-self:start; }
  .certifications-page .cert-contact .tm-container { width:calc(100% - 40px); }
  .cert-modal { padding:20px; }
  .cert-modal__panel { max-height:calc(100vh - 40px); padding:30px 20px 20px; }
}

@media(prefers-reduced-motion:reduce){
  .cert-slider__track,.cert-document,.cert-progress i { transition-duration:.01ms; }
}

/* Keep uploaded documents uncropped at every breakpoint. */
.cert-document { padding:12px 12px 76px; }
.cert-document__label { left:12px; right:12px; bottom:12px; }
