.verify-page { overflow: hidden; background: #fbfdff; color: var(--color-fg); }
.verify-page h1,
.verify-page h2 { margin: 0; color: #173b59; font-family: var(--font-serif); font-weight: 500; letter-spacing: -0.035em; }

.verify-hero { padding-block: clamp(4.5rem, 10vw, 7.5rem); background: radial-gradient(circle at 50% -10%, #d3e7f6 0%, #eaf3fb 42%, #fbfdff 76%); text-align: center; }
.verify-hero .container { max-width: 54rem; }
.verify-mark { display: grid; width: 3.8rem; height: 3.8rem; margin: 0 auto 1.5rem; place-items: center; border-radius: 50%; background: #d8ebf8; color: #2873a7; }
.verify-mark svg { width: 1.85rem; height: 1.85rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.verify-hero h1 { margin-top: 0.75rem; font-size: clamp(2.8rem, 6vw, 4.8rem); line-height: 1.02; }
.verify-hero > .container > p:not(.eyebrow) { max-width: 40rem; margin: 1.15rem auto 0; color: #5d7489; font-size: 1.02rem; line-height: 1.7; }

.verify-form { max-width: 47rem; margin: 2.25rem auto 0; text-align: left; }
.verify-form > label { display: block; margin: 0 0 0.55rem 0.2rem; color: #315d7d; font: 700 0.78rem/1 var(--font-sans); }
.verify-form__control { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 4.25rem; padding: 0.35rem; border: 1px solid #cbdce9; border-radius: var(--radius-md); background: #fff; box-shadow: 0 1.2rem 2.8rem -2rem rgba(28, 71, 103, 0.42); }
.verify-form__control > span { display: grid; width: 3rem; place-items: center; color: #7795ad; }
.verify-form__control svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.verify-form__control input { width: 100%; min-width: 0; padding: 0.85rem 0.5rem; border: 0; outline: 0; color: #234863; background: transparent; font: 500 0.95rem/1.2 var(--font-sans); }
.verify-form__control input::placeholder { color: #9aabb9; }
.verify-form__control:focus-within { border-color: #6aa1c8; box-shadow: 0 0 0 3px rgba(71, 137, 184, 0.13), 0 1.2rem 2.8rem -2rem rgba(28, 71, 103, 0.42); }
.verify-form__control button { min-height: 3.45rem; padding: 0.85rem 1.35rem; border: 0; border-radius: calc(var(--radius-md) - 0.3rem); background: var(--color-accent); color: #fff; font: 750 0.85rem/1 var(--font-sans); cursor: pointer; transition: background-color var(--transition); }
.verify-form__control button:hover { background: var(--color-accent-hover); }
.verify-form > small { display: block; margin: 0.7rem 0 0 0.2rem; color: #7b90a3; font-size: 0.75rem; line-height: 1.5; }

.verify-help,
.verify-result { padding-block: clamp(4.5rem, 9vw, 7rem); }
.verify-help__layout { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr); gap: clamp(3rem, 10vw, 8rem); }
.verify-help h2 { margin-top: 0.8rem; font-size: clamp(2.1rem, 4vw, 3.2rem); line-height: 1.08; }
.verify-help__items { display: grid; gap: 1.6rem; }
.verify-help__items article { display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; }
.verify-help__items article > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: #dcecf8; color: #2775a9; font: 800 0.8rem/1 var(--font-sans); }
.verify-help__items h3 { margin: 0.1rem 0 0; color: #234f70; font: 700 1rem/1.3 var(--font-sans); }
.verify-help__items p { margin: 0.55rem 0 0; color: #687f93; font-size: 0.9rem; line-height: 1.65; }

.verify-result { background: #f4f8fc; }
.verify-result .container { max-width: 58rem; }
.verify-card { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.verify-card__status { display: flex; align-items: center; gap: 1.2rem; padding: clamp(1.6rem, 4vw, 2.4rem); border-bottom: 1px solid #d9e8f2; background: #e8f4fb; }
.verify-card__status > span { display: grid; flex: 0 0 3.25rem; height: 3.25rem; place-items: center; border-radius: 50%; background: #2c7da9; color: #fff; }
.verify-card__status svg { width: 1.65rem; height: 1.65rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.verify-card__status p { margin: 0 0 0.35rem; color: #2875a4; font: 750 0.72rem/1 var(--font-sans); letter-spacing: 0.11em; text-transform: uppercase; }
.verify-card__status h2 { font-size: clamp(1.45rem, 3vw, 2.15rem); line-height: 1.15; }
.verify-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: clamp(1.2rem, 3vw, 2rem); }
.verify-details div { padding: 1.1rem; border-bottom: 1px solid #e2eaf1; }
.verify-details div:nth-last-child(-n + 2) { border-bottom: 0; }
.verify-details dt { color: #7b8fa1; font: 650 0.72rem/1.3 var(--font-sans); letter-spacing: 0.04em; text-transform: uppercase; }
.verify-details dd { margin: 0.5rem 0 0; color: #244d6b; font: 700 1rem/1.4 var(--font-sans); }
.verify-certificate { display: grid; grid-template-columns: minmax(11rem, 13rem) minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 2rem); align-items: center; margin: .25rem clamp(1.2rem, 4vw, 2rem) 1.75rem; padding: clamp(.85rem, 2.5vw, 1.2rem); border: 1px solid #e0ebf3; border-radius: 1.1rem; background: #fbfdff; box-shadow: 0 .9rem 2.4rem -2rem rgba(30, 82, 115, .26); }
.verify-certificate__preview { display: grid; min-height: 17rem; place-items: center; overflow: hidden; padding: .5rem; border: 1px solid #d9e7f0; border-radius: .78rem; background: linear-gradient(145deg, #eaf4fa, #f6fbfe); }
.verify-certificate__zoom { position: relative; display: block; width: min(100%, 11rem); padding: 0; overflow: hidden; border: 0; border-radius: .1rem; background: none; box-shadow: 0 .95rem 1.8rem -1rem rgba(29, 71, 100, .48); cursor: zoom-in; }
.verify-certificate__zoom img { display: block; width: 100%; height: auto; transition: filter .25s ease; }
.verify-certificate__zoom > span { position: absolute; top: 50%; left: 50%; display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: #fff; background: rgba(21, 66, 95, .78); box-shadow: 0 .35rem .8rem rgba(9, 40, 62, .2); opacity: 0; transform: translate(-50%, calc(-50% + .25rem)); transition: opacity .2s ease, transform .2s ease; }
.verify-certificate__zoom svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.verify-certificate__zoom:hover img, .verify-certificate__zoom:focus-visible img { filter: brightness(.78); }
.verify-certificate__zoom:hover > span, .verify-certificate__zoom:focus-visible > span { opacity: 1; transform: translate(-50%, -50%); }
.verify-certificate__zoom:focus-visible { outline: 3px solid rgba(56, 134, 184, .45); outline-offset: 4px; }
.verify-certificate__preview > span { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 50%; color: #6a9abb; background: #e6f2f9; }
.verify-certificate__preview svg, .verify-certificate__download svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.verify-certificate__copy { padding: .25rem .4rem .25rem 0; }
.verify-certificate__copy .eyebrow { margin: 0; color: #7190a8; }
.verify-certificate__copy h3 { margin: .45rem 0 0; color: #214a69; font: 700 clamp(1.2rem, 2.5vw, 1.55rem)/1.2 var(--font-sans); letter-spacing: -.025em; }
.verify-certificate__copy > p:not(.eyebrow) { margin: .65rem 0 0; color: #6b8497; font-size: .84rem; line-height: 1.65; }
.verify-certificate__download { display: inline-flex; gap: .5rem; min-height: 2.75rem; align-items: center; margin-top: 1.1rem; padding: .7rem 1rem; border-radius: .65rem; color: #fff; background: #2779aa; box-shadow: 0 .65rem 1.25rem -.8rem rgba(33, 103, 150, .48); font: 750 .76rem/1 var(--font-sans); text-decoration: none; transition: background-color var(--transition), box-shadow var(--transition); }
.verify-certificate__download:hover { background: #1e6693; box-shadow: 0 .75rem 1.35rem -.75rem rgba(33, 103, 150, .56); }
.verify-card__number { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 2rem; background: #173f5e; color: #fff; }
.verify-card__number span { color: #a9c5d9; font: 650 0.72rem/1 var(--font-sans); letter-spacing: 0.07em; text-transform: uppercase; }
.verify-card__number strong { font: 600 0.8rem/1.4 var(--font-sans); overflow-wrap: anywhere; }
.certificate-lightbox { width: auto; max-width: 92vw; max-height: 92vh; margin: auto; padding: 0; overflow: visible; border: 0; background: transparent; box-shadow: none; }
.certificate-lightbox::backdrop { background: rgba(4, 20, 31, .88); }
.certificate-lightbox img { display: block; width: auto; max-width: 92vw; height: auto; max-height: 92vh; margin: 0 auto; border-radius: .2rem; box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, .38); }
.certificate-lightbox__close { position: fixed; top: 1.25rem; right: 1.25rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #244e6d; background: #fff; box-shadow: 0 .35rem .9rem rgba(0, 0, 0, .28); font-size: 1.55rem; line-height: 1; cursor: pointer; }
.certificate-lightbox__close:hover { color: #176795; }

.verify-card--not-found { max-width: 42rem; margin-inline: auto; padding: clamp(2.2rem, 6vw, 4rem); text-align: center; }
.verify-card__not-found-icon { display: grid; width: 4rem; height: 4rem; margin: 0 auto 1.5rem; place-items: center; border-radius: 50%; background: #edf2f6; color: #668398; }
.verify-card__not-found-icon svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.verify-card--not-found h2 { margin-top: 0.8rem; font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.08; }
.verify-card--not-found > p:not(.eyebrow) { max-width: 34rem; margin: 1rem auto 0; color: #687f93; line-height: 1.7; }
.verify-card__actions { display: flex; justify-content: center; gap: 0.75rem; margin-top: 1.8rem; }
.verify-card__actions a { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; padding: 0.8rem 1.25rem; border: 1px solid var(--color-line); border-radius: var(--radius-pill); color: #315f80; font: 700 0.82rem/1 var(--font-sans); text-decoration: none; }
.verify-card__actions a:first-child { border-color: var(--color-accent); background: var(--color-accent); color: #fff; }

@media (max-width: 47.99rem) {
  .verify-help__layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .verify-details { grid-template-columns: 1fr; }
  .verify-details div:nth-last-child(2) { border-bottom: 1px solid #e2eaf1; }
  .verify-certificate { grid-template-columns: 1fr; }
  .verify-certificate__preview { min-height: 16rem; }
  .verify-certificate__copy { padding: .25rem .2rem .15rem; text-align: center; }
  .verify-certificate__zoom > span { opacity: 1; transform: translate(-50%, -50%); }
  .verify-card__number { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 39.99rem) {
  .verify-form__control { grid-template-columns: auto 1fr; padding: 0.35rem; }
  .verify-form__control button { grid-column: 1 / -1; width: 100%; margin-top: 0.2rem; }
  .verify-card__status { align-items: flex-start; }
  .verify-card__actions { flex-direction: column; }
}
