/* Shared presentation for the individual user's journey; no scoring or form logic. */
body.product-page { margin: 0; background: #fff; color: #212842; --ind: #212842; --elec: #4e0000; --ind-p: #f7f4f4; --muted: #4a5568; --slate4: #4a5568; }
.product-page, .product-page *, .product-page *::before, .product-page *::after { box-sizing: border-box; }
.product-page :focus-visible { outline: 2px solid #7a1a1a; outline-offset: 4px; }
.product-page .pz-logo { display: inline-flex; gap: 10px; line-height: 1; color: #212842; text-decoration: none; }
.product-wordmark { font: 600 16px var(--font-sans); letter-spacing: .08em; }
.product-kicker { color: #4e0000; font: 500 11px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 16px; }
.product-title { font-family: var(--font-serif); font-size: clamp(30px, 4vw, 44px); line-height: 1.15; font-weight: 600; margin: 0 0 20px; }
.product-page .ornament-bg, .product-page .decor-ornament, .product-page .hero-mesh, .product-page .hero-grain, .product-page .hero-fade, .product-page .score-mesh, .product-page .sec-header-mesh, .product-page .bintro-hero-mesh { display: none; }
.product-page :is(.auth-nav,.dash-nav,.nav,.ank-top) { background: #fff !important; box-shadow: none; backdrop-filter: none; }
.product-page :is(.btn-sub,.pay-btn,.dash-btn-primary,.dash-nav-btn-primary,.btn-test,.btn-save,.ank-btn-next,.btn-next.ready,.bintro-cta-go) { background: #4e0000 !important; color: #fff !important; border-radius: 4px !important; border-color: #4e0000 !important; box-shadow: none !important; font-family: var(--font-sans); text-transform: none !important; letter-spacing: 0 !important; min-height: 46px; }
.product-page :is(.btn-sub,.pay-btn,.dash-btn-primary,.btn-test,.ank-btn-next,.btn-next.ready):hover { background: #7a1a1a !important; transform: none !important; }
.product-page :is(.btn-sub,.btn-next,.btn-test)::after { display: none !important; }
.product-page :is(.profile-avatar,.nav-ava) { background: #212842 !important; box-shadow: none; }
.product-page :is(.ank-prog-fill,.q-bar-fill,.top-fill,.nav-prog,.progress-fill,.sec-prog-fill,.sbp-fill,.bintro-pm-fill) { background: #4e0000 !important; box-shadow: none; }
.product-page :is(.btn-ghost,.btn-pause,.dash-btn-outline,.btn-dl) { border-radius: 4px !important; box-shadow: none; font: 500 13px var(--font-sans); text-transform: none !important; letter-spacing: 0 !important; }
.product-page button:disabled { cursor: not-allowed; }
.product-page :is(.login-header h1,.ph-title,.ank-title,.bintro-htitle) { font-family: var(--font-serif); font-weight: 600; letter-spacing: -.02em !important; }
.product-page .login-container { max-width: 1060px; padding-top: 64px; gap: 80px; align-items: start; min-height: auto; }
.product-page .login-header { margin-bottom: 28px; }
.product-page .login-header h1 { font-size: 42px; }
.product-page .login-header p { font-size: 14px; }
.product-page .tab-switcher { margin-bottom: 28px; }
.product-page .tab-btn { padding: 12px 18px; text-transform: none; letter-spacing: 0; }
.product-page .inp-icon { display: none; }
.product-page .inp-w input { padding-left: 14px; background: #fff; min-height: 48px; border-radius: 4px; }
.product-page .forgot { border: 0; background: none; padding: 0; font: inherit; color: #4e0000; cursor: pointer; }
.product-page .login-decor-section { background: #fff; color: #212842; border-left: 1px solid #e5e5e5; border-radius: 0; padding: 16px 0 16px 44px; min-height: 0; height: auto; text-align: left; box-shadow: none; }
.product-page .login-decor-section::before, .product-page .login-decor-section::after { display: none; }
.product-page .decor-content h2 { color: #212842; font-size: 36px; font-weight: 600; line-height: 1.15; margin-bottom: 20px; }
.product-page .decor-content p { color: #4a5568; font-size: 14px; margin-bottom: 20px; opacity: 1; }
.product-page .decor-content .product-kicker { color: #4e0000; font-size: 11px; }
.product-benefits { padding-left: 18px; font-size: 13px; line-height: 1.7; color: #4a5568; }
.product-benefits li { margin: 12px 0; }
.product-price { font-family: var(--font-serif); font-size: 34px; margin: 28px 0 20px; }
.product-price span { font: 12px var(--font-sans); color: #4a5568; display: block; margin-top: 8px; }
.product-link { color: #4e0000; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.page-reset-password .login-container { display: block; max-width: 500px; }
.page-payment .pay-nav { max-width: 1040px; padding-block: 24px; border-bottom: 1px solid #e5e5e5; }
.page-payment .pay-wrap { max-width: 620px; padding-top: 48px; }
.page-payment .pay-card { border-color: #e5e5e5; padding: 40px; text-align: left; }
.page-payment .pay-label { font: 500 11px var(--font-sans); letter-spacing: .12em; }
.page-payment .pay-amount { font-size: 64px; margin-top: 28px; }
.page-payment .pay-features { max-width: none; margin-top: 26px; gap: 0; }
.page-payment .pay-features li { padding: 12px 0 12px 24px; border-bottom: 1px solid #eee; }
.page-payment .pay-features li::before { content: '✓'; border: 0; transform: none; top: 12px; color: #4e0000; }
.page-payment .pay-features li::after { display: none; }
.page-payment .pay-btn { max-width: none; }
.product-payment-note { font-size: 13px; color: #4a5568; line-height: 1.6; margin-top: 20px; }
.product-legal { display: flex; gap: 20px; margin-top: 18px; font-size: 12px; text-decoration: underline; }
.page-dashboard .profile-header { padding-block: 28px; }
.page-dashboard :is(.dash-stat-card,.latest-result,.table-container,.career-card,.profile-card) { background: #fff !important; border: 1px solid #e5e5e5; border-radius: 4px; box-shadow: none; }
.page-dashboard .dash-stat-number { font-size: 38px; font-weight: 600; }
.page-dashboard .dash-section-header { margin-top: 40px; }
.page-dashboard .dash-section-header h2 { font-size: 30px; font-weight: 600; }
.page-dashboard .dash-placeholder { background: #fff; padding: 24px; border-left: 2px solid #4e0000; }
.page-anketa .ank-page { max-width: 660px; padding-top: 104px; }
.page-anketa .ank-top-in, .page-anketa .ank-bottom-in { max-width: 660px; }
.page-anketa .ank-title { font-size: 36px; margin-bottom: 14px; }
.page-anketa .ank-sub { color: #4a5568; margin-bottom: 28px; }
.page-anketa .ank-badge { color: #4e0000; margin-bottom: 14px; }
.page-anketa :is(.ank-opt,.ank-input,.ank-pill,.ank-yn-btn,.ank-btn-back) { border-radius: 4px; border-width: 1px; }
.page-anketa .ank-opt.sel { border-color: #4e0000; background: #f8f4f4; }
.page-anketa .ank-bottom { background: #fff; padding-bottom: max(16px,env(safe-area-inset-bottom)); }
.product-page-intro { margin: 0 0 32px; }
.product-page-intro > p:last-child { font-size: 14px; line-height: 1.7; color: #4a5568; }
.page-test .sec-header { background: #fff !important; border: 1px solid #e5e5e5; border-top: 2px solid #4e0000; border-radius: 4px; box-shadow: none; }
.page-test :is(.sec-header-h,.sec-header-sub,.sec-header-tag) { color: #212842 !important; }
.page-test .sec-header-h { font-family: var(--font-serif); font-size: 32px; font-weight: 600; }
.page-test .hbadge { color: #4a5568 !important; background: #f8f8f8 !important; border: 1px solid #e5e5e5; }
.page-test .test-block { background: #fff; border: 1px solid #e5e5e5; border-radius: 4px; box-shadow: none; }
.page-test .test-block:not(.done-test):hover { border-color: #4e0000; transform: none; }
.page-question :is(.pair-opt,.single-opt,.scale-opt,.instr-card,.bintro-hero,.bintro-example,.bintro-iq,.bintro-tips) { background: #fff; border: 1px solid #ddd; border-radius: 4px; box-shadow: none; backdrop-filter: none; }
.page-question :is(.pair-opt,.single-opt,.scale-opt).sel { background: #f8f4f4; border-color: #4e0000; box-shadow: none; }
.page-question :is(.pair-opt,.single-opt,.scale-opt):hover { transform: none; border-color: #7a1a1a; }
.page-question .q-text { font-family: var(--font-sans) !important; font-size: clamp(20px,2.4vw,26px); line-height: 1.5; font-weight: 500; }
.page-question .q-hint { font-style: normal; }
.page-question .q-nav { gap: 20px; }
.page-question .bintro-htitle { font-size: 36px; }
.page-question :is(.bintro-tag,.bintro-htitle) { color: #212842; }
.page-question .bintro-hsub { color: #4a5568; }
.page-question .bintro-htitle em { background: none; color: #4e0000; -webkit-text-fill-color: currentColor; }
.product-result-note { font-size: 14px; color: #4a5568; line-height: 1.7; max-width: 800px; margin: 0 0 30px; }
.page-results .hero { background: #fff !important; border-bottom: 1px solid #e5e5e5; }
.page-results .hero-title { font-size: clamp(34px,5vw,58px); font-weight: 600; }
.page-results :is(.score-card,.insights-block,.dir-card,.development-block,.dev-action) { border-radius: 4px; box-shadow: none; }
.page-results .pz-tab-btn { text-transform: none; letter-spacing: 0; padding: 16px 24px; }
.page-results .pz-footer-cta { background: #fff; border-top: 1px solid #e5e5e5; color: #212842; }
.page-results .pz-footer-cta h2 { color: #212842; font-size: 32px; }
.page-verify-email .card { width: min(520px,calc(100% - 40px)); padding: 36px; border: 1px solid #e5e5e5; border-radius: 4px; box-shadow: none; background: #fff; }
.product-verify-brand { display: block; font: 600 14px var(--font-sans); letter-spacing: .1em; color: #212842; text-decoration: none; margin-bottom: 36px; }
.page-verify-email .btn { background: #4e0000; border-radius: 4px; }
.page-verify-email .btn.secondary { background: #fff; color: #4e0000; border: 1px solid #4e0000; }
@media(max-width:768px) {
  .product-wordmark { font-size: 13px; letter-spacing: .04em; }
  .product-page .login-container { padding-top: 32px; gap: 32px; }
  .product-page .login-header h1 { font-size: 34px; }
  .product-page .login-decor-section { display: block; border: 0; border-top: 1px solid #e5e5e5; padding: 28px 0; }
  .product-page .decor-content h2 { font-size: 30px; }
  .page-payment .pay-nav { gap: 16px; } .page-payment .pay-secure { font-size: 10px; text-align: right; }
  .page-payment .pay-wrap { padding-top: 24px; } .page-payment .pay-card { padding: 24px; }
  .page-dashboard .profile-actions { flex-wrap: wrap; }
  .page-dashboard .dash-stat-number { font-size: 30px; }
  .page-anketa .ank-page { padding-top: 88px; }
  .page-question .nav-mid { font-size: 11px; }
  .page-question .nav-prog-wrap { display: none; }
  .page-question .product-wordmark { display: none; }
  .page-question .btn-pause { padding: 8px; }
  .page-results .pz-tab-btn { padding: 12px 16px; }
}
@media(prefers-reduced-motion:reduce) { .product-page *, .product-page *::before, .product-page *::after { animation: none !important; transition: none !important; } .product-page .r { opacity: 1; transform: none; } }

/* Free first section: calm, explicit access information in the existing palette. */
.access-note { padding: 24px; margin: 0 0 28px; border: 1px solid #e5ddd6; border-radius: 4px; background: #faf8f5; color: #212842; }
.access-note[hidden] { display: none; }
.access-note h2 { margin: 0 0 10px; font: 600 clamp(24px, 3vw, 30px)/1.2 var(--font-serif, serif); }
.access-note p { margin: 0 0 12px; max-width: 760px; color: #4a5568; font-size: 14px; line-height: 1.7; }
.access-note a { color: #4e0000; text-underline-offset: 4px; }
.access-badge { display: inline-block; margin: 6px 0; font-size: 12px; line-height: 1.5; color: #68605b; }
.sec-name .access-badge { display: block; }
.test-block.payment-locked { background: #faf9f7; cursor: pointer; }
.access-actions { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
@media(max-width: 600px) { .access-note { padding: 18px; } }
