.certification-page { background: #fff; color: var(--ink); }
.certification-header { background: rgba(3, 11, 16, .9); }
.certification-header .sub-brand { width: 126px; }
.certification-header .sub-brand img { width: 118px; }
.certification-header .sub-nav { font-size: var(--type-index); }
.certification-header .sub-header-mark { font-size: 13px; }

.certification-hero {
  min-height: 900px;
  padding: 150px max(32px, calc((100% - var(--page)) / 2)) 80px;
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 42%, rgba(52,186,244,.14), transparent 30%),
    radial-gradient(circle at 16% 90%, rgba(23,102,213,.11), transparent 28%),
    linear-gradient(122deg, #02090d, #05141a 70%, #02090d);
  color: #f7fbfc;
}
.certification-hero::before {
  content: "";
  position: absolute;
  inset: 82px 0 0;
  z-index: -3;
  opacity: .2;
  background: repeating-linear-gradient(90deg, transparent 0 119px, rgba(52,186,244,.14) 119px 120px);
}
.certification-hero::after {
  content: "";
  height: 1px;
  position: absolute;
  left: max(32px, calc((100% - var(--page)) / 2));
  right: max(32px, calc((100% - var(--page)) / 2));
  bottom: 80px;
  background: linear-gradient(90deg, rgba(52,186,244,.1), rgba(52,186,244,.8), rgba(52,186,244,.1));
}
.certification-hero-grid {
  position: absolute;
  inset: 82px 0 0 43%;
  z-index: -2;
  opacity: .34;
  background-image: linear-gradient(rgba(52,186,244,.075) 1px, transparent 1px), linear-gradient(90deg, rgba(52,186,244,.075) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, transparent, #000 25%, #000 80%, transparent);
}
.certification-hero-glow { width: 680px; height: 680px; position: absolute; right: 5%; top: 13%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(52,186,244,.1), transparent 64%); filter: blur(12px); }
.certification-hero-inner { width: 100%; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 50px; }
.certification-hero-copy { position: relative; z-index: 3; }
.certification-index { margin-bottom: 70px; display: flex; align-items: center; gap: 13px; color: #6f838a; font-size: var(--type-index); letter-spacing: .14em; text-transform: uppercase; }
.certification-index i { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(52,186,244,.38); color: var(--blue); font-style: normal; }
.certification-index b { color: #dbe8eb; font-weight: 500; }
.certification-kicker { margin: 0; color: var(--blue); font-size: var(--type-kicker); letter-spacing: .2em; text-transform: uppercase; }
.certification-hero h1 { margin: 24px 0 0; font-size: clamp(61px, 6.8vw, 108px); line-height: .91; letter-spacing: -.07em; font-weight: 500; text-transform: uppercase; }
.certification-reveal { display: block; width: max-content; max-width: 100%; white-space: nowrap; }
.certification-reveal.accent { color: var(--blue); }
.certification-reveal-enabled .certification-reveal { opacity: 0; filter: blur(5px); transform: translateY(18px); }
.certification-reveal-enabled .certification-reveal.is-decoding { opacity: 1; filter: blur(0); transform: none; transition: opacity .2s ease, filter .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
.certification-reveal-enabled .certification-reveal.is-complete { opacity: 1; filter: none; transform: none; }
.certification-hero-text { margin: 38px 0 0; color: #a9bbc0; font-size: 20px; line-height: 1.9; word-break: keep-all; }

.verification-system {
  width: min(100%, 730px);
  min-height: 540px;
  padding: 26px 30px 24px;
  position: relative;
  justify-self: end;
  border: 1px solid rgba(52,186,244,.23);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
  background: linear-gradient(rgba(52,186,244,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(52,186,244,.045) 1px, transparent 1px), rgba(3,14,19,.58);
  background-size: 32px 32px, 32px 32px, auto;
  box-shadow: inset 0 0 80px rgba(52,186,244,.035), 0 35px 80px rgba(0,0,0,.24);
  backdrop-filter: blur(8px);
}
.verification-system::before { content: ""; width: 90px; height: 2px; position: absolute; left: 0; top: 0; background: var(--blue); box-shadow: 0 0 16px rgba(52,186,244,.65); }
.verification-top, .verification-bottom { display: flex; align-items: center; justify-content: space-between; color: #6f858d; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.verification-top span:last-child { color: #99adb3; }
.verification-top i { width: 6px; height: 6px; margin-right: 7px; display: inline-block; border-radius: 50%; background: var(--blue); box-shadow: 0 0 10px var(--blue); }
.verification-core { height: 430px; position: relative; }
.verification-core > svg { width: 100%; height: 100%; }
.verify-orbit,
.verify-axis,
.verify-orbit-signal,
.verify-branch-base,
.verify-branch-flow { fill: none; vector-effect: non-scaling-stroke; }
.verify-orbit { stroke: rgba(52,186,244,.23); stroke-width: 1; }
.orbit-a { stroke-dasharray: 3 11; animation: verify-orbit-dash 7s linear infinite; }
.orbit-b { stroke: rgba(255,255,255,.11); }
.verify-axis { stroke: rgba(52,186,244,.12); stroke-width: 1; stroke-dasharray: 2 9; }
.verify-orbit-signal {
  stroke: var(--blue);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-dasharray: 1.4 6.5;
  filter: drop-shadow(0 0 4px rgba(52,186,244,.65));
  animation: verify-orbit-signal 6.4s linear infinite;
  transform-origin: 310px 215px;
}
.orbit-signal-b { stroke: rgba(142,224,255,.68); stroke-width: 1.2; stroke-dasharray: .8 8; animation-delay: -.75s; animation-direction: reverse; }
.verify-branch-base { stroke: rgba(130,205,236,.24); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.verify-branch-flow {
  stroke: var(--blue);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: drop-shadow(0 0 5px rgba(52,186,244,.8));
  animation: verify-branch-complete 6.4s cubic-bezier(.6,0,.25,1) infinite;
}
.branch-kc { animation-delay: .18s; }
.branch-iso { animation-delay: .36s; }
.orbit-packet { fill: #bdeeff; stroke: var(--blue); stroke-width: 1; filter: drop-shadow(0 0 6px var(--blue)); transform-origin: 310px 215px; animation: verify-packet 6.4s linear infinite; }
.packet-b { animation-delay: -1.2s; animation-direction: reverse; }
.packet-c { animation-delay: -2.35s; }
.verify-port { fill: #06141a; stroke: var(--blue); animation: verify-port-ack 6.4s ease-in-out infinite; }
.verification-badge { width: 190px; height: 190px; position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid rgba(52,186,244,.68); border-radius: 50%; background: radial-gradient(circle, rgba(52,186,244,.17), rgba(5,20,26,.9) 68%); box-shadow: 0 0 65px rgba(52,186,244,.15), inset 0 0 30px rgba(52,186,244,.08); transform: translate(-50%,-50%); }
.verification-badge::before { content: ""; position: absolute; inset: 11px; border: 1px dashed rgba(52,186,244,.24); border-radius: 50%; }
.verification-badge span, .verification-badge small { position: relative; color: #869ba2; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.verification-badge strong { position: relative; margin: 8px 0 4px; color: #fff; font-size: 62px; line-height: 1; letter-spacing: -.06em; font-weight: 400; }
.verification-badge small { color: var(--blue); }
.verify-node { min-width: 130px; padding: 12px 14px; position: absolute; border: 1px solid rgba(52,186,244,.24); background: rgba(4,16,21,.82); color: #82979e; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.verify-node b { margin-right: 8px; color: var(--blue); font-size: 17px; font-weight: 500; }
.node-patent { left: 2%; top: 45%; }.node-kc { right: 0; top: 45%; }.node-iso { left: 50%; bottom: 4%; transform: translateX(-50%); }
.verification-bottom { padding-top: 19px; border-top: 1px solid rgba(255,255,255,.08); }

.certification-intro { width: min(100% - 64px, var(--page)); min-height: 650px; margin: 0 auto; padding: 118px 0; position: relative; display: grid; grid-template-columns: .36fr 1fr .72fr; gap: 60px; align-items: start; }
.certification-intro::after { content: ""; height: 1px; position: absolute; left: 0; right: 0; bottom: 0; background: #dce3e6; }
.certification-section-label { display: flex; align-items: center; gap: 14px; color: var(--blue-deep); font-size: var(--type-label); letter-spacing: .14em; text-transform: uppercase; }
.certification-section-label span { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(23,102,213,.3); }
.certification-section-label p { margin: 0; }
.certification-intro-copy > p { margin: 2px 0 24px; color: #778287; font-size: clamp(24px,2vw,29px); line-height: 1.5; letter-spacing: -.025em; }
.certification-intro-copy h2, .featured-heading h2, .archive-heading h2, .certification-closing h2 { margin: 0; font-size: clamp(48px,5.2vw,78px); line-height: 1.08; letter-spacing: -.06em; font-weight: 500; word-break: keep-all; }
.certification-intro-copy h2 em { color: var(--blue-deep); font-style: normal; }
.certification-intro-text { padding-top: 62px; margin: 0; color: #626f74; font-size: 19px; line-height: 1.9; word-break: keep-all; }

.certification-featured { padding: 118px max(32px, calc((100% - var(--page)) / 2)) 136px; background: #f3f6f7; }
.featured-heading { display: grid; grid-template-columns: 1fr .55fr; align-items: end; gap: 80px; }
.featured-heading > div > p, .archive-heading > div:nth-child(2) > p { margin: 0 0 24px; color: var(--blue-deep); font-size: var(--type-kicker); letter-spacing: .16em; text-transform: uppercase; }
.featured-heading > p { margin: 0 0 8px; color: #637177; font-size: 19px; line-height: 1.8; word-break: keep-all; }
.featured-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }

.certificate-card { min-width: 0; }
.certificate-card > button { width: 100%; padding: 0; display: block; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.certificate-card-featured > button { min-height: 610px; border: 1px solid #d7e0e3; background: #fff; transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .25s ease; }
.certificate-card-featured > button:hover { border-color: rgba(23,102,213,.4); box-shadow: 0 25px 55px rgba(13,44,56,.11); transform: translateY(-7px); }
.certificate-card-featured .certificate-paper { height: 410px; padding: 32px; overflow: hidden; border-bottom: 1px solid #e0e6e8; background: linear-gradient(145deg, #e9eef0, #f8fafb); }
.certificate-paper img { width: 100%; height: 100%; object-fit: contain; filter: saturate(.9) contrast(1.02); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.certificate-card button:hover .certificate-paper img { transform: scale(1.025); }
.certificate-card-copy { padding: 27px 28px 30px; }
.certificate-card-copy > div { display: flex; justify-content: space-between; color: var(--blue-deep); font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.certificate-card-copy i { color: #7e8b90; font-style: normal; }
.certificate-card-copy h3 { margin: 17px 0 0; min-height: 58px; font-size: 24px; line-height: 1.35; letter-spacing: -.035em; font-weight: 500; word-break: keep-all; }
.certificate-card-copy p { margin: 22px 0 0; padding-top: 18px; display: flex; justify-content: space-between; border-top: 1px solid #e0e6e8; color: #76848a; font-size: 13px; }
.certificate-card-copy p b { color: var(--blue-deep); font-weight: 500; }

.certificate-archive { padding: 124px max(32px, calc((100% - var(--page)) / 2)) 150px; background: #fff; }
.archive-heading { display: grid; grid-template-columns: .36fr 1fr .72fr; align-items: end; gap: 60px; }
.archive-heading .certification-section-label { align-self: start; }
.archive-heading > p { margin: 0 0 8px; color: #637177; font-size: 18px; line-height: 1.8; word-break: keep-all; }
.archive-toolbar { margin-top: 70px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid #cfdadd; border-bottom: 1px solid #cfdadd; }
.certificate-filters { display: flex; align-items: stretch; overflow-x: auto; overflow-y: hidden; }
.certificate-filters button { min-width: 132px; min-height: 72px; padding: 0 22px; position: relative; border: 0; border-right: 1px solid #e0e6e8; background: transparent; color: #66757b; font-size: 15px; cursor: pointer; white-space: nowrap; }
.certificate-filters button::after { content: ""; height: 3px; position: absolute; left: 18px; right: 18px; bottom: -1px; background: var(--blue-deep); opacity: 0; transform: scaleX(.35); transition: opacity .2s ease, transform .3s ease; }
.certificate-filters button.is-active { color: var(--ink); font-weight: 600; }
.certificate-filters button:focus-visible { outline: 2px solid var(--blue-deep); outline-offset: -3px; }
.certificate-filters button.is-active::after { opacity: 1; transform: scaleX(1); }
.certificate-filters span { margin-left: 7px; color: var(--blue-deep); font-size: 11px; }
.certificate-search { width: 310px; min-width: 250px; position: relative; display: flex; align-items: center; }
.certificate-search input { width: 100%; height: 100%; padding: 0 48px 0 18px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 15px; }
.certificate-search input:focus { box-shadow: inset 0 -2px var(--blue-deep); }
.certificate-search i { width: 17px; height: 17px; position: absolute; right: 18px; border: 1px solid var(--blue-deep); border-radius: 50%; pointer-events: none; }
.certificate-search i::after { content: ""; width: 7px; height: 1px; position: absolute; right: -5px; bottom: -2px; background: var(--blue-deep); transform: rotate(45deg); }
.archive-status { margin: 34px 0 24px; color: #76848a; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.archive-status b { margin-right: 5px; color: var(--blue-deep); font-size: 18px; font-weight: 500; }
.certificate-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #dce3e6; border-left: 1px solid #dce3e6; }
.certificate-grid .certificate-card { min-height: 510px; border-right: 1px solid #dce3e6; border-bottom: 1px solid #dce3e6; }
.certificate-grid .certificate-card > button { height: 100%; }
.certificate-grid .certificate-paper { height: 330px; padding: 27px; overflow: hidden; background: linear-gradient(145deg,#eef2f3,#fafcfc); }
.certificate-grid .certificate-card-copy { padding: 24px; }
.certificate-grid .certificate-card-copy h3 { font-size: 20px; }
.certificate-grid .certificate-card-copy p { margin-top: 18px; }
.certificate-empty { grid-column: 1/-1; padding: 100px 20px; margin: 0; color: #738086; text-align: center; }
.certificate-noscript { padding: 40px; background: #f3f6f7; }

.certification-closing { min-height: 620px; padding: 120px max(32px, calc((100% - var(--page)) / 2)); position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; overflow: hidden; background: #07161d; color: #fff; text-align: center; }
.certification-closing::before { content: "VERIFIED"; position: absolute; color: rgba(52,186,244,.035); font-size: 21vw; line-height: 1; letter-spacing: -.08em; font-weight: 700; }
.certification-closing > * { position: relative; z-index: 1; }
.certification-closing > p { margin: 0 0 30px; color: var(--blue); font-size: var(--type-label); letter-spacing: .18em; }
.certification-closing h2 { max-width: 1100px; }
.certification-closing > span { margin-top: 35px; color: #90a5ab; font-size: 17px; letter-spacing: .08em; }
.certification-footer { background: #02080c; }

.certificate-modal[hidden] { display: none; }
.certificate-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; }
.modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(1,7,10,.84); backdrop-filter: blur(12px); cursor: zoom-out; }
.modal-panel { width: min(1120px, calc(100% - 50px)); height: min(780px, calc(100vh - 50px)); position: relative; display: grid; grid-template-columns: 1.25fr .75fr; overflow: hidden; background: #f4f7f8; box-shadow: 0 35px 100px rgba(0,0,0,.5); }
.modal-document { min-height: 0; padding: 38px; display: grid; place-items: center; overflow: auto; background: linear-gradient(rgba(23,102,213,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(23,102,213,.035) 1px,transparent 1px), #e9eef0; background-size: 34px 34px; }
.modal-document img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 16px 45px rgba(13,36,46,.2); }
.modal-info { padding: 58px 42px 42px; position: relative; display: flex; flex-direction: column; background: #06141a; color: #fff; }
.modal-close { width: 44px; height: 44px; position: absolute; right: 22px; top: 22px; border: 1px solid rgba(255,255,255,.16); background: transparent; color: #fff; font-size: 29px; font-weight: 200; cursor: pointer; }
.modal-info > p { margin: 62px 0 0; color: var(--blue); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.modal-info h2 { margin: 20px 0 0; font-size: 34px; line-height: 1.28; letter-spacing: -.04em; font-weight: 500; word-break: keep-all; }
.modal-info dl { margin: 52px 0 0; border-top: 1px solid rgba(255,255,255,.12); }
.modal-info dl div { min-height: 54px; display: grid; grid-template-columns: 90px 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.09); }
.modal-info dt { color: #6e858d; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.modal-info dd { margin: 0; color: #c9d6d9; font-size: 14px; }
.modal-info dd i { width: 6px; height: 6px; margin-right: 8px; display: inline-block; border-radius: 50%; background: var(--blue); box-shadow: 0 0 9px var(--blue); }
.modal-info > a { min-height: 58px; margin-top: auto; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(52,186,244,.35); color: var(--blue); font-size: 15px; transition: background .2s ease, color .2s ease; }
.modal-info > a:hover { background: var(--blue); color: #031016; }
.modal-info > a[hidden] { display: none; }
body.modal-open { overflow: hidden; }

.certification-motion .reveal-section { opacity: 0; transform: translateY(30px); transition: opacity .75s ease, transform .9s cubic-bezier(.16,1,.3,1); }
.certification-motion .reveal-section.is-visible { opacity: 1; transform: none; }

@keyframes verify-orbit-dash { to { stroke-dashoffset: -56; } }
@keyframes verify-orbit-signal {
  0% { opacity: .2; stroke-dashoffset: 0; }
  8% { opacity: .95; }
  43% { opacity: .95; stroke-dashoffset: -38; }
  55%, 84% { opacity: .12; stroke-dashoffset: -49; }
  100% { opacity: .2; stroke-dashoffset: -64; }
}
@keyframes verify-branch-complete {
  0%, 38% { stroke-dashoffset: 1; opacity: 0; }
  42% { opacity: 1; }
  62%, 85% { stroke-dashoffset: 0; opacity: 1; }
  94%, 100% { stroke-dashoffset: 0; opacity: 0; }
}
@keyframes verify-packet {
  0% { opacity: .2; transform: rotate(0deg); }
  8% { opacity: 1; }
  43% { opacity: 1; transform: rotate(720deg); }
  54%, 100% { opacity: 0; transform: rotate(760deg); }
}
@keyframes verify-port-ack {
  0%, 54% { fill: #06141a; filter: none; }
  62%, 83% { fill: var(--blue); filter: drop-shadow(0 0 6px var(--blue)); }
  94%, 100% { fill: #06141a; filter: none; }
}

@media (max-width: 1180px) {
  .certification-hero { min-height: 1280px; align-items: flex-start; }
  .certification-hero-inner { grid-template-columns: 1fr; padding-top: 45px; }
  .verification-system { width: min(100%,780px); justify-self: center; }
  .certification-intro, .archive-heading { grid-template-columns: .3fr 1fr; }
  .certification-intro-text, .archive-heading > p { grid-column: 2; padding-top: 0; }
  .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .certificate-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .certificate-filters button { min-width: 118px; padding: 0 15px; }
}

@media (max-width: 860px) {
  .certification-hero { min-height: 1170px; padding-left: 20px; padding-right: 20px; }
  .certification-hero::after { left: 20px; right: 20px; }
  .certification-intro { width: min(100% - 40px,var(--page)); }
  .featured-heading { grid-template-columns: 1fr; gap: 30px; }
  .archive-toolbar { align-items: stretch; flex-direction: column; border-bottom: 0; }
  .certificate-filters { border-bottom: 1px solid #cfdadd; }
  .certificate-search { width: 100%; height: 62px; border-bottom: 1px solid #cfdadd; }
  .certificate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .modal-panel { grid-template-columns: 1fr; grid-template-rows: minmax(330px,1fr) auto; overflow-y: auto; }
  .modal-info { min-height: 430px; }
}

@media (max-width: 600px) {
  .certification-hero { min-height: 925px; padding: 124px 20px 66px; }
  .certification-hero-inner { padding-top: 0; gap: 55px; }
  .certification-index { margin-bottom: 42px; }
  .certification-hero h1 { font-size: clamp(50px,15vw,70px); }
  .certification-hero-text { font-size: 16px; }
  .certification-hero-text br { display: none; }
  .verification-system { min-height: 340px; padding: 18px 15px 16px; }
  .verification-top, .verification-bottom { font-size: 8px; }
  .verification-core { height: 260px; }
  .verification-badge { width: 126px; height: 126px; }
  .verification-badge strong { font-size: 40px; }
  .verification-badge span, .verification-badge small { font-size: 7px; }
  .verify-node { min-width: 88px; padding: 8px; font-size: 7px; }
  .verify-node b { font-size: 11px; }
  .node-patent { left: 0; }.node-kc { right: 0; }.node-iso { bottom: 0; }
  .certification-hero::after { bottom: 35px; }

  .certification-intro { min-height: 0; padding: 80px 0; grid-template-columns: 1fr; gap: 38px; }
  .certification-intro-text { grid-column: auto; font-size: 17px; }
  .certification-intro-copy > p { font-size: 22px; }
  .certification-intro-copy h2, .featured-heading h2, .archive-heading h2, .certification-closing h2 { font-size: 40px; }
  .certification-featured, .certificate-archive { padding: 80px 20px 95px; }
  .featured-heading > p { font-size: 17px; }
  .featured-grid { margin-top: 48px; grid-template-columns: 1fr; }
  .certificate-card-featured > button { min-height: 560px; }
  .certificate-card-featured .certificate-paper { height: 375px; }
  .archive-heading { grid-template-columns: 1fr; gap: 34px; }
  .archive-heading > p { grid-column: auto; }
  .certificate-filters button { min-width: 105px; min-height: 62px; padding: 0 12px; font-size: 13px; }
  .certificate-grid { grid-template-columns: 1fr; }
  .certificate-grid .certificate-card { min-height: 515px; }
  .certificate-grid .certificate-paper { height: 340px; }
  .certification-closing { min-height: 540px; padding: 90px 20px; }
  .certification-closing > span { font-size: 14px; }
  .modal-panel { width: calc(100% - 20px); height: calc(100vh - 20px); }
  .modal-document { min-height: 380px; padding: 20px; }
  .modal-info { min-height: 400px; padding: 35px 25px 25px; }
  .modal-info > p { margin-top: 42px; }
  .modal-info h2 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .verify-orbit,
  .verify-orbit-signal,
  .verify-branch-flow,
  .orbit-packet,
  .verify-port { animation: none; }
  .verify-orbit-signal { opacity: .5; }
  .verify-branch-flow { opacity: 1; stroke-dashoffset: 0; }
}
