/* Science & Research — Quality & Compliance subpage. All rules scoped under .qc */

.qc { position: relative; background: #000f9f; color: #fff; padding: 16vh 5vw 14vh; font-family: Poppins, sans-serif; }
.qc *, .qc *::before, .qc *::after { box-sizing: border-box; }
.qc a { color: #fff; }
.qc a:hover { color: #8ff7dc; }
.qc .qc-icon { font-family: 'Material Symbols Outlined'; font-weight: 400; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; }
.qc .qc-mint { color: #8ff7dc; }

.qc .qc-rv { opacity: 0; }
.qc .qc-clip { clip-path: inset(100% 0 0 0 round 28px); }
.qc .qc-px { position: absolute; left: 0; top: -12%; width: 100%; height: 124%; object-fit: cover; display: block; }

.qc .qc-eyebrow { display: flex; align-items: center; gap: 10px; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #8ff7dc; }
.qc .qc-eyebrow__dot { width: 7px; height: 7px; border-radius: 50%; background: #8ff7dc; }
.qc .qc-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #8ff7dc; }
.qc .qc-body { margin: 0; font-size: min(1.15vw, 2.4vh, 17px); line-height: 1.74; color: #fff; text-wrap: pretty; }

.qc .qc-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6vw; align-items: center; }
.qc .qc-intro__text { display: flex; flex-direction: column; gap: 3.2vh; min-width: 0; }
.qc .qc-intro__title { margin: 0; font-size: min(5vw, 8.6vh, 80px); line-height: .98; font-weight: 800; letter-spacing: -.05em; text-wrap: balance; }
.qc .qc-intro__media { position: relative; height: min(76vh, 52vw); }
.qc .qc-intro__img { position: absolute; left: 0; top: 0; right: 9%; bottom: 9%; border-radius: 28px; overflow: hidden; }
.qc .qc-badges { position: absolute; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(2, auto); gap: 12px; }
.qc .qc-badge { width: min(8.6vw, 15vh, 130px); aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; box-shadow: 0 20px 44px rgba(0, 15, 159, .3); }
.qc .qc-badge__a { font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 600; letter-spacing: 1.5px; }
.qc .qc-badge__b { font-size: min(1.9vw, 3.4vh, 28px); line-height: 1; font-weight: 800; letter-spacing: -.03em; }

.qc .qc-cards { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 16px; margin-top: 12vh; align-items: stretch; }
.qc .qc-policy { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 5vh; padding: 5vh 3vw; border-radius: 30px; overflow: hidden; background: #1f4fff; color: #fff; box-shadow: 0 30px 60px rgba(5, 15, 70, .35); }
.qc .qc-policy__rings { position: absolute; right: -18%; bottom: -30%; width: 80%; aspect-ratio: 1; border-radius: 50%; border: 2px solid rgba(143, 247, 220, .35); box-shadow: 0 0 0 40px rgba(143, 247, 220, .06), 0 0 0 80px rgba(143, 247, 220, .04); pointer-events: none; }
.qc .qc-policy__top { position: relative; display: flex; align-items: center; justify-content: space-between; }
.qc .qc-policy__icon { width: 52px; height: 52px; border-radius: 50%; background: #8ff7dc; color: #000f9f; display: flex; align-items: center; justify-content: center; font-size: 26px; }
.qc .qc-policy__copy { position: relative; display: flex; flex-direction: column; gap: 2.4vh; }
.qc .qc-policy__title { margin: 0; font-size: min(2.8vw, 5vh, 44px); line-height: 1; font-weight: 800; letter-spacing: -.04em; text-wrap: balance; }
.qc .qc-policy__text { max-width: 520px; line-height: 1.72; }

.qc .qc-certs { display: flex; flex-direction: column; gap: 2.6vh; padding: 5vh 3vw; border-radius: 30px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(143, 247, 220, .3); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 30px 60px rgba(5, 15, 70, .3); }
.qc .qc-certs__title { margin: 0; font-size: min(2.4vw, 4.4vh, 38px); line-height: 1.05; font-weight: 800; letter-spacing: -.04em; text-wrap: balance; }
.qc .qc-certs__lede { margin: 0; font-size: min(1.05vw, 2.2vh, 16px); line-height: 1.66; color: #fff; text-wrap: pretty; }
.qc .qc-certs__list { display: flex; flex-direction: column; }
.qc .qc-cert { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 1.8vh 14px; margin: 0 -14px; border-radius: 16px; border-top: 1px solid rgba(255, 255, 255, .16); transition: background .35s ease; }
.qc .qc-cert:hover { background: rgba(143, 247, 220, .08); }
.qc .qc-cert__code { display: flex; align-items: baseline; gap: 6px; min-width: 150px; }
.qc .qc-cert__a { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 1px; color: #8ff7dc; }
.qc .qc-cert__b { font-size: min(1.9vw, 3.4vh, 28px); line-height: 1; font-weight: 800; letter-spacing: -.03em; }
.qc .qc-cert__t { font-size: min(1.05vw, 2.2vh, 16px); font-weight: 600; color: #fff; }
.qc .qc-cert__actions { display: flex; gap: 8px; }
.qc .qc-cert__view { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid rgba(143, 247, 220, .5); border-radius: 999px; background: transparent; color: #8ff7dc; font-family: Poppins, sans-serif; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background .3s ease, color .3s ease; }
.qc .qc-cert__view .qc-icon { font-size: 18px; }
.qc .qc-cert__view:hover { background: #8ff7dc; color: #000f9f; }
.qc .qc-cert__dl { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #8ff7dc; color: #000f9f; text-decoration: none; font-size: 19px; transition: transform .3s cubic-bezier(.2, 0, 0, 1); }
.qc .qc-cert__dl:hover { transform: translateY(-2px); color: #000f9f; }
.qc .qc-cert__view:focus-visible, .qc .qc-cert__dl:focus-visible { outline: 2px solid #8ff7dc; outline-offset: 3px; }
.qc .qc-certs__foot { margin: 0; font-size: min(1vw, 2vh, 14.5px); line-height: 1.66; color: rgba(255, 255, 255, .85); text-wrap: pretty; }

.qc .qc-commit { display: flex; flex-direction: column; gap: 3vh; margin-top: 12vh; }
.qc .qc-commit__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.qc .qc-commit__title { margin: 0; font-size: min(4.4vw, 7.6vh, 72px); line-height: .95; font-weight: 800; letter-spacing: -.05em; }
.qc .qc-commit__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.qc .qc-tile { position: relative; height: min(42vh, 28vw); border-radius: 26px; overflow: hidden; background: #000f9f; color: #fff; }
.qc .qc-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s cubic-bezier(.2, 0, 0, 1); }
.qc .qc-tile__img:hover { transform: scale(1.08); }
.qc .qc-tile__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 15, 159, .95) 0%, rgba(0, 15, 159, .1) 60%); pointer-events: none; }
.qc .qc-tile__num { position: absolute; left: 26px; top: 22px; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600; letter-spacing: 2px; color: #8ff7dc; pointer-events: none; }
.qc .qc-tile__copy { position: absolute; left: 26px; right: 26px; bottom: 26px; display: flex; flex-direction: column; gap: 12px; pointer-events: none; }
.qc .qc-tile__rule { display: block; width: 40px; height: 3px; border-radius: 2px; background: #8ff7dc; }
.qc .qc-tile__t { font-size: min(2vw, 3.8vh, 30px); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; }

.qc .qc-modal { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; padding: 5vh 5vw; background: rgba(0, 15, 159, .78); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.qc .qc-modal[hidden] { display: none; }
.qc .qc-modal__panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); width: min(980px, 100%); max-height: 90vh; border-radius: 28px; overflow: hidden; background: #000f9f; color: #fff; box-shadow: 0 40px 100px rgba(0, 0, 0, .45); }
.qc .qc-modal__preview { position: relative; padding: 4vh 3vw; background: #000f9f; display: flex; align-items: center; justify-content: center; }
.qc .qc-modal__sheet { position: relative; width: 100%; aspect-ratio: 1 / 1.32; max-height: 72vh; border-radius: 14px; background: linear-gradient(160deg, #e9f6ff, #cfe8f5); color: #000f9f; box-shadow: 0 30px 60px rgba(5, 15, 70, .4); overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 2.4vh; padding: 4vh 8%; text-align: center; }
.qc .qc-modal__frame { position: absolute; inset: 10px; border: 2px solid rgba(0, 15, 159, .35); border-radius: 8px; pointer-events: none; }
.qc .qc-modal__kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 4px; color: #0fb39b; }
.qc .qc-modal__sheet-code { font-size: min(4vw, 7vh, 60px); line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.qc .qc-modal__sheet-t { font-size: 15px; font-weight: 600; }
.qc .qc-modal__lines { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 2vh; filter: blur(4px); opacity: .55; }
.qc .qc-modal__lines span { height: 9px; border-radius: 5px; background: #000f9f; align-self: center; }
.qc .qc-modal__lines span:nth-child(1) { width: 100%; }
.qc .qc-modal__lines span:nth-child(2) { width: 86%; }
.qc .qc-modal__lines span:nth-child(3) { width: 92%; }
.qc .qc-modal__lines span:nth-child(4) { width: 70%; }
.qc .qc-modal__seal { margin-top: auto; width: 76px; height: 76px; border-radius: 50%; background: #0fb39b; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 38px; }
.qc .qc-modal__info { display: flex; flex-direction: column; justify-content: center; gap: 2.6vh; padding: 5vh 3vw; }
.qc .qc-modal__code { font-size: min(3vw, 5.4vh, 44px); line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.qc .qc-modal__t { font-size: 17px; line-height: 1.5; font-weight: 600; color: #fff; }
.qc .qc-modal__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 1vh; }
.qc .qc-modal__btn { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 22px; border-radius: 999px; font-size: 14px; text-decoration: none; }
.qc .qc-modal__btn .qc-icon { font-size: 20px; }
.qc .qc-modal__btn--solid { background: #8ff7dc; color: #000f9f; font-weight: 700; }
.qc .qc-modal__btn--solid:hover { background: #fff; color: #000f9f; }
.qc .qc-modal__btn--ghost { border: 1.5px solid rgba(255, 255, 255, .6); color: #fff; font-weight: 600; }
.qc .qc-modal__btn--ghost:hover { background: #fff; color: #000f9f; }
.qc .qc-modal__close { position: absolute; right: 16px; top: 16px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.qc .qc-modal__close:hover { background: #8ff7dc; color: #000f9f; }
