@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--sa-bg:#080d20;--sa-panel:#111a35;--sa-panel2:#172347;--sa-text:#f7f8ff;--sa-muted:#aeb8d2;--sa-violet:#7655e8;--sa-pink:#d17af3;--sa-blue:#46b7f5;--sa-line:rgba(180,194,255,.18);--sa-white:#fff;--sa-shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans','Manrope',Arial,sans-serif!important;background:radial-gradient(ellipse at 12% 8%,#182b59 0,transparent 34%),radial-gradient(ellipse at 88% 78%,#28184d 0,transparent 32%),var(--sa-bg)!important;color:var(--sa-text)!important;margin:0!important;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}
/* Shared navigation: compact wordmark + question-mark help; legacy menu is intentionally retired. */
.razor-header,.portal-menu-overlay,.portal-menu-panel,.info-content-modal{display:none!important}.sa-header,.sa-page-header{height:76px;max-width:1320px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sa-line);position:relative;z-index:5}.sa-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand-mark{font-size:30px;filter:drop-shadow(0 0 14px rgba(121,91,255,.65))}.sa-brand strong{display:block;font:800 19px Manrope,sans-serif;letter-spacing:-.5px}.sa-brand small{display:block;color:#aeb8d2;font-size:11px;letter-spacing:.4px}.help-trigger{border:1px solid rgba(191,178,255,.55);background:rgba(22,29,61,.78);color:#fff;border-radius:30px;padding:9px 16px;font-weight:700;box-shadow:0 0 18px rgba(122,89,240,.12)}.help-trigger:hover{background:#7655e8}.sa-page-header .help-trigger{display:inline-flex;align-items:center;gap:8px}
/* Registration */
.registration-page{overflow-x:hidden}.registration-layout{max-width:1320px;margin:0 auto;padding:38px 34px 58px;display:grid;grid-template-columns:minmax(0,1fr) minmax(490px,.95fr);gap:44px;align-items:center;min-height:calc(100vh - 76px)}.registration-hero{min-height:640px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:22px 26px;position:relative;overflow:hidden}.registration-hero:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(99,128,255,.13);border-radius:50%;left:-80px;top:30px;box-shadow:0 0 100px rgba(73,89,255,.09),inset 0 0 100px rgba(73,89,255,.07)}.hero-orb{width:310px;height:270px;position:relative;display:grid;place-items:center;margin:0 0 22px 38px}.hero-brain{font-size:115px;z-index:2;filter:drop-shadow(0 0 22px #7c64ff) drop-shadow(0 0 45px #237cf4);animation:brainFloat 4s ease-in-out infinite}.hero-ring{position:absolute;border:1px solid rgba(95,143,255,.65);border-radius:50%;width:255px;height:255px;transform:rotateX(65deg);box-shadow:0 0 20px rgba(80,122,255,.2)}.ring-b{width:205px;height:205px;border-color:rgba(205,125,255,.55);transform:rotateX(70deg) rotateZ(35deg);animation:orbit 13s linear infinite}.hero-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#c78aff;box-shadow:0 0 18px #b57bff}.dot-a{top:34px;right:58px}.dot-b{bottom:38px;left:35px;background:#54c5ff}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#a99aff;font-weight:800}.registration-hero h1{font:800 clamp(38px,5vw,64px)/1.06 Manrope,sans-serif;letter-spacing:-2.8px;margin:10px 0 14px}.registration-hero h1 em,.panel-heading h2 em{font-style:normal;background:linear-gradient(100deg,#65c8ff,#ad80ff 70%,#e19bf5);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{color:#b9c4df;max-width:440px;font-size:16px;line-height:1.7}.hero-benefits{display:flex;gap:0;margin-top:35px;border:1px solid var(--sa-line);border-radius:18px;background:rgba(18,29,62,.55);backdrop-filter:blur(12px);overflow:hidden}.hero-benefits div{min-width:112px;padding:15px 22px;border-right:1px solid var(--sa-line)}.hero-benefits div:last-child{border:0}.hero-benefits b{display:block;font-size:23px;color:#fff}.hero-benefits span{font-size:11px;color:#aeb8d2}
.registration-panel{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,244,255,.98));color:#15182a;border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:34px 36px 25px;box-shadow:0 25px 90px rgba(0,0,0,.28),0 0 55px rgba(129,105,255,.13);position:relative;overflow:hidden}.registration-panel:before{content:"";position:absolute;top:-100px;right:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(185,153,255,.2),transparent 68%);pointer-events:none}.panel-heading{position:relative}.panel-heading .eyebrow{color:#795ee2;font-size:9px}.panel-heading h2{font:800 31px Manrope,sans-serif;letter-spacing:-1.2px;margin:8px 0}.panel-heading h2 em{background:linear-gradient(100deg,#6756dc,#b36ee8);-webkit-background-clip:text;background-clip:text}.panel-heading p{color:#73788b;margin:0 0 24px;font-size:13px}.field-group{margin:0 0 16px;min-width:0}.field-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.field-group label{display:block;font-size:12px;font-weight:800;color:#22263a;margin:0 0 7px}.field-group label b{color:#8b64e8}.field-group input:not([type=checkbox]){width:100%;height:46px;border:1px solid #d8dbea;border-radius:11px;padding:0 14px;background:#fff;color:#20243a;outline:none;transition:.2s;box-shadow:0 2px 5px rgba(25,32,70,.025)}.field-group input:focus{border-color:#9278ee;box-shadow:0 0 0 3px rgba(126,94,230,.13)}.field-group input::placeholder{color:#a0a5b5}.gender-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gender-choice{height:46px;border:1px solid #d8dbea;border-radius:11px;background:#fff;color:#43465b;font-weight:700;font-size:12px;transition:.2s}.gender-choice span{margin-left:3px}.gender-choice.selected{background:linear-gradient(120deg,#7655e8,#a16ce8);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(118,85,232,.22)}.email-verify-row{display:flex;gap:9px}.email-verify-row input{flex:1;min-width:0}.outline-button{flex:0 0 auto;border:1px solid #9b83ed;color:#684bd2;background:#f8f6ff;border-radius:11px;padding:0 14px;font-size:11px;font-weight:800}.outline-button:hover{background:#eee9ff}.outline-button:disabled{opacity:.65;cursor:default}.field-hint{display:block;color:#85899b;font-size:10px;margin:6px 2px 0}.field-error{display:block;color:#d3425b;font-size:11px;font-weight:600;min-height:0;margin:4px 2px 0}.has-error input:not([type=checkbox]){border-color:#df6275!important;background:#fffafb}.has-error .gender-choice{border-color:#df6275}.is-verified input{border-color:#69b78e!important}.is-verified .field-hint{color:#218454}.text-button{border:0;background:none;color:#7357d9;font-size:11px;font-weight:800;padding:8px 0}.text-button:disabled{color:#a5a7b1}.consent-row{display:flex;align-items:flex-start;gap:9px;color:#555a6e;font-size:11px;line-height:1.5;margin:12px 0 4px}.consent-row input{accent-color:#7655e8;margin-top:2px}.consent-row a{color:#7152d8;font-weight:800}.primary-button{width:100%;height:54px;border:0;border-radius:13px;color:#fff;background:linear-gradient(100deg,#7655e8,#9364e9 55%,#b66ce8);font-weight:800;font-size:14px;box-shadow:0 10px 24px rgba(118,85,232,.24);margin-top:13px;display:flex;align-items:center;justify-content:center;gap:14px}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-button strong{font-size:15px}.primary-button span{font-size:20px}.secure-note{text-align:center;color:#85899b;font-size:10px;margin:11px 0 0}.panel-foot{border-top:1px solid #e9eaf2;margin-top:22px;padding-top:14px;display:flex;justify-content:space-around;gap:10px;color:#7a7e91;font-size:10px}
/* Splash */
.iq-splash{position:fixed;inset:0;z-index:10000;background:radial-gradient(circle at 50% 42%,#1b2b61,#080d20 62%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:opacity .55s,visibility .55s}.iq-splash.splash-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-brand{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;font:800 23px Manrope,sans-serif}.splash-brand .brand-mark{grid-row:span 2}.splash-brand b{color:#bd9cff}.splash-brand small{grid-column:2;color:#9ca9ca;font-size:9px;letter-spacing:2px;text-align:left}.brain-scan{width:205px;height:205px;margin:32px 0 20px;position:relative;display:grid;place-items:center}.brain-core{font-size:82px;filter:drop-shadow(0 0 18px #9b7aff);animation:brainFloat 2.4s ease-in-out infinite}.scan-orbit{position:absolute;inset:10px;border:1px solid rgba(120,155,255,.65);border-radius:50%;box-shadow:0 0 24px rgba(108,114,255,.18)}.orbit-two{inset:28px;border-color:rgba(200,132,255,.6);transform:rotateX(68deg);animation:orbit 7s linear infinite}.scan-line{position:absolute;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent,#73d8ff,transparent);box-shadow:0 0 14px #73d8ff;animation:scan 2s ease-in-out infinite}.iq-splash h1{font:800 25px Manrope;margin:0}.iq-splash>p{color:#aeb8d2;font-size:12px}.init-status{display:flex;gap:14px;align-items:center;color:#9eabc9;font-size:10px;margin:15px}.init-status b{color:#79d6b4;font-size:9px}.splash-progress{width:230px;height:4px;background:#29365e;border-radius:9px;overflow:hidden;margin-top:15px}.splash-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#54bfff,#bd83ff);animation:loadBar 2.5s ease forwards}@keyframes loadBar{to{width:100%}}@keyframes scan{0%,100%{top:25%;opacity:.3}50%{top:75%;opacity:1}}@keyframes orbit{to{transform:rotateX(68deg) rotateZ(360deg)}}@keyframes brainFloat{50%{transform:translateY(-8px) scale(1.04)}}
/* Modal, toast, FAQ */
.sa-modal{display:none;position:fixed;inset:0;z-index:11000;background:rgba(4,8,22,.72);backdrop-filter:blur(9px);align-items:center;justify-content:center;padding:20px}.sa-modal.open{display:flex}.sa-modal-card{width:min(100%,520px);max-height:85vh;overflow:auto;background:#fff;color:#20243a;border-radius:22px;padding:30px;position:relative;box-shadow:var(--sa-shadow)}.sa-modal-card h2{margin:7px 0 20px;font:800 25px Manrope}.modal-close{position:absolute;right:18px;top:14px;border:0;background:#f0eff8;border-radius:50%;width:34px;height:34px;font-size:22px;color:#42445a}.help-list details{border:1px solid #e8e8f1;border-radius:12px;padding:13px 15px;margin:9px 0}.help-list summary{font-weight:800;font-size:13px;cursor:pointer}.help-list p{color:#73788b;font-size:12px;line-height:1.6;margin-bottom:0}.support-actions{display:flex;gap:10px;margin-top:18px}.support-actions a{flex:1;text-align:center;text-decoration:none;background:#f1edff;color:#684bd2;padding:12px;border-radius:10px;font-size:12px;font-weight:800}.support-line{color:#7d8193;font-size:11px}.sa-toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:12000;background:#17213e;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:13px 18px;box-shadow:var(--sa-shadow);font-size:12px;max-width:min(90vw,480px);transition:.25s}.sa-toast.visible{opacity:1;transform:translate(-50%,0)}.sa-toast[data-type=success]{border-color:#48bd91}.sa-toast[data-type=error]{border-color:#e46d82}
/* Instructions / calculation page overrides */
.main-wrapper{max-width:850px!important;margin:45px auto!important;padding:0 22px!important}.header-section{background:transparent!important;border:0!important;box-shadow:none!important}.main-title{color:#fff!important;font:800 clamp(26px,4vw,38px) Manrope,sans-serif!important}.instructions-card,.container{max-width:850px!important;background:linear-gradient(145deg,#fff,#f5f4ff)!important;color:#20243a!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:24px!important;padding:clamp(22px,4vw,38px)!important;box-shadow:var(--sa-shadow)!important;margin:20px auto!important}.instructions-card h2,.container h2{color:#25213b!important;font:800 25px Manrope!important}.points-list li{color:#555a6e!important}.points-list li:before{color:#8967e9!important}.start-test-btn,.container button,.assessment-submit{width:auto!important;min-width:190px;background:linear-gradient(100deg,#7655e8,#a26be9)!important;border:0!important;border-radius:12px!important;padding:14px 24px!important;color:#fff!important;box-shadow:0 8px 22px rgba(118,85,232,.22)}.formula-box{border-color:#9a84e9!important;color:#5945b6!important;border-radius:12px!important}.container input{border:1px solid #d8dbea!important;border-radius:10px!important}.warning-ticker{border-radius:10px!important}
/* Test page: one question at a time */
body:has(.question-container){padding:0 18px 55px!important}.back-button{display:none!important}.test-header{max-width:850px;margin:95px auto 18px!important;color:#fff!important}.test-header h1{font:800 clamp(23px,4vw,34px) Manrope!important}.question-container{display:none!important;max-width:850px!important;width:min(100%,850px)!important;margin:20px auto!important;background:linear-gradient(145deg,#fff,#f7f5ff)!important;color:#20243a!important;border:1px solid #e6e2f7!important;border-radius:22px!important;padding:clamp(22px,4vw,38px)!important;box-shadow:var(--sa-shadow)!important;text-align:left!important}.question-container.question-active{display:block!important;animation:questionIn .28s ease}@keyframes questionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.question-text{font:800 clamp(18px,3vw,24px) Manrope!important;color:#20243a!important;line-height:1.45!important;margin:0 0 22px!important}.option-container{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}.option{display:block!important;cursor:pointer}.option input{position:absolute;opacity:0;pointer-events:none}.option-card{display:flex!important;align-items:center;min-height:54px;padding:12px 16px!important;border:1px solid #e0deeb!important;border-radius:13px!important;background:#fff!important;color:#34364a!important;font-weight:700!important;transition:.18s}.option input:checked+.option-card{border-color:#8e6be8!important;background:#f1ebff!important;box-shadow:0 0 0 2px rgba(142,107,232,.12)}.option-card:hover{border-color:#a58aee!important}.assessment-progress-card{max-width:850px;margin:18px auto 0;padding:18px 22px;border:1px solid var(--sa-line);border-radius:18px;background:rgba(18,29,62,.85);box-shadow:var(--sa-shadow)}.assessment-topline,.assessment-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#c4cce0}.assessment-kicker{letter-spacing:1.5px;color:#b69bff;font-weight:800}.assessment-progress-track{height:7px;background:#2c365b;border-radius:20px;margin:13px 0 8px;overflow:hidden}.assessment-progress-track i{display:block;height:100%;width:3%;background:linear-gradient(90deg,#59bdff,#bd83ff);border-radius:20px;transition:width .25s}.assessment-progress-meta{color:#98a5c5;font-size:10px}.question-controls{max-width:850px;margin:0 auto;display:flex;justify-content:space-between;gap:12px}.question-controls button{min-width:145px;border-radius:12px;padding:13px 18px;font-weight:800}.secondary-action{border:1px solid rgba(186,173,255,.55);background:#171f40;color:#e9e8ff}.primary-action{border:0;background:linear-gradient(100deg,#7655e8,#a26be9);color:#fff}.question-controls button:disabled{opacity:.4;cursor:not-allowed}.assessment-submit{display:block;margin:20px auto 0!important}.assessment-submit[hidden]{display:none!important}#timer-box{top:12px!important;left:auto!important;right:16px!important;width:auto!important;border-radius:14px!important;padding:9px 15px!important;background:#182246!important;border:1px solid #9478ef!important;font-size:13px!important;box-shadow:0 8px 25px rgba(0,0,0,.25)!important}#timer-countdown{color:#c6a7ff}.submit-loader,.loader{display:none}
/* Certificate retains its original certificate artwork/layout; add only the verification seal and isolate print output. */
.certificate{margin-top:42px!important}.certificate-stamp{width:104px;height:104px;border:4px double #7655e8;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6546c8;background:rgba(245,241,255,.88);font-weight:900;line-height:1.05;transform:rotate(-12deg);box-shadow:0 2px 10px rgba(74,54,140,.12);flex:0 0 auto}.certificate-stamp strong{font-size:15px;letter-spacing:1px}.certificate-stamp span{font-size:8px;letter-spacing:1.2px;margin-top:4px}.certificate-stamp small{font-size:7px;margin-top:5px}.certificate .footer{align-items:center!important}.certificate .timestamp{font-size:10px!important}.certificate .btn-container{position:relative;z-index:3}.certificate .btn{background:#7655e8;color:#fff}.certificate .btn:hover{background:#6242d0}
@page{size:A4 landscape;margin:8mm}@media print{html,body{background:#fff!important;margin:0!important;padding:0!important;min-height:0!important}body *{visibility:hidden!important}.certificate,.certificate *{visibility:visible!important}.certificate{position:absolute!important;left:0!important;top:0!important;margin:0!important;width:100%!important;max-width:none!important;height:190mm!important;aspect-ratio:auto!important;box-shadow:none!important;break-inside:avoid!important}.certificate .btn-container{display:none!important}.certificate-stamp{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(max-width:900px){.registration-layout{grid-template-columns:1fr;gap:18px;padding:20px 18px 40px}.registration-hero{min-height:0;align-items:center;text-align:center;padding:20px 12px}.registration-hero:before{left:50%;transform:translateX(-50%);top:-100px}.hero-orb{width:220px;height:190px;margin:0 auto 10px}.hero-brain{font-size:88px}.hero-ring{width:190px;height:190px}.ring-b{width:150px;height:150px}.registration-hero h1{font-size:38px}.hero-copy{margin:0 auto}.hero-benefits{margin-top:20px}.registration-panel{max-width:620px;width:100%;margin:0 auto;padding:27px 24px 22px}.sa-header,.sa-page-header{height:66px;padding:0 18px}.main-wrapper{margin-top:30px!important}}
@media(max-width:560px){.registration-layout{padding:12px 13px 30px;gap:10px}.sa-header{padding:0 15px}.sa-brand strong{font-size:16px}.brand-mark{font-size:26px}.help-trigger{padding:8px 12px}.help-trigger span{display:inline}.registration-hero{padding:12px 5px}.hero-orb{height:155px;width:185px}.hero-brain{font-size:76px}.hero-ring{width:160px;height:160px}.ring-b{width:125px;height:125px}.registration-hero h1{font-size:31px;letter-spacing:-1.5px}.hero-copy{font-size:12px}.hero-benefits div{min-width:88px;padding:11px 13px}.hero-benefits b{font-size:19px}.hero-benefits span{font-size:9px}.registration-panel{padding:22px 17px 18px;border-radius:21px}.panel-heading h2{font-size:25px}.panel-heading p{font-size:11px;margin-bottom:18px}.field-row{grid-template-columns:1fr;gap:0}.field-group{margin-bottom:13px}.field-group input:not([type=checkbox]){height:44px}.gender-choice{height:43px;font-size:11px}.email-verify-row{gap:6px}.outline-button{padding:0 9px;font-size:10px}.panel-foot{font-size:9px}.init-status{gap:8px;font-size:8px}.iq-splash h1{font-size:21px}.test-header{margin-top:80px!important}.option-container{grid-template-columns:1fr}.assessment-progress-card{padding:14px 15px}.question-controls button{min-width:0;flex:1;padding:12px 8px}.question-container{padding:21px 17px!important}.certificate{padding:18px!important;border-width:9px!important}.certificate-stamp{width:78px;height:78px}.certificate-stamp strong{font-size:11px}.certificate-stamp span{font-size:6px}.certificate-stamp small{font-size:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.assessment-transition{display:none;position:fixed;inset:0;z-index:15000;background:radial-gradient(circle at 50% 45%,#1a2d61,#080d20 65%);color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center}.assessment-transition.active{display:flex}.transition-brain{font-size:82px;filter:drop-shadow(0 0 25px #9c7aff);animation:brainFloat 1.4s ease-in-out infinite}.assessment-transition strong{font:800 22px Manrope}.assessment-transition span{font-size:12px;color:#aeb8d2}
@media screen{#timer-box{top:84px!important}}
/* Automatic calculation interstitial; the scoring function itself remains untouched. */
.iq-processing{margin:18px auto 22px;padding:28px 20px;max-width:560px;border-radius:20px;background:linear-gradient(145deg,#111b3d,#1c2450);border:1px solid rgba(174,151,255,.3);color:#fff;text-align:center;box-shadow:0 18px 45px rgba(20,18,60,.2);transition:opacity .4s,transform .4s}.processing-brain{font-size:58px;filter:drop-shadow(0 0 18px #9674ff);animation:brainFloat 1.5s ease-in-out infinite}.iq-processing h2{color:#fff!important;margin:8px 0!important}.iq-processing p{color:#b7c3e1;font-size:12px}.processing-steps{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;color:#bfc9e5;font-size:10px;margin:16px 0}.processing-bar{height:6px;background:#303b68;border-radius:20px;overflow:hidden;max-width:330px;margin:0 auto}.processing-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5bbfff,#bd83ff);animation:loadBar 2s ease forwards}.processing-complete{opacity:0;transform:translateY(-8px)}#iq-output>div{background:linear-gradient(145deg,#fff,#f5f2ff)!important;border:1px solid #e3dcff!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(34,25,80,.12)!important;color:#25243a!important}#iq-output h1{color:#7655e8!important}#iq-output button{background:linear-gradient(100deg,#7655e8,#a26be9)!important;border-radius:12px!important}
body.calculation-auto #ca-input,body.calculation-auto .container>p:not(.warning-ticker){display:none!important}


/* ===== Precision corrections: inline validation, modal scroll lock, viewport-fit layouts ===== */
.field-error:empty{display:none!important}
.field-error:not(:empty){display:flex;align-items:center;gap:5px;line-height:1.25;margin:5px 2px 0}
.field-error:not(:empty)::before{
  content:"!";display:inline-grid;place-items:center;flex:0 0 14px;width:14px;height:14px;
  border:1.4px solid currentColor;border-radius:50%;font-size:10px;font-weight:900;line-height:1;
}
#terms-error{margin:3px 2px 0 27px}
.consent-row.has-error span{color:#b94358}
.field-group.has-error input:not([type=checkbox]){border-color:#d95d72!important;background:#fffafb!important}
.field-group.has-error .gender-choice{border-color:#d95d72!important}
.field-group.is-verified input{background:#f0f2f5!important;color:#73798a!important;border-color:#cbd1dc!important;cursor:not-allowed}
.change-email-button{margin-top:4px;text-align:left}
.otp-group{padding:10px 12px;background:#f5f2ff;border:1px solid #e4dcff;border-radius:12px}
.otp-group[hidden]{display:none!important}
html.modal-open,body.modal-open{overflow:hidden!important;overscroll-behavior:none!important}
.sa-modal{overscroll-behavior:contain;touch-action:pan-y}
.sa-modal-card{max-height:min(84dvh,720px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.sa-dialog{display:none;position:fixed;inset:0;z-index:13000;background:rgba(3,7,20,.76);backdrop-filter:blur(9px);align-items:center;justify-content:center;padding:18px}
.sa-dialog.open{display:flex}
.sa-dialog-card{width:min(100%,430px);background:#fff;color:#20243a;border:1px solid #e8e4f8;border-radius:22px;padding:26px;box-shadow:0 25px 80px rgba(0,0,0,.35);text-align:center}
.sa-dialog-icon{width:42px;height:42px;border:2px solid #8b70e8;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;color:#795be0;font-size:24px;font-weight:800}
.sa-dialog-card h2{font:800 21px Manrope,sans-serif;margin:0 0 8px}
.sa-dialog-card p{color:#6e7284;font-size:13px;line-height:1.6;margin:0 0 20px}
.sa-dialog-actions{display:flex;gap:10px;justify-content:center}
.sa-dialog-actions button{min-height:44px;flex:1;border-radius:11px;font-weight:800}
.sa-dialog-actions .secondary-action{background:#f5f3fc;color:#514a70;border:1px solid #e4def6}
.sa-dialog-actions .primary-action{background:linear-gradient(100deg,#7655e8,#a26be9);color:#fff;border:0}
.sa-toast{z-index:14000}

/* Registration: desktop and mobile fit the complete form into the first viewport. */
body.registration-page{height:100svh;min-height:0;overflow:hidden}
.registration-page .sa-header{height:62px}
.registration-layout{height:calc(100svh - 62px);min-height:0;padding:14px 30px;gap:28px;align-items:center;overflow:hidden}
.registration-hero{min-height:0;padding:10px 18px}
.hero-orb{width:260px;height:220px;margin:0 0 12px 22px}
.hero-brain{font-size:96px}
.hero-ring{width:220px;height:220px}
.ring-b{width:176px;height:176px}
.registration-hero h1{font-size:clamp(34px,4vw,54px)}
.hero-benefits{margin-top:20px}
.registration-panel{padding:24px 28px 18px}
.panel-heading h2{font-size:28px}
.panel-heading p{margin-bottom:16px}
.field-group{margin-bottom:11px}
.field-group input:not([type=checkbox]){height:42px}
.gender-choice{height:42px}
.panel-foot{margin-top:12px;padding-top:10px}
.primary-button{height:48px;margin-top:9px}
@media(max-width:900px){
  body.registration-page{height:100svh;overflow:hidden}
  .registration-layout{height:calc(100svh - 62px);padding:8px 14px;gap:8px}
  .registration-hero{padding:0;min-height:0}
  .hero-orb{display:none}
  .registration-hero>.eyebrow,.registration-hero h1,.registration-hero .hero-copy{display:none}
  .hero-benefits{margin:0 auto 6px}
  .registration-panel{padding:18px 20px 14px}
  .panel-heading h2{font-size:25px}
}
@media(max-width:560px){
  body.registration-page{height:100svh;overflow:hidden}
  .registration-page .sa-header{height:48px;padding:0 12px}
  .registration-page .sa-brand strong{font-size:15px}
  .registration-page .sa-brand small{font-size:9px}
  .registration-page .brand-mark{font-size:23px}
  .registration-page .help-trigger{padding:6px 10px;font-size:12px}
  .registration-layout{height:calc(100svh - 48px);padding:3px 9px 7px;gap:3px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}
  .registration-hero{flex:0 0 auto;width:100%;padding:0}
  .hero-benefits{margin:0 auto 4px;border-radius:11px}
  .hero-benefits div{min-width:86px;padding:5px 10px}
  .hero-benefits b{font-size:16px}
  .hero-benefits span{font-size:8px}
  .registration-panel{flex:1 1 auto;width:100%;max-width:none;margin:0;padding:12px 13px 9px;border-radius:16px;overflow:visible}
  .panel-heading .eyebrow{font-size:8px;letter-spacing:1.7px}
  .panel-heading h2{font-size:21px;margin:3px 0}
  .panel-heading p{font-size:10px;margin:0 0 8px}
  .field-row{grid-template-columns:.78fr 1.22fr;gap:8px}
  .field-group{margin-bottom:7px}
  .field-group label{font-size:10px;margin-bottom:4px}
  .field-group input:not([type=checkbox]){height:35px;padding:0 10px;font-size:12px;border-radius:9px}
  .gender-options{gap:4px}
  .gender-choice{height:35px;font-size:10px;border-radius:8px;padding:0 3px}
  .gender-choice span{margin-left:1px}
  .email-verify-row{gap:5px}
  .outline-button{font-size:9px;padding:0 7px;border-radius:8px}
  .field-hint{font-size:8px;margin-top:3px}
  .field-error:not(:empty){font-size:9px;margin-top:3px;gap:4px}
  .field-error:not(:empty)::before{width:12px;height:12px;flex-basis:12px;font-size:9px}
  #terms-error{margin-left:23px}
  .otp-group{padding:6px 8px;margin-bottom:6px}
  .text-button{font-size:9px;padding:4px 0}
  .consent-row{font-size:9px;gap:6px;margin:5px 0 2px}
  .consent-row input{width:14px;height:14px;margin-top:0}
  .primary-button{height:41px;font-size:12px;margin-top:6px;border-radius:10px;gap:8px}
  .primary-button strong{font-size:12px}
  .secure-note{font-size:8px;margin:5px 0 0}
  .panel-foot{display:none}
}

/* Instructions: one calm, centered cover on desktop and compact responsive card. */
.single-screen-page{height:100svh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.sa-page-header{height:62px;flex:0 0 62px;width:100%;max-width:1320px}
.single-screen-content{flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:12px 24px;overflow:hidden}
.instructions-card{width:min(920px,100%);max-width:920px!important;margin:0!important;padding:24px 30px!important}
.instruction-title-row{display:flex;align-items:center;gap:17px;margin-bottom:16px}
.instruction-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#eee9ff,#d9eaff);color:#795be0;font-size:30px;flex:0 0 auto}
.instruction-title-row h1{font:800 27px Manrope,sans-serif;color:#24243a;margin:3px 0}
.instruction-title-row p{font-size:12px;color:#73788b;margin:0}
.instruction-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.instruction-stats>div{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;align-items:center;padding:11px 13px;background:#f7f5ff;border:1px solid #e9e3ff;border-radius:13px}
.instruction-stats>div>span{grid-row:span 2;font-size:22px;color:#795be0}
.instruction-stats small{font-size:10px;color:#7b7e91}
.instruction-stats strong{font-size:13px;color:#29283d}
.instruction-guidelines{background:#fbfaff;border:1px solid #ece7ff;border-radius:14px;padding:13px 17px}
.instruction-guidelines h2{font:800 14px Manrope;color:#5d49b5;margin:0 0 8px}
.instruction-guidelines h2 span{margin-right:6px}
.points-list{margin:0;padding-left:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:6px}
.points-list li{font-size:11px;line-height:1.45;color:#5d6173;margin:0}
.instruction-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}
.instruction-footer>span{font-size:10px;color:#7a7e91}
.instruction-footer>span b{color:#a08ce9;padding:0 4px}
.start-test-btn{min-width:220px;margin:0!important;padding:13px 20px!important;display:flex;align-items:center;justify-content:center;gap:12px}
.start-test-btn span{font-size:18px}
@media(max-width:700px){
  .single-screen-page{height:auto;min-height:100svh;overflow-y:auto}
  .single-screen-content{padding:15px 12px 24px;overflow:visible}
  .instructions-card{padding:19px 16px!important}
  .instruction-title-row h1{font-size:22px}
  .points-list{grid-template-columns:1fr}
  .instruction-footer{align-items:stretch;flex-direction:column}
  .start-test-btn{width:100%!important}
}

/* Test: keep the active question centered, compact the top header and lock page to viewport. */
body:has(.question-container){height:100svh;min-height:0;overflow:hidden!important;padding:0 14px 12px!important;display:flex;flex-direction:column;align-items:stretch}
body:has(.question-container) .sa-page-header{height:54px;flex:0 0 54px;padding:0 18px}
body:has(.question-container) center{display:flex;flex:1;min-height:0;width:100%;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;overflow:hidden}
.test-header{width:min(820px,100%);margin:4px auto 8px!important;text-align:center}
.test-header h1{font-size:19px!important;margin:0}
.assessment-progress-card{width:min(820px,100%);margin:0 auto 10px;padding:13px 18px}
.question-container{width:min(820px,100%)!important;max-width:820px!important;margin:0 auto 10px!important;padding:26px 32px!important;text-align:center!important}
.question-text{text-align:center!important}
.option-container{max-width:680px;margin:0 auto}
.question-controls{width:min(820px,100%);margin:0 auto}
#timer-box{top:62px!important;right:18px!important;padding:6px 11px!important;font-size:11px!important}
#submit-btn{margin:10px auto 0!important}
.assessment-transition{z-index:15000}
@media(max-width:700px){
  body:has(.question-container){padding:0 10px 8px!important}
  body:has(.question-container) .sa-page-header{height:50px;flex-basis:50px;padding:0 12px}
  body:has(.question-container) center{justify-content:center}
  .test-header{margin:2px auto 5px!important}
  .test-header h1{font-size:15px!important}
  .assessment-progress-card{padding:10px 12px;margin-bottom:8px}
  .assessment-topline{font-size:9px}
  .question-container{padding:20px 15px!important;margin-bottom:8px!important}
  .question-text{font-size:17px!important;margin-bottom:15px!important}
  .option-container{grid-template-columns:1fr!important;gap:7px!important}
  .option-card{min-height:43px;padding:9px 12px!important;font-size:12px}
  .question-controls button{min-height:42px;font-size:11px}
  #timer-box{top:55px!important;right:10px!important;font-size:10px!important;padding:5px 9px!important}
}

/* Calculation result: distinct processing interstitial then a single centered result cover. */
.calculation-content{padding:12px 22px}
.calculation-card{width:min(900px,100%);max-width:900px!important;margin:0!important;padding:25px 32px!important;text-align:center}
.result-heading h1{font:800 27px Manrope;color:#24243a;margin:4px 0}
.result-heading p{font-size:11px;color:#7c8091;margin:0 0 10px}
.calculation-card .formula-box{font-size:15px;padding:8px 13px;margin:8px auto 12px}
.calculation-age-entry{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.calculation-age-entry label{font-size:11px;color:#555a6e}
.calculation-age-entry input{width:130px!important;height:38px;padding:0 10px}
.calculation-age-entry button{padding:10px 16px!important;font-size:12px!important;min-width:0!important}
.warning-ticker{font-size:10px;color:#7a7e91;margin:8px 0}
#iq-output{width:100%;max-width:600px;margin:8px auto 0}
#iq-output>div{padding:15px!important}
#iq-output h1{font-size:34px!important;margin:5px 0!important}
#iq-output button{padding:11px!important;font-size:13px!important}
.calculation-auto .calculation-card{visibility:hidden}
.calculation-auto .iq-processing{visibility:visible;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 30px));z-index:20;margin:0}
.calculation-auto.calculation-result-ready .calculation-card{visibility:visible;animation:resultReveal .35s ease both}
.calculation-auto.calculation-result-ready .iq-processing{display:none}
@keyframes resultReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){
  .calculation-content{padding:12px}
  .calculation-card{padding:20px 15px!important}
  .result-heading h1{font-size:22px}
  .calculation-age-entry{flex-direction:column}
}

/* Certificate: retain the certificate artwork; fit the page and isolate print output. */
body.certificate-page{height:100svh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.certificate-page .sa-page-header{height:56px;flex:0 0 56px}
.certificate-stage{flex:1;min-height:0;display:grid;place-items:center;padding:8px 20px;overflow:hidden}
.certificate-page .certificate{width:min(920px,94vw)!important;max-height:calc(100svh - 82px);aspect-ratio:1.55/1!important;margin:0 auto!important;padding:24px 34px!important;border-width:12px!important;display:flex;flex-direction:column;justify-content:space-between}
.certificate-page .header h1{font-size:clamp(26px,4vw,42px)!important;margin:0}
.certificate-page .sub-header{margin-bottom:4px!important;font-size:12px!important}
.certificate-page .user-name{font-size:clamp(34px,6vw,52px)!important;margin:4px 0!important}
.certificate-page .result-box{margin:8px auto!important;padding:8px 18px!important;font-size:16px!important}
.certificate-page .details-grid{margin:8px auto!important;padding-top:8px!important}
.certificate-page .footer{margin-top:8px!important}
.certificate-page .certificate-stamp{width:88px;height:88px}
.certificate-page .btn-container{margin-top:10px!important;gap:10px!important}
.certificate-page .btn-container .btn{padding:9px 16px!important;font-size:12px!important}
@media(max-width:700px){
  body.certificate-page{height:auto;min-height:100svh;overflow-y:auto}
  .certificate-stage{padding:12px}
  .certificate-page .certificate{width:100%!important;max-height:none;aspect-ratio:auto!important;min-height:560px;padding:20px 14px!important;border-width:9px!important}
  .certificate-page .details-grid{max-width:100%}
  .certificate-page .footer{gap:8px}
}
@media print{
  .certificate-page .sa-page-header{display:none!important}
  .certificate-stage{display:block!important;padding:0!important;overflow:visible!important}
  .certificate-page .certificate{max-height:none!important;width:100%!important;height:190mm!important;aspect-ratio:auto!important;margin:0!important}
}

.calculation-auto .calculation-age-entry{display:none!important}
